@brickclay-org/ui 0.0.9 → 0.0.13

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/README.md +1 -1
  2. package/package.json +16 -15
  3. package/ng-package.json +0 -8
  4. package/src/lib/assets/icons.ts +0 -8
  5. package/src/lib/brickclay-lib.spec.ts +0 -23
  6. package/src/lib/brickclay-lib.ts +0 -15
  7. package/src/lib/calender/calendar.module.ts +0 -35
  8. package/src/lib/calender/components/custom-calendar/custom-calendar.component.css +0 -698
  9. package/src/lib/calender/components/custom-calendar/custom-calendar.component.html +0 -230
  10. package/src/lib/calender/components/custom-calendar/custom-calendar.component.spec.ts +0 -23
  11. package/src/lib/calender/components/custom-calendar/custom-calendar.component.ts +0 -1534
  12. package/src/lib/calender/components/scheduled-date-picker/scheduled-date-picker.component.css +0 -373
  13. package/src/lib/calender/components/scheduled-date-picker/scheduled-date-picker.component.html +0 -210
  14. package/src/lib/calender/components/scheduled-date-picker/scheduled-date-picker.component.ts +0 -360
  15. package/src/lib/calender/components/time-picker/time-picker.component.css +0 -174
  16. package/src/lib/calender/components/time-picker/time-picker.component.html +0 -60
  17. package/src/lib/calender/components/time-picker/time-picker.component.ts +0 -283
  18. package/src/lib/calender/services/calendar-manager.service.ts +0 -45
  19. package/src/lib/checkbox/checkbox.css +0 -26
  20. package/src/lib/checkbox/checkbox.html +0 -42
  21. package/src/lib/checkbox/checkbox.ts +0 -67
  22. package/src/lib/radio/radio.css +0 -39
  23. package/src/lib/radio/radio.html +0 -58
  24. package/src/lib/radio/radio.ts +0 -77
  25. package/src/lib/toggle/components/toggle.component.css +0 -74
  26. package/src/lib/toggle/components/toggle.component.html +0 -24
  27. package/src/lib/toggle/components/toggle.component.ts +0 -62
  28. package/src/public-api.ts +0 -20
  29. package/tsconfig.lib.json +0 -19
  30. package/tsconfig.lib.prod.json +0 -11
  31. package/tsconfig.spec.json +0 -15
