@lumston/ds-angular 0.0.5 → 0.0.7

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 (30) hide show
  1. package/package.json +2 -2
  2. package/styles/index.css +1 -1
  3. package/styles/components/data-display/badge/badge.styles.css +0 -244
  4. package/styles/components/data-display/chip/chip.styles.css +0 -245
  5. package/styles/components/dropdown/dropdown.styles.css +0 -14
  6. package/styles/components/feedback/alert/alert.styles.css +0 -304
  7. package/styles/components/feedback/loader/loader.styles.css +0 -132
  8. package/styles/components/feedback/progress-bar/progress-bar.styles.css +0 -193
  9. package/styles/components/icon/icon.styles.css +0 -11
  10. package/styles/components/inputs/button/button.styles.css +0 -377
  11. package/styles/components/inputs/checkbox/checkbox.styles.css +0 -157
  12. package/styles/components/inputs/icon-button/icon-button.styles.css +0 -157
  13. package/styles/components/inputs/radio-button/radio-button.styles.css +0 -274
  14. package/styles/components/inputs/slider/slider.styles.css +0 -228
  15. package/styles/components/inputs/switch/switch.styles.css +0 -483
  16. package/styles/components/media/avatar/avatar.styles.css +0 -112
  17. package/styles/components/media/avatar-group/avatar-group.styles.css +0 -37
  18. package/styles/components/media/logo/logo.styles.css +0 -40
  19. package/styles/components/navigation/breadcrumb/breadcrumb.styles.css +0 -144
  20. package/styles/components/navigation/pagination/pagination.styles.css +0 -336
  21. package/styles/components/overlay/menu/menu.styles.css +0 -138
  22. package/styles/components/overlay/modal/modal.styles.css +0 -178
  23. package/styles/components/overlay/popover/popover.styles.css +0 -112
  24. package/styles/components/overlay/tooltip/tooltip.styles.css +0 -172
  25. package/styles/components/styles/_base.css +0 -10
  26. package/styles/components/styles/_tokens.css +0 -75
  27. package/styles/components/styles/index.css +0 -28
  28. package/styles/components/typography/link/link.styles.css +0 -93
  29. package/styles/components/typography/tag/tag.styles.css +0 -274
  30. package/styles/components/typography/text/text.styles.css +0 -176
