@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.
Files changed (165) hide show
  1. package/AGENTS.md +25 -0
  2. package/README.md +46 -0
  3. package/ai/AGENTS.md +86 -0
  4. package/ai/README.md +44 -0
  5. package/ai/catalog.json +882 -0
  6. package/ai/components/geo-alert.md +56 -0
  7. package/ai/components/geo-back-button.md +54 -0
  8. package/ai/components/geo-breadcrumb.md +52 -0
  9. package/ai/components/geo-button.md +63 -0
  10. package/ai/components/geo-checkbox.md +54 -0
  11. package/ai/components/geo-column-picker.md +54 -0
  12. package/ai/components/geo-confirm-modal.md +70 -0
  13. package/ai/components/geo-date-picker.md +65 -0
  14. package/ai/components/geo-date-range-picker.md +64 -0
  15. package/ai/components/geo-file-picker.md +62 -0
  16. package/ai/components/geo-form-modal.md +88 -0
  17. package/ai/components/geo-icon.md +53 -0
  18. package/ai/components/geo-input.md +65 -0
  19. package/ai/components/geo-page-title.md +53 -0
  20. package/ai/components/geo-pagination.md +59 -0
  21. package/ai/components/geo-radio.md +67 -0
  22. package/ai/components/geo-row-actions.md +54 -0
  23. package/ai/components/geo-select.md +68 -0
  24. package/ai/components/geo-slider.md +56 -0
  25. package/ai/components/geo-status-tag.md +51 -0
  26. package/ai/components/geo-step-form-layout.md +81 -0
  27. package/ai/components/geo-stepper.md +63 -0
  28. package/ai/components/geo-table-filter.md +65 -0
  29. package/ai/components/geo-table-pagination.md +59 -0
  30. package/ai/components/geo-table-toolbar.md +64 -0
  31. package/ai/components/geo-table.md +98 -0
  32. package/ai/components/geo-tabs.md +62 -0
  33. package/ai/components/geo-textarea.md +59 -0
  34. package/ai/components/geo-toast.md +61 -0
  35. package/ai/components/geo-tree.md +58 -0
  36. package/ai/components/geo-typography.md +57 -0
  37. package/ai/components/geo-upload.md +78 -0
  38. package/ai/recipes.md +111 -0
  39. package/esm2022/geoit-ui.mjs +5 -0
  40. package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +58 -0
  41. package/esm2022/lib/figma/geo-alert/geo-alert.types.mjs +7 -0
  42. package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +48 -0
  43. package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +33 -0
  44. package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.types.mjs +2 -0
  45. package/esm2022/lib/figma/geo-button/geo-button.component.mjs +77 -0
  46. package/esm2022/lib/figma/geo-button/geo-button.types.mjs +2 -0
  47. package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +34 -0
  48. package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +76 -0
  49. package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.types.mjs +2 -0
  50. package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +119 -0
  51. package/esm2022/lib/figma/geo-date-picker/geo-date-picker.types.mjs +2 -0
  52. package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +116 -0
  53. package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.types.mjs +2 -0
  54. package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +145 -0
  55. package/esm2022/lib/figma/geo-file-picker/geo-file-picker.types.mjs +2 -0
  56. package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +153 -0
  57. package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +51 -0
  58. package/esm2022/lib/figma/geo-icon/geo-icon.types.mjs +8 -0
  59. package/esm2022/lib/figma/geo-input/geo-input.component.mjs +118 -0
  60. package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +51 -0
  61. package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +54 -0
  62. package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +95 -0
  63. package/esm2022/lib/figma/geo-radio/geo-radio.types.mjs +2 -0
  64. package/esm2022/lib/figma/geo-select/geo-select.component.mjs +113 -0
  65. package/esm2022/lib/figma/geo-select/geo-select.types.mjs +2 -0
  66. package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +43 -0
  67. package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +62 -0
  68. package/esm2022/lib/figma/geo-status-tag/geo-status-tag.types.mjs +30 -0
  69. package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +157 -0
  70. package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.types.mjs +2 -0
  71. package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +77 -0
  72. package/esm2022/lib/figma/geo-stepper/geo-stepper.types.mjs +2 -0
  73. package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +65 -0
  74. package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.storage.mjs +31 -0
  75. package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.types.mjs +2 -0
  76. package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +64 -0
  77. package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.types.mjs +24 -0
  78. package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +195 -0
  79. package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +118 -0
  80. package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +68 -0
  81. package/esm2022/lib/figma/geo-table/geo-table.component.mjs +381 -0
  82. package/esm2022/lib/figma/geo-table/geo-table.types.mjs +4 -0
  83. package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +94 -0
  84. package/esm2022/lib/figma/geo-tabs/geo-tabs.types.mjs +2 -0
  85. package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +85 -0
  86. package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +57 -0
  87. package/esm2022/lib/figma/geo-toast/geo-toast.service.mjs +116 -0
  88. package/esm2022/lib/figma/geo-toast/geo-toast.types.mjs +13 -0
  89. package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +52 -0
  90. package/esm2022/lib/figma/geo-tree/geo-tree.types.mjs +2 -0
  91. package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +112 -0
  92. package/esm2022/lib/figma/geo-typography/geo-typography.types.mjs +96 -0
  93. package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +218 -0
  94. package/esm2022/lib/figma/geo-upload/geo-upload.types.mjs +30 -0
  95. package/esm2022/lib/figma/index.mjs +56 -0
  96. package/esm2022/lib/ng-zorro/ng-zorro-antd.module.mjs +293 -0
  97. package/esm2022/lib/styles/tokens.mjs +144 -0
  98. package/esm2022/public-api.mjs +7 -0
  99. package/fesm2022/geoit-ui.mjs +3805 -0
  100. package/fesm2022/geoit-ui.mjs.map +1 -0
  101. package/index.d.ts +5 -0
  102. package/lib/figma/geo-alert/geo-alert.component.d.ts +17 -0
  103. package/lib/figma/geo-alert/geo-alert.types.d.ts +2 -0
  104. package/lib/figma/geo-back-button/geo-back-button.component.d.ts +18 -0
  105. package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +12 -0
  106. package/lib/figma/geo-breadcrumb/geo-breadcrumb.types.d.ts +10 -0
  107. package/lib/figma/geo-button/geo-button.component.d.ts +27 -0
  108. package/lib/figma/geo-button/geo-button.types.d.ts +4 -0
  109. package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +12 -0
  110. package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +24 -0
  111. package/lib/figma/geo-confirm-modal/geo-confirm-modal.types.d.ts +5 -0
  112. package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +35 -0
  113. package/lib/figma/geo-date-picker/geo-date-picker.types.d.ts +2 -0
  114. package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +34 -0
  115. package/lib/figma/geo-date-range-picker/geo-date-range-picker.types.d.ts +2 -0
  116. package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +39 -0
  117. package/lib/figma/geo-file-picker/geo-file-picker.types.d.ts +4 -0
  118. package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +57 -0
  119. package/lib/figma/geo-icon/geo-icon.component.d.ts +19 -0
  120. package/lib/figma/geo-icon/geo-icon.types.d.ts +3 -0
  121. package/lib/figma/geo-input/geo-input.component.d.ts +37 -0
  122. package/lib/figma/geo-page-title/geo-page-title.component.d.ts +22 -0
  123. package/lib/figma/geo-pagination/geo-pagination.component.d.ts +21 -0
  124. package/lib/figma/geo-radio/geo-radio.component.d.ts +31 -0
  125. package/lib/figma/geo-radio/geo-radio.types.d.ts +9 -0
  126. package/lib/figma/geo-select/geo-select.component.d.ts +33 -0
  127. package/lib/figma/geo-select/geo-select.types.d.ts +7 -0
  128. package/lib/figma/geo-slider/geo-slider.component.d.ts +17 -0
  129. package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +18 -0
  130. package/lib/figma/geo-status-tag/geo-status-tag.types.d.ts +13 -0
  131. package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +67 -0
  132. package/lib/figma/geo-step-form-layout/geo-step-form-layout.types.d.ts +9 -0
  133. package/lib/figma/geo-stepper/geo-stepper.component.d.ts +42 -0
  134. package/lib/figma/geo-stepper/geo-stepper.types.d.ts +9 -0
  135. package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +20 -0
  136. package/lib/figma/geo-table/geo-column-picker/geo-column-picker.storage.d.ts +5 -0
  137. package/lib/figma/geo-table/geo-column-picker/geo-column-picker.types.d.ts +17 -0
  138. package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +21 -0
  139. package/lib/figma/geo-table/geo-row-actions/geo-row-actions.types.d.ts +13 -0
  140. package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +75 -0
  141. package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +33 -0
  142. package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +24 -0
  143. package/lib/figma/geo-table/geo-table.component.d.ts +113 -0
  144. package/lib/figma/geo-table/geo-table.types.d.ts +47 -0
  145. package/lib/figma/geo-tabs/geo-tabs.component.d.ts +31 -0
  146. package/lib/figma/geo-tabs/geo-tabs.types.d.ts +7 -0
  147. package/lib/figma/geo-textarea/geo-textarea.component.d.ts +27 -0
  148. package/lib/figma/geo-toast/geo-toast.component.d.ts +23 -0
  149. package/lib/figma/geo-toast/geo-toast.service.d.ts +33 -0
  150. package/lib/figma/geo-toast/geo-toast.types.d.ts +45 -0
  151. package/lib/figma/geo-tree/geo-tree.component.d.ts +23 -0
  152. package/lib/figma/geo-tree/geo-tree.types.d.ts +12 -0
  153. package/lib/figma/geo-typography/geo-typography.component.d.ts +35 -0
  154. package/lib/figma/geo-typography/geo-typography.types.d.ts +12 -0
  155. package/lib/figma/geo-upload/geo-upload.component.d.ts +59 -0
  156. package/lib/figma/geo-upload/geo-upload.types.d.ts +13 -0
  157. package/lib/figma/index.d.ts +55 -0
  158. package/lib/ng-zorro/ng-zorro-antd.module.d.ts +76 -0
  159. package/lib/styles/tokens.d.ts +184 -0
  160. package/package.json +38 -0
  161. package/public-api.d.ts +3 -0
  162. package/src/lib/styles/design-tokens.scss +143 -0
  163. package/src/lib/styles/geo-toast-notification.scss +129 -0
  164. package/src/lib/styles/scrollbar.scss +38 -0
  165. package/src/lib/styles/theme.scss +153 -0
