@lumston/ds-angular 0.0.6 → 0.0.8

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 (66) hide show
  1. package/fesm2022/lumston-ds-angular-src-data-display.mjs +215 -0
  2. package/fesm2022/lumston-ds-angular-src-data-display.mjs.map +1 -0
  3. package/fesm2022/lumston-ds-angular-src-dropdown.mjs +94 -0
  4. package/fesm2022/lumston-ds-angular-src-dropdown.mjs.map +1 -0
  5. package/fesm2022/lumston-ds-angular-src-feedback.mjs +400 -0
  6. package/fesm2022/lumston-ds-angular-src-feedback.mjs.map +1 -0
  7. package/fesm2022/lumston-ds-angular-src-icon.mjs +148 -0
  8. package/fesm2022/lumston-ds-angular-src-icon.mjs.map +1 -0
  9. package/fesm2022/lumston-ds-angular-src-inputs.mjs +1132 -0
  10. package/fesm2022/lumston-ds-angular-src-inputs.mjs.map +1 -0
  11. package/fesm2022/lumston-ds-angular-src-navigation.mjs +473 -0
  12. package/fesm2022/lumston-ds-angular-src-navigation.mjs.map +1 -0
  13. package/fesm2022/lumston-ds-angular-src-overlay.mjs +1038 -0
  14. package/fesm2022/lumston-ds-angular-src-overlay.mjs.map +1 -0
  15. package/fesm2022/lumston-ds-angular-src-typography.mjs +303 -0
  16. package/fesm2022/lumston-ds-angular-src-typography.mjs.map +1 -0
  17. package/fesm2022/lumston-ds-angular.mjs +90 -65
  18. package/fesm2022/lumston-ds-angular.mjs.map +1 -1
  19. package/package.json +58 -32
  20. package/styles/index.css +4 -0
  21. package/styles/ls-icons.css +482 -0
  22. package/types/lumston-ds-angular-src-data-display.d.ts +50 -0
  23. package/types/lumston-ds-angular-src-data-display.d.ts.map +1 -0
  24. package/types/lumston-ds-angular-src-dropdown.d.ts +28 -0
  25. package/types/lumston-ds-angular-src-dropdown.d.ts.map +1 -0
  26. package/types/lumston-ds-angular-src-feedback.d.ts +75 -0
  27. package/types/lumston-ds-angular-src-feedback.d.ts.map +1 -0
  28. package/types/lumston-ds-angular-src-icon.d.ts +27 -0
  29. package/types/lumston-ds-angular-src-icon.d.ts.map +1 -0
  30. package/types/lumston-ds-angular-src-inputs.d.ts +201 -0
  31. package/types/lumston-ds-angular-src-inputs.d.ts.map +1 -0
  32. package/types/lumston-ds-angular-src-navigation.d.ts +186 -0
  33. package/types/lumston-ds-angular-src-navigation.d.ts.map +1 -0
  34. package/types/lumston-ds-angular-src-overlay.d.ts +357 -0
  35. package/types/lumston-ds-angular-src-overlay.d.ts.map +1 -0
  36. package/types/lumston-ds-angular-src-typography.d.ts +51 -0
  37. package/types/lumston-ds-angular-src-typography.d.ts.map +1 -0
  38. package/types/lumston-ds-angular.d.ts.map +1 -1
  39. package/styles/data-display/badge/badge.styles.css +0 -244
  40. package/styles/data-display/chip/chip.styles.css +0 -245
  41. package/styles/dropdown/dropdown.styles.css +0 -14
  42. package/styles/feedback/alert/alert.styles.css +0 -304
  43. package/styles/feedback/loader/loader.styles.css +0 -132
  44. package/styles/feedback/progress-bar/progress-bar.styles.css +0 -193
  45. package/styles/icon/icon.styles.css +0 -11
  46. package/styles/inputs/button/button.styles.css +0 -377
  47. package/styles/inputs/checkbox/checkbox.styles.css +0 -157
  48. package/styles/inputs/icon-button/icon-button.styles.css +0 -157
  49. package/styles/inputs/radio-button/radio-button.styles.css +0 -274
  50. package/styles/inputs/slider/slider.styles.css +0 -228
  51. package/styles/inputs/switch/switch.styles.css +0 -483
  52. package/styles/media/avatar/avatar.styles.css +0 -112
  53. package/styles/media/avatar-group/avatar-group.styles.css +0 -37
  54. package/styles/media/logo/logo.styles.css +0 -40
  55. package/styles/navigation/breadcrumb/breadcrumb.styles.css +0 -144
  56. package/styles/navigation/pagination/pagination.styles.css +0 -336
  57. package/styles/overlay/menu/menu.styles.css +0 -138
  58. package/styles/overlay/modal/modal.styles.css +0 -178
  59. package/styles/overlay/popover/popover.styles.css +0 -112
  60. package/styles/overlay/tooltip/tooltip.styles.css +0 -172
  61. package/styles/styles/index.css +0 -28
  62. package/styles/typography/link/link.styles.css +0 -93
  63. package/styles/typography/tag/tag.styles.css +0 -274
  64. package/styles/typography/text/text.styles.css +0 -176
  65. /package/styles/{styles/_base.css → _base.css} +0 -0
  66. /package/styles/{styles/_tokens.css → _tokens.css} +0 -0
