@agorapulse/ui-theme 20.1.19 → 20.1.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 (72) hide show
  1. package/agorapulse-ui-theme-20.1.21.tgz +0 -0
  2. package/assets/desktop_variables.css +10 -0
  3. package/assets/mobile_variables.css +10 -0
  4. package/assets/style/_tooltip.scss +6 -1
  5. package/assets/style/css-ui/_accordion.scss +54 -0
  6. package/assets/style/css-ui/_action-dropdown.scss +163 -0
  7. package/assets/style/css-ui/_avatar-group.scss +61 -0
  8. package/assets/style/css-ui/_avatar.scss +183 -0
  9. package/assets/style/css-ui/{badge.css → _badge.scss} +10 -12
  10. package/assets/style/css-ui/_button.scss +258 -0
  11. package/assets/style/css-ui/_card.scss +17 -0
  12. package/assets/style/css-ui/_checkbox.scss +164 -0
  13. package/assets/style/css-ui/_counter.scss +76 -0
  14. package/assets/style/css-ui/_datepicker.scss +307 -0
  15. package/assets/style/css-ui/_dialog.scss +74 -0
  16. package/assets/style/css-ui/_dot-stepper.scss +68 -0
  17. package/assets/style/{_helpers.scss → css-ui/_helpers.scss} +14 -13
  18. package/assets/style/css-ui/_icon-button.scss +162 -0
  19. package/assets/style/css-ui/_infobox.scss +154 -0
  20. package/assets/style/css-ui/_input.scss +129 -0
  21. package/assets/style/css-ui/_label.scss +95 -0
  22. package/assets/style/css-ui/_link.scss +86 -0
  23. package/assets/style/css-ui/_list-panel.scss +73 -0
  24. package/assets/style/css-ui/_loader.scss +173 -0
  25. package/assets/style/css-ui/_mixins.scss +50 -0
  26. package/assets/style/css-ui/_pagination.scss +177 -0
  27. package/assets/style/css-ui/_radio-card.scss +200 -0
  28. package/assets/style/css-ui/_radio.scss +107 -0
  29. package/assets/style/css-ui/{select.css → _select.scss} +290 -298
  30. package/assets/style/css-ui/_selection-dropdown.scss +183 -0
  31. package/assets/style/css-ui/_snackbar.scss +161 -0
  32. package/assets/style/css-ui/_split-button.scss +74 -0
  33. package/assets/style/css-ui/_status.scss +71 -0
  34. package/assets/style/css-ui/_stepper.scss +113 -0
  35. package/assets/style/css-ui/_table.scss +325 -0
  36. package/assets/style/css-ui/_tabs.scss +182 -0
  37. package/assets/style/css-ui/_tag.scss +169 -0
  38. package/assets/style/css-ui/_textarea.scss +121 -0
  39. package/assets/style/css-ui/_toggle.scss +132 -0
  40. package/assets/style/css-ui/_tooltip.scss +122 -0
  41. package/assets/style/{_mat-typography.scss → css-ui/_typography.scss} +34 -26
  42. package/assets/style/css-ui/font-face.css +43 -0
  43. package/assets/style/css-ui/index.css +4907 -27
  44. package/assets/style/css-ui/index.css.map +1 -0
  45. package/assets/style/css-ui/index.scss +39 -0
  46. package/assets/style/theme.scss +9 -2
  47. package/package.json +17 -2
  48. package/src/tokens/system/icon.json +33 -0
  49. package/agorapulse-ui-theme-20.1.19.tgz +0 -0
  50. package/assets/style/css-ui/action-dropdown.css +0 -172
  51. package/assets/style/css-ui/avatar.css +0 -199
  52. package/assets/style/css-ui/button.css +0 -446
  53. package/assets/style/css-ui/checkbox.css +0 -170
  54. package/assets/style/css-ui/counter.css +0 -73
  55. package/assets/style/css-ui/datepicker.css +0 -294
  56. package/assets/style/css-ui/dot-stepper.css +0 -67
  57. package/assets/style/css-ui/infobox.css +0 -163
  58. package/assets/style/css-ui/input.css +0 -119
  59. package/assets/style/css-ui/label.css +0 -67
  60. package/assets/style/css-ui/link.css +0 -92
  61. package/assets/style/css-ui/loader.css +0 -247
  62. package/assets/style/css-ui/pagination.css +0 -161
  63. package/assets/style/css-ui/radio.css +0 -109
  64. package/assets/style/css-ui/snackbar.css +0 -166
  65. package/assets/style/css-ui/status.css +0 -87
  66. package/assets/style/css-ui/stepper.css +0 -123
  67. package/assets/style/css-ui/table.css +0 -305
  68. package/assets/style/css-ui/tabs.css +0 -188
  69. package/assets/style/css-ui/tag.css +0 -171
  70. package/assets/style/css-ui/textarea.css +0 -158
  71. package/assets/style/css-ui/toggle.css +0 -161
  72. package/assets/style/css-ui/tooltip.css +0 -228
