@rtsee/ngx 0.0.99 → 0.0.101

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.
@@ -130,10 +130,11 @@ declare class MessengerComponent {
130
130
 
131
131
  declare class PaymentProductSnippetComponent {
132
132
  product: IRTSeePaymentProduct;
133
+ theme: 'dark' | 'light';
133
134
  priceSelected: EventEmitter<IRTSeePaymentPriceItem>;
134
135
  selectPrice(price: IRTSeePaymentPriceItem): void;
135
136
  static ɵfac: i0.ɵɵFactoryDeclaration<PaymentProductSnippetComponent, never>;
136
- static ɵcmp: i0.ɵɵComponentDeclaration<PaymentProductSnippetComponent, "rtsee-payment-product-snippet", never, { "product": { "alias": "product"; "required": false; }; }, { "priceSelected": "priceSelected"; }, never, never, true, never>;
137
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaymentProductSnippetComponent, "rtsee-payment-product-snippet", never, { "product": { "alias": "product"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "priceSelected": "priceSelected"; }, never, never, true, never>;
137
138
  }
138
139
 
139
140
  declare class RtseeEventsDashboardComponent {
@@ -743,12 +744,13 @@ declare class SearchComponent implements OnInit, OnDestroy {
743
744
  declare class StoryPlayerComponent implements OnInit, AfterViewInit {
744
745
  story: RTSeeStory;
745
746
  settings: RTSeePresentationSettings;
747
+ presentation: RTSeePresentation;
746
748
  swiperEl: ElementRef<HTMLElement>;
747
749
  constructor();
748
750
  ngOnInit(): void;
749
751
  ngAfterViewInit(): void;
750
752
  static ɵfac: i0.ɵɵFactoryDeclaration<StoryPlayerComponent, never>;
751
- static ɵcmp: i0.ɵɵComponentDeclaration<StoryPlayerComponent, "rtsee-story-player", never, { "story": { "alias": "story"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, true, never>;
753
+ static ɵcmp: i0.ɵɵComponentDeclaration<StoryPlayerComponent, "rtsee-story-player", never, { "story": { "alias": "story"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; "presentation": { "alias": "presentation"; "required": false; }; }, {}, never, never, true, never>;
752
754
  }
753
755
 
754
756
  declare class SlideComponent implements AfterViewInit {
@@ -756,6 +758,7 @@ declare class SlideComponent implements AfterViewInit {
756
758
  hideRewindControls: boolean;
757
759
  lastScrollPosition: number;
758
760
  scrollingDown: boolean;
761
+ presentation: RTSeePresentation;
759
762
  story: RTSeeStory;
760
763
  slide: RTSeeStorySlide;
761
764
  settings: RTSeePresentationSettings;
@@ -764,8 +767,9 @@ declare class SlideComponent implements AfterViewInit {
764
767
  ngAfterViewInit(): void;
765
768
  onScroll(target: EventTarget | null): void;
766
769
  private handleScroll;
770
+ protected readonly RTSeeTextLabelKeys: typeof RTSeeTextLabelKeys;
767
771
  static ɵfac: i0.ɵɵFactoryDeclaration<SlideComponent, never>;
768
- static ɵcmp: i0.ɵɵComponentDeclaration<SlideComponent, "rtsee-slide", never, { "story": { "alias": "story"; "required": false; }; "slide": { "alias": "slide"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, true, never>;
772
+ static ɵcmp: i0.ɵɵComponentDeclaration<SlideComponent, "rtsee-slide", never, { "presentation": { "alias": "presentation"; "required": false; }; "story": { "alias": "story"; "required": false; }; "slide": { "alias": "slide"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, {}, never, never, true, never>;
769
773
  }
770
774
 
771
775
  declare class StoryThumbnailComponent implements OnInit {
@@ -774,6 +778,7 @@ declare class StoryThumbnailComponent implements OnInit {
774
778
  story: RTSeeStory;
775
779
  presentation: RTSeePresentation;
776
780
  ngOnInit(): void;
781
+ protected readonly RTSeeTextLabelKeys: typeof RTSeeTextLabelKeys;
777
782
  static ɵfac: i0.ɵɵFactoryDeclaration<StoryThumbnailComponent, never>;
778
783
  static ɵcmp: i0.ɵɵComponentDeclaration<StoryThumbnailComponent, "rtsee-story-thumbnail", never, { "story": { "alias": "story"; "required": false; }; "presentation": { "alias": "presentation"; "required": false; }; }, {}, never, never, true, never>;
779
784
  }
@@ -117,6 +117,9 @@ $ai-background-gradient: linear-gradient(135deg, #1b0533 0%, #0e0e10 60%, #0a162
117
117
  $ai-text-color-primary: #e5e5e7;
118
118
  $ai-text-color-secondary: #8e8e93;
119
119
 
120
+ // story player
121
+ $rts-story-player-background: #f0f0f4;
122
+
120
123
  $ai-large-screen-side-padding: $rts-offset-md * 3;
121
124
  $ai-panel-background-color: #1a1a1e;
122
125
  $ai-default-border-radius: 12px;
@@ -159,7 +159,7 @@
159
159
  }
160
160
 
161
161
  @media screen and (min-width: $rts-break-md) {
162
- $rts-divider-style: 2px solid rgba(0, 0, 0, 0.2);
162
+ $rts-divider-style: 2px solid rgba(0, 0, 0, 0.9);
163
163
 
164
164
  .rtsee-nav-block {
165
165
  position: fixed;
@@ -24,6 +24,8 @@
24
24
  &.rtsee-messenger-header-expanded {
25
25
  padding: 0;
26
26
  height: auto;
27
+ background-color: $ai-background-color;
28
+ margin-bottom: $rts-bottom-nav-height + $rts-offset-md;
27
29
 
28
30
  .rtsee-messenger-header-center {
29
31
  .rtsee-messenger-header-opened-chat-info {
@@ -42,6 +44,8 @@
42
44
  }
43
45
 
44
46
  &.rtsee-messenger-header-my-profile-mode {
47
+ background-color: $ai-background-color;
48
+ border-bottom-color: rgba(255, 255, 255, 0.05);
45
49
 
46
50
  .rtsee-messenger-header-center {
47
51
  .rtsee-messenger-header-opened-chat-info {
@@ -134,7 +138,7 @@
134
138
 
135
139
  .rtsee-messenger-header-collapse-button {
136
140
  display: none;
137
- position: absolute;
141
+ position: fixed;
138
142
  left: $rts-offset-sm;
139
143
  top: $rts-offset-sm;
140
144
  color: #fff;
@@ -225,4 +229,10 @@
225
229
  position: relative;
226
230
  transition: opacity 0.2s;
227
231
  }
232
+
233
+ @media screen and (min-width: $rts-break-md) {
234
+ .rtsee-messenger-header-collapse-button {
235
+ position: absolute;
236
+ }
237
+ }
228
238
  }
@@ -1,4 +1,5 @@
1
1
  @import "./variables";
2
+ @import "../common-variables";
2
3
 
3
4
  $control-icon-size: 18px;
4
5
 
@@ -40,6 +41,7 @@ $control-icon-size: 18px;
40
41
 
41
42
  &.rtsee-messenger-header-expanded {
42
43
  padding-top: 0;
44
+ background-color: $ai-background-color;
43
45
 
44
46
  .rtsee-messenger-header-container {
45
47
  position: static;
@@ -53,6 +55,7 @@ $control-icon-size: 18px;
53
55
  }
54
56
 
55
57
  .rtsee-messenger-header-container {
58
+ background-color: $ai-background-color;
56
59
  position: absolute;
57
60
  top: 0;
58
61
  left: 0;
@@ -1,36 +1,157 @@
1
1
  @import "./variables";
2
+ @import "../common-variables";
3
+
4
+ /* ═══════════════════════════════════════════════════════════════
5
+ PAYMENT PRODUCT SNIPPET — Glass Card Design
6
+ Uses CSS custom properties set by parent .rtsee-payment-page
7
+ ═══════════════════════════════════════════════════════════════ */
2
8
 
3
9
  .rtsee-payment-product-snippet {
4
- .rtsee-payment-product-snippet-info {
5
- .rtsee-payment-product-snippet-description {
6
- margin: 0;
10
+
11
+ /* ── PRODUCT CARD ─────────────────────────────────────────── */
12
+
13
+ .rtsee-payment-product-card {
14
+ background: linear-gradient(
15
+ 135deg,
16
+ var(--pay-card-bg-start) 0%,
17
+ var(--pay-card-bg-end) 100%
18
+ );
19
+ border: 1px solid var(--pay-border-dim);
20
+ border-radius: 16px;
21
+ backdrop-filter: blur(12px);
22
+ padding: $rts-offset-md + $rts-offset-sm;
23
+ transition:
24
+ transform 0.3s ease,
25
+ border-color 0.3s ease,
26
+ box-shadow 0.3s ease;
27
+
28
+ &:hover {
29
+ border-color: rgba($rts-rates-accent-purple, 0.2);
30
+ box-shadow: 0 6px 24px var(--pay-shadow-accent);
7
31
  }
8
32
  }
9
33
 
34
+ /* ── PRODUCT INFO ─────────────────────────────────────────── */
35
+
36
+ .rtsee-payment-product-header {
37
+ font-size: 1.3rem;
38
+ font-weight: 700;
39
+ color: var(--pay-text-primary);
40
+ margin: 0 0 $rts-offset-sm;
41
+ letter-spacing: -0.01em;
42
+ }
43
+
44
+ .rtsee-payment-product-description {
45
+ font-size: 0.9rem;
46
+ line-height: 1.6;
47
+ color: var(--pay-text-secondary);
48
+ margin: 0 0 $rts-offset-md;
49
+ }
50
+
51
+ /* ── PRICES GRID ──────────────────────────────────────────── */
52
+
10
53
  .rtsee-payment-product-prices {
11
- padding-top: $rts-offset-md;
54
+ display: grid;
55
+ grid-template-columns: repeat(2, 1fr);
56
+ gap: $rts-offset-sm;
57
+ }
12
58
 
13
- &:after {
14
- content: '';
15
- display: block;
16
- clear: both;
59
+ /* ── PRICE CARD ───────────────────────────────────────────── */
60
+
61
+ .rtsee-payment-price-card {
62
+ background: linear-gradient(
63
+ 145deg,
64
+ var(--pay-card-bg-start) 0%,
65
+ var(--pay-card-bg-end) 100%
66
+ );
67
+ border: 1px solid var(--pay-border-med);
68
+ border-radius: 12px;
69
+ padding: $rts-offset-sm + $rts-offset-xsm;
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: $rts-offset-sm;
73
+ transition:
74
+ transform 0.25s ease,
75
+ border-color 0.25s ease,
76
+ box-shadow 0.25s ease;
77
+
78
+ &:hover {
79
+ transform: translateY(-2px);
80
+ border-color: rgba($rts-rates-accent-purple, 0.35);
81
+ box-shadow: 0 4px 16px var(--pay-shadow-accent);
17
82
  }
18
83
 
19
- .rtsee-payment-product-price {
20
- float: left;
21
- width: 50%;
84
+ .rtsee-payment-price-label {
85
+ font-size: 0.95rem;
86
+ font-weight: 600;
87
+ color: var(--pay-text-primary);
88
+ margin: 0;
89
+ }
90
+
91
+ .rtsee-payment-price-description {
92
+ font-size: 0.8rem;
93
+ line-height: 1.5;
94
+ color: var(--pay-text-muted);
95
+ margin: 0;
96
+ flex: 1;
97
+ }
98
+ }
99
+
100
+ /* ── SELECT PLAN BUTTON ───────────────────────────────────── */
22
101
 
23
- &:nth-child(odd) {
24
- padding-right: $rts-offset-sm / 2;
25
- }
102
+ .rtsee-payment-select-plan-btn {
103
+ width: 100%;
104
+ padding: 10px 16px;
105
+ border: none;
106
+ border-radius: 10px;
107
+ font-family: "Work Sans", "Inter", sans-serif;
108
+ font-size: 0.82rem;
109
+ font-weight: 700;
110
+ letter-spacing: 0.02em;
111
+ cursor: pointer;
112
+ color: #fff;
113
+ background: linear-gradient(
114
+ 135deg,
115
+ $rts-rates-accent-purple 0%,
116
+ $rts-rates-accent-purple-light 100%
117
+ );
118
+ box-shadow: 0 3px 14px var(--pay-shadow-accent);
119
+ transition:
120
+ transform 0.25s ease,
121
+ box-shadow 0.25s ease;
122
+ position: relative;
123
+ overflow: hidden;
26
124
 
27
- &:nth-child(even) {
28
- padding-left: $rts-offset-sm / 2;
29
- }
125
+ &::before {
126
+ content: '';
127
+ position: absolute;
128
+ inset: 0;
129
+ background: linear-gradient(
130
+ 105deg,
131
+ transparent 40%,
132
+ rgba(255, 255, 255, 0.15) 50%,
133
+ transparent 60%
134
+ );
135
+ animation: rtseePayBtnShimmer 3s ease-in-out infinite;
136
+ }
137
+
138
+ &:hover {
139
+ transform: translateY(-2px);
140
+ box-shadow: 0 6px 20px var(--pay-shadow-hover);
141
+ }
142
+
143
+ &:active {
144
+ transform: translateY(0);
145
+ box-shadow: 0 3px 12px var(--pay-shadow-accent);
30
146
  }
31
147
  }
32
148
 
33
- .p-card-body {
34
- padding: 0 $rts-offset-sm $rts-offset-sm $rts-offset-sm;
149
+ @keyframes rtseePayBtnShimmer {
150
+ 0% {
151
+ transform: translateX(-100%);
152
+ }
153
+ 100% {
154
+ transform: translateX(100%);
155
+ }
35
156
  }
36
157
  }
@@ -1,32 +1,152 @@
1
1
  @import "./variables";
2
+ @import "../common-variables";
3
+
4
+ /* ═══════════════════════════════════════════════════════════════
5
+ PAYMENT PAGE — Dual-Theme Design System
6
+ ═══════════════════════════════════════════════════════════════ */
2
7
 
3
8
  .rtsee-payment-page {
9
+ padding: $rts-offset-md;
10
+ font-family: "Work Sans", "Inter", sans-serif;
11
+ min-height: 100%;
12
+
13
+ /* ── THEME: DARK ──────────────────────────────────────────── */
14
+
15
+ &.rtsee-payment-theme-dark {
16
+ --pay-bg: #{$rts-rates-bg-main};
17
+ --pay-text-primary: #{$rts-rates-text-primary};
18
+ --pay-text-secondary: #{$rts-rates-text-secondary};
19
+ --pay-text-muted: #{$rts-rates-text-muted};
20
+ --pay-card-bg-start: #{$rts-rates-bg-card-start};
21
+ --pay-card-bg-end: #{$rts-rates-bg-card-end};
22
+ --pay-border-dim: #{$rts-rates-border-dim};
23
+ --pay-border-med: #{$rts-rates-border-med};
24
+ --pay-border-bright: #{$rts-rates-border-bright};
25
+ --pay-accent: #{$rts-rates-accent-purple};
26
+ --pay-accent-light: #{$rts-rates-accent-purple-light};
27
+ --pay-hover-bg: rgba(255, 255, 255, 0.05);
28
+ --pay-shadow-accent: #{rgba($rts-rates-accent-purple, 0.3)};
29
+ --pay-shadow-hover: #{rgba($rts-rates-accent-purple, 0.45)};
30
+ --pay-cancel-bg: #{$rts-rates-danger-bg};
31
+ --pay-cancel-border: #{$rts-rates-danger-border};
32
+ --pay-cancel-color: #{$rts-rates-danger};
33
+ --pay-cancel-hover-bg: #{$rts-rates-danger-hover-bg};
34
+ --pay-cancel-hover-border: #{$rts-rates-danger-hover-border};
35
+ --pay-spinner-track: rgba(255, 255, 255, 0.08);
36
+
37
+ background-color: var(--pay-bg);
38
+ color: var(--pay-text-primary);
39
+ }
40
+
41
+ /* ── THEME: LIGHT ─────────────────────────────────────────── */
42
+
43
+ &.rtsee-payment-theme-light {
44
+ --pay-bg: #f8f9fa;
45
+ --pay-text-primary: #1a1a2e;
46
+ --pay-text-secondary: #555570;
47
+ --pay-text-muted: #8888a0;
48
+ --pay-card-bg-start: rgba(255, 255, 255, 0.95);
49
+ --pay-card-bg-end: rgba(248, 248, 255, 0.98);
50
+ --pay-border-dim: rgba(0, 0, 0, 0.06);
51
+ --pay-border-med: rgba(0, 0, 0, 0.1);
52
+ --pay-border-bright: rgba(0, 0, 0, 0.15);
53
+ --pay-accent: #{$rts-rates-accent-purple};
54
+ --pay-accent-light: #{$rts-rates-accent-purple-light};
55
+ --pay-hover-bg: rgba(0, 0, 0, 0.03);
56
+ --pay-shadow-accent: #{rgba($rts-rates-accent-purple, 0.2)};
57
+ --pay-shadow-hover: #{rgba($rts-rates-accent-purple, 0.3)};
58
+ --pay-cancel-bg: rgba(0, 0, 0, 0.04);
59
+ --pay-cancel-border: rgba(0, 0, 0, 0.12);
60
+ --pay-cancel-color: #666;
61
+ --pay-cancel-hover-bg: rgba(0, 0, 0, 0.08);
62
+ --pay-cancel-hover-border: rgba(0, 0, 0, 0.2);
63
+ --pay-spinner-track: rgba(0, 0, 0, 0.06);
64
+
65
+ background-color: var(--pay-bg);
66
+ color: var(--pay-text-primary);
67
+ }
68
+
69
+ /* ── PRODUCTS GRID ────────────────────────────────────────── */
70
+
4
71
  .rtsee-payment-page-products {
5
- &:after {
6
- content: '';
7
- display: block;
8
- clear: both;
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: $rts-offset-md;
75
+ animation: rtseePayFadeUp 0.6s ease-out both;
76
+ }
77
+
78
+ @keyframes rtseePayFadeUp {
79
+ from {
80
+ opacity: 0;
81
+ transform: translateY(20px);
82
+ }
83
+ to {
84
+ opacity: 1;
85
+ transform: translateY(0);
9
86
  }
87
+ }
10
88
 
11
- .rtsee-payment-page-product {
12
- float: left;
13
- width: 50%;
89
+ /* ── CUSTOM SPINNER ───────────────────────────────────────── */
14
90
 
15
- .p-card-body {
16
- padding: $rts-offset-sm;
17
- }
91
+ .rtsee-payment-spinner {
92
+ display: flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ padding: $rts-offset-xl 0;
18
96
 
19
- &:nth-child(odd) {
20
- padding-right: $rts-offset-sm / 2;
21
- }
97
+ .rtsee-payment-spinner-ring {
98
+ width: 40px;
99
+ height: 40px;
100
+ border-radius: 50%;
101
+ border: 3px solid var(--pay-spinner-track);
102
+ border-top-color: var(--pay-accent);
103
+ animation: rtseePaySpin 0.8s linear infinite;
104
+ }
105
+ }
22
106
 
23
- &:nth-child(even) {
24
- padding-left: $rts-offset-sm / 2;
25
- }
107
+ @keyframes rtseePaySpin {
108
+ to {
109
+ transform: rotate(360deg);
26
110
  }
27
111
  }
28
112
 
113
+ /* ── STRIPE CHECKOUT CONTAINER ────────────────────────────── */
114
+
115
+ .stripe-checkout-container {
116
+ border-radius: 12px;
117
+ overflow: hidden;
118
+ }
119
+
120
+ /* ── FOOTER ───────────────────────────────────────────────── */
121
+
29
122
  .rtsee-payment-page-footer {
30
- padding: $rts-offset-sm 0;
123
+ padding: $rts-offset-md 0 $rts-offset-sm;
124
+
125
+ .rtsee-payment-cancel-btn {
126
+ width: 100%;
127
+ padding: 10px 20px;
128
+ border-radius: 10px;
129
+ font-family: inherit;
130
+ font-size: 0.88rem;
131
+ font-weight: 600;
132
+ cursor: pointer;
133
+ background: var(--pay-cancel-bg);
134
+ border: 1px solid var(--pay-cancel-border);
135
+ color: var(--pay-cancel-color);
136
+ transition:
137
+ background 0.2s ease,
138
+ border-color 0.2s ease,
139
+ transform 0.2s ease;
140
+
141
+ &:hover {
142
+ background: var(--pay-cancel-hover-bg);
143
+ border-color: var(--pay-cancel-hover-border);
144
+ transform: translateY(-1px);
145
+ }
146
+
147
+ &:active {
148
+ transform: translateY(0);
149
+ }
150
+ }
31
151
  }
32
152
  }