anteriority-ui 1.8.0 → 1.10.0

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.
Files changed (68) hide show
  1. package/.verify-bundle.css +1314 -176
  2. package/.verify-bundle.js +2 -2
  3. package/AnteriorityUI.md +315 -8
  4. package/common/hooks/useKeyboardShortcut.js +5 -1
  5. package/common/hooks/useSwipeToDismiss.js +51 -0
  6. package/common/icons/fileType.js +78 -0
  7. package/index.js +92 -84
  8. package/package.json +4 -1
  9. package/screens/components/Breadcrumbs/index.module.css +2 -1
  10. package/screens/components/ErrorState/constants.js +8 -0
  11. package/screens/components/ErrorState/index.js +25 -0
  12. package/screens/components/ErrorState/index.module.css +18 -0
  13. package/screens/components/FileListItem/constants.js +10 -0
  14. package/screens/components/FileListItem/index.js +90 -0
  15. package/screens/components/FileListItem/index.module.css +119 -0
  16. package/screens/components/MediaViewer/components/AudioPlayer/components/AudioPlayerSkeleton/index.js +19 -0
  17. package/screens/components/MediaViewer/components/AudioPlayer/components/AudioPlayerSkeleton/index.module.css +20 -0
  18. package/screens/components/MediaViewer/components/AudioPlayer/components/index.js +4 -0
  19. package/screens/components/MediaViewer/components/AudioPlayer/index.js +220 -0
  20. package/screens/components/MediaViewer/components/AudioPlayer/index.module.css +84 -0
  21. package/screens/components/MediaViewer/components/DocxViewer/components/DocxControlsBar/index.js +71 -0
  22. package/screens/components/MediaViewer/components/DocxViewer/components/DocxControlsBar/index.module.css +38 -0
  23. package/screens/components/MediaViewer/components/DocxViewer/components/index.js +4 -0
  24. package/screens/components/MediaViewer/components/DocxViewer/index.js +114 -0
  25. package/screens/components/MediaViewer/components/DocxViewer/index.module.css +47 -0
  26. package/screens/components/MediaViewer/components/PdfViewer/components/PdfControlsBar/index.js +117 -0
  27. package/screens/components/MediaViewer/components/PdfViewer/components/PdfControlsBar/index.module.css +50 -0
  28. package/screens/components/MediaViewer/components/PdfViewer/components/PdfPageJumper/index.js +50 -0
  29. package/screens/components/MediaViewer/components/PdfViewer/components/PdfPageJumper/index.module.css +23 -0
  30. package/screens/components/MediaViewer/components/PdfViewer/components/index.js +6 -0
  31. package/screens/components/MediaViewer/components/PdfViewer/index.js +178 -0
  32. package/screens/components/MediaViewer/components/PdfViewer/index.module.css +39 -0
  33. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoCenterPlayButton/index.js +27 -0
  34. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoCenterPlayButton/index.module.css +13 -0
  35. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoControlsBar/index.js +157 -0
  36. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoControlsBar/index.module.css +29 -0
  37. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoErrorOverlay/index.js +25 -0
  38. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoErrorOverlay/index.module.css +30 -0
  39. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoSeekBar/index.js +52 -0
  40. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoSeekBar/index.module.css +35 -0
  41. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoSpeedControl/index.js +73 -0
  42. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoSpeedControl/index.module.css +37 -0
  43. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoTimeSearch/index.js +55 -0
  44. package/screens/components/MediaViewer/components/VideoPlayer/components/VideoTimeSearch/index.module.css +27 -0
  45. package/screens/components/MediaViewer/components/VideoPlayer/components/index.js +14 -0
  46. package/screens/components/MediaViewer/components/VideoPlayer/index.js +285 -0
  47. package/screens/components/MediaViewer/components/VideoPlayer/index.module.css +89 -0
  48. package/screens/components/MediaViewer/components/index.js +10 -0
  49. package/screens/components/MediaViewer/constants.js +107 -0
  50. package/screens/components/MediaViewer/index.js +325 -0
  51. package/screens/components/MediaViewer/index.module.css +200 -0
  52. package/screens/components/MediaViewer/utils.js +54 -0
  53. package/screens/components/RenderJsonSchema/constants.js +8 -0
  54. package/screens/components/RenderJsonSchema/index.js +88 -0
  55. package/screens/components/RenderJsonSchema/index.module.css +69 -0
  56. package/screens/components/RenderJsonSchema/utils.js +46 -0
  57. package/screens/components/SchemaForm/index.js +2 -6
  58. package/screens/components/SchemaForm/widgets.js +52 -0
  59. package/screens/components/Sidebar/constants.js +2 -1
  60. package/screens/components/Sidebar/index.js +271 -237
  61. package/screens/components/Sidebar/index.module.css +92 -0
  62. package/screens/components/Slider/index.js +3 -2
  63. package/screens/components/ToggleCard/index.js +10 -0
  64. package/screens/components/TopBar/components/MobileActionsPanel/index.js +34 -0
  65. package/screens/components/TopBar/components/MobileActionsPanel/index.module.css +64 -0
  66. package/screens/components/TopBar/constants.js +10 -0
  67. package/screens/components/TopBar/index.js +90 -3
  68. package/screens/components/TopBar/index.module.css +152 -9
@@ -741,8 +741,9 @@
741
741
  margin: 0;
742
742
  padding: 0;
743
743
  gap: 4px;
744
- flex-wrap: wrap;
744
+ flex-wrap: nowrap;
745
745
  min-width: 0;
746
+ overflow: hidden;
746
747
  }
747
748
  .Breadcrumbs_item {
748
749
  display: flex;
@@ -3437,6 +3438,128 @@
3437
3438
  }
3438
3439
  }
3439
3440
 
