@haloduck/ui 2.0.20 → 2.0.22

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
@@ -68,6 +68,7 @@ declare class SelectDropdownComponent {
68
68
  protected manualInputValues: Record<string, string>;
69
69
  protected activeManualKey: string | null;
70
70
  selectedChange: EventEmitter<string[]>;
71
+ closeDropdown: EventEmitter<void>;
71
72
  useFilter: boolean;
72
73
  multiselect: boolean;
73
74
  atLeastOne: boolean;
@@ -88,7 +89,7 @@ declare class SelectDropdownComponent {
88
89
  private emitSelectedChange;
89
90
  private setSelected;
90
91
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectDropdownComponent, never>;
91
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectDropdownComponent, "haloduck-select-dropdown", never, { "useFilter": { "alias": "useFilter"; "required": false; }; "multiselect": { "alias": "multiselect"; "required": false; }; "atLeastOne": { "alias": "atLeastOne"; "required": false; }; "asButton": { "alias": "asButton"; "required": false; }; "options": { "alias": "options"; "required": false; }; "selectedOptionIds": { "alias": "selectedOptionIds"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, true, never>;
92
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectDropdownComponent, "haloduck-select-dropdown", never, { "useFilter": { "alias": "useFilter"; "required": false; }; "multiselect": { "alias": "multiselect"; "required": false; }; "atLeastOne": { "alias": "atLeastOne"; "required": false; }; "asButton": { "alias": "asButton"; "required": false; }; "options": { "alias": "options"; "required": false; }; "selectedOptionIds": { "alias": "selectedOptionIds"; "required": false; }; }, { "selectedChange": "selectedChange"; "closeDropdown": "closeDropdown"; }, never, never, true, never>;
92
93
  }
93
94
 
94
95
  declare class SelectComponent implements ControlValueAccessor, AfterViewInit, OnChanges {
@@ -123,7 +124,7 @@ declare class SelectComponent implements ControlValueAccessor, AfterViewInit, On
123
124
  onKeyDown(event: KeyboardEvent): void;
124
125
  onDeselectOption(event: Event, option: Option): void;
125
126
  getSelectedValue(): string | string[] | null;
126
- onChange: (value: any) => void;
127
+ onChange: (_value: any) => void;
127
128
  onTouched: () => void;
128
129
  writeValue(value: string[] | string): void;
129
130
  registerOnChange(fn: any): void;
@@ -557,8 +558,10 @@ interface TableColumn {
557
558
  interface TableRow extends TableRowProperty {
558
559
  [key: string]: any;
559
560
  }
560
- declare class TableComponent implements OnInit {
561
+ declare class TableComponent implements OnInit, AfterViewInit, OnDestroy {
561
562
  private readonly coreService;
563
+ private readonly ngZone;
564
+ private readonly destroyRef;
562
565
  tableLayout: 'fixed' | 'auto';
563
566
  showHeader: boolean;
564
567
  useLoadMore: boolean;
@@ -576,6 +579,9 @@ declare class TableComponent implements OnInit {
576
579
  onLoadMore: EventEmitter<any>;
577
580
  onRowClick: EventEmitter<TableRow>;
578
581
  onRowDblClick: EventEmitter<TableRow>;
582
+ private loadMoreRow?;
583
+ private scrollContainer?;
584
+ private intersectionObserver?;
579
585
  getColumnValue(row: TableRow, column: TableColumn): Observable<string>;
580
586
  getColumnValueRaw(row: TableRow, column: TableColumn): any;
581
587
  getColumnValueRawWithArrayKey(row: TableRow, column: TableColumn): any;
@@ -589,6 +595,10 @@ declare class TableComponent implements OnInit {
589
595
  onRowClicked(row: TableRow): void;
590
596
  onRowDblClicked(row: TableRow): void;
591
597
  ngOnInit(): void;
598
+ ngAfterViewInit(): void;
599
+ ngOnDestroy(): void;
600
+ private setupIntersectionObserver;
601
+ private cleanupIntersectionObserver;
592
602
  constructor();
593
603
  static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
594
604
  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.20",
3
+ "version": "2.0.22",
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);