@globalart/platform-ui 0.1.0

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 (93) hide show
  1. package/fesm2022/globalart-platform-ui.mjs +6070 -0
  2. package/fesm2022/globalart-platform-ui.mjs.map +1 -0
  3. package/globalart-platform-ui.d.ts.map +1 -0
  4. package/index.d.ts +43 -0
  5. package/index.d.ts.map +1 -0
  6. package/lib/actions/ui-sticky-actions.component.d.ts +10 -0
  7. package/lib/actions/ui-sticky-actions.component.d.ts.map +1 -0
  8. package/lib/alert/ui-alert.component.d.ts +21 -0
  9. package/lib/alert/ui-alert.component.d.ts.map +1 -0
  10. package/lib/avatar/ui-avatar.component.d.ts +19 -0
  11. package/lib/avatar/ui-avatar.component.d.ts.map +1 -0
  12. package/lib/badge/ui-badge.component.d.ts +11 -0
  13. package/lib/badge/ui-badge.component.d.ts.map +1 -0
  14. package/lib/button/ui-button.directive.d.ts +37 -0
  15. package/lib/button/ui-button.directive.d.ts.map +1 -0
  16. package/lib/card/ui-card.component.d.ts +10 -0
  17. package/lib/card/ui-card.component.d.ts.map +1 -0
  18. package/lib/chip/ui-chip.component.d.ts +29 -0
  19. package/lib/chip/ui-chip.component.d.ts.map +1 -0
  20. package/lib/copy/ui-copy-button.component.d.ts +29 -0
  21. package/lib/copy/ui-copy-button.component.d.ts.map +1 -0
  22. package/lib/data-table/ui-data-table.component.d.ts +108 -0
  23. package/lib/data-table/ui-data-table.component.d.ts.map +1 -0
  24. package/lib/data-table/ui-data-table.labels.d.ts +15 -0
  25. package/lib/data-table/ui-data-table.labels.d.ts.map +1 -0
  26. package/lib/description-list/ui-description-list.component.d.ts +14 -0
  27. package/lib/description-list/ui-description-list.component.d.ts.map +1 -0
  28. package/lib/dialog/ui-dialog.component.d.ts +23 -0
  29. package/lib/dialog/ui-dialog.component.d.ts.map +1 -0
  30. package/lib/feedback/ui-feedback.components.d.ts +42 -0
  31. package/lib/feedback/ui-feedback.components.d.ts.map +1 -0
  32. package/lib/file-drop/ui-file-drop.component.d.ts +38 -0
  33. package/lib/file-drop/ui-file-drop.component.d.ts.map +1 -0
  34. package/lib/form/ui-field-array.component.d.ts +45 -0
  35. package/lib/form/ui-field-array.component.d.ts.map +1 -0
  36. package/lib/form/ui-field-error.component.d.ts +24 -0
  37. package/lib/form/ui-field-error.component.d.ts.map +1 -0
  38. package/lib/form/ui-fieldset.component.d.ts +13 -0
  39. package/lib/form/ui-fieldset.component.d.ts.map +1 -0
  40. package/lib/form/ui-form-field.component.d.ts +57 -0
  41. package/lib/form/ui-form-field.component.d.ts.map +1 -0
  42. package/lib/form/ui-form-grid.directive.d.ts +15 -0
  43. package/lib/form/ui-form-grid.directive.d.ts.map +1 -0
  44. package/lib/form/ui-form.directives.d.ts +49 -0
  45. package/lib/form/ui-form.directives.d.ts.map +1 -0
  46. package/lib/form/ui-password-input.component.d.ts +29 -0
  47. package/lib/form/ui-password-input.component.d.ts.map +1 -0
  48. package/lib/form/ui-search-field.component.d.ts +43 -0
  49. package/lib/form/ui-search-field.component.d.ts.map +1 -0
  50. package/lib/form/ui-switch.component.d.ts +27 -0
  51. package/lib/form/ui-switch.component.d.ts.map +1 -0
  52. package/lib/form/ui-validation-messages.d.ts +14 -0
  53. package/lib/form/ui-validation-messages.d.ts.map +1 -0
  54. package/lib/icon/ui-icon.component.d.ts +10 -0
  55. package/lib/icon/ui-icon.component.d.ts.map +1 -0
  56. package/lib/icon/ui-icons.d.ts +54 -0
  57. package/lib/icon/ui-icons.d.ts.map +1 -0
  58. package/lib/menu/ui-menu.component.d.ts +33 -0
  59. package/lib/menu/ui-menu.component.d.ts.map +1 -0
  60. package/lib/modal/ui-modal.component.d.ts +93 -0
  61. package/lib/modal/ui-modal.component.d.ts.map +1 -0
  62. package/lib/page/ui-page-header.component.d.ts +9 -0
  63. package/lib/page/ui-page-header.component.d.ts.map +1 -0
  64. package/lib/select/ui-select.component.d.ts +58 -0
  65. package/lib/select/ui-select.component.d.ts.map +1 -0
  66. package/lib/select/ui-select.directives.d.ts +27 -0
  67. package/lib/select/ui-select.directives.d.ts.map +1 -0
  68. package/lib/shell/ui-nav.model.d.ts +14 -0
  69. package/lib/shell/ui-nav.model.d.ts.map +1 -0
  70. package/lib/shell/ui-shell.component.d.ts +22 -0
  71. package/lib/shell/ui-shell.component.d.ts.map +1 -0
  72. package/lib/shell/ui-sidebar-nav.component.d.ts +18 -0
  73. package/lib/shell/ui-sidebar-nav.component.d.ts.map +1 -0
  74. package/lib/stat/ui-stat.component.d.ts +12 -0
  75. package/lib/stat/ui-stat.component.d.ts.map +1 -0
  76. package/lib/table/ui-table.directives.d.ts +32 -0
  77. package/lib/table/ui-table.directives.d.ts.map +1 -0
  78. package/lib/tabs/ui-tabs.component.d.ts +16 -0
  79. package/lib/tabs/ui-tabs.component.d.ts.map +1 -0
  80. package/lib/text/ui-text.directives.d.ts +18 -0
  81. package/lib/text/ui-text.directives.d.ts.map +1 -0
  82. package/lib/theme/ui-theme.service.d.ts +13 -0
  83. package/lib/theme/ui-theme.service.d.ts.map +1 -0
  84. package/lib/toast/ui-toast.component.d.ts +33 -0
  85. package/lib/toast/ui-toast.component.d.ts.map +1 -0
  86. package/lib/toast/ui-toast.config.d.ts +4 -0
  87. package/lib/toast/ui-toast.config.d.ts.map +1 -0
  88. package/lib/tooltip/ui-tooltip.directive.d.ts +36 -0
  89. package/lib/tooltip/ui-tooltip.directive.d.ts.map +1 -0
  90. package/package.json +43 -0
  91. package/src/styles/base.css +207 -0
  92. package/src/styles/theme.css +211 -0
  93. package/styles.css +2 -0
