@propbinder/mobile-design 0.0.2 → 0.0.21

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 (123) hide show
  1. package/fesm2022/propbinder-mobile-design.mjs +12596 -0
  2. package/fesm2022/propbinder-mobile-design.mjs.map +1 -0
  3. package/index.d.ts +3214 -0
  4. package/package.json +39 -12
  5. package/ng-package.json +0 -7
  6. package/src/animations/page-transitions.ts +0 -86
  7. package/src/assets/fonts/Brockmann-Bold.otf +0 -0
  8. package/src/assets/fonts/Brockmann-BoldItalic.otf +0 -0
  9. package/src/assets/fonts/Brockmann-Medium.otf +0 -0
  10. package/src/assets/fonts/Brockmann-MediumItalic.otf +0 -0
  11. package/src/assets/fonts/Brockmann-Regular.otf +0 -0
  12. package/src/assets/fonts/Brockmann-RegularItalic.otf +0 -0
  13. package/src/assets/fonts/Brockmann-SemiBold.otf +0 -0
  14. package/src/assets/fonts/Brockmann-SemiBoldItalic.otf +0 -0
  15. package/src/assets/fonts/Brockmann_desktop_license.pdf +0 -0
  16. package/src/assets/fonts/brockmann-medium-webfont.woff2 +0 -0
  17. package/src/assets/fonts/brockmann-regular-webfont.woff2 +0 -0
  18. package/src/assets/fonts/brockmann-semibold-webfont.woff2 +0 -0
  19. package/src/components/action-list-item/ds-mobile-action-list-item.ts +0 -83
  20. package/src/components/action-list-item/index.ts +0 -2
  21. package/src/components/app-layout/ds-mobile-app-layout.css +0 -343
  22. package/src/components/app-layout/ds-mobile-app-layout.ts +0 -271
  23. package/src/components/app-layout/index.ts +0 -2
  24. package/src/components/avatar-with-badge/ds-avatar-with-badge.ts +0 -130
  25. package/src/components/avatar-with-badge/index.ts +0 -2
  26. package/src/components/bottom-sheet/ds-mobile-actions-bottom-sheet.ts +0 -273
  27. package/src/components/bottom-sheet/ds-mobile-bottom-sheet.css +0 -110
  28. package/src/components/bottom-sheet/ds-mobile-bottom-sheet.service.ts +0 -167
  29. package/src/components/bottom-sheet/ds-mobile-post-create-bottom-sheet.ts +0 -656
  30. package/src/components/bottom-sheet/index.ts +0 -3
  31. package/src/components/comment/ds-mobile-comment.ts +0 -516
  32. package/src/components/comment/index.ts +0 -2
  33. package/src/components/contact-list-item/ds-mobile-contact-list-item.ts +0 -182
  34. package/src/components/contact-list-item/index.ts +0 -2
  35. package/src/components/content/ds-mobile-content.ts +0 -158
  36. package/src/components/content/index.ts +0 -2
  37. package/src/components/ds-mobile-tabs.css +0 -372
  38. package/src/components/ds-mobile-tabs.ts +0 -217
  39. package/src/components/file-attachment/ds-mobile-file-attachment.ts +0 -164
  40. package/src/components/file-attachment/index.ts +0 -2
  41. package/src/components/handbook-detail-modal/ds-mobile-handbook-detail-modal.service.ts +0 -98
  42. package/src/components/handbook-detail-modal/ds-mobile-handbook-detail-modal.ts +0 -514
  43. package/src/components/handbook-detail-modal/index.ts +0 -3
  44. package/src/components/handbook-folder/ds-mobile-handbook-folder-mini.ts +0 -130
  45. package/src/components/handbook-folder/ds-mobile-handbook-folder.ts +0 -444
  46. package/src/components/handbook-folder/index.ts +0 -4
  47. package/src/components/header-content/ds-mobile-header-content.ts +0 -211
  48. package/src/components/header-content/index.ts +0 -2
  49. package/src/components/index.ts +0 -45
  50. package/src/components/inline-photo/ds-mobile-inline-photo.ts +0 -269
  51. package/src/components/inline-photo/index.ts +0 -1
  52. package/src/components/interactive-list-item-inquiry/ds-mobile-interactive-list-item-inquiry.css +0 -60
  53. package/src/components/interactive-list-item-inquiry/ds-mobile-interactive-list-item-inquiry.ts +0 -280
  54. package/src/components/interactive-list-item-inquiry/index.ts +0 -2
  55. package/src/components/interactive-list-item-message/ds-mobile-interactive-list-item-message.ts +0 -197
  56. package/src/components/interactive-list-item-message/index.ts +0 -2
  57. package/src/components/interactive-list-item-post/ds-mobile-interactive-list-item-post.css +0 -70
  58. package/src/components/interactive-list-item-post/ds-mobile-interactive-list-item-post.ts +0 -594
  59. package/src/components/interactive-list-item-post/ds-mobile-post-pdf-attachment.ts +0 -124
  60. package/src/components/interactive-list-item-post/index.ts +0 -13
  61. package/src/components/lightbox/ds-mobile-lightbox-footer.ts +0 -331
  62. package/src/components/lightbox/ds-mobile-lightbox-header.ts +0 -173
  63. package/src/components/lightbox/ds-mobile-lightbox-image.ts +0 -464
  64. package/src/components/lightbox/ds-mobile-lightbox-pdf.css +0 -375
  65. package/src/components/lightbox/ds-mobile-lightbox-pdf.ts +0 -374
  66. package/src/components/lightbox/ds-mobile-lightbox.css +0 -587
  67. package/src/components/lightbox/ds-mobile-lightbox.service.ts +0 -293
  68. package/src/components/lightbox/ds-mobile-lightbox.ts +0 -529
  69. package/src/components/lightbox/index.ts +0 -22
  70. package/src/components/list-item/ds-mobile-list-item.ts +0 -499
  71. package/src/components/list-item/index.ts +0 -2
  72. package/src/components/list-item-static/ds-mobile-list-item-static.ts +0 -133
  73. package/src/components/list-item-static/index.ts +0 -2
  74. package/src/components/logo/ds-logo.ts +0 -85
  75. package/src/components/logo/index.ts +0 -2
  76. package/src/components/modal/ds-mobile-modal.css +0 -163
  77. package/src/components/modal/ds-mobile-modal.service.ts +0 -329
  78. package/src/components/modal/index.ts +0 -8
  79. package/src/components/page-details/ds-mobile-page-details.css +0 -285
  80. package/src/components/page-details/ds-mobile-page-details.ts +0 -128
  81. package/src/components/page-details/index.ts +0 -2
  82. package/src/components/page-main/ds-mobile-page-main.css +0 -346
  83. package/src/components/page-main/ds-mobile-page-main.ts +0 -331
  84. package/src/components/page-main/index.ts +0 -2
  85. package/src/components/post-card/ds-mobile-post-card.ts +0 -685
  86. package/src/components/post-card/ds-mobile-post-pdf-attachment.ts +0 -124
  87. package/src/components/post-card/index.ts +0 -11
  88. package/src/components/post-composer/ds-mobile-post-composer.ts +0 -140
  89. package/src/components/post-composer/index.ts +0 -2
  90. package/src/components/post-detail-modal/ds-mobile-post-detail-modal.service.ts +0 -104
  91. package/src/components/post-detail-modal/ds-mobile-post-detail-modal.ts +0 -1273
  92. package/src/components/post-detail-modal/index.ts +0 -9
  93. package/src/components/shared/directives/index.ts +0 -2
  94. package/src/components/shared/directives/long-press.directive.ts +0 -208
  95. package/src/components/shared/index.ts +0 -3
  96. package/src/components/shared/mobile-common.css +0 -94
  97. package/src/components/shared/mobile-page-base.css +0 -315
  98. package/src/components/shared/mobile-page-base.ts +0 -70
  99. package/src/components/swiper/ds-mobile-swiper.ts +0 -123
  100. package/src/components/swiper/index.ts +0 -2
  101. package/src/components/tab-bar/ds-mobile-tab-bar.ts +0 -132
  102. package/src/components/tab-bar/index.ts +0 -2
  103. package/src/components/tabs/ds-mobile-tabs.css +0 -405
  104. package/src/components/tabs/ds-mobile-tabs.ts +0 -204
  105. package/src/components/tabs/index.ts +0 -2
  106. package/src/pages/community.page.ts +0 -768
  107. package/src/pages/handbook.page.ts +0 -298
  108. package/src/pages/home.page.ts +0 -192
  109. package/src/pages/index.ts +0 -9
  110. package/src/pages/inquiries.example.ts +0 -212
  111. package/src/pages/inquiry-detail.example.css +0 -434
  112. package/src/pages/inquiry-detail.example.ts +0 -416
  113. package/src/pages/mobile-tabs-example.component.ts +0 -146
  114. package/src/pages/post-create.page.ts +0 -311
  115. package/src/pages/post-detail.page.ts +0 -295
  116. package/src/pages/whitelabel-demo.page.ts +0 -548
  117. package/src/public-api.ts +0 -5
  118. package/src/services/user.service.ts +0 -35
  119. package/src/services/whitelabel.service.ts +0 -171
  120. package/src/styles/ionic.css +0 -673
  121. package/tsconfig.lib.json +0 -17
  122. package/tsconfig.lib.prod.json +0 -9
  123. package/tsconfig.spec.json +0 -13