@@ -1,483 +0,0 @@
1
- /* Switch Component — Pure CSS */
2
-
3
- :host {
4
- display: inline-flex;
5
- }
6
-
7
- .switch {
8
- display: inline-flex;
9
- align-items: center;
10
- gap: 8px;
11
- cursor: pointer;
12
- position: relative;
13
- }
14
-
15
- /* ── Track ── */
16
-
17
- .switch-track {
18
- position: relative;
19
- display: inline-flex;
20
- align-items: center;
21
- border: none;
22
- border-radius: 999px;
23
- padding: 2px;
24
- cursor: pointer;
25
- transition:
26
- background-color var(--ls-transition-duration),
27
- border-color var(--ls-transition-duration);
28
- outline: none;
29
- flex-shrink: 0;
30
- }
31
-
32
- /* ── Thumb ── */
33
-
34
- .switch-thumb {
35
- display: flex;
36
- align-items: center;
37
- justify-content: center;
38
- border-radius: 50%;
39
- background-color: #fff;
40
- transition: transform var(--ls-transition-duration);
41
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
42
- }
43
-
44
- /* ── Icon inside thumb ── */
45
-
46
- .switch-icon {
47
- display: flex;
48
- align-items: center;
49
- justify-content: center;
50
- line-height: 0;
51
- color: #999;
52
- }
53
-
54
- .switch-icon svg {
55
- width: 100%;
56
- height: 100%;
57
- }
58
-
59
- /* ── Label ── */
60
-
61
- .switch-label {
62
- user-select: none;
63
- cursor: pointer;
64
- font-size: 0.875rem;
65
- }
66
-
67
- /* ═══════════════════════════════════════════════════════
68
- SIZES
69
- ═══════════════════════════════════════════════════════ */
70
-
71
- /* Small */
72
-
73
- .switch-sm .switch-track {
74
- width: 34px;
75
- height: 20px;
76
- }
77
-
78
- .switch-sm .switch-thumb {
79
- width: 16px;
80
- height: 16px;
81
- }
82
-
83
- .switch-sm .switch-icon {
84
- width: 10px;
85
- height: 10px;
86
- }
87
-
88
- .switch-sm.switch-checked .switch-thumb {
89
- transform: translateX(14px);
90
- }
91
-
92
- /* Medium */
93
-
94
- .switch-md .switch-track {
95
- width: 42px;
96
- height: 24px;
97
- }
98
-
99
- .switch-md .switch-thumb {
100
- width: 20px;
101
- height: 20px;
102
- }
103
-
104
- .switch-md .switch-icon {
105
- width: 12px;
106
- height: 12px;
107
- }
108
-
109
- .switch-md.switch-checked .switch-thumb {
110
- transform: translateX(18px);
111
- }
112
-
113
- /* ═══════════════════════════════════════════════════════
114
- VARIANTS — Unchecked
115
- ═══════════════════════════════════════════════════════ */
116
-
117
- /* Solid unchecked */
118
-
119
- .switch-solid .switch-track {
120
- background-color: #c4c4c4;
121
- }
122
-
123
- /* Outlined unchecked */
124
-
125
- .switch-outlined .switch-track {
126
- background-color: transparent;
127
- border: 2px solid #999;
128
- }
129
-
130
- .switch-outlined .switch-track {
131
- padding: 0;
132
- }
133
-
134
- .switch-outlined .switch-thumb {
135
- background-color: #999;
136
- }
137
-
138
- .switch-outlined .switch-icon {
139
- color: #fff;
140
- }
141
-
142
- /* ═══════════════════════════════════════════════════════
143
- COLORS — Checked state
144
- ═══════════════════════════════════════════════════════ */
145
-
146
- /* Solid checked */
147
-
148
- .switch-checked.switch-solid.switch-color-inherit
149
- .switch-track {
150
- background-color: inherit;
151
- }
152
-
153
- .switch-checked.switch-solid.switch-color-primary
154
- .switch-track {
155
- background-color: var(--ls-color-primary);
156
- }
157
-
158
- .switch-checked.switch-solid.switch-color-secondary
159
- .switch-track {
160
- background-color: var(--ls-color-secondary);
161
- }
162
-
163
- .switch-checked.switch-solid.switch-color-success
164
- .switch-track {
165
- background-color: var(--ls-color-success);
166
- }
167
-
168
- .switch-checked.switch-solid.switch-color-error
169
- .switch-track {
170
- background-color: var(--ls-color-danger);
171
- }
172
-
173
- .switch-checked.switch-solid.switch-color-info
174
- .switch-track {
175
- background-color: var(--ls-color-info);
176
- }
177
-
178
- .switch-checked.switch-solid.switch-color-warning
179
- .switch-track {
180
- background-color: var(--ls-color-warning);
181
- }
182
-
183
- /* Outlined checked */
184
-
185
- .switch-checked.switch-outlined.switch-color-inherit
186
- .switch-track {
187
- border-color: inherit;
188
- }
189
-
190
- .switch-checked.switch-outlined.switch-color-primary
191
- .switch-track {
192
- border-color: var(--ls-color-primary);
193
- }
194
-
195
- .switch-checked.switch-outlined.switch-color-secondary
196
- .switch-track {
197
- border-color: var(--ls-color-secondary);
198
- }
199
-
200
- .switch-checked.switch-outlined.switch-color-success
201
- .switch-track {
202
- border-color: var(--ls-color-success);
203
- }
204
-
205
- .switch-checked.switch-outlined.switch-color-error
206
- .switch-track {
207
- border-color: var(--ls-color-danger);
208
- }
209
-
210
- .switch-checked.switch-outlined.switch-color-info
211
- .switch-track {
212
- border-color: var(--ls-color-info);
213
- }
214
-
215
- .switch-checked.switch-outlined.switch-color-warning
216
- .switch-track {
217
- border-color: var(--ls-color-warning);
218
- }
219
-
220
- /* Outlined checked — thumb color */
221
-
222
- .switch-checked.switch-outlined.switch-color-inherit
223
- .switch-thumb {
224
- background-color: inherit;
225
- }
226
-
227
- .switch-checked.switch-outlined.switch-color-primary
228
- .switch-thumb {
229
- background-color: var(--ls-color-primary);
230
- }
231
-
232
- .switch-checked.switch-outlined.switch-color-secondary
233
- .switch-thumb {
234
- background-color: var(--ls-color-secondary);
235
- }
236
-
237
- .switch-checked.switch-outlined.switch-color-success
238
- .switch-thumb {
239
- background-color: var(--ls-color-success);
240
- }
241
-
242
- .switch-checked.switch-outlined.switch-color-error
243
- .switch-thumb {
244
- background-color: var(--ls-color-danger);
245
- }
246
-
247
- .switch-checked.switch-outlined.switch-color-info
248
- .switch-thumb {
249
- background-color: var(--ls-color-info);
250
- }
251
-
252
- .switch-checked.switch-outlined.switch-color-warning
253
- .switch-thumb {
254
- background-color: var(--ls-color-warning);
255
- }
256
-
257
- /* Outlined checked icon color — white for contrast */
258
-
259
- .switch-checked.switch-outlined .switch-icon {
260
- color: #fff;
261
- }
262
-
263
- /* Solid checked icon color — color token for contrast on white thumb */
264
-
265
- .switch-checked.switch-solid .switch-icon {
266
- color: var(--ls-color-primary);
267
- }
268
-
269
- .switch-checked.switch-solid.switch-color-secondary
270
- .switch-icon {
271
- color: var(--ls-color-secondary);
272
- }
273
-
274
- .switch-checked.switch-solid.switch-color-success
275
- .switch-icon {
276
- color: var(--ls-color-success);
277
- }
278
-
279
- .switch-checked.switch-solid.switch-color-error
280
- .switch-icon {
281
- color: var(--ls-color-danger);
282
- }
283
-
284
- .switch-checked.switch-solid.switch-color-info
285
- .switch-icon {
286
- color: var(--ls-color-info);
287
- }
288
-
289
- .switch-checked.switch-solid.switch-color-warning
290
- .switch-icon {
291
- color: var(--ls-color-warning);
292
- }
293
-
294
- .switch-checked.switch-solid.switch-color-inherit
295
- .switch-icon {
296
- color: inherit;
297
- }
298
-
299
- /* ═══════════════════════════════════════════════════════
300
- LABEL PLACEMENT
301
- ═══════════════════════════════════════════════════════ */
302
-
303
- .switch-label-end {
304
- flex-direction: row;
305
- }
306
-
307
- .switch-label-start {
308
- flex-direction: row-reverse;
309
- }
310
-
311
- .switch-label-top {
312
- flex-direction: column-reverse;
313
- align-items: center;
314
- }
315
-
316
- .switch-label-bottom {
317
- flex-direction: column;
318
- align-items: center;
319
- }
320
-
321
- /* ═══════════════════════════════════════════════════════
322
- DISABLED
323
- ═══════════════════════════════════════════════════════ */
324
-
325
- .switch-disabled {
326
- cursor: not-allowed;
327
- opacity: 0.5;
328
- pointer-events: none;
329
- }
330
-
331
- .switch-disabled .switch-label {
332
- cursor: not-allowed;
333
- }
334
-
335
- .switch-disabled .switch-track {
336
- cursor: not-allowed;
337
- }
338
-
339
- /* ═══════════════════════════════════════════════════════
340
- FOCUS
341
- ═══════════════════════════════════════════════════════ */
342
-
343
- .switch-track:focus-visible {
344
- outline: 2px solid currentColor;
345
- outline-offset: 2px;
346
- border-radius: 999px;
347
- }
348
-
349
- /* ═══════════════════════════════════════════════════════
350
- DARK MODE
351
- ═══════════════════════════════════════════════════════ */
352
-
353
- body.dark .switch-solid .switch-track {
354
- background-color: #3b3f5c;
355
- }
356
-
357
- body.dark .switch-outlined .switch-track {
358
- border-color: #555;
359
- }
360
-
361
- body.dark .switch-outlined .switch-thumb {
362
- background-color: #888;
363
- }
364
-
365
- body.dark .switch-label {
366
- color: #e0e6ed;
367
- }
368
-
369
- body.dark .switch-icon {
370
- color: #bbb;
371
- }
372
-
373
- /* Dark mode — checked solid (overrides unchecked dark) */
374
-
375
- body.dark
376
- .switch-checked.switch-solid.switch-color-primary
377
- .switch-track {
378
- background-color: var(--ls-color-primary);
379
- }
380
-
381
- body.dark
382
- .switch-checked.switch-solid.switch-color-secondary
383
- .switch-track {
384
- background-color: var(--ls-color-secondary);
385
- }
386
-
387
- body.dark
388
- .switch-checked.switch-solid.switch-color-success
389
- .switch-track {
390
- background-color: var(--ls-color-success);
391
- }
392
-
393
- body.dark
394
- .switch-checked.switch-solid.switch-color-error
395
- .switch-track {
396
- background-color: var(--ls-color-danger);
397
- }
398
-
399
- body.dark
400
- .switch-checked.switch-solid.switch-color-info
401
- .switch-track {
402
- background-color: var(--ls-color-info);
403
- }
404
-
405
- body.dark
406
- .switch-checked.switch-solid.switch-color-warning
407
- .switch-track {
408
- background-color: var(--ls-color-warning);
409
- }
410
-
411
- /* Dark mode — checked outlined */
412
-
413
- body.dark
414
- .switch-checked.switch-outlined.switch-color-primary
415
- .switch-track {
416
- border-color: var(--ls-color-primary);
417
- }
418
-
419
- body.dark
420
- .switch-checked.switch-outlined.switch-color-secondary
421
- .switch-track {
422
- border-color: var(--ls-color-secondary);
423
- }
424
-
425
- body.dark
426
- .switch-checked.switch-outlined.switch-color-success
427
- .switch-track {
428
- border-color: var(--ls-color-success);
429
- }
430
-
431
- body.dark
432
- .switch-checked.switch-outlined.switch-color-error
433
- .switch-track {
434
- border-color: var(--ls-color-danger);
435
- }
436
-
437
- body.dark
438
- .switch-checked.switch-outlined.switch-color-info
439
- .switch-track {
440
- border-color: var(--ls-color-info);
441
- }
442
-
443
- body.dark
444
- .switch-checked.switch-outlined.switch-color-warning
445
- .switch-track {
446
- border-color: var(--ls-color-warning);
447
- }
448
-
449
- body.dark
450
- .switch-checked.switch-outlined.switch-color-primary
451
- .switch-thumb {
452
- background-color: var(--ls-color-primary);
453
- }
454
-
455
- body.dark
456
- .switch-checked.switch-outlined.switch-color-secondary
457
- .switch-thumb {
458
- background-color: var(--ls-color-secondary);
459
- }
460
-
461
- body.dark
462
- .switch-checked.switch-outlined.switch-color-success
463
- .switch-thumb {
464
- background-color: var(--ls-color-success);
465
- }
466
-
467
- body.dark
468
- .switch-checked.switch-outlined.switch-color-error
469
- .switch-thumb {
470
- background-color: var(--ls-color-danger);
471
- }
472
-
473
- body.dark
474
- .switch-checked.switch-outlined.switch-color-info
475
- .switch-thumb {
476
- background-color: var(--ls-color-info);
477
- }
478
-
479
- body.dark
480
- .switch-checked.switch-outlined.switch-color-warning
481
- .switch-thumb {
482
- background-color: var(--ls-color-warning);
483
- }
@@ -1,112 +0,0 @@
1
- /* Avatar Component — Pure CSS */
2
-
3
- /* === Host === */
4
- :host {
5
- display: contents;
6
- }
7
-
8
- /* === Base === */
9
- .avatar {
10
- display: inline-flex;
11
- align-items: center;
12
- justify-content: center;
13
- overflow: hidden;
14
- font-family: var(--ls-font-family);
15
- font-weight: 600;
16
- color: #fff;
17
- user-select: none;
18
- vertical-align: middle;
19
- }
20
-
21
- img.avatar {
22
- object-fit: cover;
23
- }
24
-
25
- /* ══════════════════════════════════════════════════════════════════════
26
- Size Modifiers
27
- ══════════════════════════════════════════════════════════════════════ */
28
-
29
- .avatar-small {
30
- width: 2.25rem;
31
- height: 2.25rem;
32
- font-size: 0.75rem;
33
- }
34
-
35
- .avatar-medium {
36
- width: 2.75rem;
37
- height: 2.75rem;
38
- font-size: 0.875rem;
39
- }
40
-
41
- .avatar-large {
42
- width: 3.5rem;
43
- height: 3.5rem;
44
- font-size: 1.125rem;
45
- }
46
-
47
- /* ══════════════════════════════════════════════════════════════════════
48
- Variant Modifiers
49
- ══════════════════════════════════════════════════════════════════════ */
50
-
51
- .avatar-circular {
52
- border-radius: var(--ls-border-radius-full);
53
- }
54
-
55
- .avatar-rounded {
56
- border-radius: var(--ls-border-radius-md);
57
- }
58
-
59
- .avatar-square {
60
- border-radius: 0;
61
- }
62
-
63
- /* ══════════════════════════════════════════════════════════════════════
64
- Color Modifiers (text mode)
65
- ══════════════════════════════════════════════════════════════════════ */
66
-
67
- .avatar-color-primary {
68
- background-color: var(--ls-color-primary);
69
- }
70
-
71
- .avatar-color-secondary {
72
- background-color: var(--ls-color-secondary);
73
- }
74
-
75
- .avatar-color-error {
76
- background-color: var(--ls-color-error);
77
- }
78
-
79
- .avatar-color-info {
80
- background-color: var(--ls-color-info);
81
- }
82
-
83
- .avatar-color-success {
84
- background-color: var(--ls-color-success);
85
- }
86
-
87
- .avatar-color-warning {
88
- background-color: var(--ls-color-warning);
89
- }
90
-
91
- /* ══════════════════════════════════════════════════════════════════════
92
- Fallback
93
- ══════════════════════════════════════════════════════════════════════ */
94
-
95
- .avatar-fallback {
96
- background-color: var(--ls-color-dark);
97
- }
98
-
99
- .avatar-icon {
100
- width: 60%;
101
- height: 60%;
102
- fill: currentColor;
103
- }
104
-
105
- /* ══════════════════════════════════════════════════════════════════════
106
- Dark Mode
107
- ══════════════════════════════════════════════════════════════════════ */
108
-
109
- body.dark .avatar-fallback {
110
- background-color: #3b3f5c;
111
- color: #e0e6ed;
112
- }
@@ -1,37 +0,0 @@
1
- /* AvatarGroup Component — Pure CSS */
2
-
3
- /* === Host === */
4
- :host {
5
- display: contents;
6
- }
7
-
8
- /* === Base === */
9
- .avatar-group {
10
- display: inline-flex;
11
- align-items: center;
12
- }
13
-
14
- /* === Items === */
15
- .avatar-group-item {
16
- position: relative;
17
- display: flex;
18
- align-items: center;
19
- margin-left: -0.5rem;
20
- }
21
-
22
- .avatar-group-item:first-child {
23
- margin-left: 0;
24
- }
25
-
26
- /* === Border ring for stacking contrast === */
27
- .avatar-group-item .avatar {
28
- border: 2px solid #fff;
29
- }
30
-
31
- /* ══════════════════════════════════════════════════════════════════════
32
- Dark Mode
33
- ══════════════════════════════════════════════════════════════════════ */
34
-
35
- body.dark .avatar-group-item .avatar {
36
- border-color: #1b2e4b;
37
- }
@@ -1,40 +0,0 @@
1
- /* Logo Component — Pure CSS */
2
-
3
- /* === Host === */
4
- :host {
5
- display: contents;
6
- }
7
-
8
- /* === Base === */
9
- .logo {
10
- display: block;
11
- height: auto;
12
- max-width: 100%;
13
- object-fit: contain;
14
- }
15
-
16
- /* ══════════════════════════════════════════════════════════════════════
17
- Size Modifiers
18
- ══════════════════════════════════════════════════════════════════════ */
19
-
20
- .logo-small {
21
- height: 1.5rem;
22
- }
23
-
24
- .logo-medium {
25
- height: 2rem;
26
- }
27
-
28
- .logo-large {
29
- height: 2.5rem;
30
- }
31
-
32
- /* ══════════════════════════════════════════════════════════════════════
33
- Link Wrapper
34
- ══════════════════════════════════════════════════════════════════════ */
35
-
36
- .logo-link {
37
- display: inline-flex;
38
- line-height: 0;
39
- text-decoration: none;
40
- }