@haloduck/ui 2.0.21 → 2.0.23

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.
package/index.d.ts CHANGED
@@ -124,7 +124,7 @@ declare class SelectComponent implements ControlValueAccessor, AfterViewInit, On
124
124
  onKeyDown(event: KeyboardEvent): void;
125
125
  onDeselectOption(event: Event, option: Option): void;
126
126
  getSelectedValue(): string | string[] | null;
127
- onChange: (value: any) => void;
127
+ onChange: (_value: any) => void;
128
128
  onTouched: () => void;
129
129
  writeValue(value: string[] | string): void;
130
130
  registerOnChange(fn: any): void;
@@ -558,8 +558,10 @@ interface TableColumn {
558
558
  interface TableRow extends TableRowProperty {
559
559
  [key: string]: any;
560
560
  }
561
- declare class TableComponent implements OnInit {
561
+ declare class TableComponent implements OnInit, AfterViewInit, OnDestroy {
562
562
  private readonly coreService;
563
+ private readonly ngZone;
564
+ private readonly destroyRef;
563
565
  tableLayout: 'fixed' | 'auto';
564
566
  showHeader: boolean;
565
567
  useLoadMore: boolean;
@@ -577,6 +579,9 @@ declare class TableComponent implements OnInit {
577
579
  onLoadMore: EventEmitter<any>;
578
580
  onRowClick: EventEmitter<TableRow>;
579
581
  onRowDblClick: EventEmitter<TableRow>;
582
+ private loadMoreRow?;
583
+ private scrollContainer?;
584
+ private intersectionObserver?;
580
585
  getColumnValue(row: TableRow, column: TableColumn): Observable<string>;
581
586
  getColumnValueRaw(row: TableRow, column: TableColumn): any;
582
587
  getColumnValueRawWithArrayKey(row: TableRow, column: TableColumn): any;
@@ -590,6 +595,11 @@ declare class TableComponent implements OnInit {
590
595
  onRowClicked(row: TableRow): void;
591
596
  onRowDblClicked(row: TableRow): void;
592
597
  ngOnInit(): void;
598
+ ngAfterViewInit(): void;
599
+ ngOnDestroy(): void;
600
+ private setupIntersectionObserver;
601
+ private cleanupIntersectionObserver;
602
+ private checkAndAutoLoadIfNoScroll;
593
603
  constructor();
594
604
  static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
595
605
  static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "haloduck-table", never, { "tableLayout": { "alias": "tableLayout"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "useLoadMore": { "alias": "useLoadMore"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isPaging": { "alias": "isPaging"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "expandedTemplate": { "alias": "expandedTemplate"; "required": false; }; "customTemplates": { "alias": "customTemplates"; "required": false; }; "lastEvaluatedKey": { "alias": "lastEvaluatedKey"; "required": false; }; }, { "onSortChange": "onSortChange"; "onLoadMore": "onLoadMore"; "onRowClick": "onRowClick"; "onRowDblClick": "onRowDblClick"; }, never, never, true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haloduck/ui",
3
- "version": "2.0.21",
3
+ "version": "2.0.23",
4
4
  "description": "HaloDuck UI Library - Angular",
5
5
  "keywords": [
6
6
  "angular",
package/src/tailwind.css CHANGED
@@ -11,12 +11,29 @@
11
11
  --color-red-500: oklch(63.7% 0.237 25.331);
12
12
  --color-red-600: oklch(57.7% 0.245 27.325);
13
13
  --color-red-700: oklch(50.5% 0.213 27.518);
14
+ --color-amber-500: oklch(76.9% 0.188 70.08);
15
+ --color-amber-600: oklch(66.6% 0.179 58.318);
16
+ --color-green-500: oklch(72.3% 0.219 149.579);
17
+ --color-green-600: oklch(62.7% 0.194 149.214);
14
18
  --color-blue-400: oklch(70.7% 0.165 254.624);
15
19
  --color-blue-500: oklch(62.3% 0.214 259.815);
16
20
  --color-blue-600: oklch(54.6% 0.245 262.881);
21
+ --color-blue-700: oklch(48.8% 0.243 264.376);
22
+ --color-violet-500: oklch(60.6% 0.25 292.717);
23
+ --color-violet-600: oklch(54.1% 0.281 293.009);
24
+ --color-purple-500: oklch(62.7% 0.265 303.9);
25
+ --color-purple-600: oklch(55.8% 0.288 302.321);
26
+ --color-pink-500: oklch(65.6% 0.241 354.308);
27
+ --color-pink-600: oklch(59.2% 0.249 0.584);
17
28
  --color-gray-100: oklch(96.7% 0.003 264.542);
29
+ --color-gray-200: oklch(92.8% 0.006 264.531);
30
+ --color-gray-300: oklch(87.2% 0.01 258.338);
31
+ --color-gray-400: oklch(70.7% 0.022 261.325);
18
32
  --color-gray-500: oklch(55.1% 0.027 264.364);
19
33
  --color-gray-600: oklch(44.6% 0.03 256.802);
34
+ --color-gray-700: oklch(37.3% 0.034 259.733);
35
+ --color-gray-800: oklch(27.8% 0.033 256.848);
36
+ --color-gray-900: oklch(21% 0.034 264.665);
20
37
  --color-black: #000;
21
38
  --color-white: #fff;
22
39
  --spacing: 0.25rem;
@@ -33,9 +50,12 @@
33
50
  --font-weight-medium: 500;
34
51
  --font-weight-semibold: 600;
35
52
  --font-weight-bold: 700;
53
+ --radius-sm: 0.25rem;
36
54
  --radius-md: 0.375rem;
37
55
  --radius-lg: 0.5rem;
56
+ --radius-xl: 0.75rem;
38
57
  --radius-2xl: 1rem;
58
+ --radius-3xl: 1.5rem;
39
59
  --animate-spin: spin 1s linear infinite;
40
60
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
41
61
  --animate-bounce: bounce 1s infinite;
@@ -349,6 +369,9 @@
349
369
  .mb-2 {
350
370
  margin-bottom: calc(var(--spacing) * 2);
351
371
  }
372
+ .mb-4 {
373
+ margin-bottom: calc(var(--spacing) * 4);
374
+ }
352
375
  .ml-2 {
353
376
  margin-left: calc(var(--spacing) * 2);
354
377
  }
@@ -430,6 +453,12 @@
430
453
  .max-h-full {
431
454
  max-height: 100%;
432
455
  }
456
+ .min-h-\[100px\] {
457
+ min-height: 100px;
458
+ }
459
+ .w-1\/2 {
460
+ width: calc(1/2 * 100%);
461
+ }
433
462
  .w-3 {
434
463
  width: calc(var(--spacing) * 3);
435
464
  }
@@ -526,6 +555,9 @@
526
555
  .cursor-pointer {
527
556
  cursor: pointer;
528
557
  }
558
+ .resize {
559
+ resize: both;
560
+ }
529
561
  .grid-cols-7 {
530
562
  grid-template-columns: repeat(7, minmax(0, 1fr));
531
563
  }
@@ -618,6 +650,9 @@
618
650
  .rounded-2xl {
619
651
  border-radius: var(--radius-2xl);
620
652
  }
653
+ .rounded-3xl {
654
+ border-radius: var(--radius-3xl);
655
+ }
621
656
  .rounded-full {
622
657
  border-radius: calc(infinity * 1px);
623
658
  }
@@ -627,6 +662,15 @@
627
662
  .rounded-md {
628
663
  border-radius: var(--radius-md);
629
664
  }
665
+ .rounded-none {
666
+ border-radius: 0;
667
+ }
668
+ .rounded-sm {
669
+ border-radius: var(--radius-sm);
670
+ }
671
+ .rounded-xl {
672
+ border-radius: var(--radius-xl);
673
+ }
630
674
  .rounded-t-md {
631
675
  border-top-left-radius: var(--radius-md);
632
676
  border-top-right-radius: var(--radius-md);
@@ -663,6 +707,18 @@
663
707
  border-style: var(--tw-border-style);
664
708
  border-width: 2px;
665
709
  }
710
+ .border-3 {
711
+ border-style: var(--tw-border-style);
712
+ border-width: 3px;
713
+ }
714
+ .border-4 {
715
+ border-style: var(--tw-border-style);
716
+ border-width: 4px;
717
+ }
718
+ .border-8 {
719
+ border-style: var(--tw-border-style);
720
+ border-width: 8px;
721
+ }
666
722
  .border-t {
667
723
  border-top-style: var(--tw-border-style);
668
724
  border-top-width: 1px;
@@ -679,9 +735,67 @@
679
735
  --tw-border-style: dashed;
680
736
  border-style: dashed;
681
737
  }
738
+ .border-dotted {
739
+ --tw-border-style: dotted;
740
+ border-style: dotted;
741
+ }
742
+ .border-double {
743
+ --tw-border-style: double;
744
+ border-style: double;
745
+ }
746
+ .border-none {
747
+ --tw-border-style: none;
748
+ border-style: none;
749
+ }
750
+ .border-solid {
751
+ --tw-border-style: solid;
752
+ border-style: solid;
753
+ }
754
+ .border-amber-500 {
755
+ border-color: var(--color-amber-500);
756
+ }
757
+ .border-amber-600 {
758
+ border-color: var(--color-amber-600);
759
+ }
760
+ .border-black {
761
+ border-color: var(--color-black);
762
+ }
682
763
  .border-blue-500 {
683
764
  border-color: var(--color-blue-500);
684
765
  }
766
+ .border-blue-700 {
767
+ border-color: var(--color-blue-700);
768
+ }
769
+ .border-gray-200 {
770
+ border-color: var(--color-gray-200);
771
+ }
772
+ .border-gray-300 {
773
+ border-color: var(--color-gray-300);
774
+ }
775
+ .border-gray-400 {
776
+ border-color: var(--color-gray-400);
777
+ }
778
+ .border-gray-500 {
779
+ border-color: var(--color-gray-500);
780
+ }
781
+ .border-gray-600 {
782
+ border-color: var(--color-gray-600);
783
+ }
784
+ .border-gray-700 {
785
+ border-color: var(--color-gray-700);
786
+ }
787
+ .border-gray-800 {
788
+ border-color: var(--color-gray-800);
789
+ }
790
+ .border-gray-900 {
791
+ border-color: var(--color-gray-900);
792
+ }
793
+ .border-green-500 {
794
+ border-color: var(--color-green-500);
795
+ }
796
+ .border-green-600 {
797
+ border-color: var(--color-green-600);
798
+ }
685
799
  .border-light-inactive {
686
800
  border-color: var(--color-light-inactive);
687
801
  }
@@ -697,18 +811,48 @@
697
811
  .border-light-primary {
698
812
  border-color: var(--color-light-primary);
699
813
  }
814
+ .border-pink-500 {
815
+ border-color: var(--color-pink-500);
816
+ }
817
+ .border-pink-600 {
818
+ border-color: var(--color-pink-600);
819
+ }
820
+ .border-red-500 {
821
+ border-color: var(--color-red-500);
822
+ }
823
+ .border-red-600 {
824
+ border-color: var(--color-red-600);
825
+ }
826
+ .border-violet-500 {
827
+ border-color: var(--color-violet-500);
828
+ }
829
+ .border-violet-600 {
830
+ border-color: var(--color-violet-600);
831
+ }
832
+ .border-white {
833
+ border-color: var(--color-white);
834
+ }
700
835
  .bg-black\/50 {
701
836
  background-color: color-mix(in srgb, #000 50%, transparent);
702
837
  @supports (color: color-mix(in lab, red, red)) {
703
838
  background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
704
839
  }
705
840
  }
841
+ .bg-blue-500 {
842
+ background-color: var(--color-blue-500);
843
+ }
706
844
  .bg-gray-100 {
707
845
  background-color: var(--color-gray-100);
708
846
  }
709
847
  .bg-gray-500 {
710
848
  background-color: var(--color-gray-500);
711
849
  }
850
+ .bg-gray-800 {
851
+ background-color: var(--color-gray-800);
852
+ }
853
+ .bg-green-500 {
854
+ background-color: var(--color-green-500);
855
+ }
712
856
  .bg-light-alternative {
713
857
  background-color: var(--color-light-alternative);
714
858
  }
@@ -748,9 +892,15 @@
748
892
  .bg-light-secondary {
749
893
  background-color: var(--color-light-secondary);
750
894
  }
895
+ .bg-purple-500 {
896
+ background-color: var(--color-purple-500);
897
+ }
751
898
  .bg-red-50 {
752
899
  background-color: var(--color-red-50);
753
900
  }
901
+ .bg-red-500 {
902
+ background-color: var(--color-red-500);
903
+ }
754
904
  .bg-transparent {
755
905
  background-color: transparent;
756
906
  }
@@ -895,6 +1045,9 @@
895
1045
  .text-gray-600 {
896
1046
  color: var(--color-gray-600);
897
1047
  }
1048
+ .text-gray-700 {
1049
+ color: var(--color-gray-700);
1050
+ }
898
1051
  .text-light-danger {
899
1052
  color: var(--color-light-danger);
900
1053
  }
@@ -1028,6 +1181,10 @@
1028
1181
  .outline-light-inactive {
1029
1182
  outline-color: var(--color-light-inactive);
1030
1183
  }
1184
+ .blur {
1185
+ --tw-blur: blur(8px);
1186
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1187
+ }
1031
1188
  .brightness-125 {
1032
1189
  --tw-brightness: brightness(125%);
1033
1190
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -1143,6 +1300,20 @@
1143
1300
  }
1144
1301
  }
1145
1302
  }
1303
+ .hover\:bg-blue-600 {
1304
+ &:hover {
1305
+ @media (hover: hover) {
1306
+ background-color: var(--color-blue-600);
1307
+ }
1308
+ }
1309
+ }
1310
+ .hover\:bg-green-600 {
1311
+ &:hover {
1312
+ @media (hover: hover) {
1313
+ background-color: var(--color-green-600);
1314
+ }
1315
+ }
1316
+ }
1146
1317
  .hover\:bg-light-primary {
1147
1318
  &:hover {
1148
1319
  @media (hover: hover) {
@@ -1160,6 +1331,13 @@
1160
1331
  }
1161
1332
  }
1162
1333
  }
1334
+ .hover\:bg-purple-600 {
1335
+ &:hover {
1336
+ @media (hover: hover) {
1337
+ background-color: var(--color-purple-600);
1338
+ }
1339
+ }
1340
+ }
1163
1341
  .hover\:font-bold {
1164
1342
  &:hover {
1165
1343
  @media (hover: hover) {
@@ -1396,6 +1574,11 @@
1396
1574
  background-color: var(--color-dark-secondary);
1397
1575
  }
1398
1576
  }
1577
+ .dark\:bg-gray-800 {
1578
+ @media (prefers-color-scheme: dark) {
1579
+ background-color: var(--color-gray-800);
1580
+ }
1581
+ }
1399
1582
  .dark\:text-dark-danger {
1400
1583
  @media (prefers-color-scheme: dark) {
1401
1584
  color: var(--color-dark-danger);