@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
@@ -1,188 +0,0 @@
1
- /* Agorapulse Tabs Styles */
2
-
3
- .ap-tabs {
4
- display: flex;
5
- flex-direction: column;
6
- width: 100%;
7
- }
8
-
9
- /* Tabs navigation bar */
10
- .ap-tabs-nav {
11
- display: flex;
12
- align-items: center;
13
- border-bottom: 1px solid var(--comp-tabs-border-color);
14
- position: relative;
15
- }
16
-
17
- /* Individual tab button */
18
- .ap-tabs-tab {
19
- display: flex;
20
- align-items: center;
21
- justify-content: center;
22
- background: transparent;
23
- border: none;
24
- cursor: pointer;
25
- font-family: var(--comp-tabs-text-font-family);
26
- text-align: center;
27
- position: relative;
28
- white-space: nowrap;
29
- padding: var(--comp-tabs-tab-padding);
30
- font-size: var(--comp-tabs-tab-font-size);
31
- line-height: var(--comp-tabs-tab-line-height);
32
- min-height: var(--comp-tabs-tab-min-height);
33
- color: var(--comp-tabs-tab-text-color-default);
34
- font-weight: var(--ref-font-weight-regular);
35
- }
36
-
37
- /* Tab content wrapper */
38
- .ap-tabs-tab-content {
39
- display: flex;
40
- flex-direction: column;
41
- align-items: center;
42
- gap: var(--comp-tabs-tab-content-gap);
43
- }
44
-
45
- /* Tab header (icon + label) */
46
- .ap-tabs-tab-header {
47
- display: flex;
48
- align-items: center;
49
- gap: var(--comp-tabs-tab-header-gap);
50
- }
51
-
52
- /* Tab label */
53
- .ap-tabs-tab-label {
54
- font-weight: inherit;
55
- font-size: inherit;
56
- line-height: inherit;
57
- }
58
-
59
- /* Tab icon */
60
- .ap-tabs-tab-icon {
61
- width: 16px;
62
- height: 16px;
63
- flex-shrink: 0;
64
- }
65
-
66
- /* Feature lock icon */
67
- .ap-tabs-tab-lock {
68
- width: 16px;
69
- height: 16px;
70
- color: var(--comp-tabs-tab-feature-lock-color);
71
- }
72
-
73
- /* Hover state */
74
- .ap-tabs-tab:hover:not(:disabled):not(.active) {
75
- background-color: var(--comp-tabs-tab-hover-background-color);
76
- }
77
-
78
- /* Focus state */
79
- .ap-tabs-tab:focus {
80
- outline: none;
81
- }
82
-
83
- .ap-tabs-tab:focus-visible:not(.active) {
84
- outline: none;
85
- box-shadow: inset 0 0 0 2px var(--comp-tabs-tab-focus-color);
86
- border-radius: var(--comp-tabs-tab-focus-border-radius);
87
- background-color: var(--comp-tabs-tab-focus-background-color);
88
- }
89
-
90
- /* Active/pressed state */
91
- .ap-tabs-tab:active:not(:disabled):not(.active) {
92
- background-color: var(--comp-tabs-tab-active-background-color);
93
- }
94
-
95
- /* Disabled state */
96
- .ap-tabs-tab:disabled,
97
- .ap-tabs-tab.disabled {
98
- cursor: not-allowed;
99
- color: var(--comp-tabs-tab-text-color-disabled);
100
- opacity: 0.5;
101
- }
102
-
103
- /* Active tab */
104
- .ap-tabs-tab.active {
105
- color: var(--comp-tabs-tab-text-color-active);
106
- text-shadow: 0.5px 0 0 currentColor;
107
- }
108
-
109
- .ap-tabs-tab.active:focus-visible {
110
- outline: none;
111
- box-shadow: inset 0 0 0 2px var(--comp-tabs-tab-focus-color);
112
- border-radius: var(--comp-tabs-tab-focus-border-radius);
113
- }
114
-
115
- /* Feature locked tab */
116
- .ap-tabs-tab.feature-locked:hover:not(:disabled):not(.active) {
117
- background-color: var(--comp-tabs-tab-feature-locked-hover-background-color);
118
- }
119
-
120
- .ap-tabs-tab.feature-locked:focus-visible:not(.active) {
121
- color: var(--comp-tabs-tab-text-color-feature-locked-focus);
122
- background-color: var(--comp-tabs-tab-feature-locked-focus-background-color);
123
- }
124
-
125
- .ap-tabs-tab.feature-locked:active:not(:disabled):not(.active) {
126
- background-color: var(--comp-tabs-tab-feature-locked-active-background-color);
127
- }
128
-
129
- .ap-tabs-tab.feature-locked.active {
130
- color: var(--comp-tabs-tab-text-color-feature-locked-active);
131
- text-shadow: 0.5px 0 0 currentColor;
132
- }
133
-
134
- .ap-tabs-tab.feature-locked.active:focus-visible {
135
- outline: none;
136
- box-shadow: inset 0 0 0 2px var(--comp-tabs-tab-focus-color);
137
- border-radius: var(--comp-tabs-tab-focus-border-radius);
138
- }
139
-
140
- /* Active indicator (underline) */
141
- .ap-tabs-indicator {
142
- position: absolute;
143
- bottom: -1px;
144
- height: 4px;
145
- background-color: var(--comp-tabs-tab-active-indicator-color);
146
- transition:
147
- transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
148
- width 0.3s cubic-bezier(0.4, 0, 0.2, 1),
149
- background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
150
- transform-origin: left;
151
- }
152
-
153
- /* Feature locked indicator */
154
- .ap-tabs-indicator.feature-locked {
155
- background-color: var(--comp-tabs-tab-feature-locked-indicator-color);
156
- }
157
-
158
- /* Tab content panel */
159
- .ap-tabs-content {
160
- flex: 1;
161
- width: 100%;
162
- }
163
-
164
- /* Tab panel (individual content area) */
165
- .ap-tabs-panel {
166
- display: none;
167
- padding: var(--ref-spacing-md) 0;
168
- }
169
-
170
- .ap-tabs-panel.active {
171
- display: block;
172
- }
173
-
174
- /* Scrollable tabs container */
175
- .ap-tabs-nav.scrollable {
176
- overflow-x: auto;
177
- scrollbar-width: none;
178
- -ms-overflow-style: none;
179
- }
180
-
181
- .ap-tabs-nav.scrollable::-webkit-scrollbar {
182
- display: none;
183
- }
184
-
185
- /* Full width tabs */
186
- .ap-tabs.full-width .ap-tabs-tab {
187
- flex: 1;
188
- }
@@ -1,171 +0,0 @@
1
- /* Agorapulse Tag Styles */
2
-
3
- .ap-tag {
4
- display: inline-flex;
5
- align-items: center;
6
- justify-content: center;
7
- height: var(--comp-tag-height);
8
- max-height: var(--comp-tag-height);
9
- box-sizing: border-box;
10
- border-width: 1px;
11
- border-style: solid;
12
- padding: 0 var(--comp-tag-padding-right) 0 var(--comp-tag-padding-left);
13
- border-radius: var(--comp-tag-border-radius);
14
- gap: var(--ref-spacing-xxxs);
15
- vertical-align: middle;
16
- }
17
-
18
- /* Clearable/Add variant - with close button */
19
- .ap-tag.clearable,
20
- .ap-tag.add {
21
- padding: 0 calc(var(--comp-tag-closable-padding-right) - 1px) 0 var(--comp-tag-padding-left);
22
- }
23
-
24
- /* Mini size */
25
- .ap-tag.mini {
26
- height: var(--comp-tag-mini-height);
27
- padding: 0 var(--comp-tag-mini-padding-right) 0 var(--comp-tag-mini-padding-left);
28
- }
29
-
30
- /* Tag text */
31
- .ap-tag-text {
32
- max-width: 180px;
33
- white-space: nowrap;
34
- overflow: hidden;
35
- text-overflow: ellipsis;
36
- font-size: var(--comp-tag-text-style-size);
37
- line-height: var(--comp-tag-text-style-line-height);
38
- font-weight: var(--comp-tag-text-style-font-weight);
39
- font-family: var(--comp-tag-text-style-font-family);
40
- }
41
-
42
- /* Tag avatar */
43
- .ap-tag-avatar {
44
- --avatar-size: 16px;
45
- min-width: var(--avatar-size);
46
- width: var(--avatar-size);
47
- max-width: var(--avatar-size);
48
- min-height: var(--avatar-size);
49
- height: var(--avatar-size);
50
- max-height: var(--avatar-size);
51
- border-radius: 100%;
52
- overflow: hidden;
53
- }
54
-
55
- .ap-tag-avatar img {
56
- width: 100%;
57
- height: 100%;
58
- object-fit: cover;
59
- }
60
-
61
- /* Tag action button (close/add) */
62
- .ap-tag-button {
63
- display: flex;
64
- justify-content: center;
65
- align-items: center;
66
- width: var(--comp-close-button-size);
67
- max-width: var(--comp-close-button-size);
68
- height: var(--comp-close-button-size);
69
- max-height: var(--comp-close-button-size);
70
- border-radius: 50%;
71
- background: transparent;
72
- border: none;
73
- padding: var(--comp-close-button-padding);
74
- outline: none;
75
- cursor: pointer;
76
- transition: background-color 0.25s;
77
- }
78
-
79
- @media (hover: hover) {
80
- .ap-tag-button:focus:not(:disabled):not(:active) {
81
- outline: 2px solid var(--ref-color-electric-blue-100);
82
- outline-offset: 1px;
83
- }
84
- }
85
-
86
- .ap-tag-button:hover {
87
- background: var(--comp-close-button-hover-background);
88
- }
89
-
90
- .ap-tag-button:active {
91
- background: var(--comp-close-button-active-background);
92
- outline: none;
93
- }
94
-
95
- .ap-tag-button-icon {
96
- width: 12px;
97
- height: 12px;
98
- }
99
-
100
- /* Blue variant */
101
- .ap-tag.blue {
102
- background-color: var(--comp-tag-blue-background-color);
103
- border-color: var(--comp-tag-blue-border-color);
104
- color: var(--comp-tag-blue-text-color);
105
- }
106
-
107
- .ap-tag.blue .ap-tag-button {
108
- color: var(--comp-tag-blue-icon-color);
109
- }
110
-
111
- /* Grey variant */
112
- .ap-tag.grey {
113
- background-color: var(--comp-tag-grey-background-color);
114
- border-color: var(--comp-tag-grey-border-color);
115
- color: var(--comp-tag-grey-text-color);
116
- }
117
-
118
- .ap-tag.grey .ap-tag-button {
119
- color: var(--comp-tag-grey-icon-color);
120
- }
121
-
122
- /* Tag Orange variant */
123
- .ap-tag.tagOrange {
124
- background-color: var(--comp-tag-tag-orange-background-color);
125
- border-color: var(--comp-tag-tag-orange-border-color);
126
- color: var(--comp-tag-tag-orange-text-color);
127
- }
128
-
129
- .ap-tag.tagOrange .ap-tag-button {
130
- color: var(--comp-tag-tag-orange-icon-color);
131
- }
132
-
133
- /* Menthol variant */
134
- .ap-tag.menthol {
135
- background-color: var(--comp-tag-menthol-background-color);
136
- border-color: var(--comp-tag-menthol-border-color);
137
- color: var(--comp-tag-menthol-text-color);
138
- }
139
-
140
- .ap-tag.menthol .ap-tag-button {
141
- color: var(--comp-tag-menthol-icon-color);
142
- }
143
-
144
- /* Green variant */
145
- .ap-tag.green {
146
- background-color: var(--comp-tag-green-background-color);
147
- border-color: var(--comp-tag-green-border-color);
148
- color: var(--comp-tag-green-text-color);
149
- }
150
-
151
- .ap-tag.green .ap-tag-button {
152
- color: var(--comp-tag-green-icon-color);
153
- }
154
-
155
- /* Red variant */
156
- .ap-tag.red {
157
- background-color: var(--comp-tag-red-background-color);
158
- border-color: var(--comp-tag-red-border-color);
159
- color: var(--comp-tag-red-text-color);
160
- }
161
-
162
- .ap-tag.red .ap-tag-button {
163
- color: var(--comp-tag-red-icon-color);
164
- }
165
-
166
- /* Tag list container */
167
- .ap-tag-list {
168
- display: flex;
169
- flex-wrap: wrap;
170
- gap: var(--ref-spacing-xxs);
171
- }
@@ -1,158 +0,0 @@
1
- /* Agorapulse Textarea Styles */
2
-
3
- /* Textarea container */
4
- .ap-textarea-field {
5
- display: flex;
6
- flex-direction: column;
7
- gap: var(--ref-spacing-xxs);
8
- }
9
-
10
- /* Textarea label */
11
- .ap-textarea-label {
12
- display: flex;
13
- flex-direction: column;
14
- gap: var(--comp-forms-label-spacing-vertical);
15
- font-size: var(--comp-forms-label-size);
16
- font-weight: var(--comp-forms-label-font-weight);
17
- line-height: var(--comp-forms-label-line-height);
18
- font-family: var(--comp-forms-label-font-family);
19
- color: var(--comp-forms-label-text-color);
20
- }
21
-
22
- /* Label description */
23
- .ap-textarea-description {
24
- font-size: var(--comp-forms-label-description-text-size);
25
- font-weight: var(--comp-forms-label-description-text-font-weight);
26
- line-height: var(--comp-forms-label-description-text-line-height);
27
- font-family: var(--comp-forms-label-description-text-font-family);
28
- color: var(--comp-forms-label-description-text-color);
29
- }
30
-
31
- /* Textarea element */
32
- .ap-textarea {
33
- resize: none;
34
- width: 100%;
35
- min-width: 256px;
36
- border: 1px solid var(--comp-input-border-default-color);
37
- background-color: var(--ref-color-white);
38
- padding: var(--ref-spacing-xxs) var(--ref-spacing-xs);
39
- border-radius: var(--ref-border-radius-sm);
40
- font-family: var(--comp-input-text-font-family);
41
- font-size: var(--comp-input-text-size);
42
- font-weight: var(--comp-input-text-font-weight);
43
- color: var(--comp-input-text-default-color);
44
- box-sizing: border-box;
45
- outline: none;
46
- }
47
-
48
- /* Placeholder */
49
- .ap-textarea::placeholder {
50
- color: var(--comp-input-text-placeholder-color);
51
- }
52
-
53
- /* Hover state */
54
- .ap-textarea:hover:not(:focus):not(:disabled):not(.invalid):not(.valid) {
55
- border-color: var(--comp-input-border-hover-color);
56
- }
57
-
58
- /* Focus state */
59
- .ap-textarea:focus:not(:disabled) {
60
- border-color: var(--comp-input-border-focused-color);
61
- }
62
-
63
- /* Focus visible for accessibility */
64
- .ap-textarea:focus-visible {
65
- outline: 2px solid var(--ref-color-electric-blue-100);
66
- outline-offset: 1px;
67
- }
68
-
69
- /* Disabled state */
70
- .ap-textarea:disabled {
71
- background-color: var(--comp-input-fill-disabled-color);
72
- color: var(--comp-input-text-disabled-color);
73
- cursor: default;
74
- }
75
-
76
- /* Invalid/Error state */
77
- .ap-textarea.invalid,
78
- .ap-textarea-field.invalid .ap-textarea {
79
- border-color: var(--comp-input-border-error-color);
80
- }
81
-
82
- /* Valid/Success state */
83
- .ap-textarea.valid,
84
- .ap-textarea-field.valid .ap-textarea {
85
- border-color: var(--comp-input-border-success-color);
86
- }
87
-
88
- /* Resizable variant */
89
- .ap-textarea.resizable {
90
- resize: vertical;
91
- }
92
-
93
- /* Horizontal resize */
94
- .ap-textarea.resizable-horizontal {
95
- resize: horizontal;
96
- }
97
-
98
- /* Both directions resize */
99
- .ap-textarea.resizable-both {
100
- resize: both;
101
- }
102
-
103
- /* Auto-resize variant (works with JS) */
104
- .ap-textarea.autoresize {
105
- overflow: hidden;
106
- }
107
-
108
- /* Textarea message (error/success) */
109
- .ap-textarea-message {
110
- font-size: var(--sys-text-style-body-size);
111
- font-weight: var(--sys-text-style-body-weight);
112
- line-height: var(--sys-text-style-body-line-height);
113
- font-family: var(--sys-text-style-body-font-family);
114
- margin: 0;
115
- display: flex;
116
- align-items: center;
117
- gap: var(--ref-spacing-xxxs);
118
- }
119
-
120
- .ap-textarea-message.error {
121
- color: var(--comp-forms-status-text-error-color);
122
- }
123
-
124
- .ap-textarea-message.success {
125
- color: var(--comp-forms-status-text-success-color);
126
- }
127
-
128
- /* Message icons */
129
- .ap-textarea-message-icon {
130
- width: 16px;
131
- height: 16px;
132
- flex-shrink: 0;
133
- }
134
-
135
- .ap-textarea-message.error .ap-textarea-message-icon {
136
- color: var(--comp-forms-status-icon-error-color);
137
- }
138
-
139
- .ap-textarea-message.success .ap-textarea-message-icon {
140
- color: var(--comp-forms-status-icon-success-color);
141
- }
142
-
143
- /* Character count */
144
- .ap-textarea-counter {
145
- font-size: var(--sys-text-style-caption-size);
146
- font-weight: var(--sys-text-style-caption-weight);
147
- line-height: var(--sys-text-style-caption-line-height);
148
- color: var(--ref-color-grey-80);
149
- text-align: right;
150
- }
151
-
152
- .ap-textarea-counter.warning {
153
- color: var(--ref-color-orange-100);
154
- }
155
-
156
- .ap-textarea-counter.error {
157
- color: var(--ref-color-red-100);
158
- }
@@ -1,161 +0,0 @@
1
- /* Agorapulse Toggle Styles */
2
-
3
- .ap-toggle-container {
4
- display: flex;
5
- align-items: center;
6
- gap: var(--ref-spacing-xxs);
7
- cursor: pointer;
8
- font-family: var(--sys-text-style-body-font-family);
9
- font-size: var(--sys-text-style-body-size);
10
- line-height: var(--sys-text-style-body-line-height);
11
- color: var(--ref-color-grey-100);
12
- }
13
-
14
- .ap-toggle-container:has(input:disabled) {
15
- cursor: default;
16
- }
17
-
18
- /* Label positioning */
19
- .ap-toggle-container.label-left {
20
- flex-direction: row-reverse;
21
- }
22
-
23
- /* Native checkbox input (visually hidden but accessible) */
24
- .ap-toggle-input {
25
- border: 0;
26
- clip: rect(0 0 0 0);
27
- height: 1px;
28
- margin: -1px;
29
- overflow: hidden;
30
- padding: 0;
31
- position: absolute;
32
- width: 1px;
33
- }
34
-
35
- /* Focus state */
36
- @media (hover: hover) {
37
- .ap-toggle-input:focus:not(:disabled) ~ .ap-toggle-switch {
38
- outline: 2px solid var(--ref-color-electric-blue-100);
39
- outline-offset: 1px;
40
- }
41
- }
42
-
43
- /* Toggle switch visual */
44
- .ap-toggle-switch {
45
- box-sizing: content-box;
46
- position: relative;
47
- display: flex;
48
- align-items: center;
49
- padding: 2px;
50
- width: 28px;
51
- height: 12px;
52
- border-radius: 16px;
53
- background: var(--ref-color-grey-60);
54
- transition: background-color 0.25s;
55
- flex-shrink: 0;
56
- }
57
-
58
- /* Hover state for unchecked */
59
- .ap-toggle-container:hover:not(:has(input:disabled)) .ap-toggle-switch {
60
- background: var(--ref-color-grey-80);
61
- }
62
-
63
- /* Checked state */
64
- .ap-toggle-input:checked ~ .ap-toggle-switch {
65
- background: var(--ref-color-electric-blue-100);
66
- }
67
-
68
- /* Hover state for checked */
69
- .ap-toggle-container:hover:not(:has(input:disabled)) .ap-toggle-input:checked ~ .ap-toggle-switch {
70
- background: var(--ref-color-electric-blue-80);
71
- }
72
-
73
- /* Active state for checked */
74
- .ap-toggle-container:active:not(:has(input:disabled)) .ap-toggle-input:checked ~ .ap-toggle-switch {
75
- background: var(--ref-color-electric-blue-60);
76
- }
77
-
78
- /* Disabled state */
79
- .ap-toggle-switch.disabled,
80
- .ap-toggle-input:disabled ~ .ap-toggle-switch {
81
- background: var(--ref-color-grey-20);
82
- }
83
-
84
- /* Toggle knob */
85
- .ap-toggle-knob {
86
- width: 12px;
87
- height: 12px;
88
- background: var(--ref-color-white);
89
- border-radius: 100%;
90
- position: absolute;
91
- transition: left 0.25s ease-in-out;
92
- left: 2px;
93
- display: flex;
94
- align-items: center;
95
- justify-content: center;
96
- }
97
-
98
- /* Knob position when checked */
99
- .ap-toggle-input:checked ~ .ap-toggle-switch .ap-toggle-knob {
100
- left: 18px;
101
- }
102
-
103
- /* Toggle icon */
104
- .ap-toggle-icon {
105
- width: 10px;
106
- height: 10px;
107
- min-width: 10px;
108
- max-width: 10px;
109
- max-height: 10px;
110
- position: absolute;
111
- color: var(--ref-color-grey-80);
112
- }
113
-
114
- /* Hide check icon by default, show close icon */
115
- .ap-toggle-icon-check {
116
- display: none;
117
- }
118
-
119
- .ap-toggle-icon-close {
120
- display: block;
121
- }
122
-
123
- /* When checked: hide close icon, show check icon */
124
- .ap-toggle-input:checked ~ .ap-toggle-switch .ap-toggle-icon-close {
125
- display: none;
126
- }
127
-
128
- .ap-toggle-input:checked ~ .ap-toggle-switch .ap-toggle-icon-check {
129
- display: block;
130
- }
131
-
132
- /* Icon color when checked */
133
- .ap-toggle-input:checked ~ .ap-toggle-switch .ap-toggle-icon {
134
- color: var(--ref-color-electric-blue-150);
135
- }
136
-
137
- /* Icon color when disabled */
138
- .ap-toggle-switch.disabled .ap-toggle-icon,
139
- .ap-toggle-input:disabled ~ .ap-toggle-switch .ap-toggle-icon {
140
- color: var(--ref-color-grey-40);
141
- }
142
-
143
- /* Label styling */
144
- .ap-toggle-label {
145
- display: flex;
146
- align-items: center;
147
- font-family: var(--sys-text-style-body-font-family);
148
- font-size: var(--sys-text-style-body-size);
149
- font-weight: var(--sys-text-style-body-weight);
150
- line-height: var(--sys-text-style-body-line-height);
151
- color: var(--ref-color-grey-100);
152
- user-select: none;
153
- }
154
-
155
- .ap-toggle-label:empty {
156
- display: none;
157
- }
158
-
159
- .ap-toggle-label.disabled {
160
- color: var(--ref-color-grey-60);
161
- }