3441
+ /* dist/screens/components/ErrorState/index.module.css */
3442
+ .ErrorState_errorState {
3443
+ display: flex;
3444
+ flex-direction: column;
3445
+ align-items: center;
3446
+ justify-content: center;
3447
+ gap: 8px;
3448
+ padding: 2.5rem 1.5rem;
3449
+ text-align: center;
3450
+ }
3451
+ .ErrorState_errorIcon {
3452
+ flex-shrink: 0;
3453
+ }
3454
+ .ErrorState_errorMsg {
3455
+ margin: 0;
3456
+ font-size: 0.85rem;
3457
+ }
3458
+
3459
+ /* dist/screens/components/FileListItem/index.module.css */
3460
+ .FileListItem_row {
3461
+ box-sizing: border-box;
3462
+ width: 100%;
3463
+ max-width: 100%;
3464
+ display: flex;
3465
+ align-items: center;
3466
+ gap: 12px;
3467
+ padding: 10px 12px;
3468
+ border: 1px solid var(--file-list-item-border, #e2e8f0);
3469
+ border-radius: 10px;
3470
+ background-color: var(--file-list-item-bg, transparent);
3471
+ }
3472
+ .FileListItem_clickable {
3473
+ cursor: pointer;
3474
+ transition: background-color 0.15s ease;
3475
+ }
3476
+ .FileListItem_clickable:hover {
3477
+ background-color: rgba(0, 0, 0, 0.03);
3478
+ }
3479
+ .FileListItem_clickable:focus-visible {
3480
+ outline: 2px solid currentColor;
3481
+ outline-offset: 2px;
3482
+ }
3483
+ .FileListItem_checkbox {
3484
+ flex-shrink: 0;
3485
+ padding: 4px !important;
3486
+ }
3487
+ .FileListItem_icon {
3488
+ flex-shrink: 0;
3489
+ display: inline-flex;
3490
+ align-items: center;
3491
+ justify-content: center;
3492
+ width: 36px;
3493
+ height: 36px;
3494
+ border-radius: 8px;
3495
+ color: #ffffff;
3496
+ }
3497
+ .FileListItem_info {
3498
+ flex: 1;
3499
+ min-width: 0;
3500
+ display: flex;
3501
+ flex-direction: column;
3502
+ gap: 2px;
3503
+ }
3504
+ .FileListItem_name {
3505
+ font-size: 0.88rem;
3506
+ font-weight: 600;
3507
+ color: var(--file-list-item-text, #1e293b);
3508
+ overflow: hidden;
3509
+ text-overflow: ellipsis;
3510
+ white-space: nowrap;
3511
+ }
3512
+ .FileListItem_meta {
3513
+ font-size: 0.74rem;
3514
+ color: var(--file-list-item-meta, #64748b);
3515
+ }
3516
+ .FileListItem_actions {
3517
+ flex-shrink: 0;
3518
+ display: flex;
3519
+ align-items: center;
3520
+ gap: 4px;
3521
+ }
3522
+ .FileListItem_actionButton {
3523
+ display: inline-flex;
3524
+ align-items: center;
3525
+ justify-content: center;
3526
+ width: 32px;
3527
+ height: 32px;
3528
+ padding: 0;
3529
+ border: none;
3530
+ border-radius: 8px;
3531
+ background: transparent;
3532
+ color: var(--file-list-item-meta, #64748b);
3533
+ cursor: pointer;
3534
+ transition: background-color 0.15s ease, color 0.15s ease;
3535
+ }
3536
+ .FileListItem_actionButton:hover {
3537
+ background-color: rgba(0, 0, 0, 0.06);
3538
+ }
3539
+ .FileListItem_deleteButton:hover {
3540
+ color: #dc2626;
3541
+ }
3542
+ @media (max-width: 480px) {
3543
+ .FileListItem_row {
3544
+ gap: 8px;
3545
+ padding: 8px;
3546
+ }
3547
+ .FileListItem_icon {
3548
+ width: 30px;
3549
+ height: 30px;
3550
+ }
3551
+ .FileListItem_name {
3552
+ font-size: 0.82rem;
3553
+ }
3554
+ .FileListItem_meta {
3555
+ font-size: 0.68rem;
3556
+ }
3557
+ .FileListItem_actionButton {
3558
+ width: 28px;
3559
+ height: 28px;
3560
+ }
3561
+ }
3562
+
3440
3563
  /* dist/screens/components/Filter/index.module.css */
3441
3564
  .Filter_filterWrapper {
3442
3565
  display: flex;
@@ -4201,158 +4324,861 @@
4201
4324
  width: 48px;
4202
4325
  }
4203
4326
 
4204
- /* dist/screens/components/Notification/Error/ErrorMessage.module.css */
4205
- .ErrorMessage_errorBanner {
4206
- display: flex;
4207
- align-items: flex-start;
4208
- gap: 12px;
4209
- padding: 12px 16px;
4210
- border-radius: 8px;
4211
- margin: 10px 0;
4212
- animation: ErrorMessage_slideIn 0.3s ease-out;
4213
- border: 1px solid var(--errormessage-border, #fecdd3);
4214
- background-color: var(--errormessage-bg, #fff1f2);
4215
- }
4216
- .ErrorMessage_errorIcon {
4217
- color: #dc2626;
4218
- flex-shrink: 0;
4219
- margin-top: 2px;
4327
+ /* dist/screens/components/MediaViewer/index.module.css */
4328
+ .MediaViewer_wrapper {
4329
+ box-sizing: border-box;
4330
+ width: 100%;
4331
+ max-width: 100%;
4332
+ border: 1px solid var(--media-viewer-border, #e2e8f0);
4333
+ border-radius: 10px;
4334
+ background-color: var(--media-viewer-bg, #f8fafc);
4335
+ overflow: hidden;
4220
4336
  }
4221
- .ErrorMessage_errorTextContent {
4337
+ .MediaViewer_imageWrapper {
4222
4338
  display: flex;
4223
- flex-direction: column;
4224
- font-size: 0.85rem;
4225
- line-height: 1.4;
4339
+ max-height: 480px;
4226
4340
  }
4227
- .ErrorMessage_errorTitle {
4228
- color: #991b1b;
4229
- margin-bottom: 2px;
4341
+ .MediaViewer_videoWrapper {
4342
+ display: flex;
4343
+ background-color: var(--media-viewer-video-bg, #0d0f14);
4230
4344
  }
4231
- .ErrorMessage_errorText {
4232
- color: #b91c1c;
4345
+ .MediaViewer_imageWrapperZoomed {
4346
+ overflow: auto;
4233
4347
  }
4234
- @keyframes ErrorMessage_slideIn {
4235
- from {
4236
- opacity: 0;
4237
- transform: translateY(-10px);
4238
- }
4239
- to {
4240
- opacity: 1;
4241
- transform: translateY(0);
4242
- }
4348
+ .MediaViewer_image,
4349
+ .MediaViewer_video {
4350
+ display: block;
4351
+ width: 100%;
4352
+ max-width: 100%;
4353
+ max-height: 480px;
4354
+ height: auto;
4355
+ object-fit: contain;
4243
4356
  }
4244
- .ErrorMessage_success {
4245
- border-color: var(--errormessage-border, #bbf7d0);
4246
- background-color: var(--errormessage-bg, #f0fdf4);
4357
+ .MediaViewer_imageZoomable {
4358
+ cursor: zoom-in;
4247
4359
  }
4248
- .ErrorMessage_success .ErrorMessage_errorTitle {
4249
- color: #166534;
4360
+ .MediaViewer_imageZoomed {
4361
+ width: auto;
4362
+ max-width: none;
4363
+ max-height: none;
4364
+ cursor: zoom-out;
4250
4365
  }
4251
- .ErrorMessage_success .ErrorMessage_errorText {
4252
- color: #15803d;
4366
+ .MediaViewer_audioWrapper {
4367
+ padding: 12px 16px;
4368
+ overflow: visible;
4253
4369
  }
4254
- .ErrorMessage_successIcon {
4255
- color: #22c55e;
4256
- flex-shrink: 0;
4257
- margin-top: 2px;
4370
+ .MediaViewer_audioFileName {
4371
+ font-size: 0.8rem;
4372
+ font-weight: 600;
4373
+ color: var(--media-viewer-text, #334155);
4374
+ margin-bottom: 8px;
4258
4375
  }
4259
-
4260
- /* dist/screens/components/NotificationsPanel/index.module.css */
4261
- .NotificationsPanel_panel {
4262
- width: 360px;
4263
- padding: 1.5rem;
4376
+ .MediaViewer_audio {
4377
+ width: 100%;
4264
4378
  }
4265
- .NotificationsPanel_list {
4379
+ .MediaViewer_pdfWrapper {
4266
4380
  display: flex;
4267
4381
  flex-direction: column;
4268
- gap: 0.75rem;
4269
- min-height: 0;
4270
4382
  }
4271
- .NotificationsPanel_emptyContainer {
4383
+ .MediaViewer_pdfFrame {
4384
+ width: 100%;
4385
+ height: 480px;
4386
+ border: none;
4387
+ }
4388
+ .MediaViewer_fileFooter {
4272
4389
  display: flex;
4273
- flex-direction: column;
4274
4390
  align-items: center;
4275
- justify-content: center;
4276
- text-align: center;
4277
- min-height: 200px;
4278
- padding: 2.25rem 1.5rem;
4279
- box-sizing: border-box;
4391
+ justify-content: space-between;
4392
+ gap: 12px;
4393
+ padding: 8px 12px;
4394
+ border-top: 1px solid var(--media-viewer-border, #e2e8f0);
4280
4395
  }
4281
- .NotificationsPanel_emptyIconWrapper {
4396
+ .MediaViewer_fileCard {
4282
4397
  display: flex;
4283
4398
  align-items: center;
4284
- justify-content: center;
4285
- color: var(--notifications-empty-icon, #94a3b8);
4286
- margin-bottom: 0.85rem;
4287
- }
4288
- .NotificationsPanel_emptyTitle {
4289
- margin: 0 0 0.35rem 0;
4290
- font-size: 1rem;
4291
- font-weight: 600;
4292
- color: var(--notifications-empty-title, #1e293b);
4293
- }
4294
- .NotificationsPanel_emptyMessage {
4295
- margin: 0;
4296
- text-align: center;
4297
- font-size: 0.95rem;
4298
- font-weight: 400;
4299
- line-height: 1.45;
4300
- color: var(--notifications-empty-text, #64748b);
4301
- max-width: 260px;
4399
+ gap: 12px;
4400
+ padding: 12px 14px;
4302
4401
  }
4303
- .NotificationsPanel_item {
4304
- align-items: flex-start;
4402
+ .MediaViewer_fileIcon {
4403
+ flex-shrink: 0;
4404
+ display: inline-flex;
4405
+ align-items: center;
4406
+ justify-content: center;
4407
+ width: 40px;
4408
+ height: 40px;
4409
+ border-radius: 8px;
4410
+ color: #ffffff;
4305
4411
  }
4306
- .NotificationsPanel_itemActions {
4412
+ .MediaViewer_fileInfo {
4413
+ flex: 1;
4414
+ min-width: 0;
4307
4415
  display: flex;
4308
4416
  flex-direction: column;
4309
- gap: 0.5rem;
4310
- margin-top: 0.25rem;
4311
- }
4312
-
4313
- /* dist/screens/components/ToggleCard/index.module.css */
4314
- .ToggleCard_toggleContainer {
4315
- background: #ffffff;
4316
- border: 1px solid #cbcbcb;
4317
- border-radius: 12px;
4318
- padding: 1.25rem;
4319
- margin-bottom: 1rem;
4417
+ gap: 2px;
4320
4418
  }
4321
- .ToggleCard_floatingVariant {
4322
- position: fixed;
4323
- top: 20px;
4324
- left: 50%;
4325
- transform: translateX(-50%);
4326
- z-index: 9999;
4327
- width: 90%;
4328
- max-width: 500px;
4329
- animation: ToggleCard_fadeInDownToast 0.5s ease-out;
4330
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
4331
- border: none;
4419
+ .MediaViewer_fileName {
4420
+ font-size: 0.85rem;
4421
+ font-weight: 600;
4422
+ color: var(--media-viewer-text, #334155);
4423
+ overflow: hidden;
4424
+ text-overflow: ellipsis;
4425
+ white-space: nowrap;
4332
4426
  }
4333
- @keyframes ToggleCard_fadeInDownToast {
4334
- from {
4335
- opacity: 0;
4336
- transform: translate(-50%, -20px);
4337
- }
4338
- to {
4339
- opacity: 1;
4340
- transform: translate(-50%, 0);
4341
- }
4427
+ .MediaViewer_fileMeta {
4428
+ font-size: 0.72rem;
4429
+ color: var(--media-viewer-text, #334155);
4430
+ opacity: 0.65;
4342
4431
  }
4343
- .ToggleCard_content {
4344
- display: flex;
4345
- justify-content: space-between;
4346
- align-items: center;
4347
- gap: 1.5rem;
4432
+ .MediaViewer_fileAction {
4433
+ flex-shrink: 0;
4434
+ font-size: 0.78rem;
4435
+ font-weight: 600;
4436
+ color: var(--media-viewer-accent, #2563eb);
4437
+ text-decoration: none;
4348
4438
  }
4349
- .ToggleCard_textBlock {
4350
- display: flex;
4351
- flex-direction: column;
4352
- gap: 6px;
4439
+ .MediaViewer_fileAction:hover {
4440
+ text-decoration: underline;
4353
4441
  }
4354
- .ToggleCard_headerLine {
4355
- display: flex;
4442
+ .MediaViewer_downloadButton {
4443
+ flex-shrink: 0;
4444
+ display: inline-flex;
4445
+ align-items: center;
4446
+ justify-content: center;
4447
+ width: 36px;
4448
+ height: 36px;
4449
+ border-radius: 8px;
4450
+ color: var(--media-viewer-accent, #2563eb);
4451
+ text-decoration: none;
4452
+ transition: background-color 0.15s ease;
4453
+ }
4454
+ .MediaViewer_downloadButton:hover {
4455
+ background-color: rgba(0, 0, 0, 0.06);
4456
+ }
4457
+ .MediaViewer_actionButton {
4458
+ box-sizing: border-box;
4459
+ display: flex;
4460
+ align-items: center;
4461
+ justify-content: center;
4462
+ gap: 8px;
4463
+ width: 100%;
4464
+ margin-top: 10px;
4465
+ padding: 10px 16px;
4466
+ border: 1px solid var(--media-viewer-border, #e2e8f0);
4467
+ border-radius: 10px;
4468
+ background-color: var(--media-viewer-bg, #f8fafc);
4469
+ color: var(--media-viewer-accent, #2563eb);
4470
+ font-size: 0.85rem;
4471
+ font-weight: 600;
4472
+ cursor: pointer;
4473
+ transition: background-color 0.15s ease, border-color 0.15s ease;
4474
+ }
4475
+ .MediaViewer_actionButton:hover {
4476
+ background-color: rgba(0, 0, 0, 0.04);
4477
+ border-color: var(--media-viewer-accent, #2563eb);
4478
+ }
4479
+ @media (max-width: 480px) {
4480
+ .MediaViewer_imageWrapper,
4481
+ .MediaViewer_videoWrapper {
4482
+ max-height: 280px;
4483
+ }
4484
+ .MediaViewer_image,
4485
+ .MediaViewer_video {
4486
+ max-height: 280px;
4487
+ }
4488
+ .MediaViewer_pdfFrame {
4489
+ height: 320px;
4490
+ }
4491
+ .MediaViewer_fileCard {
4492
+ padding: 10px;
4493
+ gap: 10px;
4494
+ }
4495
+ .MediaViewer_fileIcon {
4496
+ width: 34px;
4497
+ height: 34px;
4498
+ }
4499
+ }
4500
+
4501
+ /* dist/screens/components/Slider/index.module.css */
4502
+ .Slider_slider {
4503
+ width: 100%;
4504
+ }
4505
+
4506
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/components/VideoSeekBar/index.module.css */
4507
+ .VideoSeekBar_seekRow {
4508
+ display: flex;
4509
+ align-items: center;
4510
+ gap: 8px;
4511
+ }
4512
+ .VideoSeekBar_seekSlider {
4513
+ position: relative;
4514
+ flex: 1;
4515
+ }
4516
+ .VideoSeekBar_hoverPreview {
4517
+ position: absolute;
4518
+ bottom: 100%;
4519
+ transform: translateX(-50%);
4520
+ margin-bottom: 6px;
4521
+ padding: 2px 6px;
4522
+ border-radius: 4px;
4523
+ background: rgba(13, 15, 20, 0.92);
4524
+ color: #f1f3f6;
4525
+ font-size: 0.68rem;
4526
+ font-weight: 600;
4527
+ white-space: nowrap;
4528
+ pointer-events: none;
4529
+ z-index: 1;
4530
+ }
4531
+ .VideoSeekBar_timeLabel {
4532
+ flex-shrink: 0;
4533
+ color: #e6e8ec;
4534
+ font-size: 0.68rem;
4535
+ font-weight: 600;
4536
+ min-width: 34px;
4537
+ text-align: center;
4538
+ }
4539
+
4540
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/components/VideoSpeedControl/index.module.css */
4541
+ .VideoSpeedControl_speedControl {
4542
+ position: relative;
4543
+ }
4544
+ .VideoSpeedControl_speedMenu {
4545
+ position: absolute;
4546
+ bottom: calc(100% + 8px);
4547
+ right: 0;
4548
+ display: flex;
4549
+ flex-direction: column;
4550
+ min-width: 64px;
4551
+ padding: 4px;
4552
+ border-radius: 8px;
4553
+ border: 1px solid;
4554
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
4555
+ z-index: 6;
4556
+ }
4557
+ .VideoSpeedControl_speedMenuBottom {
4558
+ bottom: auto;
4559
+ top: calc(100% + 8px);
4560
+ }
4561
+ .VideoSpeedControl_speedOption {
4562
+ border: none;
4563
+ background: transparent;
4564
+ font-size: 0.78rem;
4565
+ font-weight: 600;
4566
+ padding: 6px 10px;
4567
+ border-radius: 6px;
4568
+ cursor: pointer;
4569
+ text-align: left;
4570
+ }
4571
+ .VideoSpeedControl_speedOption:hover {
4572
+ background: rgba(128, 128, 128, 0.15);
4573
+ }
4574
+
4575
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/components/VideoControlsBar/index.module.css */
4576
+ .VideoControlsBar_controlsRow {
4577
+ display: flex;
4578
+ align-items: center;
4579
+ justify-content: space-between;
4580
+ gap: 10px;
4581
+ }
4582
+ .VideoControlsBar_controlsLeft,
4583
+ .VideoControlsBar_controlsRight {
4584
+ display: flex;
4585
+ align-items: center;
4586
+ gap: 4px;
4587
+ }
4588
+ .VideoControlsBar_volumeGroup {
4589
+ display: flex;
4590
+ align-items: center;
4591
+ gap: 4px;
4592
+ }
4593
+ .VideoControlsBar_volumeSliderWrap {
4594
+ width: 70px;
4595
+ }
4596
+ @media (max-width: 480px) {
4597
+ .VideoControlsBar_volumeSliderWrap {
4598
+ width: 48px;
4599
+ }
4600
+ }
4601
+
4602
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/components/VideoErrorOverlay/index.module.css */
4603
+ .VideoErrorOverlay_overlay {
4604
+ position: absolute;
4605
+ inset: 0;
4606
+ background: rgba(13, 15, 20, 0.6);
4607
+ backdrop-filter: blur(3px);
4608
+ display: flex;
4609
+ align-items: center;
4610
+ justify-content: center;
4611
+ z-index: 4;
4612
+ }
4613
+ .VideoErrorOverlay_errorCard {
4614
+ display: flex;
4615
+ flex-direction: column;
4616
+ align-items: center;
4617
+ gap: 8px;
4618
+ text-align: center;
4619
+ padding: 1.25rem;
4620
+ }
4621
+ .VideoErrorOverlay_errorIcon {
4622
+ color: #ef4444;
4623
+ }
4624
+ .VideoErrorOverlay_errorMsg {
4625
+ margin: 0;
4626
+ color: #f1f3f6;
4627
+ font-size: 0.85rem;
4628
+ }
4629
+
4630
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/components/VideoCenterPlayButton/index.module.css */
4631
+ .VideoCenterPlayButton_centerPlayButton {
4632
+ position: absolute !important;
4633
+ top: 50%;
4634
+ left: 50%;
4635
+ transform: translate(-50%, -50%);
4636
+ z-index: 3;
4637
+ transition: transform 0.15s ease, filter 0.15s ease;
4638
+ }
4639
+ .VideoCenterPlayButton_centerPlayButton:hover {
4640
+ transform: translate(-50%, -50%) scale(1.06);
4641
+ filter: brightness(1.2);
4642
+ }
4643
+
4644
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/components/VideoTimeSearch/index.module.css */
4645
+ .VideoTimeSearch_searchForm {
4646
+ display: flex;
4647
+ align-items: center;
4648
+ gap: 6px;
4649
+ padding: 0 8px;
4650
+ height: 30px;
4651
+ border-radius: 6px;
4652
+ background: rgba(255, 255, 255, 0.08);
4653
+ flex-shrink: 0;
4654
+ }
4655
+ .VideoTimeSearch_searchInput {
4656
+ width: 52px;
4657
+ border: none;
4658
+ background: transparent;
4659
+ outline: none;
4660
+ font-size: 0.72rem;
4661
+ font-weight: 600;
4662
+ }
4663
+ .VideoTimeSearch_searchInput::placeholder {
4664
+ color: rgba(241, 243, 246, 0.45);
4665
+ }
4666
+ .VideoTimeSearch_searchInputInvalid {
4667
+ color: #ef4444 !important;
4668
+ }
4669
+
4670
+ /* dist/screens/components/MediaViewer/components/VideoPlayer/index.module.css */
4671
+ .VideoPlayer_videoPlayer {
4672
+ position: relative;
4673
+ width: 100%;
4674
+ aspect-ratio: 16 / 9;
4675
+ max-height: 480px;
4676
+ display: flex;
4677
+ align-items: center;
4678
+ justify-content: center;
4679
+ overflow: hidden;
4680
+ user-select: none;
4681
+ }
4682
+ .VideoPlayer_videoPlayerFullscreen {
4683
+ max-height: none;
4684
+ width: 100vw;
4685
+ height: 100vh;
4686
+ background-color: var(--media-viewer-video-bg, #0d0f14);
4687
+ }
4688
+ .VideoPlayer_videoPlayerEl {
4689
+ display: block;
4690
+ width: 100%;
4691
+ max-width: 100%;
4692
+ height: 100%;
4693
+ object-fit: contain;
4694
+ cursor: pointer;
4695
+ }
4696
+ .VideoPlayer_videoPlayerFullscreen .VideoPlayer_videoPlayerEl {
4697
+ max-height: 100vh;
4698
+ height: 100%;
4699
+ }
4700
+ .VideoPlayer_bufferingOverlay {
4701
+ position: absolute;
4702
+ inset: 0;
4703
+ background: rgba(13, 15, 20, 0.6);
4704
+ backdrop-filter: blur(3px);
4705
+ display: flex;
4706
+ align-items: center;
4707
+ justify-content: center;
4708
+ z-index: 4;
4709
+ }
4710
+ .VideoPlayer_controlsBar {
4711
+ position: absolute;
4712
+ bottom: 0;
4713
+ left: 0;
4714
+ right: 0;
4715
+ padding: 6px 12px 10px;
4716
+ background:
4717
+ linear-gradient(
4718
+ 0deg,
4719
+ rgba(0, 0, 0, 0.78) 0%,
4720
+ rgba(0, 0, 0, 0.25) 65%,
4721
+ transparent 100%);
4722
+ display: flex;
4723
+ flex-direction: column;
4724
+ gap: 2px;
4725
+ opacity: 0;
4726
+ transform: translateY(6px);
4727
+ transition: opacity 0.2s ease, transform 0.2s ease;
4728
+ z-index: 5;
4729
+ pointer-events: none;
4730
+ }
4731
+ .VideoPlayer_controlsBarVisible {
4732
+ opacity: 1;
4733
+ transform: translateY(0);
4734
+ pointer-events: auto;
4735
+ }
4736
+ .VideoPlayer_seekSearchRow {
4737
+ display: flex;
4738
+ align-items: center;
4739
+ gap: 8px;
4740
+ }
4741
+ .VideoPlayer_seekSearchRow > :first-child {
4742
+ flex: 1;
4743
+ }
4744
+ @media (max-width: 480px) {
4745
+ .VideoPlayer_videoPlayer,
4746
+ .VideoPlayer_videoPlayerEl {
4747
+ max-height: 280px;
4748
+ }
4749
+ }
4750
+ @media (max-width: 400px) {
4751
+ .VideoPlayer_seekSearchRow > :last-child {
4752
+ display: none;
4753
+ }
4754
+ }
4755
+
4756
+ /* dist/screens/components/MediaViewer/components/AudioPlayer/components/AudioPlayerSkeleton/index.module.css */
4757
+ .AudioPlayerSkeleton_skeletonRow {
4758
+ display: flex;
4759
+ align-items: center;
4760
+ gap: 12px;
4761
+ width: 100%;
4762
+ }
4763
+ .AudioPlayerSkeleton_skeletonBody {
4764
+ flex: 1;
4765
+ min-width: 0;
4766
+ display: flex;
4767
+ flex-direction: column;
4768
+ gap: 8px;
4769
+ }
4770
+ .AudioPlayerSkeleton_skeletonControlsRow {
4771
+ display: flex;
4772
+ align-items: center;
4773
+ gap: 8px;
4774
+ }
4775
+
4776
+ /* dist/screens/components/MediaViewer/components/AudioPlayer/index.module.css */
4777
+ .AudioPlayer_audioPlayer {
4778
+ display: flex;
4779
+ align-items: center;
4780
+ gap: 12px;
4781
+ width: 100%;
4782
+ }
4783
+ .AudioPlayer_audioEl {
4784
+ display: none;
4785
+ }
4786
+ .AudioPlayer_iconBadge {
4787
+ flex-shrink: 0;
4788
+ width: 40px;
4789
+ height: 40px;
4790
+ border-radius: 10px;
4791
+ display: flex;
4792
+ align-items: center;
4793
+ justify-content: center;
4794
+ }
4795
+ .AudioPlayer_body {
4796
+ flex: 1;
4797
+ min-width: 0;
4798
+ display: flex;
4799
+ flex-direction: column;
4800
+ gap: 4px;
4801
+ }
4802
+ .AudioPlayer_fileName {
4803
+ font-size: 0.8rem;
4804
+ font-weight: 600;
4805
+ overflow: hidden;
4806
+ text-overflow: ellipsis;
4807
+ white-space: nowrap;
4808
+ }
4809
+ .AudioPlayer_controlsRow {
4810
+ display: flex;
4811
+ align-items: center;
4812
+ gap: 4px;
4813
+ }
4814
+ .AudioPlayer_volumeGroup {
4815
+ display: flex;
4816
+ align-items: center;
4817
+ gap: 4px;
4818
+ }
4819
+ .AudioPlayer_volumeSliderWrap {
4820
+ width: 72px;
4821
+ }
4822
+ .AudioPlayer_speedWrap {
4823
+ margin-left: auto;
4824
+ }
4825
+ .AudioPlayer_errorRow {
4826
+ display: flex;
4827
+ align-items: center;
4828
+ gap: 8px;
4829
+ }
4830
+ .AudioPlayer_errorIcon {
4831
+ flex-shrink: 0;
4832
+ color: #ef4444;
4833
+ }
4834
+ .AudioPlayer_errorMsg {
4835
+ flex: 1;
4836
+ font-size: 0.78rem;
4837
+ }
4838
+ @media (max-width: 480px) {
4839
+ .AudioPlayer_volumeSliderWrap {
4840
+ width: 48px;
4841
+ }
4842
+ }
4843
+ @media (max-width: 380px) {
4844
+ .AudioPlayer_volumeGroup {
4845
+ display: none;
4846
+ }
4847
+ }
4848
+
4849
+ /* dist/screens/components/MediaViewer/components/PdfViewer/components/PdfPageJumper/index.module.css */
4850
+ .PdfPageJumper_jumper {
4851
+ display: flex;
4852
+ align-items: center;
4853
+ gap: 6px;
4854
+ }
4855
+ .PdfPageJumper_input {
4856
+ width: 52px;
4857
+ }
4858
+ .PdfPageJumper_input .MuiInputBase-root {
4859
+ height: 30px;
4860
+ }
4861
+ .PdfPageJumper_input .MuiOutlinedInput-notchedOutline {
4862
+ border-color: transparent;
4863
+ }
4864
+ .PdfPageJumper_pageCount {
4865
+ font-size: 0.74rem;
4866
+ font-weight: 600;
4867
+ user-select: none;
4868
+ }
4869
+
4870
+ /* dist/screens/components/MediaViewer/components/PdfViewer/components/PdfControlsBar/index.module.css */
4871
+ .PdfControlsBar_controlsBar {
4872
+ display: flex;
4873
+ align-items: center;
4874
+ justify-content: space-between;
4875
+ gap: 8px;
4876
+ padding: 8px 10px;
4877
+ border-top: 1px solid var(--media-viewer-border, #e2e8f0);
4878
+ flex-wrap: wrap;
4879
+ }
4880
+ .PdfControlsBar_navGroup,
4881
+ .PdfControlsBar_zoomGroup {
4882
+ display: flex;
4883
+ align-items: center;
4884
+ gap: 2px;
4885
+ }
4886
+ .PdfControlsBar_zoomLabel {
4887
+ font-size: 0.74rem;
4888
+ font-weight: 600;
4889
+ min-width: 48px;
4890
+ text-align: center;
4891
+ user-select: none;
4892
+ }
4893
+ .PdfControlsBar_downloadButton {
4894
+ flex-shrink: 0;
4895
+ display: inline-flex;
4896
+ align-items: center;
4897
+ justify-content: center;
4898
+ width: 32px;
4899
+ height: 32px;
4900
+ border-radius: 8px;
4901
+ text-decoration: none;
4902
+ transition: background-color 0.15s ease;
4903
+ }
4904
+ .PdfControlsBar_downloadButton:hover {
4905
+ background-color: rgba(0, 0, 0, 0.06);
4906
+ }
4907
+ @media (max-width: 480px) {
4908
+ .PdfControlsBar_zoomGroup {
4909
+ display: none;
4910
+ }
4911
+ .PdfControlsBar_controlsBar {
4912
+ justify-content: space-between;
4913
+ }
4914
+ }
4915
+
4916
+ /* dist/screens/components/MediaViewer/components/PdfViewer/index.module.css */
4917
+ .PdfViewer_pdfViewer {
4918
+ display: flex;
4919
+ flex-direction: column;
4920
+ width: 100%;
4921
+ }
4922
+ .PdfViewer_canvasAreaOuter {
4923
+ position: relative;
4924
+ width: 100%;
4925
+ }
4926
+ .PdfViewer_canvasArea {
4927
+ display: flex;
4928
+ align-items: flex-start;
4929
+ justify-content: center;
4930
+ padding: 8px;
4931
+ box-sizing: border-box;
4932
+ }
4933
+ .PdfViewer_canvas {
4934
+ display: block;
4935
+ max-width: 100%;
4936
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
4937
+ }
4938
+ .PdfViewer_loadingOverlay {
4939
+ position: absolute;
4940
+ inset: 0;
4941
+ display: flex;
4942
+ align-items: center;
4943
+ justify-content: center;
4944
+ z-index: 2;
4945
+ }
4946
+ @media (max-width: 480px) {
4947
+ .PdfViewer_canvasArea {
4948
+ padding: 6px;
4949
+ }
4950
+ }
4951
+
4952
+ /* dist/screens/components/MediaViewer/components/DocxViewer/components/DocxControlsBar/index.module.css */
4953
+ .DocxControlsBar_controlsBar {
4954
+ display: flex;
4955
+ align-items: center;
4956
+ justify-content: space-between;
4957
+ gap: 8px;
4958
+ padding: 8px 10px;
4959
+ border-top: 1px solid var(--media-viewer-border, #e2e8f0);
4960
+ }
4961
+ .DocxControlsBar_zoomGroup {
4962
+ display: flex;
4963
+ align-items: center;
4964
+ gap: 2px;
4965
+ }
4966
+ .DocxControlsBar_zoomLabel {
4967
+ font-size: 0.74rem;
4968
+ font-weight: 600;
4969
+ min-width: 48px;
4970
+ text-align: center;
4971
+ user-select: none;
4972
+ }
4973
+ .DocxControlsBar_downloadButton {
4974
+ flex-shrink: 0;
4975
+ display: inline-flex;
4976
+ align-items: center;
4977
+ justify-content: center;
4978
+ width: 32px;
4979
+ height: 32px;
4980
+ border-radius: 8px;
4981
+ text-decoration: none;
4982
+ transition: background-color 0.15s ease;
4983
+ }
4984
+ .DocxControlsBar_downloadButton:hover {
4985
+ background-color: rgba(0, 0, 0, 0.06);
4986
+ }
4987
+
4988
+ /* dist/screens/components/MediaViewer/components/DocxViewer/index.module.css */
4989
+ .DocxViewer_docxViewer {
4990
+ display: flex;
4991
+ flex-direction: column;
4992
+ width: 100%;
4993
+ }
4994
+ .DocxViewer_docAreaOuter {
4995
+ position: relative;
4996
+ width: 100%;
4997
+ }
4998
+ .DocxViewer_docArea {
4999
+ display: flex;
5000
+ justify-content: center;
5001
+ padding: 16px 8px;
5002
+ box-sizing: border-box;
5003
+ }
5004
+ .DocxViewer_docxContent {
5005
+ transform-origin: top center;
5006
+ transition: transform 0.15s ease;
5007
+ }
5008
+ .DocxViewer_docxContent .docx-wrapper {
5009
+ background: transparent;
5010
+ padding: 0;
5011
+ }
5012
+ .DocxViewer_docxContent .docx-wrapper > section.docx {
5013
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
5014
+ margin-bottom: 16px;
5015
+ }
5016
+ .DocxViewer_loadingOverlay {
5017
+ position: absolute;
5018
+ inset: 0;
5019
+ display: flex;
5020
+ align-items: center;
5021
+ justify-content: center;
5022
+ z-index: 2;
5023
+ }
5024
+ @media (max-width: 480px) {
5025
+ .DocxViewer_docArea {
5026
+ padding: 10px 6px;
5027
+ }
5028
+ }
5029
+
5030
+ /* dist/screens/components/Notification/Error/ErrorMessage.module.css */
5031
+ .ErrorMessage_errorBanner {
5032
+ display: flex;
5033
+ align-items: flex-start;
5034
+ gap: 12px;
5035
+ padding: 12px 16px;
5036
+ border-radius: 8px;
5037
+ margin: 10px 0;
5038
+ animation: ErrorMessage_slideIn 0.3s ease-out;
5039
+ border: 1px solid var(--errormessage-border, #fecdd3);
5040
+ background-color: var(--errormessage-bg, #fff1f2);
5041
+ }
5042
+ .ErrorMessage_errorIcon {
5043
+ color: #dc2626;
5044
+ flex-shrink: 0;
5045
+ margin-top: 2px;
5046
+ }
5047
+ .ErrorMessage_errorTextContent {
5048
+ display: flex;
5049
+ flex-direction: column;
5050
+ font-size: 0.85rem;
5051
+ line-height: 1.4;
5052
+ }
5053
+ .ErrorMessage_errorTitle {
5054
+ color: #991b1b;
5055
+ margin-bottom: 2px;
5056
+ }
5057
+ .ErrorMessage_errorText {
5058
+ color: #b91c1c;
5059
+ }
5060
+ @keyframes ErrorMessage_slideIn {
5061
+ from {
5062
+ opacity: 0;
5063
+ transform: translateY(-10px);
5064
+ }
5065
+ to {
5066
+ opacity: 1;
5067
+ transform: translateY(0);
5068
+ }
5069
+ }
5070
+ .ErrorMessage_success {
5071
+ border-color: var(--errormessage-border, #bbf7d0);
5072
+ background-color: var(--errormessage-bg, #f0fdf4);
5073
+ }
5074
+ .ErrorMessage_success .ErrorMessage_errorTitle {
5075
+ color: #166534;
5076
+ }
5077
+ .ErrorMessage_success .ErrorMessage_errorText {
5078
+ color: #15803d;
5079
+ }
5080
+ .ErrorMessage_successIcon {
5081
+ color: #22c55e;
5082
+ flex-shrink: 0;
5083
+ margin-top: 2px;
5084
+ }
5085
+
5086
+ /* dist/screens/components/NotificationsPanel/index.module.css */
5087
+ .NotificationsPanel_panel {
5088
+ width: 360px;
5089
+ padding: 1.5rem;
5090
+ }
5091
+ .NotificationsPanel_list {
5092
+ display: flex;
5093
+ flex-direction: column;
5094
+ gap: 0.75rem;
5095
+ min-height: 0;
5096
+ }
5097
+ .NotificationsPanel_emptyContainer {
5098
+ display: flex;
5099
+ flex-direction: column;
5100
+ align-items: center;
5101
+ justify-content: center;
5102
+ text-align: center;
5103
+ min-height: 200px;
5104
+ padding: 2.25rem 1.5rem;
5105
+ box-sizing: border-box;
5106
+ }
5107
+ .NotificationsPanel_emptyIconWrapper {
5108
+ display: flex;
5109
+ align-items: center;
5110
+ justify-content: center;
5111
+ color: var(--notifications-empty-icon, #94a3b8);
5112
+ margin-bottom: 0.85rem;
5113
+ }
5114
+ .NotificationsPanel_emptyTitle {
5115
+ margin: 0 0 0.35rem 0;
5116
+ font-size: 1rem;
5117
+ font-weight: 600;
5118
+ color: var(--notifications-empty-title, #1e293b);
5119
+ }
5120
+ .NotificationsPanel_emptyMessage {
5121
+ margin: 0;
5122
+ text-align: center;
5123
+ font-size: 0.95rem;
5124
+ font-weight: 400;
5125
+ line-height: 1.45;
5126
+ color: var(--notifications-empty-text, #64748b);
5127
+ max-width: 260px;
5128
+ }
5129
+ .NotificationsPanel_item {
5130
+ align-items: flex-start;
5131
+ }
5132
+ .NotificationsPanel_itemActions {
5133
+ display: flex;
5134
+ flex-direction: column;
5135
+ gap: 0.5rem;
5136
+ margin-top: 0.25rem;
5137
+ }
5138
+
5139
+ /* dist/screens/components/ToggleCard/index.module.css */
5140
+ .ToggleCard_toggleContainer {
5141
+ background: #ffffff;
5142
+ border: 1px solid #cbcbcb;
5143
+ border-radius: 12px;
5144
+ padding: 1.25rem;
5145
+ margin-bottom: 1rem;
5146
+ }
5147
+ .ToggleCard_floatingVariant {
5148
+ position: fixed;
5149
+ top: 20px;
5150
+ left: 50%;
5151
+ transform: translateX(-50%);
5152
+ z-index: 9999;
5153
+ width: 90%;
5154
+ max-width: 500px;
5155
+ animation: ToggleCard_fadeInDownToast 0.5s ease-out;
5156
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
5157
+ border: none;
5158
+ }
5159
+ @keyframes ToggleCard_fadeInDownToast {
5160
+ from {
5161
+ opacity: 0;
5162
+ transform: translate(-50%, -20px);
5163
+ }
5164
+ to {
5165
+ opacity: 1;
5166
+ transform: translate(-50%, 0);
5167
+ }
5168
+ }
5169
+ .ToggleCard_content {
5170
+ display: flex;
5171
+ justify-content: space-between;
5172
+ align-items: center;
5173
+ gap: 1.5rem;
5174
+ }
5175
+ .ToggleCard_textBlock {
5176
+ display: flex;
5177
+ flex-direction: column;
5178
+ gap: 6px;
5179
+ }
5180
+ .ToggleCard_headerLine {
5181
+ display: flex;
4356
5182
  align-items: center;
4357
5183
  gap: 10px;
4358
5184
  }
@@ -4565,6 +5391,106 @@
4565
5391
  }
4566
5392
  }
4567
5393
 
5394
+ /* dist/screens/components/Radio/index.module.css */
5395
+ .Radio_formControl {
5396
+ display: flex;
5397
+ flex-direction: column;
5398
+ gap: 0.5rem;
5399
+ font-family: var(--font-sans, sans-serif);
5400
+ border: none;
5401
+ padding: 0;
5402
+ margin: 0;
5403
+ }
5404
+ .Radio_formLabel {
5405
+ font-size: 0.95rem;
5406
+ font-weight: 600;
5407
+ color: var(--text-color, #0f172a);
5408
+ margin-bottom: 0.25rem;
5409
+ }
5410
+ .Radio_formLabel.Radio_Mui-focused {
5411
+ color: var(--text-color, #0f172a);
5412
+ }
5413
+ .Radio_radioGroupContainer {
5414
+ gap: 0.25rem;
5415
+ }
5416
+ .Radio_radioWrapper {
5417
+ margin-left: 0;
5418
+ margin-right: 0;
5419
+ user-select: none;
5420
+ transition: opacity 0.2s ease;
5421
+ }
5422
+ .Radio_radioWrapper .Radio_MuiFormControlLabel-label {
5423
+ font-family: var(--font-sans, sans-serif);
5424
+ color: var(--text-color, #0f172a);
5425
+ font-size: 1rem;
5426
+ }
5427
+ .Radio_muiRadioCustom svg {
5428
+ transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
5429
+ }
5430
+ .Radio_muiRadioCustom:hover {
5431
+ background-color: color-mix(in srgb, currentColor 8%, transparent);
5432
+ }
5433
+
5434
+ /* dist/screens/components/RenderJsonSchema/index.module.css */
5435
+ .RenderJsonSchema_root {
5436
+ display: flex;
5437
+ flex-direction: column;
5438
+ width: 100%;
5439
+ color: var(--rjs-text, var(--color-text, #0f172a));
5440
+ }
5441
+ .RenderJsonSchema_bordered {
5442
+ background: var(--rjs-bg, var(--color-card-bg, #ffffff));
5443
+ border: 1px solid var(--rjs-border, var(--color-border, #e2e8f0));
5444
+ border-radius: var(--radius-lg, 0.75rem);
5445
+ padding: 0 1.25rem;
5446
+ }
5447
+ .RenderJsonSchema_sectionTitle {
5448
+ margin: 0;
5449
+ padding: 1rem 0 0;
5450
+ font-size: 0.95rem;
5451
+ font-weight: 600;
5452
+ }
5453
+ .RenderJsonSchema_row {
5454
+ display: flex;
5455
+ flex-direction: column;
5456
+ gap: 0.35rem;
5457
+ padding: 1rem 0;
5458
+ border-bottom: 1px solid var(--rjs-border, var(--color-border, #e2e8f0));
5459
+ }
5460
+ .RenderJsonSchema_row:last-child {
5461
+ border-bottom: none;
5462
+ }
5463
+ .RenderJsonSchema_label {
5464
+ font-size: 0.7rem;
5465
+ font-weight: 700;
5466
+ text-transform: uppercase;
5467
+ letter-spacing: 0.04em;
5468
+ color: var(--rjs-label, var(--color-text-muted, #64748b));
5469
+ }
5470
+ .RenderJsonSchema_value {
5471
+ font-size: 1rem;
5472
+ word-break: break-word;
5473
+ }
5474
+ .RenderJsonSchema_emptyValue {
5475
+ color: var(--rjs-label, var(--color-text-muted, #94a3b8));
5476
+ font-style: italic;
5477
+ }
5478
+ .RenderJsonSchema_nested {
5479
+ gap: 0;
5480
+ }
5481
+ .RenderJsonSchema_nested .RenderJsonSchema_row:last-child {
5482
+ padding-bottom: 0;
5483
+ }
5484
+ .RenderJsonSchema_fileList {
5485
+ display: flex;
5486
+ flex-wrap: wrap;
5487
+ gap: 0.5rem;
5488
+ width: 100%;
5489
+ }
5490
+ .RenderJsonSchema_fileItem {
5491
+ max-width: 160px;
5492
+ }
5493
+
4568
5494
  /* dist/screens/components/SchemaForm/index.module.css */
4569
5495
  .SchemaForm_form {
4570
5496
  display: flex;
@@ -4760,6 +5686,79 @@
4760
5686
  min-width: 68px;
4761
5687
  padding: 20px 8px;
4762
5688
  }
5689
+ .Sidebar_sidebarWrapper {
5690
+ display: flex;
5691
+ height: 100%;
5692
+ }
5693
+ .Sidebar_mobileCloseBtn {
5694
+ display: none;
5695
+ }
5696
+ .Sidebar_mobileBackdrop {
5697
+ display: none;
5698
+ }
5699
+ @media (max-width: 767px) {
5700
+ .Sidebar_sidebarWrapper {
5701
+ position: fixed;
5702
+ top: 0;
5703
+ left: 0;
5704
+ bottom: 0;
5705
+ z-index: 1300;
5706
+ transform: translateX(-100%);
5707
+ transition: transform 0.25s ease;
5708
+ }
5709
+ .Sidebar_sidebarWrapper.Sidebar_mobileOpen {
5710
+ transform: translateX(0);
5711
+ }
5712
+ .Sidebar_sidebarWrapper .Sidebar_sidebar {
5713
+ height: 100%;
5714
+ max-height: 100%;
5715
+ width: 280px;
5716
+ min-width: 280px;
5717
+ max-width: 85vw;
5718
+ box-shadow: 2px 0 16px rgba(0, 0, 0, 0.18);
5719
+ }
5720
+ .Sidebar_sidebarWrapper .Sidebar_sidebar.Sidebar_collapsed {
5721
+ width: 280px;
5722
+ min-width: 280px;
5723
+ padding: 24px 16px;
5724
+ }
5725
+ .Sidebar_mobileCloseBtn {
5726
+ display: inline-flex;
5727
+ position: absolute;
5728
+ top: 16px;
5729
+ right: 16px;
5730
+ width: 28px;
5731
+ height: 28px;
5732
+ align-items: center;
5733
+ justify-content: center;
5734
+ border-radius: 50%;
5735
+ border: 1px solid #cbd5e1;
5736
+ background-color: #ffffff;
5737
+ color: #475569;
5738
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
5739
+ cursor: pointer;
5740
+ z-index: 5;
5741
+ transition: background-color 0.2s, color 0.2s;
5742
+ }
5743
+ .Sidebar_mobileCloseBtn:hover {
5744
+ background-color: var(--sidebar-avatar-bg, #0d52f8);
5745
+ color: #ffffff;
5746
+ border-color: var(--sidebar-avatar-bg, #0d52f8);
5747
+ }
5748
+ .Sidebar_mobileBackdrop {
5749
+ display: block;
5750
+ position: fixed;
5751
+ inset: 0;
5752
+ background: rgba(15, 23, 42, 0.45);
5753
+ z-index: 1299;
5754
+ }
5755
+ .Sidebar_sidebarWrapper .Sidebar_sidebarHeader {
5756
+ padding-right: 36px;
5757
+ }
5758
+ .Sidebar_sidebarWrapper .Sidebar_toggleBtn {
5759
+ display: none;
5760
+ }
5761
+ }
4763
5762
  .Sidebar_sidebar.Sidebar_collapsed .Sidebar_sidebarHeader {
4764
5763
  justify-content: center;
4765
5764
  padding: 0;
@@ -5185,11 +6184,6 @@
5185
6184
  background-color: #fef2f2;
5186
6185
  }
5187
6186
 
5188
- /* dist/screens/components/Slider/index.module.css */
5189
- .Slider_slider {
5190
- width: 100%;
5191
- }
5192
-
5193
6187
  /* dist/screens/components/SubSidebarLayout/index.module.css */
5194
6188
  .SubSidebarLayout_layoutWrapper {
5195
6189
  display: flex;
@@ -5766,7 +6760,7 @@
5766
6760
  display: flex;
5767
6761
  align-items: center;
5768
6762
  gap: 12px;
5769
- flex: 1;
6763
+ flex: 1 1 auto;
5770
6764
  min-width: 0;
5771
6765
  }
5772
6766
  .TopBar_logoButton {
@@ -5780,6 +6774,36 @@
5780
6774
  color: inherit;
5781
6775
  flex-shrink: 0;
5782
6776
  }
6777
+ .TopBar_mobileMenuButton {
6778
+ display: none;
6779
+ }
6780
+ @media (max-width: 767px) {
6781
+ .TopBar_mobileMenuButton {
6782
+ display: inline-flex;
6783
+ align-items: center;
6784
+ justify-content: center;
6785
+ flex-shrink: 0;
6786
+ width: 34px;
6787
+ height: 34px;
6788
+ padding: 0;
6789
+ border-radius: 6px;
6790
+ border: 1px solid var(--topbar-action-border, #e2e8f0);
6791
+ background-color: var(--topbar-action-bg, #f1f5f9);
6792
+ color: var(--topbar-icon, #475569);
6793
+ cursor: pointer;
6794
+ transition:
6795
+ background-color 0.15s ease,
6796
+ color 0.15s ease,
6797
+ border-color 0.15s ease;
6798
+ }
6799
+ .TopBar_mobileMenuButton:hover {
6800
+ background-color: var(--topbar-action-hover-bg, var(--topbar-hover-bg, #e2e8f0));
6801
+ color: var(--topbar-text, #0f172a);
6802
+ }
6803
+ .TopBar_mobileMenuButton:disabled {
6804
+ cursor: default;
6805
+ }
6806
+ }
5783
6807
  .TopBar_logoButton:disabled {
5784
6808
  cursor: default;
5785
6809
  }
@@ -5864,6 +6888,7 @@ button.TopBar_searchWrapper {
5864
6888
  }
5865
6889
  .TopBar_ctaButton {
5866
6890
  flex-shrink: 0;
6891
+ white-space: nowrap;
5867
6892
  }
5868
6893
  .TopBar_searchIcon {
5869
6894
  position: absolute;
@@ -5914,12 +6939,13 @@ button.TopBar_searchWrapper {
5914
6939
  align-items: center;
5915
6940
  justify-content: flex-end;
5916
6941
  gap: 4px;
5917
- flex: 1;
6942
+ flex: 0 1 auto;
5918
6943
  min-width: 0;
5919
6944
  }
5920
6945
  .TopBar_actionBtnWrapper {
5921
6946
  position: relative;
5922
6947
  display: inline-flex;
6948
+ flex-shrink: 0;
5923
6949
  }
5924
6950
  .TopBar_actionBtn {
5925
6951
  border-radius: 6px !important;
@@ -5990,6 +7016,7 @@ button.TopBar_searchWrapper {
5990
7016
  .TopBar_userSection {
5991
7017
  position: relative;
5992
7018
  margin-left: 4px;
7019
+ flex-shrink: 0;
5993
7020
  }
5994
7021
  .TopBar_userButton {
5995
7022
  display: inline-flex;
@@ -6053,6 +7080,10 @@ button.TopBar_searchWrapper {
6053
7080
  .TopBar_userMenuItemDanger:hover {
6054
7081
  background-color: #fef2f2;
6055
7082
  }
7083
+ .TopBar_mobileSearchButton,
7084
+ .TopBar_mobileActionsButton {
7085
+ display: none;
7086
+ }
6056
7087
  @media (max-width: 1023px) {
6057
7088
  .TopBar_topbar {
6058
7089
  gap: 12px;
@@ -6066,17 +7097,102 @@ button.TopBar_searchWrapper {
6066
7097
  .TopBar_topbar {
6067
7098
  gap: 8px;
6068
7099
  padding: 10px 12px;
7100
+ flex-wrap: wrap;
6069
7101
  }
6070
7102
  .TopBar_centerSection {
6071
7103
  display: none;
6072
7104
  }
7105
+ .TopBar_leftSection {
7106
+ min-width: 0;
7107
+ }
6073
7108
  .TopBar_breadcrumbs,
6074
7109
  .TopBar_skeletonBreadcrumbs {
6075
- max-width: 50vw;
7110
+ max-width: 38vw;
6076
7111
  }
6077
7112
  .TopBar_title {
6078
- max-width: 50vw;
7113
+ max-width: 38vw;
7114
+ }
7115
+ .TopBar_rightSection {
7116
+ gap: 2px;
7117
+ }
7118
+ .TopBar_ctaButton {
7119
+ padding-left: 10px !important;
7120
+ padding-right: 10px !important;
7121
+ }
7122
+ .TopBar_actionBtnWrapper,
7123
+ .TopBar_actionsDivider {
7124
+ display: none;
6079
7125
  }
7126
+ .TopBar_mobileSearchButton,
7127
+ .TopBar_mobileActionsButton {
7128
+ display: inline-flex;
7129
+ align-items: center;
7130
+ justify-content: center;
7131
+ flex-shrink: 0;
7132
+ width: 34px;
7133
+ height: 34px;
7134
+ padding: 0;
7135
+ border-radius: 6px;
7136
+ border: 1px solid var(--topbar-action-border, #e2e8f0);
7137
+ background-color: var(--topbar-action-bg, #f1f5f9);
7138
+ color: var(--topbar-icon, #475569);
7139
+ cursor: pointer;
7140
+ transition:
7141
+ background-color 0.15s ease,
7142
+ color 0.15s ease,
7143
+ border-color 0.15s ease;
7144
+ }
7145
+ .TopBar_mobileSearchButton:hover,
7146
+ .TopBar_mobileActionsButton:hover {
7147
+ background-color: var(--topbar-action-hover-bg, var(--topbar-hover-bg, #e2e8f0));
7148
+ color: var(--topbar-text, #0f172a);
7149
+ }
7150
+ .TopBar_mobileActionsButtonWrapper {
7151
+ position: relative;
7152
+ display: inline-flex;
7153
+ }
7154
+ }
7155
+ .TopBar_mobileSearchOverlay {
7156
+ position: fixed;
7157
+ inset: 0;
7158
+ z-index: 2100;
7159
+ background-color: var(--topbar-bg, #ffffff);
7160
+ display: flex;
7161
+ align-items: center;
7162
+ gap: 8px;
7163
+ padding: 10px 12px;
7164
+ box-sizing: border-box;
7165
+ }
7166
+ .TopBar_mobileSearchOverlayInput {
7167
+ flex: 1;
7168
+ min-width: 0;
7169
+ height: 40px;
7170
+ padding: 0 12px;
7171
+ border-radius: 8px;
7172
+ border: 1px solid var(--topbar-border, #e2e8f0);
7173
+ background-color: var(--topbar-search-bg, #f8fafc);
7174
+ color: var(--topbar-text, #0f172a);
7175
+ font-size: 0.9rem;
7176
+ font-family: inherit;
7177
+ outline: none;
7178
+ box-sizing: border-box;
7179
+ }
7180
+ .TopBar_mobileSearchOverlayInput:focus {
7181
+ border-color: var(--topbar-accent, #0ea5e9);
7182
+ }
7183
+ .TopBar_mobileSearchOverlayClose {
7184
+ flex-shrink: 0;
7185
+ display: inline-flex;
7186
+ align-items: center;
7187
+ justify-content: center;
7188
+ width: 40px;
7189
+ height: 40px;
7190
+ padding: 0;
7191
+ border-radius: 8px;
7192
+ border: 1px solid var(--topbar-border, #e2e8f0);
7193
+ background: transparent;
7194
+ color: var(--topbar-text, #0f172a);
7195
+ cursor: pointer;
6080
7196
  }
6081
7197
  @media (max-width: 479px) {
6082
7198
  .TopBar_topbar {
@@ -6086,10 +7202,13 @@ button.TopBar_searchWrapper {
6086
7202
  .TopBar_breadcrumbs,
6087
7203
  .TopBar_skeletonBreadcrumbs,
6088
7204
  .TopBar_title {
6089
- max-width: 38vw;
7205
+ max-width: 30vw;
6090
7206
  }
6091
7207
  .TopBar_actionsDivider {
6092
- margin: 0 4px;
7208
+ margin: 0 2px;
7209
+ }
7210
+ .TopBar_actionBtn {
7211
+ padding: 6px !important;
6093
7212
  }
6094
7213
  }
6095
7214
 
@@ -6117,6 +7236,65 @@ button.TopBar_searchWrapper {
6117
7236
  }
6118
7237
  }
6119
7238
 
7239
+ /* dist/screens/components/TopBar/components/MobileActionsPanel/index.module.css */
7240
+ .MobileActionsPanel_list {
7241
+ display: flex;
7242
+ flex-direction: column;
7243
+ gap: 4px;
7244
+ }
7245
+ .MobileActionsPanel_item {
7246
+ display: flex;
7247
+ align-items: center;
7248
+ gap: 12px;
7249
+ width: 100%;
7250
+ padding: 10px 12px;
7251
+ border: none;
7252
+ border-radius: 8px;
7253
+ background: transparent;
7254
+ color: #0f172a;
7255
+ font-family: inherit;
7256
+ font-size: 0.9rem;
7257
+ font-weight: 500;
7258
+ text-align: left;
7259
+ cursor: pointer;
7260
+ transition: background-color 0.15s ease;
7261
+ }
7262
+ .MobileActionsPanel_item:hover {
7263
+ background-color: #f1f5f9;
7264
+ }
7265
+ .MobileActionsPanel_item:disabled {
7266
+ opacity: 0.5;
7267
+ cursor: default;
7268
+ }
7269
+ .MobileActionsPanel_item:disabled:hover {
7270
+ background-color: transparent;
7271
+ }
7272
+ .MobileActionsPanel_itemIcon {
7273
+ flex-shrink: 0;
7274
+ color: #475569;
7275
+ }
7276
+ .MobileActionsPanel_itemLabel {
7277
+ flex: 1;
7278
+ min-width: 0;
7279
+ overflow: hidden;
7280
+ text-overflow: ellipsis;
7281
+ white-space: nowrap;
7282
+ }
7283
+ .MobileActionsPanel_itemBadge {
7284
+ flex-shrink: 0;
7285
+ display: inline-flex;
7286
+ align-items: center;
7287
+ justify-content: center;
7288
+ min-width: 18px;
7289
+ height: 18px;
7290
+ padding: 0 5px;
7291
+ border-radius: 999px;
7292
+ background-color: #ef4444;
7293
+ color: #ffffff;
7294
+ font-size: 0.7rem;
7295
+ font-weight: 700;
7296
+ }
7297
+
6120
7298
  /* dist/screens/components/UserEditPopover/index.module.css */
6121
7299
  .UserEditPopover_popoverPaper {
6122
7300
  padding: 16px;
@@ -6203,43 +7381,3 @@ button.TopBar_searchWrapper {
6203
7381
  background: var(--usereditpopover-cancel-hover-bg, #e2e8f0);
6204
7382
  color: var(--usereditpopover-cancel-hover, #0f172a);
6205
7383
  }
6206
-
6207
- /* dist/screens/components/Radio/index.module.css */
6208
- .Radio_formControl {
6209
- display: flex;
6210
- flex-direction: column;
6211
- gap: 0.5rem;
6212
- font-family: var(--font-sans, sans-serif);
6213
- border: none;
6214
- padding: 0;
6215
- margin: 0;
6216
- }
6217
- .Radio_formLabel {
6218
- font-size: 0.95rem;
6219
- font-weight: 600;
6220
- color: var(--text-color, #0f172a);
6221
- margin-bottom: 0.25rem;
6222
- }
6223
- .Radio_formLabel.Radio_Mui-focused {
6224
- color: var(--text-color, #0f172a);
6225
- }
6226
- .Radio_radioGroupContainer {
6227
- gap: 0.25rem;
6228
- }
6229
- .Radio_radioWrapper {
6230
- margin-left: 0;
6231
- margin-right: 0;
6232
- user-select: none;
6233
- transition: opacity 0.2s ease;
6234
- }
6235
- .Radio_radioWrapper .Radio_MuiFormControlLabel-label {
6236
- font-family: var(--font-sans, sans-serif);
6237
- color: var(--text-color, #0f172a);
6238
- font-size: 1rem;
6239
- }
6240
- .Radio_muiRadioCustom svg {
6241
- transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
6242
- }
6243
- .Radio_muiRadioCustom:hover {
6244
- background-color: color-mix(in srgb, currentColor 8%, transparent);
6245
- }