@haloduck/ui 2.0.10 → 2.0.12

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
@@ -615,6 +615,35 @@ declare class TabsComponent implements OnChanges, AfterViewInit {
615
615
  static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "haloduck-tabs", never, { "tabs": { "alias": "tabs"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "labelWidth": { "alias": "labelWidth"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; }, never, ["[slot=label]"], true, never>;
616
616
  }
617
617
 
618
+ declare class TagInputComponent implements ControlValueAccessor, AfterViewInit {
619
+ label: ElementRef;
620
+ inputEl: ElementRef<HTMLInputElement>;
621
+ placeholder: string;
622
+ disabled: boolean;
623
+ allowDuplicates: boolean;
624
+ set value(tags: string[] | null);
625
+ valueChange: EventEmitter<string[]>;
626
+ tags: string[];
627
+ inputValue: string;
628
+ onChange: (value: any) => void;
629
+ onTouched: () => void;
630
+ writeValue(value: string[] | null): void;
631
+ registerOnChange(fn: any): void;
632
+ registerOnTouched(fn: any): void;
633
+ setDisabledState(isDisabled: boolean): void;
634
+ ngAfterViewInit(): void;
635
+ focus(): void;
636
+ onInput(event: Event): void;
637
+ onBlur(): void;
638
+ onKeydown(event: KeyboardEvent): void;
639
+ removeTag(index: number): void;
640
+ private commitCurrentInput;
641
+ private addTag;
642
+ private emitChanges;
643
+ static ɵfac: i0.ɵɵFactoryDeclaration<TagInputComponent, never>;
644
+ static ɵcmp: i0.ɵɵComponentDeclaration<TagInputComponent, "haloduck-tag-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "allowDuplicates": { "alias": "allowDuplicates"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, ["*"], true, never>;
645
+ }
646
+
618
647
  declare class BreadcrumbComponent implements OnInit {
619
648
  private readonly breadcrumbService;
620
649
  listBreadcrumb: {
@@ -686,5 +715,5 @@ declare const provideHaloduckTransloco: () => {
686
715
  multi: boolean;
687
716
  }[];
688
717
 
689
- export { AuthenticateComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, ConfirmDialogService, CopyButtonComponent, DatePickerComponent, DateRangeComponent, DialogService, DrawCanvasComponent, ERROR_NOT_ACCEPTABLE_FILE_TYPE, ERROR_OVER_COUNT, ERROR_OVER_SIZE, ERROR_UPLOAD, FileUploaderComponent, FlipComponent, ImageUploaderComponent, ImageViewerComponent, InputComponent, LanguageSelectorComponent, MapToAddressComponent, NotificationComponent, NotificationService, PictureNameComponent, SelectComponent, SelectDropdownComponent, SideMenuComponent, SideMenuItemComponent, StlViewerComponent, TableComponent, TabsComponent, ToggleComponent, dateToString, google, provideHaloduckTransloco };
718
+ export { AuthenticateComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, ConfirmDialogService, CopyButtonComponent, DatePickerComponent, DateRangeComponent, DialogService, DrawCanvasComponent, ERROR_NOT_ACCEPTABLE_FILE_TYPE, ERROR_OVER_COUNT, ERROR_OVER_SIZE, ERROR_UPLOAD, FileUploaderComponent, FlipComponent, ImageUploaderComponent, ImageViewerComponent, InputComponent, LanguageSelectorComponent, MapToAddressComponent, NotificationComponent, NotificationService, PictureNameComponent, SelectComponent, SelectDropdownComponent, SideMenuComponent, SideMenuItemComponent, StlViewerComponent, TableComponent, TabsComponent, TagInputComponent, ToggleComponent, dateToString, google, provideHaloduckTransloco };
690
719
  export type { ButtonVariant, CalendarDate, DateRange, DateRangeDropdown, FileEx, Location, Notification, NotificationType, Option, TabItem, TableColumn, TableRow };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haloduck/ui",
3
- "version": "2.0.10",
3
+ "version": "2.0.12",
4
4
  "description": "HaloDuck UI Library - Angular",
5
5
  "keywords": [
6
6
  "angular",
package/src/tailwind.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.6 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
3
  @layer theme, base, components, utilities;
4
4
  @layer theme {
@@ -7,9 +7,16 @@
7
7
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
8
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
9
  "Courier New", monospace;
10
+ --color-red-50: oklch(97.1% 0.013 17.38);
11
+ --color-red-500: oklch(63.7% 0.237 25.331);
12
+ --color-red-600: oklch(57.7% 0.245 27.325);
13
+ --color-red-700: oklch(50.5% 0.213 27.518);
10
14
  --color-blue-400: oklch(70.7% 0.165 254.624);
15
+ --color-blue-500: oklch(62.3% 0.214 259.815);
11
16
  --color-blue-600: oklch(54.6% 0.245 262.881);
17
+ --color-gray-100: oklch(96.7% 0.003 264.542);
12
18
  --color-gray-500: oklch(55.1% 0.027 264.364);
19
+ --color-gray-600: oklch(44.6% 0.03 256.802);
13
20
  --color-black: #000;
14
21
  --color-white: #fff;
15
22
  --spacing: 0.25rem;
@@ -21,12 +28,15 @@
21
28
  --text-sm--line-height: calc(1.25 / 0.875);
22
29
  --text-base: 1rem;
23
30
  --text-base--line-height: calc(1.5 / 1);
31
+ --text-2xl: 1.5rem;
32
+ --text-2xl--line-height: calc(2 / 1.5);
24
33
  --font-weight-medium: 500;
25
34
  --font-weight-semibold: 600;
26
35
  --font-weight-bold: 700;
27
36
  --radius-md: 0.375rem;
28
37
  --radius-lg: 0.5rem;
29
38
  --radius-2xl: 1rem;
39
+ --animate-spin: spin 1s linear infinite;
30
40
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
31
41
  --animate-bounce: bounce 1s infinite;
32
42
  --default-transition-duration: 150ms;
@@ -306,12 +316,18 @@
306
316
  .mx-auto {
307
317
  margin-inline: auto;
308
318
  }
319
+ .mt-1 {
320
+ margin-top: calc(var(--spacing) * 1);
321
+ }
309
322
  .mt-2 {
310
323
  margin-top: calc(var(--spacing) * 2);
311
324
  }
312
325
  .mt-2\.5 {
313
326
  margin-top: calc(var(--spacing) * 2.5);
314
327
  }
328
+ .mt-3 {
329
+ margin-top: calc(var(--spacing) * 3);
330
+ }
315
331
  .mt-4 {
316
332
  margin-top: calc(var(--spacing) * 4);
317
333
  }
@@ -327,6 +343,12 @@
327
343
  .mr-2 {
328
344
  margin-right: calc(var(--spacing) * 2);
329
345
  }
346
+ .mb-1 {
347
+ margin-bottom: calc(var(--spacing) * 1);
348
+ }
349
+ .mb-2 {
350
+ margin-bottom: calc(var(--spacing) * 2);
351
+ }
330
352
  .ml-2 {
331
353
  margin-left: calc(var(--spacing) * 2);
332
354
  }
@@ -354,6 +376,9 @@
354
376
  .inline-flex {
355
377
  display: inline-flex;
356
378
  }
379
+ .table {
380
+ display: table;
381
+ }
357
382
  .aspect-square {
358
383
  aspect-ratio: 1 / 1;
359
384
  }
@@ -423,6 +448,12 @@
423
448
  .w-12 {
424
449
  width: calc(var(--spacing) * 12);
425
450
  }
451
+ .w-16 {
452
+ width: calc(var(--spacing) * 16);
453
+ }
454
+ .w-24 {
455
+ width: calc(var(--spacing) * 24);
456
+ }
426
457
  .w-32 {
427
458
  width: calc(var(--spacing) * 32);
428
459
  }
@@ -450,6 +481,9 @@
450
481
  .min-w-96 {
451
482
  min-width: calc(var(--spacing) * 96);
452
483
  }
484
+ .min-w-\[8rem\] {
485
+ min-width: 8rem;
486
+ }
453
487
  .flex-1 {
454
488
  flex: 1;
455
489
  }
@@ -483,12 +517,12 @@
483
517
  --tw-scale-z: 150%;
484
518
  scale: var(--tw-scale-x) var(--tw-scale-y);
485
519
  }
486
- .transform {
487
- transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
488
- }
489
520
  .animate-pulse {
490
521
  animation: var(--animate-pulse);
491
522
  }
523
+ .animate-spin {
524
+ animation: var(--animate-spin);
525
+ }
492
526
  .cursor-pointer {
493
527
  cursor: pointer;
494
528
  }
@@ -534,6 +568,9 @@
534
568
  .gap-4 {
535
569
  gap: calc(var(--spacing) * 4);
536
570
  }
571
+ .gap-8 {
572
+ gap: calc(var(--spacing) * 8);
573
+ }
537
574
  .gap-\[1px\] {
538
575
  gap: 1px;
539
576
  }
@@ -590,6 +627,10 @@
590
627
  .rounded-md {
591
628
  border-radius: var(--radius-md);
592
629
  }
630
+ .rounded-t-md {
631
+ border-top-left-radius: var(--radius-md);
632
+ border-top-right-radius: var(--radius-md);
633
+ }
593
634
  .rounded-l-full {
594
635
  border-top-left-radius: calc(infinity * 1px);
595
636
  border-bottom-left-radius: calc(infinity * 1px);
@@ -630,10 +671,17 @@
630
671
  border-bottom-style: var(--tw-border-style);
631
672
  border-bottom-width: 1px;
632
673
  }
674
+ .border-b-2 {
675
+ border-bottom-style: var(--tw-border-style);
676
+ border-bottom-width: 2px;
677
+ }
633
678
  .border-dashed {
634
679
  --tw-border-style: dashed;
635
680
  border-style: dashed;
636
681
  }
682
+ .border-blue-500 {
683
+ border-color: var(--color-blue-500);
684
+ }
637
685
  .border-light-inactive {
638
686
  border-color: var(--color-light-inactive);
639
687
  }
@@ -646,12 +694,18 @@
646
694
  .border-light-on-background {
647
695
  border-color: var(--color-light-on-background);
648
696
  }
697
+ .border-light-primary {
698
+ border-color: var(--color-light-primary);
699
+ }
649
700
  .bg-black\/50 {
650
701
  background-color: color-mix(in srgb, #000 50%, transparent);
651
702
  @supports (color: color-mix(in lab, red, red)) {
652
703
  background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
653
704
  }
654
705
  }
706
+ .bg-gray-100 {
707
+ background-color: var(--color-gray-100);
708
+ }
655
709
  .bg-gray-500 {
656
710
  background-color: var(--color-gray-500);
657
711
  }
@@ -676,12 +730,6 @@
676
730
  .bg-light-inactive {
677
731
  background-color: var(--color-light-inactive);
678
732
  }
679
- .bg-light-inactive\/20 {
680
- background-color: color-mix(in srgb, #d4c9be 20%, transparent);
681
- @supports (color: color-mix(in lab, red, red)) {
682
- background-color: color-mix(in oklab, var(--color-light-inactive) 20%, transparent);
683
- }
684
- }
685
733
  .bg-light-inactive\/50 {
686
734
  background-color: color-mix(in srgb, #d4c9be 50%, transparent);
687
735
  @supports (color: color-mix(in lab, red, red)) {
@@ -700,6 +748,12 @@
700
748
  .bg-light-secondary {
701
749
  background-color: var(--color-light-secondary);
702
750
  }
751
+ .bg-red-50 {
752
+ background-color: var(--color-red-50);
753
+ }
754
+ .bg-transparent {
755
+ background-color: transparent;
756
+ }
703
757
  .bg-white {
704
758
  background-color: var(--color-white);
705
759
  }
@@ -715,6 +769,9 @@
715
769
  .p-2 {
716
770
  padding: calc(var(--spacing) * 2);
717
771
  }
772
+ .p-3 {
773
+ padding: calc(var(--spacing) * 3);
774
+ }
718
775
  .p-4 {
719
776
  padding: calc(var(--spacing) * 4);
720
777
  }
@@ -775,6 +832,13 @@
775
832
  .text-right {
776
833
  text-align: right;
777
834
  }
835
+ .font-mono {
836
+ font-family: var(--font-mono);
837
+ }
838
+ .text-2xl {
839
+ font-size: var(--text-2xl);
840
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
841
+ }
778
842
  .text-base {
779
843
  font-size: var(--text-base);
780
844
  line-height: var(--tw-leading, var(--text-base--line-height));
@@ -828,6 +892,9 @@
828
892
  .text-blue-600 {
829
893
  color: var(--color-blue-600);
830
894
  }
895
+ .text-gray-600 {
896
+ color: var(--color-gray-600);
897
+ }
831
898
  .text-light-danger {
832
899
  color: var(--color-light-danger);
833
900
  }
@@ -840,6 +907,12 @@
840
907
  .text-light-on-background {
841
908
  color: var(--color-light-on-background);
842
909
  }
910
+ .text-light-on-background\/70 {
911
+ color: color-mix(in srgb, #091057 70%, transparent);
912
+ @supports (color: color-mix(in lab, red, red)) {
913
+ color: color-mix(in oklab, var(--color-light-on-background) 70%, transparent);
914
+ }
915
+ }
843
916
  .text-light-on-control {
844
917
  color: var(--color-light-on-control);
845
918
  }
@@ -897,6 +970,15 @@
897
970
  .text-light-secondary {
898
971
  color: var(--color-light-secondary);
899
972
  }
973
+ .text-red-500 {
974
+ color: var(--color-red-500);
975
+ }
976
+ .text-red-600 {
977
+ color: var(--color-red-600);
978
+ }
979
+ .text-red-700 {
980
+ color: var(--color-red-700);
981
+ }
900
982
  .text-white {
901
983
  color: var(--color-white);
902
984
  }
@@ -971,6 +1053,10 @@
971
1053
  --tw-duration: 500ms;
972
1054
  transition-duration: 500ms;
973
1055
  }
1056
+ .outline-none {
1057
+ --tw-outline-style: none;
1058
+ outline-style: none;
1059
+ }
974
1060
  .select-none {
975
1061
  -webkit-user-select: none;
976
1062
  user-select: none;
@@ -1089,6 +1175,13 @@
1089
1175
  }
1090
1176
  }
1091
1177
  }
1178
+ .hover\:text-light-on-secondary {
1179
+ &:hover {
1180
+ @media (hover: hover) {
1181
+ color: var(--color-light-on-secondary);
1182
+ }
1183
+ }
1184
+ }
1092
1185
  .hover\:underline {
1093
1186
  &:hover {
1094
1187
  @media (hover: hover) {
@@ -1227,6 +1320,11 @@
1227
1320
  border-color: var(--color-dark-on-background);
1228
1321
  }
1229
1322
  }
1323
+ .dark\:border-dark-primary {
1324
+ @media (prefers-color-scheme: dark) {
1325
+ border-color: var(--color-dark-primary);
1326
+ }
1327
+ }
1230
1328
  .dark\:border-dark-secondary {
1231
1329
  @media (prefers-color-scheme: dark) {
1232
1330
  border-color: var(--color-dark-secondary);
@@ -1265,14 +1363,6 @@
1265
1363
  background-color: var(--color-dark-inactive);
1266
1364
  }
1267
1365
  }
1268
- .dark\:bg-dark-inactive\/20 {
1269
- @media (prefers-color-scheme: dark) {
1270
- background-color: color-mix(in srgb, #958d85 20%, transparent);
1271
- @supports (color: color-mix(in lab, red, red)) {
1272
- background-color: color-mix(in oklab, var(--color-dark-inactive) 20%, transparent);
1273
- }
1274
- }
1275
- }
1276
1366
  .dark\:bg-dark-inactive\/50 {
1277
1367
  @media (prefers-color-scheme: dark) {
1278
1368
  background-color: color-mix(in srgb, #958d85 50%, transparent);
@@ -1326,6 +1416,14 @@
1326
1416
  color: var(--color-dark-on-background);
1327
1417
  }
1328
1418
  }
1419
+ .dark\:text-dark-on-background\/70 {
1420
+ @media (prefers-color-scheme: dark) {
1421
+ color: color-mix(in srgb, #d7d9f0 70%, transparent);
1422
+ @supports (color: color-mix(in lab, red, red)) {
1423
+ color: color-mix(in oklab, var(--color-dark-on-background) 70%, transparent);
1424
+ }
1425
+ }
1426
+ }
1329
1427
  .dark\:text-dark-on-control {
1330
1428
  @media (prefers-color-scheme: dark) {
1331
1429
  color: var(--color-dark-on-control);
@@ -1497,6 +1595,15 @@
1497
1595
  }
1498
1596
  }
1499
1597
  }
1598
+ .dark\:hover\:text-dark-on-secondary {
1599
+ @media (prefers-color-scheme: dark) {
1600
+ &:hover {
1601
+ @media (hover: hover) {
1602
+ color: var(--color-dark-on-secondary);
1603
+ }
1604
+ }
1605
+ }
1606
+ }
1500
1607
  .dark\:focus\:outline-dark-primary {
1501
1608
  @media (prefers-color-scheme: dark) {
1502
1609
  &:focus {
@@ -1587,26 +1694,6 @@
1587
1694
  inherits: false;
1588
1695
  initial-value: 1;
1589
1696
  }
1590
- @property --tw-rotate-x {
1591
- syntax: "*";
1592
- inherits: false;
1593
- }
1594
- @property --tw-rotate-y {
1595
- syntax: "*";
1596
- inherits: false;
1597
- }
1598
- @property --tw-rotate-z {
1599
- syntax: "*";
1600
- inherits: false;
1601
- }
1602
- @property --tw-skew-x {
1603
- syntax: "*";
1604
- inherits: false;
1605
- }
1606
- @property --tw-skew-y {
1607
- syntax: "*";
1608
- inherits: false;
1609
- }
1610
1697
  @property --tw-space-y-reverse {
1611
1698
  syntax: "*";
1612
1699
  inherits: false;
@@ -1753,6 +1840,11 @@
1753
1840
  syntax: "*";
1754
1841
  inherits: false;
1755
1842
  }
1843
+ @keyframes spin {
1844
+ to {
1845
+ transform: rotate(360deg);
1846
+ }
1847
+ }
1756
1848
  @keyframes pulse {
1757
1849
  50% {
1758
1850
  opacity: 0.5;
@@ -1774,11 +1866,6 @@
1774
1866
  --tw-scale-x: 1;
1775
1867
  --tw-scale-y: 1;
1776
1868
  --tw-scale-z: 1;
1777
- --tw-rotate-x: initial;
1778
- --tw-rotate-y: initial;
1779
- --tw-rotate-z: initial;
1780
- --tw-skew-x: initial;
1781
- --tw-skew-y: initial;
1782
1869
  --tw-space-y-reverse: 0;
1783
1870
  --tw-space-x-reverse: 0;
1784
1871
  --tw-border-style: solid;