@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
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GEO UI design tokens — single source of truth for colors, radius, typography.
|
|
3
|
+
* Components MUST use these CSS variables; never hardcode hex colors or radii.
|
|
4
|
+
*/
|
|
5
|
+
:root {
|
|
6
|
+
/* Primary */
|
|
7
|
+
--geo-color-primary-default: #9a4828;
|
|
8
|
+
--geo-color-primary-hover: #7d3a20;
|
|
9
|
+
--geo-color-primary-light: #b5643f;
|
|
10
|
+
--geo-color-primary-dark: #2c1810;
|
|
11
|
+
--geo-color-primary-background: #faf5ed;
|
|
12
|
+
--geo-color-primary-background-alt: #f5f0e8;
|
|
13
|
+
--geo-color-primary-border: #e8e0d8;
|
|
14
|
+
--geo-color-primary-surface-light: #f8e6de;
|
|
15
|
+
/* Secondary button hover */
|
|
16
|
+
--geo-color-primary-secondary-hover: #faf5ed;
|
|
17
|
+
|
|
18
|
+
/* Neutral */
|
|
19
|
+
--geo-color-neutral-900: #111827;
|
|
20
|
+
--geo-color-neutral-800: #212121;
|
|
21
|
+
--geo-color-neutral-700: #374151;
|
|
22
|
+
--geo-color-neutral-500: #6b7280;
|
|
23
|
+
--geo-color-neutral-400: #9ca3af;
|
|
24
|
+
--geo-color-neutral-300: #d1d5db;
|
|
25
|
+
--geo-color-neutral-200: #e5e7eb;
|
|
26
|
+
--geo-color-neutral-100: #f3f4f6;
|
|
27
|
+
--geo-color-neutral-white: #ffffff;
|
|
28
|
+
--geo-color-neutral-disabled-text: #8f9294;
|
|
29
|
+
|
|
30
|
+
/* Success */
|
|
31
|
+
--geo-color-success-dark: #166534;
|
|
32
|
+
--geo-color-success-default: #22c55e;
|
|
33
|
+
--geo-color-success-light: #dcfce7;
|
|
34
|
+
|
|
35
|
+
/* Error */
|
|
36
|
+
--geo-color-error-dark: #991b1b;
|
|
37
|
+
--geo-color-error-default: #dc2626;
|
|
38
|
+
--geo-color-error-light: #fee2e2;
|
|
39
|
+
|
|
40
|
+
/* Warning */
|
|
41
|
+
--geo-color-warning-dark: #92400e;
|
|
42
|
+
--geo-color-warning-default: #f59e0b;
|
|
43
|
+
--geo-color-warning-light: #fef3c7;
|
|
44
|
+
|
|
45
|
+
/* Info */
|
|
46
|
+
--geo-color-info-dark: #1e40af;
|
|
47
|
+
--geo-color-info-default: #3b82f6;
|
|
48
|
+
--geo-color-info-light: #dbeafe;
|
|
49
|
+
|
|
50
|
+
/* Teal — status badge (Trả kết quả) */
|
|
51
|
+
--geo-color-teal-dark: #0f766e;
|
|
52
|
+
--geo-color-teal-default: #14b8a6;
|
|
53
|
+
--geo-color-teal-light: #ccfbf1;
|
|
54
|
+
|
|
55
|
+
/* Semantic aliases (legacy-friendly names used by components) */
|
|
56
|
+
--color-primary: var(--geo-color-primary-default);
|
|
57
|
+
--color-primary-hover: var(--geo-color-primary-hover);
|
|
58
|
+
--color-primary-dark: var(--geo-color-primary-dark);
|
|
59
|
+
--color-primary-light: var(--geo-color-primary-light);
|
|
60
|
+
--color-primary-surface: var(--geo-color-primary-surface-light);
|
|
61
|
+
--color-primary-surface-hover: var(--geo-color-primary-background);
|
|
62
|
+
--color-primary-secondary-hover: var(--geo-color-primary-secondary-hover);
|
|
63
|
+
--color-primary-border: var(--geo-color-primary-border);
|
|
64
|
+
--color-primary-background: var(--geo-color-primary-background);
|
|
65
|
+
--color-primary-background-alt: var(--geo-color-primary-background-alt);
|
|
66
|
+
|
|
67
|
+
--color-ink: var(--geo-color-neutral-900);
|
|
68
|
+
--color-ink-strong: var(--geo-color-neutral-900);
|
|
69
|
+
--color-ink-body: var(--geo-color-neutral-700);
|
|
70
|
+
--color-ink-muted: var(--geo-color-neutral-500);
|
|
71
|
+
--color-ink-subtle: var(--geo-color-neutral-400);
|
|
72
|
+
--color-disabled-text: var(--geo-color-neutral-disabled-text);
|
|
73
|
+
|
|
74
|
+
--color-surface-white: var(--geo-color-neutral-white);
|
|
75
|
+
--color-surface-muted: var(--geo-color-neutral-100);
|
|
76
|
+
--color-surface-border: var(--geo-color-neutral-200);
|
|
77
|
+
--color-surface-divider: var(--geo-color-neutral-100);
|
|
78
|
+
--color-border: var(--geo-color-neutral-300);
|
|
79
|
+
--color-border-subtle: var(--geo-color-primary-border);
|
|
80
|
+
|
|
81
|
+
--color-success: var(--geo-color-success-default);
|
|
82
|
+
--color-success-dark: var(--geo-color-success-dark);
|
|
83
|
+
--color-success-light: var(--geo-color-success-light);
|
|
84
|
+
|
|
85
|
+
--color-error: var(--geo-color-error-default);
|
|
86
|
+
--color-error-dark: var(--geo-color-error-dark);
|
|
87
|
+
--color-error-light: var(--geo-color-error-light);
|
|
88
|
+
--color-danger: var(--geo-color-error-default);
|
|
89
|
+
--color-danger-dark: var(--geo-color-error-dark);
|
|
90
|
+
--color-danger-light: var(--geo-color-error-light);
|
|
91
|
+
|
|
92
|
+
--color-warning: var(--geo-color-warning-default);
|
|
93
|
+
--color-warning-dark: var(--geo-color-warning-dark);
|
|
94
|
+
--color-warning-light: var(--geo-color-warning-light);
|
|
95
|
+
|
|
96
|
+
--color-info: var(--geo-color-info-default);
|
|
97
|
+
--color-info-dark: var(--geo-color-info-dark);
|
|
98
|
+
--color-info-light: var(--geo-color-info-light);
|
|
99
|
+
|
|
100
|
+
--color-teal: var(--geo-color-teal-default);
|
|
101
|
+
--color-teal-dark: var(--geo-color-teal-dark);
|
|
102
|
+
--color-teal-light: var(--geo-color-teal-light);
|
|
103
|
+
|
|
104
|
+
/* Spacing / radius shared — default corner radius 6px */
|
|
105
|
+
--geo-radius: 6px;
|
|
106
|
+
--geo-radius-sm: var(--geo-radius);
|
|
107
|
+
--geo-radius-md: var(--geo-radius);
|
|
108
|
+
--geo-radius-lg: var(--geo-radius);
|
|
109
|
+
--geo-control-height: 40px;
|
|
110
|
+
|
|
111
|
+
/* Typography — Inter + type scale */
|
|
112
|
+
--geo-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
|
|
113
|
+
--geo-font-weight-regular: 400;
|
|
114
|
+
--geo-font-weight-medium: 500;
|
|
115
|
+
--geo-font-weight-semibold: 600;
|
|
116
|
+
--geo-font-weight-bold: 700;
|
|
117
|
+
|
|
118
|
+
--geo-font-size-h1: 28px;
|
|
119
|
+
--geo-line-height-h1: 36px;
|
|
120
|
+
--geo-font-size-h2: 24px;
|
|
121
|
+
--geo-line-height-h2: 32px;
|
|
122
|
+
--geo-font-size-h3: 20px;
|
|
123
|
+
--geo-line-height-h3: 28px;
|
|
124
|
+
--geo-font-size-h4: 16px;
|
|
125
|
+
--geo-line-height-h4: 24px;
|
|
126
|
+
--geo-font-size-subtitle: 14px;
|
|
127
|
+
--geo-line-height-subtitle: 20px;
|
|
128
|
+
--geo-font-size-body: 14px;
|
|
129
|
+
--geo-line-height-body: 20px;
|
|
130
|
+
--geo-font-size-body-small: 13px;
|
|
131
|
+
--geo-line-height-body-small: 18px;
|
|
132
|
+
--geo-font-size-caption: 12px;
|
|
133
|
+
--geo-line-height-caption: 16px;
|
|
134
|
+
--geo-font-size-overline: 11px;
|
|
135
|
+
--geo-line-height-overline: 16px;
|
|
136
|
+
--geo-font-size-tiny: 10px;
|
|
137
|
+
--geo-line-height-tiny: 14px;
|
|
138
|
+
|
|
139
|
+
/* Legacy size aliases */
|
|
140
|
+
--geo-font-size-sm: var(--geo-font-size-body-small);
|
|
141
|
+
--geo-font-size-md: var(--geo-font-size-body);
|
|
142
|
+
--geo-font-size-lg: var(--geo-font-size-h4);
|
|
143
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ant Design notification skin — khi mở qua GeoToastService.
|
|
3
|
+
* Gắn class `geo-toast-notice geo-toast-notice--{type}` lên notice.
|
|
4
|
+
*/
|
|
5
|
+
.ant-notification-notice.geo-toast-notice {
|
|
6
|
+
position: relative;
|
|
7
|
+
padding: 12px 12px 12px 16px;
|
|
8
|
+
width: 480px;
|
|
9
|
+
max-width: calc(100vw - 32px);
|
|
10
|
+
border-radius: var(--geo-radius);
|
|
11
|
+
border: 1px solid transparent;
|
|
12
|
+
box-shadow: none;
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
font-family: var(--geo-font-family);
|
|
15
|
+
|
|
16
|
+
&::before {
|
|
17
|
+
content: '';
|
|
18
|
+
position: absolute;
|
|
19
|
+
top: 0;
|
|
20
|
+
left: 0;
|
|
21
|
+
bottom: 0;
|
|
22
|
+
width: 5px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.ant-notification-notice-with-icon .ant-notification-notice-message {
|
|
26
|
+
margin-bottom: 2px;
|
|
27
|
+
margin-left: 30px;
|
|
28
|
+
font-size: var(--geo-font-size-body);
|
|
29
|
+
font-weight: var(--geo-font-weight-bold);
|
|
30
|
+
line-height: var(--geo-line-height-body);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ant-notification-notice-with-icon .ant-notification-notice-description {
|
|
34
|
+
margin-left: 30px;
|
|
35
|
+
font-size: var(--geo-font-size-body-small);
|
|
36
|
+
font-weight: var(--geo-font-weight-regular);
|
|
37
|
+
line-height: var(--geo-line-height-body-small);
|
|
38
|
+
color: var(--geo-color-neutral-800);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.ant-notification-notice-icon {
|
|
42
|
+
margin-left: 4px;
|
|
43
|
+
font-size: 20px;
|
|
44
|
+
line-height: 20px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.ant-notification-notice-close {
|
|
48
|
+
top: 12px;
|
|
49
|
+
right: 12px;
|
|
50
|
+
color: inherit;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&.geo-toast-notice--no-icon {
|
|
54
|
+
.ant-notification-notice-message,
|
|
55
|
+
.ant-notification-notice-description {
|
|
56
|
+
margin-left: 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ant-notification-notice-icon {
|
|
60
|
+
display: none;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&.geo-toast-notice--no-close {
|
|
65
|
+
.ant-notification-notice-close {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&--success {
|
|
71
|
+
background: var(--geo-color-success-light);
|
|
72
|
+
border-color: color-mix(in srgb, var(--geo-color-success-default) 45%, var(--geo-color-success-light));
|
|
73
|
+
|
|
74
|
+
&::before {
|
|
75
|
+
background: var(--geo-color-success-default);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ant-notification-notice-icon,
|
|
79
|
+
.ant-notification-notice-message,
|
|
80
|
+
.ant-notification-notice-close {
|
|
81
|
+
color: var(--geo-color-success-default);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&--error {
|
|
86
|
+
background: var(--geo-color-error-light);
|
|
87
|
+
border-color: color-mix(in srgb, var(--geo-color-error-default) 40%, var(--geo-color-error-light));
|
|
88
|
+
|
|
89
|
+
&::before {
|
|
90
|
+
background: var(--geo-color-error-default);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.ant-notification-notice-icon,
|
|
94
|
+
.ant-notification-notice-message,
|
|
95
|
+
.ant-notification-notice-close {
|
|
96
|
+
color: var(--geo-color-error-default);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&--warning {
|
|
101
|
+
background: var(--geo-color-warning-light);
|
|
102
|
+
border-color: color-mix(in srgb, var(--geo-color-warning-default) 45%, var(--geo-color-warning-light));
|
|
103
|
+
|
|
104
|
+
&::before {
|
|
105
|
+
background: var(--geo-color-warning-default);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.ant-notification-notice-icon,
|
|
109
|
+
.ant-notification-notice-message,
|
|
110
|
+
.ant-notification-notice-close {
|
|
111
|
+
color: var(--geo-color-warning-default);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&--info {
|
|
116
|
+
background: var(--geo-color-info-light);
|
|
117
|
+
border-color: color-mix(in srgb, var(--geo-color-info-default) 40%, var(--geo-color-info-light));
|
|
118
|
+
|
|
119
|
+
&::before {
|
|
120
|
+
background: var(--geo-color-info-default);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.ant-notification-notice-icon,
|
|
124
|
+
.ant-notification-notice-message,
|
|
125
|
+
.ant-notification-notice-close {
|
|
126
|
+
color: var(--geo-color-info-default);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-browser scrollbar mixins — thumb colors from GEO design tokens.
|
|
3
|
+
*/
|
|
4
|
+
@mixin geo-scrollbar($size: var(--scrollbar-size, 8px)) {
|
|
5
|
+
scrollbar-width: thin;
|
|
6
|
+
scrollbar-color: var(--geo-color-neutral-400) transparent;
|
|
7
|
+
|
|
8
|
+
&::-webkit-scrollbar {
|
|
9
|
+
width: $size;
|
|
10
|
+
height: $size;
|
|
11
|
+
background: transparent;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&::-webkit-scrollbar-track {
|
|
15
|
+
background: transparent;
|
|
16
|
+
border-radius: 999px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&::-webkit-scrollbar-thumb {
|
|
20
|
+
background-color: var(--geo-color-neutral-400);
|
|
21
|
+
border-radius: 999px;
|
|
22
|
+
border: 2px solid transparent;
|
|
23
|
+
background-clip: padding-box;
|
|
24
|
+
min-height: 40px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
28
|
+
background-color: var(--geo-color-neutral-500);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&::-webkit-scrollbar-corner {
|
|
32
|
+
background: transparent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.geo-scrollbar {
|
|
37
|
+
@include geo-scrollbar();
|
|
38
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ng-zorro theme overrides mapped to GEO design tokens.
|
|
3
|
+
* Loaded after ng-zorro CSS so Ant Design primitives follow the palette.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* Primary / brand */
|
|
7
|
+
.ant-btn-primary {
|
|
8
|
+
background-color: var(--geo-color-primary-default);
|
|
9
|
+
border-color: var(--geo-color-primary-default);
|
|
10
|
+
|
|
11
|
+
&:not(:disabled):hover {
|
|
12
|
+
background-color: var(--geo-color-primary-hover);
|
|
13
|
+
border-color: var(--geo-color-primary-hover);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.ant-checkbox-checked .ant-checkbox-inner,
|
|
18
|
+
.ant-radio-checked .ant-radio-inner {
|
|
19
|
+
background-color: var(--geo-color-primary-default);
|
|
20
|
+
border-color: var(--geo-color-primary-default);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ant-radio-inner::after {
|
|
24
|
+
background-color: var(--geo-color-neutral-white);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ant-switch-checked {
|
|
28
|
+
background: var(--geo-color-primary-default);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.ant-tabs-ink-bar,
|
|
32
|
+
.ant-slider-track,
|
|
33
|
+
.ant-pagination-item-active {
|
|
34
|
+
background: var(--geo-color-primary-default);
|
|
35
|
+
border-color: var(--geo-color-primary-default);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ant-pagination-item-active a {
|
|
39
|
+
color: var(--geo-color-primary-default);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.ant-input:hover,
|
|
43
|
+
.ant-input:focus,
|
|
44
|
+
.ant-input-focused,
|
|
45
|
+
.ant-select:not(.ant-select-disabled):hover .ant-select-selector,
|
|
46
|
+
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector,
|
|
47
|
+
.ant-picker:hover,
|
|
48
|
+
.ant-picker-focused {
|
|
49
|
+
border-color: var(--geo-color-primary-default) !important;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.ant-input:focus,
|
|
53
|
+
.ant-input-focused,
|
|
54
|
+
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector,
|
|
55
|
+
.ant-picker-focused {
|
|
56
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--geo-color-primary-default) 16%, transparent) !important;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ant-menu-light .ant-menu-item-selected,
|
|
60
|
+
.ant-menu-light .ant-menu-item:hover {
|
|
61
|
+
color: var(--geo-color-primary-default);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ant-tag-success {
|
|
65
|
+
color: var(--geo-color-success-dark);
|
|
66
|
+
background: var(--geo-color-success-light);
|
|
67
|
+
border-color: var(--geo-color-success-default);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.ant-tag-error {
|
|
71
|
+
color: var(--geo-color-error-dark);
|
|
72
|
+
background: var(--geo-color-error-light);
|
|
73
|
+
border-color: var(--geo-color-error-default);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.ant-tag-warning {
|
|
77
|
+
color: var(--geo-color-warning-dark);
|
|
78
|
+
background: var(--geo-color-warning-light);
|
|
79
|
+
border-color: var(--geo-color-warning-default);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.ant-tag-processing {
|
|
83
|
+
color: var(--geo-color-info-dark);
|
|
84
|
+
background: var(--geo-color-info-light);
|
|
85
|
+
border-color: var(--geo-color-info-default);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@import './geo-toast-notification';
|
|
89
|
+
|
|
90
|
+
/* Default corner radius for Ant Design primitives */
|
|
91
|
+
.ant-btn,
|
|
92
|
+
.ant-input,
|
|
93
|
+
.ant-input-affix-wrapper,
|
|
94
|
+
.ant-input-number,
|
|
95
|
+
.ant-select:not(.ant-select-customize-input) .ant-select-selector,
|
|
96
|
+
.ant-picker,
|
|
97
|
+
.ant-modal-content,
|
|
98
|
+
.ant-modal-confirm-body-wrapper,
|
|
99
|
+
.ant-notification-notice,
|
|
100
|
+
.ant-card,
|
|
101
|
+
.ant-alert,
|
|
102
|
+
.ant-dropdown-menu,
|
|
103
|
+
.ant-select-dropdown,
|
|
104
|
+
.ant-picker-panel-container,
|
|
105
|
+
.ant-pagination-item,
|
|
106
|
+
.ant-pagination-prev .ant-pagination-item-link,
|
|
107
|
+
.ant-pagination-next .ant-pagination-item-link {
|
|
108
|
+
border-radius: var(--geo-radius);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
body {
|
|
112
|
+
color: var(--geo-color-neutral-900);
|
|
113
|
+
background: var(--geo-color-neutral-white);
|
|
114
|
+
font-family: var(--geo-font-family);
|
|
115
|
+
font-size: var(--geo-font-size-body);
|
|
116
|
+
font-weight: var(--geo-font-weight-regular);
|
|
117
|
+
line-height: var(--geo-line-height-body);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Align Ant Design Typography defaults with GEO type scale */
|
|
121
|
+
.ant-typography {
|
|
122
|
+
font-family: var(--geo-font-family);
|
|
123
|
+
color: var(--geo-color-neutral-900);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.ant-typography h1,
|
|
127
|
+
h1.ant-typography {
|
|
128
|
+
font-size: var(--geo-font-size-h1);
|
|
129
|
+
font-weight: var(--geo-font-weight-bold);
|
|
130
|
+
line-height: var(--geo-line-height-h1);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.ant-typography h2,
|
|
134
|
+
h2.ant-typography {
|
|
135
|
+
font-size: var(--geo-font-size-h2);
|
|
136
|
+
font-weight: var(--geo-font-weight-bold);
|
|
137
|
+
line-height: var(--geo-line-height-h2);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.ant-typography h3,
|
|
141
|
+
h3.ant-typography {
|
|
142
|
+
font-size: var(--geo-font-size-h3);
|
|
143
|
+
font-weight: var(--geo-font-weight-bold);
|
|
144
|
+
line-height: var(--geo-line-height-h3);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.ant-typography h4,
|
|
148
|
+
h4.ant-typography {
|
|
149
|
+
font-size: var(--geo-font-size-h4);
|
|
150
|
+
font-weight: var(--geo-font-weight-bold);
|
|
151
|
+
line-height: var(--geo-line-height-h4);
|
|
152
|
+
}
|
|
153
|
+
|