@geoit/ui 0.0.4 → 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 +49 -62
- package/ai/AGENTS.md +38 -28
- package/ai/README.md +35 -1
- package/ai/catalog.json +2796 -288
- package/ai/components/geo-alert.md +3 -3
- package/ai/components/geo-back-button.md +2 -2
- package/ai/components/geo-breadcrumb.md +1 -1
- package/ai/components/geo-button.md +3 -3
- package/ai/components/geo-chart.md +103 -0
- package/ai/components/geo-checkbox.md +4 -6
- package/ai/components/geo-column-picker.md +3 -3
- package/ai/components/geo-confirm-modal.md +4 -5
- package/ai/components/geo-dashboard.md +91 -0
- package/ai/components/geo-date-picker.md +5 -3
- package/ai/components/geo-date-range-picker.md +5 -3
- 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 +4 -2
- package/ai/components/geo-forgot-password.md +78 -0
- package/ai/components/geo-form-modal.md +9 -10
- package/ai/components/geo-icon.md +3 -3
- package/ai/components/geo-input.md +8 -6
- 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 +1 -1
- package/ai/components/geo-pagination.md +4 -7
- package/ai/components/geo-radio.md +3 -1
- package/ai/components/geo-row-actions.md +3 -3
- package/ai/components/geo-select.md +4 -2
- package/ai/components/geo-slider.md +5 -7
- package/ai/components/geo-stat-card.md +98 -0
- package/ai/components/geo-status-tag.md +2 -2
- package/ai/components/geo-step-form-layout.md +7 -8
- package/ai/components/geo-stepper.md +3 -4
- package/ai/components/geo-table-filter.md +4 -5
- package/ai/components/geo-table-pagination.md +4 -7
- package/ai/components/geo-table-toolbar.md +7 -7
- package/ai/components/geo-table.md +17 -20
- package/ai/components/geo-tabs.md +4 -6
- package/ai/components/geo-textarea.md +4 -2
- package/ai/components/geo-toast.md +4 -4
- package/ai/components/geo-tree.md +4 -6
- package/ai/components/geo-typography.md +1 -1
- package/ai/components/geo-upload.md +9 -10
- package/ai/mockup.html +1194 -0
- package/ai/recipes.md +98 -85
- 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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# geo-map-swipe
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoMapSwipeComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoMapSwipeComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoMapSwipeComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoMapSwipeComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-map-swipe`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `controller` | `GeoMapController \| null` | `null` | — |
|
|
46
|
+
| `active` | `boolean` | `false` | When true, swipe mode is on. — Two-way `model()` (supports banana binding). |
|
|
47
|
+
| `position` | `number` | `50` | 0–100, left portion shows clipped overlay. — Two-way `model()` (supports banana binding). |
|
|
48
|
+
| `layerId` | `string \| null` | `null` | Optional explicit overlay layer id; defaults to top visible non-basemap. |
|
|
49
|
+
|
|
50
|
+
## Outputs
|
|
51
|
+
|
|
52
|
+
_None_
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
### Example
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<geo-map-swipe></geo-map-swipe>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Package path
|
|
64
|
+
`node_modules/@geoit/ui/ai/components/geo-map-swipe.md`
|
|
65
|
+
|
|
66
|
+
## Source
|
|
67
|
+
`projects/geo-ui/src/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.ts`
|
|
68
|
+
|
|
69
|
+
## Rules for AI / consumers
|
|
70
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
71
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
72
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
73
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# geo-map-toolbar
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoMapToolbarComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoMapToolbarComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoMapToolbarComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoMapToolbarComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-map-toolbar`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `controller` | `GeoMapController \| null` | `null` | — |
|
|
46
|
+
| `actions` | `GeoMapToolbarAction[]` | `[]` | When empty, uses built-in portal action set. |
|
|
47
|
+
| `compact` | `boolean` | `false` | — |
|
|
48
|
+
| `checkedMap` | `Record<string, boolean>` | — | Two-way checked map keyed by action id (for checkbox-style actions). — Two-way `model()` (supports banana binding). |
|
|
49
|
+
|
|
50
|
+
## Outputs
|
|
51
|
+
|
|
52
|
+
| Output | Payload | Description |
|
|
53
|
+
|--------|---------|-------------|
|
|
54
|
+
| `actionClick` | `OutputEmitterRef<GeoMapToolbarAction>` | — |
|
|
55
|
+
| `actionToggle` | `OutputEmitterRef<{ action: GeoMapToolbarAction; checked: boolean; }>` | — |
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
|
|
60
|
+
### Example
|
|
61
|
+
|
|
62
|
+
```html
|
|
63
|
+
<geo-map-toolbar></geo-map-toolbar>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Package path
|
|
67
|
+
`node_modules/@geoit/ui/ai/components/geo-map-toolbar.md`
|
|
68
|
+
|
|
69
|
+
## Source
|
|
70
|
+
`projects/geo-ui/src/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.ts`
|
|
71
|
+
|
|
72
|
+
## Rules for AI / consumers
|
|
73
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
74
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
75
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
76
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# geo-map-zoom
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoMapZoomComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoMapZoomComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoMapZoomComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoMapZoomComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-map-zoom`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `controller` | `GeoMapController \| null` | `null` | — |
|
|
46
|
+
| `showNav` | `boolean` | `true` | Show prev / next zoom + fullscreen + box zoom (UC-15). |
|
|
47
|
+
| `showFitProvince` | `boolean` | `true` | Show “xem toàn tỉnh” (TCQH.14 GD5) — fit province extent, not fullscreen. |
|
|
48
|
+
| `provinceExtent` | `readonly [number, number, number, number] \| null` | `null` | Province extent in EPSG:4326. Defaults to Lâm Đồng placeholder when omitted. |
|
|
49
|
+
| `fullscreenTarget` | `HTMLElement \| null` | `null` | Element to put in Fullscreen API. Defaults to closest `.geo-map-shell`, then the OL map target. |
|
|
50
|
+
|
|
51
|
+
## Outputs
|
|
52
|
+
|
|
53
|
+
_None_
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## Examples
|
|
57
|
+
|
|
58
|
+
### Example
|
|
59
|
+
|
|
60
|
+
```html
|
|
61
|
+
<geo-map-zoom></geo-map-zoom>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Package path
|
|
65
|
+
`node_modules/@geoit/ui/ai/components/geo-map-zoom.md`
|
|
66
|
+
|
|
67
|
+
## Source
|
|
68
|
+
`projects/geo-ui/src/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.ts`
|
|
69
|
+
|
|
70
|
+
## Rules for AI / consumers
|
|
71
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
72
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
73
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
74
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# geo-map
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoMapComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
OpenLayers map host with basemap, typed layers, and GeoMapController.
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoMapComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoMapComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-map`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`map`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
Any map viewport (portal quy hoạch, tra cứu thửa). Peers: ol, proj4.
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
Non-map charting — use dashboard libs.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `center` | `number[]` | `[...GEO_MAP_DEFAULT_CENTER]` | Map center in view projection (default Web Mercator Đà Lạt area). |
|
|
46
|
+
| `zoom` | — | `GEO_MAP_DEFAULT_ZOOM` | — |
|
|
47
|
+
| `minZoom` | — | `GEO_MAP_DEFAULT_MIN_ZOOM` | — |
|
|
48
|
+
| `maxZoom` | — | `GEO_MAP_DEFAULT_MAX_ZOOM` | — |
|
|
49
|
+
| `viewProjection` | — | `GEO_MAP_DEFAULT_VIEW_PROJECTION` | — |
|
|
50
|
+
| `basemap` | `'osm' \| { type: 'xyz'` | `'osm'` | — |
|
|
51
|
+
| `layers` | `(\| GeoMapOsmLayerConfig \| GeoMapXyzLayerConfig \| GeoMapWmsLayerConfig \| GeoMapWmtsLayerConfig \| G…` | `[]` | — |
|
|
52
|
+
| `height` | — | `GEO_MAP_DEFAULT_HEIGHT` | — |
|
|
53
|
+
| `registerProjections` | `boolean` | `true` | When true, custom projections listed in `projections` are registered before map create. Built-in EPSG:4326 / EPSG:3857 never need registration. VN-2000 definitions must be supplied via `projections` — never invented. |
|
|
54
|
+
| `projections` | `ProjectionConfig[]` | `[]` | Custom CRS definitions (e.g. local VN-2000 from environment). |
|
|
55
|
+
| `showMousePosition` | `boolean` | `false` | — |
|
|
56
|
+
| `mousePositionProjection` | `string` | `'EPSG:4326'` | — |
|
|
57
|
+
| `showZoomControl` | `boolean` | `true` | When false, hide built-in OL zoom control (prefer `geo-map-zoom`). |
|
|
58
|
+
|
|
59
|
+
## Outputs
|
|
60
|
+
|
|
61
|
+
| Output | Payload | Description |
|
|
62
|
+
|--------|---------|-------------|
|
|
63
|
+
| `mapReady` | `OutputEmitterRef<GeoMapController>` | — |
|
|
64
|
+
| `mapClick` | `OutputEmitterRef<GeoMapClickEvent>` | — |
|
|
65
|
+
| `viewChange` | `OutputEmitterRef<GeoMapViewChangeEvent>` | — |
|
|
66
|
+
| `initError` | `OutputEmitterRef<string>` | — |
|
|
67
|
+
|
|
68
|
+
## Related types
|
|
69
|
+
|
|
70
|
+
From `figma/geo-map/geo-map.types.ts`:
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
export interface ProjectionConfig {
|
|
74
|
+
code: string;
|
|
75
|
+
/** Full proj4 definition string. Must be supplied by env/API — never invent VN-2000 params. */
|
|
76
|
+
definition: string;
|
|
77
|
+
extent?: [number, number, number, number];
|
|
78
|
+
units?: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export interface GeoMapLayerBase {
|
|
82
|
+
id: string;
|
|
83
|
+
title: string;
|
|
84
|
+
visible?: boolean;
|
|
85
|
+
/** 0–1 */
|
|
86
|
+
opacity?: number;
|
|
87
|
+
zIndex?: number;
|
|
88
|
+
minZoom?: number;
|
|
89
|
+
maxZoom?: number;
|
|
90
|
+
/** Treat as basemap (only one active at a time). */
|
|
91
|
+
basemap?: boolean;
|
|
92
|
+
/** Group key for layer panel sections (`base-map`, `qhsdd`, …). */
|
|
93
|
+
group?: string;
|
|
94
|
+
/** Display title for the group accordion (falls back to group key). */
|
|
95
|
+
groupLabel?: string;
|
|
96
|
+
/** Selection UX within the group: radio (`single`) or checkbox (`multi`). */
|
|
97
|
+
groupSelection?: 'single' | 'multi';
|
|
98
|
+
/** Eligible for identify / GetFeatureInfo. */
|
|
99
|
+
queryable?: boolean;
|
|
100
|
+
legendUrl?: string;
|
|
101
|
+
projection?: string;
|
|
102
|
+
metadata?: Record<string, unknown>;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface GeoMapOsmLayerConfig extends GeoMapLayerBase {
|
|
106
|
+
type: 'osm';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface GeoMapXyzLayerConfig extends GeoMapLayerBase {
|
|
110
|
+
type: 'xyz';
|
|
111
|
+
url: string;
|
|
112
|
+
attributions?: string | string[];
|
|
113
|
+
maxZoom?: number;
|
|
114
|
+
crossOrigin?: string | null;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export interface GeoMapWmsLayerConfig extends GeoMapLayerBase {
|
|
118
|
+
type: 'wms';
|
|
119
|
+
url: string;
|
|
120
|
+
params: Record<string, string | number | boolean>;
|
|
121
|
+
serverType?: 'geoserver' | 'mapserver' | 'qgis' | 'carmentaserver';
|
|
122
|
+
crossOrigin?: string | null;
|
|
123
|
+
/** Optional WMS layer name when not only in `params.LAYERS`. */
|
|
124
|
+
layerName?: string;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface GeoMapWmtsLayerConfig extends GeoMapLayerBase {
|
|
128
|
+
type: 'wmts';
|
|
129
|
+
url: string;
|
|
130
|
+
layer: string;
|
|
131
|
+
matrixSet: string;
|
|
132
|
+
format?: string;
|
|
133
|
+
style?: string;
|
|
134
|
+
projection?: string;
|
|
135
|
+
crossOrigin?: string | null;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface GeoMapGeoJsonLayerConfig extends GeoMapLayerBase {
|
|
139
|
+
type: 'geojson';
|
|
140
|
+
/** Inline GeoJSON object or URL string. */
|
|
141
|
+
data: object | string;
|
|
142
|
+
dataProjection?: string;
|
|
143
|
+
featureProjection?: string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface GeoMapVectorLayerConfig extends GeoMapLayerBase {
|
|
147
|
+
type: 'vector';
|
|
148
|
+
/** Pre-built OL features (app-owned). */
|
|
149
|
+
features?: Feature<Geometry>[];
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export interface GeoMapBasemapOption {
|
|
153
|
+
id: string;
|
|
154
|
+
label: string;
|
|
155
|
+
basemap: GeoMapBasemap;
|
|
156
|
+
previewUrl?: string;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export interface GeoMapClickEvent {
|
|
160
|
+
/** Coordinate in view projection. */
|
|
161
|
+
coordinate: number[];
|
|
162
|
+
/** Lon/lat (EPSG:4326) as [longitude, latitude]. */
|
|
163
|
+
lonLat: [number, number];
|
|
164
|
+
pixel: [number, number];
|
|
165
|
+
originalEvent: UIEvent;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export interface GeoMapViewChangeEvent {
|
|
169
|
+
center: number[];
|
|
170
|
+
zoom: number;
|
|
171
|
+
resolution: number;
|
|
172
|
+
rotation: number;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export interface GeoMapLayerVisibilityChange {
|
|
176
|
+
layerId: string;
|
|
177
|
+
visible: boolean;
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Examples
|
|
182
|
+
|
|
183
|
+
### Example
|
|
184
|
+
|
|
185
|
+
```html
|
|
186
|
+
<geo-map
|
|
187
|
+
[center]="center"
|
|
188
|
+
[zoom]="12"
|
|
189
|
+
[layers]="layers"
|
|
190
|
+
height="480px"
|
|
191
|
+
(mapReady)="ctrl = $event"
|
|
192
|
+
></geo-map>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Package path
|
|
196
|
+
`node_modules/@geoit/ui/ai/components/geo-map.md`
|
|
197
|
+
|
|
198
|
+
## Source
|
|
199
|
+
`projects/geo-ui/src/lib/figma/geo-map/geo-map.component.ts`
|
|
200
|
+
|
|
201
|
+
## Rules for AI / consumers
|
|
202
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
203
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
204
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
205
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# geo-overlap-result
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoOverlapResultComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoOverlapResultComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoOverlapResultComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoOverlapResultComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-overlap-result`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `title` | `string` | `'Kết quả phân tích chồng lấn'` | — |
|
|
46
|
+
| `rows` | `GeoOverlapResultRow[]` | `[]` | — |
|
|
47
|
+
| `areaUnit` | `string` | `'m²'` | — |
|
|
48
|
+
| `emptyText` | `string` | `'Chưa có kết quả phân tích.'` | — |
|
|
49
|
+
|
|
50
|
+
## Outputs
|
|
51
|
+
|
|
52
|
+
| Output | Payload | Description |
|
|
53
|
+
|--------|---------|-------------|
|
|
54
|
+
| `rowClick` | `OutputEmitterRef<GeoOverlapResultRow>` | — |
|
|
55
|
+
|
|
56
|
+
## Related types
|
|
57
|
+
|
|
58
|
+
From `figma/geo-overlap-result/geo-overlap-result.types.ts`:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
export interface GeoOverlapResultRow {
|
|
62
|
+
id: string;
|
|
63
|
+
planningType: string;
|
|
64
|
+
intersectionArea: number | string;
|
|
65
|
+
percent: number | string;
|
|
66
|
+
color?: string;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Examples
|
|
71
|
+
|
|
72
|
+
### Example
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<geo-overlap-result></geo-overlap-result>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Package path
|
|
79
|
+
`node_modules/@geoit/ui/ai/components/geo-overlap-result.md`
|
|
80
|
+
|
|
81
|
+
## Source
|
|
82
|
+
`projects/geo-ui/src/lib/figma/geo-overlap-result/geo-overlap-result.component.ts`
|
|
83
|
+
|
|
84
|
+
## Rules for AI / consumers
|
|
85
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
86
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
87
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
88
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# geo-page-header
|
|
2
|
+
|
|
3
|
+
> Complete usage reference for **GeoPageHeaderComponent** (`@geoit/ui`)
|
|
4
|
+
>
|
|
5
|
+
> Read this file before using the component. Use **only** the Inputs/Outputs listed here.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
GeoPageHeaderComponent
|
|
9
|
+
|
|
10
|
+
## Import
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { GeoPageHeaderComponent } from '@geoit/ui';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add to the consuming standalone component:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
imports: [GeoPageHeaderComponent]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Selector
|
|
23
|
+
`geo-page-header`
|
|
24
|
+
|
|
25
|
+
## Category
|
|
26
|
+
`other`
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
—
|
|
30
|
+
|
|
31
|
+
## Do not use when
|
|
32
|
+
—
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Binding
|
|
36
|
+
|
|
37
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
38
|
+
|
|
39
|
+
## Inputs
|
|
40
|
+
|
|
41
|
+
Every supported Input (do not invent others):
|
|
42
|
+
|
|
43
|
+
| Input | Type | Default | Description |
|
|
44
|
+
|-------|------|---------|-------------|
|
|
45
|
+
| `title` | `string` | `''` | — |
|
|
46
|
+
| `breadcrumb` | `GeoBreadcrumbItem[]` | `[]` | — |
|
|
47
|
+
| `uppercase` | `boolean` | `true` | — |
|
|
48
|
+
|
|
49
|
+
## Outputs
|
|
50
|
+
|
|
51
|
+
_None_
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
### Example
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<geo-page-header></geo-page-header>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Package path
|
|
63
|
+
`node_modules/@geoit/ui/ai/components/geo-page-header.md`
|
|
64
|
+
|
|
65
|
+
## Source
|
|
66
|
+
`projects/geo-ui/src/lib/figma/geo-page-header/geo-page-header.component.ts`
|
|
67
|
+
|
|
68
|
+
## Rules for AI / consumers
|
|
69
|
+
- Prefer this component over raw ng-zorro / HTML for the same UI role.
|
|
70
|
+
- Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
|
|
71
|
+
- Match props exactly to the Inputs table; do not invent unsupported inputs.
|
|
72
|
+
- Copy examples and adapt labels/bindings only.
|
|
@@ -37,7 +37,7 @@ Tiêu đề trang chữ hoa + gạch nhấn primary. title + level 1–4; accent
|
|
|
37
37
|
|
|
38
38
|
## Binding
|
|
39
39
|
|
|
40
|
-
Standalone
|
|
40
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
41
41
|
|
|
42
42
|
## Inputs
|
|
43
43
|
|
|
@@ -37,7 +37,7 @@ Phân trang độc lập ngoài bảng. [pageIndex]/[pageSize]/[total]; (pageInd
|
|
|
37
37
|
|
|
38
38
|
## Binding
|
|
39
39
|
|
|
40
|
-
Standalone
|
|
40
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
41
41
|
|
|
42
42
|
## Inputs
|
|
43
43
|
|
|
@@ -45,8 +45,8 @@ Every supported Input (do not invent others):
|
|
|
45
45
|
|
|
46
46
|
| Input | Type | Default | Description |
|
|
47
47
|
|-------|------|---------|-------------|
|
|
48
|
-
| `pageIndex` | `number` | `1` |
|
|
49
|
-
| `pageSize` | `number` | `10` |
|
|
48
|
+
| `pageIndex` | `number` | `1` | Two-way `model()` (supports banana binding). |
|
|
49
|
+
| `pageSize` | `number` | `10` | Two-way `model()` (supports banana binding). |
|
|
50
50
|
| `total` | `number` | `0` | — |
|
|
51
51
|
| `size` | `'default' \| 'small'` | `'default'` | — |
|
|
52
52
|
| `simple` | `boolean` | `false` | — |
|
|
@@ -56,10 +56,7 @@ Every supported Input (do not invent others):
|
|
|
56
56
|
|
|
57
57
|
## Outputs
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|--------|---------|-------------|
|
|
61
|
-
| `pageIndexChange` | `EventEmitter<number>` | — |
|
|
62
|
-
| `pageSizeChange` | `EventEmitter<number>` | — |
|
|
59
|
+
_None_
|
|
63
60
|
|
|
64
61
|
|
|
65
62
|
## Examples
|
|
@@ -48,6 +48,8 @@ Supports **ControlValueAccessor**.
|
|
|
48
48
|
|
|
49
49
|
Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
|
|
50
50
|
|
|
51
|
+
Library API uses Angular 18 `input()` / `output()` signals under the hood.
|
|
52
|
+
|
|
51
53
|
## Inputs
|
|
52
54
|
|
|
53
55
|
Every supported Input (do not invent others):
|
|
@@ -70,7 +72,7 @@ Every supported Input (do not invent others):
|
|
|
70
72
|
|
|
71
73
|
| Output | Payload | Description |
|
|
72
74
|
|--------|---------|-------------|
|
|
73
|
-
| `valueChange` | `
|
|
75
|
+
| `valueChange` | `OutputEmitterRef<string \| number \| null>` | — |
|
|
74
76
|
|
|
75
77
|
## Related types
|
|
76
78
|
|
|
@@ -37,7 +37,7 @@ Cụm thao tác dòng bảng. [actions] GeoRowAction[]; (actionClick) theo key.
|
|
|
37
37
|
|
|
38
38
|
## Binding
|
|
39
39
|
|
|
40
|
-
Standalone
|
|
40
|
+
Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
|
|
41
41
|
|
|
42
42
|
## Inputs
|
|
43
43
|
|
|
@@ -52,8 +52,8 @@ Every supported Input (do not invent others):
|
|
|
52
52
|
|
|
53
53
|
| Output | Payload | Description |
|
|
54
54
|
|--------|---------|-------------|
|
|
55
|
-
| `edit` | `
|
|
56
|
-
| `more` | `
|
|
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
57
|
|
|
58
58
|
## Related types
|
|
59
59
|
|
|
@@ -48,6 +48,8 @@ Supports **ControlValueAccessor**.
|
|
|
48
48
|
|
|
49
49
|
Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
|
|
50
50
|
|
|
51
|
+
Library API uses Angular 18 `input()` / `output()` signals under the hood.
|
|
52
|
+
|
|
51
53
|
## Inputs
|
|
52
54
|
|
|
53
55
|
Every supported Input (do not invent others):
|
|
@@ -66,13 +68,13 @@ Every supported Input (do not invent others):
|
|
|
66
68
|
| `allowClear` | `boolean` | `true` | — |
|
|
67
69
|
| `showSearch` | `boolean` | `false` | — |
|
|
68
70
|
| `block` | `boolean` | `false` | — |
|
|
69
|
-
| `width` | `number \| string` |
|
|
71
|
+
| `width` | `number \| string \| undefined` | `undefined` | — |
|
|
70
72
|
|
|
71
73
|
## Outputs
|
|
72
74
|
|
|
73
75
|
| Output | Payload | Description |
|
|
74
76
|
|--------|---------|-------------|
|
|
75
|
-
| `valueChange` | `
|
|
77
|
+
| `valueChange` | `OutputEmitterRef<string \| number \| Array<string \| number> \| null>` | — |
|
|
76
78
|
|
|
77
79
|
## Related types
|
|
78
80
|
|