@@ -1,274 +0,0 @@
1
- /* Radio Button Component — Pure CSS */
2
-
3
- /* === Host === */
4
- :host {
5
- display: inline-flex;
6
- }
7
-
8
- /* === Base === */
9
- .radio {
10
- display: inline-flex;
11
- align-items: center;
12
- gap: 8px;
13
- cursor: pointer;
14
- position: relative;
15
- }
16
-
17
- /* === Indicator === */
18
- .radio-indicator {
19
- position: relative;
20
- display: inline-flex;
21
- align-items: center;
22
- justify-content: center;
23
- border: 2px solid #c4c4c4;
24
- border-radius: 50%;
25
- background-color: transparent;
26
- padding: 0;
27
- cursor: pointer;
28
- transition:
29
- border-color var(--ls-transition-duration),
30
- background-color var(--ls-transition-duration);
31
- outline: none;
32
- flex-shrink: 0;
33
- }
34
-
35
- .radio-indicator::after {
36
- content: '';
37
- position: absolute;
38
- border-radius: 50%;
39
- transform: scale(0);
40
- transition: transform var(--ls-transition-duration);
41
- }
42
-
43
- .radio-checked .radio-indicator::after {
44
- transform: scale(1);
45
- }
46
-
47
- /* === Label === */
48
- .radio-label {
49
- user-select: none;
50
- cursor: pointer;
51
- font-size: 0.875rem;
52
- }
53
-
54
- /* ═══════════════════════════════════════════════════════
55
- SIZES
56
- ═══════════════════════════════════════════════════════ */
57
-
58
- /* Small */
59
- .radio-sm .radio-indicator {
60
- width: 16px;
61
- height: 16px;
62
- }
63
-
64
- .radio-sm .radio-indicator::after {
65
- width: 8px;
66
- height: 8px;
67
- }
68
-
69
- /* Medium */
70
- .radio-md .radio-indicator {
71
- width: 20px;
72
- height: 20px;
73
- }
74
-
75
- .radio-md .radio-indicator::after {
76
- width: 10px;
77
- height: 10px;
78
- }
79
-
80
- /* ═══════════════════════════════════════════════════════
81
- COLORS — Checked state
82
- ═══════════════════════════════════════════════════════ */
83
-
84
- .radio-checked.radio-color-inherit .radio-indicator {
85
- border-color: inherit;
86
- }
87
-
88
- .radio-checked.radio-color-inherit .radio-indicator::after {
89
- background-color: inherit;
90
- }
91
-
92
- .radio-checked.radio-color-primary .radio-indicator {
93
- border-color: var(--ls-color-primary);
94
- }
95
-
96
- .radio-checked.radio-color-primary .radio-indicator::after {
97
- background-color: var(--ls-color-primary);
98
- }
99
-
100
- .radio-checked.radio-color-secondary .radio-indicator {
101
- border-color: var(--ls-color-secondary);
102
- }
103
-
104
- .radio-checked.radio-color-secondary .radio-indicator::after {
105
- background-color: var(--ls-color-secondary);
106
- }
107
-
108
- .radio-checked.radio-color-success .radio-indicator {
109
- border-color: var(--ls-color-success);
110
- }
111
-
112
- .radio-checked.radio-color-success .radio-indicator::after {
113
- background-color: var(--ls-color-success);
114
- }
115
-
116
- .radio-checked.radio-color-error .radio-indicator {
117
- border-color: var(--ls-color-error);
118
- }
119
-
120
- .radio-checked.radio-color-error .radio-indicator::after {
121
- background-color: var(--ls-color-error);
122
- }
123
-
124
- .radio-checked.radio-color-info .radio-indicator {
125
- border-color: var(--ls-color-info);
126
- }
127
-
128
- .radio-checked.radio-color-info .radio-indicator::after {
129
- background-color: var(--ls-color-info);
130
- }
131
-
132
- .radio-checked.radio-color-warning .radio-indicator {
133
- border-color: var(--ls-color-warning);
134
- }
135
-
136
- .radio-checked.radio-color-warning .radio-indicator::after {
137
- background-color: var(--ls-color-warning);
138
- }
139
-
140
- /* ═══════════════════════════════════════════════════════
141
- LABEL PLACEMENT
142
- ═══════════════════════════════════════════════════════ */
143
-
144
- .radio-label-end {
145
- flex-direction: row;
146
- }
147
-
148
- .radio-label-start {
149
- flex-direction: row-reverse;
150
- }
151
-
152
- .radio-label-top {
153
- flex-direction: column-reverse;
154
- align-items: center;
155
- }
156
-
157
- .radio-label-bottom {
158
- flex-direction: column;
159
- align-items: center;
160
- }
161
-
162
- /* ═══════════════════════════════════════════════════════
163
- DISABLED
164
- ═══════════════════════════════════════════════════════ */
165
-
166
- .radio-disabled {
167
- cursor: not-allowed;
168
- opacity: 0.5;
169
- pointer-events: none;
170
- }
171
-
172
- .radio-disabled .radio-label {
173
- cursor: not-allowed;
174
- }
175
-
176
- .radio-disabled .radio-indicator {
177
- cursor: not-allowed;
178
- }
179
-
180
- /* ═══════════════════════════════════════════════════════
181
- FOCUS
182
- ═══════════════════════════════════════════════════════ */
183
-
184
- .radio-indicator:focus-visible {
185
- outline: 2px solid currentColor;
186
- outline-offset: 2px;
187
- border-radius: 50%;
188
- }
189
-
190
- /* ═══════════════════════════════════════════════════════
191
- DARK MODE
192
- ═══════════════════════════════════════════════════════ */
193
-
194
- body.dark .radio-indicator {
195
- border-color: #555;
196
- }
197
-
198
- body.dark .radio-label {
199
- color: #e0e6ed;
200
- }
201
-
202
- /* Dark mode — checked (maintains token colors) */
203
-
204
- body.dark
205
- .radio-checked.radio-color-primary
206
- .radio-indicator {
207
- border-color: var(--ls-color-primary);
208
- }
209
-
210
- body.dark
211
- .radio-checked.radio-color-primary
212
- .radio-indicator::after {
213
- background-color: var(--ls-color-primary);
214
- }
215
-
216
- body.dark
217
- .radio-checked.radio-color-secondary
218
- .radio-indicator {
219
- border-color: var(--ls-color-secondary);
220
- }
221
-
222
- body.dark
223
- .radio-checked.radio-color-secondary
224
- .radio-indicator::after {
225
- background-color: var(--ls-color-secondary);
226
- }
227
-
228
- body.dark
229
- .radio-checked.radio-color-success
230
- .radio-indicator {
231
- border-color: var(--ls-color-success);
232
- }
233
-
234
- body.dark
235
- .radio-checked.radio-color-success
236
- .radio-indicator::after {
237
- background-color: var(--ls-color-success);
238
- }
239
-
240
- body.dark
241
- .radio-checked.radio-color-error
242
- .radio-indicator {
243
- border-color: var(--ls-color-error);
244
- }
245
-
246
- body.dark
247
- .radio-checked.radio-color-error
248
- .radio-indicator::after {
249
- background-color: var(--ls-color-error);
250
- }
251
-
252
- body.dark
253
- .radio-checked.radio-color-info
254
- .radio-indicator {
255
- border-color: var(--ls-color-info);
256
- }
257
-
258
- body.dark
259
- .radio-checked.radio-color-info
260
- .radio-indicator::after {
261
- background-color: var(--ls-color-info);
262
- }
263
-
264
- body.dark
265
- .radio-checked.radio-color-warning
266
- .radio-indicator {
267
- border-color: var(--ls-color-warning);
268
- }
269
-
270
- body.dark
271
- .radio-checked.radio-color-warning
272
- .radio-indicator::after {
273
- background-color: var(--ls-color-warning);
274
- }
@@ -1,228 +0,0 @@
1
- /* Slider Component -- Pure CSS */
2
-
3
- :host {
4
- display: block;
5
- }
6
-
7
- /* ── Base ── */
8
-
9
- .ls-slider {
10
- position: relative;
11
- height: 38px;
12
- cursor: pointer;
13
- padding: 15px 0;
14
- touch-action: none;
15
- user-select: none;
16
- }
17
-
18
- .ls-slider__rail {
19
- position: absolute;
20
- top: 50%;
21
- left: 0;
22
- width: 100%;
23
- border-radius: 9999px;
24
- background: #e0e6ed;
25
- transform: translateY(-50%);
26
- }
27
-
28
- .ls-slider__track {
29
- position: absolute;
30
- top: 50%;
31
- border-radius: 9999px;
32
- background: var(--ls-slider-main-color);
33
- transform: translateY(-50%);
34
- }
35
-
36
- .ls-slider__thumb {
37
- position: absolute;
38
- top: 50%;
39
- z-index: 1;
40
- display: flex;
41
- align-items: center;
42
- justify-content: center;
43
- border-radius: 50%;
44
- background: var(--ls-slider-main-color);
45
- box-shadow:
46
- 0 1px 3px rgba(0, 0, 0, 0.2),
47
- 0 0 0 0 transparent;
48
- cursor: grab;
49
- transform: translate(-50%, -50%);
50
- transition:
51
- box-shadow 150ms ease,
52
- width 150ms ease,
53
- height 150ms ease;
54
- }
55
-
56
- .ls-slider__thumb:hover {
57
- box-shadow:
58
- 0 1px 3px rgba(0, 0, 0, 0.2),
59
- 0 0 0 8px
60
- color-mix(
61
- in srgb,
62
- var(--ls-slider-main-color) 16%,
63
- transparent
64
- );
65
- }
66
-
67
- .ls-slider__thumb:focus-visible {
68
- outline: 2px solid var(--ls-slider-main-color);
69
- outline-offset: 2px;
70
- }
71
-
72
- .ls-slider__thumb--active {
73
- cursor: grabbing;
74
- box-shadow:
75
- 0 1px 3px rgba(0, 0, 0, 0.2),
76
- 0 0 0 12px
77
- color-mix(
78
- in srgb,
79
- var(--ls-slider-main-color) 24%,
80
- transparent
81
- );
82
- }
83
-
84
- .ls-slider__value-label {
85
- position: absolute;
86
- bottom: calc(100% + 6px);
87
- left: 50%;
88
- padding: 2px 8px;
89
- border-radius: 4px;
90
- background: var(--ls-color-dark, #3b3f5c);
91
- color: #fff;
92
- font-size: 12px;
93
- font-weight: 600;
94
- line-height: 1.4;
95
- white-space: nowrap;
96
- transform: translateX(-50%);
97
- pointer-events: none;
98
- }
99
-
100
- .ls-slider__mark {
101
- position: absolute;
102
- top: 50%;
103
- border-radius: 50%;
104
- background: #bfc9d4;
105
- transform: translate(-50%, -50%);
106
- }
107
-
108
- .ls-slider__mark--active {
109
- background: var(--ls-slider-main-color);
110
- }
111
-
112
- .ls-slider__mark-label {
113
- position: absolute;
114
- top: calc(50% + 14px);
115
- color: #888ea8;
116
- font-size: 11px;
117
- white-space: nowrap;
118
- transform: translateX(-50%);
119
- }
120
-
121
- /* ── Size: medium (default) ── */
122
-
123
- .ls-slider--medium .ls-slider__rail {
124
- height: 4px;
125
- }
126
-
127
- .ls-slider--medium .ls-slider__track {
128
- height: 4px;
129
- }
130
-
131
- .ls-slider--medium .ls-slider__thumb {
132
- width: 20px;
133
- height: 20px;
134
- }
135
-
136
- .ls-slider--medium .ls-slider__mark {
137
- width: 4px;
138
- height: 4px;
139
- }
140
-
141
- .ls-slider--medium .ls-slider__value-label {
142
- font-size: 12px;
143
- }
144
-
145
- /* ── Size: small ── */
146
-
147
- .ls-slider--small .ls-slider__rail {
148
- height: 2px;
149
- }
150
-
151
- .ls-slider--small .ls-slider__track {
152
- height: 2px;
153
- }
154
-
155
- .ls-slider--small .ls-slider__thumb {
156
- width: 12px;
157
- height: 12px;
158
- }
159
-
160
- .ls-slider--small .ls-slider__mark {
161
- width: 3px;
162
- height: 3px;
163
- }
164
-
165
- .ls-slider--small .ls-slider__value-label {
166
- font-size: 10px;
167
- }
168
-
169
- /* ── Color variants ── */
170
-
171
- .ls-slider--primary {
172
- --ls-slider-main-color: var(--ls-color-primary);
173
- }
174
-
175
- .ls-slider--secondary {
176
- --ls-slider-main-color: var(--ls-color-secondary);
177
- }
178
-
179
- .ls-slider--success {
180
- --ls-slider-main-color: var(--ls-color-success);
181
- }
182
-
183
- .ls-slider--error {
184
- --ls-slider-main-color: var(--ls-color-error);
185
- }
186
-
187
- .ls-slider--info {
188
- --ls-slider-main-color: var(--ls-color-info);
189
- }
190
-
191
- .ls-slider--warning {
192
- --ls-slider-main-color: var(--ls-color-warning);
193
- }
194
-
195
- /* ── States ── */
196
-
197
- .ls-slider--disabled {
198
- opacity: 0.5;
199
- cursor: default;
200
- pointer-events: none;
201
- }
202
-
203
- .ls-slider--active {
204
- cursor: grabbing;
205
- }
206
-
207
- /* ── Dark mode ── */
208
-
209
- body.dark .ls-slider__rail {
210
- background: rgba(255, 255, 255, 0.15);
211
- }
212
-
213
- body.dark .ls-slider__mark {
214
- background: rgba(255, 255, 255, 0.3);
215
- }
216
-
217
- body.dark .ls-slider__mark--active {
218
- background: var(--ls-slider-main-color);
219
- }
220
-
221
- body.dark .ls-slider__mark-label {
222
- color: #888ea8;
223
- }
224
-
225
- body.dark .ls-slider__value-label {
226
- background: #1b2e4b;
227
- color: #e0e6ed;
228
- }