@rtsee/ngx 0.0.103 → 0.0.104

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 (44) hide show
  1. package/dist/ngx/fesm2022/rtsee-ngx.mjs +2992 -1624
  2. package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +1 -1
  3. package/dist/ngx/index.d.ts +98 -11
  4. package/dist/ngx/src/lib/theme/common-components/image-uploader.scss +37 -4
  5. package/dist/ngx/src/lib/theme/common-variables.scss +1 -1
  6. package/dist/ngx/src/lib/theme/common.scss +1 -1
  7. package/dist/ngx/src/lib/theme/containers/shell.scss +2 -2
  8. package/dist/ngx/src/lib/theme/forms/variables.scss +1 -2
  9. package/dist/ngx/src/lib/theme/messenger/call-widget.scss +25 -6
  10. package/dist/ngx/src/lib/theme/messenger/chat-input.scss +206 -17
  11. package/dist/ngx/src/lib/theme/messenger/chat-thumbnail.scss +79 -62
  12. package/dist/ngx/src/lib/theme/messenger/chat.scss +38 -23
  13. package/dist/ngx/src/lib/theme/messenger/chats-list.scss +10 -10
  14. package/dist/ngx/src/lib/theme/messenger/create-chat.scss +383 -0
  15. package/dist/ngx/src/lib/theme/messenger/index.scss +7 -0
  16. package/dist/ngx/src/lib/theme/messenger/invite-link.scss +63 -0
  17. package/dist/ngx/src/lib/theme/messenger/message-time-and-status.scss +29 -15
  18. package/dist/ngx/src/lib/theme/messenger/message.scss +36 -21
  19. package/dist/ngx/src/lib/theme/messenger/messages-list.scss +83 -68
  20. package/dist/ngx/src/lib/theme/messenger/messenger-header.scss +257 -77
  21. package/dist/ngx/src/lib/theme/messenger/messenger-search.scss +26 -11
  22. package/dist/ngx/src/lib/theme/messenger/messenger.scss +42 -26
  23. package/dist/ngx/src/lib/theme/messenger/payment-product-snippet.scss +57 -72
  24. package/dist/ngx/src/lib/theme/messenger/payments.scss +31 -105
  25. package/dist/ngx/src/lib/theme/messenger/profile.scss +109 -137
  26. package/dist/ngx/src/lib/theme/messenger/rate-input.scss +37 -15
  27. package/dist/ngx/src/lib/theme/messenger/variables.scss +13 -3
  28. package/dist/ngx/src/lib/theme/rts-common/_index.scss +24 -0
  29. package/dist/ngx/src/lib/theme/rts-common/_variables-colors.scss +133 -0
  30. package/dist/ngx/src/lib/theme/rts-common/_variables-effects.scss +28 -0
  31. package/dist/ngx/src/lib/theme/rts-common/_variables-layout.scss +30 -0
  32. package/dist/ngx/src/lib/theme/rts-common/_variables-spacing.scss +12 -0
  33. package/dist/ngx/src/lib/theme/rts-common/_variables-typography.scss +36 -0
  34. package/dist/ngx/src/lib/theme/rts-common/animations.scss +77 -0
  35. package/dist/ngx/src/lib/theme/rts-common/avatars.scss +76 -0
  36. package/dist/ngx/src/lib/theme/rts-common/buttons.scss +169 -0
  37. package/dist/ngx/src/lib/theme/rts-common/cards.scss +71 -0
  38. package/dist/ngx/src/lib/theme/rts-common/forms.scss +191 -0
  39. package/dist/ngx/src/lib/theme/rts-common/inputs.scss +109 -0
  40. package/dist/ngx/src/lib/theme/rts-common/labels.scss +80 -0
  41. package/dist/ngx/src/lib/theme/rts-common/messages.scss +60 -0
  42. package/dist/ngx/src/lib/theme/rts-common/user-thumbnails.scss +68 -0
  43. package/dist/ngx/src/lib/theme/styles.scss +1 -0
  44. package/package.json +11 -11