@@ -1,587 +0,0 @@
1
- /**
2
- * Mobile Lightbox Styles
3
- * Full-screen image viewer with native gestures
4
- */
5
-
6
- @import '../shared/mobile-common.css';
7
-
8
- :host {
9
- display: block;
10
- position: fixed;
11
- top: 0;
12
- left: 0;
13
- right: 0;
14
- bottom: 0;
15
- width: 100vw;
16
- height: 100vh;
17
- z-index: 10000;
18
- }
19
-
20
- /* ============================================
21
- FULL-SCREEN OVERLAY (No Ionic Modal)
22
- ============================================ */
23
- .lightbox-overlay {
24
- position: fixed;
25
- top: 0;
26
- left: 0;
27
- right: 0;
28
- bottom: 0;
29
- width: 100vw;
30
- height: 100vh;
31
- background: rgba(0, 0, 0, 0.98);
32
- z-index: 10000;
33
- display: flex;
34
- flex-direction: column;
35
- touch-action: none;
36
- animation: fadeIn 200ms ease-out;
37
- }
38
-
39
- @keyframes fadeIn {
40
- from {
41
- opacity: 0;
42
- }
43
- to {
44
- opacity: 1;
45
- }
46
- }
47
-
48
- .lightbox-overlay.zoomed {
49
- overflow: hidden;
50
- }
51
-
52
- /* ============================================
53
- CONTENT AREA
54
- ============================================ */
55
- .lightbox-content {
56
- display: block;
57
- height: 100vh;
58
- width: 100vw;
59
- position: absolute;
60
- top: 0;
61
- left: 0;
62
- right: 0;
63
- bottom: 0;
64
- }
65
-
66
- .lightbox-content::part(scroll) {
67
- display: flex;
68
- flex-direction: column;
69
- height: 100%;
70
- overflow: hidden;
71
- }
72
-
73
- .lightbox-wrapper {
74
- position: absolute;
75
- top: 0;
76
- left: 0;
77
- right: 0;
78
- bottom: 0;
79
- display: flex;
80
- flex-direction: column;
81
- width: 100%;
82
- height: 100%;
83
- }
84
-
85
- .lightbox-content.zoomed {
86
- overflow: hidden;
87
- }
88
-
89
- /* ============================================
90
- HEADER
91
- ============================================ */
92
- .lightbox-header {
93
- position: fixed;
94
- top: 0;
95
- left: 0;
96
- right: 0;
97
- z-index: 1000;
98
- padding: 0 16px;
99
- background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 80%, transparent 100%);
100
- pointer-events: none;
101
- }
102
-
103
- .header-content {
104
- display: flex;
105
- align-items: center;
106
- justify-content: space-between;
107
- gap: 12px;
108
- pointer-events: auto;
109
- }
110
-
111
- .post-author-info {
112
- display: flex;
113
- align-items: center;
114
- gap: 12px;
115
- flex: 1;
116
- min-width: 0;
117
- }
118
-
119
- .author-details {
120
- display: flex;
121
- flex-direction: column;
122
- min-width: 0;
123
- flex: 1;
124
- }
125
-
126
- /* Author styles inherit from mobile-common.css with lightbox overrides */
127
- .author-name {
128
- color: white;
129
- font-family: 'Brockmann', sans-serif;
130
- font-size: var(--font-size-sm);
131
- font-weight: 600;
132
- line-height: 20px;
133
- letter-spacing: -0.3px;
134
- }
135
-
136
- .author-meta {
137
- color: rgba(255, 255, 255, 0.7);
138
- font-family: 'Brockmann', sans-serif;
139
- font-size: var(--font-size-xs);
140
- font-weight: 400;
141
- line-height: 1.2;
142
- letter-spacing: -0.26px;
143
- display: flex;
144
- align-items: center;
145
- gap: 6px;
146
- }
147
-
148
- .author-meta .separator {
149
- color: rgba(255, 255, 255, 0.5);
150
- }
151
-
152
- .close-button {
153
- pointer-events: auto;
154
- flex-shrink: 0;
155
- border-radius: 50%;
156
- }
157
-
158
- .close-button::ng-deep button {
159
- color: white !important;
160
- background: rgba(255, 255, 255, 0.1) !important;
161
- border-radius: 50%;
162
- transition: background 0.2s ease;
163
- border: none;
164
- width: 36px !important;
165
- height: 36px !important;
166
- min-width: 36px !important;
167
- min-height: 36px !important;
168
- padding: 0 !important;
169
- display: flex !important;
170
- align-items: center !important;
171
- justify-content: center !important;
172
- }
173
-
174
- .close-button::ng-deep button:hover {
175
- background: rgba(255, 255, 255, 0.15) !important;
176
- }
177
-
178
- .close-button::ng-deep button:active {
179
- background: rgba(255, 255, 255, 0.15) !important;
180
- }
181
-
182
- .close-button::ng-deep svg {
183
- color: white !important;
184
- fill: white !important;
185
- }
186
-
187
- /*
188
- * For full-screen lightbox, position the close button in the top-left corner.
189
- * No additional safe area padding needed.
190
- */
191
-
192
- /* ============================================
193
- IMAGE CONTAINER
194
- ============================================ */
195
- /* ============================================
196
- IMAGE CONTAINER WITH SWIPER
197
- ============================================ */
198
- .swiper-container {
199
- position: absolute;
200
- top: 0;
201
- left: 0;
202
- right: 0;
203
- bottom: 0;
204
- width: 100%;
205
- height: 100%;
206
- z-index: 1;
207
- }
208
-
209
- .swiper-wrapper {
210
- width: 100%;
211
- height: 100%;
212
- }
213
-
214
- .swiper-slide {
215
- display: flex;
216
- align-items: center;
217
- justify-content: center;
218
- width: 100%;
219
- height: 100%;
220
- }
221
-
222
- .image-zoom-container {
223
- width: 100%;
224
- height: 100%;
225
- display: flex;
226
- align-items: center;
227
- justify-content: center;
228
- position: relative;
229
- overflow: hidden;
230
- }
231
-
232
- .lightbox-image {
233
- max-width: min(640px, 100%);
234
- max-height: 100%;
235
- width: auto;
236
- height: auto;
237
- -o-object-fit: contain;
238
- object-fit: contain;
239
- -webkit-user-select: none;
240
- -moz-user-select: none;
241
- user-select: none;
242
- -webkit-user-drag: none;
243
- transition: transform 0.3s ease-out;
244
- transform-origin: center center;
245
- }
246
-
247
- /* Disable Swiper touch when zoomed */
248
- .lightbox-overlay.zoomed .swiper-container {
249
- touch-action: none;
250
- }
251
-
252
- /* ============================================
253
- LOADING & ERROR STATES
254
- ============================================ */
255
- .loading-spinner {
256
- position: absolute;
257
- top: 50%;
258
- left: 50%;
259
- transform: translate(-50%, -50%);
260
- z-index: 10;
261
- }
262
-
263
- .loading-spinner ion-spinner {
264
- --color: rgba(255, 255, 255, 0.8);
265
- width: 48px;
266
- height: 48px;
267
- }
268
-
269
- .error-message {
270
- position: absolute;
271
- top: 50%;
272
- left: 50%;
273
- transform: translate(-50%, -50%);
274
- z-index: 10;
275
- text-align: center;
276
- color: rgba(255, 255, 255, 0.8);
277
- font-family: 'Brockmann', sans-serif;
278
- font-size: var(--font-size-base);
279
- font-weight: 500;
280
- padding: 20px;
281
- background: rgba(0, 0, 0, 0.5);
282
- border-radius: 12px;
283
- backdrop-filter: blur(10px);
284
- -webkit-backdrop-filter: blur(10px);
285
- }
286
-
287
- /* ============================================
288
- NAVIGATION CONTROLS
289
- ============================================ */
290
-
291
- /* Bottom section wrapper for controls + footer */
292
- .lightbox-bottom-section {
293
- position: fixed;
294
- bottom: 0;
295
- left: 0;
296
- right: 0;
297
- z-index: 100;
298
- display: flex;
299
- flex-direction: column;
300
- background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.4) 75%, transparent 100%);
301
- pointer-events: none;
302
- }
303
-
304
- .lightbox-controls {
305
- display: flex;
306
- align-items: center;
307
- justify-content: center;
308
- gap: 24px;
309
- padding: 16px 20px 12px 20px;
310
- pointer-events: none;
311
- }
312
-
313
- .nav-button,
314
- .counter {
315
- pointer-events: auto;
316
- }
317
-
318
- .nav-button {
319
- background: rgba(255, 255, 255, 0.1);
320
- border: 1px solid rgba(255, 255, 255, 0.2);
321
- color: white;
322
- width: 44px;
323
- height: 44px;
324
- border-radius: 50%;
325
- display: flex;
326
- align-items: center;
327
- justify-content: center;
328
- cursor: pointer;
329
- backdrop-filter: blur(10px);
330
- -webkit-backdrop-filter: blur(10px);
331
- transition: all 0.2s ease;
332
- padding: 0;
333
- margin: 0;
334
- outline: none;
335
- }
336
-
337
- .nav-button:hover:not(:disabled) {
338
- background: rgba(255, 255, 255, 0.2);
339
- transform: scale(1.05);
340
- }
341
-
342
- .nav-button:active:not(:disabled) {
343
- transform: scale(0.95);
344
- }
345
-
346
- .nav-button:disabled {
347
- opacity: 0.3;
348
- cursor: not-allowed;
349
- }
350
-
351
- .nav-button svg {
352
- width: 24px;
353
- height: 24px;
354
- }
355
-
356
- .counter {
357
- color: white;
358
- font-family: 'Brockmann', sans-serif;
359
- font-size: var(--font-size-sm);
360
- font-weight: 500;
361
- line-height: 1;
362
- padding: 10px 16px;
363
- background: rgba(0, 0, 0, 0.5);
364
- border-radius: 100px;
365
- backdrop-filter: blur(10px);
366
- -webkit-backdrop-filter: blur(10px);
367
- white-space: nowrap;
368
- }
369
-
370
- /* Safe area support for controls */
371
- @supports (padding-bottom: env(safe-area-inset-bottom)) {
372
- .lightbox-bottom-section {
373
- padding-bottom: env(safe-area-inset-bottom);
374
- }
375
- }
376
-
377
- /* ============================================
378
- FOOTER ACTIONS
379
- ============================================ */
380
- .lightbox-footer {
381
- display: flex;
382
- padding: 12px 20px 20px 20px;
383
- pointer-events: none;
384
- }
385
-
386
- .footer-actions {
387
- display: flex;
388
- align-items: center;
389
- justify-content: space-between;
390
- gap: 16px;
391
- pointer-events: auto;
392
- }
393
-
394
- .action-buttons-left {
395
- display: flex;
396
- align-items: center;
397
- gap: 16px;
398
- }
399
-
400
- /* Style the action buttons to match the ghost/transparent look */
401
- .action-button-like::ng-deep button,
402
- .action-button-comment::ng-deep button,
403
- .action-button-with-count::ng-deep button,
404
- .action-button-share::ng-deep button {
405
- background: rgba(255, 255, 255, 0.1) !important;
406
- border: 1px solid rgba(255, 255, 255, 0.2) !important;
407
- color: white !important;
408
- backdrop-filter: blur(10px);
409
- -webkit-backdrop-filter: blur(10px);
410
- transition: all 0.2s ease;
411
- }
412
-
413
- .action-button-like::ng-deep button:hover,
414
- .action-button-comment::ng-deep button:hover,
415
- .action-button-with-count::ng-deep button:hover,
416
- .action-button-share::ng-deep button:hover {
417
- background: rgba(255, 255, 255, 0.2) !important;
418
- transform: scale(1.02);
419
- }
420
-
421
- .action-button-like::ng-deep button:active,
422
- .action-button-comment::ng-deep button:active,
423
- .action-button-with-count::ng-deep button:active,
424
- .action-button-share::ng-deep button:active {
425
- transform: scale(0.98);
426
- }
427
-
428
- /* Icon and label colors */
429
- .action-button-like::ng-deep button svg,
430
- .action-button-comment::ng-deep button svg,
431
- .action-button-with-count::ng-deep button svg,
432
- .action-button-share::ng-deep button svg,
433
- .action-button-like::ng-deep button .btn__icon,
434
- .action-button-comment::ng-deep button .btn__icon,
435
- .action-button-with-count::ng-deep button .btn__icon,
436
- .action-button-share::ng-deep button .btn__icon,
437
- .action-button-like::ng-deep button .btn__content,
438
- .action-button-comment::ng-deep button .btn__content,
439
- .action-button-with-count::ng-deep button .btn__content {
440
- color: white !important;
441
- fill: white !important;
442
- }
443
-
444
- /* Make sure icons are visible */
445
- .action-button-like::ng-deep button .btn__icon svg,
446
- .action-button-comment::ng-deep button .btn__icon svg,
447
- .action-button-with-count::ng-deep button .btn__icon svg,
448
- .action-button-share::ng-deep button .btn__icon svg {
449
- color: white !important;
450
- fill: white !important;
451
- display: block !important;
452
- opacity: 1 !important;
453
- visibility: visible !important;
454
- width: 20px !important;
455
- height: 20px !important;
456
- }
457
-
458
- /* Ensure icon wrapper is visible */
459
- .action-button-like::ng-deep button .btn__icon,
460
- .action-button-comment::ng-deep button .btn__icon,
461
- .action-button-with-count::ng-deep button .btn__icon,
462
- .action-button-share::ng-deep button .btn__icon {
463
- display: flex !important;
464
- align-items: center !important;
465
- justify-content: center !important;
466
- flex-shrink: 0 !important;
467
- }
468
-
469
- /* Like button active state (pink heart) */
470
- .action-button-like[data-liked="true"]::ng-deep button svg {
471
- fill: #f91880 !important;
472
- color: #f91880 !important;
473
- }
474
-
475
- .action-button-like[data-liked="true"]::ng-deep button {
476
- border-color: rgba(249, 24, 128, 0.3) !important;
477
- }
478
-
479
- /* All action buttons should have same circular styling */
480
- .action-button-like,
481
- .action-button-comment,
482
- .action-button-share {
483
- flex-shrink: 0;
484
- border-radius: 50%;
485
- }
486
-
487
- .action-button-like::ng-deep button,
488
- .action-button-comment::ng-deep button,
489
- .action-button-share::ng-deep button {
490
- border-radius: 50% !important;
491
- width: 44px !important;
492
- height: 44px !important;
493
- min-width: 44px !important;
494
- min-height: 44px !important;
495
- padding: 0 !important;
496
- display: flex !important;
497
- align-items: center !important;
498
- justify-content: center !important;
499
- }
500
-
501
- /* Safe area support - handled by footer component */
502
-
503
- /* ============================================
504
- DESKTOP STYLES
505
- ============================================ */
506
- @media (min-width: 768px) {
507
- .lightbox-header {
508
- padding: 24px;
509
- }
510
-
511
- .close-button {
512
- width: 48px;
513
- height: 48px;
514
- }
515
-
516
- .lightbox-controls {
517
- padding: 20px 24px 16px 24px;
518
- }
519
-
520
- .nav-button {
521
- width: 48px;
522
- height: 48px;
523
- }
524
-
525
- .counter {
526
- font-size: var(--font-size-base);
527
- padding: 12px 20px;
528
- }
529
-
530
- .lightbox-footer {
531
- padding: 16px 24px 24px 24px;
532
- }
533
-
534
- .action-button-like::ng-deep button,
535
- .action-button-comment::ng-deep button {
536
- height: 48px;
537
- padding: 0 20px;
538
- }
539
-
540
- .action-button-share::ng-deep button {
541
- width: 48px !important;
542
- height: 48px !important;
543
- min-width: 48px !important;
544
- min-height: 48px !important;
545
- }
546
- }
547
-
548
- /* ============================================
549
- ANIMATIONS
550
- ============================================ */
551
- @keyframes fadeIn {
552
- from {
553
- opacity: 0;
554
- }
555
- to {
556
- opacity: 1;
557
- }
558
- }
559
-
560
- @keyframes zoomIn {
561
- from {
562
- opacity: 0;
563
- transform: scale(0.8);
564
- }
565
- to {
566
- opacity: 1;
567
- transform: scale(1);
568
- }
569
- }
570
-
571
- /* ============================================
572
- ACCESSIBILITY
573
- ============================================ */
574
- @media (prefers-reduced-motion: reduce) {
575
- .image-wrapper,
576
- .nav-button,
577
- .lightbox-caption {
578
- transition: none;
579
- }
580
- }
581
-
582
- /* Focus visible for keyboard navigation */
583
- .nav-button:focus-visible {
584
- outline: 2px solid white;
585
- outline-offset: 2px;
586
- }
587
-