@agorapulse/ui-theme 20.1.18 → 20.1.19

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 (31) hide show
  1. package/agorapulse-ui-theme-20.1.19.tgz +0 -0
  2. package/assets/style/_table.scss +5 -5
  3. package/assets/style/css-ui/action-dropdown.css +172 -0
  4. package/assets/style/css-ui/avatar.css +199 -0
  5. package/assets/style/css-ui/badge.css +30 -0
  6. package/assets/style/css-ui/checkbox.css +170 -0
  7. package/assets/style/css-ui/counter.css +73 -0
  8. package/assets/style/css-ui/datepicker.css +294 -0
  9. package/assets/style/css-ui/dot-stepper.css +67 -0
  10. package/assets/style/css-ui/index.css +27 -0
  11. package/assets/style/css-ui/infobox.css +163 -0
  12. package/assets/style/css-ui/label.css +67 -0
  13. package/assets/style/css-ui/link.css +92 -0
  14. package/assets/style/css-ui/loader.css +247 -0
  15. package/assets/style/css-ui/pagination.css +161 -0
  16. package/assets/style/css-ui/select.css +664 -0
  17. package/assets/style/css-ui/snackbar.css +166 -0
  18. package/assets/style/css-ui/status.css +87 -0
  19. package/assets/style/css-ui/stepper.css +123 -0
  20. package/assets/style/css-ui/table.css +305 -0
  21. package/assets/style/css-ui/tabs.css +188 -0
  22. package/assets/style/css-ui/tag.css +171 -0
  23. package/assets/style/css-ui/textarea.css +158 -0
  24. package/assets/style/css-ui/tooltip.css +228 -0
  25. package/package.json +1 -1
  26. package/agorapulse-ui-theme-20.1.18.tgz +0 -0
  27. package/assets/style/lovable/tailwind.config.ts +0 -431
  28. /package/assets/style/{lovable/lovable-button.css → css-ui/button.css} +0 -0
  29. /package/assets/style/{lovable/lovable-input.css → css-ui/input.css} +0 -0
  30. /package/assets/style/{lovable/lovable-radio.css → css-ui/radio.css} +0 -0
  31. /package/assets/style/{lovable/lovable-toggle.css → css-ui/toggle.css} +0 -0
