@rtsee/ngx 0.0.115 → 0.0.116

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.
@@ -12,7 +12,7 @@ import { IRTSeePaymentProduct, IRTSeePaymentPriceItem, IRTSeeStorySlide, IRTSeeS
12
12
  import { RTSeeEventsDashboard, RTSeeDashboardClientSession, RTSeeDashboardEvent, RTSeeDashboardClient } from '@rtsee/events-dashboard';
13
13
  import { RTSee, INavigationConfig, IRouteConfig } from '@rtsee/factory';
14
14
  import { RTSeePresentation, RTSeeStory, RTSeeInteractiveStoryEditorVm, RTSeeStoryEditorSection, RTSeeIllustrator, RTSeeStoryElementsEditor, RTSeeStoryElementEntity, IRTSeeIllustratorAgentOption, RTSeePresentationSettings, RTSeeStorySlide } from '@rtsee/presentation';
15
- import { RTSeeTag, RTSeeManageTags, RTSeeTagGroup, RTSeeManageTagGroups, RTSeeEntityConfiguration, RTSeeManageEntityConfigurations, RTSeeEntity, RTSeeManageEntities, RTSeeRater, RTSeeForm } from '@rtsee/utilities-ui';
15
+ import { RTSeeTag, RTSeeManageTags, RTSeeTagGroup, RTSeeManageTagGroups, RTSeeEntityConfiguration, RTSeeManageEntityConfigurations, RTSeeEntity, RTSeeManageEntities, RTSeeRater, RTSeeForm, RTSeeTranslationsPanel, IRTSeeTranslationLanguageOption, IRTSeeTranslationFieldDefinition } from '@rtsee/utilities-ui';
16
16
  import * as i44 from '@angular/forms';
17
17
  import { FormGroup, FormBuilder, FormControl, FormArray } from '@angular/forms';
18
18
  import * as i43 from '@angular/common';
@@ -1001,6 +1001,16 @@ declare class RTSeeModule {
1001
1001
  static ɵinj: i0.ɵɵInjectorDeclaration<RTSeeModule>;
1002
1002
  }
1003
1003
 
1004
+ declare class TranslationsPanelComponent {
1005
+ panel: RTSeeTranslationsPanel;
1006
+ toggle(): void;
1007
+ selectLanguage(language: IRTSeeTranslationLanguageOption): void;
1008
+ onInput(field: IRTSeeTranslationFieldDefinition, event: Event): void;
1009
+ save(): void;
1010
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslationsPanelComponent, never>;
1011
+ static ɵcmp: i0.ɵɵComponentDeclaration<TranslationsPanelComponent, "rtsee-translations-panel", never, { "panel": { "alias": "panel"; "required": false; }; }, {}, never, never, true, never>;
1012
+ }
1013
+
1004
1014
  declare class GtagService {
1005
1015
  private window;
1006
1016
  constructor(document: Document);
@@ -1101,5 +1111,5 @@ declare class SlideNumberChangedWidgetComponent extends BaseEventWidgetComponent
1101
1111
  static ɵcmp: i0.ɵɵComponentDeclaration<SlideNumberChangedWidgetComponent, "rtsee-slide-number-changed-widget", never, {}, {}, never, never, true, never>;
1102
1112
  }
1103
1113
 
1104
- export { BaseEventWidgetComponent, EntitiesConfigurationsListComponent, EntitiesListComponent, EventsWidgetsService, FormComponent, GtagService, IllustratorComponent, InteractiveStoryEditorComponent, ManageEntityComponent, ManageEntityConfigurationComponent, MessengerComponent, NgxService, PaymentProductSnippetComponent, PresentationComponent, ProfileComponent, RTSeeAuthComponent, RTSeeConferenceComponent, RTSeeContainerComponent, RTSeeControlsComponent, RTSeeModule, RTSeeTaskComponent, RtseeEntityCommentsComponent, RtseeEntityPreviewComponent, RtseeEntityTagsComponent, RtseeEventsDashboardComponent, RtseePeerComponent, RtseeSettingsComponent, RtseeTagGroupManageComponent, RtseeTagGroupsManageComponent, RtseeTagManageComponent, RtseeTagsAccordionMenuComponent, SlideNumberChangedWidgetComponent, StoryDetailsOpenedWidgetComponent, StoryElementsSectionComponent, StoryReadingStartedWidgetComponent };
1114
+ export { BaseEventWidgetComponent, EntitiesConfigurationsListComponent, EntitiesListComponent, EventsWidgetsService, FormComponent, GtagService, IllustratorComponent, InteractiveStoryEditorComponent, ManageEntityComponent, ManageEntityConfigurationComponent, MessengerComponent, NgxService, PaymentProductSnippetComponent, PresentationComponent, ProfileComponent, RTSeeAuthComponent, RTSeeConferenceComponent, RTSeeContainerComponent, RTSeeControlsComponent, RTSeeModule, RTSeeTaskComponent, RtseeEntityCommentsComponent, RtseeEntityPreviewComponent, RtseeEntityTagsComponent, RtseeEventsDashboardComponent, RtseePeerComponent, RtseeSettingsComponent, RtseeTagGroupManageComponent, RtseeTagGroupsManageComponent, RtseeTagManageComponent, RtseeTagsAccordionMenuComponent, SlideNumberChangedWidgetComponent, StoryDetailsOpenedWidgetComponent, StoryElementsSectionComponent, StoryReadingStartedWidgetComponent, TranslationsPanelComponent };
1105
1115
  export type { IAccordionItem, RTSeeTagForm, RTSeeTagGroupForm };
@@ -158,7 +158,7 @@
158
158
 
159
159
  .rtsee-events-dashboard-container {
160
160
  display: none;
161
- padding-bottom: $rts-bottom-nav-height + $rts-offset-md;
161
+ padding-bottom: $rts-bottom-nav-height;
162
162
  }
163
163
 
164
164
  .rtsee-presentation-container {
@@ -169,6 +169,10 @@
169
169
  @media screen and (min-width: $rts-break-md) {
170
170
  $rts-divider-style: 2px solid rgba(0, 0, 0, 0.9);
171
171
 
172
+ .rtsee-events-dashboard-container {
173
+ padding-bottom: 0;
174
+ }
175
+
172
176
  .rtsee-nav-block {
173
177
  position: fixed;
174
178
  height: 100%;
@@ -1 +1,2 @@
1
1
  @import "./common.scss";
2
+ @import "./translations-panel.scss";
@@ -0,0 +1,209 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // Translations panel (rendered by rtsee-form for translatable forms)
3
+ // ═══════════════════════════════════════════════════════════════════
4
+ @import "../rts-common/variables-spacing";
5
+ @import "../rts-common/variables-typography";
6
+ @import "../rts-common/variables-layout";
7
+ @import "../rts-common/variables-effects";
8
+
9
+ .rtsee-translations-panel {
10
+ margin-top: $rtsu-space-md;
11
+ border: 1px solid var(--rts-border-med);
12
+ border-radius: $rtsu-radius-md;
13
+ background: linear-gradient(145deg, var(--rts-card-bg-start, var(--rts-bg-surface)), var(--rts-card-bg-end, var(--rts-bg-surface-elevated)));
14
+ overflow: hidden;
15
+ transition: border-color $rtsu-transition-base, box-shadow $rtsu-transition-base;
16
+
17
+ &--expanded {
18
+ border-color: var(--rts-accent);
19
+ box-shadow: $rtsu-shadow-accent-sm;
20
+ }
21
+
22
+ &__header {
23
+ display: flex;
24
+ align-items: center;
25
+ gap: $rtsu-space-sm;
26
+ width: 100%;
27
+ padding: $rtsu-space-sm + $rtsu-space-xs $rtsu-space-md;
28
+ background: transparent;
29
+ border: 0;
30
+ color: var(--rts-text-primary);
31
+ font-family: $rtsu-font-family;
32
+ font-size: $rtsu-font-size-base;
33
+ font-weight: $rtsu-font-weight-semibold;
34
+ cursor: pointer;
35
+ text-align: left;
36
+
37
+ &:hover {
38
+ background: var(--rts-bg-surface-hover);
39
+ }
40
+ }
41
+
42
+ &__icon {
43
+ color: var(--rts-accent);
44
+ }
45
+
46
+ &__title {
47
+ flex: 1;
48
+ }
49
+
50
+ &__badge {
51
+ min-width: 22px;
52
+ padding: 0 $rtsu-space-xs + $rtsu-space-2xs;
53
+ border-radius: 11px;
54
+ background: var(--rts-accent-highlight-dim);
55
+ color: var(--rts-accent-light);
56
+ font-size: $rtsu-font-size-xs;
57
+ line-height: 20px;
58
+ text-align: center;
59
+ }
60
+
61
+ &__chevron {
62
+ color: var(--rts-text-muted);
63
+ transition: transform $rtsu-transition-base;
64
+ }
65
+
66
+ &--expanded &__chevron {
67
+ transform: rotate(180deg);
68
+ }
69
+
70
+ &__body {
71
+ display: flex;
72
+ flex-direction: column;
73
+ gap: $rtsu-space-md;
74
+ padding: 0 $rtsu-space-md $rtsu-space-md;
75
+ animation: rtsee-translations-fade-in $rtsu-transition-base;
76
+ }
77
+
78
+ &__languages {
79
+ display: flex;
80
+ flex-wrap: wrap;
81
+ gap: $rtsu-space-sm;
82
+ }
83
+
84
+ &__language {
85
+ display: inline-flex;
86
+ align-items: center;
87
+ gap: $rtsu-space-xs + $rtsu-space-2xs;
88
+ padding: $rtsu-space-xs + $rtsu-space-2xs $rtsu-space-sm + $rtsu-space-xs;
89
+ border: 1px solid var(--rts-border-med);
90
+ border-radius: 999px;
91
+ background: var(--rts-bg-surface);
92
+ color: var(--rts-text-secondary);
93
+ font-family: $rtsu-font-family;
94
+ font-size: $rtsu-font-size-sm;
95
+ cursor: pointer;
96
+ transition: all $rtsu-transition-fast;
97
+
98
+ &:hover:not(:disabled) {
99
+ border-color: var(--rts-border-bright);
100
+ color: var(--rts-text-primary);
101
+ transform: translateY(-1px);
102
+ }
103
+
104
+ &--translated {
105
+ border-color: var(--rts-success);
106
+ color: var(--rts-text-primary);
107
+
108
+ .rtsee-translations-panel__language-dot {
109
+ background: var(--rts-success);
110
+ box-shadow: 0 0 6px var(--rts-success);
111
+ }
112
+ }
113
+
114
+ &--selected {
115
+ border-color: var(--rts-accent);
116
+ background: var(--rts-accent-highlight-dim);
117
+ color: var(--rts-text-primary);
118
+ box-shadow: $rtsu-shadow-accent-sm;
119
+ }
120
+
121
+ &--original {
122
+ opacity: 0.6;
123
+ cursor: default;
124
+ }
125
+ }
126
+
127
+ &__language-dot {
128
+ width: 8px;
129
+ height: 8px;
130
+ border-radius: 50%;
131
+ background: var(--rts-border-bright);
132
+ }
133
+
134
+ &__language-key {
135
+ color: var(--rts-text-muted);
136
+ font-size: $rtsu-font-size-2xs;
137
+ text-transform: uppercase;
138
+ letter-spacing: 0.04em;
139
+ }
140
+
141
+ &__language-tag {
142
+ font-size: $rtsu-font-size-2xs;
143
+ color: var(--rts-success);
144
+ }
145
+
146
+ &--expanded &__language--original &__language-tag {
147
+ color: var(--rts-text-muted);
148
+ }
149
+
150
+ &__form {
151
+ display: flex;
152
+ flex-direction: column;
153
+ gap: $rtsu-space-sm + $rtsu-space-xs;
154
+ padding-top: $rtsu-space-sm;
155
+ border-top: 1px dashed var(--rts-border-dim);
156
+ }
157
+
158
+ &__field {
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: $rtsu-space-xs;
162
+ }
163
+
164
+ &__required {
165
+ color: var(--rts-danger);
166
+ margin-left: $rtsu-space-2xs;
167
+ }
168
+
169
+ &__actions {
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: flex-end;
173
+ gap: $rtsu-space-sm;
174
+ }
175
+
176
+ &__saved {
177
+ color: var(--rts-success);
178
+ font-size: $rtsu-font-size-sm;
179
+ animation: rtsee-translations-fade-in $rtsu-transition-base;
180
+ }
181
+
182
+ &__hint,
183
+ &__loading {
184
+ margin: 0;
185
+ color: var(--rts-text-secondary);
186
+ font-size: $rtsu-font-size-sm;
187
+ }
188
+
189
+ &__error {
190
+ margin: 0;
191
+ padding: $rtsu-space-sm;
192
+ border: 1px solid var(--rts-danger-border);
193
+ border-radius: $rtsu-radius-sm;
194
+ background: var(--rts-danger-bg);
195
+ color: var(--rts-danger);
196
+ font-size: $rtsu-font-size-sm;
197
+ }
198
+ }
199
+
200
+ @keyframes rtsee-translations-fade-in {
201
+ from {
202
+ opacity: 0;
203
+ transform: translateY(-4px);
204
+ }
205
+ to {
206
+ opacity: 1;
207
+ transform: translateY(0);
208
+ }
209
+ }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.115",
2
+ "version": "0.0.116",
3
3
  "name": "@rtsee/ngx",
4
4
  "module": "./dist/ngx/fesm2022/rtsee-ngx.mjs",
5
5
  "types": "./dist/ngx/index.d.ts",
@@ -40,15 +40,15 @@
40
40
  "@angular/platform-browser-dynamic": "^20.1.2",
41
41
  "@angular/router": "^20.1.2",
42
42
  "@primeuix/themes": "^1.2.3",
43
- "@rtsee/common": "^0.0.86",
44
- "@rtsee/conference": "^0.0.87",
45
- "@rtsee/core": "^0.0.130",
46
- "@rtsee/events-dashboard": "^0.0.120",
47
- "@rtsee/factory": "^0.0.129",
48
- "@rtsee/messenger": "^0.0.120",
49
- "@rtsee/presentation": "^0.0.119",
50
- "@rtsee/signaling-client": "^0.0.133",
51
- "@rtsee/utilities-ui": "^0.0.51",
43
+ "@rtsee/common": "^0.0.87",
44
+ "@rtsee/conference": "^0.0.88",
45
+ "@rtsee/core": "^0.0.131",
46
+ "@rtsee/events-dashboard": "^0.0.121",
47
+ "@rtsee/factory": "^0.0.130",
48
+ "@rtsee/messenger": "^0.0.121",
49
+ "@rtsee/presentation": "^0.0.120",
50
+ "@rtsee/signaling-client": "^0.0.134",
51
+ "@rtsee/utilities-ui": "^0.0.52",
52
52
  "@stripe/stripe-js": "^8.6.1",
53
53
  "@types/gtag.js": "^0.0.20",
54
54
  "@types/node": "~24.0.14",
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "359ecb22974a00dc9324463c87e859da2dce6bf3"
74
+ "gitHead": "8412cdadc3ab2fcec6172785ee42df235a027fee"
75
75
  }