@@ -0,0 +1,95 @@
1
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { NgZorroAntdModule } from '../../ng-zorro/ng-zorro-antd.module';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "ng-zorro-antd/radio";
8
+ let uiRadioErrorId = 0;
9
+ export class GeoRadioComponent {
10
+ options = [];
11
+ label = '';
12
+ size = 'default';
13
+ layout = 'horizontal';
14
+ /** `true` → dùng `nz-radio-button` thay vì `nz-radio` */
15
+ buttonStyle = false;
16
+ /** Chỉ áp dụng khi `buttonStyle: true` */
17
+ buttonAppearance = 'outline';
18
+ disabled = false;
19
+ required = false;
20
+ error = false;
21
+ errorMessage = '';
22
+ block = false;
23
+ valueChange = new EventEmitter();
24
+ errorMessageId = `geo-radio-error-${++uiRadioErrorId}`;
25
+ value = null;
26
+ onChange = () => undefined;
27
+ onTouched = () => undefined;
28
+ onValueChange(value) {
29
+ this.value = value;
30
+ this.onChange(value);
31
+ this.onTouched();
32
+ this.valueChange.emit(value);
33
+ }
34
+ writeValue(value) {
35
+ this.value = value ?? null;
36
+ }
37
+ registerOnChange(fn) {
38
+ this.onChange = fn;
39
+ }
40
+ registerOnTouched(fn) {
41
+ this.onTouched = fn;
42
+ }
43
+ setDisabledState(isDisabled) {
44
+ this.disabled = isDisabled;
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoRadioComponent, isStandalone: true, selector: "geo-radio", inputs: { options: "options", label: "label", size: "size", layout: "layout", buttonStyle: "buttonStyle", buttonAppearance: "buttonAppearance", disabled: "disabled", required: "required", error: "error", errorMessage: "errorMessage", block: "block" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.geo-radio-host--block": "block", "class.geo-radio-host--error": "error", "class.geo-radio-host--vertical": "layout === \"vertical\"", "class.geo-radio-host--button": "buttonStyle" }, classAttribute: "geo-radio-host" }, providers: [
48
+ {
49
+ provide: NG_VALUE_ACCESSOR,
50
+ useExisting: forwardRef(() => GeoRadioComponent),
51
+ multi: true,
52
+ },
53
+ ], ngImport: i0, template: "@if (label) {\n <div class=\"geo-radio__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-radio__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-radio-group\n class=\"geo-radio\"\n [class.geo-radio--vertical]=\"layout === 'vertical'\"\n [nzSize]=\"size\"\n [nzDisabled]=\"disabled\"\n [nzButtonStyle]=\"buttonAppearance\"\n [ngModel]=\"value\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n>\n @for (option of options; track option.value) {\n @if (buttonStyle) {\n <label\n nz-radio-button\n class=\"geo-radio__item\"\n [nzValue]=\"option.value\"\n [nzDisabled]=\"option.disabled ?? false\"\n >\n {{ option.label }}\n </label>\n } @else {\n <label\n nz-radio\n class=\"geo-radio__item\"\n [nzValue]=\"option.value\"\n [nzDisabled]=\"option.disabled ?? false\"\n >\n {{ option.label }}\n </label>\n }\n }\n</nz-radio-group>\n\n@if (error && errorMessage) {\n <p class=\"geo-radio__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: ["geo-radio.geo-radio-host,.geo-radio-host{display:inline-flex;flex-direction:column;gap:8px;max-width:100%;vertical-align:top}geo-radio.geo-radio-host.geo-radio-host--block,.geo-radio-host.geo-radio-host--block{display:flex;width:100%}.geo-radio__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-radio__required{color:var(--geo-color-error-default)}.geo-radio__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-radio.ant-radio-group{display:inline-flex;flex-wrap:wrap;gap:16px 24px}.geo-radio--vertical.ant-radio-group{flex-direction:column;align-items:flex-start;gap:12px}.geo-radio__item{margin:0!important;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-radio .ant-radio-wrapper{margin-inline-end:0;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-radio .ant-radio:not(.ant-radio-disabled):hover .ant-radio-inner{border-color:var(--geo-color-primary-default)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled) .ant-radio-inner{border-color:var(--geo-color-primary-default);background-color:var(--geo-color-neutral-white)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled) .ant-radio-inner:after{background-color:var(--geo-color-primary-default)}.geo-radio .ant-radio-input:focus+.ant-radio-inner,.geo-radio .ant-radio-input:focus-visible+.ant-radio-inner{border-color:var(--geo-color-primary-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled):hover .ant-radio-inner{border-color:var(--geo-color-primary-hover)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled):hover .ant-radio-inner:after{background-color:var(--geo-color-primary-hover)}.geo-radio .ant-radio-disabled .ant-radio-inner{background-color:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300)!important}.geo-radio .ant-radio-disabled+span{color:var(--geo-color-neutral-disabled-text)}.geo-radio-host--button .geo-radio.ant-radio-group{gap:0}.geo-radio .ant-radio-button-wrapper{height:40px;line-height:38px;padding:0 16px;border-color:var(--geo-color-neutral-300);color:var(--geo-color-neutral-900);font-size:14px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.geo-radio .ant-radio-button-wrapper:first-child{border-radius:var(--geo-radius) 0 0 var(--geo-radius)}.geo-radio .ant-radio-button-wrapper:last-child{border-radius:0 var(--geo-radius) var(--geo-radius) 0}.geo-radio .ant-radio-button-wrapper:not(:first-child):before{background-color:var(--geo-color-neutral-300)}.geo-radio .ant-radio-button-wrapper:hover{color:var(--geo-color-primary-default)}.geo-radio .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:var(--geo-color-primary-default);border-color:var(--geo-color-primary-default)!important;background:var(--color-primary-surface, var(--geo-color-primary-surface-light))}.geo-radio .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before{background-color:var(--geo-color-primary-default)}.geo-radio .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:var(--geo-color-primary-hover);border-color:var(--geo-color-primary-hover)!important;background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-radio .ant-radio-button-wrapper-disabled{color:var(--geo-color-neutral-disabled-text);background:var(--geo-color-neutral-100)}.geo-radio.ant-radio-group-small .ant-radio-button-wrapper{height:32px;line-height:30px;padding:0 12px;font-size:13px}.geo-radio.ant-radio-group-large .ant-radio-button-wrapper{height:48px;line-height:46px;padding:0 20px;font-size:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: i2.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i2.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }], encapsulation: i0.ViewEncapsulation.None });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoRadioComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'geo-radio', standalone: true, imports: [CommonModule, FormsModule, NgZorroAntdModule], encapsulation: ViewEncapsulation.None, host: {
58
+ class: 'geo-radio-host',
59
+ '[class.geo-radio-host--block]': 'block',
60
+ '[class.geo-radio-host--error]': 'error',
61
+ '[class.geo-radio-host--vertical]': 'layout === "vertical"',
62
+ '[class.geo-radio-host--button]': 'buttonStyle',
63
+ }, providers: [
64
+ {
65
+ provide: NG_VALUE_ACCESSOR,
66
+ useExisting: forwardRef(() => GeoRadioComponent),
67
+ multi: true,
68
+ },
69
+ ], template: "@if (label) {\n <div class=\"geo-radio__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-radio__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-radio-group\n class=\"geo-radio\"\n [class.geo-radio--vertical]=\"layout === 'vertical'\"\n [nzSize]=\"size\"\n [nzDisabled]=\"disabled\"\n [nzButtonStyle]=\"buttonAppearance\"\n [ngModel]=\"value\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n>\n @for (option of options; track option.value) {\n @if (buttonStyle) {\n <label\n nz-radio-button\n class=\"geo-radio__item\"\n [nzValue]=\"option.value\"\n [nzDisabled]=\"option.disabled ?? false\"\n >\n {{ option.label }}\n </label>\n } @else {\n <label\n nz-radio\n class=\"geo-radio__item\"\n [nzValue]=\"option.value\"\n [nzDisabled]=\"option.disabled ?? false\"\n >\n {{ option.label }}\n </label>\n }\n }\n</nz-radio-group>\n\n@if (error && errorMessage) {\n <p class=\"geo-radio__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: ["geo-radio.geo-radio-host,.geo-radio-host{display:inline-flex;flex-direction:column;gap:8px;max-width:100%;vertical-align:top}geo-radio.geo-radio-host.geo-radio-host--block,.geo-radio-host.geo-radio-host--block{display:flex;width:100%}.geo-radio__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-radio__required{color:var(--geo-color-error-default)}.geo-radio__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-radio.ant-radio-group{display:inline-flex;flex-wrap:wrap;gap:16px 24px}.geo-radio--vertical.ant-radio-group{flex-direction:column;align-items:flex-start;gap:12px}.geo-radio__item{margin:0!important;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-radio .ant-radio-wrapper{margin-inline-end:0;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-radio .ant-radio:not(.ant-radio-disabled):hover .ant-radio-inner{border-color:var(--geo-color-primary-default)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled) .ant-radio-inner{border-color:var(--geo-color-primary-default);background-color:var(--geo-color-neutral-white)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled) .ant-radio-inner:after{background-color:var(--geo-color-primary-default)}.geo-radio .ant-radio-input:focus+.ant-radio-inner,.geo-radio .ant-radio-input:focus-visible+.ant-radio-inner{border-color:var(--geo-color-primary-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled):hover .ant-radio-inner{border-color:var(--geo-color-primary-hover)}.geo-radio .ant-radio-checked:not(.ant-radio-disabled):hover .ant-radio-inner:after{background-color:var(--geo-color-primary-hover)}.geo-radio .ant-radio-disabled .ant-radio-inner{background-color:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300)!important}.geo-radio .ant-radio-disabled+span{color:var(--geo-color-neutral-disabled-text)}.geo-radio-host--button .geo-radio.ant-radio-group{gap:0}.geo-radio .ant-radio-button-wrapper{height:40px;line-height:38px;padding:0 16px;border-color:var(--geo-color-neutral-300);color:var(--geo-color-neutral-900);font-size:14px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.geo-radio .ant-radio-button-wrapper:first-child{border-radius:var(--geo-radius) 0 0 var(--geo-radius)}.geo-radio .ant-radio-button-wrapper:last-child{border-radius:0 var(--geo-radius) var(--geo-radius) 0}.geo-radio .ant-radio-button-wrapper:not(:first-child):before{background-color:var(--geo-color-neutral-300)}.geo-radio .ant-radio-button-wrapper:hover{color:var(--geo-color-primary-default)}.geo-radio .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:var(--geo-color-primary-default);border-color:var(--geo-color-primary-default)!important;background:var(--color-primary-surface, var(--geo-color-primary-surface-light))}.geo-radio .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before{background-color:var(--geo-color-primary-default)}.geo-radio .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:var(--geo-color-primary-hover);border-color:var(--geo-color-primary-hover)!important;background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-radio .ant-radio-button-wrapper-disabled{color:var(--geo-color-neutral-disabled-text);background:var(--geo-color-neutral-100)}.geo-radio.ant-radio-group-small .ant-radio-button-wrapper{height:32px;line-height:30px;padding:0 12px;font-size:13px}.geo-radio.ant-radio-group-large .ant-radio-button-wrapper{height:48px;line-height:46px;padding:0 20px;font-size:16px}\n"] }]
70
+ }], propDecorators: { options: [{
71
+ type: Input
72
+ }], label: [{
73
+ type: Input
74
+ }], size: [{
75
+ type: Input
76
+ }], layout: [{
77
+ type: Input
78
+ }], buttonStyle: [{
79
+ type: Input
80
+ }], buttonAppearance: [{
81
+ type: Input
82
+ }], disabled: [{
83
+ type: Input
84
+ }], required: [{
85
+ type: Input
86
+ }], error: [{
87
+ type: Input
88
+ }], errorMessage: [{
89
+ type: Input
90
+ }], block: [{
91
+ type: Input
92
+ }], valueChange: [{
93
+ type: Output
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1yYWRpby9nZW8tcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXJhZGlvL2dlby1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFReEUsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBd0J2QixNQUFNLE9BQU8saUJBQWlCO0lBQ25CLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBQy9CLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxJQUFJLEdBQWlCLFNBQVMsQ0FBQztJQUMvQixNQUFNLEdBQW1CLFlBQVksQ0FBQztJQUMvQyx5REFBeUQ7SUFDaEQsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QiwwQ0FBMEM7SUFDakMsZ0JBQWdCLEdBQTZCLFNBQVMsQ0FBQztJQUN2RCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDbEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUViLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUUxRCxjQUFjLEdBQUcsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFFaEUsS0FBSyxHQUEyQixJQUFJLENBQUM7SUFFN0IsUUFBUSxHQUE0QyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDcEUsU0FBUyxHQUFlLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUVoRCxhQUFhLENBQUMsS0FBNkI7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUE2QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJDO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO3dHQTdDVSxpQkFBaUI7NEZBQWpCLGlCQUFpQixxbEJBUmpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3hDSCx5dUNBOENBLHN3SER2QlksWUFBWSw4QkFBRSxXQUFXLDhWQUFFLGlCQUFpQjs7NEZBbUIzQyxpQkFBaUI7a0JBdEI3QixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLGlCQUd4QyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxnQkFBZ0I7d0JBQ3ZCLCtCQUErQixFQUFFLE9BQU87d0JBQ3hDLCtCQUErQixFQUFFLE9BQU87d0JBQ3hDLGtDQUFrQyxFQUFFLHVCQUF1Qjt3QkFDM0QsZ0NBQWdDLEVBQUUsYUFBYTtxQkFDaEQsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nWm9ycm9BbnRkTW9kdWxlIH0gZnJvbSAnLi4vLi4vbmctem9ycm8vbmctem9ycm8tYW50ZC5tb2R1bGUnO1xuaW1wb3J0IHtcbiAgR2VvUmFkaW9CdXR0b25BcHBlYXJhbmNlLFxuICBHZW9SYWRpb0xheW91dCxcbiAgR2VvUmFkaW9PcHRpb24sXG4gIEdlb1JhZGlvU2l6ZSxcbn0gZnJvbSAnLi9nZW8tcmFkaW8udHlwZXMnO1xuXG5sZXQgdWlSYWRpb0Vycm9ySWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tcmFkaW8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTmdab3Jyb0FudGRNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXJhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1yYWRpby5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1yYWRpby1ob3N0JyxcbiAgICAnW2NsYXNzLmdlby1yYWRpby1ob3N0LS1ibG9ja10nOiAnYmxvY2snLFxuICAgICdbY2xhc3MuZ2VvLXJhZGlvLWhvc3QtLWVycm9yXSc6ICdlcnJvcicsXG4gICAgJ1tjbGFzcy5nZW8tcmFkaW8taG9zdC0tdmVydGljYWxdJzogJ2xheW91dCA9PT0gXCJ2ZXJ0aWNhbFwiJyxcbiAgICAnW2NsYXNzLmdlby1yYWRpby1ob3N0LS1idXR0b25dJzogJ2J1dHRvblN0eWxlJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHZW9SYWRpb0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9SYWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgb3B0aW9uczogR2VvUmFkaW9PcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBzaXplOiBHZW9SYWRpb1NpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGxheW91dDogR2VvUmFkaW9MYXlvdXQgPSAnaG9yaXpvbnRhbCc7XG4gIC8qKiBgdHJ1ZWAg4oaSIGTDuW5nIGBuei1yYWRpby1idXR0b25gIHRoYXkgdsOsIGBuei1yYWRpb2AgKi9cbiAgQElucHV0KCkgYnV0dG9uU3R5bGUgPSBmYWxzZTtcbiAgLyoqIENo4buJIMOhcCBk4bulbmcga2hpIGBidXR0b25TdHlsZTogdHJ1ZWAgKi9cbiAgQElucHV0KCkgYnV0dG9uQXBwZWFyYW5jZTogR2VvUmFkaW9CdXR0b25BcHBlYXJhbmNlID0gJ291dGxpbmUnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgYmxvY2sgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlciB8IG51bGw+KCk7XG5cbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlSWQgPSBgZ2VvLXJhZGlvLWVycm9yLSR7Kyt1aVJhZGlvRXJyb3JJZH1gO1xuXG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA/PyBudWxsO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbn1cbiIsIkBpZiAobGFiZWwpIHtcbiAgPGRpdiBjbGFzcz1cImdlby1yYWRpb19fbGFiZWxcIj5cbiAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImdlby1yYWRpb19fcmVxdWlyZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgIH1cbiAgPC9kaXY+XG59XG5cbjxuei1yYWRpby1ncm91cFxuICBjbGFzcz1cImdlby1yYWRpb1wiXG4gIFtjbGFzcy5nZW8tcmFkaW8tLXZlcnRpY2FsXT1cImxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiXG4gIFtuelNpemVdPVwic2l6ZVwiXG4gIFtuekRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW256QnV0dG9uU3R5bGVdPVwiYnV0dG9uQXBwZWFyYW5jZVwiXG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImVycm9yID8gJ3RydWUnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZXJyb3IgJiYgZXJyb3JNZXNzYWdlID8gZXJyb3JNZXNzYWdlSWQgOiBudWxsXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xuICAgIEBpZiAoYnV0dG9uU3R5bGUpIHtcbiAgICAgIDxsYWJlbFxuICAgICAgICBuei1yYWRpby1idXR0b25cbiAgICAgICAgY2xhc3M9XCJnZW8tcmFkaW9fX2l0ZW1cIlxuICAgICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICBbbnpEaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWQgPz8gZmFsc2VcIlxuICAgICAgPlxuICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bGFiZWxcbiAgICAgICAgbnotcmFkaW9cbiAgICAgICAgY2xhc3M9XCJnZW8tcmFkaW9fX2l0ZW1cIlxuICAgICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICBbbnpEaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWQgPz8gZmFsc2VcIlxuICAgICAgPlxuICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgfVxuICB9XG48L256LXJhZGlvLWdyb3VwPlxuXG5AaWYgKGVycm9yICYmIGVycm9yTWVzc2FnZSkge1xuICA8cCBjbGFzcz1cImdlby1yYWRpb19fZXJyb3JcIiBbaWRdPVwiZXJyb3JNZXNzYWdlSWRcIiByb2xlPVwiYWxlcnRcIj57eyBlcnJvck1lc3NhZ2UgfX08L3A+XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXJhZGlvLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXJhZGlvL2dlby1yYWRpby50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR2VvUmFkaW9TaXplID0gJ2RlZmF1bHQnIHwgJ3NtYWxsJyB8ICdsYXJnZSc7XG5cbmV4cG9ydCB0eXBlIEdlb1JhZGlvTGF5b3V0ID0gJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcblxuLyoqIEtp4buDdSBoaeG7g24gdGjhu4sga2hpIGTDuW5nIHJhZGlvIGJ1dHRvbiDigJQgbWFwIHbhu5tpIGBuekJ1dHRvblN0eWxlYCBj4bunYSBuZy16b3JybyAqL1xuZXhwb3J0IHR5cGUgR2VvUmFkaW9CdXR0b25BcHBlYXJhbmNlID0gJ291dGxpbmUnIHwgJ3NvbGlkJztcblxuZXhwb3J0IGludGVyZmFjZSBHZW9SYWRpb09wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,113 @@
1
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { NgZorroAntdModule } from '../../ng-zorro/ng-zorro-antd.module';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "ng-zorro-antd/select";
9
+ let uiSelectErrorId = 0;
10
+ export class GeoSelectComponent {
11
+ options = [];
12
+ label = '';
13
+ placeholder = 'Chọn giá trị';
14
+ size = 'default';
15
+ mode = 'default';
16
+ disabled = false;
17
+ required = false;
18
+ error = false;
19
+ errorMessage = '';
20
+ allowClear = true;
21
+ showSearch = false;
22
+ block = false;
23
+ width;
24
+ valueChange = new EventEmitter();
25
+ errorMessageId = `geo-select-error-${++uiSelectErrorId}`;
26
+ value = null;
27
+ onChange = () => undefined;
28
+ onTouched = () => undefined;
29
+ get hostWidth() {
30
+ if (this.block || this.width == null) {
31
+ return null;
32
+ }
33
+ return typeof this.width === 'number' ? `${this.width}px` : this.width;
34
+ }
35
+ get controlClassNames() {
36
+ return {
37
+ 'geo-select': true,
38
+ [`geo-select--${this.size}`]: true,
39
+ };
40
+ }
41
+ onValueChange(value) {
42
+ this.value = value;
43
+ this.onChange(value);
44
+ this.onTouched();
45
+ this.valueChange.emit(value);
46
+ }
47
+ writeValue(value) {
48
+ this.value = value;
49
+ }
50
+ registerOnChange(fn) {
51
+ this.onChange = fn;
52
+ }
53
+ registerOnTouched(fn) {
54
+ this.onTouched = fn;
55
+ }
56
+ setDisabledState(isDisabled) {
57
+ this.disabled = isDisabled;
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoSelectComponent, isStandalone: true, selector: "geo-select", inputs: { options: "options", label: "label", placeholder: "placeholder", size: "size", mode: "mode", disabled: "disabled", required: "required", error: "error", errorMessage: "errorMessage", allowClear: "allowClear", showSearch: "showSearch", block: "block", width: "width" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.geo-select-host--default": "size === \"default\"", "class.geo-select-host--small": "size === \"small\"", "class.geo-select-host--block": "block", "class.geo-select-host--error": "error", "style.width": "hostWidth" }, classAttribute: "geo-select-host" }, providers: [
61
+ {
62
+ provide: NG_VALUE_ACCESSOR,
63
+ useExisting: forwardRef(() => GeoSelectComponent),
64
+ multi: true,
65
+ },
66
+ ], ngImport: i0, template: "@if (label) {\n <div class=\"geo-select__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-select__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-select\n [ngClass]=\"controlClassNames\"\n nzDropdownClassName=\"geo-select__dropdown\"\n [nzPlaceHolder]=\"placeholder\"\n [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"allowClear\"\n [nzShowSearch]=\"showSearch\"\n [nzMode]=\"mode\"\n [nzOptionHeightPx]=\"36\"\n [nzOptionOverflowSize]=\"10\"\n [ngModel]=\"value\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n>\n @for (option of options; track option.value) {\n <nz-option\n [nzLabel]=\"option.label\"\n [nzValue]=\"option.value\"\n [nzDisabled]=\"option.disabled ?? false\"\n ></nz-option>\n }\n</nz-select>\n\n@if (error && errorMessage) {\n <p class=\"geo-select__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: [".geo-select-host{display:inline-flex;flex-direction:column;gap:8px;width:413px;max-width:100%;vertical-align:top}.geo-select-host--small{width:72px}geo-select.geo-select-host.geo-select-host--block,.geo-select-host.geo-select-host--block{display:flex;width:100%;max-width:none}.geo-select__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-select__required{color:var(--geo-color-error-default)}.geo-select__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-select{display:block;width:100%}.geo-select .ant-select-selector{border-radius:var(--geo-radius)!important;border-color:var(--geo-color-neutral-300)!important;box-shadow:none!important;padding-inline:8px!important;transition:border-color .15s ease,box-shadow .15s ease}.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:transparent}.geo-select .ant-select-selection-item,.geo-select .ant-select-selection-placeholder{font-size:14px;line-height:1.4}.geo-select .ant-select-selection-placeholder{color:var(--geo-color-neutral-500)}.geo-select .ant-select-selection-item{color:var(--geo-color-neutral-900)}.geo-select .ant-select-arrow{color:var(--geo-color-neutral-500);font-size:12px}.geo-select--default .ant-select-selector{min-height:40px!important;height:40px!important}.geo-select--default .ant-select-selection-search-input{height:38px!important}.geo-select--default .ant-select-selection-item,.geo-select--default .ant-select-selection-placeholder,.geo-select--default.ant-select-multiple .ant-select-selection-item{line-height:38px!important}.geo-select--small .ant-select-selector{min-height:32px!important;height:32px!important;padding-inline:8px!important}.geo-select--small .ant-select-selection-search-input{height:30px!important}.geo-select--small .ant-select-selection-item,.geo-select--small .ant-select-selection-placeholder{line-height:30px!important}.geo-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--geo-color-primary-default)!important}.geo-select.ant-select-focused .ant-select-selector,.geo-select.ant-select-open .ant-select-selector{border-color:var(--geo-color-primary-default)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)!important}.geo-select.ant-select-disabled .ant-select-selector{background:var(--geo-color-neutral-100)!important;border-color:var(--geo-color-neutral-300)!important;color:var(--geo-color-neutral-disabled-text)!important}.geo-select.ant-select-disabled .ant-select-selection-item,.geo-select.ant-select-disabled .ant-select-selection-placeholder{color:var(--geo-color-neutral-disabled-text)!important}.geo-select.ant-select-multiple .ant-select-selector{min-height:40px!important;height:auto!important;padding-block:6px!important;padding-inline:6px 8px!important}.geo-select.ant-select-multiple .ant-select-selection-item{height:28px;margin-top:0;margin-bottom:0;padding:2px 4px 2px 8px;border-radius:var(--geo-radius);border:none;background:var(--geo-color-primary-border);font-size:13px;line-height:24px!important;color:var(--geo-color-neutral-900)}.geo-select.ant-select-multiple.ant-select-disabled .ant-select-selection-item{background:var(--geo-color-neutral-100);color:var(--geo-color-neutral-disabled-text)}.geo-select.ant-select-multiple .ant-select-selection-item-remove{color:var(--geo-color-neutral-500)}.geo-select__dropdown.ant-select-dropdown{border-radius:var(--geo-radius);padding:4px;box-shadow:0 6px 16px #00000014}.geo-select__dropdown .ant-select-item{min-height:36px;padding:8px 12px;border-radius:var(--geo-radius);font-size:14px;line-height:20px;color:var(--geo-color-neutral-900)}.geo-select__dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-select__dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--color-primary-surface, var(--geo-color-primary-surface-light));color:var(--geo-color-primary-default);font-weight:500}.geo-select__dropdown .ant-select-item-option-selected .ant-select-item-option-state{color:var(--geo-color-primary-default)}.geo-select__dropdown .ant-select-item-empty{padding:8px 12px;color:var(--color-ink-muted, var(--geo-color-neutral-500));font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: i3.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i3.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }], encapsulation: i0.ViewEncapsulation.None });
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoSelectComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'geo-select', standalone: true, imports: [CommonModule, FormsModule, NgZorroAntdModule], encapsulation: ViewEncapsulation.None, host: {
71
+ class: 'geo-select-host',
72
+ '[class.geo-select-host--default]': 'size === "default"',
73
+ '[class.geo-select-host--small]': 'size === "small"',
74
+ '[class.geo-select-host--block]': 'block',
75
+ '[class.geo-select-host--error]': 'error',
76
+ '[style.width]': 'hostWidth',
77
+ }, providers: [
78
+ {
79
+ provide: NG_VALUE_ACCESSOR,
80
+ useExisting: forwardRef(() => GeoSelectComponent),
81
+ multi: true,
82
+ },
83
+ ], template: "@if (label) {\n <div class=\"geo-select__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-select__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-select\n [ngClass]=\"controlClassNames\"\n nzDropdownClassName=\"geo-select__dropdown\"\n [nzPlaceHolder]=\"placeholder\"\n [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"allowClear\"\n [nzShowSearch]=\"showSearch\"\n [nzMode]=\"mode\"\n [nzOptionHeightPx]=\"36\"\n [nzOptionOverflowSize]=\"10\"\n [ngModel]=\"value\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n>\n @for (option of options; track option.value) {\n <nz-option\n [nzLabel]=\"option.label\"\n [nzValue]=\"option.value\"\n [nzDisabled]=\"option.disabled ?? false\"\n ></nz-option>\n }\n</nz-select>\n\n@if (error && errorMessage) {\n <p class=\"geo-select__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: [".geo-select-host{display:inline-flex;flex-direction:column;gap:8px;width:413px;max-width:100%;vertical-align:top}.geo-select-host--small{width:72px}geo-select.geo-select-host.geo-select-host--block,.geo-select-host.geo-select-host--block{display:flex;width:100%;max-width:none}.geo-select__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-select__required{color:var(--geo-color-error-default)}.geo-select__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-select{display:block;width:100%}.geo-select .ant-select-selector{border-radius:var(--geo-radius)!important;border-color:var(--geo-color-neutral-300)!important;box-shadow:none!important;padding-inline:8px!important;transition:border-color .15s ease,box-shadow .15s ease}.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:transparent}.geo-select .ant-select-selection-item,.geo-select .ant-select-selection-placeholder{font-size:14px;line-height:1.4}.geo-select .ant-select-selection-placeholder{color:var(--geo-color-neutral-500)}.geo-select .ant-select-selection-item{color:var(--geo-color-neutral-900)}.geo-select .ant-select-arrow{color:var(--geo-color-neutral-500);font-size:12px}.geo-select--default .ant-select-selector{min-height:40px!important;height:40px!important}.geo-select--default .ant-select-selection-search-input{height:38px!important}.geo-select--default .ant-select-selection-item,.geo-select--default .ant-select-selection-placeholder,.geo-select--default.ant-select-multiple .ant-select-selection-item{line-height:38px!important}.geo-select--small .ant-select-selector{min-height:32px!important;height:32px!important;padding-inline:8px!important}.geo-select--small .ant-select-selection-search-input{height:30px!important}.geo-select--small .ant-select-selection-item,.geo-select--small .ant-select-selection-placeholder{line-height:30px!important}.geo-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--geo-color-primary-default)!important}.geo-select.ant-select-focused .ant-select-selector,.geo-select.ant-select-open .ant-select-selector{border-color:var(--geo-color-primary-default)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)!important}.geo-select.ant-select-disabled .ant-select-selector{background:var(--geo-color-neutral-100)!important;border-color:var(--geo-color-neutral-300)!important;color:var(--geo-color-neutral-disabled-text)!important}.geo-select.ant-select-disabled .ant-select-selection-item,.geo-select.ant-select-disabled .ant-select-selection-placeholder{color:var(--geo-color-neutral-disabled-text)!important}.geo-select.ant-select-multiple .ant-select-selector{min-height:40px!important;height:auto!important;padding-block:6px!important;padding-inline:6px 8px!important}.geo-select.ant-select-multiple .ant-select-selection-item{height:28px;margin-top:0;margin-bottom:0;padding:2px 4px 2px 8px;border-radius:var(--geo-radius);border:none;background:var(--geo-color-primary-border);font-size:13px;line-height:24px!important;color:var(--geo-color-neutral-900)}.geo-select.ant-select-multiple.ant-select-disabled .ant-select-selection-item{background:var(--geo-color-neutral-100);color:var(--geo-color-neutral-disabled-text)}.geo-select.ant-select-multiple .ant-select-selection-item-remove{color:var(--geo-color-neutral-500)}.geo-select__dropdown.ant-select-dropdown{border-radius:var(--geo-radius);padding:4px;box-shadow:0 6px 16px #00000014}.geo-select__dropdown .ant-select-item{min-height:36px;padding:8px 12px;border-radius:var(--geo-radius);font-size:14px;line-height:20px;color:var(--geo-color-neutral-900)}.geo-select__dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-select__dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--color-primary-surface, var(--geo-color-primary-surface-light));color:var(--geo-color-primary-default);font-weight:500}.geo-select__dropdown .ant-select-item-option-selected .ant-select-item-option-state{color:var(--geo-color-primary-default)}.geo-select__dropdown .ant-select-item-empty{padding:8px 12px;color:var(--color-ink-muted, var(--geo-color-neutral-500));font-size:14px}\n"] }]
84
+ }], propDecorators: { options: [{
85
+ type: Input
86
+ }], label: [{
87
+ type: Input
88
+ }], placeholder: [{
89
+ type: Input
90
+ }], size: [{
91
+ type: Input
92
+ }], mode: [{
93
+ type: Input
94
+ }], disabled: [{
95
+ type: Input
96
+ }], required: [{
97
+ type: Input
98
+ }], error: [{
99
+ type: Input
100
+ }], errorMessage: [{
101
+ type: Input
102
+ }], allowClear: [{
103
+ type: Input
104
+ }], showSearch: [{
105
+ type: Input
106
+ }], block: [{
107
+ type: Input
108
+ }], width: [{
109
+ type: Input
110
+ }], valueChange: [{
111
+ type: Output
112
+ }] } });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tc2VsZWN0L2dlby1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXNlbGVjdC9nZW8tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7QUFHeEUsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBeUJ4QixNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLE9BQU8sR0FBc0IsRUFBRSxDQUFDO0lBQ2hDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBQzdCLElBQUksR0FBa0IsU0FBUyxDQUFDO0lBQ2hDLElBQUksR0FBa0IsU0FBUyxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLEtBQUssQ0FBbUI7SUFFdkIsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFtRCxDQUFDO0lBRW5GLGNBQWMsR0FBRyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUVsRSxLQUFLLEdBQW9ELElBQUksQ0FBQztJQUV0RCxRQUFRLEdBQXFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUM3RixTQUFTLEdBQWUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBRWhELElBQUksU0FBUztRQUNYLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSTtZQUNsQixDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFzRDtRQUNsRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQXNEO1FBQy9ELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFvRTtRQUNuRixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQzt3R0E1RFUsa0JBQWtCOzRGQUFsQixrQkFBa0IsbXBCQVJsQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNwQ0gsb2lDQW9DQSxpM0lEbEJZLFlBQVksNEhBQUUsV0FBVyw4VkFBRSxpQkFBaUI7OzRGQW9CM0Msa0JBQWtCO2tCQXZCOUIsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxpQkFHeEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixrQ0FBa0MsRUFBRSxvQkFBb0I7d0JBQ3hELGdDQUFnQyxFQUFFLGtCQUFrQjt3QkFDcEQsZ0NBQWdDLEVBQUUsT0FBTzt3QkFDekMsZ0NBQWdDLEVBQUUsT0FBTzt3QkFDekMsZUFBZSxFQUFFLFdBQVc7cUJBQzdCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQgeyBHZW9TZWxlY3RNb2RlLCBHZW9TZWxlY3RPcHRpb24sIEdlb1NlbGVjdFNpemUgfSBmcm9tICcuL2dlby1zZWxlY3QudHlwZXMnO1xuXG5sZXQgdWlTZWxlY3RFcnJvcklkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLXNlbGVjdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ1pvcnJvQW50ZE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdnZW8tc2VsZWN0LWhvc3QnLFxuICAgICdbY2xhc3MuZ2VvLXNlbGVjdC1ob3N0LS1kZWZhdWx0XSc6ICdzaXplID09PSBcImRlZmF1bHRcIicsXG4gICAgJ1tjbGFzcy5nZW8tc2VsZWN0LWhvc3QtLXNtYWxsXSc6ICdzaXplID09PSBcInNtYWxsXCInLFxuICAgICdbY2xhc3MuZ2VvLXNlbGVjdC1ob3N0LS1ibG9ja10nOiAnYmxvY2snLFxuICAgICdbY2xhc3MuZ2VvLXNlbGVjdC1ob3N0LS1lcnJvcl0nOiAnZXJyb3InLFxuICAgICdbc3R5bGUud2lkdGhdJzogJ2hvc3RXaWR0aCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2VvU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb1NlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgb3B0aW9uczogR2VvU2VsZWN0T3B0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnQ2jhu41uIGdpw6EgdHLhu4snO1xuICBASW5wdXQoKSBzaXplOiBHZW9TZWxlY3RTaXplID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBtb2RlOiBHZW9TZWxlY3RNb2RlID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgYWxsb3dDbGVhciA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dTZWFyY2ggPSBmYWxzZTtcbiAgQElucHV0KCkgYmxvY2sgPSBmYWxzZTtcbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXIgfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgbnVsbD4oKTtcblxuICByZWFkb25seSBlcnJvck1lc3NhZ2VJZCA9IGBnZW8tc2VsZWN0LWVycm9yLSR7Kyt1aVNlbGVjdEVycm9ySWR9YDtcblxuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIGdldCBob3N0V2lkdGgoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuYmxvY2sgfHwgdGhpcy53aWR0aCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZW9mIHRoaXMud2lkdGggPT09ICdudW1iZXInID8gYCR7dGhpcy53aWR0aH1weGAgOiB0aGlzLndpZHRoO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2xDbGFzc05hbWVzKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2dlby1zZWxlY3QnOiB0cnVlLFxuICAgICAgW2BnZW8tc2VsZWN0LS0ke3RoaXMuc2l6ZX1gXTogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbn1cbiIsIkBpZiAobGFiZWwpIHtcbiAgPGRpdiBjbGFzcz1cImdlby1zZWxlY3RfX2xhYmVsXCI+XG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tc2VsZWN0X19yZXF1aXJlZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPio8L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbn1cblxuPG56LXNlbGVjdFxuICBbbmdDbGFzc109XCJjb250cm9sQ2xhc3NOYW1lc1wiXG4gIG56RHJvcGRvd25DbGFzc05hbWU9XCJnZW8tc2VsZWN0X19kcm9wZG93blwiXG4gIFtuelBsYWNlSG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgW256RGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbbnpBbGxvd0NsZWFyXT1cImFsbG93Q2xlYXJcIlxuICBbbnpTaG93U2VhcmNoXT1cInNob3dTZWFyY2hcIlxuICBbbnpNb2RlXT1cIm1vZGVcIlxuICBbbnpPcHRpb25IZWlnaHRQeF09XCIzNlwiXG4gIFtuek9wdGlvbk92ZXJmbG93U2l6ZV09XCIxMFwiXG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImVycm9yID8gJ3RydWUnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZXJyb3IgJiYgZXJyb3JNZXNzYWdlID8gZXJyb3JNZXNzYWdlSWQgOiBudWxsXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbj5cbiAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xuICAgIDxuei1vcHRpb25cbiAgICAgIFtuekxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW256RGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkID8/IGZhbHNlXCJcbiAgICA+PC9uei1vcHRpb24+XG4gIH1cbjwvbnotc2VsZWN0PlxuXG5AaWYgKGVycm9yICYmIGVycm9yTWVzc2FnZSkge1xuICA8cCBjbGFzcz1cImdlby1zZWxlY3RfX2Vycm9yXCIgW2lkXT1cImVycm9yTWVzc2FnZUlkXCIgcm9sZT1cImFsZXJ0XCI+e3sgZXJyb3JNZXNzYWdlIH19PC9wPlxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXNlbGVjdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1zZWxlY3QvZ2VvLXNlbGVjdC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR2VvU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JyB8ICdzbWFsbCc7XG5cbmV4cG9ydCB0eXBlIEdlb1NlbGVjdE1vZGUgPSAnZGVmYXVsdCcgfCAnbXVsdGlwbGUnIHwgJ3RhZ3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlb1NlbGVjdE9wdGlvbjxUID0gc3RyaW5nIHwgbnVtYmVyPiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBUO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { NzSliderModule } from 'ng-zorro-antd/slider';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "ng-zorro-antd/slider";
7
+ /**
8
+ * Slider (opacity / range) — wrap `nz-slider`. Domain dùng `geo-slider`, không import NzSliderModule.
9
+ */
10
+ export class GeoSliderComponent {
11
+ value = 0;
12
+ min = 0;
13
+ max = 100;
14
+ step = 1;
15
+ disabled = false;
16
+ tipFormatter;
17
+ valueChange = new EventEmitter();
18
+ onChange(next) {
19
+ this.value = next;
20
+ this.valueChange.emit(next);
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: GeoSliderComponent, isStandalone: true, selector: "geo-slider", inputs: { value: "value", min: "min", max: "max", step: "step", disabled: "disabled", tipFormatter: "tipFormatter" }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "geo-slider-host" }, ngImport: i0, template: "<div class=\"geo-slider\">\n <nz-slider\n [ngModel]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n [nzMin]=\"min\"\n [nzMax]=\"max\"\n [nzStep]=\"step\"\n [nzDisabled]=\"disabled\"\n [nzTipFormatter]=\"tipFormatter\"\n ></nz-slider>\n</div>\n", styles: [".geo-slider-host{display:block;width:100%}.geo-slider{width:100%;padding:0 4px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzSliderModule }, { kind: "component", type: i2.NzSliderComponent, selector: "nz-slider", inputs: ["nzDisabled", "nzDots", "nzIncluded", "nzRange", "nzVertical", "nzReverse", "nzDefaultValue", "nzMarks", "nzMax", "nzMin", "nzStep", "nzTooltipVisible", "nzTooltipPlacement", "nzTipFormatter"], outputs: ["nzOnAfterChange"], exportAs: ["nzSlider"] }], encapsulation: i0.ViewEncapsulation.None });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoSliderComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'geo-slider', standalone: true, imports: [FormsModule, NzSliderModule], encapsulation: ViewEncapsulation.None, host: { class: 'geo-slider-host' }, template: "<div class=\"geo-slider\">\n <nz-slider\n [ngModel]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n [nzMin]=\"min\"\n [nzMax]=\"max\"\n [nzStep]=\"step\"\n [nzDisabled]=\"disabled\"\n [nzTipFormatter]=\"tipFormatter\"\n ></nz-slider>\n</div>\n", styles: [".geo-slider-host{display:block;width:100%}.geo-slider{width:100%;padding:0 4px}\n"] }]
28
+ }], propDecorators: { value: [{
29
+ type: Input
30
+ }], min: [{
31
+ type: Input
32
+ }], max: [{
33
+ type: Input
34
+ }], step: [{
35
+ type: Input
36
+ }], disabled: [{
37
+ type: Input
38
+ }], tipFormatter: [{
39
+ type: Input
40
+ }], valueChange: [{
41
+ type: Output
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tc2xpZGVyL2dlby1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXNsaWRlci9nZW8tc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUV0RDs7R0FFRztBQVVILE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDUixHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ1YsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsWUFBWSxDQUE2QjtJQUV4QyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVuRCxRQUFRLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO3dHQWJVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLGtSQ2hCL0IsK1FBV0EsMElERFksV0FBVyw4VkFBRSxjQUFjOzs0RkFNMUIsa0JBQWtCO2tCQVQ5QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLGlCQUd2QixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFOzhCQUd6QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTnpTbGlkZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NsaWRlcic7XG5cbi8qKlxuICogU2xpZGVyIChvcGFjaXR5IC8gcmFuZ2UpIOKAlCB3cmFwIGBuei1zbGlkZXJgLiBEb21haW4gZMO5bmcgYGdlby1zbGlkZXJgLCBraMO0bmcgaW1wb3J0IE56U2xpZGVyTW9kdWxlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tc2xpZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOelNsaWRlck1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1zbGlkZXIuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnZ2VvLXNsaWRlci1ob3N0JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9TbGlkZXJDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZSA9IDA7XG4gIEBJbnB1dCgpIG1pbiA9IDA7XG4gIEBJbnB1dCgpIG1heCA9IDEwMDtcbiAgQElucHV0KCkgc3RlcCA9IDE7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpcEZvcm1hdHRlcj86ICh2YWx1ZTogbnVtYmVyKSA9PiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgb25DaGFuZ2UobmV4dDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5leHQ7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5leHQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLXNsaWRlclwiPlxuICA8bnotc2xpZGVyXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgIFtuek1pbl09XCJtaW5cIlxuICAgIFtuek1heF09XCJtYXhcIlxuICAgIFtuelN0ZXBdPVwic3RlcFwiXG4gICAgW256RGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuelRpcEZvcm1hdHRlcl09XCJ0aXBGb3JtYXR0ZXJcIlxuICA+PC9uei1zbGlkZXI+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { GEO_STATUS_COLOR_MAP, GEO_STATUS_LABELS, } from './geo-status-tag.types';
4
+ import * as i0 from "@angular/core";
5
+ export class GeoStatusTagComponent {
6
+ /**
7
+ * Status preset or free-form string.
8
+ * Semantic: success | primary | error | warning | info | teal | neutral
9
+ * Legacy: completed | cancelled | in_progress | adjusting
10
+ */
11
+ status = 'success';
12
+ /** Override label text. */
13
+ label;
14
+ /** Show leading status dot (design default). */
15
+ showDot = true;
16
+ get resolvedColor() {
17
+ if (this.status in GEO_STATUS_COLOR_MAP) {
18
+ return GEO_STATUS_COLOR_MAP[this.status];
19
+ }
20
+ const normalized = this.status
21
+ .toLowerCase()
22
+ .replace(/\s+/g, '_')
23
+ .normalize('NFD')
24
+ .replace(/[\u0300-\u036f]/g, '');
25
+ if (normalized.includes('san_sang') || normalized.includes('hoan'))
26
+ return 'success';
27
+ if (normalized.includes('tu_choi') || normalized.includes('huy'))
28
+ return 'error';
29
+ if (normalized.includes('ban_thao') || normalized.includes('dieu_chinh'))
30
+ return 'warning';
31
+ if (normalized.includes('da_nop') || normalized.includes('nop'))
32
+ return 'info';
33
+ if (normalized.includes('tra_ket_qua') || normalized.includes('ket_qua'))
34
+ return 'teal';
35
+ if (normalized.includes('chua_xu_ly') || normalized.includes('cho'))
36
+ return 'neutral';
37
+ if (normalized.includes('muon') || normalized.includes('thuc_hien'))
38
+ return 'primary';
39
+ return 'primary';
40
+ }
41
+ get displayLabel() {
42
+ if (this.label)
43
+ return this.label;
44
+ if (this.status in GEO_STATUS_LABELS) {
45
+ return GEO_STATUS_LABELS[this.status];
46
+ }
47
+ return this.status;
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoStatusTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoStatusTagComponent, isStandalone: true, selector: "geo-status-tag", inputs: { status: "status", label: "label", showDot: "showDot" }, ngImport: i0, template: "<span\n class=\"geo-status-tag\"\n [class]=\"'geo-status-tag geo-status-tag--' + resolvedColor\"\n>\n @if (showDot) {\n <span class=\"geo-status-tag__dot\" aria-hidden=\"true\"></span>\n }\n <span class=\"geo-status-tag__label\">{{ displayLabel }}</span>\n</span>\n", styles: ["@charset \"UTF-8\";.geo-status-tag{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;min-height:24px;padding:4px 12px;border:1px solid transparent;border-radius:999px;font-family:var(--geo-font-family);font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-medium);line-height:var(--geo-line-height-caption);white-space:nowrap;vertical-align:middle}.geo-status-tag__dot{flex-shrink:0;width:6px;height:6px;border-radius:50%}.geo-status-tag__label{display:inline-flex;align-items:center}.geo-status-tag--success{background:var(--geo-color-success-light);border-color:color-mix(in srgb,var(--geo-color-success-default) 45%,var(--geo-color-success-light));color:var(--geo-color-success-dark)}.geo-status-tag--success .geo-status-tag__dot{background:var(--geo-color-success-dark)}.geo-status-tag--primary{background:var(--geo-color-primary-surface-light);border-color:var(--geo-color-primary-border);color:var(--geo-color-primary-default)}.geo-status-tag--primary .geo-status-tag__dot{background:var(--geo-color-primary-default)}.geo-status-tag--error{background:var(--geo-color-error-light);border-color:color-mix(in srgb,var(--geo-color-error-default) 40%,var(--geo-color-error-light));color:var(--geo-color-error-dark)}.geo-status-tag--error .geo-status-tag__dot{background:var(--geo-color-error-dark)}.geo-status-tag--warning{background:var(--geo-color-warning-light);border-color:color-mix(in srgb,var(--geo-color-warning-default) 45%,var(--geo-color-warning-light));color:var(--geo-color-warning-dark)}.geo-status-tag--warning .geo-status-tag__dot{background:var(--geo-color-warning-dark)}.geo-status-tag--info{background:var(--geo-color-info-light);border-color:color-mix(in srgb,var(--geo-color-info-default) 40%,var(--geo-color-info-light));color:var(--geo-color-info-dark)}.geo-status-tag--info .geo-status-tag__dot{background:var(--geo-color-info-dark)}.geo-status-tag--teal{background:var(--geo-color-teal-light);border-color:color-mix(in srgb,var(--geo-color-teal-default) 40%,var(--geo-color-teal-light));color:var(--geo-color-teal-dark)}.geo-status-tag--teal .geo-status-tag__dot{background:var(--geo-color-teal-dark)}.geo-status-tag--neutral{background:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300);color:var(--geo-color-neutral-800)}.geo-status-tag--neutral .geo-status-tag__dot{background:var(--geo-color-neutral-800)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoStatusTagComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'geo-status-tag', standalone: true, imports: [CommonModule], template: "<span\n class=\"geo-status-tag\"\n [class]=\"'geo-status-tag geo-status-tag--' + resolvedColor\"\n>\n @if (showDot) {\n <span class=\"geo-status-tag__dot\" aria-hidden=\"true\"></span>\n }\n <span class=\"geo-status-tag__label\">{{ displayLabel }}</span>\n</span>\n", styles: ["@charset \"UTF-8\";.geo-status-tag{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;min-height:24px;padding:4px 12px;border:1px solid transparent;border-radius:999px;font-family:var(--geo-font-family);font-size:var(--geo-font-size-caption);font-weight:var(--geo-font-weight-medium);line-height:var(--geo-line-height-caption);white-space:nowrap;vertical-align:middle}.geo-status-tag__dot{flex-shrink:0;width:6px;height:6px;border-radius:50%}.geo-status-tag__label{display:inline-flex;align-items:center}.geo-status-tag--success{background:var(--geo-color-success-light);border-color:color-mix(in srgb,var(--geo-color-success-default) 45%,var(--geo-color-success-light));color:var(--geo-color-success-dark)}.geo-status-tag--success .geo-status-tag__dot{background:var(--geo-color-success-dark)}.geo-status-tag--primary{background:var(--geo-color-primary-surface-light);border-color:var(--geo-color-primary-border);color:var(--geo-color-primary-default)}.geo-status-tag--primary .geo-status-tag__dot{background:var(--geo-color-primary-default)}.geo-status-tag--error{background:var(--geo-color-error-light);border-color:color-mix(in srgb,var(--geo-color-error-default) 40%,var(--geo-color-error-light));color:var(--geo-color-error-dark)}.geo-status-tag--error .geo-status-tag__dot{background:var(--geo-color-error-dark)}.geo-status-tag--warning{background:var(--geo-color-warning-light);border-color:color-mix(in srgb,var(--geo-color-warning-default) 45%,var(--geo-color-warning-light));color:var(--geo-color-warning-dark)}.geo-status-tag--warning .geo-status-tag__dot{background:var(--geo-color-warning-dark)}.geo-status-tag--info{background:var(--geo-color-info-light);border-color:color-mix(in srgb,var(--geo-color-info-default) 40%,var(--geo-color-info-light));color:var(--geo-color-info-dark)}.geo-status-tag--info .geo-status-tag__dot{background:var(--geo-color-info-dark)}.geo-status-tag--teal{background:var(--geo-color-teal-light);border-color:color-mix(in srgb,var(--geo-color-teal-default) 40%,var(--geo-color-teal-light));color:var(--geo-color-teal-dark)}.geo-status-tag--teal .geo-status-tag__dot{background:var(--geo-color-teal-dark)}.geo-status-tag--neutral{background:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300);color:var(--geo-color-neutral-800)}.geo-status-tag--neutral .geo-status-tag__dot{background:var(--geo-color-neutral-800)}\n"] }]
55
+ }], propDecorators: { status: [{
56
+ type: Input
57
+ }], label: [{
58
+ type: Input
59
+ }], showDot: [{
60
+ type: Input
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXN0YXR1cy10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0YXR1cy10YWcvZ2VvLXN0YXR1cy10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0YXR1cy10YWcvZ2VvLXN0YXR1cy10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsaUJBQWlCLEdBR2xCLE1BQU0sd0JBQXdCLENBQUM7O0FBU2hDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7T0FJRztJQUNNLE1BQU0sR0FBNkIsU0FBUyxDQUFDO0lBQ3RELDJCQUEyQjtJQUNsQixLQUFLLENBQVU7SUFDeEIsZ0RBQWdEO0lBQ3ZDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFeEIsSUFBSSxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBeUIsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTTthQUMzQixXQUFXLEVBQUU7YUFDYixPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQzthQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNyRixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLE9BQU8sQ0FBQztRQUNqRixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMzRixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUMvRSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUN4RixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUN0RixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUN0RixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUF5QixDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO3dHQXZDVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiw0SUNoQmxDLG1SQVNBLG81RURHWSxZQUFZOzs0RkFJWCxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzhCQVVkLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEdFT19TVEFUVVNfQ09MT1JfTUFQLFxuICBHRU9fU1RBVFVTX0xBQkVMUyxcbiAgR2VvU3RhdHVzQ29sb3IsXG4gIEdlb1N0YXR1c1ByZXNldCxcbn0gZnJvbSAnLi9nZW8tc3RhdHVzLXRhZy50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1zdGF0dXMtdGFnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tc3RhdHVzLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tc3RhdHVzLXRhZy5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEdlb1N0YXR1c1RhZ0NvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBTdGF0dXMgcHJlc2V0IG9yIGZyZWUtZm9ybSBzdHJpbmcuXG4gICAqIFNlbWFudGljOiBzdWNjZXNzIHwgcHJpbWFyeSB8IGVycm9yIHwgd2FybmluZyB8IGluZm8gfCB0ZWFsIHwgbmV1dHJhbFxuICAgKiBMZWdhY3k6IGNvbXBsZXRlZCB8IGNhbmNlbGxlZCB8IGluX3Byb2dyZXNzIHwgYWRqdXN0aW5nXG4gICAqL1xuICBASW5wdXQoKSBzdGF0dXM6IEdlb1N0YXR1c1ByZXNldCB8IHN0cmluZyA9ICdzdWNjZXNzJztcbiAgLyoqIE92ZXJyaWRlIGxhYmVsIHRleHQuICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICAvKiogU2hvdyBsZWFkaW5nIHN0YXR1cyBkb3QgKGRlc2lnbiBkZWZhdWx0KS4gKi9cbiAgQElucHV0KCkgc2hvd0RvdCA9IHRydWU7XG5cbiAgZ2V0IHJlc29sdmVkQ29sb3IoKTogR2VvU3RhdHVzQ29sb3Ige1xuICAgIGlmICh0aGlzLnN0YXR1cyBpbiBHRU9fU1RBVFVTX0NPTE9SX01BUCkge1xuICAgICAgcmV0dXJuIEdFT19TVEFUVVNfQ09MT1JfTUFQW3RoaXMuc3RhdHVzIGFzIEdlb1N0YXR1c1ByZXNldF07XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHRoaXMuc3RhdHVzXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJ18nKVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XG5cbiAgICBpZiAobm9ybWFsaXplZC5pbmNsdWRlcygnc2FuX3NhbmcnKSB8fCBub3JtYWxpemVkLmluY2x1ZGVzKCdob2FuJykpIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgaWYgKG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3R1X2Nob2knKSB8fCBub3JtYWxpemVkLmluY2x1ZGVzKCdodXknKSkgcmV0dXJuICdlcnJvcic7XG4gICAgaWYgKG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2Jhbl90aGFvJykgfHwgbm9ybWFsaXplZC5pbmNsdWRlcygnZGlldV9jaGluaCcpKSByZXR1cm4gJ3dhcm5pbmcnO1xuICAgIGlmIChub3JtYWxpemVkLmluY2x1ZGVzKCdkYV9ub3AnKSB8fCBub3JtYWxpemVkLmluY2x1ZGVzKCdub3AnKSkgcmV0dXJuICdpbmZvJztcbiAgICBpZiAobm9ybWFsaXplZC5pbmNsdWRlcygndHJhX2tldF9xdWEnKSB8fCBub3JtYWxpemVkLmluY2x1ZGVzKCdrZXRfcXVhJykpIHJldHVybiAndGVhbCc7XG4gICAgaWYgKG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2NodWFfeHVfbHknKSB8fCBub3JtYWxpemVkLmluY2x1ZGVzKCdjaG8nKSkgcmV0dXJuICduZXV0cmFsJztcbiAgICBpZiAobm9ybWFsaXplZC5pbmNsdWRlcygnbXVvbicpIHx8IG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3RodWNfaGllbicpKSByZXR1cm4gJ3ByaW1hcnknO1xuICAgIHJldHVybiAncHJpbWFyeSc7XG4gIH1cblxuICBnZXQgZGlzcGxheUxhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubGFiZWwpIHJldHVybiB0aGlzLmxhYmVsO1xuICAgIGlmICh0aGlzLnN0YXR1cyBpbiBHRU9fU1RBVFVTX0xBQkVMUykge1xuICAgICAgcmV0dXJuIEdFT19TVEFUVVNfTEFCRUxTW3RoaXMuc3RhdHVzIGFzIEdlb1N0YXR1c1ByZXNldF07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXR1cztcbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJnZW8tc3RhdHVzLXRhZ1wiXG4gIFtjbGFzc109XCInZ2VvLXN0YXR1cy10YWcgZ2VvLXN0YXR1cy10YWctLScgKyByZXNvbHZlZENvbG9yXCJcbj5cbiAgQGlmIChzaG93RG90KSB7XG4gICAgPHNwYW4gY2xhc3M9XCJnZW8tc3RhdHVzLXRhZ19fZG90XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICB9XG4gIDxzcGFuIGNsYXNzPVwiZ2VvLXN0YXR1cy10YWdfX2xhYmVsXCI+e3sgZGlzcGxheUxhYmVsIH19PC9zcGFuPlxuPC9zcGFuPlxuIl19
@@ -0,0 +1,30 @@
1
+ /** Map legacy / alias presets → semantic color. */
2
+ export const GEO_STATUS_COLOR_MAP = {
3
+ success: 'success',
4
+ primary: 'primary',
5
+ error: 'error',
6
+ warning: 'warning',
7
+ info: 'info',
8
+ teal: 'teal',
9
+ neutral: 'neutral',
10
+ completed: 'success',
11
+ cancelled: 'error',
12
+ in_progress: 'primary',
13
+ adjusting: 'warning',
14
+ };
15
+ export const GEO_STATUS_LABELS = {
16
+ success: 'Sẵn sàng',
17
+ primary: 'Đang mượn',
18
+ error: 'Từ chối',
19
+ warning: 'Bản nháp',
20
+ info: 'Đã nộp',
21
+ teal: 'Trả kết quả',
22
+ neutral: 'Chưa xử lý',
23
+ completed: 'Hoàn thành',
24
+ cancelled: 'Hủy bỏ',
25
+ in_progress: 'Đang thực hiện',
26
+ adjusting: 'Đang điều chỉnh',
27
+ };
28
+ /** @deprecated Use GEO_STATUS_LABELS */
29
+ export const UI_STATUS_LABELS = GEO_STATUS_LABELS;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXN0YXR1cy10YWcudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tc3RhdHVzLXRhZy9nZW8tc3RhdHVzLXRhZy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUE0QztJQUMzRSxPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVBQUUsU0FBUztJQUNwQixTQUFTLEVBQUUsT0FBTztJQUNsQixXQUFXLEVBQUUsU0FBUztJQUN0QixTQUFTLEVBQUUsU0FBUztDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9DO0lBQ2hFLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLE9BQU8sRUFBRSxVQUFVO0lBQ25CLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLGFBQWE7SUFDbkIsT0FBTyxFQUFFLFlBQVk7SUFDckIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsU0FBUyxFQUFFLFFBQVE7SUFDbkIsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCLENBQUM7QUFFRix3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlbWFudGljIGNvbG9yIHZhcmlhbnRzIGZvciBzdGF0dXMgYmFkZ2VzIChkZXNpZ246IFN0YXR1cyBCYWRnZSBDb2xvcnMpLlxuICovXG5leHBvcnQgdHlwZSBHZW9TdGF0dXNDb2xvciA9XG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ2Vycm9yJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdpbmZvJ1xuICB8ICd0ZWFsJ1xuICB8ICduZXV0cmFsJztcblxuLyoqXG4gKiBQcmVzZXQga2V5cyDigJQgc2VtYW50aWMgY29sb3JzICsgbGVnYWN5IGFsaWFzZXMgdXNlZCBieSB0YWJsZXMvZm9ybXMuXG4gKi9cbmV4cG9ydCB0eXBlIEdlb1N0YXR1c1ByZXNldCA9XG4gIHwgR2VvU3RhdHVzQ29sb3JcbiAgfCAnY29tcGxldGVkJ1xuICB8ICdjYW5jZWxsZWQnXG4gIHwgJ2luX3Byb2dyZXNzJ1xuICB8ICdhZGp1c3RpbmcnO1xuXG4vKiogTWFwIGxlZ2FjeSAvIGFsaWFzIHByZXNldHMg4oaSIHNlbWFudGljIGNvbG9yLiAqL1xuZXhwb3J0IGNvbnN0IEdFT19TVEFUVVNfQ09MT1JfTUFQOiBSZWNvcmQ8R2VvU3RhdHVzUHJlc2V0LCBHZW9TdGF0dXNDb2xvcj4gPSB7XG4gIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgcHJpbWFyeTogJ3ByaW1hcnknLFxuICBlcnJvcjogJ2Vycm9yJyxcbiAgd2FybmluZzogJ3dhcm5pbmcnLFxuICBpbmZvOiAnaW5mbycsXG4gIHRlYWw6ICd0ZWFsJyxcbiAgbmV1dHJhbDogJ25ldXRyYWwnLFxuICBjb21wbGV0ZWQ6ICdzdWNjZXNzJyxcbiAgY2FuY2VsbGVkOiAnZXJyb3InLFxuICBpbl9wcm9ncmVzczogJ3ByaW1hcnknLFxuICBhZGp1c3Rpbmc6ICd3YXJuaW5nJyxcbn07XG5cbmV4cG9ydCBjb25zdCBHRU9fU1RBVFVTX0xBQkVMUzogUmVjb3JkPEdlb1N0YXR1c1ByZXNldCwgc3RyaW5nPiA9IHtcbiAgc3VjY2VzczogJ1PhurVuIHPDoG5nJyxcbiAgcHJpbWFyeTogJ8SQYW5nIG3GsOG7o24nLFxuICBlcnJvcjogJ1Thu6sgY2jhu5FpJyxcbiAgd2FybmluZzogJ0LhuqNuIG5ow6FwJyxcbiAgaW5mbzogJ8SQw6MgbuG7mXAnLFxuICB0ZWFsOiAnVHLhuqMga+G6v3QgcXXhuqMnLFxuICBuZXV0cmFsOiAnQ2jGsGEgeOG7rSBsw70nLFxuICBjb21wbGV0ZWQ6ICdIb8OgbiB0aMOgbmgnLFxuICBjYW5jZWxsZWQ6ICdI4buneSBi4buPJyxcbiAgaW5fcHJvZ3Jlc3M6ICfEkGFuZyB0aOG7sWMgaGnhu4duJyxcbiAgYWRqdXN0aW5nOiAnxJBhbmcgxJFp4buBdSBjaOG7iW5oJyxcbn07XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgR0VPX1NUQVRVU19MQUJFTFMgKi9cbmV4cG9ydCBjb25zdCBVSV9TVEFUVVNfTEFCRUxTID0gR0VPX1NUQVRVU19MQUJFTFM7XG4iXX0=