@metropolle/design-system 1.2026.0-1.22.1838 → 1.2026.0-1.24.1601

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.
@@ -1135,6 +1135,7 @@ html[data-theme="light"] select.mds-input {
1135
1135
 
1136
1136
  /* Select Search */
1137
1137
  .mds-select-search {
1138
+ position: relative; /* Required for absolute positioning of search icon */
1138
1139
  flex-shrink: 0; /* Don't shrink in flex container */
1139
1140
  padding: 8px;
1140
1141
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
@@ -3807,65 +3808,85 @@ html[data-theme="light"] .mds-profile-card__verified-trigger {
3807
3808
  }
3808
3809
 
3809
3810
  .mds-profile-card__verified-popup {
3811
+ /* Position to the LEFT of the trigger icon */
3810
3812
  position: absolute;
3811
- top: calc(100% + 12px);
3812
- right: 0;
3813
- padding: 16px;
3813
+ top: 50%;
3814
+ right: calc(100% + 12px);
3815
+ transform: translateY(-50%);
3816
+ padding: 32px 40px;
3814
3817
  /* Liquid Glass popup */
3815
- background: rgba(20, 20, 30, 0.75);
3816
- backdrop-filter: blur(16px) saturate(140%);
3817
- -webkit-backdrop-filter: blur(16px) saturate(140%);
3818
- border-radius: 14px;
3819
- border: 1px solid rgba(255, 255, 255, 0.1);
3818
+ background: rgba(20, 20, 30, 0.9);
3819
+ backdrop-filter: blur(24px) saturate(160%);
3820
+ -webkit-backdrop-filter: blur(24px) saturate(160%);
3821
+ border-radius: 20px;
3822
+ border: 1px solid rgba(255, 255, 255, 0.15);
3820
3823
  box-shadow:
3821
- 0 8px 24px rgba(0, 0, 0, 0.25),
3822
- inset 0 1px 0 rgba(255, 255, 255, 0.05);
3823
- min-width: 180px;
3824
- z-index: 20;
3824
+ 0 16px 48px rgba(0, 0, 0, 0.4),
3825
+ inset 0 1px 0 rgba(255, 255, 255, 0.1);
3826
+ min-width: 320px;
3827
+ z-index: 100;
3825
3828
  }
3826
3829
 
3827
3830
  html[data-theme="light"] .mds-profile-card__verified-popup {
3828
- background: rgba(255, 255, 255, 0.7);
3829
- border: 1px solid rgba(255, 255, 255, 0.9);
3831
+ background: rgba(255, 255, 255, 0.92);
3832
+ border: 1px solid rgba(255, 255, 255, 0.98);
3830
3833
  box-shadow:
3831
- 0 8px 24px rgba(0, 0, 0, 0.08),
3834
+ 0 16px 48px rgba(0, 0, 0, 0.15),
3832
3835
  inset 0 1px 0 rgba(255, 255, 255, 1);
3833
3836
  }
3834
3837
 
3838
+ /* Mobile: popup centered on screen */
3839
+ @media (max-width: 768px) {
3840
+ .mds-profile-card__verified-popup {
3841
+ position: fixed;
3842
+ top: 50%;
3843
+ left: 0;
3844
+ right: 0;
3845
+ bottom: auto;
3846
+ transform: translateY(-50%);
3847
+ width: 280px;
3848
+ min-width: auto;
3849
+ margin-left: auto;
3850
+ margin-right: auto;
3851
+ padding: 24px 28px;
3852
+ z-index: 1000;
3853
+ }
3854
+ }
3855
+
3835
3856
  .mds-profile-card__verified-header {
3836
3857
  font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
3837
- font-size: 12px;
3858
+ font-size: 16px;
3838
3859
  font-weight: bold;
3839
3860
  color: #00d4aa;
3840
3861
  letter-spacing: 0.08em;
3841
3862
  text-transform: uppercase;
3842
- margin-bottom: 14px;
3863
+ margin-bottom: 20px;
3843
3864
  white-space: nowrap;
3844
3865
  }
3845
3866
 
3846
3867
  .mds-profile-card__verified-stats {
3847
3868
  display: flex;
3848
3869
  flex-direction: column;
3849
- gap: 10px;
3870
+ gap: 14px;
3850
3871
  }
3851
3872
 
3852
3873
  .mds-profile-card__stat-item {
3853
3874
  display: flex;
3854
3875
  justify-content: space-between;
3855
3876
  align-items: center;
3856
- gap: 20px;
3877
+ gap: 32px;
3857
3878
  }
3858
3879
 
3859
3880
  .mds-profile-card__stat-label {
3860
3881
  font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
3861
- font-size: 11px;
3882
+ font-size: 14px;
3862
3883
  color: var(--mds-color-text-tertiary, rgba(255, 255, 255, 0.5));
3863
3884
  letter-spacing: 0.06em;
3864
3885
  }
3865
3886
 
3866
3887
  .mds-profile-card__stat-value {
3867
3888
  font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
3868
- font-size: 11px;
3889
+ font-size: 14px;
3869
3890
  letter-spacing: 0.06em;
3870
3891
  text-transform: uppercase;
3871
3892
  color: var(--mds-color-text-tertiary, rgba(255, 255, 255, 0.5));
@@ -3875,12 +3896,66 @@ html[data-theme="light"] .mds-profile-card__verified-popup {
3875
3896
  color: #00d4aa;
3876
3897
  }
3877
3898
 
3899
+ /* FEAT-090: Verification Score Checks */
3900
+ .mds-profile-card__verified-checks {
3901
+ display: flex;
3902
+ flex-direction: column;
3903
+ gap: 10px;
3904
+ margin: 16px 0;
3905
+ }
3906
+
3907
+ .mds-profile-card__check-item {
3908
+ display: flex;
3909
+ align-items: center;
3910
+ gap: 10px;
3911
+ font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
3912
+ font-size: 12px;
3913
+ letter-spacing: 0.04em;
3914
+ }
3915
+
3916
+ .mds-profile-card__check-icon {
3917
+ width: 18px;
3918
+ height: 18px;
3919
+ display: flex;
3920
+ align-items: center;
3921
+ justify-content: center;
3922
+ border-radius: 50%;
3923
+ font-size: 11px;
3924
+ font-weight: bold;
3925
+ background: rgba(255, 255, 255, 0.05);
3926
+ color: rgba(255, 255, 255, 0.3);
3927
+ flex-shrink: 0;
3928
+ }
3929
+
3930
+ .mds-profile-card__check-icon--passed {
3931
+ background: rgba(0, 212, 170, 0.15);
3932
+ color: #00d4aa;
3933
+ }
3934
+
3935
+ html[data-theme="light"] .mds-profile-card__check-icon {
3936
+ background: rgba(0, 0, 0, 0.05);
3937
+ color: rgba(0, 0, 0, 0.3);
3938
+ }
3939
+
3940
+ html[data-theme="light"] .mds-profile-card__check-icon--passed {
3941
+ background: rgba(0, 180, 140, 0.15);
3942
+ color: #00b48c;
3943
+ }
3944
+
3945
+ .mds-profile-card__check-label {
3946
+ color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.7));
3947
+ }
3948
+
3949
+ html[data-theme="light"] .mds-profile-card__check-label {
3950
+ color: rgba(0, 0, 0, 0.7);
3951
+ }
3952
+
3878
3953
  .mds-profile-card__verified-footer {
3879
3954
  display: flex;
3880
3955
  justify-content: space-between;
3881
3956
  align-items: center;
3882
- margin-top: 14px;
3883
- padding-top: 10px;
3957
+ margin-top: 20px;
3958
+ padding-top: 16px;
3884
3959
  border-top: 1px solid rgba(255, 255, 255, 0.08);
3885
3960
  }
3886
3961
 
@@ -3891,7 +3966,7 @@ html[data-theme="light"] .mds-profile-card__verified-footer {
3891
3966
  .mds-profile-card__verified-sequence,
3892
3967
  .mds-profile-card__verified-date {
3893
3968
  font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
3894
- font-size: 10px;
3969
+ font-size: 12px;
3895
3970
  color: var(--mds-color-text-tertiary, rgba(255, 255, 255, 0.4));
3896
3971
  letter-spacing: 0.06em;
3897
3972
  text-transform: uppercase;
@@ -4088,3 +4163,239 @@ html[data-theme="light"] .mds-profile-card__photo-modal-image {
4088
4163
  0 10px 30px rgba(0, 0, 0, 0.08),
4089
4164
  inset 0 1px 0 rgba(255, 255, 255, 1);
4090
4165
  }
4166
+
4167
+ /* =============================================================================
4168
+ FEAT-090: Verification Score Components (Settings Page)
4169
+ ============================================================================= */
4170
+
4171
+ .mds-verification-score-display {
4172
+ display: flex;
4173
+ flex-direction: column;
4174
+ align-items: center;
4175
+ gap: 8px;
4176
+ padding: 24px 40px;
4177
+ border-radius: 16px;
4178
+ background: rgba(255, 255, 255, 0.05);
4179
+ border: 1px solid rgba(255, 255, 255, 0.1);
4180
+ }
4181
+
4182
+ html[data-theme="light"] .mds-verification-score-display {
4183
+ background: rgba(0, 0, 0, 0.02);
4184
+ border-color: rgba(0, 0, 0, 0.1);
4185
+ }
4186
+
4187
+ .mds-verification-score-number {
4188
+ font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
4189
+ font-size: 4rem;
4190
+ font-weight: bold;
4191
+ line-height: 1;
4192
+ color: #00d4aa;
4193
+ }
4194
+
4195
+ html[data-theme="light"] .mds-verification-score-number {
4196
+ color: #00b48c;
4197
+ }
4198
+
4199
+ .mds-verification-score-label {
4200
+ font-size: 0.875rem;
4201
+ text-transform: uppercase;
4202
+ letter-spacing: 0.1em;
4203
+ color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.6));
4204
+ }
4205
+
4206
+ .mds-verification-checks-grid {
4207
+ display: flex;
4208
+ flex-direction: column;
4209
+ gap: 12px;
4210
+ }
4211
+
4212
+ .mds-verification-check-card {
4213
+ display: flex;
4214
+ align-items: center;
4215
+ gap: 16px;
4216
+ padding: 16px 20px;
4217
+ border-radius: 12px;
4218
+ background: rgba(255, 255, 255, 0.03);
4219
+ border: 1px solid rgba(255, 255, 255, 0.08);
4220
+ transition: all 0.2s ease;
4221
+ }
4222
+
4223
+ html[data-theme="light"] .mds-verification-check-card {
4224
+ background: rgba(0, 0, 0, 0.02);
4225
+ border-color: rgba(0, 0, 0, 0.06);
4226
+ }
4227
+
4228
+ .mds-verification-check-card--passed {
4229
+ background: rgba(0, 212, 170, 0.05);
4230
+ border-color: rgba(0, 212, 170, 0.2);
4231
+ }
4232
+
4233
+ html[data-theme="light"] .mds-verification-check-card--passed {
4234
+ background: rgba(0, 180, 140, 0.05);
4235
+ border-color: rgba(0, 180, 140, 0.2);
4236
+ }
4237
+
4238
+ .mds-verification-check-icon {
4239
+ width: 32px;
4240
+ height: 32px;
4241
+ display: flex;
4242
+ align-items: center;
4243
+ justify-content: center;
4244
+ border-radius: 50%;
4245
+ font-size: 16px;
4246
+ font-weight: bold;
4247
+ background: rgba(255, 255, 255, 0.05);
4248
+ color: rgba(255, 255, 255, 0.3);
4249
+ flex-shrink: 0;
4250
+ }
4251
+
4252
+ .mds-verification-check-card--passed .mds-verification-check-icon {
4253
+ background: rgba(0, 212, 170, 0.15);
4254
+ color: #00d4aa;
4255
+ }
4256
+
4257
+ html[data-theme="light"] .mds-verification-check-icon {
4258
+ background: rgba(0, 0, 0, 0.05);
4259
+ color: rgba(0, 0, 0, 0.3);
4260
+ }
4261
+
4262
+ html[data-theme="light"] .mds-verification-check-card--passed .mds-verification-check-icon {
4263
+ background: rgba(0, 180, 140, 0.15);
4264
+ color: #00b48c;
4265
+ }
4266
+
4267
+ .mds-verification-check-content {
4268
+ flex: 1;
4269
+ min-width: 0;
4270
+ }
4271
+
4272
+ .mds-verification-check-action {
4273
+ flex-shrink: 0;
4274
+ }
4275
+
4276
+ /* =============================================================================
4277
+ FEAT-090: Verification Tab (Modal/Backoffice)
4278
+ ============================================================================= */
4279
+
4280
+ .mds-verification-tab {
4281
+ display: flex;
4282
+ flex-direction: column;
4283
+ gap: 20px;
4284
+ padding: 8px 0;
4285
+ }
4286
+
4287
+ .mds-verification-score-header {
4288
+ display: flex;
4289
+ align-items: center;
4290
+ gap: 20px;
4291
+ padding: 20px;
4292
+ background: rgba(0, 212, 170, 0.05);
4293
+ border: 1px solid rgba(0, 212, 170, 0.15);
4294
+ border-radius: 12px;
4295
+ }
4296
+
4297
+ .mds-verification-score-badge {
4298
+ display: flex;
4299
+ flex-direction: column;
4300
+ align-items: center;
4301
+ gap: 4px;
4302
+ padding: 16px 24px;
4303
+ background: rgba(0, 212, 170, 0.1);
4304
+ border-radius: 10px;
4305
+ }
4306
+
4307
+ .mds-verification-score-badge .mds-verification-score-number {
4308
+ font-family: 'OCR-B', 'OCR B Std', 'Courier New', monospace;
4309
+ font-size: 2.5rem;
4310
+ font-weight: bold;
4311
+ line-height: 1;
4312
+ color: #00d4aa;
4313
+ }
4314
+
4315
+ .mds-verification-score-badge .mds-verification-score-label {
4316
+ font-size: 0.625rem;
4317
+ text-transform: uppercase;
4318
+ letter-spacing: 0.1em;
4319
+ color: var(--mds-color-text-secondary, rgba(255, 255, 255, 0.6));
4320
+ }
4321
+
4322
+ .mds-verification-score-info {
4323
+ flex: 1;
4324
+ }
4325
+
4326
+ .mds-verification-checks-list {
4327
+ display: flex;
4328
+ flex-direction: column;
4329
+ gap: 10px;
4330
+ }
4331
+
4332
+ .mds-verification-check-item {
4333
+ display: flex;
4334
+ align-items: center;
4335
+ gap: 14px;
4336
+ padding: 14px 16px;
4337
+ background: rgba(255, 255, 255, 0.03);
4338
+ border: 1px solid rgba(255, 255, 255, 0.08);
4339
+ border-radius: 10px;
4340
+ transition: all 0.2s ease;
4341
+ }
4342
+
4343
+ .mds-verification-check-item--passed {
4344
+ background: rgba(0, 212, 170, 0.05);
4345
+ border-color: rgba(0, 212, 170, 0.2);
4346
+ }
4347
+
4348
+ .mds-verification-check-status {
4349
+ display: flex;
4350
+ align-items: center;
4351
+ justify-content: center;
4352
+ width: 28px;
4353
+ height: 28px;
4354
+ border-radius: 50%;
4355
+ background: rgba(255, 255, 255, 0.05);
4356
+ color: rgba(255, 255, 255, 0.3);
4357
+ flex-shrink: 0;
4358
+ }
4359
+
4360
+ .mds-verification-check-item--passed .mds-verification-check-status {
4361
+ background: rgba(0, 212, 170, 0.15);
4362
+ color: #00d4aa;
4363
+ }
4364
+
4365
+ .mds-verification-check-content {
4366
+ flex: 1;
4367
+ min-width: 0;
4368
+ }
4369
+
4370
+ html[data-theme="light"] .mds-verification-score-header {
4371
+ background: rgba(0, 180, 140, 0.05);
4372
+ border-color: rgba(0, 180, 140, 0.15);
4373
+ }
4374
+
4375
+ html[data-theme="light"] .mds-verification-score-badge {
4376
+ background: rgba(0, 180, 140, 0.1);
4377
+ }
4378
+
4379
+ html[data-theme="light"] .mds-verification-score-badge .mds-verification-score-number {
4380
+ color: #00b48c;
4381
+ }
4382
+
4383
+ html[data-theme="light"] .mds-verification-check-item {
4384
+ background: rgba(0, 0, 0, 0.02);
4385
+ border-color: rgba(0, 0, 0, 0.06);
4386
+ }
4387
+
4388
+ html[data-theme="light"] .mds-verification-check-item--passed {
4389
+ background: rgba(0, 180, 140, 0.05);
4390
+ border-color: rgba(0, 180, 140, 0.15);
4391
+ }
4392
+
4393
+ html[data-theme="light"] .mds-verification-check-status {
4394
+ background: rgba(0, 0, 0, 0.05);
4395
+ color: rgba(0, 0, 0, 0.3);
4396
+ }
4397
+
4398
+ html[data-theme="light"] .mds-verification-check-item--passed .mds-verification-check-status {
4399
+ background: rgba(0, 180, 140, 0.15);
4400
+ color: #00b48c;
4401
+ }
@@ -26,6 +26,18 @@ export interface ProfileCardUser {
26
26
  photo_url_full?: string;
27
27
  registration_sequence?: number;
28
28
  mfa_enabled?: boolean;
29
+ verification_score?: VerificationScore;
30
+ }
31
+ export interface VerificationCheck {
32
+ name: string;
33
+ description: string;
34
+ passed: boolean;
35
+ }
36
+ export interface VerificationScore {
37
+ score: number;
38
+ max_score: number;
39
+ breakdown: Record<string, boolean>;
40
+ checks: VerificationCheck[];
29
41
  }
30
42
  export interface ProfileCardProps {
31
43
  /** User data to display */
@@ -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;AAO3D,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;CACvB;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;AAwID,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAgB,EAChB,UAAU,EACV,UAAkB,EAClB,WAAW,EACX,gBAAwB,EACxB,SAAS,EACT,SAAc,EACd,aAAa,GACd,EAAE,gBAAgB,2CA6QlB;AAED,eAAe,WAAW,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;AAO3D,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,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,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;AAyJD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAgB,EAChB,UAAU,EACV,UAAkB,EAClB,WAAW,EACX,gBAAwB,EACxB,SAAS,EACT,SAAc,EACd,aAAa,GACd,EAAE,gBAAgB,2CAwTlB;AAED,eAAe,WAAW,CAAC"}
@@ -1508,6 +1508,9 @@ function UsernameLinks({ username, className }) {
1508
1508
  function StatItem({ label, verified }) {
1509
1509
  return (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__stat-item", children: [jsxRuntimeExports.jsx("span", { className: "mds-profile-card__stat-label", children: label }), jsxRuntimeExports.jsx("span", { className: `mds-profile-card__stat-value ${verified ? 'mds-profile-card__stat-value--verified' : ''}`, children: verified ? 'Verified' : 'Not Verified' })] }));
1510
1510
  }
1511
+ function VerificationCheckItem({ description, passed }) {
1512
+ return (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__check-item", children: [jsxRuntimeExports.jsx("span", { className: `mds-profile-card__check-icon ${passed ? 'mds-profile-card__check-icon--passed' : ''}`, children: passed ? '\u2713' : '\u2717' }), jsxRuntimeExports.jsx("span", { className: "mds-profile-card__check-label", children: description })] }));
1513
+ }
1511
1514
  // =============================================================================
1512
1515
  // Main Component
1513
1516
  // =============================================================================
@@ -1588,10 +1591,18 @@ function ProfileCard({ user, variant = 'full', photoWidth, showSocial = false, s
1588
1591
  // Full size photo for modal (prioritize full, then medium)
1589
1592
  const photoUrlFull = user.photo_url_full || user.photo_url_medium;
1590
1593
  const hasRealPhoto = !!(user.photo_url_medium || user.photo_url_full);
1591
- 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: `Verification Level ${user.verified}`, onClick: (e) => {
1594
+ 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
1595
+ ? `Verification Score: ${user.verification_score.score}`
1596
+ : `Verification Level ${user.verified}`, onClick: (e) => {
1592
1597
  e.stopPropagation();
1593
1598
  setShowVerifiedPopup(!showVerifiedPopup);
1594
- }, children: [Icons.shield, jsxRuntimeExports.jsxs("span", { children: ["Level ", user.verified] })] }), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__dots", children: [jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${user.verified >= 1 ? 'active' : ''}`, title: "Email Verified" }), jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${user.verified >= 2 ? 'active' : ''}`, title: "Identity Verified" }), jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${user.verified >= 3 ? 'active' : ''}`, title: "Area Verified" })] })] })), showSocial && (jsxRuntimeExports.jsxs("div", { ref: socialRef, className: "mds-profile-card__social", children: [jsxRuntimeExports.jsx("button", { className: "mds-profile-card__social-trigger", onClick: (e) => {
1599
+ }, children: [Icons.shield, jsxRuntimeExports.jsx("span", { children: user.verification_score
1600
+ ? user.verification_score.score
1601
+ : `Level ${user.verified}` })] }), jsxRuntimeExports.jsx("div", { className: "mds-profile-card__dots", children: user.verification_score ? (
1602
+ // FEAT-090: Show 6 dots for verification score
1603
+ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: user.verification_score.checks.slice(0, 6).map((check, index) => (jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${check.passed ? 'active' : ''}`, title: check.description }, check.name))) })) : (
1604
+ // Legacy: Show 3 dots for old verification levels
1605
+ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${user.verified >= 1 ? 'active' : ''}`, title: "Email Verified" }), jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${user.verified >= 2 ? 'active' : ''}`, title: "Identity Verified" }), jsxRuntimeExports.jsx("span", { className: `mds-profile-card__dot ${user.verified >= 3 ? 'active' : ''}`, title: "Area Verified" })] })) })] })), showSocial && (jsxRuntimeExports.jsxs("div", { ref: socialRef, className: "mds-profile-card__social", children: [jsxRuntimeExports.jsx("button", { className: "mds-profile-card__social-trigger", onClick: (e) => {
1595
1606
  e.stopPropagation();
1596
1607
  setShowSocialPopup(!showSocialPopup);
1597
1608
  setShowVerifiedPopup(false);
@@ -1600,7 +1611,11 @@ function ProfileCard({ user, variant = 'full', photoWidth, showSocial = false, s
1600
1611
  e.stopPropagation();
1601
1612
  setShowVerifiedPopup(!showVerifiedPopup);
1602
1613
  setShowSocialPopup(false);
1603
- }, title: "Verification Status", children: Icons.shield }), showVerifiedPopup && (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-popup", children: [jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-header", children: ["Verification Level ", user.verified] }), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-stats", children: [jsxRuntimeExports.jsx(StatItem, { label: "Email", verified: user.verified >= 1 }), jsxRuntimeExports.jsx(StatItem, { label: "Identity", verified: user.verified >= 2 }), jsxRuntimeExports.jsx(StatItem, { label: "Area", verified: user.verified >= 3 })] }), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-footer", children: [user.registration_sequence && (jsxRuntimeExports.jsxs("span", { className: "mds-profile-card__verified-sequence", children: ["User #", user.registration_sequence.toLocaleString()] })), jsxRuntimeExports.jsxs("span", { className: "mds-profile-card__verified-date", children: ["Since ", memberSince] })] })] }))] }), showRotatingInfo && (jsxRuntimeExports.jsx("div", { className: "mds-profile-card__info-dots", children: infoTexts.map((_, index) => (jsxRuntimeExports.jsx("span", { className: `mds-profile-card__info-dot ${index === currentInfoIndex ? 'active' : ''}` }, index))) }))] }))] })] }));
1614
+ }, title: "Verification Status", children: Icons.shield }), showVerifiedPopup && (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-popup", children: [user.verification_score ? (
1615
+ // FEAT-090: New 6-point verification score
1616
+ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-header", children: ["Verificacao: ", user.verification_score.score] }), jsxRuntimeExports.jsx("div", { className: "mds-profile-card__verified-checks", children: user.verification_score.checks.map((check) => (jsxRuntimeExports.jsx(VerificationCheckItem, { description: check.description, passed: check.passed }, check.name))) })] })) : (
1617
+ // Legacy: Old verification levels
1618
+ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-header", children: ["Verification Level ", user.verified] }), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-stats", children: [jsxRuntimeExports.jsx(StatItem, { label: "Email", verified: user.verified >= 1 }), jsxRuntimeExports.jsx(StatItem, { label: "Identity", verified: user.verified >= 2 }), jsxRuntimeExports.jsx(StatItem, { label: "Area", verified: user.verified >= 3 })] })] })), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verified-footer", children: [user.registration_sequence && (jsxRuntimeExports.jsxs("span", { className: "mds-profile-card__verified-sequence", children: ["User #", user.registration_sequence.toLocaleString()] })), jsxRuntimeExports.jsxs("span", { className: "mds-profile-card__verified-date", children: ["Since ", memberSince] })] })] }))] }), showRotatingInfo && (jsxRuntimeExports.jsx("div", { className: "mds-profile-card__info-dots", children: infoTexts.map((_, index) => (jsxRuntimeExports.jsx("span", { className: `mds-profile-card__info-dot ${index === currentInfoIndex ? 'active' : ''}` }, index))) }))] }))] })] }));
1604
1619
  }
1605
1620
 
1606
1621
  const variantElementMap = {