@@ -0,0 +1,294 @@
1
+ /* Agorapulse Datepicker Styles */
2
+
3
+ .ap-datepicker {
4
+ background-color: var(--ref-color-white);
5
+ display: flex;
6
+ flex-direction: column;
7
+ border-radius: var(--ref-border-radius-md);
8
+ box-shadow: 0 4px 25px -2px rgba(52, 69, 99, 0.15), 0 4px 6px -2px rgba(52, 69, 99, 0.15);
9
+ font-family: var(--ref-font-family);
10
+ width: fit-content;
11
+ overflow: hidden;
12
+ }
13
+
14
+ /* Header with month navigation */
15
+ .ap-datepicker-header {
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: space-between;
19
+ padding: var(--ref-spacing-sm) var(--ref-spacing-md);
20
+ border-bottom: 1px solid var(--ref-color-grey-10);
21
+ }
22
+
23
+ .ap-datepicker-month-nav {
24
+ display: flex;
25
+ align-items: center;
26
+ gap: var(--ref-spacing-sm);
27
+ }
28
+
29
+ .ap-datepicker-month-label {
30
+ font-size: var(--ref-font-size-sm);
31
+ font-weight: var(--ref-font-weight-bold);
32
+ color: var(--ref-color-grey-100);
33
+ text-transform: capitalize;
34
+ min-width: 120px;
35
+ text-align: center;
36
+ }
37
+
38
+ .ap-datepicker-nav-button {
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ width: 32px;
43
+ height: 32px;
44
+ border: none;
45
+ background: transparent;
46
+ border-radius: 50%;
47
+ cursor: pointer;
48
+ color: var(--ref-color-grey-60);
49
+ transition: background-color 0.15s ease;
50
+ }
51
+
52
+ .ap-datepicker-nav-button:hover {
53
+ background-color: var(--ref-color-grey-10);
54
+ }
55
+
56
+ .ap-datepicker-nav-button:disabled {
57
+ opacity: 0.4;
58
+ cursor: not-allowed;
59
+ }
60
+
61
+ .ap-datepicker-nav-button:disabled:hover {
62
+ background-color: transparent;
63
+ }
64
+
65
+ .ap-datepicker-nav-icon {
66
+ width: 14px;
67
+ height: 14px;
68
+ }
69
+
70
+ /* Calendar container */
71
+ .ap-datepicker-calendars {
72
+ display: flex;
73
+ }
74
+
75
+ .ap-datepicker-calendar {
76
+ padding: var(--ref-spacing-md);
77
+ }
78
+
79
+ .ap-datepicker-calendar + .ap-datepicker-calendar {
80
+ border-left: 1px solid var(--ref-color-grey-10);
81
+ }
82
+
83
+ /* Calendar table */
84
+ .ap-datepicker-table {
85
+ border-collapse: separate;
86
+ border-spacing: 0 5px;
87
+ }
88
+
89
+ /* Weekday headers */
90
+ .ap-datepicker-weekday {
91
+ width: 33px;
92
+ height: 24px;
93
+ font-size: var(--ref-font-size-xs);
94
+ font-weight: var(--ref-font-weight-bold);
95
+ color: var(--ref-color-grey-40);
96
+ text-transform: capitalize;
97
+ text-align: center;
98
+ }
99
+
100
+ /* Day cells */
101
+ .ap-datepicker-day {
102
+ width: 33px;
103
+ height: 27px;
104
+ padding: 0;
105
+ border: none;
106
+ background: transparent;
107
+ cursor: pointer;
108
+ position: relative;
109
+ }
110
+
111
+ .ap-datepicker-day-inner {
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ width: 27px;
116
+ height: 27px;
117
+ margin: 0 3px;
118
+ border-radius: 50%;
119
+ font-size: var(--ref-font-size-sm);
120
+ color: var(--ref-color-grey-100);
121
+ transition: background-color 0.15s ease;
122
+ }
123
+
124
+ .ap-datepicker-day:hover .ap-datepicker-day-inner {
125
+ background-color: var(--ref-color-electric-blue-20);
126
+ }
127
+
128
+ /* Today */
129
+ .ap-datepicker-day.today .ap-datepicker-day-inner {
130
+ border: 1px solid var(--ref-color-electric-blue-100);
131
+ width: 25px;
132
+ height: 25px;
133
+ }
134
+
135
+ /* Selected day */
136
+ .ap-datepicker-day.selected .ap-datepicker-day-inner {
137
+ background-color: var(--ref-color-electric-blue-100);
138
+ color: var(--ref-color-white);
139
+ }
140
+
141
+ .ap-datepicker-day.selected:hover .ap-datepicker-day-inner {
142
+ background-color: var(--ref-color-electric-blue-85);
143
+ }
144
+
145
+ /* In range (for range picker) */
146
+ .ap-datepicker-day.in-range {
147
+ background-color: var(--ref-color-electric-blue-10);
148
+ }
149
+
150
+ .ap-datepicker-day.in-range:first-child,
151
+ .ap-datepicker-day.range-start {
152
+ border-radius: 2em 0 0 2em;
153
+ }
154
+
155
+ .ap-datepicker-day.in-range:last-child,
156
+ .ap-datepicker-day.range-end {
157
+ border-radius: 0 2em 2em 0;
158
+ }
159
+
160
+ .ap-datepicker-day.range-start.range-end {
161
+ border-radius: 2em;
162
+ background-color: transparent;
163
+ }
164
+
165
+ /* Start and end of range */
166
+ .ap-datepicker-day.range-start .ap-datepicker-day-inner,
167
+ .ap-datepicker-day.range-end .ap-datepicker-day-inner {
168
+ background-color: var(--ref-color-electric-blue-100);
169
+ color: var(--ref-color-white);
170
+ }
171
+
172
+ /* Disabled/off days */
173
+ .ap-datepicker-day.off .ap-datepicker-day-inner,
174
+ .ap-datepicker-day:disabled .ap-datepicker-day-inner {
175
+ color: var(--ref-color-grey-20);
176
+ cursor: default;
177
+ }
178
+
179
+ .ap-datepicker-day.off:hover .ap-datepicker-day-inner,
180
+ .ap-datepicker-day:disabled:hover .ap-datepicker-day-inner {
181
+ background-color: transparent;
182
+ }
183
+
184
+ /* Preset ranges sidebar */
185
+ .ap-datepicker-ranges {
186
+ border-left: 1px solid var(--ref-color-grey-10);
187
+ padding: var(--ref-spacing-sm);
188
+ min-width: 140px;
189
+ display: flex;
190
+ flex-direction: column;
191
+ gap: var(--ref-spacing-xxxs);
192
+ }
193
+
194
+ .ap-datepicker-range-button {
195
+ display: block;
196
+ width: 100%;
197
+ padding: var(--ref-spacing-xxs) var(--ref-spacing-xs);
198
+ border: none;
199
+ background: transparent;
200
+ border-radius: var(--ref-border-radius-sm);
201
+ font-family: var(--ref-font-family);
202
+ font-size: var(--ref-font-size-sm);
203
+ color: var(--ref-color-grey-80);
204
+ text-align: left;
205
+ cursor: pointer;
206
+ transition: background-color 0.15s ease, color 0.15s ease;
207
+ }
208
+
209
+ .ap-datepicker-range-button:hover:not(.active):not(:disabled) {
210
+ color: var(--ref-color-electric-blue-100);
211
+ background-color: var(--ref-color-electric-blue-10);
212
+ }
213
+
214
+ .ap-datepicker-range-button.active {
215
+ color: var(--ref-color-white);
216
+ background-color: var(--ref-color-electric-blue-100);
217
+ }
218
+
219
+ .ap-datepicker-range-button.active:hover {
220
+ background-color: var(--ref-color-electric-blue-85);
221
+ }
222
+
223
+ .ap-datepicker-range-button:disabled {
224
+ color: var(--ref-color-grey-20);
225
+ cursor: default;
226
+ }
227
+
228
+ /* Footer with actions */
229
+ .ap-datepicker-footer {
230
+ display: flex;
231
+ align-items: center;
232
+ justify-content: flex-end;
233
+ gap: var(--ref-spacing-sm);
234
+ padding: var(--ref-spacing-sm) var(--ref-spacing-md);
235
+ border-top: 1px solid var(--ref-color-grey-10);
236
+ }
237
+
238
+ /* Single calendar mode */
239
+ .ap-datepicker.single .ap-datepicker-calendars {
240
+ justify-content: center;
241
+ }
242
+
243
+ /* Range mode with ranges sidebar */
244
+ .ap-datepicker.range .ap-datepicker-calendars {
245
+ display: flex;
246
+ }
247
+
248
+ /* Inline variant (no shadow, no border-radius) */
249
+ .ap-datepicker.inline {
250
+ box-shadow: none;
251
+ border: 1px solid var(--ref-color-grey-20);
252
+ }
253
+
254
+ /* Compact variant */
255
+ .ap-datepicker.compact .ap-datepicker-calendar {
256
+ padding: var(--ref-spacing-xs);
257
+ }
258
+
259
+ .ap-datepicker.compact .ap-datepicker-header {
260
+ padding: var(--ref-spacing-xs) var(--ref-spacing-sm);
261
+ }
262
+
263
+ /* Time picker addon */
264
+ .ap-datepicker-time {
265
+ display: flex;
266
+ align-items: center;
267
+ gap: var(--ref-spacing-xs);
268
+ padding: var(--ref-spacing-sm) var(--ref-spacing-md);
269
+ border-top: 1px solid var(--ref-color-grey-10);
270
+ }
271
+
272
+ .ap-datepicker-time-label {
273
+ font-size: var(--ref-font-size-sm);
274
+ color: var(--ref-color-grey-60);
275
+ }
276
+
277
+ .ap-datepicker-time-input {
278
+ width: 60px;
279
+ padding: var(--ref-spacing-xxs) var(--ref-spacing-xs);
280
+ border: 1px solid var(--ref-color-grey-20);
281
+ border-radius: var(--ref-border-radius-sm);
282
+ font-family: var(--ref-font-family);
283
+ font-size: var(--ref-font-size-sm);
284
+ text-align: center;
285
+ }
286
+
287
+ .ap-datepicker-time-input:focus {
288
+ outline: none;
289
+ border-color: var(--ref-color-electric-blue-100);
290
+ }
291
+
292
+ .ap-datepicker-time-separator {
293
+ color: var(--ref-color-grey-60);
294
+ }
@@ -0,0 +1,67 @@
1
+ /* Agorapulse Dot Stepper Styles */
2
+
3
+ .ap-dot-stepper {
4
+ display: flex;
5
+ flex-direction: row;
6
+ align-items: stretch;
7
+ gap: var(--comp-dot-stepper-spacing);
8
+ place-content: stretch center;
9
+ width: 100%;
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ /* Individual dot */
14
+ .ap-dot-stepper-dot {
15
+ position: relative;
16
+ width: var(--comp-dot-stepper-dot-size);
17
+ height: var(--comp-dot-stepper-dot-size);
18
+ border-radius: 50%;
19
+ border: var(--comp-dot-stepper-dot-inactive-border-width) solid var(--comp-dot-stepper-dot-inactive-border-color);
20
+ background: transparent;
21
+ cursor: pointer;
22
+ transition: all 0.2s ease-in-out;
23
+ padding: 0;
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ /* Hover state */
28
+ .ap-dot-stepper-dot:hover:not(.active):not(.disabled) {
29
+ border-color: var(--ref-color-electric-blue-60);
30
+ background: var(--comp-dot-stepper-dot-inactive-focused-background-color);
31
+ }
32
+
33
+ /* Focus state */
34
+ .ap-dot-stepper-dot:focus:not(.disabled) {
35
+ background: var(--comp-dot-stepper-dot-inactive-hovered-background-color);
36
+ outline: none;
37
+ }
38
+
39
+ .ap-dot-stepper-dot:focus:not(.disabled)::after {
40
+ content: '';
41
+ position: absolute;
42
+ width: calc(var(--comp-dot-stepper-dot-size) + var(--comp-dot-stepper-dot-inactive-border-width));
43
+ height: calc(var(--comp-dot-stepper-dot-size) + var(--comp-dot-stepper-dot-inactive-border-width));
44
+ top: calc(-1 * (var(--comp-dot-stepper-dot-inactive-border-width) * 2 + 1px));
45
+ left: calc(-1 * (var(--comp-dot-stepper-dot-inactive-border-width) * 2 + 1px));
46
+ border-radius: 50%;
47
+ border: var(--comp-dot-stepper-dot-inactive-border-width) solid var(--ref-color-electric-blue-100);
48
+ }
49
+
50
+ /* Active state */
51
+ .ap-dot-stepper-dot.active {
52
+ background: var(--comp-dot-stepper-dot-active-background-color);
53
+ border-color: var(--ref-color-electric-blue-150);
54
+ cursor: default;
55
+ }
56
+
57
+ /* Disabled state */
58
+ .ap-dot-stepper-dot.disabled {
59
+ cursor: default;
60
+ pointer-events: none;
61
+ opacity: 0.5;
62
+ }
63
+
64
+ /* Clickable indication */
65
+ .ap-dot-stepper-dot:not(.active):not(.disabled):active {
66
+ background: var(--comp-dot-stepper-dot-inactive-clicked-background-color);
67
+ }
@@ -0,0 +1,27 @@
1
+ /* Agorapulse CSS-UI Components Index */
2
+
3
+ @import 'action-dropdown.css';
4
+ @import 'avatar.css';
5
+ @import 'badge.css';
6
+ @import 'button.css';
7
+ @import 'checkbox.css';
8
+ @import 'counter.css';
9
+ @import 'datepicker.css';
10
+ @import 'dot-stepper.css';
11
+ @import 'infobox.css';
12
+ @import 'input.css';
13
+ @import 'label.css';
14
+ @import 'link.css';
15
+ @import 'loader.css';
16
+ @import 'pagination.css';
17
+ @import 'radio.css';
18
+ @import 'select.css';
19
+ @import 'snackbar.css';
20
+ @import 'status.css';
21
+ @import 'stepper.css';
22
+ @import 'table.css';
23
+ @import 'tabs.css';
24
+ @import 'tag.css';
25
+ @import 'textarea.css';
26
+ @import 'toggle.css';
27
+ @import 'tooltip.css';
@@ -0,0 +1,163 @@
1
+ /* Agorapulse Infobox Styles */
2
+
3
+ .ap-infobox {
4
+ --comp-icon-size: 20px;
5
+
6
+ display: flex;
7
+ width: 100%;
8
+ max-width: 100%;
9
+ font-size: var(--ref-font-size-sm);
10
+ line-height: var(--ref-font-line-height-sm);
11
+ align-items: flex-start;
12
+ color: var(--ref-color-grey-100);
13
+ padding: var(--comp-infobox-padding-top) var(--comp-infobox-padding-right) var(--comp-infobox-padding-bottom) var(--comp-infobox-padding-left);
14
+ border-radius: var(--comp-infobox-border-radius);
15
+ overflow: hidden;
16
+ font-family: var(--comp-infobox-text-title-font-family);
17
+ box-sizing: border-box;
18
+ position: relative;
19
+ gap: var(--comp-infobox-button-margin-left);
20
+ }
21
+
22
+ /* Status banner on the left */
23
+ .ap-infobox-banner {
24
+ position: absolute;
25
+ left: 0;
26
+ top: 0;
27
+ width: var(--comp-infobox-border-width);
28
+ height: 100%;
29
+ }
30
+
31
+ /* Infobox icon wrapper */
32
+ .ap-infobox-icon {
33
+ display: flex;
34
+ align-items: flex-start;
35
+ justify-content: center;
36
+ width: var(--comp-icon-size);
37
+ min-width: var(--comp-icon-size);
38
+ height: var(--comp-icon-size);
39
+ margin-top: 1px;
40
+ flex-shrink: 0;
41
+ }
42
+
43
+ .ap-infobox-icon svg {
44
+ width: 100%;
45
+ height: 100%;
46
+ }
47
+
48
+ /* Infobox with title - adjust icon alignment */
49
+ .ap-infobox.has-title .ap-infobox-icon {
50
+ margin-top: var(--ref-spacing-xxxs);
51
+ }
52
+
53
+ /* Content wrapper */
54
+ .ap-infobox-content {
55
+ display: flex;
56
+ flex-direction: column;
57
+ align-items: flex-start;
58
+ flex: 1;
59
+ justify-content: space-between;
60
+ gap: var(--ref-spacing-xxs);
61
+ min-width: 0;
62
+ }
63
+
64
+ /* Text content */
65
+ .ap-infobox-texts {
66
+ display: flex;
67
+ flex-direction: column;
68
+ overflow-wrap: anywhere;
69
+ width: 100%;
70
+ }
71
+
72
+ /* Title */
73
+ .ap-infobox-title {
74
+ font-weight: var(--comp-infobox-text-title-weight);
75
+ font-family: var(--comp-infobox-text-title-font-family);
76
+ font-size: var(--comp-infobox-text-title-size);
77
+ line-height: var(--comp-infobox-text-title-line-height);
78
+ margin: 0;
79
+ }
80
+
81
+ /* Message/Body text */
82
+ .ap-infobox-message {
83
+ font-weight: var(--comp-infobox-text-content-weight);
84
+ font-family: var(--comp-infobox-text-content-font-family);
85
+ font-size: var(--comp-infobox-text-content-size);
86
+ line-height: var(--comp-infobox-text-content-line-height);
87
+ margin: 0;
88
+ }
89
+
90
+ /* Action button area */
91
+ .ap-infobox-actions {
92
+ display: flex;
93
+ gap: var(--ref-spacing-xs);
94
+ flex-shrink: 0;
95
+ }
96
+
97
+ /* Info variant */
98
+ .ap-infobox.info {
99
+ background-color: var(--comp-infobox-info-background-color);
100
+ }
101
+
102
+ .ap-infobox.info .ap-infobox-icon {
103
+ color: var(--comp-infobox-info-icon-color);
104
+ }
105
+
106
+ .ap-infobox.info .ap-infobox-banner {
107
+ background-color: var(--comp-infobox-info-border-left-color);
108
+ }
109
+
110
+ /* Warning variant */
111
+ .ap-infobox.warning {
112
+ background-color: var(--comp-infobox-warning-background-color);
113
+ }
114
+
115
+ .ap-infobox.warning .ap-infobox-icon {
116
+ color: var(--comp-infobox-warning-icon-color);
117
+ }
118
+
119
+ .ap-infobox.warning .ap-infobox-banner {
120
+ background-color: var(--comp-infobox-warning-border-left-color);
121
+ }
122
+
123
+ /* Error variant */
124
+ .ap-infobox.error {
125
+ background-color: var(--comp-infobox-error-background-color);
126
+ }
127
+
128
+ .ap-infobox.error .ap-infobox-icon {
129
+ color: var(--comp-infobox-error-icon-color);
130
+ }
131
+
132
+ .ap-infobox.error .ap-infobox-banner {
133
+ background-color: var(--comp-infobox-error-border-left-color);
134
+ }
135
+
136
+ /* Success variant */
137
+ .ap-infobox.success {
138
+ background-color: var(--comp-infobox-success-background-color);
139
+ }
140
+
141
+ .ap-infobox.success .ap-infobox-icon {
142
+ color: var(--comp-infobox-success-icon-color);
143
+ }
144
+
145
+ .ap-infobox.success .ap-infobox-banner {
146
+ background-color: var(--comp-infobox-success-border-left-color);
147
+ }
148
+
149
+ /* Wide layout (content and actions side by side) */
150
+ @media (min-width: 588px) {
151
+ .ap-infobox.wide .ap-infobox-content {
152
+ flex-direction: row;
153
+ align-items: center;
154
+ }
155
+
156
+ .ap-infobox.wide .ap-infobox-icon {
157
+ margin-top: 0;
158
+ }
159
+
160
+ .ap-infobox.wide {
161
+ align-items: center;
162
+ }
163
+ }
@@ -0,0 +1,67 @@
1
+ /* Agorapulse Label Styles */
2
+
3
+ .ap-label {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ max-width: 100%;
7
+ background: var(--comp-label-background-color);
8
+ border-radius: var(--comp-label-border-radius);
9
+ padding: 0 var(--comp-label-padding-right) 0 var(--comp-label-padding-left);
10
+ height: var(--comp-label-height);
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ .ap-label.removable {
15
+ gap: var(--comp-label-closable-spacing);
16
+ padding: 0 var(--comp-label-closable-padding-right) 0 var(--ref-spacing-xxs);
17
+ }
18
+
19
+ /* Label content text */
20
+ .ap-label-content {
21
+ color: var(--comp-label-text-color);
22
+ font-family: var(--comp-label-text-style-font-family);
23
+ font-size: var(--comp-label-text-style-size);
24
+ font-weight: var(--comp-label-text-style-font-weight);
25
+ line-height: var(--comp-label-text-style-line-height);
26
+ white-space: nowrap;
27
+ overflow: hidden;
28
+ text-overflow: ellipsis;
29
+ max-width: 180px;
30
+ }
31
+
32
+ /* Close button for removable labels */
33
+ .ap-label-close {
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ width: calc(var(--comp-label-height) - 4px);
38
+ height: calc(var(--comp-label-height) - 4px);
39
+ min-width: calc(var(--comp-label-height) - 4px);
40
+ border: none;
41
+ background: transparent;
42
+ border-radius: 50%;
43
+ cursor: pointer;
44
+ padding: 0;
45
+ color: var(--comp-label-text-color);
46
+ transition: background-color 0.15s;
47
+ }
48
+
49
+ .ap-label-close:hover {
50
+ background: var(--ref-color-electric-blue-40);
51
+ }
52
+
53
+ .ap-label-close:active {
54
+ background: var(--ref-color-electric-blue-60);
55
+ }
56
+
57
+ .ap-label-close-icon {
58
+ width: 12px;
59
+ height: 12px;
60
+ }
61
+
62
+ /* Label list container */
63
+ .ap-label-list {
64
+ display: flex;
65
+ flex-wrap: wrap;
66
+ gap: var(--ref-spacing-xxs);
67
+ }
@@ -0,0 +1,92 @@
1
+ /* Agorapulse Link Styles */
2
+
3
+ /* Base link styling */
4
+ .ap-link {
5
+ display: inline-flex;
6
+ gap: var(--comp-link-spacing);
7
+ font-family: var(--comp-link-text-font-family);
8
+ font-weight: var(--comp-link-text-font-weight);
9
+ line-height: var(--comp-link-text-line-height);
10
+ font-size: var(--comp-link-text-size);
11
+ align-items: center;
12
+ text-decoration: underline;
13
+ -webkit-tap-highlight-color: transparent;
14
+ cursor: pointer;
15
+ color: var(--comp-link-default-color);
16
+ }
17
+
18
+ /* Size variants */
19
+ .ap-link.small {
20
+ font-family: var(--comp-link-small-text-style-font-family);
21
+ font-weight: var(--comp-link-small-text-style-font-weight);
22
+ line-height: var(--comp-link-small-text-style-line-height);
23
+ font-size: var(--comp-link-small-text-style-size);
24
+ }
25
+
26
+ .ap-link.big {
27
+ font-family: var(--comp-link-big-text-style-font-family);
28
+ font-weight: var(--comp-link-big-text-style-font-weight);
29
+ line-height: var(--comp-link-big-text-style-line-height);
30
+ font-size: var(--comp-link-big-text-style-size);
31
+ }
32
+
33
+ /* Standalone variant (no underline) */
34
+ .ap-link.standalone {
35
+ text-decoration: none;
36
+ font-family: var(--comp-link-standalone-default-text-style-font-family);
37
+ font-weight: var(--comp-link-standalone-default-text-style-font-weight);
38
+ line-height: var(--comp-link-standalone-default-text-style-line-height);
39
+ font-size: var(--comp-link-standalone-default-text-style-size);
40
+ color: var(--comp-link-default-color);
41
+ }
42
+
43
+ .ap-link.standalone.small {
44
+ font-family: var(--comp-link-standalone-small-text-style-font-family);
45
+ font-weight: var(--comp-link-standalone-small-text-style-font-weight);
46
+ line-height: var(--comp-link-standalone-small-text-style-line-height);
47
+ font-size: var(--comp-link-standalone-small-text-style-size);
48
+ }
49
+
50
+ /* Hover state */
51
+ .ap-link:hover {
52
+ color: var(--comp-link-hover-color);
53
+ }
54
+
55
+ /* Active state */
56
+ .ap-link:active:not(:visited):not(.disabled) {
57
+ color: var(--comp-link-clicked-color);
58
+ }
59
+
60
+ /* Visited state (only for non-standalone links) */
61
+ .ap-link:visited:not(.standalone) {
62
+ color: var(--comp-link-visited-color);
63
+ }
64
+
65
+ /* Disabled state */
66
+ .ap-link.disabled,
67
+ .ap-link[aria-disabled='true'] {
68
+ color: var(--comp-link-disabled-color);
69
+ pointer-events: none;
70
+ cursor: default;
71
+ }
72
+
73
+ /* Icon sizing */
74
+ .ap-link-icon {
75
+ min-width: var(--comp-link-icon-size);
76
+ min-height: var(--comp-link-icon-size);
77
+ max-width: var(--comp-link-icon-size);
78
+ max-height: var(--comp-link-icon-size);
79
+ flex-shrink: 0;
80
+ }
81
+
82
+ /* Icon positioning */
83
+ .ap-link.inverse {
84
+ flex-direction: row-reverse;
85
+ }
86
+
87
+ /* Focus state for accessibility */
88
+ .ap-link:focus-visible {
89
+ outline: 2px solid var(--ref-color-electric-blue-100);
90
+ outline-offset: 2px;
91
+ border-radius: 2px;
92
+ }