@geoit/ui 0.0.2 → 0.0.5
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 +12 -8
- package/README.md +140 -17
- package/ai/AGENTS.md +43 -32
- package/ai/README.md +36 -2
- package/ai/catalog.json +5585 -437
- package/ai/components/geo-alert.md +75 -21
- package/ai/components/geo-back-button.md +64 -18
- package/ai/components/geo-breadcrumb.md +71 -12
- package/ai/components/geo-button.md +90 -27
- package/ai/components/geo-chart.md +103 -0
- package/ai/components/geo-checkbox.md +67 -20
- package/ai/components/geo-column-picker.md +91 -18
- package/ai/components/geo-confirm-modal.md +92 -27
- package/ai/components/geo-dashboard.md +91 -0
- package/ai/components/geo-date-picker.md +105 -29
- package/ai/components/geo-date-range-picker.md +101 -28
- package/ai/components/geo-empty-state.md +75 -0
- package/ai/components/geo-feedback-form.md +97 -0
- package/ai/components/geo-file-picker.md +99 -26
- package/ai/components/geo-forgot-password.md +78 -0
- package/ai/components/geo-form-modal.md +111 -44
- package/ai/components/geo-icon.md +70 -16
- package/ai/components/geo-input.md +94 -29
- package/ai/components/geo-layout-footer.md +70 -0
- package/ai/components/geo-layout-header-actions.md +82 -0
- package/ai/components/geo-layout-header.md +89 -0
- package/ai/components/geo-layout-sidebar.md +86 -0
- package/ai/components/geo-layout.md +155 -0
- package/ai/components/geo-list-page.md +72 -0
- package/ai/components/geo-login.md +94 -0
- package/ai/components/geo-map-admin-filter.md +80 -0
- package/ai/components/geo-map-basemap-switcher.md +75 -0
- package/ai/components/geo-map-help.md +72 -0
- package/ai/components/geo-map-layer-card.md +73 -0
- package/ai/components/geo-map-layer-panel.md +75 -0
- package/ai/components/geo-map-layers-drawer.md +78 -0
- package/ai/components/geo-map-legend.md +74 -0
- package/ai/components/geo-map-locate.md +75 -0
- package/ai/components/geo-map-location-chip.md +71 -0
- package/ai/components/geo-map-measure.md +74 -0
- package/ai/components/geo-map-opacity.md +75 -0
- package/ai/components/geo-map-parcel-popup.md +79 -0
- package/ai/components/geo-map-search.md +83 -0
- package/ai/components/geo-map-shell.md +110 -0
- package/ai/components/geo-map-snapshot.md +75 -0
- package/ai/components/geo-map-swipe.md +73 -0
- package/ai/components/geo-map-toolbar.md +76 -0
- package/ai/components/geo-map-zoom.md +74 -0
- package/ai/components/geo-map.md +205 -0
- package/ai/components/geo-overlap-result.md +88 -0
- package/ai/components/geo-page-header.md +72 -0
- package/ai/components/geo-page-title.md +62 -16
- package/ai/components/geo-pagination.md +76 -24
- package/ai/components/geo-radio.md +110 -27
- package/ai/components/geo-row-actions.md +87 -19
- package/ai/components/geo-select.md +108 -28
- package/ai/components/geo-slider.md +70 -21
- package/ai/components/geo-stat-card.md +98 -0
- package/ai/components/geo-status-tag.md +67 -15
- package/ai/components/geo-step-form-layout.md +121 -38
- package/ai/components/geo-stepper.md +81 -19
- package/ai/components/geo-table-filter.md +90 -29
- package/ai/components/geo-table-pagination.md +70 -23
- package/ai/components/geo-table-toolbar.md +84 -29
- package/ai/components/geo-table.md +191 -59
- package/ai/components/geo-tabs.md +99 -27
- package/ai/components/geo-textarea.md +84 -23
- package/ai/components/geo-toast.md +138 -27
- package/ai/components/geo-tree.md +94 -22
- package/ai/components/geo-typography.md +70 -19
- package/ai/components/geo-upload.md +109 -39
- package/ai/mockup.html +1194 -0
- package/ai/recipes.md +132 -47
- package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +19 -36
- package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +14 -24
- package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +8 -11
- package/esm2022/lib/figma/geo-button/geo-button.component.mjs +30 -59
- package/esm2022/lib/figma/geo-chart/geo-chart.component.mjs +88 -0
- package/esm2022/lib/figma/geo-chart/geo-chart.types.mjs +2 -0
- package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +11 -22
- package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +22 -54
- package/esm2022/lib/figma/geo-dashboard/geo-dashboard.component.mjs +49 -0
- package/esm2022/lib/figma/geo-dashboard/geo-dashboard.types.mjs +2 -0
- package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +48 -78
- package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +47 -75
- package/esm2022/lib/figma/geo-empty-state/geo-empty-state.component.mjs +25 -0
- package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.component.mjs +75 -0
- package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.types.mjs +2 -0
- package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +59 -81
- package/esm2022/lib/figma/geo-forgot-password/geo-forgot-password.component.mjs +51 -0
- package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +45 -112
- package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +22 -32
- package/esm2022/lib/figma/geo-input/geo-input.component.mjs +41 -70
- package/esm2022/lib/figma/geo-layout/footer/geo-layout-footer.component.mjs +18 -0
- package/esm2022/lib/figma/geo-layout/geo-layout-actions.directive.mjs +15 -0
- package/esm2022/lib/figma/geo-layout/geo-layout.component.mjs +79 -0
- package/esm2022/lib/figma/geo-layout/geo-layout.types.mjs +42 -0
- package/esm2022/lib/figma/geo-layout/header/geo-layout-header.component.mjs +60 -0
- package/esm2022/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.mjs +70 -0
- package/esm2022/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.mjs +90 -0
- package/esm2022/lib/figma/geo-list-page/geo-list-page.component.mjs +22 -0
- package/esm2022/lib/figma/geo-login/geo-login.component.mjs +58 -0
- package/esm2022/lib/figma/geo-login/geo-login.types.mjs +2 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.mjs +52 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.mjs +61 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.mjs +26 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.mjs +24 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.mjs +146 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.mjs +37 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.mjs +30 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.mjs +72 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.mjs +21 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.mjs +375 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.mjs +94 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs +136 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.mjs +182 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.mjs +577 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.mjs +93 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.mjs +129 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.mjs +64 -0
- package/esm2022/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.mjs +295 -0
- package/esm2022/lib/figma/geo-map/geo-map-toolbar.icons.mjs +18 -0
- package/esm2022/lib/figma/geo-map/geo-map.component.mjs +144 -0
- package/esm2022/lib/figma/geo-map/geo-map.constants.mjs +497 -0
- package/esm2022/lib/figma/geo-map/geo-map.controller.mjs +71 -0
- package/esm2022/lib/figma/geo-map/geo-map.types.mjs +2 -0
- package/esm2022/lib/figma/geo-map/services/geo-map-layer.service.mjs +368 -0
- package/esm2022/lib/figma/geo-map/services/geo-map-projection.service.mjs +110 -0
- package/esm2022/lib/figma/geo-map/services/geo-map.service.mjs +540 -0
- package/esm2022/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.mjs +47 -0
- package/esm2022/lib/figma/geo-map/utils/geo-map-interactions.util.mjs +30 -0
- package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.component.mjs +25 -0
- package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.types.mjs +2 -0
- package/esm2022/lib/figma/geo-page-header/geo-page-header.component.mjs +23 -0
- package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +20 -35
- package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +13 -43
- package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +32 -52
- package/esm2022/lib/figma/geo-select/geo-select.component.mjs +46 -72
- package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +12 -28
- package/esm2022/lib/figma/geo-stat-card/geo-stat-card.component.mjs +163 -0
- package/esm2022/lib/figma/geo-stat-card/geo-stat-card.types.mjs +2 -0
- package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +23 -27
- package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +39 -96
- package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +18 -33
- package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +14 -24
- package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +18 -36
- package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +41 -98
- package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +40 -73
- package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +26 -56
- package/esm2022/lib/figma/geo-table/geo-table.component.mjs +110 -210
- package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +33 -63
- package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +28 -44
- package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +18 -39
- package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +12 -40
- package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +49 -64
- package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +50 -101
- package/esm2022/lib/figma/index.mjs +50 -1
- package/esm2022/lib/styles/tokens.mjs +56 -24
- package/fesm2022/geoit-ui.mjs +5981 -1825
- package/fesm2022/geoit-ui.mjs.map +1 -1
- package/lib/figma/geo-alert/geo-alert.component.d.ts +10 -11
- package/lib/figma/geo-back-button/geo-back-button.component.d.ts +6 -7
- package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +2 -2
- package/lib/figma/geo-button/geo-button.component.d.ts +21 -17
- package/lib/figma/geo-chart/geo-chart.component.d.ts +40 -0
- package/lib/figma/geo-chart/geo-chart.types.d.ts +13 -0
- package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +6 -7
- package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +15 -17
- package/lib/figma/geo-dashboard/geo-dashboard.component.d.ts +29 -0
- package/lib/figma/geo-dashboard/geo-dashboard.types.d.ts +7 -0
- package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +26 -21
- package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +25 -20
- package/lib/figma/geo-empty-state/geo-empty-state.component.d.ts +17 -0
- package/lib/figma/geo-feedback-form/geo-feedback-form.component.d.ts +36 -0
- package/lib/figma/geo-feedback-form/geo-feedback-form.types.d.ts +8 -0
- package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +23 -20
- package/lib/figma/geo-forgot-password/geo-forgot-password.component.d.ts +24 -0
- package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +33 -35
- package/lib/figma/geo-icon/geo-icon.component.d.ts +7 -7
- package/lib/figma/geo-input/geo-input.component.d.ts +23 -21
- package/lib/figma/geo-layout/footer/geo-layout-footer.component.d.ts +10 -0
- package/lib/figma/geo-layout/geo-layout-actions.directive.d.ts +6 -0
- package/lib/figma/geo-layout/geo-layout.component.d.ts +48 -0
- package/lib/figma/geo-layout/geo-layout.types.d.ts +44 -0
- package/lib/figma/geo-layout/header/geo-layout-header.component.d.ts +31 -0
- package/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.d.ts +32 -0
- package/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.d.ts +34 -0
- package/lib/figma/geo-list-page/geo-list-page.component.d.ts +16 -0
- package/lib/figma/geo-login/geo-login.component.d.ts +27 -0
- package/lib/figma/geo-login/geo-login.types.d.ts +6 -0
- package/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.d.ts +28 -0
- package/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.d.ts +26 -0
- package/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.d.ts +20 -0
- package/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.d.ts +15 -0
- package/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.d.ts +40 -0
- package/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.d.ts +25 -0
- package/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.d.ts +18 -0
- package/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.d.ts +24 -0
- package/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.d.ts +14 -0
- package/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.d.ts +49 -0
- package/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.d.ts +30 -0
- package/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.d.ts +44 -0
- package/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.d.ts +56 -0
- package/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.d.ts +103 -0
- package/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.d.ts +21 -0
- package/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.d.ts +33 -0
- package/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.d.ts +30 -0
- package/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.d.ts +67 -0
- package/lib/figma/geo-map/geo-map-toolbar.icons.d.ts +17 -0
- package/lib/figma/geo-map/geo-map.component.d.ts +53 -0
- package/lib/figma/geo-map/geo-map.constants.d.ts +73 -0
- package/lib/figma/geo-map/geo-map.controller.d.ts +49 -0
- package/lib/figma/geo-map/geo-map.types.d.ts +224 -0
- package/lib/figma/geo-map/services/geo-map-layer.service.d.ts +42 -0
- package/lib/figma/geo-map/services/geo-map-projection.service.d.ts +32 -0
- package/lib/figma/geo-map/services/geo-map.service.d.ts +99 -0
- package/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.d.ts +13 -0
- package/lib/figma/geo-map/utils/geo-map-interactions.util.d.ts +9 -0
- package/lib/figma/geo-overlap-result/geo-overlap-result.component.d.ts +18 -0
- package/lib/figma/geo-overlap-result/geo-overlap-result.types.d.ts +7 -0
- package/lib/figma/geo-page-header/geo-page-header.component.d.ts +16 -0
- package/lib/figma/geo-page-title/geo-page-title.component.d.ts +9 -9
- package/lib/figma/geo-pagination/geo-pagination.component.d.ts +9 -14
- package/lib/figma/geo-radio/geo-radio.component.d.ts +17 -15
- package/lib/figma/geo-select/geo-select.component.d.ts +24 -19
- package/lib/figma/geo-slider/geo-slider.component.d.ts +7 -9
- package/lib/figma/geo-stat-card/geo-stat-card.component.d.ts +50 -0
- package/lib/figma/geo-stat-card/geo-stat-card.types.d.ts +11 -0
- package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +7 -7
- package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +27 -29
- package/lib/figma/geo-stepper/geo-stepper.component.d.ts +6 -8
- package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +6 -7
- package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +11 -12
- package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +21 -28
- package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +17 -20
- package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +17 -18
- package/lib/figma/geo-table/geo-table.component.d.ts +58 -62
- package/lib/figma/geo-tabs/geo-tabs.component.d.ts +14 -17
- package/lib/figma/geo-textarea/geo-textarea.component.d.ts +15 -13
- package/lib/figma/geo-toast/geo-toast.component.d.ts +11 -12
- package/lib/figma/geo-tree/geo-tree.component.d.ts +8 -13
- package/lib/figma/geo-typography/geo-typography.component.d.ts +13 -13
- package/lib/figma/geo-upload/geo-upload.component.d.ts +26 -28
- package/lib/figma/index.d.ts +49 -0
- package/lib/styles/tokens.d.ts +56 -23
- package/package.json +4 -2
- package/src/lib/figma/geo-map/assets/toolbar/fullscreen.svg +8 -0
- package/src/lib/figma/geo-map/assets/toolbar/home.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/layers.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/measure-area.svg +12 -0
- package/src/lib/figma/geo-map/assets/toolbar/measure-distance.svg +5 -0
- package/src/lib/figma/geo-map/assets/toolbar/pan.svg +13 -0
- package/src/lib/figma/geo-map/assets/toolbar/search.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/zoom-in.svg +3 -0
- package/src/lib/figma/geo-map/assets/toolbar/zoom-out.svg +5 -0
- package/src/lib/styles/design-tokens.scss +108 -35
- package/src/lib/styles/scrollbar.scss +2 -2
- package/src/lib/styles/theme.scss +1 -1
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
# geo-radio
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Complete usage reference for **GeoRadioComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
4
6
|
|
|
5
7
|
## Summary
|
|
6
8
|
Radio group (horizontal/vertical or button style).
|
|
7
9
|
|
|
8
10
|
## Import
|
|
11
|
+
|
|
9
12
|
```ts
|
|
10
13
|
import { GeoRadioComponent } from '@geoit/ui';
|
|
14
|
+
import { FormsModule } from '@angular/forms'; // when using [(ngModel)]
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
Add to the consuming standalone component:
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
imports: [GeoRadioComponent, FormsModule]
|
|
21
|
+
```
|
|
14
22
|
|
|
15
23
|
## Selector
|
|
16
24
|
`geo-radio`
|
|
@@ -24,44 +32,119 @@ Exclusive choice among few options.
|
|
|
24
32
|
## Do not use when
|
|
25
33
|
Many options — use geo-select.
|
|
26
34
|
|
|
35
|
+
## How to use
|
|
36
|
+
|
|
37
|
+
Nhóm radio độc quyền (CVA). [options] {label,value}[]; layout horizontal|vertical; buttonStyle cho dạng nút.
|
|
38
|
+
|
|
39
|
+
## Binding
|
|
40
|
+
|
|
41
|
+
Supports **ControlValueAccessor**.
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<geo-radio [(ngModel)]="value"></geo-radio>
|
|
45
|
+
<!-- or -->
|
|
46
|
+
<geo-radio formControlName="field"></geo-radio>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
|
|
50
|
+
|
|
51
|
+
Library API uses Angular 18 `input()` / `output()` signals under the hood.
|
|
52
|
+
|
|
27
53
|
## Inputs
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
54
|
+
|
|
55
|
+
Every supported Input (do not invent others):
|
|
56
|
+
|
|
57
|
+
| Input | Type | Default | Description |
|
|
58
|
+
|-------|------|---------|-------------|
|
|
59
|
+
| `options` | `GeoRadioOption[]` | `[]` | — |
|
|
60
|
+
| `label` | `string` | `''` | — |
|
|
61
|
+
| `size` | `'default' \| 'small' \| 'large'` | `'default'` | — |
|
|
62
|
+
| `layout` | `'horizontal' \| 'vertical'` | `'horizontal'` | — |
|
|
63
|
+
| `buttonStyle` | `boolean` | `false` | `true` → dùng `nz-radio-button` thay vì `nz-radio` |
|
|
64
|
+
| `buttonAppearance` | `'outline' \| 'solid'` | `'outline'` | Chỉ áp dụng khi `buttonStyle: true` |
|
|
65
|
+
| `disabled` | `boolean` | `false` | — |
|
|
66
|
+
| `required` | `boolean` | `false` | — |
|
|
67
|
+
| `error` | `boolean` | `false` | — |
|
|
68
|
+
| `errorMessage` | `string` | `''` | — |
|
|
69
|
+
| `block` | `boolean` | `false` | — |
|
|
41
70
|
|
|
42
71
|
## Outputs
|
|
43
|
-
| Output | Notes |
|
|
44
|
-
|--------|-------|
|
|
45
|
-
| `valueChange` | EventEmitter |
|
|
46
72
|
|
|
47
|
-
|
|
73
|
+
| Output | Payload | Description |
|
|
74
|
+
|--------|---------|-------------|
|
|
75
|
+
| `valueChange` | `OutputEmitterRef<string \| number \| null>` | — |
|
|
76
|
+
|
|
77
|
+
## Related types
|
|
78
|
+
|
|
79
|
+
From `figma/geo-radio/geo-radio.types.ts`:
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
export interface GeoRadioOption {
|
|
83
|
+
label: string;
|
|
84
|
+
value: string | number;
|
|
85
|
+
disabled?: boolean;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type GeoRadioSize = 'default' | 'small' | 'large';
|
|
89
|
+
|
|
90
|
+
export type GeoRadioLayout = 'horizontal' | 'vertical';
|
|
91
|
+
|
|
92
|
+
export type GeoRadioButtonAppearance = 'outline' | 'solid';
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Examples
|
|
96
|
+
|
|
97
|
+
### Basic
|
|
98
|
+
|
|
48
99
|
```html
|
|
49
100
|
<geo-radio
|
|
50
101
|
label="Loại yêu cầu"
|
|
51
102
|
layout="vertical"
|
|
52
|
-
[options]="[{ label: '
|
|
53
|
-
[(ngModel)]="
|
|
103
|
+
[options]="[{ label: 'Cấp mới', value: 'new' }, { label: 'Gia hạn', value: 'renew' }]"
|
|
104
|
+
[(ngModel)]="requestType"
|
|
105
|
+
[block]="true"
|
|
106
|
+
></geo-radio>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Full options
|
|
110
|
+
|
|
111
|
+
```html
|
|
112
|
+
<geo-radio
|
|
113
|
+
label="Trạng thái"
|
|
114
|
+
[options]="[
|
|
115
|
+
{ label: 'Hoạt động', value: 1 },
|
|
116
|
+
{ label: 'Ngưng', value: 0 }
|
|
117
|
+
]"
|
|
118
|
+
size="default"
|
|
119
|
+
layout="horizontal"
|
|
120
|
+
[buttonStyle]="true"
|
|
121
|
+
buttonAppearance="outline"
|
|
122
|
+
[required]="true"
|
|
54
123
|
[block]="true"
|
|
124
|
+
[error]="statusError"
|
|
125
|
+
errorMessage="Vui lòng chọn trạng thái"
|
|
126
|
+
[(ngModel)]="status"
|
|
127
|
+
(valueChange)="onStatus($event)"
|
|
55
128
|
></geo-radio>
|
|
56
129
|
```
|
|
57
130
|
|
|
131
|
+
## Tips
|
|
132
|
+
|
|
133
|
+
- Nhiều option → geo-select.
|
|
134
|
+
- buttonAppearance outline|solid khi buttonStyle=true.
|
|
135
|
+
- [block] + label cho form field.
|
|
136
|
+
## Related components
|
|
137
|
+
|
|
138
|
+
- [`geo-checkbox`](./geo-checkbox.md)
|
|
139
|
+
- [`geo-select`](./geo-select.md)
|
|
140
|
+
## Package path
|
|
141
|
+
`node_modules/@geoit/ui/ai/components/geo-radio.md`
|
|
142
|
+
|
|
58
143
|
## Source
|
|
59
144
|
`projects/geo-ui/src/lib/figma/geo-radio/geo-radio.component.ts`
|
|
60
145
|
|
|
61
|
-
##
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## Rules for AI
|
|
65
|
-
- Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
|
|
146
|
+
## Rules for AI / consumers
|
|
147
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
66
148
|
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
67
|
-
- Match props to
|
|
149
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
150
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
# geo-row-actions
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Complete usage reference for **GeoRowActionsComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
4
6
|
|
|
5
7
|
## Summary
|
|
6
8
|
Row action icons/menu (edit, more, custom).
|
|
7
9
|
|
|
8
10
|
## Import
|
|
11
|
+
|
|
9
12
|
```ts
|
|
10
13
|
import { GeoRowActionsComponent } from '@geoit/ui';
|
|
11
14
|
```
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoRowActionsComponent]
|
|
20
|
+
```
|
|
14
21
|
|
|
15
22
|
## Selector
|
|
16
23
|
`geo-row-actions`
|
|
@@ -24,31 +31,92 @@ Actions column inside geo-table.
|
|
|
24
31
|
## Do not use when
|
|
25
32
|
Page-level CTAs — use geo-button.
|
|
26
33
|
|
|
34
|
+
## How to use
|
|
35
|
+
|
|
36
|
+
Cụm thao tác dòng bảng. [actions] GeoRowAction[]; (actionClick) theo key. Thường qua cột renderAs: 'actions' của geo-table.
|
|
37
|
+
|
|
38
|
+
## Binding
|
|
39
|
+
|
|
40
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
41
|
+
|
|
27
42
|
## Inputs
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
43
|
+
|
|
44
|
+
Every supported Input (do not invent others):
|
|
45
|
+
|
|
46
|
+
| Input | Type | Default | Description |
|
|
47
|
+
|-------|------|---------|-------------|
|
|
48
|
+
| `actions` | `GeoRowAction[] \| null` | `null` | — |
|
|
49
|
+
| `primaryActionKey` | `string` | `'edit'` | Action ưu tiên hiển thị khi có > 2 thao tác (mặc định: edit) |
|
|
32
50
|
|
|
33
51
|
## Outputs
|
|
34
|
-
| Output | Notes |
|
|
35
|
-
|--------|-------|
|
|
36
|
-
| `actionClick` | EventEmitter |
|
|
37
|
-
| `edit` | EventEmitter |
|
|
38
|
-
| `more` | EventEmitter |
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
| Output | Payload | Description |
|
|
54
|
+
|--------|---------|-------------|
|
|
55
|
+
| `edit` | `OutputEmitterRef<void>` | Action ưu tiên hiển thị khi có > 2 thao tác (mặc định: edit) */ readonly primaryActionKey = input('edit'); readonly actionClick = output<string>(); /** @deprecated Dùng `actionClick` với key `edit` |
|
|
56
|
+
| `more` | `OutputEmitterRef<void>` | @deprecated Dùng `actionClick` với key `more` |
|
|
57
|
+
|
|
58
|
+
## Related types
|
|
59
|
+
|
|
60
|
+
From `figma/geo-table/geo-row-actions/geo-row-actions.types.ts`:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
export interface GeoRowAction {
|
|
64
|
+
key: string;
|
|
65
|
+
icon: string;
|
|
66
|
+
label?: string;
|
|
67
|
+
title?: string;
|
|
68
|
+
iconTheme?: 'outline' | 'fill' | 'twotone';
|
|
69
|
+
disabled?: boolean;
|
|
70
|
+
danger?: boolean;
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Examples
|
|
75
|
+
|
|
76
|
+
### Basic
|
|
77
|
+
|
|
41
78
|
```html
|
|
42
|
-
<geo-row-actions
|
|
79
|
+
<geo-row-actions
|
|
80
|
+
[actions]="[
|
|
81
|
+
{ key: 'edit', icon: 'edit', title: 'Chỉnh sửa' },
|
|
82
|
+
{ key: 'more', icon: 'more', title: 'Thêm thao tác' }
|
|
83
|
+
]"
|
|
84
|
+
(actionClick)="onAction($event)"
|
|
85
|
+
></geo-row-actions>
|
|
43
86
|
```
|
|
44
87
|
|
|
88
|
+
### Full options
|
|
89
|
+
|
|
90
|
+
```html
|
|
91
|
+
<geo-row-actions
|
|
92
|
+
primaryActionKey="edit"
|
|
93
|
+
[actions]="[
|
|
94
|
+
{ key: 'edit', icon: 'edit', title: 'Chỉnh sửa' },
|
|
95
|
+
{ key: 'view', icon: 'eye', title: 'Xem' },
|
|
96
|
+
{ key: 'delete', icon: 'delete', title: 'Xóa', danger: true }
|
|
97
|
+
]"
|
|
98
|
+
(actionClick)="onRowAction($event)"
|
|
99
|
+
></geo-row-actions>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Tips
|
|
103
|
+
|
|
104
|
+
- ≤2 actions hiện hết; >2: primary + danger, còn lại menu.
|
|
105
|
+
- primaryActionKey mặc định 'edit'.
|
|
106
|
+
- CTA trang → geo-button, không row-actions.
|
|
107
|
+
## Related components
|
|
108
|
+
|
|
109
|
+
- [`geo-table`](./geo-table.md)
|
|
110
|
+
- [`geo-button`](./geo-button.md)
|
|
111
|
+
- [`geo-icon`](./geo-icon.md)
|
|
112
|
+
## Package path
|
|
113
|
+
`node_modules/@geoit/ui/ai/components/geo-row-actions.md`
|
|
114
|
+
|
|
45
115
|
## Source
|
|
46
116
|
`projects/geo-ui/src/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.ts`
|
|
47
117
|
|
|
48
|
-
##
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
## Rules for AI
|
|
52
|
-
- Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
|
|
118
|
+
## Rules for AI / consumers
|
|
119
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
53
120
|
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
54
|
-
- Match props to
|
|
121
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
122
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
# geo-select
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Complete usage reference for **GeoSelectComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
4
6
|
|
|
5
7
|
## Summary
|
|
6
8
|
Select / multi-select dropdown.
|
|
7
9
|
|
|
8
10
|
## Import
|
|
11
|
+
|
|
9
12
|
```ts
|
|
10
13
|
import { GeoSelectComponent } from '@geoit/ui';
|
|
14
|
+
import { FormsModule } from '@angular/forms'; // when using [(ngModel)]
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
Add to the consuming standalone component:
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
imports: [GeoSelectComponent, FormsModule]
|
|
21
|
+
```
|
|
14
22
|
|
|
15
23
|
## Selector
|
|
16
24
|
`geo-select`
|
|
@@ -24,45 +32,117 @@ Choosing from a list of options.
|
|
|
24
32
|
## Do not use when
|
|
25
33
|
2–3 exclusive options may use geo-radio instead.
|
|
26
34
|
|
|
35
|
+
## How to use
|
|
36
|
+
|
|
37
|
+
Select danh sách (CVA). [options] {label,value}[]; mode default|multiple|tags; showSearch khi danh sách dài.
|
|
38
|
+
|
|
39
|
+
## Binding
|
|
40
|
+
|
|
41
|
+
Supports **ControlValueAccessor**.
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<geo-select [(ngModel)]="value"></geo-select>
|
|
45
|
+
<!-- or -->
|
|
46
|
+
<geo-select formControlName="field"></geo-select>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
|
|
50
|
+
|
|
51
|
+
Library API uses Angular 18 `input()` / `output()` signals under the hood.
|
|
52
|
+
|
|
27
53
|
## Inputs
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
41
|
-
| `
|
|
42
|
-
| `
|
|
54
|
+
|
|
55
|
+
Every supported Input (do not invent others):
|
|
56
|
+
|
|
57
|
+
| Input | Type | Default | Description |
|
|
58
|
+
|-------|------|---------|-------------|
|
|
59
|
+
| `options` | `GeoSelectOption[]` | `[]` | — |
|
|
60
|
+
| `label` | `string` | `''` | — |
|
|
61
|
+
| `placeholder` | `string` | `'Chọn giá trị'` | — |
|
|
62
|
+
| `size` | `'default' \| 'small'` | `'default'` | — |
|
|
63
|
+
| `mode` | `'default' \| 'multiple' \| 'tags'` | `'default'` | — |
|
|
64
|
+
| `disabled` | `boolean` | `false` | — |
|
|
65
|
+
| `required` | `boolean` | `false` | — |
|
|
66
|
+
| `error` | `boolean` | `false` | — |
|
|
67
|
+
| `errorMessage` | `string` | `''` | — |
|
|
68
|
+
| `allowClear` | `boolean` | `true` | — |
|
|
69
|
+
| `showSearch` | `boolean` | `false` | — |
|
|
70
|
+
| `block` | `boolean` | `false` | — |
|
|
71
|
+
| `width` | `number \| string \| undefined` | `undefined` | — |
|
|
43
72
|
|
|
44
73
|
## Outputs
|
|
45
|
-
| Output | Notes |
|
|
46
|
-
|--------|-------|
|
|
47
|
-
| `valueChange` | EventEmitter |
|
|
48
74
|
|
|
49
|
-
|
|
75
|
+
| Output | Payload | Description |
|
|
76
|
+
|--------|---------|-------------|
|
|
77
|
+
| `valueChange` | `OutputEmitterRef<string \| number \| Array<string \| number> \| null>` | — |
|
|
78
|
+
|
|
79
|
+
## Related types
|
|
80
|
+
|
|
81
|
+
From `figma/geo-select/geo-select.types.ts`:
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
export interface GeoSelectOption<T = string | number> {
|
|
85
|
+
label: string;
|
|
86
|
+
value: T;
|
|
87
|
+
disabled?: boolean;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export type GeoSelectSize = 'default' | 'small';
|
|
91
|
+
|
|
92
|
+
export type GeoSelectMode = 'default' | 'multiple' | 'tags';
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Examples
|
|
96
|
+
|
|
97
|
+
### Basic
|
|
98
|
+
|
|
50
99
|
```html
|
|
51
100
|
<geo-select
|
|
52
101
|
label="Trạng thái"
|
|
53
|
-
[options]="[{ label: '
|
|
102
|
+
[options]="[{ label: 'Hoạt động', value: 1 }, { label: 'Ngưng', value: 0 }]"
|
|
54
103
|
[(ngModel)]="status"
|
|
55
104
|
[block]="true"
|
|
56
105
|
></geo-select>
|
|
57
106
|
```
|
|
58
107
|
|
|
108
|
+
### Full options
|
|
109
|
+
|
|
110
|
+
```html
|
|
111
|
+
<geo-select
|
|
112
|
+
label="Đơn vị"
|
|
113
|
+
placeholder="Chọn giá trị"
|
|
114
|
+
mode="default"
|
|
115
|
+
size="default"
|
|
116
|
+
[options]="unitOptions"
|
|
117
|
+
[showSearch]="true"
|
|
118
|
+
[allowClear]="true"
|
|
119
|
+
[required]="true"
|
|
120
|
+
[block]="true"
|
|
121
|
+
[error]="unitError"
|
|
122
|
+
errorMessage="Vui lòng chọn đơn vị"
|
|
123
|
+
[(ngModel)]="unitId"
|
|
124
|
+
(valueChange)="onUnit($event)"
|
|
125
|
+
></geo-select>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Tips
|
|
129
|
+
|
|
130
|
+
- 2–3 lựa chọn độc quyền có thể dùng geo-radio.
|
|
131
|
+
- allowClear mặc định true.
|
|
132
|
+
- [block]="true" trong form.
|
|
133
|
+
## Related components
|
|
134
|
+
|
|
135
|
+
- [`geo-radio`](./geo-radio.md)
|
|
136
|
+
- [`geo-input`](./geo-input.md)
|
|
137
|
+
- [`geo-form-modal`](./geo-form-modal.md)
|
|
138
|
+
## Package path
|
|
139
|
+
`node_modules/@geoit/ui/ai/components/geo-select.md`
|
|
140
|
+
|
|
59
141
|
## Source
|
|
60
142
|
`projects/geo-ui/src/lib/figma/geo-select/geo-select.component.ts`
|
|
61
143
|
|
|
62
|
-
##
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
## Rules for AI
|
|
66
|
-
- Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
|
|
144
|
+
## Rules for AI / consumers
|
|
145
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
67
146
|
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
68
|
-
- Match props to
|
|
147
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
148
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
# geo-slider
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Complete usage reference for **GeoSliderComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
4
6
|
|
|
5
7
|
## Summary
|
|
6
8
|
Numeric range slider.
|
|
7
9
|
|
|
8
10
|
## Import
|
|
11
|
+
|
|
9
12
|
```ts
|
|
10
13
|
import { GeoSliderComponent } from '@geoit/ui';
|
|
11
14
|
```
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoSliderComponent]
|
|
20
|
+
```
|
|
14
21
|
|
|
15
22
|
## Selector
|
|
16
23
|
`geo-slider`
|
|
@@ -24,33 +31,75 @@ Continuous numeric value in a range.
|
|
|
24
31
|
## Do not use when
|
|
25
32
|
Discrete small sets — use select/radio.
|
|
26
33
|
|
|
34
|
+
## How to use
|
|
35
|
+
|
|
36
|
+
Thanh trượt số liên tục. Two-way [(value)] / (valueChange); min/max/step; tipFormatter tùy chỉnh tooltip.
|
|
37
|
+
|
|
38
|
+
## Binding
|
|
39
|
+
|
|
40
|
+
**`model()` two-way** on `value`:
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<geo-slider [(value)]="n"></geo-slider>
|
|
44
|
+
```
|
|
45
|
+
|
|
27
46
|
## Inputs
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
47
|
+
|
|
48
|
+
Every supported Input (do not invent others):
|
|
49
|
+
|
|
50
|
+
| Input | Type | Default | Description |
|
|
51
|
+
|-------|------|---------|-------------|
|
|
52
|
+
| `value` | `number` | `0` | Two-way `model()` (supports banana binding). |
|
|
53
|
+
| `min` | `number` | `0` | — |
|
|
54
|
+
| `max` | `number` | `100` | — |
|
|
55
|
+
| `step` | `number` | `1` | — |
|
|
56
|
+
| `disabled` | `boolean` | `false` | — |
|
|
57
|
+
| `tipFormatter` | `((value: number) => string) \| undefined` | `undefined` | — |
|
|
36
58
|
|
|
37
59
|
## Outputs
|
|
38
|
-
| Output | Notes |
|
|
39
|
-
|--------|-------|
|
|
40
|
-
| `valueChange` | EventEmitter |
|
|
41
60
|
|
|
42
|
-
|
|
61
|
+
_None_
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Examples
|
|
65
|
+
|
|
66
|
+
### Basic
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<geo-slider [(value)]="percent" [min]="0" [max]="100"></geo-slider>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Full options
|
|
73
|
+
|
|
43
74
|
```html
|
|
44
|
-
<geo-slider
|
|
75
|
+
<geo-slider
|
|
76
|
+
[(value)]="zoom"
|
|
77
|
+
[min]="0"
|
|
78
|
+
[max]="100"
|
|
79
|
+
[step]="5"
|
|
80
|
+
[disabled]="false"
|
|
81
|
+
[tipFormatter]="formatZoom"
|
|
82
|
+
(valueChange)="onZoom($event)"
|
|
83
|
+
></geo-slider>
|
|
45
84
|
```
|
|
46
85
|
|
|
86
|
+
## Tips
|
|
87
|
+
|
|
88
|
+
- Tập rời rạc nhỏ → select/radio.
|
|
89
|
+
- Không phải CVA — dùng [(value)].
|
|
90
|
+
- tipFormatter nhận number → string hiển thị.
|
|
91
|
+
## Related components
|
|
92
|
+
|
|
93
|
+
- [`geo-input`](./geo-input.md)
|
|
94
|
+
- [`geo-select`](./geo-select.md)
|
|
95
|
+
## Package path
|
|
96
|
+
`node_modules/@geoit/ui/ai/components/geo-slider.md`
|
|
97
|
+
|
|
47
98
|
## Source
|
|
48
99
|
`projects/geo-ui/src/lib/figma/geo-slider/geo-slider.component.ts`
|
|
49
100
|
|
|
50
|
-
##
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
## Rules for AI
|
|
54
|
-
- Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
|
|
101
|
+
## Rules for AI / consumers
|
|
102
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
55
103
|
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
56
|
-
- Match props to
|
|
104
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
105
|
+
- Copy examples and adapt labels/bindings only.
|