@@ -0,0 +1,109 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // RTS-COMMON — Input & Textarea Styles
3
+ // ═══════════════════════════════════════════════════════════════════
4
+ @import "./variables-spacing";
5
+ @import "./variables-typography";
6
+ @import "./variables-layout";
7
+ @import "./variables-effects";
8
+
9
+ .rts-input,
10
+ .rts-textarea {
11
+ width: 100%;
12
+ background-color: var(--rts-bg-surface);
13
+ color: var(--rts-text-primary);
14
+ border: 1px solid var(--rts-border-med);
15
+ border-radius: $rtsu-radius-sm;
16
+ font-family: $rtsu-font-family;
17
+ font-size: $rtsu-font-size-md;
18
+ padding: $rtsu-space-sm + $rtsu-space-xs $rtsu-space-md;
19
+ outline: none;
20
+ transition: border-color $rtsu-transition-fast,
21
+ box-shadow $rtsu-transition-fast,
22
+ background-color $rtsu-transition-fast;
23
+
24
+ &::placeholder {
25
+ color: var(--rts-text-muted);
26
+ }
27
+
28
+ &:hover {
29
+ border-color: var(--rts-border-bright);
30
+ }
31
+
32
+ &:focus {
33
+ border-color: var(--rts-accent, #6c5ce7);
34
+ box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.15);
35
+ background-color: var(--rts-bg-surface-elevated);
36
+ }
37
+
38
+ &:disabled {
39
+ opacity: 0.5;
40
+ cursor: not-allowed;
41
+ }
42
+ }
43
+
44
+ .rts-textarea {
45
+ resize: vertical;
46
+ min-height: 40px;
47
+ line-height: $rtsu-line-height-normal;
48
+
49
+ // Hide scrollbar for chat-style textareas
50
+ &.rts-textarea-chat {
51
+ resize: none;
52
+ border: none;
53
+ background: transparent;
54
+ padding: $rtsu-space-sm;
55
+ max-height: 130px;
56
+
57
+ &:focus {
58
+ box-shadow: none;
59
+ }
60
+ }
61
+ }
62
+
63
+ // ── Input Group (input + action button in one row) ──
64
+ .rts-input-group {
65
+ display: flex;
66
+ align-items: flex-end;
67
+ gap: 0;
68
+ background-color: var(--rts-bg-surface);
69
+ border: 1px solid var(--rts-border-med);
70
+ border-radius: $rtsu-radius-md;
71
+ padding: $rtsu-space-xs;
72
+ transition: border-color $rtsu-transition-fast,
73
+ box-shadow $rtsu-transition-fast;
74
+
75
+ &:focus-within {
76
+ border-color: var(--rts-accent, #6c5ce7);
77
+ box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.1);
78
+ }
79
+
80
+ .rts-input,
81
+ .rts-textarea {
82
+ border: none;
83
+ background: transparent;
84
+ padding: $rtsu-space-sm;
85
+
86
+ &:focus {
87
+ box-shadow: none;
88
+ }
89
+ }
90
+ }
91
+
92
+ // ── Search Input with icon ──
93
+ .rts-search-input {
94
+ position: relative;
95
+
96
+ .rts-search-input-icon {
97
+ position: absolute;
98
+ left: $rtsu-space-md;
99
+ top: 50%;
100
+ transform: translateY(-50%);
101
+ color: var(--rts-text-muted);
102
+ font-size: $rtsu-font-size-lg;
103
+ pointer-events: none;
104
+ }
105
+
106
+ .rts-input {
107
+ padding-left: $rtsu-space-xl + $rtsu-space-sm;
108
+ }
109
+ }
@@ -0,0 +1,80 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // RTS-COMMON — Label / Badge / Pill Styles
3
+ // ═══════════════════════════════════════════════════════════════════
4
+ @import "./variables-spacing";
5
+ @import "./variables-typography";
6
+ @import "./variables-layout";
7
+ @import "./variables-effects";
8
+
9
+ .rts-label {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ gap: $rtsu-space-xs;
13
+ padding: $rtsu-space-xs $rtsu-space-sm;
14
+ font-size: $rtsu-font-size-2xs;
15
+ font-weight: $rtsu-font-weight-semibold;
16
+ letter-spacing: $rtsu-tracking-wide;
17
+ border-radius: $rtsu-radius-pill;
18
+ line-height: 1;
19
+ white-space: nowrap;
20
+ transition: transform $rtsu-transition-fast,
21
+ box-shadow $rtsu-transition-fast;
22
+
23
+ &:hover {
24
+ transform: translateY(-1px);
25
+ }
26
+ }
27
+
28
+ // ── Variants ──
29
+
30
+ .rts-label-accent {
31
+ color: #fff;
32
+ background: rgba(var(--rts-accent, 108, 92, 231), 0.2);
33
+ border: 1px solid rgba(var(--rts-accent, 108, 92, 231), 0.4);
34
+ // Fallback for when CSS vars aren't parsed as rgb
35
+ background: var(--rts-accent-highlight-dim, rgba(191, 139, 255, 0.15));
36
+ border-color: rgba(191, 139, 255, 0.35);
37
+ }
38
+
39
+ .rts-label-primary {
40
+ color: #fff;
41
+ background: var(--rts-accent, #6c5ce7);
42
+ }
43
+
44
+ .rts-label-success {
45
+ color: #fff;
46
+ background: var(--rts-success, #2ecc71);
47
+ }
48
+
49
+ .rts-label-danger {
50
+ color: #fff;
51
+ background: var(--rts-danger, #e84118);
52
+ }
53
+
54
+ .rts-label-warning {
55
+ color: #1a1a2e;
56
+ background: var(--rts-warning, #f9ca24);
57
+ }
58
+
59
+ .rts-label-ghost {
60
+ color: var(--rts-text-secondary);
61
+ background: var(--rts-bg-surface-hover);
62
+ border: 1px solid var(--rts-border-med);
63
+ }
64
+
65
+ // ── Unread Count Badge ──
66
+
67
+ .rts-badge-count {
68
+ display: inline-flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ min-width: 18px;
72
+ height: 18px;
73
+ border-radius: $rtsu-radius-pill;
74
+ background: var(--rts-accent-blue, #3b82f7);
75
+ color: #fff;
76
+ font-size: $rtsu-font-size-2xs;
77
+ font-weight: $rtsu-font-weight-medium;
78
+ padding: 0 5px;
79
+ line-height: 1;
80
+ }
@@ -0,0 +1,60 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // RTS-COMMON — Message Bubble Styles
3
+ // ═══════════════════════════════════════════════════════════════════
4
+ @import "./variables-spacing";
5
+ @import "./variables-typography";
6
+ @import "./variables-layout";
7
+ @import "./variables-effects";
8
+
9
+ .rts-message-bubble {
10
+ max-width: 80%;
11
+ padding: $rtsu-space-sm + $rtsu-space-xs $rtsu-space-md;
12
+ border-radius: $rtsu-radius-lg;
13
+ font-size: $rtsu-font-size-base;
14
+ line-height: $rtsu-line-height-normal;
15
+ position: relative;
16
+ animation: rts-fade-up 0.25s ease-out both;
17
+
18
+ overflow-wrap: break-word;
19
+ word-wrap: break-word;
20
+ word-break: break-word;
21
+ hyphens: auto;
22
+ }
23
+
24
+ // ── "Their" Messages (left-aligned) ──
25
+ .rts-message-bubble-theirs {
26
+ background-color: var(--rts-bg-surface);
27
+ color: var(--rts-text-primary);
28
+ border: 1px solid var(--rts-border-dim);
29
+ border-bottom-left-radius: $rtsu-radius-xs;
30
+ margin-right: auto;
31
+ }
32
+
33
+ // ── "My" Messages (right-aligned) ──
34
+ .rts-message-bubble-mine {
35
+ background: linear-gradient(
36
+ 135deg,
37
+ var(--rts-accent, #6c5ce7) 0%,
38
+ var(--rts-accent-light, #a29bfe) 100%
39
+ );
40
+ color: #fff;
41
+ border-bottom-right-radius: $rtsu-radius-xs;
42
+ margin-left: auto;
43
+ box-shadow: $rtsu-shadow-accent-sm;
44
+ }
45
+
46
+ // ── Message Text ──
47
+ .rts-message-text {
48
+ margin: 0;
49
+ white-space: pre-wrap;
50
+ }
51
+
52
+ // ── Message Meta (time + status, inline at bottom-right) ──
53
+ .rts-message-meta {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ gap: $rtsu-space-xs;
57
+ float: right;
58
+ margin-top: $rtsu-space-xs;
59
+ margin-left: $rtsu-space-sm;
60
+ }
@@ -0,0 +1,68 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // RTS-COMMON — User Thumbnail (list-row with avatar + text)
3
+ // ═══════════════════════════════════════════════════════════════════
4
+ @import "./variables-spacing";
5
+ @import "./variables-typography";
6
+ @import "./variables-layout";
7
+ @import "./variables-effects";
8
+
9
+ .rts-user-thumbnail {
10
+ display: flex;
11
+ align-items: center;
12
+ gap: $rtsu-space-sm + $rtsu-space-xs;
13
+ padding: $rtsu-space-sm + $rtsu-space-xs $rtsu-space-md;
14
+ cursor: pointer;
15
+ border-radius: $rtsu-radius-sm;
16
+ transition: background-color $rtsu-transition-fast;
17
+ user-select: none;
18
+
19
+ &:hover {
20
+ background-color: var(--rts-bg-surface-hover);
21
+ }
22
+
23
+ &:active {
24
+ background-color: var(--rts-bg-surface-elevated);
25
+ }
26
+ }
27
+
28
+ .rts-user-thumbnail-content {
29
+ flex: 1;
30
+ min-width: 0; // allow text truncation
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: $rtsu-space-2xs;
34
+ }
35
+
36
+ .rts-user-thumbnail-name {
37
+ font-size: $rtsu-font-size-md;
38
+ font-weight: $rtsu-font-weight-semibold;
39
+ color: var(--rts-text-primary);
40
+ margin: 0;
41
+ white-space: nowrap;
42
+ overflow: hidden;
43
+ text-overflow: ellipsis;
44
+ line-height: $rtsu-line-height-snug;
45
+ }
46
+
47
+ .rts-user-thumbnail-subtitle {
48
+ font-size: $rtsu-font-size-sm;
49
+ font-weight: $rtsu-font-weight-regular;
50
+ color: var(--rts-text-secondary);
51
+ margin: 0;
52
+ overflow: hidden;
53
+ text-overflow: ellipsis;
54
+ display: -webkit-box;
55
+ -webkit-line-clamp: 2;
56
+ line-clamp: 2;
57
+ -webkit-box-orient: vertical;
58
+ white-space: normal;
59
+ line-height: $rtsu-line-height-normal;
60
+ }
61
+
62
+ .rts-user-thumbnail-trailing {
63
+ flex-shrink: 0;
64
+ display: flex;
65
+ flex-direction: column;
66
+ align-items: flex-end;
67
+ gap: $rtsu-space-xs;
68
+ }
@@ -1,5 +1,6 @@
1
1
  @import "./general";
2
2
  @import "./common";
3
+ @import "./rts-common/index";
3
4
  @import "./messenger/index";
4
5
  @import "./events-manager/index";
5
6
  @import "./video-chat/index";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.103",
2
+ "version": "0.0.104",
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.74",
44
- "@rtsee/conference": "^0.0.75",
45
- "@rtsee/core": "^0.0.118",
46
- "@rtsee/events-dashboard": "^0.0.108",
47
- "@rtsee/factory": "^0.0.117",
48
- "@rtsee/messenger": "^0.0.108",
49
- "@rtsee/presentation": "^0.0.107",
50
- "@rtsee/signaling-client": "^0.0.121",
51
- "@rtsee/utilities-ui": "^0.0.39",
43
+ "@rtsee/common": "^0.0.75",
44
+ "@rtsee/conference": "^0.0.76",
45
+ "@rtsee/core": "^0.0.119",
46
+ "@rtsee/events-dashboard": "^0.0.109",
47
+ "@rtsee/factory": "^0.0.118",
48
+ "@rtsee/messenger": "^0.0.109",
49
+ "@rtsee/presentation": "^0.0.108",
50
+ "@rtsee/signaling-client": "^0.0.122",
51
+ "@rtsee/utilities-ui": "^0.0.40",
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": "c1b98c1a7fcf1f7fa194208bb91600dd38953b60"
74
+ "gitHead": "1fb6aed38987b1640e8f613f385bef7ed186337b"
75
75
  }