@@ -0,0 +1,58 @@
1
+ import { AfterContentInit, EventEmitter, OnDestroy, QueryList, TemplateRef } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { NgOptionComponent } from '@ng-select/ng-select';
4
+ import { UiSelectLabelTemplateDirective, UiSelectOptionTemplateDirective } from './ui-select.directives';
5
+ import * as i0 from "@angular/core";
6
+ export type UiSelectValue = unknown;
7
+ export interface UiSelectProjectedOption {
8
+ $ngOptionValue: unknown;
9
+ $ngOptionLabel: string;
10
+ disabled: boolean;
11
+ }
12
+ export declare class UiSelectComponent implements AfterContentInit, ControlValueAccessor, OnDestroy {
13
+ items: readonly unknown[];
14
+ bindLabel: string;
15
+ bindValue: string;
16
+ placeholder: string;
17
+ searchable: boolean;
18
+ clearable: boolean;
19
+ multiple: boolean;
20
+ loading: boolean;
21
+ disabled: boolean;
22
+ invalid: boolean;
23
+ ariaLabel: string;
24
+ value: UiSelectValue;
25
+ readonly valueChange: EventEmitter<unknown>;
26
+ optionSlot?: UiSelectOptionTemplateDirective;
27
+ labelSlot?: UiSelectLabelTemplateDirective;
28
+ projectedOptions?: QueryList<NgOptionComponent>;
29
+ readonly modelOptions: {
30
+ standalone: boolean;
31
+ };
32
+ private readonly cdr;
33
+ private readonly destroyed;
34
+ private readonly resubscribe;
35
+ private projected;
36
+ private onChange;
37
+ private onTouched;
38
+ get stateClass(): string;
39
+ get optionTemplate(): TemplateRef<unknown> | null;
40
+ get labelTemplate(): TemplateRef<unknown> | null;
41
+ get resolvedItems(): readonly unknown[];
42
+ get resolvedBindLabel(): string;
43
+ get resolvedBindValue(): string;
44
+ ngAfterContentInit(): void;
45
+ ngOnDestroy(): void;
46
+ writeValue(value: UiSelectValue): void;
47
+ registerOnChange(fn: (value: UiSelectValue) => void): void;
48
+ registerOnTouched(fn: () => void): void;
49
+ setDisabledState(isDisabled: boolean): void;
50
+ onValueChange(value: UiSelectValue): void;
51
+ onBlur(): void;
52
+ private readProjectedOptions;
53
+ private refreshProjectedLabels;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSelectComponent, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiSelectComponent, "ui-select", never, { "items": { "alias": "items"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, ["optionSlot", "labelSlot", "projectedOptions"], never, true, never>;
56
+ }
57
+ export declare const UI_SELECT_DIRECTIVES: readonly [typeof UiSelectComponent, typeof UiSelectOptionTemplateDirective, typeof UiSelectLabelTemplateDirective, typeof NgOptionComponent];
58
+ //# sourceMappingURL=ui-select.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-select.component.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/select/ui-select.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAMhB,YAAY,EAEZ,SAAS,EAET,SAAS,EACT,WAAW,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EAGrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,wBAAwB,CAAC;;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA8BD,qBAgFa,iBACX,YAAW,gBAAgB,EAAE,oBAAoB,EAAE,SAAS;IAEnD,KAAK,EAAE,SAAS,OAAO,EAAE,CAAM;IAC/B,SAAS,SAAM;IACf,SAAS,SAAM;IACf,WAAW,SAAM;IACjB,UAAU,UAAS;IACnB,SAAS,UAAQ;IACjB,QAAQ,UAAS;IACjB,OAAO,UAAS;IAChB,QAAQ,UAAS;IACjB,OAAO,UAAS;IACJ,SAAS,SAAM;IAC3B,KAAK,EAAE,aAAa,CAAQ;IAE3B,QAAQ,CAAC,WAAW,wBAAqC;IAGnE,UAAU,CAAC,EAAE,+BAA+B,CAAC;IAG7C,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAG3C,gBAAgB,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEhD,QAAQ,CAAC,YAAY;;MAAwB;IAE7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,SAAS,CAAmD;IACpE,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,SAAS,CAA+B;IAEhD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,cAAc,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAEhD;IAED,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAE/C;IAED,IAAI,aAAa,IAAI,SAAS,OAAO,EAAE,CAEtC;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,kBAAkB,IAAI,IAAI;IAY1B,WAAW,IAAI,IAAI;IAOnB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKtC,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI1D,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIvC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3C,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAMzC,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,sBAAsB;yCA3HnB,iBAAiB;2CAAjB,iBAAiB;CAqI7B;AAED,eAAO,MAAM,oBAAoB,8IAKvB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import type { NgOption } from '@ng-select/ng-select';
3
+ import * as i0 from "@angular/core";
4
+ export interface UiSelectOptionContext {
5
+ $implicit: unknown;
6
+ item: unknown;
7
+ item$: NgOption;
8
+ index: number;
9
+ searchTerm: string;
10
+ }
11
+ export interface UiSelectLabelContext {
12
+ $implicit: unknown;
13
+ item: unknown;
14
+ label: string;
15
+ clear: (item: unknown) => void;
16
+ }
17
+ export declare class UiSelectOptionTemplateDirective {
18
+ readonly template: TemplateRef<UiSelectOptionContext>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSelectOptionTemplateDirective, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiSelectOptionTemplateDirective, "ng-template[uiSelectOption], ng-template[ng-option-tmp]", never, {}, {}, never, never, true, never>;
21
+ }
22
+ export declare class UiSelectLabelTemplateDirective {
23
+ readonly template: TemplateRef<UiSelectLabelContext>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSelectLabelTemplateDirective, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiSelectLabelTemplateDirective, "ng-template[uiSelectLabel], ng-template[ng-label-tmp]", never, {}, {}, never, never, true, never>;
26
+ }
27
+ //# sourceMappingURL=ui-select.directives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-select.directives.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/select/ui-select.directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAU,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;AAErD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED,qBAIa,+BAA+B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAuB;yCADjE,+BAA+B;2CAA/B,+BAA+B;CAE3C;AAED,qBAIa,8BAA8B;IACzC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAuB;yCADhE,8BAA8B;2CAA9B,8BAA8B;CAE1C"}
@@ -0,0 +1,14 @@
1
+ import type { UiIconName } from '../icon/ui-icons';
2
+ export interface UiNavLink {
3
+ label: string;
4
+ icon?: UiIconName;
5
+ route?: string;
6
+ href?: string;
7
+ badge?: string;
8
+ children?: UiNavLink[];
9
+ }
10
+ export interface UiNavSection {
11
+ label?: string;
12
+ items: UiNavLink[];
13
+ }
14
+ //# sourceMappingURL=ui-nav.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-nav.model.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/shell/ui-nav.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB"}
@@ -0,0 +1,22 @@
1
+ import type { UiNavSection } from './ui-nav.model';
2
+ import * as i0 from "@angular/core";
3
+ export declare class UiShellComponent {
4
+ sections: UiNavSection[];
5
+ brand: string;
6
+ section: string;
7
+ brandHref: string;
8
+ expandLabel: string;
9
+ collapseLabel: string;
10
+ openMenuLabel: string;
11
+ closeMenuLabel: string;
12
+ readonly collapsed: import("@angular/core").WritableSignal<boolean>;
13
+ readonly drawerOpen: import("@angular/core").WritableSignal<boolean>;
14
+ get menuLabel(): string;
15
+ toggleMenu(): void;
16
+ closeDrawer(): void;
17
+ onEscape(): void;
18
+ private get isCompact();
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiShellComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiShellComponent, "ui-shell", never, { "sections": { "alias": "sections"; "required": true; }; "brand": { "alias": "brand"; "required": false; }; "section": { "alias": "section"; "required": false; }; "brandHref": { "alias": "brandHref"; "required": false; }; "expandLabel": { "alias": "expandLabel"; "required": false; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; }; "openMenuLabel": { "alias": "openMenuLabel"; "required": false; }; "closeMenuLabel": { "alias": "closeMenuLabel"; "required": false; }; }, {}, never, ["[shellTopbarStart]", "[shellTopbarEnd]", "[shellSidebarFooter]", "*"], true, never>;
21
+ }
22
+ //# sourceMappingURL=ui-shell.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-shell.component.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/shell/ui-shell.component.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;;AAGnD,qBA0Ea,gBAAgB;IACA,QAAQ,EAAE,YAAY,EAAE,CAAM;IAChD,KAAK,SAAc;IACnB,OAAO,SAAM;IACb,SAAS,SAAO;IAChB,WAAW,SAAM;IACjB,aAAa,SAAM;IACnB,aAAa,SAAM;IACnB,cAAc,SAAM;IAE7B,QAAQ,CAAC,SAAS,kDAAiB;IACnC,QAAQ,CAAC,UAAU,kDAAiB;IAEpC,IAAI,SAAS,IAAI,MAAM,CAKtB;IAED,UAAU,IAAI,IAAI;IAQlB,WAAW,IAAI,IAAI;IAKnB,QAAQ,IAAI,IAAI;IAIhB,OAAO,KAAK,SAAS,GAKpB;yCA1CU,gBAAgB;2CAAhB,gBAAgB;CA2C5B"}
@@ -0,0 +1,18 @@
1
+ import { Router } from '@angular/router';
2
+ import type { UiNavLink, UiNavSection } from './ui-nav.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class UiSidebarNavComponent {
5
+ private readonly router;
6
+ sections: UiNavSection[];
7
+ collapsed: boolean;
8
+ readonly linkClass = "group relative flex h-10 items-center gap-4 border-l-[3px] border-transparent pl-5 pr-3 text-base text-ink-muted transition-colors duration-100 hover:bg-surface-hover hover:text-ink";
9
+ readonly activeClass = "border-signal bg-signal-soft font-medium text-signal";
10
+ private readonly overrides;
11
+ constructor(router: Router);
12
+ isGroupActive(item: UiNavLink): boolean;
13
+ isOpen(item: UiNavLink): boolean;
14
+ toggle(label: string): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSidebarNavComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiSidebarNavComponent, "ui-sidebar-nav", never, { "sections": { "alias": "sections"; "required": true; }; "collapsed": { "alias": "collapsed"; "required": false; }; }, {}, never, never, true, never>;
17
+ }
18
+ //# sourceMappingURL=ui-sidebar-nav.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-sidebar-nav.component.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/shell/ui-sidebar-nav.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAgC,MAAM,iBAAiB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;;AAM9D,qBA0Ga,qBAAqB;IASpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARR,QAAQ,EAAE,YAAY,EAAE,CAAM;IAChD,SAAS,UAAS;IAE3B,QAAQ,CAAC,SAAS,2LAAQ;IAC1B,QAAQ,CAAC,WAAW,0DAAe;IAEnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;gBAEhD,MAAM,EAAE,MAAM;IAE3C,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAMvC,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAIhC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;yCArBhB,qBAAqB;2CAArB,qBAAqB;CAgCjC"}
@@ -0,0 +1,12 @@
1
+ import * as i0 from "@angular/core";
2
+ export type UiStatTone = 'signal' | 'ok' | 'info' | 'danger' | 'neutral';
3
+ export declare class UiStatComponent {
4
+ label: string;
5
+ value: string | number;
6
+ hint?: string;
7
+ tone: UiStatTone;
8
+ get hintClass(): string;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiStatComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiStatComponent, "ui-stat", never, { "label": { "alias": "label"; "required": true; }; "value": { "alias": "value"; "required": true; }; "hint": { "alias": "hint"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; }, {}, never, never, true, never>;
11
+ }
12
+ //# sourceMappingURL=ui-stat.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-stat.component.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/stat/ui-stat.component.ts"],"names":[],"mappings":";AAGA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAUzE,qBAea,eAAe;IACC,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAa;IAEtC,IAAI,SAAS,IAAI,MAAM,CAEtB;yCARU,eAAe;2CAAf,eAAe;CAS3B"}
@@ -0,0 +1,32 @@
1
+ import * as i0 from "@angular/core";
2
+ export type UiTableAlign = 'start' | 'center' | 'end';
3
+ export declare class UiTableWrapDirective {
4
+ readonly classes = "w-full overflow-x-auto";
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTableWrapDirective, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiTableWrapDirective, "[uiTableWrap]", never, {}, {}, never, never, true, never>;
7
+ }
8
+ export declare class UiTableDirective {
9
+ readonly classes = "w-full border-collapse text-base";
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTableDirective, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiTableDirective, "table[uiTable]", never, {}, {}, never, never, true, never>;
12
+ }
13
+ export declare class UiThDirective {
14
+ align: UiTableAlign;
15
+ get classes(): string;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiThDirective, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiThDirective, "th[uiTh]", never, { "align": { "alias": "align"; "required": false; }; }, {}, never, never, true, never>;
18
+ }
19
+ export declare class UiTdDirective {
20
+ align?: UiTableAlign;
21
+ actions: boolean;
22
+ get classes(): string;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTdDirective, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiTdDirective, "td[uiTd]", never, { "align": { "alias": "align"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, {}, never, never, true, never>;
25
+ }
26
+ export declare class UiTrDirective {
27
+ readonly classes = "transition-colors duration-75 hover:bg-surface-hover";
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTrDirective, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiTrDirective, "tr[uiTr]", never, {}, {}, never, never, true, never>;
30
+ }
31
+ export declare const UI_TABLE_DIRECTIVES: readonly [typeof UiTableWrapDirective, typeof UiTableDirective, typeof UiThDirective, typeof UiTdDirective, typeof UiTrDirective];
32
+ //# sourceMappingURL=ui-table.directives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-table.directives.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/table/ui-table.directives.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAetD,qBACa,oBAAoB;IAE/B,QAAQ,CAAC,OAAO,4BAA4B;yCAFjC,oBAAoB;2CAApB,oBAAoB;CAGhC;AAED,qBACa,gBAAgB;IAE3B,QAAQ,CAAC,OAAO,sCAAsC;yCAF3C,gBAAgB;2CAAhB,gBAAgB;CAG5B;AAED,qBACa,aAAa;IACf,KAAK,EAAE,YAAY,CAAW;IAEvC,IACI,OAAO,IAAI,MAAM,CAEpB;yCANU,aAAa;2CAAb,aAAa;CAOzB;AAED,qBACa,aAAa;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,UAAS;IAEzB,IACI,OAAO,IAAI,MAAM,CAMpB;yCAXU,aAAa;2CAAb,aAAa;CAYzB;AAED,qBACa,aAAa;IAExB,QAAQ,CAAC,OAAO,0DAA0D;yCAF/D,aAAa;2CAAb,aAAa;CAGzB;AAED,eAAO,MAAM,mBAAmB,mIAMtB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface UiTab {
4
+ id: string;
5
+ label: string;
6
+ badge?: string | number;
7
+ }
8
+ export declare class UiTabsComponent {
9
+ tabs: UiTab[];
10
+ active: string;
11
+ readonly activeChange: EventEmitter<string>;
12
+ tabClass(id: string): string;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTabsComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiTabsComponent, "ui-tabs", never, { "tabs": { "alias": "tabs"; "required": true; }; "active": { "alias": "active"; "required": false; }; }, { "activeChange": "activeChange"; }, never, never, true, never>;
15
+ }
16
+ //# sourceMappingURL=ui-tabs.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-tabs.component.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/tabs/ui-tabs.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAC;;AAEvB,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,qBAyBa,eAAe;IACC,IAAI,EAAE,KAAK,EAAE,CAAM;IACrC,MAAM,SAAM;IAEX,QAAQ,CAAC,YAAY,uBAA8B;IAE7D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;yCANjB,eAAe;2CAAf,eAAe;CAa3B"}
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ export type UiMonoSize = 'xs' | 'sm' | 'md' | 'lg';
3
+ export type UiMonoTone = 'default' | 'muted' | 'faint';
4
+ export declare class UiMonoDirective {
5
+ size: UiMonoSize;
6
+ tone: UiMonoTone;
7
+ tabular: boolean;
8
+ get classes(): string;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiMonoDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiMonoDirective, "[uiMono]", never, { "size": { "alias": "size"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "tabular": { "alias": "tabular"; "required": false; }; }, {}, never, never, true, never>;
11
+ }
12
+ export declare class UiEyebrowDirective {
13
+ readonly classes = "text-eyebrow uppercase text-ink-faint";
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiEyebrowDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiEyebrowDirective, "[uiEyebrow]", never, {}, {}, never, never, true, never>;
16
+ }
17
+ export declare const UI_TEXT_DIRECTIVES: readonly [typeof UiMonoDirective, typeof UiEyebrowDirective];
18
+ //# sourceMappingURL=ui-text.directives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-text.directives.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/text/ui-text.directives.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAevD,qBACa,eAAe;IACjB,IAAI,EAAE,UAAU,CAAQ;IACxB,IAAI,EAAE,UAAU,CAAa;IAC7B,OAAO,UAAS;IAEzB,IACI,OAAO,IAAI,MAAM,CAGpB;yCATU,eAAe;2CAAf,eAAe;CAU3B;AAED,qBACa,kBAAkB;IAE7B,QAAQ,CAAC,OAAO,2CAA2C;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,eAAO,MAAM,kBAAkB,8DAGrB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ export type UiTheme = 'light' | 'dark';
3
+ export declare class UiThemeService {
4
+ private readonly document;
5
+ private readonly isBrowser;
6
+ readonly theme: import("@angular/core").WritableSignal<UiTheme>;
7
+ init(): void;
8
+ toggle(): void;
9
+ apply(theme: UiTheme): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiThemeService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<UiThemeService>;
12
+ }
13
+ //# sourceMappingURL=ui-theme.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-theme.service.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/theme/ui-theme.service.ts"],"names":[],"mappings":";AAGA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAIvC,qBACa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IAEpE,QAAQ,CAAC,KAAK,kDAA4B;IAE1C,IAAI,IAAI,IAAI;IAWZ,MAAM,IAAI,IAAI;IAId,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;yCArBhB,cAAc;6CAAd,cAAc;CA4B1B"}
@@ -0,0 +1,33 @@
1
+ import { EventEmitter, Injector, NgZone } from '@angular/core';
2
+ import { Toast, ToastPackage } from 'ngx-toastr';
3
+ import type { UiIconName } from '../icon/ui-icons';
4
+ import * as i0 from "@angular/core";
5
+ export type UiToastTone = 'ok' | 'danger' | 'warn' | 'info';
6
+ export interface UiToastPayload {
7
+ tone?: UiToastTone;
8
+ icon?: UiIconName;
9
+ actionLabel?: string;
10
+ closeLabel?: string;
11
+ }
12
+ export declare const UI_TOAST_TYPES: Record<'success' | 'error' | 'warning' | 'info', string>;
13
+ export declare class UiToastComponent extends Toast {
14
+ tone: UiToastTone;
15
+ title: string;
16
+ message: string | null;
17
+ icon?: UiIconName;
18
+ actionLabel: string;
19
+ closeLabel: string;
20
+ closable: boolean;
21
+ readonly action: EventEmitter<void>;
22
+ readonly closed: EventEmitter<void>;
23
+ constructor(toastPackage: ToastPackage | null, injector: Injector, ngZone: NgZone);
24
+ get role(): 'alert' | 'status';
25
+ get iconName(): UiIconName;
26
+ get iconClass(): string;
27
+ get edgeClass(): string;
28
+ onActionClick(event: Event): void;
29
+ onCloseClick(event: Event): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiToastComponent, [{ optional: true; }, null, null]>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiToastComponent, "ui-toast", never, { "tone": { "alias": "tone"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "actionLabel": { "alias": "actionLabel"; "required": false; }; "closeLabel": { "alias": "closeLabel"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; }, { "action": "action"; "closed": "closed"; }, never, never, true, never>;
32
+ }
33
+ //# sourceMappingURL=ui-toast.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-toast.component.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/toast/ui-toast.component.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,YAAY,EAEZ,QAAQ,EAER,MAAM,EAGP,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,EACL,YAAY,EAIb,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;;AAEnD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,EACxC,MAAM,CAMP,CAAC;AA2DF,qBA6Da,gBAAiB,SAAQ,KAAK;IAChC,IAAI,EAAE,WAAW,CAAU;IAClB,KAAK,SAAM;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAM;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,SAAM;IACjB,UAAU,SAAM;IAChB,QAAQ,UAAQ;IAEf,QAAQ,CAAC,MAAM,qBAA4B;IAC3C,QAAQ,CAAC,MAAM,qBAA4B;gBAGjB,YAAY,EAAE,YAAY,GAAG,IAAI,EACnE,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM;IA6BhB,IAAI,IAAI,IAAI,OAAO,GAAG,QAAQ,CAE7B;IAED,IAAI,QAAQ,IAAI,UAAU,CAEzB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMjC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;yCAlErB,gBAAgB;2CAAhB,gBAAgB;CAuE5B"}
@@ -0,0 +1,4 @@
1
+ import type { GlobalConfig } from 'ngx-toastr';
2
+ export declare const UI_TOAST_CONFIG: Partial<GlobalConfig>;
3
+ export declare const uiToastConfig: (overrides?: Partial<GlobalConfig>) => Partial<GlobalConfig>;
4
+ //# sourceMappingURL=ui-toast.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-toast.config.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/toast/ui-toast.config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,YAAY,CAkBjD,CAAC;AAEF,eAAO,MAAM,aAAa,eACb,OAAO,CAAC,YAAY,CAAC,KAC/B,OAAO,CAAC,YAAY,CAA2C,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { ElementRef, NgZone, OnChanges, OnDestroy, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export type UiTooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
4
+ export declare class UiTooltipDirective implements OnChanges, OnDestroy {
5
+ private readonly hostRef;
6
+ private readonly renderer;
7
+ private readonly zone;
8
+ private readonly doc;
9
+ text: string;
10
+ uiTooltipPlacement: UiTooltipPlacement;
11
+ uiTooltipDelay: number;
12
+ private readonly id;
13
+ private bubble;
14
+ private timer;
15
+ private previousDescribedBy;
16
+ private detachers;
17
+ constructor(hostRef: ElementRef<HTMLElement>, renderer: Renderer2, zone: NgZone, doc: Document);
18
+ ngOnChanges(): void;
19
+ ngOnDestroy(): void;
20
+ onPointerEnter(): void;
21
+ onPointerLeave(): void;
22
+ onFocusIn(): void;
23
+ onFocusOut(): void;
24
+ onEscape(): void;
25
+ private label;
26
+ private isKeyboardFocus;
27
+ private scheduleShow;
28
+ private show;
29
+ private hide;
30
+ private position;
31
+ private trackViewport;
32
+ private clearTimer;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTooltipDirective, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<UiTooltipDirective, "[uiTooltip]", never, { "text": { "alias": "uiTooltip"; "required": false; }; "uiTooltipPlacement": { "alias": "uiTooltipPlacement"; "required": false; }; "uiTooltipDelay": { "alias": "uiTooltipDelay"; "required": false; }; }, {}, never, never, true, never>;
35
+ }
36
+ //# sourceMappingURL=ui-tooltip.directive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-tooltip.directive.d.ts","sourceRoot":"","sources":["../../../../../libs/ui/src/lib/tooltip/ui-tooltip.directive.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAIV,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,eAAe,CAAC;;AAEvB,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAUrE,qBAIa,kBAAmB,YAAW,SAAS,EAAE,SAAS;IAa3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG;IAfpB,IAAI,SAAM;IACrB,kBAAkB,EAAE,kBAAkB,CAAS;IAC/C,cAAc,SAAO;IAE9B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoC;IAEvD,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAsB;gBAGpB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAChC,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,MAAM,EACM,GAAG,EAAE,QAAQ;IAGlD,WAAW,IAAI,IAAI;IAgBnB,WAAW,IAAI,IAAI;IAKnB,cAAc,IAAI,IAAI;IAKtB,cAAc,IAAI,IAAI;IAKtB,SAAS,IAAI,IAAI;IAOjB,UAAU,IAAI,IAAI;IAKlB,QAAQ,IAAI,IAAI;IAIhB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,IAAI;IA+BZ,OAAO,CAAC,IAAI;IA8BZ,OAAO,CAAC,QAAQ;IAyChB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,UAAU;yCA5NP,kBAAkB;2CAAlB,kBAAkB;CAkO9B"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@globalart/platform-ui",
3
+ "version": "0.1.0",
4
+ "description": "GlobalArt platform design system: Angular components and Tailwind theme",
5
+ "license": "UNLICENSED",
6
+ "homepage": "https://storybook.globalart.hu",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/GlobalArtInc/platform_frontend.git",
10
+ "directory": "libs/ui"
11
+ },
12
+ "type": "module",
13
+ "sideEffects": false,
14
+ "main": "./src/index.ts",
15
+ "types": "./src/index.ts",
16
+ "exports": {
17
+ "./styles.css": "./styles.css",
18
+ "./package.json": {
19
+ "default": "./package.json"
20
+ },
21
+ ".": {
22
+ "types": "./index.d.ts",
23
+ "default": "./fesm2022/globalart-platform-ui.mjs"
24
+ }
25
+ },
26
+ "peerDependencies": {
27
+ "@angular/animations": "^19.0.0",
28
+ "@angular/common": "^19.0.0",
29
+ "@angular/core": "^19.0.0",
30
+ "@angular/forms": "^19.0.0",
31
+ "@angular/router": "^19.0.0",
32
+ "@ng-select/ng-select": "^14.2.0",
33
+ "lucide-angular": "^1.0.0",
34
+ "ngx-toastr": "^19.0.0",
35
+ "rxjs": "^7.8.0",
36
+ "tailwindcss": "^4.0.0"
37
+ },
38
+ "module": "fesm2022/globalart-platform-ui.mjs",
39
+ "typings": "index.d.ts",
40
+ "dependencies": {
41
+ "tslib": "^2.3.0"
42
+ }
43
+ }
@@ -0,0 +1,207 @@
1
+ @layer base {
2
+ html {
3
+ -webkit-text-size-adjust: 100%;
4
+ color-scheme: light;
5
+ }
6
+
7
+ html[data-theme='dark'] {
8
+ color-scheme: dark;
9
+ }
10
+
11
+ body {
12
+ background-color: var(--ds-ground);
13
+ color: var(--ds-ink);
14
+ font-family: var(--font-sans);
15
+ font-size: var(--text-base);
16
+ line-height: var(--text-base--line-height);
17
+ font-feature-settings: 'cv05' 1, 'ss01' 1;
18
+ -webkit-font-smoothing: antialiased;
19
+ -moz-osx-font-smoothing: grayscale;
20
+ }
21
+
22
+ h1,
23
+ h2,
24
+ h3,
25
+ h4 {
26
+ letter-spacing: 0;
27
+ font-weight: 400;
28
+ }
29
+
30
+ :focus-visible {
31
+ outline: 2px solid var(--ds-focus);
32
+ outline-offset: 2px;
33
+ }
34
+
35
+ ::selection {
36
+ background-color: var(--ds-signal);
37
+ color: #ffffff;
38
+ }
39
+
40
+ * {
41
+ scrollbar-width: thin;
42
+ scrollbar-color: var(--ds-line-strong) transparent;
43
+ }
44
+
45
+ ::-webkit-scrollbar {
46
+ width: 10px;
47
+ height: 10px;
48
+ }
49
+
50
+ ::-webkit-scrollbar-track {
51
+ background: transparent;
52
+ }
53
+
54
+ ::-webkit-scrollbar-thumb {
55
+ background-color: var(--ds-line-strong);
56
+ border: 3px solid transparent;
57
+ background-clip: content-box;
58
+ border-radius: 6px;
59
+ }
60
+ }
61
+
62
+ @layer components {
63
+ .ui-checkbox {
64
+ appearance: none;
65
+ flex-shrink: 0;
66
+ width: 1rem;
67
+ height: 1rem;
68
+ cursor: pointer;
69
+ border-radius: 4px;
70
+ border: 1px solid var(--ds-line-strong);
71
+ background-color: var(--ds-surface);
72
+ background-position: center;
73
+ background-repeat: no-repeat;
74
+ background-size: 0.75rem;
75
+ transition: background-color 100ms, border-color 100ms;
76
+ }
77
+
78
+ .ui-checkbox:hover:not(:disabled) {
79
+ border-color: var(--ds-ink-muted);
80
+ }
81
+
82
+ .ui-checkbox:checked,
83
+ .ui-checkbox:indeterminate {
84
+ border-color: var(--ds-signal);
85
+ background-color: var(--ds-signal);
86
+ }
87
+
88
+ .ui-checkbox:checked {
89
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
90
+ }
91
+
92
+ .ui-checkbox:indeterminate {
93
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
94
+ }
95
+
96
+ .ui-checkbox:disabled {
97
+ cursor: not-allowed;
98
+ opacity: 0.45;
99
+ }
100
+
101
+ [data-theme='dark'] .ui-checkbox:checked,
102
+ [data-theme='dark'] .ui-checkbox:indeterminate {
103
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23202124' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
104
+ }
105
+ }
106
+
107
+ @layer utilities {
108
+ .tabular {
109
+ font-variant-numeric: tabular-nums;
110
+ }
111
+ }
112
+
113
+ @media (prefers-reduced-motion: reduce) {
114
+ *,
115
+ *::before,
116
+ *::after {
117
+ animation-duration: 0.01ms !important;
118
+ animation-iteration-count: 1 !important;
119
+ transition-duration: 0.01ms !important;
120
+ scroll-behavior: auto !important;
121
+ }
122
+ }
123
+
124
+ @layer components {
125
+ .ng-select .ng-select-container {
126
+ min-height: 2.375rem;
127
+ border-radius: var(--radius-control);
128
+ border-color: var(--ds-line);
129
+ background-color: var(--ds-surface);
130
+ color: var(--ds-ink);
131
+ font-size: var(--text-base);
132
+ }
133
+
134
+ .ng-select.ng-select-single .ng-select-container {
135
+ height: 2.375rem;
136
+ }
137
+
138
+ .ng-select .ng-select-container:hover {
139
+ border-color: var(--ds-line-strong);
140
+ box-shadow: none;
141
+ }
142
+
143
+ .ng-select.ng-select-focused > .ng-select-container {
144
+ border-color: var(--ds-signal);
145
+ box-shadow: inset 0 0 0 1px var(--ds-signal);
146
+ }
147
+
148
+ .ng-select .ng-placeholder {
149
+ color: var(--ds-ink-faint);
150
+ }
151
+
152
+ .ng-select .ng-arrow-wrapper .ng-arrow {
153
+ border-top-color: var(--ds-ink-muted);
154
+ }
155
+
156
+ .ng-select .ng-clear-wrapper {
157
+ color: var(--ds-ink-faint);
158
+ }
159
+
160
+ .ng-select .ng-value-container .ng-value {
161
+ background-color: var(--ds-ground-sunken);
162
+ color: var(--ds-ink);
163
+ border-radius: 4px;
164
+ }
165
+
166
+ .ng-select.ng-select-multiple
167
+ .ng-select-container
168
+ .ng-value-container
169
+ .ng-value {
170
+ border: 1px solid var(--ds-line);
171
+ font-size: var(--text-sm);
172
+ }
173
+
174
+ .ng-select.ng-select-multiple
175
+ .ng-select-container
176
+ .ng-value-container
177
+ .ng-value
178
+ .ng-value-icon:hover {
179
+ background-color: var(--ds-surface-active);
180
+ }
181
+
182
+ .ng-dropdown-panel {
183
+ border-color: var(--ds-line);
184
+ background-color: var(--ds-surface-raised);
185
+ border-radius: var(--radius-panel);
186
+ box-shadow: var(--shadow-overlay);
187
+ overflow: hidden;
188
+ }
189
+
190
+ .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {
191
+ background-color: transparent;
192
+ color: var(--ds-ink);
193
+ font-size: var(--text-base);
194
+ }
195
+
196
+ .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked,
197
+ .ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover {
198
+ background-color: var(--ds-surface-hover);
199
+ color: var(--ds-ink);
200
+ }
201
+
202
+ .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {
203
+ background-color: var(--ds-signal-soft);
204
+ color: var(--ds-signal-ink);
205
+ font-weight: 500;
206
+ }
207
+ }