@@ -1,698 +0,0 @@
1
- /* @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); */
2
-
3
- .calendar-container,
4
- .calendar-container * {
5
- font-family: 'Inter', sans-serif !important;
6
- }
7
- /* --------------------------
8
- CALENDAR CONTAINER
9
- ---------------------------*/
10
- .calendar-container {
11
- position: relative;
12
- display: inline-block;
13
- width: 100%;
14
- }
15
-
16
- /* --------------------------
17
- INPUT WRAPPER
18
- ---------------------------*/
19
- .input-wrapper {
20
- position: relative;
21
- display: flex;
22
- align-items: center;
23
- }
24
-
25
- .calendar-input {
26
- width: 100%;
27
- padding: 9px 14px 9px 40px;
28
- border: 1px solid #ddd;
29
- border-radius: 8px;
30
- font-size: 14px;
31
- cursor: pointer;
32
- background: #fff;
33
- transition: all 0.2s;
34
- }
35
-
36
- .calendar-input:hover {
37
- border-color: #999;
38
- }
39
-
40
- .calendar-input:focus {
41
- outline: none;
42
- border-color: #999;
43
- box-shadow: 0 0 0 3px rgb(106 106 106 / 10%);
44
- }
45
-
46
- .calendar-icon {
47
- position: absolute;
48
- left: 12px;
49
- pointer-events: none;
50
- font-size: 18px;
51
- }
52
-
53
- .clear-btn {
54
- position: absolute;
55
- right: 9px;
56
- background: none;
57
- border: none;
58
- font-size: 20px;
59
- color: #999;
60
- cursor: pointer;
61
- padding: 0;
62
- width: 20px;
63
- height: 20px;
64
- display: flex;
65
- align-items: center;
66
- justify-content: center;
67
- line-height: 1;
68
- transition: color 0.2s;
69
- top: 8px;
70
- }
71
-
72
- .clear-btn:hover {
73
- color: #333;
74
- }
75
-
76
- /* --------------------------
77
- CALENDAR POPUP
78
- ---------------------------*/
79
- .calendar-popup {
80
- position: absolute;
81
- top: 110%;
82
- left: 0;
83
- width: 320px;
84
- background: #fff;
85
- border-radius: 12px;
86
- box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
87
- /* padding: 16px; */
88
- z-index: 1000;
89
- animation: slideDown 0.2s ease-out;
90
- }
91
-
92
- /* Inline Calendar Mode */
93
- .calendar-popup.inline-calendar {
94
- position: relative;
95
- top: 0;
96
- left: 0;
97
- width: 100%;
98
- margin-top: 0;
99
- animation: none;
100
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
101
- }
102
-
103
- .calendar-container.inline-mode {
104
- display: block;
105
- width: 100%;
106
- }
107
-
108
- /* Increase width for dual calendar */
109
- .calendar-popup.dual-calendar-mode {
110
- width: 600px;
111
- }
112
- .calendar-popup.dual-calendar-mode.has-ranges {
113
- width: 730px;
114
- }
115
- .calendar-popup.has-ranges {
116
- width: 450px;
117
- }
118
-
119
- .calendar-popup.dual-calendar-mode.has-ranges .dual-calendar {
120
- border-left: 1px solid #eee;
121
- }
122
-
123
- .calendar-popup.drop-up {
124
- top: auto;
125
- bottom: 110%;
126
- animation: slideUp 0.2s ease-out;
127
- }
128
-
129
- .calendar-popup.position-right {
130
- left: auto;
131
- right: 0;
132
- }
133
-
134
- .calendar-popup.position-center {
135
- left: 50%;
136
- transform: translateX(-50%);
137
- }
138
-
139
- @keyframes slideDown {
140
- from {
141
- opacity: 0;
142
- transform: translateY(-10px);
143
- }
144
- to {
145
- opacity: 1;
146
- transform: translateY(0);
147
- }
148
- }
149
-
150
- @keyframes slideUp {
151
- from {
152
- opacity: 0;
153
- transform: translateY(10px);
154
- }
155
- to {
156
- opacity: 1;
157
- transform: translateY(0);
158
- }
159
- }
160
-
161
- /* --------------------------
162
- RANGES SECTION
163
- ---------------------------*/
164
- .ranges {
165
- display: flex;
166
- flex-direction: column;
167
- gap: 4px;
168
- margin-bottom: 16px;
169
- padding-bottom: 16px;
170
- border-bottom: 1px solid #eee;
171
- /* max-height: 300px; */
172
- /* overflow-y: auto; */
173
- min-width: 150px;
174
- padding-right: 8px;
175
- }
176
-
177
- .range-btn {
178
- padding: 7px 10px;
179
- border: 1px solid transparent;
180
- background: transparent;
181
- border-radius: 4px;
182
- cursor: pointer;
183
- text-align: left;
184
- font-size: 14px;
185
- transition: all 0.2s;
186
- color: #838383;
187
- font-weight: 500;
188
- }
189
-
190
- .range-btn:hover {
191
- background: #f5f5f5;
192
- color: #000;
193
- }
194
-
195
- .range-btn.active {
196
- background: #f0f0f0;
197
- color: #000;
198
- font-weight: 500;
199
- }
200
-
201
- /* --------------------------
202
- CALENDAR WRAPPER
203
- ---------------------------*/
204
- .calendar-wrapper {
205
- /*width: 100%;*/
206
- padding: 0 12px 12px 12px;
207
- border-left: 1px solid #eee;
208
- }
209
-
210
- /* --------------------------
211
- HEADER (Month + Year + Arrows)
212
- ---------------------------*/
213
- .header {
214
- display: flex;
215
- justify-content: space-between;
216
- align-items: center;
217
- padding: 12px 0;
218
- /* margin-bottom: 8px; */
219
- }
220
-
221
- .month-year {
222
- font-size: 15px;
223
- font-weight: 500;
224
- color: #333;
225
- flex: 1;
226
- text-align: center;
227
- text-transform: capitalize;
228
- }
229
-
230
- .nav-btn {
231
- background: none;
232
- border: none;
233
- font-size: 24px;
234
- cursor: pointer;
235
- padding: 11.5px 14px;
236
- color: #666;
237
- border-radius: 4px;
238
- transition: all 0.2s;
239
- line-height: 1;
240
- height: 30px;
241
- width: 30px;
242
- display: flex;
243
- justify-content: center;
244
- align-items: center;
245
- }
246
-
247
- .nav-btn:hover {
248
- background: #f0f0f0;
249
- color: #000;
250
- }
251
- .nav-btn img{
252
- width: auto;
253
-
254
- max-width: none !important;
255
- }
256
-
257
- /* --------------------------
258
- CALENDAR TABLE
259
- ---------------------------*/
260
- .calendar-table {
261
- width: 100%;
262
- border-collapse: collapse;
263
- text-align: center;
264
- }
265
-
266
- .weekday-header {
267
- font-size: 12px;
268
- color: #7e7e7e;
269
- font-weight: 600;
270
- padding: 8px 4px;
271
- /*text-transform: uppercase;*/
272
- letter-spacing: 0.3px;
273
-
274
- }
275
-
276
- /* --------------------------
277
- DATE CELLS
278
- ---------------------------*/
279
- .calendar-day {
280
- padding: 8px 4px;
281
- font-size: 14px;
282
- cursor: pointer;
283
- border-radius: 6px;
284
- transition: all 0.2s;
285
- position: relative;
286
- color: #333;
287
- font-weight: 500;
288
- line-height: 1.5;
289
- /* text-align: center; */
290
- /* width: 40px; */
291
- /* height: 40px; */
292
- /* display: flex; */
293
- /* align-items: center; */
294
- /* justify-content: center; */
295
- }
296
-
297
- .calendar-day:hover:not(.disabled):not(.other-month) {
298
- background: #efefef;
299
- color: #000;
300
- }
301
-
302
- .calendar-day.other-month {
303
- color: #ccc;
304
- cursor: default;
305
- }
306
-
307
- .calendar-day.disabled {
308
- color: #ddd;
309
- cursor: not-allowed;
310
- opacity: 0.5;
311
- }
312
-
313
- /* --------------------------
314
- SELECTED DATE (Active) - Start and End dates
315
- ---------------------------*/
316
- .calendar-day.active {
317
- background: #000 !important;
318
- color: white !important;
319
- font-weight: 600;
320
- /* border-radius: 50%;
321
- width: 32px;
322
- height: 32px;
323
- display: flex;
324
- align-items: center;
325
- justify-content: center;
326
- margin: 0 auto; */
327
- }
328
-
329
- /* --------------------------
330
- TODAY DATE
331
- ---------------------------*/
332
- .calendar-day.today {
333
- /* border: 2px solid #007bff; */
334
- font-weight: 600;
335
- }
336
-
337
- .calendar-day.today:not(.active) {
338
- background: #e5e4e4;
339
- /* color: #007bff; */
340
- }
341
-
342
- .calendar-day.active:hover {
343
- background: #000 !important;
344
- }
345
-
346
- /* --------------------------
347
- IN-RANGE DATES - Dates between start and end
348
- ---------------------------*/
349
- .calendar-day.in-range {
350
- background: #f5f5f5;
351
- color: #333;
352
- border-radius: 0;
353
- position: relative;
354
- }
355
-
356
- .calendar-day.in-range:hover {
357
- background: #e8e8e8;
358
- }
359
-
360
- /* Make in-range dates span full width */
361
- .calendar-day.in-range::before {
362
- content: '';
363
- position: absolute;
364
- left: 0;
365
- right: 0;
366
- top: 0;
367
- bottom: 0;
368
- background: #f5f5f5;
369
- z-index: -1;
370
- }
371
-
372
- .calendar-day.in-range:hover::before {
373
- background: #e8e8e8;
374
- }
375
-
376
- /* --------------------------
377
- MULTI-SELECTED DATES
378
- ---------------------------*/
379
- .calendar-day.multi-selected {
380
- background: #4caf50;
381
- color: white;
382
- font-weight: 600;
383
- border-radius: 6px;
384
- }
385
-
386
- .calendar-day.multi-selected:hover {
387
- background: #45a049;
388
- }
389
-
390
- /* --------------------------
391
- DUAL CALENDAR
392
- ---------------------------*/
393
- .dual-calendar {
394
- display: flex;
395
- /* gap: 24px; */
396
- width: 100%;
397
- border-left: 1px solid #eee;
398
- }
399
-
400
- .calendar-left,
401
- .calendar-right {
402
- flex: 1;
403
- min-width: 0;
404
- padding: 0 12px 12px;
405
- }
406
-
407
- /* When ranges are shown, adjust layout */
408
- .calendar-popup.has-ranges {
409
- display: flex;
410
- flex-direction: row;
411
- /* gap: 16px; */
412
- /* padding: 20px; */
413
- }
414
-
415
- .calendar-popup.has-ranges .ranges {
416
- margin-bottom: 0;
417
- padding-bottom: 0;
418
- border-bottom: none;
419
- /* border-right: 1px solid #993535; */
420
- padding: 10px;
421
- }
422
-
423
- .calendar-popup.has-ranges .dual-calendar,
424
- .calendar-popup.has-ranges .calendar-wrapper {
425
- flex: 1;
426
- }
427
-
428
- .calendar-right .header {
429
- justify-content: space-between;
430
- }
431
-
432
- .calendar-right .header .month-year {
433
- text-align: center;
434
- flex: 1;
435
- }
436
-
437
- /* --------------------------
438
- TIMEPICKER SECTION
439
- ---------------------------*/
440
- .timepicker-section {
441
- margin-top: 12px;
442
- padding-top: 12px;
443
- /* padding-bottom: 16px; */
444
- border-top: 1px solid #eee;
445
- }
446
-
447
- .timepicker-label {
448
- font-size: 12px;
449
- font-weight: 500;
450
- color: #000000;
451
- margin-bottom: 4px;
452
- /* text-transform: uppercase; */
453
- letter-spacing: -0.28px;
454
- }
455
-
456
- /* .timepicker-controls {
457
- display: flex;
458
- justify-content: center;
459
- } */
460
-
461
- /* --------------------------
462
- CUSTOM TIME PICKER
463
- ---------------------------*/
464
- .custom-time-picker {
465
- display: flex;
466
- flex-direction: column;
467
- gap: 8px;
468
- align-items: start;
469
- }
470
-
471
- .time-input-group {
472
- display: flex;
473
- align-items: center;
474
- justify-content: center;
475
- /*width: 100%;*/
476
- gap: 8px;
477
- background: #f8f9fa;
478
- padding: 12px;
479
- border-radius: 8px;
480
- border: 1px solid #e0e0e0;
481
- }
482
-
483
- .time-control {
484
- display: flex;
485
- flex-direction: column;
486
- align-items: center;
487
- /* gap: 4px; */
488
- }
489
-
490
- .time-btn {
491
- background: #fff;
492
- border: 1px solid #ddd;
493
- width: 28px;
494
- height: 20px;
495
- cursor: pointer;
496
- font-size: 10px;
497
- color: #666;
498
- border-radius: 4px;
499
- transition: all 0.2s;
500
- display: flex;
501
- align-items: center;
502
- justify-content: center;
503
- padding: 0;
504
- line-height: 1;
505
- }
506
-
507
- .time-btn:hover {
508
- background: #e4e4e4;
509
- color: white;
510
- border-color: #e4e4e4;
511
- }
512
-
513
- .time-btn.up {
514
- border-bottom-left-radius: 0;
515
- border-bottom-right-radius: 0;
516
- border-bottom: none;
517
- }
518
-
519
- .time-btn.down {
520
- border-top-left-radius: 0;
521
- border-top-right-radius: 0;
522
- border-top: none;
523
- }
524
-
525
- .time-input {
526
- width: 40px;
527
- height: 32px;
528
- text-align: center;
529
- border: 1px solid #ddd;
530
- border-radius: 4px;
531
- font-size: 16px;
532
- font-weight: 600;
533
- background: #fff;
534
- color: #333;
535
- }
536
-
537
- .time-separator {
538
- font-size: 18px;
539
- font-weight: 600;
540
- color: #666;
541
- margin: 0 2px;
542
- }
543
-
544
- .ampm-control {
545
- display: flex;
546
- flex-direction: column;
547
- gap: 4px;
548
- margin-left: 8px;
549
- }
550
-
551
- .ampm-btn {
552
- padding: 6px 12px;
553
- border: 1px solid #ddd;
554
- background: #fff;
555
- border-radius: 4px;
556
- cursor: pointer;
557
- font-size: 12px;
558
- font-weight: 600;
559
- color: #666;
560
- transition: all 0.2s;
561
- min-width: 45px;
562
- }
563
-
564
- .ampm-btn:hover {
565
- background: #f0f0f0;
566
- }
567
-
568
- .ampm-btn.active {
569
- background: #000;
570
- color: white;
571
- border-color: #000;
572
- }
573
-
574
- .html5-time-input {
575
- margin-top: 8px;
576
- padding: 8px;
577
- border: 1px solid #ddd;
578
- border-radius: 6px;
579
- font-size: 14px;
580
- width: 100%;
581
- max-width: 120px;
582
- }
583
-
584
- /* --------------------------
585
- FOOTER (Apply/Cancel Buttons)
586
- ---------------------------*/
587
- .footer {
588
- padding: 12px;
589
- /* margin-top: 12px; */
590
- display: flex;
591
- justify-content: flex-end;
592
- gap: 8px;
593
- border-top: 1px solid #eee;
594
- /* padding-top: 16px; */
595
- /*width: 100%;*/
596
- }
597
-
598
- .btn-cancel,
599
- .btn-apply {
600
- padding: 8px 16px;
601
- border: none;
602
- border-radius: 4px;
603
- font-size: 14px;
604
- font-weight: 500;
605
- cursor: pointer;
606
- transition: all 0.2s;
607
- min-width: 80px;
608
- }
609
-
610
- .btn-cancel {
611
- background: #fff;
612
- color: #666;
613
- border: 1px solid #ddd;
614
- }
615
-
616
- .btn-cancel:hover {
617
- background: #f5f5f5;
618
- border-color: #bbb;
619
- }
620
-
621
- .btn-apply {
622
- background: #000;
623
- color: #fff;
624
- }
625
-
626
- .btn-apply:hover {
627
- background: #333;
628
- }
629
-
630
- .btn-apply:active {
631
- transform: translateY(0);
632
- }
633
-
634
- /* --------------------------
635
- RESPONSIVE DESIGN
636
- ---------------------------*/
637
- @media (max-width: 768px) {
638
- .calendar-popup {
639
- width: 100%;
640
- max-width: 320px;
641
- }
642
-
643
- .calendar-popup.dual-calendar-mode {
644
- width: 100%;
645
- max-width: 100%;
646
- }
647
-
648
- .calendar-popup.has-ranges {
649
- flex-direction: column;
650
- }
651
-
652
- .calendar-popup.has-ranges .ranges {
653
- border-right: none;
654
- border-bottom: 1px solid #eee;
655
- padding-right: 0;
656
- margin-right: 0;
657
- padding-bottom: 16px;
658
- margin-bottom: 16px;
659
- }
660
-
661
- .dual-calendar {
662
- flex-direction: column;
663
- }
664
-
665
- .time-input-group {
666
- flex-wrap: wrap;
667
- justify-content: center;
668
- }
669
- }
670
-
671
- /* --------------------------
672
- SCROLLBAR STYLING
673
- ---------------------------*/
674
- .ranges::-webkit-scrollbar {
675
- width: 6px;
676
- }
677
-
678
- .ranges::-webkit-scrollbar-track {
679
- background: #f1f1f1;
680
- border-radius: 3px;
681
- }
682
-
683
- .ranges::-webkit-scrollbar-thumb {
684
- background: #888;
685
- border-radius: 3px;
686
- }
687
-
688
- .ranges::-webkit-scrollbar-thumb:hover {
689
- background: #555;
690
- }
691
-
692
-
693
- .w-100 {
694
- width: 100%;
695
- }
696
- .flex-grow-1 {
697
- flex-grow: 1;
698
- }