@@ -0,0 +1,258 @@
1
+ // Agorapulse Button Styles
2
+ @use 'mixins' as m;
3
+ @use '../button-mixins' as btn;
4
+
5
+ @keyframes slide {
6
+ 0% {
7
+ left: calc(var(--comp-button-padding-vertical) * -1 - 50px);
8
+ }
9
+ 100% {
10
+ left: 100%;
11
+ }
12
+ }
13
+
14
+ .ap-button {
15
+ border: none;
16
+ border-radius: var(--comp-button-border-radius);
17
+ padding: var(--comp-button-padding-horizontal) var(--comp-button-padding-vertical);
18
+ position: relative;
19
+ overflow: hidden;
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ gap: var(--comp-split-button-spacing);
24
+ font-size: var(--comp-button-text-size);
25
+ font-family: var(--comp-button-text-font-family);
26
+ line-height: var(--comp-button-text-line-height);
27
+ font-weight: var(--comp-button-text-weight);
28
+ max-height: var(--comp-button-height);
29
+ min-height: var(--comp-button-height);
30
+ white-space: nowrap;
31
+ text-overflow: ellipsis;
32
+
33
+ &:not(:disabled):not(.loading):hover {
34
+ cursor: pointer;
35
+ }
36
+
37
+ &:disabled {
38
+ pointer-events: none;
39
+ }
40
+
41
+ &.loading {
42
+ pointer-events: none;
43
+ }
44
+
45
+ &:focus:not(:disabled):not(:active):not(.loading) {
46
+ @include m.focus-ring;
47
+ }
48
+
49
+ // Primary variants
50
+ &.primary {
51
+ color: var(--ref-color-white);
52
+
53
+ &.orange {
54
+ @include btn.btn-primary-color('orange');
55
+ }
56
+
57
+ &.blue {
58
+ @include btn.btn-primary-color('electric-blue');
59
+ }
60
+ }
61
+
62
+ // Secondary variants
63
+ &.secondary {
64
+ &.orange {
65
+ @include btn.btn-secondary-color('orange');
66
+ }
67
+
68
+ &.blue {
69
+ @include btn.btn-secondary-color('electric-blue');
70
+ }
71
+ }
72
+
73
+ // Ghost variants
74
+ &.ghost {
75
+ background: transparent;
76
+
77
+ &.grey {
78
+ @include btn.btn-ghost-color('grey', $text-color-shade: 80, $hover-bg-shade: '05', $active-bg-shade: 10);
79
+ }
80
+
81
+ &.blue {
82
+ @include btn.btn-ghost-color('electric-blue');
83
+ }
84
+
85
+ &.red {
86
+ @include btn.btn-ghost-color('red');
87
+ }
88
+
89
+ &.green {
90
+ @include btn.btn-ghost-color('green');
91
+ }
92
+ }
93
+
94
+ // Stroked variants
95
+ &.stroked {
96
+ background: var(--ref-color-white);
97
+
98
+ &.grey {
99
+ border: 1px solid var(--ref-color-grey-20);
100
+ @include btn.btn-stroked-color('grey', $text-color-shade: 80, $border-color-shade: 20, $hover-border-shade: 40, $active-border-shade: 60, $focus-border-shade: 20);
101
+ }
102
+
103
+ &.blue {
104
+ border: 1px solid var(--ref-color-electric-blue-60);
105
+ @include btn.btn-stroked-color('electric-blue');
106
+ }
107
+
108
+ &.red {
109
+ border: 1px solid var(--ref-color-red-60);
110
+ @include btn.btn-stroked-color('red');
111
+ }
112
+ }
113
+
114
+ // Transparent variant
115
+ &.transparent {
116
+ background: transparent;
117
+ }
118
+
119
+ // Mermaid variant
120
+ &.mermaid {
121
+ background: linear-gradient(90deg, #578fff 0%, #df52ff 100%);
122
+ color: var(--ref-color-grey-100);
123
+ position: relative;
124
+ z-index: 1;
125
+
126
+ &::after {
127
+ content: '';
128
+ position: absolute;
129
+ top: 1px;
130
+ left: 1px;
131
+ right: 1px;
132
+ bottom: 1px;
133
+ background: var(--ref-color-white);
134
+ border-radius: calc(var(--ref-border-radius-sm) - 1px);
135
+ z-index: -1;
136
+ pointer-events: none;
137
+ }
138
+
139
+ > *:not(.ap-loading-bar) {
140
+ position: relative;
141
+ z-index: 1;
142
+ }
143
+
144
+ &:hover:not(:disabled):not(.loading)::after {
145
+ background: var(--ref-color-mermaid-10);
146
+ }
147
+
148
+ &:active:not(:disabled):not(.loading)::after {
149
+ background: var(--ref-color-mermaid-20);
150
+ }
151
+
152
+ &:disabled {
153
+ background: linear-gradient(90deg, var(--ref-color-mermaid-gradient-from40) 0%, var(--ref-color-mermaid-gradient-to40) 100%);
154
+ color: var(--ref-color-grey-20);
155
+ }
156
+
157
+ &.loading {
158
+ background: linear-gradient(90deg, var(--ref-color-mermaid-gradient-from40) 0%, var(--ref-color-mermaid-gradient-to40) 100%);
159
+ color: var(--ref-color-grey-40);
160
+ }
161
+
162
+ .ap-loading-bar {
163
+ background: linear-gradient(90deg, var(--ref-color-mermaid-gradient-from) 0%, var(--ref-color-mermaid-gradient-to) 100%);
164
+ z-index: 2;
165
+ }
166
+ }
167
+
168
+ // Locked variant
169
+ &.locked {
170
+ overflow: visible;
171
+ background-color: var(--ref-color-purple-10);
172
+ color: var(--ref-color-purple-80);
173
+
174
+ &:hover:not(:disabled):not(.loading) {
175
+ background-color: var(--ref-color-purple-20);
176
+ }
177
+
178
+ &:active:not(:disabled):not(.loading) {
179
+ background-color: var(--ref-color-purple-40);
180
+ }
181
+ }
182
+
183
+ // Loading bar colors per variant
184
+ &.primary.orange .ap-loading-bar {
185
+ background-color: var(--ref-color-orange-100);
186
+ }
187
+
188
+ &.primary.blue .ap-loading-bar {
189
+ background-color: var(--ref-color-electric-blue-100);
190
+ }
191
+
192
+ &.secondary.orange .ap-loading-bar {
193
+ background-color: var(--ref-color-orange-100);
194
+ }
195
+
196
+ &.secondary.blue .ap-loading-bar {
197
+ background-color: var(--ref-color-electric-blue-100);
198
+ }
199
+
200
+ &.ghost.grey .ap-loading-bar,
201
+ &.stroked.grey .ap-loading-bar {
202
+ background-color: var(--ref-color-grey-80);
203
+ }
204
+
205
+ &.ghost.blue .ap-loading-bar,
206
+ &.stroked.blue .ap-loading-bar {
207
+ background-color: var(--ref-color-electric-blue-100);
208
+ }
209
+
210
+ &.ghost.red .ap-loading-bar,
211
+ &.stroked.red .ap-loading-bar {
212
+ background-color: var(--ref-color-red-100);
213
+ }
214
+
215
+ &.ghost.green .ap-loading-bar {
216
+ background-color: var(--ref-color-green-100);
217
+ }
218
+ }
219
+
220
+ // Icon sizing: explicit class or implicit > i
221
+ .ap-button-icon {
222
+ @include m.fixed-size(16px);
223
+ }
224
+
225
+ .ap-button > i {
226
+ @include m.fixed-size(16px);
227
+ flex-shrink: 0;
228
+ }
229
+
230
+ // Loading bar
231
+ .ap-loading-bar {
232
+ position: absolute;
233
+ bottom: 0;
234
+ left: var(--comp-button-padding-vertical);
235
+ width: 50px;
236
+ height: 5px;
237
+ border-radius: 8px;
238
+ animation: slide 1.5s ease-in-out infinite;
239
+ }
240
+
241
+ // Locked icon — lives inside .ap-button.locked or .ap-icon-button.locked, no wrapper needed
242
+ .ap-button.locked > .ap-locked-symbol,
243
+ .ap-icon-button.locked > .ap-locked-symbol {
244
+ position: absolute;
245
+ top: -6px;
246
+ right: -6px;
247
+ display: flex;
248
+ align-items: center;
249
+ justify-content: center;
250
+ padding: 1px;
251
+ border-radius: 100%;
252
+ background: var(--ref-color-white);
253
+ pointer-events: none;
254
+
255
+ > i {
256
+ color: var(--ref-color-purple-100);
257
+ }
258
+ }
@@ -0,0 +1,17 @@
1
+ .ap-card {
2
+ background-color: var(--ref-color-white);
3
+ border: 1px solid var(--ref-color-grey-10);
4
+ border-radius: var(--ref-border-radius-md);
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: var(--ref-spacing-sm);
8
+ padding: var(--ref-spacing-sm);
9
+ }
10
+
11
+ .ap-card-title {
12
+ font-size: var(--ref-font-size-md);
13
+ font-weight: var(--ref-font-weight-bold);
14
+ line-height: var(--ref-font-line-height-lg);
15
+ color: var(--ref-color-grey-100);
16
+ margin: 0;
17
+ }
@@ -0,0 +1,164 @@
1
+ // Agorapulse Checkbox Styles
2
+ @use 'mixins' as m;
3
+
4
+ .ap-checkbox-container {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: var(--ref-spacing-xxs);
8
+ cursor: pointer;
9
+
10
+ // Hide native checkbox input (accessible)
11
+ > input[type='checkbox'] {
12
+ @include m.sr-only;
13
+ }
14
+
15
+
16
+ &.full-width {
17
+ justify-content: space-between;
18
+ width: 100%;
19
+ }
20
+
21
+ // Disabled container
22
+ &:has(input:disabled) {
23
+ cursor: default;
24
+ }
25
+
26
+ // Checkbox box — <i> element (hosts ::before dash + ::after checkmark)
27
+ > i {
28
+ display: flex;
29
+ justify-content: center;
30
+ align-items: center;
31
+ @include m.fixed-size(16px);
32
+ border-radius: var(--sys-border-radius-sm);
33
+ border: 1px solid var(--ref-color-grey-60);
34
+ background: var(--ref-color-white);
35
+ box-sizing: border-box;
36
+ flex-shrink: 0;
37
+ transition: background-color 0.15s, border-color 0.15s;
38
+
39
+ // Checkmark via CSS (no inline SVG needed)
40
+ &::after {
41
+ content: '';
42
+ display: none;
43
+ width: 10px;
44
+ height: 10px;
45
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M1 5L4 8L9 2' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
46
+ mask-size: contain;
47
+ mask-repeat: no-repeat;
48
+ background-color: var(--ref-color-white);
49
+ }
50
+
51
+ // Indeterminate dash via CSS
52
+ &::before {
53
+ content: '';
54
+ display: none;
55
+ width: 8px;
56
+ height: 1.5px;
57
+ background: var(--ref-color-white);
58
+ }
59
+ }
60
+
61
+ // Hover state
62
+ &:hover:not(:has(input:disabled)) > i {
63
+ border-color: var(--ref-color-grey-80);
64
+ }
65
+
66
+ // Active state
67
+ &:active:not(:has(input:disabled)) > i {
68
+ border-color: var(--ref-color-grey-100);
69
+ }
70
+
71
+ // Checked state — show checkmark
72
+ &:has(input:checked) > i {
73
+ background: var(--ref-color-electric-blue-100);
74
+ border-color: var(--ref-color-electric-blue-100);
75
+
76
+ &::after {
77
+ display: block;
78
+ }
79
+ }
80
+
81
+ // Checked hover
82
+ &:hover:not(:has(input:disabled)):has(input:checked) > i {
83
+ background: var(--ref-color-electric-blue-80);
84
+ border-color: var(--ref-color-electric-blue-100);
85
+ }
86
+
87
+ // Checked active
88
+ &:active:not(:has(input:disabled)):has(input:checked) > i {
89
+ background: var(--ref-color-electric-blue-60);
90
+ border-color: var(--ref-color-electric-blue-100);
91
+ }
92
+
93
+ // Disabled state
94
+ &:has(input:disabled) > i {
95
+ background: var(--ref-color-grey-10);
96
+ border-color: var(--ref-color-grey-20);
97
+ pointer-events: none;
98
+ }
99
+
100
+ // Disabled + checked
101
+ &:has(input:disabled:checked) > i {
102
+ background: var(--ref-color-grey-20);
103
+ border-color: var(--ref-color-grey-20);
104
+ }
105
+
106
+ // Indeterminate state (class on container)
107
+ &.indeterminate > i {
108
+ background: var(--ref-color-electric-blue-100);
109
+ border-color: var(--ref-color-electric-blue-100);
110
+
111
+ &::before {
112
+ display: block;
113
+ }
114
+ }
115
+
116
+ // Indeterminate hover
117
+ &.indeterminate:hover:not(:has(input:disabled)) > i {
118
+ background: var(--ref-color-electric-blue-80);
119
+ border-color: var(--ref-color-electric-blue-100);
120
+ }
121
+
122
+ // Indeterminate disabled
123
+ &.indeterminate:has(input:disabled) > i {
124
+ background: var(--ref-color-grey-20);
125
+ border-color: var(--ref-color-grey-20);
126
+ }
127
+
128
+ // Focus ring (keyboard only)
129
+ &:has(input:focus-visible) > i {
130
+ @include m.focus-ring-3px;
131
+ }
132
+
133
+ // Error state
134
+ &.error > i {
135
+ border-color: var(--ref-color-red-100);
136
+ }
137
+
138
+ // Label — direct span child
139
+ > span {
140
+ display: flex;
141
+ align-items: center;
142
+ font-family: var(--comp-forms-label-font-family);
143
+ font-size: var(--comp-forms-label-size);
144
+ font-weight: var(--comp-forms-label-font-weight);
145
+ line-height: var(--comp-forms-label-line-height);
146
+ color: var(--comp-forms-label-text-color);
147
+ user-select: none;
148
+
149
+ &:empty {
150
+ display: none;
151
+ }
152
+ }
153
+
154
+ // Label: disabled
155
+ &:has(input:disabled) > span {
156
+ color: var(--ref-color-grey-60);
157
+ cursor: default;
158
+ }
159
+
160
+ // Bold modifier
161
+ &.bold > span {
162
+ font-weight: var(--ref-font-weight-bold);
163
+ }
164
+ }
@@ -0,0 +1,76 @@
1
+ // Agorapulse Counter Styles
2
+
3
+ .ap-counter {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ width: fit-content;
8
+ border-radius: var(--comp-counter-border-radius);
9
+ padding: 0 2px;
10
+ box-sizing: border-box;
11
+
12
+ // Normal size (default)
13
+ &.normal {
14
+ font-weight: var(--comp-counter-text-style-font-weight);
15
+ font-family: var(--comp-counter-text-style-font-family);
16
+ line-height: var(--comp-counter-text-style-line-height);
17
+ font-size: var(--comp-counter-text-style-size);
18
+ height: var(--comp-counter-height);
19
+ max-height: var(--comp-counter-height);
20
+ }
21
+
22
+ // Big size
23
+ &.big {
24
+ font-weight: var(--comp-counter-big-text-style-font-weight);
25
+ font-family: var(--comp-counter-big-text-style-font-family);
26
+ line-height: var(--comp-counter-big-text-style-line-height);
27
+ font-size: var(--comp-counter-big-text-style-size);
28
+ height: var(--comp-counter-big-height);
29
+ max-height: var(--comp-counter-big-height);
30
+ }
31
+
32
+ // Blue color (background by default)
33
+ &.blue {
34
+ color: var(--comp-counter-blue-color);
35
+ background-color: var(--comp-counter-blue-with-background-background-color);
36
+
37
+ &.no-bg {
38
+ background-color: transparent;
39
+ }
40
+ }
41
+
42
+ // Orange color (background by default)
43
+ &.orange {
44
+ color: var(--comp-counter-orange-with-background-color);
45
+ background-color: var(--comp-counter-orange-with-background-background-color);
46
+
47
+ &.no-bg {
48
+ color: var(--comp-counter-orange-color);
49
+ background-color: transparent;
50
+ }
51
+ }
52
+
53
+ // Grey color (background by default)
54
+ &.grey {
55
+ color: var(--comp-counter-grey-color);
56
+ background-color: var(--comp-counter-grey-with-background-background-color);
57
+
58
+ &.no-bg {
59
+ background-color: transparent;
60
+ }
61
+ }
62
+
63
+ // Notification style
64
+ &.notif {
65
+ padding: 0 4px;
66
+ border-radius: var(--comp-counter-notif-border-radius);
67
+ font-size: var(--comp-counter-text-style-size);
68
+ font-weight: var(--comp-counter-text-style-font-weight);
69
+ font-family: var(--comp-counter-text-style-font-family);
70
+ line-height: var(--comp-counter-text-style-line-height);
71
+ min-width: var(--comp-counter-notif-min-width);
72
+ height: var(--comp-counter-notif-min-width);
73
+ color: var(--comp-counter-notif-color);
74
+ background-color: var(--comp-counter-notif-background-color);
75
+ }
76
+ }