@geoit/ui 0.0.2
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/AGENTS.md +25 -0
- package/README.md +46 -0
- package/ai/AGENTS.md +86 -0
- package/ai/README.md +44 -0
- package/ai/catalog.json +882 -0
- package/ai/components/geo-alert.md +56 -0
- package/ai/components/geo-back-button.md +54 -0
- package/ai/components/geo-breadcrumb.md +52 -0
- package/ai/components/geo-button.md +63 -0
- package/ai/components/geo-checkbox.md +54 -0
- package/ai/components/geo-column-picker.md +54 -0
- package/ai/components/geo-confirm-modal.md +70 -0
- package/ai/components/geo-date-picker.md +65 -0
- package/ai/components/geo-date-range-picker.md +64 -0
- package/ai/components/geo-file-picker.md +62 -0
- package/ai/components/geo-form-modal.md +88 -0
- package/ai/components/geo-icon.md +53 -0
- package/ai/components/geo-input.md +65 -0
- package/ai/components/geo-page-title.md +53 -0
- package/ai/components/geo-pagination.md +59 -0
- package/ai/components/geo-radio.md +67 -0
- package/ai/components/geo-row-actions.md +54 -0
- package/ai/components/geo-select.md +68 -0
- package/ai/components/geo-slider.md +56 -0
- package/ai/components/geo-status-tag.md +51 -0
- package/ai/components/geo-step-form-layout.md +81 -0
- package/ai/components/geo-stepper.md +63 -0
- package/ai/components/geo-table-filter.md +65 -0
- package/ai/components/geo-table-pagination.md +59 -0
- package/ai/components/geo-table-toolbar.md +64 -0
- package/ai/components/geo-table.md +98 -0
- package/ai/components/geo-tabs.md +62 -0
- package/ai/components/geo-textarea.md +59 -0
- package/ai/components/geo-toast.md +61 -0
- package/ai/components/geo-tree.md +58 -0
- package/ai/components/geo-typography.md +57 -0
- package/ai/components/geo-upload.md +78 -0
- package/ai/recipes.md +111 -0
- package/esm2022/geoit-ui.mjs +5 -0
- package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +58 -0
- package/esm2022/lib/figma/geo-alert/geo-alert.types.mjs +7 -0
- package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +48 -0
- package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +33 -0
- package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.types.mjs +2 -0
- package/esm2022/lib/figma/geo-button/geo-button.component.mjs +77 -0
- package/esm2022/lib/figma/geo-button/geo-button.types.mjs +2 -0
- package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +34 -0
- package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +76 -0
- package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.types.mjs +2 -0
- package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +119 -0
- package/esm2022/lib/figma/geo-date-picker/geo-date-picker.types.mjs +2 -0
- package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +116 -0
- package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.types.mjs +2 -0
- package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +145 -0
- package/esm2022/lib/figma/geo-file-picker/geo-file-picker.types.mjs +2 -0
- package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +153 -0
- package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +51 -0
- package/esm2022/lib/figma/geo-icon/geo-icon.types.mjs +8 -0
- package/esm2022/lib/figma/geo-input/geo-input.component.mjs +118 -0
- package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +51 -0
- package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +54 -0
- package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +95 -0
- package/esm2022/lib/figma/geo-radio/geo-radio.types.mjs +2 -0
- package/esm2022/lib/figma/geo-select/geo-select.component.mjs +113 -0
- package/esm2022/lib/figma/geo-select/geo-select.types.mjs +2 -0
- package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +43 -0
- package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +62 -0
- package/esm2022/lib/figma/geo-status-tag/geo-status-tag.types.mjs +30 -0
- package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +157 -0
- package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.types.mjs +2 -0
- package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +77 -0
- package/esm2022/lib/figma/geo-stepper/geo-stepper.types.mjs +2 -0
- package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +65 -0
- package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.storage.mjs +31 -0
- package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.types.mjs +2 -0
- package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +64 -0
- package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.types.mjs +24 -0
- package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +195 -0
- package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +118 -0
- package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +68 -0
- package/esm2022/lib/figma/geo-table/geo-table.component.mjs +381 -0
- package/esm2022/lib/figma/geo-table/geo-table.types.mjs +4 -0
- package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +94 -0
- package/esm2022/lib/figma/geo-tabs/geo-tabs.types.mjs +2 -0
- package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +85 -0
- package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +57 -0
- package/esm2022/lib/figma/geo-toast/geo-toast.service.mjs +116 -0
- package/esm2022/lib/figma/geo-toast/geo-toast.types.mjs +13 -0
- package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +52 -0
- package/esm2022/lib/figma/geo-tree/geo-tree.types.mjs +2 -0
- package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +112 -0
- package/esm2022/lib/figma/geo-typography/geo-typography.types.mjs +96 -0
- package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +218 -0
- package/esm2022/lib/figma/geo-upload/geo-upload.types.mjs +30 -0
- package/esm2022/lib/figma/index.mjs +56 -0
- package/esm2022/lib/ng-zorro/ng-zorro-antd.module.mjs +293 -0
- package/esm2022/lib/styles/tokens.mjs +144 -0
- package/esm2022/public-api.mjs +7 -0
- package/fesm2022/geoit-ui.mjs +3805 -0
- package/fesm2022/geoit-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/figma/geo-alert/geo-alert.component.d.ts +17 -0
- package/lib/figma/geo-alert/geo-alert.types.d.ts +2 -0
- package/lib/figma/geo-back-button/geo-back-button.component.d.ts +18 -0
- package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +12 -0
- package/lib/figma/geo-breadcrumb/geo-breadcrumb.types.d.ts +10 -0
- package/lib/figma/geo-button/geo-button.component.d.ts +27 -0
- package/lib/figma/geo-button/geo-button.types.d.ts +4 -0
- package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +12 -0
- package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +24 -0
- package/lib/figma/geo-confirm-modal/geo-confirm-modal.types.d.ts +5 -0
- package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +35 -0
- package/lib/figma/geo-date-picker/geo-date-picker.types.d.ts +2 -0
- package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +34 -0
- package/lib/figma/geo-date-range-picker/geo-date-range-picker.types.d.ts +2 -0
- package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +39 -0
- package/lib/figma/geo-file-picker/geo-file-picker.types.d.ts +4 -0
- package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +57 -0
- package/lib/figma/geo-icon/geo-icon.component.d.ts +19 -0
- package/lib/figma/geo-icon/geo-icon.types.d.ts +3 -0
- package/lib/figma/geo-input/geo-input.component.d.ts +37 -0
- package/lib/figma/geo-page-title/geo-page-title.component.d.ts +22 -0
- package/lib/figma/geo-pagination/geo-pagination.component.d.ts +21 -0
- package/lib/figma/geo-radio/geo-radio.component.d.ts +31 -0
- package/lib/figma/geo-radio/geo-radio.types.d.ts +9 -0
- package/lib/figma/geo-select/geo-select.component.d.ts +33 -0
- package/lib/figma/geo-select/geo-select.types.d.ts +7 -0
- package/lib/figma/geo-slider/geo-slider.component.d.ts +17 -0
- package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +18 -0
- package/lib/figma/geo-status-tag/geo-status-tag.types.d.ts +13 -0
- package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +67 -0
- package/lib/figma/geo-step-form-layout/geo-step-form-layout.types.d.ts +9 -0
- package/lib/figma/geo-stepper/geo-stepper.component.d.ts +42 -0
- package/lib/figma/geo-stepper/geo-stepper.types.d.ts +9 -0
- package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +20 -0
- package/lib/figma/geo-table/geo-column-picker/geo-column-picker.storage.d.ts +5 -0
- package/lib/figma/geo-table/geo-column-picker/geo-column-picker.types.d.ts +17 -0
- package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +21 -0
- package/lib/figma/geo-table/geo-row-actions/geo-row-actions.types.d.ts +13 -0
- package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +75 -0
- package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +33 -0
- package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +24 -0
- package/lib/figma/geo-table/geo-table.component.d.ts +113 -0
- package/lib/figma/geo-table/geo-table.types.d.ts +47 -0
- package/lib/figma/geo-tabs/geo-tabs.component.d.ts +31 -0
- package/lib/figma/geo-tabs/geo-tabs.types.d.ts +7 -0
- package/lib/figma/geo-textarea/geo-textarea.component.d.ts +27 -0
- package/lib/figma/geo-toast/geo-toast.component.d.ts +23 -0
- package/lib/figma/geo-toast/geo-toast.service.d.ts +33 -0
- package/lib/figma/geo-toast/geo-toast.types.d.ts +45 -0
- package/lib/figma/geo-tree/geo-tree.component.d.ts +23 -0
- package/lib/figma/geo-tree/geo-tree.types.d.ts +12 -0
- package/lib/figma/geo-typography/geo-typography.component.d.ts +35 -0
- package/lib/figma/geo-typography/geo-typography.types.d.ts +12 -0
- package/lib/figma/geo-upload/geo-upload.component.d.ts +59 -0
- package/lib/figma/geo-upload/geo-upload.types.d.ts +13 -0
- package/lib/figma/index.d.ts +55 -0
- package/lib/ng-zorro/ng-zorro-antd.module.d.ts +76 -0
- package/lib/styles/tokens.d.ts +184 -0
- package/package.json +38 -0
- package/public-api.d.ts +3 -0
- package/src/lib/styles/design-tokens.scss +143 -0
- package/src/lib/styles/geo-toast-notification.scss +129 -0
- package/src/lib/styles/scrollbar.scss +38 -0
- package/src/lib/styles/theme.scss +153 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { GeoAlertType } from './geo-alert.types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class GeoAlertComponent {
|
|
5
|
+
type: GeoAlertType;
|
|
6
|
+
title: string;
|
|
7
|
+
message: string;
|
|
8
|
+
closable: boolean;
|
|
9
|
+
visible: boolean;
|
|
10
|
+
showIcon: boolean;
|
|
11
|
+
closed: EventEmitter<void>;
|
|
12
|
+
get displayTitle(): string;
|
|
13
|
+
get iconType(): string;
|
|
14
|
+
onClose(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoAlertComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoAlertComponent, "geo-alert", never, { "type": { "alias": "type"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; }, { "closed": "closed"; }, never, never, true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Nút quay lại dùng chung cho các page form/detail.
|
|
5
|
+
* Mặc định `history.back()` (−1). Set `[historyBack]="false"` nếu parent tự navigate.
|
|
6
|
+
*/
|
|
7
|
+
export declare class GeoBackButtonComponent {
|
|
8
|
+
private readonly location;
|
|
9
|
+
ariaLabel: string;
|
|
10
|
+
title: string;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
/** `true` (mặc định): `Location.back()` — về trang trước trong history. */
|
|
13
|
+
historyBack: boolean;
|
|
14
|
+
clicked: EventEmitter<MouseEvent>;
|
|
15
|
+
onClick(event: MouseEvent): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoBackButtonComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoBackButtonComponent, "geo-back-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "historyBack": { "alias": "historyBack"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GeoBreadcrumbItem } from './geo-breadcrumb.types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Breadcrumb GEO — dựa trên `nz-breadcrumb`.
|
|
5
|
+
* Item thường: neutral gray; item active (cuối): primary + semibold.
|
|
6
|
+
*/
|
|
7
|
+
export declare class GeoBreadcrumbComponent {
|
|
8
|
+
items: GeoBreadcrumbItem[];
|
|
9
|
+
isActive(item: GeoBreadcrumbItem, index: number): boolean;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoBreadcrumbComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoBreadcrumbComponent, "geo-breadcrumb", never, { "items": { "alias": "items"; "required": false; }; }, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface GeoBreadcrumbItem {
|
|
2
|
+
/** Hiển thị trên breadcrumb. */
|
|
3
|
+
label: string;
|
|
4
|
+
/** Router link (optional) — bỏ trống = không phải link. */
|
|
5
|
+
link?: string | string[];
|
|
6
|
+
/** Query params khi dùng routerLink. */
|
|
7
|
+
queryParams?: Record<string, string | number | boolean>;
|
|
8
|
+
/** Đánh dấu item hiện tại (thường là item cuối). */
|
|
9
|
+
active?: boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { GeoButtonAppearance, GeoButtonColor, GeoButtonTooltipPlacement } from './geo-button.types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class GeoButtonComponent {
|
|
5
|
+
appearance: GeoButtonAppearance;
|
|
6
|
+
color: GeoButtonColor;
|
|
7
|
+
icon?: string;
|
|
8
|
+
iconTheme: 'outline' | 'fill' | 'twotone';
|
|
9
|
+
/** Vị trí icon: `start` (trái) hoặc `end` (phải). */
|
|
10
|
+
iconPlacement: 'start' | 'end';
|
|
11
|
+
iconOnly: boolean;
|
|
12
|
+
type: 'button' | 'submit';
|
|
13
|
+
disabled: boolean;
|
|
14
|
+
/** Tooltip Ant Design (`nz-tooltip`). Ưu tiên hơn `title` native. */
|
|
15
|
+
tooltip: string;
|
|
16
|
+
tooltipPlacement: GeoButtonTooltipPlacement;
|
|
17
|
+
/** Trạng thái active (vd. toolbar toggle đang bật). */
|
|
18
|
+
active: boolean;
|
|
19
|
+
/** Native `title` — fallback khi không set `tooltip`. */
|
|
20
|
+
title: string;
|
|
21
|
+
clicked: EventEmitter<MouseEvent>;
|
|
22
|
+
get tooltipTitle(): string;
|
|
23
|
+
get classNames(): Record<string, boolean>;
|
|
24
|
+
onClick(event: MouseEvent): void;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoButtonComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoButtonComponent, "geo-button", never, { "appearance": { "alias": "appearance"; "required": false; }; "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconTheme": { "alias": "iconTheme"; "required": false; }; "iconPlacement": { "alias": "iconPlacement"; "required": false; }; "iconOnly": { "alias": "iconOnly"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "active": { "alias": "active"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type GeoButtonAppearance = 'primary' | 'secondary' | 'tertiary';
|
|
2
|
+
export type GeoButtonColor = 'brand' | 'danger' | 'warning' | 'success';
|
|
3
|
+
/** Khớp `NzTooltipPlacement` — giữ type hẹp để domain không import ng-zorro. */
|
|
4
|
+
export type GeoButtonTooltipPlacement = 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class GeoCheckboxComponent {
|
|
4
|
+
label: string;
|
|
5
|
+
checked: boolean;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
indeterminate: boolean;
|
|
8
|
+
checkedChange: EventEmitter<boolean>;
|
|
9
|
+
onChange(value: boolean): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoCheckboxComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoCheckboxComponent, "geo-checkbox", never, { "label": { "alias": "label"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "checkedChange": "checkedChange"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class GeoConfirmModalComponent {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
title: string;
|
|
6
|
+
message: string;
|
|
7
|
+
highlight: string;
|
|
8
|
+
description: string;
|
|
9
|
+
cancelText: string;
|
|
10
|
+
confirmText: string;
|
|
11
|
+
confirmLoading: boolean;
|
|
12
|
+
width: number | string;
|
|
13
|
+
maskClosable: boolean;
|
|
14
|
+
closable: boolean;
|
|
15
|
+
visibleChange: EventEmitter<boolean>;
|
|
16
|
+
confirm: EventEmitter<void>;
|
|
17
|
+
cancel: EventEmitter<void>;
|
|
18
|
+
get hasDefaultBody(): boolean;
|
|
19
|
+
onVisibleChange(visible: boolean): void;
|
|
20
|
+
onCancel(): void;
|
|
21
|
+
onConfirm(): void;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoConfirmModalComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoConfirmModalComponent, "geo-confirm-modal", never, { "visible": { "alias": "visible"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; "description": { "alias": "description"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "confirmText": { "alias": "confirmText"; "required": false; }; "confirmLoading": { "alias": "confirmLoading"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maskClosable": { "alias": "maskClosable"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; }, { "visibleChange": "visibleChange"; "confirm": "confirm"; "cancel": "cancel"; }, never, ["*"], true, never>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { GeoDatePickerMode, GeoDatePickerSize } from './geo-date-picker.types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GeoDatePickerComponent implements ControlValueAccessor {
|
|
6
|
+
label: string;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
format: string;
|
|
9
|
+
mode: GeoDatePickerMode;
|
|
10
|
+
size: GeoDatePickerSize;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
required: boolean;
|
|
13
|
+
error: boolean;
|
|
14
|
+
errorMessage: string;
|
|
15
|
+
allowClear: boolean;
|
|
16
|
+
showToday: boolean;
|
|
17
|
+
showTime: boolean;
|
|
18
|
+
block: boolean;
|
|
19
|
+
width?: number | string;
|
|
20
|
+
disabledDate?: (current: Date) => boolean;
|
|
21
|
+
valueChange: EventEmitter<Date | null>;
|
|
22
|
+
readonly errorMessageId: string;
|
|
23
|
+
value: Date | null;
|
|
24
|
+
private onChange;
|
|
25
|
+
private onTouched;
|
|
26
|
+
get hostWidth(): string | null;
|
|
27
|
+
get controlClassNames(): Record<string, boolean>;
|
|
28
|
+
onValueChange(value: Date | null): void;
|
|
29
|
+
writeValue(value: Date | null): void;
|
|
30
|
+
registerOnChange(fn: (value: Date | null) => void): void;
|
|
31
|
+
registerOnTouched(fn: () => void): void;
|
|
32
|
+
setDisabledState(isDisabled: boolean): void;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoDatePickerComponent, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoDatePickerComponent, "geo-date-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "block": { "alias": "block"; "required": false; }; "width": { "alias": "width"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { GeoDateRangeSize, GeoDateRangeValue } from './geo-date-range-picker.types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GeoDateRangePickerComponent implements ControlValueAccessor {
|
|
6
|
+
label: string;
|
|
7
|
+
placeholder: [string, string];
|
|
8
|
+
format: string;
|
|
9
|
+
size: GeoDateRangeSize;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
required: boolean;
|
|
12
|
+
error: boolean;
|
|
13
|
+
errorMessage: string;
|
|
14
|
+
allowClear: boolean;
|
|
15
|
+
showTime: boolean;
|
|
16
|
+
block: boolean;
|
|
17
|
+
width?: number | string;
|
|
18
|
+
disabledDate?: (current: Date) => boolean;
|
|
19
|
+
separator: string;
|
|
20
|
+
valueChange: EventEmitter<GeoDateRangeValue>;
|
|
21
|
+
readonly errorMessageId: string;
|
|
22
|
+
value: GeoDateRangeValue;
|
|
23
|
+
private onChange;
|
|
24
|
+
private onTouched;
|
|
25
|
+
get hostWidth(): string | null;
|
|
26
|
+
get controlClassNames(): Record<string, boolean>;
|
|
27
|
+
onValueChange(value: GeoDateRangeValue): void;
|
|
28
|
+
writeValue(value: GeoDateRangeValue): void;
|
|
29
|
+
registerOnChange(fn: (value: GeoDateRangeValue) => void): void;
|
|
30
|
+
registerOnTouched(fn: () => void): void;
|
|
31
|
+
setDisabledState(isDisabled: boolean): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoDateRangePickerComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoDateRangePickerComponent, "geo-date-range-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "format": { "alias": "format"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "block": { "alias": "block"; "required": false; }; "width": { "alias": "width"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class GeoFilePickerComponent implements ControlValueAccessor {
|
|
5
|
+
fileInput?: ElementRef<HTMLInputElement>;
|
|
6
|
+
label: string;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
buttonText: string;
|
|
9
|
+
required: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
accept: string;
|
|
12
|
+
multiple: boolean;
|
|
13
|
+
error: boolean;
|
|
14
|
+
errorMessage: string;
|
|
15
|
+
block: boolean;
|
|
16
|
+
width?: number | string;
|
|
17
|
+
/**
|
|
18
|
+
* Tên file đã upload (server) — hiện khi chưa có File local trong CVA.
|
|
19
|
+
* Dùng cho flow: chọn file → upload → giữ tên từ API.
|
|
20
|
+
*/
|
|
21
|
+
selectedName: string;
|
|
22
|
+
fileChange: EventEmitter<File | File[] | null>;
|
|
23
|
+
readonly errorMessageId: string;
|
|
24
|
+
value: File | File[] | null;
|
|
25
|
+
private onChange;
|
|
26
|
+
private onTouched;
|
|
27
|
+
get hostWidth(): string | null;
|
|
28
|
+
get displayValue(): string;
|
|
29
|
+
get hasValue(): boolean;
|
|
30
|
+
openFilePicker(): void;
|
|
31
|
+
onFileSelected(event: Event): void;
|
|
32
|
+
private setValue;
|
|
33
|
+
writeValue(value: File | File[] | null): void;
|
|
34
|
+
registerOnChange(fn: (value: File | File[] | null) => void): void;
|
|
35
|
+
registerOnTouched(fn: () => void): void;
|
|
36
|
+
setDisabledState(isDisabled: boolean): void;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoFilePickerComponent, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoFilePickerComponent, "geo-file-picker", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "block": { "alias": "block"; "required": false; }; "width": { "alias": "width"; "required": false; }; "selectedName": { "alias": "selectedName"; "required": false; }; }, { "fileChange": "fileChange"; }, never, never, true, never>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Modal form dùng chung — API bám Ant Design Modal / ng-zorro nz-modal.
|
|
5
|
+
* Header + footer cố định; body có thể scroll (`bodyScroll`).
|
|
6
|
+
*/
|
|
7
|
+
export declare class GeoFormModalComponent {
|
|
8
|
+
/** Tương đương `open` (antd) / `nzVisible` (ng-zorro). */
|
|
9
|
+
open: boolean;
|
|
10
|
+
title: string;
|
|
11
|
+
/** Title chữ in hoa. Default `true` theo design. */
|
|
12
|
+
titleUppercase: boolean;
|
|
13
|
+
okText: string;
|
|
14
|
+
cancelText: string;
|
|
15
|
+
/** Icon nút cancel (vd. `left` cho Quay lại). */
|
|
16
|
+
cancelIcon?: string;
|
|
17
|
+
cancelIconPlacement: 'start' | 'end';
|
|
18
|
+
/** Icon nút OK (vd. `right` cho Tiếp theo). */
|
|
19
|
+
okIcon?: string;
|
|
20
|
+
okIconPlacement: 'start' | 'end';
|
|
21
|
+
/** Nút phụ (vd. Lưu và khởi tạo lại). Chỉ hiện khi có text và không readonly. */
|
|
22
|
+
secondaryOkText: string;
|
|
23
|
+
/** Loading trên nút OK — giống antd `confirmLoading` / nz `nzOkLoading`. */
|
|
24
|
+
confirmLoading: boolean;
|
|
25
|
+
/** Disable nút OK — giống antd `okButtonProps.disabled` / nz `nzOkDisabled`. */
|
|
26
|
+
okDisabled: boolean;
|
|
27
|
+
/** Ẩn nút OK (xem chi tiết). */
|
|
28
|
+
readonly: boolean;
|
|
29
|
+
width: number | string;
|
|
30
|
+
closable: boolean;
|
|
31
|
+
mask: boolean;
|
|
32
|
+
maskClosable: boolean;
|
|
33
|
+
keyboard: boolean;
|
|
34
|
+
centered: boolean;
|
|
35
|
+
zIndex: number;
|
|
36
|
+
className: string;
|
|
37
|
+
wrapClassName: string;
|
|
38
|
+
/** Body cuộn, header/footer cố định. */
|
|
39
|
+
bodyScroll: boolean;
|
|
40
|
+
/** Max-height của vùng body khi `bodyScroll` (vd `'60vh'`, `400`). */
|
|
41
|
+
bodyMaxHeight: string | number;
|
|
42
|
+
openChange: EventEmitter<boolean>;
|
|
43
|
+
ok: EventEmitter<void>;
|
|
44
|
+
secondaryOk: EventEmitter<void>;
|
|
45
|
+
cancel: EventEmitter<void>;
|
|
46
|
+
afterOpen: EventEmitter<void>;
|
|
47
|
+
afterClose: EventEmitter<void>;
|
|
48
|
+
get resolvedWrapClassName(): string;
|
|
49
|
+
get resolvedClassName(): string;
|
|
50
|
+
get bodyMaxHeightCss(): string;
|
|
51
|
+
onOpenChange(open: boolean): void;
|
|
52
|
+
onCancel(): void;
|
|
53
|
+
onOk(): void;
|
|
54
|
+
onSecondaryOk(): void;
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoFormModalComponent, never>;
|
|
56
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoFormModalComponent, "geo-form-modal", never, { "open": { "alias": "open"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleUppercase": { "alias": "titleUppercase"; "required": false; }; "okText": { "alias": "okText"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "cancelIcon": { "alias": "cancelIcon"; "required": false; }; "cancelIconPlacement": { "alias": "cancelIconPlacement"; "required": false; }; "okIcon": { "alias": "okIcon"; "required": false; }; "okIconPlacement": { "alias": "okIconPlacement"; "required": false; }; "secondaryOkText": { "alias": "secondaryOkText"; "required": false; }; "confirmLoading": { "alias": "confirmLoading"; "required": false; }; "okDisabled": { "alias": "okDisabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "width": { "alias": "width"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "maskClosable": { "alias": "maskClosable"; "required": false; }; "keyboard": { "alias": "keyboard"; "required": false; }; "centered": { "alias": "centered"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "className": { "alias": "className"; "required": false; }; "wrapClassName": { "alias": "wrapClassName"; "required": false; }; "bodyScroll": { "alias": "bodyScroll"; "required": false; }; "bodyMaxHeight": { "alias": "bodyMaxHeight"; "required": false; }; }, { "openChange": "openChange"; "ok": "ok"; "secondaryOk": "secondaryOk"; "cancel": "cancel"; "afterOpen": "afterOpen"; "afterClose": "afterClose"; }, never, ["*", "[footerStart]"], true, never>;
|
|
57
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GeoIconSize, GeoIconTheme } from './geo-icon.types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Icon wrapper — domain dùng `geo-icon`, không dùng `nz-icon` trực tiếp.
|
|
5
|
+
* Wrap Ant Design icons (đã register qua `NZ_ICONS` ở app/Storybook).
|
|
6
|
+
*/
|
|
7
|
+
export declare class GeoIconComponent {
|
|
8
|
+
/** Tên icon Ant Design (vd. `close`, `search`, `appstore`). */
|
|
9
|
+
type: string;
|
|
10
|
+
theme: GeoIconTheme;
|
|
11
|
+
spin: boolean;
|
|
12
|
+
/** xs | sm | md | lg | xl | number(px) | CSS size string */
|
|
13
|
+
size: GeoIconSize;
|
|
14
|
+
/** CSS color — ưu tiên design token, vd. `var(--geo-color-primary-default)` */
|
|
15
|
+
color?: string;
|
|
16
|
+
get resolvedSize(): string;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoIconComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoIconComponent, "geo-icon", never, { "type": { "alias": "type"; "required": true; }; "theme": { "alias": "theme"; "required": false; }; "spin": { "alias": "spin"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type GeoInputType = 'text' | 'number' | 'password' | 'email';
|
|
5
|
+
export declare class GeoInputComponent implements ControlValueAccessor {
|
|
6
|
+
label: string;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
type: GeoInputType;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
readonly: boolean;
|
|
11
|
+
required: boolean;
|
|
12
|
+
error: boolean;
|
|
13
|
+
errorMessage: string;
|
|
14
|
+
maxlength?: number;
|
|
15
|
+
prefixIcon?: string;
|
|
16
|
+
suffixIcon?: string;
|
|
17
|
+
allowClear: boolean;
|
|
18
|
+
block: boolean;
|
|
19
|
+
width?: number | string;
|
|
20
|
+
valueChange: EventEmitter<string>;
|
|
21
|
+
enterPressed: EventEmitter<void>;
|
|
22
|
+
readonly errorMessageId: string;
|
|
23
|
+
value: string;
|
|
24
|
+
private onChange;
|
|
25
|
+
private onTouched;
|
|
26
|
+
get hostWidth(): string | null;
|
|
27
|
+
get showClear(): boolean;
|
|
28
|
+
onInput(value: string): void;
|
|
29
|
+
onBlur(): void;
|
|
30
|
+
onClear(): void;
|
|
31
|
+
writeValue(value: string | number | null): void;
|
|
32
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
33
|
+
registerOnTouched(fn: () => void): void;
|
|
34
|
+
setDisabledState(isDisabled: boolean): void;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoInputComponent, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoInputComponent, "geo-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "block": { "alias": "block"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "valueChange": "valueChange"; "enterPressed": "enterPressed"; }, never, never, true, never>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GeoTypographyVariant } from '../geo-typography/geo-typography.types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Page title GEO — chữ in hoa đậm + gạch chân ngắn màu primary (theo design).
|
|
5
|
+
*/
|
|
6
|
+
export declare class GeoPageTitleComponent {
|
|
7
|
+
/** Nội dung tiêu đề. */
|
|
8
|
+
title: string;
|
|
9
|
+
/** Tự chuyển uppercase. Default `true`. */
|
|
10
|
+
uppercase: boolean;
|
|
11
|
+
/** Chiều rộng gạch chân (px hoặc CSS size). Default `56px`. */
|
|
12
|
+
accentWidth: number | string;
|
|
13
|
+
/** Độ dày gạch chân. Default `4px`. */
|
|
14
|
+
accentHeight: number | string;
|
|
15
|
+
/** Heading level → geo-typography variant. */
|
|
16
|
+
level: 1 | 2 | 3 | 4;
|
|
17
|
+
get typographyVariant(): GeoTypographyVariant;
|
|
18
|
+
get accentWidthCss(): string;
|
|
19
|
+
get accentHeightCss(): string;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoPageTitleComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoPageTitleComponent, "geo-page-title", never, { "title": { "alias": "title"; "required": false; }; "uppercase": { "alias": "uppercase"; "required": false; }; "accentWidth": { "alias": "accentWidth"; "required": false; }; "accentHeight": { "alias": "accentHeight"; "required": false; }; "level": { "alias": "level"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Pagination gọn — wrap `nz-pagination`. Dùng cho panel/map (không kèm size changer như `geo-table-pagination`).
|
|
5
|
+
*/
|
|
6
|
+
export declare class GeoPaginationComponent {
|
|
7
|
+
pageIndex: number;
|
|
8
|
+
pageSize: number;
|
|
9
|
+
total: number;
|
|
10
|
+
size: 'default' | 'small';
|
|
11
|
+
simple: boolean;
|
|
12
|
+
hideOnSinglePage: boolean;
|
|
13
|
+
showSizeChanger: boolean;
|
|
14
|
+
pageSizeOptions: number[];
|
|
15
|
+
pageIndexChange: EventEmitter<number>;
|
|
16
|
+
pageSizeChange: EventEmitter<number>;
|
|
17
|
+
onPageIndexChange(page: number): void;
|
|
18
|
+
onPageSizeChange(size: number): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoPaginationComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoPaginationComponent, "geo-pagination", never, { "pageIndex": { "alias": "pageIndex"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "total": { "alias": "total"; "required": false; }; "size": { "alias": "size"; "required": false; }; "simple": { "alias": "simple"; "required": false; }; "hideOnSinglePage": { "alias": "hideOnSinglePage"; "required": false; }; "showSizeChanger": { "alias": "showSizeChanger"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; }, { "pageIndexChange": "pageIndexChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { GeoRadioButtonAppearance, GeoRadioLayout, GeoRadioOption, GeoRadioSize } from './geo-radio.types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GeoRadioComponent implements ControlValueAccessor {
|
|
6
|
+
options: GeoRadioOption[];
|
|
7
|
+
label: string;
|
|
8
|
+
size: GeoRadioSize;
|
|
9
|
+
layout: GeoRadioLayout;
|
|
10
|
+
/** `true` → dùng `nz-radio-button` thay vì `nz-radio` */
|
|
11
|
+
buttonStyle: boolean;
|
|
12
|
+
/** Chỉ áp dụng khi `buttonStyle: true` */
|
|
13
|
+
buttonAppearance: GeoRadioButtonAppearance;
|
|
14
|
+
disabled: boolean;
|
|
15
|
+
required: boolean;
|
|
16
|
+
error: boolean;
|
|
17
|
+
errorMessage: string;
|
|
18
|
+
block: boolean;
|
|
19
|
+
valueChange: EventEmitter<string | number | null>;
|
|
20
|
+
readonly errorMessageId: string;
|
|
21
|
+
value: string | number | null;
|
|
22
|
+
private onChange;
|
|
23
|
+
private onTouched;
|
|
24
|
+
onValueChange(value: string | number | null): void;
|
|
25
|
+
writeValue(value: string | number | null): void;
|
|
26
|
+
registerOnChange(fn: (value: string | number | null) => void): void;
|
|
27
|
+
registerOnTouched(fn: () => void): void;
|
|
28
|
+
setDisabledState(isDisabled: boolean): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoRadioComponent, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoRadioComponent, "geo-radio", never, { "options": { "alias": "options"; "required": false; }; "label": { "alias": "label"; "required": false; }; "size": { "alias": "size"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; }; "buttonAppearance": { "alias": "buttonAppearance"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "block": { "alias": "block"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type GeoRadioSize = 'default' | 'small' | 'large';
|
|
2
|
+
export type GeoRadioLayout = 'horizontal' | 'vertical';
|
|
3
|
+
/** Kiểu hiển thị khi dùng radio button — map với `nzButtonStyle` của ng-zorro */
|
|
4
|
+
export type GeoRadioButtonAppearance = 'outline' | 'solid';
|
|
5
|
+
export interface GeoRadioOption {
|
|
6
|
+
label: string;
|
|
7
|
+
value: string | number;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { GeoSelectMode, GeoSelectOption, GeoSelectSize } from './geo-select.types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GeoSelectComponent implements ControlValueAccessor {
|
|
6
|
+
options: GeoSelectOption[];
|
|
7
|
+
label: string;
|
|
8
|
+
placeholder: string;
|
|
9
|
+
size: GeoSelectSize;
|
|
10
|
+
mode: GeoSelectMode;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
required: boolean;
|
|
13
|
+
error: boolean;
|
|
14
|
+
errorMessage: string;
|
|
15
|
+
allowClear: boolean;
|
|
16
|
+
showSearch: boolean;
|
|
17
|
+
block: boolean;
|
|
18
|
+
width?: number | string;
|
|
19
|
+
valueChange: EventEmitter<string | number | (string | number)[] | null>;
|
|
20
|
+
readonly errorMessageId: string;
|
|
21
|
+
value: string | number | Array<string | number> | null;
|
|
22
|
+
private onChange;
|
|
23
|
+
private onTouched;
|
|
24
|
+
get hostWidth(): string | null;
|
|
25
|
+
get controlClassNames(): Record<string, boolean>;
|
|
26
|
+
onValueChange(value: string | number | Array<string | number> | null): void;
|
|
27
|
+
writeValue(value: string | number | Array<string | number> | null): void;
|
|
28
|
+
registerOnChange(fn: (value: string | number | Array<string | number> | null) => void): void;
|
|
29
|
+
registerOnTouched(fn: () => void): void;
|
|
30
|
+
setDisabledState(isDisabled: boolean): void;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoSelectComponent, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoSelectComponent, "geo-select", never, { "options": { "alias": "options"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "block": { "alias": "block"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Slider (opacity / range) — wrap `nz-slider`. Domain dùng `geo-slider`, không import NzSliderModule.
|
|
5
|
+
*/
|
|
6
|
+
export declare class GeoSliderComponent {
|
|
7
|
+
value: number;
|
|
8
|
+
min: number;
|
|
9
|
+
max: number;
|
|
10
|
+
step: number;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
tipFormatter?: (value: number) => string;
|
|
13
|
+
valueChange: EventEmitter<number>;
|
|
14
|
+
onChange(next: number): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoSliderComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoSliderComponent, "geo-slider", never, { "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tipFormatter": { "alias": "tipFormatter"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GeoStatusColor, GeoStatusPreset } from './geo-status-tag.types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class GeoStatusTagComponent {
|
|
4
|
+
/**
|
|
5
|
+
* Status preset or free-form string.
|
|
6
|
+
* Semantic: success | primary | error | warning | info | teal | neutral
|
|
7
|
+
* Legacy: completed | cancelled | in_progress | adjusting
|
|
8
|
+
*/
|
|
9
|
+
status: GeoStatusPreset | string;
|
|
10
|
+
/** Override label text. */
|
|
11
|
+
label?: string;
|
|
12
|
+
/** Show leading status dot (design default). */
|
|
13
|
+
showDot: boolean;
|
|
14
|
+
get resolvedColor(): GeoStatusColor;
|
|
15
|
+
get displayLabel(): string;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeoStatusTagComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeoStatusTagComponent, "geo-status-tag", never, { "status": { "alias": "status"; "required": false; }; "label": { "alias": "label"; "required": false; }; "showDot": { "alias": "showDot"; "required": false; }; }, {}, never, never, true, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic color variants for status badges (design: Status Badge Colors).
|
|
3
|
+
*/
|
|
4
|
+
export type GeoStatusColor = 'success' | 'primary' | 'error' | 'warning' | 'info' | 'teal' | 'neutral';
|
|
5
|
+
/**
|
|
6
|
+
* Preset keys — semantic colors + legacy aliases used by tables/forms.
|
|
7
|
+
*/
|
|
8
|
+
export type GeoStatusPreset = GeoStatusColor | 'completed' | 'cancelled' | 'in_progress' | 'adjusting';
|
|
9
|
+
/** Map legacy / alias presets → semantic color. */
|
|
10
|
+
export declare const GEO_STATUS_COLOR_MAP: Record<GeoStatusPreset, GeoStatusColor>;
|
|
11
|
+
export declare const GEO_STATUS_LABELS: Record<GeoStatusPreset, string>;
|
|
12
|
+
/** @deprecated Use GEO_STATUS_LABELS */
|
|
13
|
+
export declare const UI_STATUS_LABELS: Record<GeoStatusPreset, string>;
|