@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,94 @@
1
+ import { Component, ContentChildren, Directive, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgZorroAntdModule } from '../../ng-zorro/ng-zorro-antd.module';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "ng-zorro-antd/tabs";
7
+ export class GeoTabDirective {
8
+ template;
9
+ key;
10
+ constructor(template) {
11
+ this.template = template;
12
+ }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTabDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: GeoTabDirective, isStandalone: true, selector: "[uiTab]", inputs: { key: ["uiTab", "key"] }, ngImport: i0 });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTabDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: '[uiTab]',
20
+ standalone: true,
21
+ }]
22
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { key: [{
23
+ type: Input,
24
+ args: ['uiTab']
25
+ }] } });
26
+ export class GeoTabsComponent {
27
+ items = [];
28
+ type = 'line';
29
+ size = 'default';
30
+ selectedIndex = 0;
31
+ selectedKey;
32
+ centered = false;
33
+ animated = true;
34
+ selectedIndexChange = new EventEmitter();
35
+ selectedKeyChange = new EventEmitter();
36
+ tabChange = new EventEmitter();
37
+ tabTemplates;
38
+ get resolvedSelectedIndex() {
39
+ if (this.selectedKey) {
40
+ const index = this.items.findIndex((item) => item.key === this.selectedKey);
41
+ if (index >= 0) {
42
+ return index;
43
+ }
44
+ }
45
+ return this.selectedIndex;
46
+ }
47
+ getTemplate(key) {
48
+ return this.tabTemplates?.find((tab) => tab.key === key)?.template ?? null;
49
+ }
50
+ onSelectedIndexChange(index) {
51
+ this.selectedIndex = index;
52
+ const key = this.items[index]?.key ?? '';
53
+ this.selectedKey = key || undefined;
54
+ this.selectedIndexChange.emit(index);
55
+ if (key) {
56
+ this.selectedKeyChange.emit(key);
57
+ this.tabChange.emit({ index, key });
58
+ }
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoTabsComponent, isStandalone: true, selector: "geo-tabs", inputs: { items: "items", type: "type", size: "size", selectedIndex: "selectedIndex", selectedKey: "selectedKey", centered: "centered", animated: "animated" }, outputs: { selectedIndexChange: "selectedIndexChange", selectedKeyChange: "selectedKeyChange", tabChange: "tabChange" }, host: { properties: { "class.geo-tabs-host--card": "type === \"card\"", "class.geo-tabs-host--line": "type === \"line\"" }, classAttribute: "geo-tabs-host" }, queries: [{ propertyName: "tabTemplates", predicate: GeoTabDirective }], ngImport: i0, template: "<nz-tabset\n class=\"geo-tabs\"\n [class.geo-tabs--card]=\"type === 'card'\"\n [class.geo-tabs--line]=\"type === 'line'\"\n [nzType]=\"type\"\n [nzSize]=\"size\"\n [nzSelectedIndex]=\"resolvedSelectedIndex\"\n [nzCentered]=\"centered\"\n [nzAnimated]=\"animated\"\n (nzSelectedIndexChange)=\"onSelectedIndexChange($event)\"\n>\n @for (item of items; track item.key) {\n <nz-tab [nzTitle]=\"item.title\" [nzDisabled]=\"item.disabled ?? false\">\n @if (getTemplate(item.key); as tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\"></ng-container>\n }\n </nz-tab>\n }\n</nz-tabset>\n", styles: ["@charset \"UTF-8\";.geo-tabs-host{display:block;width:100%;min-width:0;max-width:100%}.geo-tabs.ant-tabs{color:var(--geo-color-neutral-900);min-width:0;width:100%}.geo-tabs .ant-tabs-nav{margin-bottom:16px}.geo-tabs .ant-tabs-nav-wrap{min-width:0;flex:1 1 auto}.geo-tabs .ant-tabs-nav-list{flex-wrap:nowrap}.geo-tabs .ant-tabs-tab{padding:10px 16px;font-size:14px;line-height:20px;color:var(--geo-color-neutral-500);transition:color .15s ease}.geo-tabs .ant-tabs-tab:hover{color:var(--geo-color-primary-default)}.geo-tabs .ant-tabs-tab-btn{font-weight:500}.geo-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--geo-color-primary-default)!important;font-weight:600}.geo-tabs .ant-tabs-tab-disabled{color:var(--geo-color-neutral-400)!important;cursor:not-allowed}.geo-tabs .ant-tabs-ink-bar{background:var(--geo-color-primary-default);height:2px}.geo-tabs.ant-tabs-top>.ant-tabs-nav:before,.geo-tabs.ant-tabs-bottom>.ant-tabs-nav:before,.geo-tabs.ant-tabs-top>div>.ant-tabs-nav:before,.geo-tabs.ant-tabs-bottom>div>.ant-tabs-nav:before{border-bottom-color:var(--geo-color-primary-border)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0 4px 0 0;padding:8px 16px;background:var(--geo-color-neutral-100);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius) var(--geo-radius) 0 0;color:var(--geo-color-neutral-500)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{background:var(--geo-color-neutral-white);border-color:var(--geo-color-primary-border);border-bottom-color:var(--geo-color-neutral-white);color:var(--geo-color-primary-default)}.geo-tabs--card .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--geo-color-primary-default)!important}.geo-tabs .ant-tabs-content-holder{color:var(--geo-color-neutral-900);font-size:14px;line-height:22px;min-width:0}.geo-tabs.ant-tabs-small .ant-tabs-tab{padding:6px 12px;font-size:13px}.geo-tabs.ant-tabs-large .ant-tabs-tab{padding:12px 20px;font-size:16px}@media (max-width: 1024px){.geo-tabs .ant-tabs-tab{padding:8px 12px;font-size:13px;line-height:18px}.geo-tabs.ant-tabs-large .ant-tabs-tab{padding:10px 14px;font-size:15px}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{padding:6px 12px}}@media (max-width: 767.98px){.geo-tabs .ant-tabs-nav{margin-bottom:12px}.geo-tabs .ant-tabs-nav-wrap{overflow:visible}.geo-tabs .ant-tabs-nav-list{flex-wrap:wrap;row-gap:0;width:100%;transform:none!important}.geo-tabs .ant-tabs-nav-operations,.geo-tabs .ant-tabs-ink-bar{display:none!important}.geo-tabs .ant-tabs-tab{height:auto;min-width:0;max-width:100%;flex:1 1 auto;margin:0;padding:8px 10px;font-size:12px;line-height:1.35;white-space:normal;text-align:center;border-bottom:2px solid transparent}.geo-tabs .ant-tabs-tab-btn{display:inline-block;max-width:100%;white-space:normal;word-break:break-word;line-height:1.35}.geo-tabs .ant-tabs-tab-active{border-bottom-color:var(--geo-color-primary-default)}.geo-tabs.ant-tabs-small .ant-tabs-tab{padding:6px 8px;font-size:12px}.geo-tabs.ant-tabs-large .ant-tabs-tab{padding:8px 12px;font-size:14px}.geo-tabs.ant-tabs-top>.ant-tabs-nav:before,.geo-tabs.ant-tabs-top>div>.ant-tabs-nav:before{left:0;right:0;border-bottom:1px solid var(--geo-color-primary-border)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0 0 4px;flex:1 1 calc(50% - 4px);padding:8px 10px;border-radius:var(--geo-radius);border-bottom-color:var(--geo-color-primary-border)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{border-color:var(--geo-color-primary-default);border-bottom-color:var(--geo-color-primary-default);background:var(--geo-color-neutral-white)}.geo-tabs.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:before,.geo-tabs.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:after,.geo-tabs.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.geo-tabs.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{flex:0 0 0;content:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: i2.NzTabSetComponent, selector: "nz-tabset", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact", "nzDestroyInactiveTabPane"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabset"] }, { kind: "component", type: i2.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }], encapsulation: i0.ViewEncapsulation.None });
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTabsComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'geo-tabs', standalone: true, imports: [CommonModule, NgZorroAntdModule], encapsulation: ViewEncapsulation.None, host: {
66
+ class: 'geo-tabs-host',
67
+ '[class.geo-tabs-host--card]': 'type === "card"',
68
+ '[class.geo-tabs-host--line]': 'type === "line"',
69
+ }, template: "<nz-tabset\n class=\"geo-tabs\"\n [class.geo-tabs--card]=\"type === 'card'\"\n [class.geo-tabs--line]=\"type === 'line'\"\n [nzType]=\"type\"\n [nzSize]=\"size\"\n [nzSelectedIndex]=\"resolvedSelectedIndex\"\n [nzCentered]=\"centered\"\n [nzAnimated]=\"animated\"\n (nzSelectedIndexChange)=\"onSelectedIndexChange($event)\"\n>\n @for (item of items; track item.key) {\n <nz-tab [nzTitle]=\"item.title\" [nzDisabled]=\"item.disabled ?? false\">\n @if (getTemplate(item.key); as tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\"></ng-container>\n }\n </nz-tab>\n }\n</nz-tabset>\n", styles: ["@charset \"UTF-8\";.geo-tabs-host{display:block;width:100%;min-width:0;max-width:100%}.geo-tabs.ant-tabs{color:var(--geo-color-neutral-900);min-width:0;width:100%}.geo-tabs .ant-tabs-nav{margin-bottom:16px}.geo-tabs .ant-tabs-nav-wrap{min-width:0;flex:1 1 auto}.geo-tabs .ant-tabs-nav-list{flex-wrap:nowrap}.geo-tabs .ant-tabs-tab{padding:10px 16px;font-size:14px;line-height:20px;color:var(--geo-color-neutral-500);transition:color .15s ease}.geo-tabs .ant-tabs-tab:hover{color:var(--geo-color-primary-default)}.geo-tabs .ant-tabs-tab-btn{font-weight:500}.geo-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--geo-color-primary-default)!important;font-weight:600}.geo-tabs .ant-tabs-tab-disabled{color:var(--geo-color-neutral-400)!important;cursor:not-allowed}.geo-tabs .ant-tabs-ink-bar{background:var(--geo-color-primary-default);height:2px}.geo-tabs.ant-tabs-top>.ant-tabs-nav:before,.geo-tabs.ant-tabs-bottom>.ant-tabs-nav:before,.geo-tabs.ant-tabs-top>div>.ant-tabs-nav:before,.geo-tabs.ant-tabs-bottom>div>.ant-tabs-nav:before{border-bottom-color:var(--geo-color-primary-border)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0 4px 0 0;padding:8px 16px;background:var(--geo-color-neutral-100);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius) var(--geo-radius) 0 0;color:var(--geo-color-neutral-500)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{background:var(--geo-color-neutral-white);border-color:var(--geo-color-primary-border);border-bottom-color:var(--geo-color-neutral-white);color:var(--geo-color-primary-default)}.geo-tabs--card .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--geo-color-primary-default)!important}.geo-tabs .ant-tabs-content-holder{color:var(--geo-color-neutral-900);font-size:14px;line-height:22px;min-width:0}.geo-tabs.ant-tabs-small .ant-tabs-tab{padding:6px 12px;font-size:13px}.geo-tabs.ant-tabs-large .ant-tabs-tab{padding:12px 20px;font-size:16px}@media (max-width: 1024px){.geo-tabs .ant-tabs-tab{padding:8px 12px;font-size:13px;line-height:18px}.geo-tabs.ant-tabs-large .ant-tabs-tab{padding:10px 14px;font-size:15px}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{padding:6px 12px}}@media (max-width: 767.98px){.geo-tabs .ant-tabs-nav{margin-bottom:12px}.geo-tabs .ant-tabs-nav-wrap{overflow:visible}.geo-tabs .ant-tabs-nav-list{flex-wrap:wrap;row-gap:0;width:100%;transform:none!important}.geo-tabs .ant-tabs-nav-operations,.geo-tabs .ant-tabs-ink-bar{display:none!important}.geo-tabs .ant-tabs-tab{height:auto;min-width:0;max-width:100%;flex:1 1 auto;margin:0;padding:8px 10px;font-size:12px;line-height:1.35;white-space:normal;text-align:center;border-bottom:2px solid transparent}.geo-tabs .ant-tabs-tab-btn{display:inline-block;max-width:100%;white-space:normal;word-break:break-word;line-height:1.35}.geo-tabs .ant-tabs-tab-active{border-bottom-color:var(--geo-color-primary-default)}.geo-tabs.ant-tabs-small .ant-tabs-tab{padding:6px 8px;font-size:12px}.geo-tabs.ant-tabs-large .ant-tabs-tab{padding:8px 12px;font-size:14px}.geo-tabs.ant-tabs-top>.ant-tabs-nav:before,.geo-tabs.ant-tabs-top>div>.ant-tabs-nav:before{left:0;right:0;border-bottom:1px solid var(--geo-color-primary-border)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0 0 4px;flex:1 1 calc(50% - 4px);padding:8px 10px;border-radius:var(--geo-radius);border-bottom-color:var(--geo-color-primary-border)}.geo-tabs--card.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.geo-tabs--card.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{border-color:var(--geo-color-primary-default);border-bottom-color:var(--geo-color-primary-default);background:var(--geo-color-neutral-white)}.geo-tabs.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:before,.geo-tabs.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:after,.geo-tabs.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:before,.geo-tabs.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:after{flex:0 0 0;content:none}}\n"] }]
70
+ }], propDecorators: { items: [{
71
+ type: Input
72
+ }], type: [{
73
+ type: Input
74
+ }], size: [{
75
+ type: Input
76
+ }], selectedIndex: [{
77
+ type: Input
78
+ }], selectedKey: [{
79
+ type: Input
80
+ }], centered: [{
81
+ type: Input
82
+ }], animated: [{
83
+ type: Input
84
+ }], selectedIndexChange: [{
85
+ type: Output
86
+ }], selectedKeyChange: [{
87
+ type: Output
88
+ }], tabChange: [{
89
+ type: Output
90
+ }], tabTemplates: [{
91
+ type: ContentChildren,
92
+ args: [GeoTabDirective]
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRhYnMvZ2VvLXRhYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRhYnMvZ2VvLXRhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUdOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFPeEUsTUFBTSxPQUFPLGVBQWU7SUFHUDtJQUZILEdBQUcsQ0FBVTtJQUU3QixZQUFtQixRQUE4QjtRQUE5QixhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUFHLENBQUM7d0dBSDFDLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dGQUVpQixHQUFHO3NCQUFsQixLQUFLO3VCQUFDLE9BQU87O0FBa0JoQixNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLEtBQUssR0FBaUIsRUFBRSxDQUFDO0lBQ3pCLElBQUksR0FBZ0IsTUFBTSxDQUFDO0lBQzNCLElBQUksR0FBZ0IsU0FBUyxDQUFDO0lBQzlCLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDbEIsV0FBVyxDQUFVO0lBQ3JCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVmLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDakQsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUMvQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWtDLENBQUM7SUFFdkMsWUFBWSxDQUE4QjtJQUU1RSxJQUFJLHFCQUFxQjtRQUN2QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUUsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO3dHQXZDVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix5aEJBYVYsZUFBZSw2QkNuRGxDLHNtQkFtQkEsNHRJRFNZLFlBQVkscU1BQUUsaUJBQWlCOzs0RkFVOUIsZ0JBQWdCO2tCQWI1QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsaUJBRzNCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLDZCQUE2QixFQUFFLGlCQUFpQjt3QkFDaEQsNkJBQTZCLEVBQUUsaUJBQWlCO3FCQUNqRDs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFMkIsWUFBWTtzQkFBN0MsZUFBZTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQgeyBHZW9UYWJJdGVtLCBHZW9UYWJzU2l6ZSwgR2VvVGFic1R5cGUgfSBmcm9tICcuL2dlby10YWJzLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3VpVGFiXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEdlb1RhYkRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgndWlUYWInKSBrZXkhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLXRhYnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ1pvcnJvQW50ZE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tdGFicy5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby10YWJzLWhvc3QnLFxuICAgICdbY2xhc3MuZ2VvLXRhYnMtaG9zdC0tY2FyZF0nOiAndHlwZSA9PT0gXCJjYXJkXCInLFxuICAgICdbY2xhc3MuZ2VvLXRhYnMtaG9zdC0tbGluZV0nOiAndHlwZSA9PT0gXCJsaW5lXCInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9UYWJzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IEdlb1RhYkl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSB0eXBlOiBHZW9UYWJzVHlwZSA9ICdsaW5lJztcbiAgQElucHV0KCkgc2l6ZTogR2VvVGFic1NpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkSW5kZXggPSAwO1xuICBASW5wdXQoKSBzZWxlY3RlZEtleT86IHN0cmluZztcbiAgQElucHV0KCkgY2VudGVyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgYW5pbWF0ZWQgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZEtleUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgdGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OiBudW1iZXI7IGtleTogc3RyaW5nIH0+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHZW9UYWJEaXJlY3RpdmUpIHRhYlRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxHZW9UYWJEaXJlY3RpdmU+O1xuXG4gIGdldCByZXNvbHZlZFNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEtleSkge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5rZXkgPT09IHRoaXMuc2VsZWN0ZWRLZXkpO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICBnZXRUZW1wbGF0ZShrZXk6IHN0cmluZyk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudGFiVGVtcGxhdGVzPy5maW5kKCh0YWIpID0+IHRhYi5rZXkgPT09IGtleSk/LnRlbXBsYXRlID8/IG51bGw7XG4gIH1cblxuICBvblNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgIGNvbnN0IGtleSA9IHRoaXMuaXRlbXNbaW5kZXhdPy5rZXkgPz8gJyc7XG4gICAgdGhpcy5zZWxlY3RlZEtleSA9IGtleSB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgIGlmIChrZXkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRLZXlDaGFuZ2UuZW1pdChrZXkpO1xuICAgICAgdGhpcy50YWJDaGFuZ2UuZW1pdCh7IGluZGV4LCBrZXkgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bnotdGFic2V0XG4gIGNsYXNzPVwiZ2VvLXRhYnNcIlxuICBbY2xhc3MuZ2VvLXRhYnMtLWNhcmRdPVwidHlwZSA9PT0gJ2NhcmQnXCJcbiAgW2NsYXNzLmdlby10YWJzLS1saW5lXT1cInR5cGUgPT09ICdsaW5lJ1wiXG4gIFtuelR5cGVdPVwidHlwZVwiXG4gIFtuelNpemVdPVwic2l6ZVwiXG4gIFtuelNlbGVjdGVkSW5kZXhdPVwicmVzb2x2ZWRTZWxlY3RlZEluZGV4XCJcbiAgW256Q2VudGVyZWRdPVwiY2VudGVyZWRcIlxuICBbbnpBbmltYXRlZF09XCJhbmltYXRlZFwiXG4gIChuelNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwib25TZWxlY3RlZEluZGV4Q2hhbmdlKCRldmVudClcIlxuPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLmtleSkge1xuICAgIDxuei10YWIgW256VGl0bGVdPVwiaXRlbS50aXRsZVwiIFtuekRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPz8gZmFsc2VcIj5cbiAgICAgIEBpZiAoZ2V0VGVtcGxhdGUoaXRlbS5rZXkpOyBhcyB0cGwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICA8L256LXRhYj5cbiAgfVxuPC9uei10YWJzZXQ+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRhYnMudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tdGFicy9nZW8tdGFicy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR2VvVGFic1R5cGUgPSAnbGluZScgfCAnY2FyZCc7XG5cbmV4cG9ydCB0eXBlIEdlb1RhYnNTaXplID0gJ2RlZmF1bHQnIHwgJ2xhcmdlJyB8ICdzbWFsbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvVGFiSXRlbSB7XG4gIGtleTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,85 @@
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 * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ let uiTextareaErrorId = 0;
7
+ export class GeoTextareaComponent {
8
+ label = '';
9
+ placeholder = '';
10
+ rows = 3;
11
+ disabled = false;
12
+ required = false;
13
+ error = false;
14
+ errorMessage = '';
15
+ maxlength;
16
+ block = true;
17
+ valueChange = new EventEmitter();
18
+ errorMessageId = `geo-textarea-error-${++uiTextareaErrorId}`;
19
+ value = '';
20
+ onChange = () => undefined;
21
+ onTouched = () => undefined;
22
+ onInput(value) {
23
+ this.value = value;
24
+ this.onChange(value);
25
+ this.valueChange.emit(value);
26
+ }
27
+ onBlur() {
28
+ this.onTouched();
29
+ }
30
+ writeValue(value) {
31
+ this.value = value ?? '';
32
+ }
33
+ registerOnChange(fn) {
34
+ this.onChange = fn;
35
+ }
36
+ registerOnTouched(fn) {
37
+ this.onTouched = fn;
38
+ }
39
+ setDisabledState(isDisabled) {
40
+ this.disabled = isDisabled;
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoTextareaComponent, isStandalone: true, selector: "geo-textarea", inputs: { label: "label", placeholder: "placeholder", rows: "rows", disabled: "disabled", required: "required", error: "error", errorMessage: "errorMessage", maxlength: "maxlength", block: "block" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.geo-textarea-host--block": "block", "class.geo-textarea-host--error": "error" }, classAttribute: "geo-textarea-host" }, providers: [
44
+ {
45
+ provide: NG_VALUE_ACCESSOR,
46
+ useExisting: forwardRef(() => GeoTextareaComponent),
47
+ multi: true,
48
+ },
49
+ ], ngImport: i0, template: "@if (label) {\n <div class=\"geo-textarea__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-textarea__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<textarea\n class=\"geo-textarea__field\"\n [class.geo-textarea__field--error]=\"error\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [attr.maxlength]=\"maxlength ?? null\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n></textarea>\n\n@if (error && errorMessage) {\n <p class=\"geo-textarea__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: ["@charset \"UTF-8\";.geo-scrollbar{scrollbar-width:thin;scrollbar-color:var(--geo-color-neutral-400) transparent}.geo-scrollbar::-webkit-scrollbar{width:var(--scrollbar-size, 8px);height:var(--scrollbar-size, 8px);background:transparent}.geo-scrollbar::-webkit-scrollbar-track{background:transparent;border-radius:999px}.geo-scrollbar::-webkit-scrollbar-thumb{background-color:var(--geo-color-neutral-400);border-radius:999px;border:2px solid transparent;background-clip:padding-box;min-height:40px}.geo-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--geo-color-neutral-500)}.geo-scrollbar::-webkit-scrollbar-corner{background:transparent}geo-textarea.geo-textarea-host,.geo-textarea-host{display:flex;flex-direction:column;gap:8px;width:100%}.geo-textarea__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-textarea__required{color:var(--geo-color-error-default)}.geo-textarea__field{width:100%;padding:8px;border:1px solid var(--geo-color-neutral-300);border-radius:var(--geo-radius);background:var(--geo-color-neutral-white);font-size:14px;line-height:1.4;color:var(--geo-color-neutral-900);font-family:inherit;box-sizing:border-box;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;scrollbar-width:thin;scrollbar-color:var(--geo-color-neutral-400) transparent}.geo-textarea__field::-webkit-scrollbar{width:var(--scrollbar-size, 8px);height:var(--scrollbar-size, 8px);background:transparent}.geo-textarea__field::-webkit-scrollbar-track{background:transparent;border-radius:999px}.geo-textarea__field::-webkit-scrollbar-thumb{background-color:var(--geo-color-neutral-400);border-radius:999px;border:2px solid transparent;background-clip:padding-box;min-height:40px}.geo-textarea__field::-webkit-scrollbar-thumb:hover{background-color:var(--geo-color-neutral-500)}.geo-textarea__field::-webkit-scrollbar-corner{background:transparent}.geo-textarea__field::placeholder{color:var(--geo-color-neutral-500)}.geo-textarea__field:hover:not(:disabled){border-color:var(--geo-color-primary-default)}.geo-textarea__field:focus{outline:none;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-textarea__field:disabled{background:var(--geo-color-neutral-100);color:var(--geo-color-neutral-disabled-text);cursor:not-allowed}.geo-textarea__field--error{border-color:var(--geo-color-error-default)!important}.geo-textarea__field--error:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-error-default) 12%,transparent)!important}.geo-textarea__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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"] }], encapsulation: i0.ViewEncapsulation.None });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTextareaComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'geo-textarea', standalone: true, imports: [CommonModule, FormsModule], encapsulation: ViewEncapsulation.None, host: {
54
+ class: 'geo-textarea-host',
55
+ '[class.geo-textarea-host--block]': 'block',
56
+ '[class.geo-textarea-host--error]': 'error',
57
+ }, providers: [
58
+ {
59
+ provide: NG_VALUE_ACCESSOR,
60
+ useExisting: forwardRef(() => GeoTextareaComponent),
61
+ multi: true,
62
+ },
63
+ ], template: "@if (label) {\n <div class=\"geo-textarea__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-textarea__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<textarea\n class=\"geo-textarea__field\"\n [class.geo-textarea__field--error]=\"error\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [attr.maxlength]=\"maxlength ?? null\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n></textarea>\n\n@if (error && errorMessage) {\n <p class=\"geo-textarea__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: ["@charset \"UTF-8\";.geo-scrollbar{scrollbar-width:thin;scrollbar-color:var(--geo-color-neutral-400) transparent}.geo-scrollbar::-webkit-scrollbar{width:var(--scrollbar-size, 8px);height:var(--scrollbar-size, 8px);background:transparent}.geo-scrollbar::-webkit-scrollbar-track{background:transparent;border-radius:999px}.geo-scrollbar::-webkit-scrollbar-thumb{background-color:var(--geo-color-neutral-400);border-radius:999px;border:2px solid transparent;background-clip:padding-box;min-height:40px}.geo-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--geo-color-neutral-500)}.geo-scrollbar::-webkit-scrollbar-corner{background:transparent}geo-textarea.geo-textarea-host,.geo-textarea-host{display:flex;flex-direction:column;gap:8px;width:100%}.geo-textarea__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-textarea__required{color:var(--geo-color-error-default)}.geo-textarea__field{width:100%;padding:8px;border:1px solid var(--geo-color-neutral-300);border-radius:var(--geo-radius);background:var(--geo-color-neutral-white);font-size:14px;line-height:1.4;color:var(--geo-color-neutral-900);font-family:inherit;box-sizing:border-box;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;scrollbar-width:thin;scrollbar-color:var(--geo-color-neutral-400) transparent}.geo-textarea__field::-webkit-scrollbar{width:var(--scrollbar-size, 8px);height:var(--scrollbar-size, 8px);background:transparent}.geo-textarea__field::-webkit-scrollbar-track{background:transparent;border-radius:999px}.geo-textarea__field::-webkit-scrollbar-thumb{background-color:var(--geo-color-neutral-400);border-radius:999px;border:2px solid transparent;background-clip:padding-box;min-height:40px}.geo-textarea__field::-webkit-scrollbar-thumb:hover{background-color:var(--geo-color-neutral-500)}.geo-textarea__field::-webkit-scrollbar-corner{background:transparent}.geo-textarea__field::placeholder{color:var(--geo-color-neutral-500)}.geo-textarea__field:hover:not(:disabled){border-color:var(--geo-color-primary-default)}.geo-textarea__field:focus{outline:none;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-textarea__field:disabled{background:var(--geo-color-neutral-100);color:var(--geo-color-neutral-disabled-text);cursor:not-allowed}.geo-textarea__field--error{border-color:var(--geo-color-error-default)!important}.geo-textarea__field--error:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-error-default) 12%,transparent)!important}.geo-textarea__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}\n"] }]
64
+ }], propDecorators: { label: [{
65
+ type: Input
66
+ }], placeholder: [{
67
+ type: Input
68
+ }], rows: [{
69
+ type: Input
70
+ }], disabled: [{
71
+ type: Input
72
+ }], required: [{
73
+ type: Input
74
+ }], error: [{
75
+ type: Input
76
+ }], errorMessage: [{
77
+ type: Input
78
+ }], maxlength: [{
79
+ type: Input
80
+ }], block: [{
81
+ type: Input
82
+ }], valueChange: [{
83
+ type: Output
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRleHRhcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10ZXh0YXJlYS9nZW8tdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRleHRhcmVhL2dlby10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV0RixJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQXNCMUIsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFNBQVMsQ0FBVTtJQUNuQixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBRVosV0FBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFMUMsY0FBYyxHQUFHLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLENBQUM7SUFFdEUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVILFFBQVEsR0FBNEIsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3BELFNBQVMsR0FBZSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFFaEQsT0FBTyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7d0dBNUNVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGljQVJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkMvQkgsMHdCQTBCQSx3dUZEVlksWUFBWSw4QkFBRSxXQUFXOzs0RkFpQnhCLG9CQUFvQjtrQkFwQmhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsaUJBR3JCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsa0NBQWtDLEVBQUUsT0FBTzt3QkFDM0Msa0NBQWtDLEVBQUUsT0FBTztxQkFDNUMsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5sZXQgdWlUZXh0YXJlYUVycm9ySWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tdGV4dGFyZWEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXRleHRhcmVhLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ2VvLXRleHRhcmVhLWhvc3QnLFxuICAgICdbY2xhc3MuZ2VvLXRleHRhcmVhLWhvc3QtLWJsb2NrXSc6ICdibG9jaycsXG4gICAgJ1tjbGFzcy5nZW8tdGV4dGFyZWEtaG9zdC0tZXJyb3JdJzogJ2Vycm9yJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHZW9UZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9UZXh0YXJlYUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgcm93cyA9IDM7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBtYXhsZW5ndGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGJsb2NrID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICByZWFkb25seSBlcnJvck1lc3NhZ2VJZCA9IGBnZW8tdGV4dGFyZWEtZXJyb3ItJHsrK3VpVGV4dGFyZWFFcnJvcklkfWA7XG5cbiAgdmFsdWUgPSAnJztcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG5cbiAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPz8gJyc7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iLCJAaWYgKGxhYmVsKSB7XG4gIDxkaXYgY2xhc3M9XCJnZW8tdGV4dGFyZWFfX2xhYmVsXCI+XG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tdGV4dGFyZWFfX3JlcXVpcmVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuXG48dGV4dGFyZWFcbiAgY2xhc3M9XCJnZW8tdGV4dGFyZWFfX2ZpZWxkXCJcbiAgW2NsYXNzLmdlby10ZXh0YXJlYV9fZmllbGQtLWVycm9yXT1cImVycm9yXCJcbiAgW3Jvd3NdPVwicm93c1wiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGggPz8gbnVsbFwiXG4gIFthdHRyLmFyaWEtaW52YWxpZF09XCJlcnJvciA/ICd0cnVlJyA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImVycm9yICYmIGVycm9yTWVzc2FnZSA/IGVycm9yTWVzc2FnZUlkIDogbnVsbFwiXG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25CbHVyKClcIlxuPjwvdGV4dGFyZWE+XG5cbkBpZiAoZXJyb3IgJiYgZXJyb3JNZXNzYWdlKSB7XG4gIDxwIGNsYXNzPVwiZ2VvLXRleHRhcmVhX19lcnJvclwiIFtpZF09XCJlcnJvck1lc3NhZ2VJZFwiIHJvbGU9XCJhbGVydFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvcD5cbn1cbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NzIconModule } from 'ng-zorro-antd/icon';
4
+ import { GEO_TOAST_DEFAULT_TITLES, GEO_TOAST_ICONS, } from './geo-toast.types';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "ng-zorro-antd/icon";
7
+ /**
8
+ * Toast / notification UI theo design GEO (left accent bar + icon + title + message).
9
+ * Dùng trực tiếp trong template, hoặc qua `GeoToastService` (Ant Design notification).
10
+ */
11
+ export class GeoToastComponent {
12
+ type = 'info';
13
+ title = '';
14
+ message = '';
15
+ closable = true;
16
+ showIcon = true;
17
+ visible = true;
18
+ /** Override Ant Design icon type. */
19
+ icon;
20
+ closed = new EventEmitter();
21
+ get displayTitle() {
22
+ return this.title || GEO_TOAST_DEFAULT_TITLES[this.type];
23
+ }
24
+ get iconType() {
25
+ return this.icon || GEO_TOAST_ICONS[this.type];
26
+ }
27
+ onClose() {
28
+ this.visible = false;
29
+ this.closed.emit();
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoToastComponent, isStandalone: true, selector: "geo-toast", inputs: { type: "type", title: "title", message: "message", closable: "closable", showIcon: "showIcon", visible: "visible", icon: "icon" }, outputs: { closed: "closed" }, host: { properties: { "class.geo-toast-host--hidden": "!visible" }, classAttribute: "geo-toast-host" }, ngImport: i0, template: "@if (visible) {\n <div\n class=\"geo-toast\"\n [class]=\"'geo-toast geo-toast--' + type\"\n role=\"status\"\n [attr.aria-live]=\"type === 'error' ? 'assertive' : 'polite'\"\n >\n <span class=\"geo-toast__accent\" aria-hidden=\"true\"></span>\n\n <div class=\"geo-toast__body\">\n @if (showIcon) {\n <span class=\"geo-toast__icon\" nz-icon [nzType]=\"iconType\" nzTheme=\"fill\"></span>\n }\n\n <div class=\"geo-toast__content\">\n <p class=\"geo-toast__title\">{{ displayTitle }}</p>\n @if (message) {\n <p class=\"geo-toast__message\">{{ message }}</p>\n }\n </div>\n\n @if (closable) {\n <button\n type=\"button\"\n class=\"geo-toast__close\"\n aria-label=\"\u0110\u00F3ng th\u00F4ng b\u00E1o\"\n (click)=\"onClose()\"\n >\n <span nz-icon nzType=\"close\" nzTheme=\"outline\"></span>\n </button>\n }\n </div>\n </div>\n}\n", styles: ["@charset \"UTF-8\";geo-toast.geo-toast-host,.geo-toast-host{display:block;width:100%;max-width:480px}.geo-toast-host--hidden{display:none}.geo-toast{position:relative;display:block;width:100%;box-sizing:border-box;overflow:hidden;border:1px solid transparent;border-radius:var(--geo-radius);font-family:var(--geo-font-family)}.geo-toast__accent{position:absolute;top:0;left:0;bottom:0;width:5px}.geo-toast__body{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 16px;box-sizing:border-box}.geo-toast__icon{display:inline-flex;flex-shrink:0;margin-top:1px;font-size:20px;line-height:1}.geo-toast__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:4px}.geo-toast__title{margin:0;font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-bold);line-height:var(--geo-line-height-body)}.geo-toast__message{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-regular);line-height:var(--geo-line-height-body-small);color:var(--geo-color-neutral-800)}.geo-toast__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;margin-top:1px;padding:0;border:none;background:transparent;cursor:pointer;font-size:12px;line-height:1;opacity:.85}.geo-toast__close:hover{opacity:1}.geo-toast--success{background:var(--geo-color-success-light);border-color:color-mix(in srgb,var(--geo-color-success-default) 45%,var(--geo-color-success-light))}.geo-toast--success .geo-toast__accent{background:var(--geo-color-success-default)}.geo-toast--success .geo-toast__icon,.geo-toast--success .geo-toast__title,.geo-toast--success .geo-toast__close{color:var(--geo-color-success-default)}.geo-toast--error{background:var(--geo-color-error-light);border-color:color-mix(in srgb,var(--geo-color-error-default) 40%,var(--geo-color-error-light))}.geo-toast--error .geo-toast__accent{background:var(--geo-color-error-default)}.geo-toast--error .geo-toast__icon,.geo-toast--error .geo-toast__title,.geo-toast--error .geo-toast__close{color:var(--geo-color-error-default)}.geo-toast--warning{background:var(--geo-color-warning-light);border-color:color-mix(in srgb,var(--geo-color-warning-default) 45%,var(--geo-color-warning-light))}.geo-toast--warning .geo-toast__accent{background:var(--geo-color-warning-default)}.geo-toast--warning .geo-toast__icon,.geo-toast--warning .geo-toast__title,.geo-toast--warning .geo-toast__close{color:var(--geo-color-warning-default)}.geo-toast--info{background:var(--geo-color-info-light);border-color:color-mix(in srgb,var(--geo-color-info-default) 40%,var(--geo-color-info-light))}.geo-toast--info .geo-toast__accent{background:var(--geo-color-info-default)}.geo-toast--info .geo-toast__icon,.geo-toast--info .geo-toast__title,.geo-toast--info .geo-toast__close{color:var(--geo-color-info-default)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], encapsulation: i0.ViewEncapsulation.None });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoToastComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'geo-toast', standalone: true, imports: [CommonModule, NzIconModule], encapsulation: ViewEncapsulation.None, host: {
37
+ class: 'geo-toast-host',
38
+ '[class.geo-toast-host--hidden]': '!visible',
39
+ }, template: "@if (visible) {\n <div\n class=\"geo-toast\"\n [class]=\"'geo-toast geo-toast--' + type\"\n role=\"status\"\n [attr.aria-live]=\"type === 'error' ? 'assertive' : 'polite'\"\n >\n <span class=\"geo-toast__accent\" aria-hidden=\"true\"></span>\n\n <div class=\"geo-toast__body\">\n @if (showIcon) {\n <span class=\"geo-toast__icon\" nz-icon [nzType]=\"iconType\" nzTheme=\"fill\"></span>\n }\n\n <div class=\"geo-toast__content\">\n <p class=\"geo-toast__title\">{{ displayTitle }}</p>\n @if (message) {\n <p class=\"geo-toast__message\">{{ message }}</p>\n }\n </div>\n\n @if (closable) {\n <button\n type=\"button\"\n class=\"geo-toast__close\"\n aria-label=\"\u0110\u00F3ng th\u00F4ng b\u00E1o\"\n (click)=\"onClose()\"\n >\n <span nz-icon nzType=\"close\" nzTheme=\"outline\"></span>\n </button>\n }\n </div>\n </div>\n}\n", styles: ["@charset \"UTF-8\";geo-toast.geo-toast-host,.geo-toast-host{display:block;width:100%;max-width:480px}.geo-toast-host--hidden{display:none}.geo-toast{position:relative;display:block;width:100%;box-sizing:border-box;overflow:hidden;border:1px solid transparent;border-radius:var(--geo-radius);font-family:var(--geo-font-family)}.geo-toast__accent{position:absolute;top:0;left:0;bottom:0;width:5px}.geo-toast__body{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 16px;box-sizing:border-box}.geo-toast__icon{display:inline-flex;flex-shrink:0;margin-top:1px;font-size:20px;line-height:1}.geo-toast__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:4px}.geo-toast__title{margin:0;font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-bold);line-height:var(--geo-line-height-body)}.geo-toast__message{margin:0;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-regular);line-height:var(--geo-line-height-body-small);color:var(--geo-color-neutral-800)}.geo-toast__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;margin-top:1px;padding:0;border:none;background:transparent;cursor:pointer;font-size:12px;line-height:1;opacity:.85}.geo-toast__close:hover{opacity:1}.geo-toast--success{background:var(--geo-color-success-light);border-color:color-mix(in srgb,var(--geo-color-success-default) 45%,var(--geo-color-success-light))}.geo-toast--success .geo-toast__accent{background:var(--geo-color-success-default)}.geo-toast--success .geo-toast__icon,.geo-toast--success .geo-toast__title,.geo-toast--success .geo-toast__close{color:var(--geo-color-success-default)}.geo-toast--error{background:var(--geo-color-error-light);border-color:color-mix(in srgb,var(--geo-color-error-default) 40%,var(--geo-color-error-light))}.geo-toast--error .geo-toast__accent{background:var(--geo-color-error-default)}.geo-toast--error .geo-toast__icon,.geo-toast--error .geo-toast__title,.geo-toast--error .geo-toast__close{color:var(--geo-color-error-default)}.geo-toast--warning{background:var(--geo-color-warning-light);border-color:color-mix(in srgb,var(--geo-color-warning-default) 45%,var(--geo-color-warning-light))}.geo-toast--warning .geo-toast__accent{background:var(--geo-color-warning-default)}.geo-toast--warning .geo-toast__icon,.geo-toast--warning .geo-toast__title,.geo-toast--warning .geo-toast__close{color:var(--geo-color-warning-default)}.geo-toast--info{background:var(--geo-color-info-light);border-color:color-mix(in srgb,var(--geo-color-info-default) 40%,var(--geo-color-info-light))}.geo-toast--info .geo-toast__accent{background:var(--geo-color-info-default)}.geo-toast--info .geo-toast__icon,.geo-toast--info .geo-toast__title,.geo-toast--info .geo-toast__close{color:var(--geo-color-info-default)}\n"] }]
40
+ }], propDecorators: { type: [{
41
+ type: Input
42
+ }], title: [{
43
+ type: Input
44
+ }], message: [{
45
+ type: Input
46
+ }], closable: [{
47
+ type: Input
48
+ }], showIcon: [{
49
+ type: Input
50
+ }], visible: [{
51
+ type: Input
52
+ }], icon: [{
53
+ type: Input
54
+ }], closed: [{
55
+ type: Output
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRvYXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10b2FzdC9nZW8tdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRvYXN0L2dlby10b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsZUFBZSxHQUVoQixNQUFNLG1CQUFtQixDQUFDOzs7QUFFM0I7OztHQUdHO0FBYUgsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixJQUFJLEdBQWlCLE1BQU0sQ0FBQztJQUM1QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLHFDQUFxQztJQUM1QixJQUFJLENBQVU7SUFFYixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU1QyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQzt3R0F2QlUsaUJBQWlCOzRGQUFqQixpQkFBaUIsd1ZDL0I5Qix1OUJBa0NBLCsxRkRaWSxZQUFZLDhCQUFFLFlBQVk7OzRGQVN6QixpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsaUJBR3RCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsZ0NBQWdDLEVBQUUsVUFBVTtxQkFDN0M7OEJBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuaW1wb3J0IHtcbiAgR0VPX1RPQVNUX0RFRkFVTFRfVElUTEVTLFxuICBHRU9fVE9BU1RfSUNPTlMsXG4gIEdlb1RvYXN0VHlwZSxcbn0gZnJvbSAnLi9nZW8tdG9hc3QudHlwZXMnO1xuXG4vKipcbiAqIFRvYXN0IC8gbm90aWZpY2F0aW9uIFVJIHRoZW8gZGVzaWduIEdFTyAobGVmdCBhY2NlbnQgYmFyICsgaWNvbiArIHRpdGxlICsgbWVzc2FnZSkuXG4gKiBEw7luZyB0cuG7sWMgdGnhur9wIHRyb25nIHRlbXBsYXRlLCBob+G6t2MgcXVhIGBHZW9Ub2FzdFNlcnZpY2VgIChBbnQgRGVzaWduIG5vdGlmaWNhdGlvbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby10b2FzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE56SWNvbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXRvYXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ2VvLXRvYXN0LWhvc3QnLFxuICAgICdbY2xhc3MuZ2VvLXRvYXN0LWhvc3QtLWhpZGRlbl0nOiAnIXZpc2libGUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9Ub2FzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6IEdlb1RvYXN0VHlwZSA9ICdpbmZvJztcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgbWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBjbG9zYWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dJY29uID0gdHJ1ZTtcbiAgQElucHV0KCkgdmlzaWJsZSA9IHRydWU7XG4gIC8qKiBPdmVycmlkZSBBbnQgRGVzaWduIGljb24gdHlwZS4gKi9cbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcblxuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGdldCBkaXNwbGF5VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSB8fCBHRU9fVE9BU1RfREVGQVVMVF9USVRMRVNbdGhpcy50eXBlXTtcbiAgfVxuXG4gIGdldCBpY29uVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmljb24gfHwgR0VPX1RPQVNUX0lDT05TW3RoaXMudHlwZV07XG4gIH1cblxuICBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiQGlmICh2aXNpYmxlKSB7XG4gIDxkaXZcbiAgICBjbGFzcz1cImdlby10b2FzdFwiXG4gICAgW2NsYXNzXT1cIidnZW8tdG9hc3QgZ2VvLXRvYXN0LS0nICsgdHlwZVwiXG4gICAgcm9sZT1cInN0YXR1c1wiXG4gICAgW2F0dHIuYXJpYS1saXZlXT1cInR5cGUgPT09ICdlcnJvcicgPyAnYXNzZXJ0aXZlJyA6ICdwb2xpdGUnXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwiZ2VvLXRvYXN0X19hY2NlbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLXRvYXN0X19ib2R5XCI+XG4gICAgICBAaWYgKHNob3dJY29uKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ2VvLXRvYXN0X19pY29uXCIgbnotaWNvbiBbbnpUeXBlXT1cImljb25UeXBlXCIgbnpUaGVtZT1cImZpbGxcIj48L3NwYW4+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tdG9hc3RfX2NvbnRlbnRcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJnZW8tdG9hc3RfX3RpdGxlXCI+e3sgZGlzcGxheVRpdGxlIH19PC9wPlxuICAgICAgICBAaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgICA8cCBjbGFzcz1cImdlby10b2FzdF9fbWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3A+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGNsb3NhYmxlKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImdlby10b2FzdF9fY2xvc2VcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9XCLEkMOzbmcgdGjDtG5nIGLDoW9cIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJjbG9zZVwiIG56VGhlbWU9XCJvdXRsaW5lXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=
@@ -0,0 +1,116 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { NzConfigService } from 'ng-zorro-antd/core/config';
3
+ import { NzNotificationService, } from 'ng-zorro-antd/notification';
4
+ import { GEO_TOAST_DEFAULT_TITLES, } from './geo-toast.types';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Toast service dựa trên `NzNotificationService` (Ant Design).
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * this.toast.success('Thành công!', 'Lưu hồ sơ thành công');
12
+ * this.toast.error('Thất bại!', 'Vui lòng kiểm tra lại', { duration: 0 });
13
+ * ```
14
+ */
15
+ export class GeoToastService {
16
+ notification = inject(NzNotificationService);
17
+ nzConfig = inject(NzConfigService, { optional: true });
18
+ defaults = {
19
+ duration: 4500,
20
+ placement: 'topRight',
21
+ pauseOnHover: true,
22
+ animate: true,
23
+ showIcon: true,
24
+ closable: true,
25
+ };
26
+ /** Cấu hình mặc định toàn cục (duration, placement, …). */
27
+ config(options) {
28
+ if (options.duration != null)
29
+ this.defaults.duration = options.duration;
30
+ if (options.placement != null)
31
+ this.defaults.placement = options.placement;
32
+ if (options.pauseOnHover != null)
33
+ this.defaults.pauseOnHover = options.pauseOnHover;
34
+ if (options.animate != null)
35
+ this.defaults.animate = options.animate;
36
+ this.nzConfig?.set('notification', {
37
+ nzDuration: this.defaults.duration,
38
+ nzPlacement: this.defaults.placement,
39
+ nzMaxStack: options.maxStack,
40
+ nzTop: options.top,
41
+ nzBottom: options.bottom,
42
+ nzPauseOnHover: this.defaults.pauseOnHover,
43
+ nzAnimate: this.defaults.animate,
44
+ });
45
+ }
46
+ success(title, message, options) {
47
+ return this.create('success', title, message, options);
48
+ }
49
+ error(title, message, options) {
50
+ return this.create('error', title, message, options);
51
+ }
52
+ warning(title, message, options) {
53
+ return this.create('warning', title, message, options);
54
+ }
55
+ info(title, message, options) {
56
+ return this.create('info', title, message, options);
57
+ }
58
+ /** API tổng quát — đầy đủ type + options. */
59
+ create(type, title, message, options) {
60
+ return this.open({
61
+ type,
62
+ title: title ?? GEO_TOAST_DEFAULT_TITLES[type],
63
+ message: message ?? '',
64
+ ...options,
65
+ });
66
+ }
67
+ /** Mở toast từ config object. */
68
+ open(config) {
69
+ const type = config.type;
70
+ const title = config.title ?? GEO_TOAST_DEFAULT_TITLES[type];
71
+ const message = config.message ?? '';
72
+ const duration = config.duration ?? this.defaults.duration;
73
+ const placement = config.placement ?? this.defaults.placement;
74
+ const pauseOnHover = config.pauseOnHover ?? this.defaults.pauseOnHover;
75
+ const animate = config.animate ?? this.defaults.animate;
76
+ const showIcon = config.showIcon ?? this.defaults.showIcon;
77
+ const closable = config.closable ?? this.defaults.closable;
78
+ const classList = [
79
+ 'geo-toast-notice',
80
+ `geo-toast-notice--${type}`,
81
+ showIcon ? '' : 'geo-toast-notice--no-icon',
82
+ closable ? '' : 'geo-toast-notice--no-close',
83
+ typeof config.className === 'string' ? config.className : '',
84
+ ]
85
+ .filter(Boolean)
86
+ .join(' ');
87
+ // blank + custom class khi không show icon (ẩn icon mặc định của antd)
88
+ const nzType = showIcon ? type : 'blank';
89
+ return this.notification.create(nzType, title, message, {
90
+ nzDuration: duration,
91
+ nzPlacement: placement,
92
+ nzPauseOnHover: pauseOnHover,
93
+ nzAnimate: animate,
94
+ nzKey: config.key,
95
+ nzStyle: config.style,
96
+ nzClass: classList,
97
+ nzData: config.data,
98
+ nzCloseIcon: closable ? undefined : ' ',
99
+ });
100
+ }
101
+ /** Đóng 1 toast theo messageId (từ NzNotificationRef). */
102
+ remove(id) {
103
+ this.notification.remove(id);
104
+ }
105
+ /** Đóng tất cả toast đang mở. */
106
+ removeAll() {
107
+ this.notification.remove();
108
+ }
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
110
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoToastService, providedIn: 'root' });
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoToastService, decorators: [{
113
+ type: Injectable,
114
+ args: [{ providedIn: 'root' }]
115
+ }] });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRvYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tdG9hc3QvZ2VvLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsd0JBQXdCLEdBS3pCLE1BQU0sbUJBQW1CLENBQUM7O0FBRTNCOzs7Ozs7OztHQVFHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFDVCxZQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0MsUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVoRSxRQUFRLEdBRVo7UUFDRixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUM7SUFFRiwyREFBMkQ7SUFDM0QsTUFBTSxDQUFDLE9BQTZCO1FBQ2xDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUN4RSxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDM0UsSUFBSSxPQUFPLENBQUMsWUFBWSxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3BGLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUVyRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxjQUFjLEVBQUU7WUFDakMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1lBQ3BDLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUM1QixLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDbEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWMsRUFBRSxPQUFnQixFQUFFLE9BQXlCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWMsRUFBRSxPQUFnQixFQUFFLE9BQXlCO1FBQy9ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWMsRUFBRSxPQUFnQixFQUFFLE9BQXlCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWMsRUFBRSxPQUFnQixFQUFFLE9BQXlCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLE1BQU0sQ0FDSixJQUFrQixFQUNsQixLQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsT0FBeUI7UUFFekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSTtZQUNKLEtBQUssRUFBRSxLQUFLLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDO1lBQzlDLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtZQUN0QixHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxNQUFzQjtRQUN6QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUMzRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQzlELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN4RCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFM0QsTUFBTSxTQUFTLEdBQUc7WUFDaEIsa0JBQWtCO1lBQ2xCLHFCQUFxQixJQUFJLEVBQUU7WUFDM0IsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtZQUMzQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO1lBQzVDLE9BQU8sTUFBTSxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDN0Q7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWIsdUVBQXVFO1FBQ3ZFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN0RCxVQUFVLEVBQUUsUUFBUTtZQUNwQixXQUFXLEVBQUUsU0FBUztZQUN0QixjQUFjLEVBQUUsWUFBWTtZQUM1QixTQUFTLEVBQUUsT0FBTztZQUNsQixLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUc7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ3JCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBMEI7WUFDekMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsTUFBTSxDQUFDLEVBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxTQUFTO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO3dHQTlHVSxlQUFlOzRHQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE56Q29uZmlnU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9jb25maWcnO1xuaW1wb3J0IHtcbiAgTnpOb3RpZmljYXRpb25TZXJ2aWNlLFxuICBOek5vdGlmaWNhdGlvblJlZixcbn0gZnJvbSAnbmctem9ycm8tYW50ZC9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtcbiAgR0VPX1RPQVNUX0RFRkFVTFRfVElUTEVTLFxuICBHZW9Ub2FzdENvbmZpZyxcbiAgR2VvVG9hc3RHbG9iYWxDb25maWcsXG4gIEdlb1RvYXN0T3B0aW9ucyxcbiAgR2VvVG9hc3RUeXBlLFxufSBmcm9tICcuL2dlby10b2FzdC50eXBlcyc7XG5cbi8qKlxuICogVG9hc3Qgc2VydmljZSBk4buxYSB0csOqbiBgTnpOb3RpZmljYXRpb25TZXJ2aWNlYCAoQW50IERlc2lnbikuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiB0aGlzLnRvYXN0LnN1Y2Nlc3MoJ1Row6BuaCBjw7RuZyEnLCAnTMawdSBo4buTIHPGoSB0aMOgbmggY8O0bmcnKTtcbiAqIHRoaXMudG9hc3QuZXJyb3IoJ1Ro4bqldCBi4bqhaSEnLCAnVnVpIGzDsm5nIGtp4buDbSB0cmEgbOG6oWknLCB7IGR1cmF0aW9uOiAwIH0pO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgR2VvVG9hc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb24gPSBpbmplY3QoTnpOb3RpZmljYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBuekNvbmZpZyA9IGluamVjdChOekNvbmZpZ1NlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0czogUmVxdWlyZWQ8XG4gICAgUGljazxHZW9Ub2FzdE9wdGlvbnMsICdkdXJhdGlvbicgfCAncGxhY2VtZW50JyB8ICdwYXVzZU9uSG92ZXInIHwgJ2FuaW1hdGUnIHwgJ3Nob3dJY29uJyB8ICdjbG9zYWJsZSc+XG4gID4gPSB7XG4gICAgZHVyYXRpb246IDQ1MDAsXG4gICAgcGxhY2VtZW50OiAndG9wUmlnaHQnLFxuICAgIHBhdXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICBhbmltYXRlOiB0cnVlLFxuICAgIHNob3dJY29uOiB0cnVlLFxuICAgIGNsb3NhYmxlOiB0cnVlLFxuICB9O1xuXG4gIC8qKiBD4bqldSBow6xuaCBt4bq3YyDEkeG7i25oIHRvw6BuIGPhu6VjIChkdXJhdGlvbiwgcGxhY2VtZW50LCDigKYpLiAqL1xuICBjb25maWcob3B0aW9uczogR2VvVG9hc3RHbG9iYWxDb25maWcpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9ucy5kdXJhdGlvbiAhPSBudWxsKSB0aGlzLmRlZmF1bHRzLmR1cmF0aW9uID0gb3B0aW9ucy5kdXJhdGlvbjtcbiAgICBpZiAob3B0aW9ucy5wbGFjZW1lbnQgIT0gbnVsbCkgdGhpcy5kZWZhdWx0cy5wbGFjZW1lbnQgPSBvcHRpb25zLnBsYWNlbWVudDtcbiAgICBpZiAob3B0aW9ucy5wYXVzZU9uSG92ZXIgIT0gbnVsbCkgdGhpcy5kZWZhdWx0cy5wYXVzZU9uSG92ZXIgPSBvcHRpb25zLnBhdXNlT25Ib3ZlcjtcbiAgICBpZiAob3B0aW9ucy5hbmltYXRlICE9IG51bGwpIHRoaXMuZGVmYXVsdHMuYW5pbWF0ZSA9IG9wdGlvbnMuYW5pbWF0ZTtcblxuICAgIHRoaXMubnpDb25maWc/LnNldCgnbm90aWZpY2F0aW9uJywge1xuICAgICAgbnpEdXJhdGlvbjogdGhpcy5kZWZhdWx0cy5kdXJhdGlvbixcbiAgICAgIG56UGxhY2VtZW50OiB0aGlzLmRlZmF1bHRzLnBsYWNlbWVudCxcbiAgICAgIG56TWF4U3RhY2s6IG9wdGlvbnMubWF4U3RhY2ssXG4gICAgICBuelRvcDogb3B0aW9ucy50b3AsXG4gICAgICBuekJvdHRvbTogb3B0aW9ucy5ib3R0b20sXG4gICAgICBuelBhdXNlT25Ib3ZlcjogdGhpcy5kZWZhdWx0cy5wYXVzZU9uSG92ZXIsXG4gICAgICBuekFuaW1hdGU6IHRoaXMuZGVmYXVsdHMuYW5pbWF0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHN1Y2Nlc3ModGl0bGU/OiBzdHJpbmcsIG1lc3NhZ2U/OiBzdHJpbmcsIG9wdGlvbnM/OiBHZW9Ub2FzdE9wdGlvbnMpOiBOek5vdGlmaWNhdGlvblJlZiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKCdzdWNjZXNzJywgdGl0bGUsIG1lc3NhZ2UsIG9wdGlvbnMpO1xuICB9XG5cbiAgZXJyb3IodGl0bGU/OiBzdHJpbmcsIG1lc3NhZ2U/OiBzdHJpbmcsIG9wdGlvbnM/OiBHZW9Ub2FzdE9wdGlvbnMpOiBOek5vdGlmaWNhdGlvblJlZiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKCdlcnJvcicsIHRpdGxlLCBtZXNzYWdlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHdhcm5pbmcodGl0bGU/OiBzdHJpbmcsIG1lc3NhZ2U/OiBzdHJpbmcsIG9wdGlvbnM/OiBHZW9Ub2FzdE9wdGlvbnMpOiBOek5vdGlmaWNhdGlvblJlZiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKCd3YXJuaW5nJywgdGl0bGUsIG1lc3NhZ2UsIG9wdGlvbnMpO1xuICB9XG5cbiAgaW5mbyh0aXRsZT86IHN0cmluZywgbWVzc2FnZT86IHN0cmluZywgb3B0aW9ucz86IEdlb1RvYXN0T3B0aW9ucyk6IE56Tm90aWZpY2F0aW9uUmVmIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoJ2luZm8nLCB0aXRsZSwgbWVzc2FnZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKiogQVBJIHThu5VuZyBxdcOhdCDigJQgxJHhuqd5IMSR4bunIHR5cGUgKyBvcHRpb25zLiAqL1xuICBjcmVhdGUoXG4gICAgdHlwZTogR2VvVG9hc3RUeXBlLFxuICAgIHRpdGxlPzogc3RyaW5nLFxuICAgIG1lc3NhZ2U/OiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEdlb1RvYXN0T3B0aW9uc1xuICApOiBOek5vdGlmaWNhdGlvblJlZiB7XG4gICAgcmV0dXJuIHRoaXMub3Blbih7XG4gICAgICB0eXBlLFxuICAgICAgdGl0bGU6IHRpdGxlID8/IEdFT19UT0FTVF9ERUZBVUxUX1RJVExFU1t0eXBlXSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgPz8gJycsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIE3hu58gdG9hc3QgdOG7qyBjb25maWcgb2JqZWN0LiAqL1xuICBvcGVuKGNvbmZpZzogR2VvVG9hc3RDb25maWcpOiBOek5vdGlmaWNhdGlvblJlZiB7XG4gICAgY29uc3QgdHlwZSA9IGNvbmZpZy50eXBlO1xuICAgIGNvbnN0IHRpdGxlID0gY29uZmlnLnRpdGxlID8/IEdFT19UT0FTVF9ERUZBVUxUX1RJVExFU1t0eXBlXTtcbiAgICBjb25zdCBtZXNzYWdlID0gY29uZmlnLm1lc3NhZ2UgPz8gJyc7XG4gICAgY29uc3QgZHVyYXRpb24gPSBjb25maWcuZHVyYXRpb24gPz8gdGhpcy5kZWZhdWx0cy5kdXJhdGlvbjtcbiAgICBjb25zdCBwbGFjZW1lbnQgPSBjb25maWcucGxhY2VtZW50ID8/IHRoaXMuZGVmYXVsdHMucGxhY2VtZW50O1xuICAgIGNvbnN0IHBhdXNlT25Ib3ZlciA9IGNvbmZpZy5wYXVzZU9uSG92ZXIgPz8gdGhpcy5kZWZhdWx0cy5wYXVzZU9uSG92ZXI7XG4gICAgY29uc3QgYW5pbWF0ZSA9IGNvbmZpZy5hbmltYXRlID8/IHRoaXMuZGVmYXVsdHMuYW5pbWF0ZTtcbiAgICBjb25zdCBzaG93SWNvbiA9IGNvbmZpZy5zaG93SWNvbiA/PyB0aGlzLmRlZmF1bHRzLnNob3dJY29uO1xuICAgIGNvbnN0IGNsb3NhYmxlID0gY29uZmlnLmNsb3NhYmxlID8/IHRoaXMuZGVmYXVsdHMuY2xvc2FibGU7XG5cbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbXG4gICAgICAnZ2VvLXRvYXN0LW5vdGljZScsXG4gICAgICBgZ2VvLXRvYXN0LW5vdGljZS0tJHt0eXBlfWAsXG4gICAgICBzaG93SWNvbiA/ICcnIDogJ2dlby10b2FzdC1ub3RpY2UtLW5vLWljb24nLFxuICAgICAgY2xvc2FibGUgPyAnJyA6ICdnZW8tdG9hc3Qtbm90aWNlLS1uby1jbG9zZScsXG4gICAgICB0eXBlb2YgY29uZmlnLmNsYXNzTmFtZSA9PT0gJ3N0cmluZycgPyBjb25maWcuY2xhc3NOYW1lIDogJycsXG4gICAgXVxuICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgLmpvaW4oJyAnKTtcblxuICAgIC8vIGJsYW5rICsgY3VzdG9tIGNsYXNzIGtoaSBraMO0bmcgc2hvdyBpY29uICjhuqluIGljb24gbeG6t2MgxJHhu4tuaCBj4bunYSBhbnRkKVxuICAgIGNvbnN0IG56VHlwZSA9IHNob3dJY29uID8gdHlwZSA6ICdibGFuayc7XG5cbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb24uY3JlYXRlKG56VHlwZSwgdGl0bGUsIG1lc3NhZ2UsIHtcbiAgICAgIG56RHVyYXRpb246IGR1cmF0aW9uLFxuICAgICAgbnpQbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIG56UGF1c2VPbkhvdmVyOiBwYXVzZU9uSG92ZXIsXG4gICAgICBuekFuaW1hdGU6IGFuaW1hdGUsXG4gICAgICBuektleTogY29uZmlnLmtleSxcbiAgICAgIG56U3R5bGU6IGNvbmZpZy5zdHlsZSxcbiAgICAgIG56Q2xhc3M6IGNsYXNzTGlzdCxcbiAgICAgIG56RGF0YTogY29uZmlnLmRhdGEgYXMgb2JqZWN0IHwgdW5kZWZpbmVkLFxuICAgICAgbnpDbG9zZUljb246IGNsb3NhYmxlID8gdW5kZWZpbmVkIDogJyAnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIMSQw7NuZyAxIHRvYXN0IHRoZW8gbWVzc2FnZUlkICh04burIE56Tm90aWZpY2F0aW9uUmVmKS4gKi9cbiAgcmVtb3ZlKGlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24ucmVtb3ZlKGlkKTtcbiAgfVxuXG4gIC8qKiDEkMOzbmcgdOG6pXQgY+G6oyB0b2FzdCDEkWFuZyBt4bufLiAqL1xuICByZW1vdmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24ucmVtb3ZlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ export const GEO_TOAST_DEFAULT_TITLES = {
2
+ success: 'Thành công!',
3
+ error: 'Thất bại!',
4
+ warning: 'Cảnh báo!',
5
+ info: 'Thông tin!',
6
+ };
7
+ export const GEO_TOAST_ICONS = {
8
+ success: 'check-circle',
9
+ error: 'close-circle',
10
+ warning: 'warning',
11
+ info: 'info-circle',
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRvYXN0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRvYXN0L2dlby10b2FzdC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBaUM7SUFDcEUsT0FBTyxFQUFFLGFBQWE7SUFDdEIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsSUFBSSxFQUFFLFlBQVk7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBaUM7SUFDM0QsT0FBTyxFQUFFLGNBQWM7SUFDdkIsS0FBSyxFQUFFLGNBQWM7SUFDckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsSUFBSSxFQUFFLGFBQWE7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3NJbnRlcmZhY2UsIE5nU3R5bGVJbnRlcmZhY2UgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpOb3RpZmljYXRpb25QbGFjZW1lbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL25vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCB0eXBlIEdlb1RvYXN0VHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbyc7XG5cbmV4cG9ydCB0eXBlIEdlb1RvYXN0UGxhY2VtZW50ID0gTnpOb3RpZmljYXRpb25QbGFjZW1lbnQ7XG5cbmV4cG9ydCBjb25zdCBHRU9fVE9BU1RfREVGQVVMVF9USVRMRVM6IFJlY29yZDxHZW9Ub2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gIHN1Y2Nlc3M6ICdUaMOgbmggY8O0bmchJyxcbiAgZXJyb3I6ICdUaOG6pXQgYuG6oWkhJyxcbiAgd2FybmluZzogJ0PhuqNuaCBiw6FvIScsXG4gIGluZm86ICdUaMO0bmcgdGluIScsXG59O1xuXG5leHBvcnQgY29uc3QgR0VPX1RPQVNUX0lDT05TOiBSZWNvcmQ8R2VvVG9hc3RUeXBlLCBzdHJpbmc+ID0ge1xuICBzdWNjZXNzOiAnY2hlY2stY2lyY2xlJyxcbiAgZXJyb3I6ICdjbG9zZS1jaXJjbGUnLFxuICB3YXJuaW5nOiAnd2FybmluZycsXG4gIGluZm86ICdpbmZvLWNpcmNsZScsXG59O1xuXG4vKiogT3B0aW9ucyBraGkgZ+G7jWkgR2VvVG9hc3RTZXJ2aWNlIChtYXAgc2FuZyBOek5vdGlmaWNhdGlvbkRhdGFPcHRpb25zKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VvVG9hc3RPcHRpb25zIHtcbiAgLyoqIEF1dG8gY2xvc2UgZHVyYXRpb24gKG1zKS4gYDBgID0ga2jDtG5nIHThu7EgxJHDs25nLiBEZWZhdWx0IGA0NTAwYC4gKi9cbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIC8qKiBW4buLIHRyw60gdG9hc3QuIERlZmF1bHQgYHRvcFJpZ2h0YC4gKi9cbiAgcGxhY2VtZW50PzogR2VvVG9hc3RQbGFjZW1lbnQ7XG4gIC8qKiBQYXVzZSBjb3VudGRvd24ga2hpIGhvdmVyLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgcGF1c2VPbkhvdmVyPzogYm9vbGVhbjtcbiAgLyoqIEFuaW1hdGUgZW50ZXIvbGVhdmUuIERlZmF1bHQgYHRydWVgLiAqL1xuICBhbmltYXRlPzogYm9vbGVhbjtcbiAgLyoqIFVuaXF1ZSBrZXkg4oCUIHRvYXN0IGPDuW5nIGtleSBz4bq9IMSRxrDhu6NjIHRoYXkgdGjhur8uICovXG4gIGtleT86IHN0cmluZztcbiAgLyoqIEhp4buHbiBpY29uIHRy4bqhbmcgdGjDoWkuIERlZmF1bHQgYHRydWVgLiAqL1xuICBzaG93SWNvbj86IGJvb2xlYW47XG4gIC8qKiBIaeG7h24gbsO6dCDEkcOzbmcuIERlZmF1bHQgYHRydWVgLiAqL1xuICBjbG9zYWJsZT86IGJvb2xlYW47XG4gIC8qKiBDdXN0b20gaWNvbiB0eXBlIChBbnQgRGVzaWduKS4gKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqIElubGluZSBzdHlsZSB0csOqbiBub3RpY2UuICovXG4gIHN0eWxlPzogTmdTdHlsZUludGVyZmFjZTtcbiAgLyoqIEV4dHJhIENTUyBjbGFzcy4gKi9cbiAgY2xhc3NOYW1lPzogTmdDbGFzc0ludGVyZmFjZSB8IHN0cmluZztcbiAgLyoqIEFyYml0cmFyeSBkYXRhIGfhuq9uIHbDoG8gbm90aWNlLiAqL1xuICBkYXRhPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW9Ub2FzdENvbmZpZyBleHRlbmRzIEdlb1RvYXN0T3B0aW9ucyB7XG4gIHR5cGU6IEdlb1RvYXN0VHlwZTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvVG9hc3RHbG9iYWxDb25maWcge1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgcGxhY2VtZW50PzogR2VvVG9hc3RQbGFjZW1lbnQ7XG4gIHBhdXNlT25Ib3Zlcj86IGJvb2xlYW47XG4gIGFuaW1hdGU/OiBib29sZWFuO1xuICBtYXhTdGFjaz86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICBib3R0b20/OiBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { NzTreeModule } from 'ng-zorro-antd/tree';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ng-zorro-antd/tree";
5
+ /**
6
+ * Tree checkable — wrap `nz-tree`. Domain dùng `geo-tree`, không import NzTreeModule.
7
+ * API chính: `nodes` + `checkedKeys` / `checkedKeysChange` (giống pattern ILIS → nz-tree).
8
+ */
9
+ export class GeoTreeComponent {
10
+ nodes = [];
11
+ checkable = false;
12
+ checkedKeys = [];
13
+ expandedKeys = [];
14
+ showLine = false;
15
+ blockNode = false;
16
+ checkedKeysChange = new EventEmitter();
17
+ expandedKeysChange = new EventEmitter();
18
+ nodeClick = new EventEmitter();
19
+ onCheckedKeysChange(keys) {
20
+ this.checkedKeys = keys;
21
+ this.checkedKeysChange.emit(keys);
22
+ }
23
+ onExpandedKeysChange(keys) {
24
+ this.expandedKeys = keys;
25
+ this.expandedKeysChange.emit(keys);
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: GeoTreeComponent, isStandalone: true, selector: "geo-tree", inputs: { nodes: "nodes", checkable: "checkable", checkedKeys: "checkedKeys", expandedKeys: "expandedKeys", showLine: "showLine", blockNode: "blockNode" }, outputs: { checkedKeysChange: "checkedKeysChange", expandedKeysChange: "expandedKeysChange", nodeClick: "nodeClick" }, host: { classAttribute: "geo-tree-host" }, ngImport: i0, template: "<div class=\"geo-tree\">\n <nz-tree\n [nzData]=\"nodes\"\n [nzCheckable]=\"checkable\"\n [nzCheckedKeys]=\"checkedKeys\"\n [nzExpandedKeys]=\"expandedKeys\"\n [nzShowLine]=\"showLine\"\n [nzBlockNode]=\"blockNode\"\n (nzCheckedKeysChange)=\"onCheckedKeysChange($event)\"\n (nzExpandedKeysChange)=\"onExpandedKeysChange($event)\"\n (nzClick)=\"nodeClick.emit($event)\"\n ></nz-tree>\n</div>\n", styles: [".geo-tree-host{display:block;width:100%}.geo-tree{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: NzTreeModule }, { kind: "component", type: i1.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzExpandedIcon", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzTreeTemplate", "nzBeforeDrop", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckBoxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }], encapsulation: i0.ViewEncapsulation.None });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTreeComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'geo-tree', standalone: true, imports: [NzTreeModule], encapsulation: ViewEncapsulation.None, host: { class: 'geo-tree-host' }, template: "<div class=\"geo-tree\">\n <nz-tree\n [nzData]=\"nodes\"\n [nzCheckable]=\"checkable\"\n [nzCheckedKeys]=\"checkedKeys\"\n [nzExpandedKeys]=\"expandedKeys\"\n [nzShowLine]=\"showLine\"\n [nzBlockNode]=\"blockNode\"\n (nzCheckedKeysChange)=\"onCheckedKeysChange($event)\"\n (nzExpandedKeysChange)=\"onExpandedKeysChange($event)\"\n (nzClick)=\"nodeClick.emit($event)\"\n ></nz-tree>\n</div>\n", styles: [".geo-tree-host{display:block;width:100%}.geo-tree{width:100%}\n"] }]
33
+ }], propDecorators: { nodes: [{
34
+ type: Input
35
+ }], checkable: [{
36
+ type: Input
37
+ }], checkedKeys: [{
38
+ type: Input
39
+ }], expandedKeys: [{
40
+ type: Input
41
+ }], showLine: [{
42
+ type: Input
43
+ }], blockNode: [{
44
+ type: Input
45
+ }], checkedKeysChange: [{
46
+ type: Output
47
+ }], expandedKeysChange: [{
48
+ type: Output
49
+ }], nodeClick: [{
50
+ type: Output
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRyZWUvZ2VvLXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRyZWUvZ2VvLXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLG9CQUFvQixDQUFDOzs7QUFHckU7OztHQUdHO0FBVUgsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixLQUFLLEdBQWtCLEVBQUUsQ0FBQztJQUMxQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFdBQVcsR0FBMkIsRUFBRSxDQUFDO0lBQ3pDLFlBQVksR0FBMkIsRUFBRSxDQUFDO0lBQzFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVqQixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUMvRCxrQkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUNoRSxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFNUQsbUJBQW1CLENBQUMsSUFBNEI7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBNEI7UUFDL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO3dHQXBCVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixrWUNqQjdCLHNhQWFBLHdIREZZLFlBQVk7OzRGQU1YLGdCQUFnQjtrQkFUNUIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLGlCQUdSLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFOzhCQUd2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpUcmVlTW9kdWxlLCBOekZvcm1hdEVtaXRFdmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZSc7XG5pbXBvcnQgeyBHZW9UcmVlTm9kZSB9IGZyb20gJy4vZ2VvLXRyZWUudHlwZXMnO1xuXG4vKipcbiAqIFRyZWUgY2hlY2thYmxlIOKAlCB3cmFwIGBuei10cmVlYC4gRG9tYWluIGTDuW5nIGBnZW8tdHJlZWAsIGtow7RuZyBpbXBvcnQgTnpUcmVlTW9kdWxlLlxuICogQVBJIGNow61uaDogYG5vZGVzYCArIGBjaGVja2VkS2V5c2AgLyBgY2hlY2tlZEtleXNDaGFuZ2VgIChnaeG7kW5nIHBhdHRlcm4gSUxJUyDihpIgbnotdHJlZSkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby10cmVlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW056VHJlZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tdHJlZS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdnZW8tdHJlZS1ob3N0JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9UcmVlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbm9kZXM6IEdlb1RyZWVOb2RlW10gPSBbXTtcbiAgQElucHV0KCkgY2hlY2thYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrZWRLZXlzOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+ID0gW107XG4gIEBJbnB1dCgpIGV4cGFuZGVkS2V5czogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiA9IFtdO1xuICBASW5wdXQoKSBzaG93TGluZSA9IGZhbHNlO1xuICBASW5wdXQoKSBibG9ja05vZGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgY2hlY2tlZEtleXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PHN0cmluZyB8IG51bWJlcj4+KCk7XG4gIEBPdXRwdXQoKSBleHBhbmRlZEtleXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PHN0cmluZyB8IG51bWJlcj4+KCk7XG4gIEBPdXRwdXQoKSBub2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE56Rm9ybWF0RW1pdEV2ZW50PigpO1xuXG4gIG9uQ2hlY2tlZEtleXNDaGFuZ2Uoa2V5czogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZEtleXMgPSBrZXlzO1xuICAgIHRoaXMuY2hlY2tlZEtleXNDaGFuZ2UuZW1pdChrZXlzKTtcbiAgfVxuXG4gIG9uRXhwYW5kZWRLZXlzQ2hhbmdlKGtleXM6IEFycmF5PHN0cmluZyB8IG51bWJlcj4pOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkS2V5cyA9IGtleXM7XG4gICAgdGhpcy5leHBhbmRlZEtleXNDaGFuZ2UuZW1pdChrZXlzKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdlby10cmVlXCI+XG4gIDxuei10cmVlXG4gICAgW256RGF0YV09XCJub2Rlc1wiXG4gICAgW256Q2hlY2thYmxlXT1cImNoZWNrYWJsZVwiXG4gICAgW256Q2hlY2tlZEtleXNdPVwiY2hlY2tlZEtleXNcIlxuICAgIFtuekV4cGFuZGVkS2V5c109XCJleHBhbmRlZEtleXNcIlxuICAgIFtuelNob3dMaW5lXT1cInNob3dMaW5lXCJcbiAgICBbbnpCbG9ja05vZGVdPVwiYmxvY2tOb2RlXCJcbiAgICAobnpDaGVja2VkS2V5c0NoYW5nZSk9XCJvbkNoZWNrZWRLZXlzQ2hhbmdlKCRldmVudClcIlxuICAgIChuekV4cGFuZGVkS2V5c0NoYW5nZSk9XCJvbkV4cGFuZGVkS2V5c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAobnpDbGljayk9XCJub2RlQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgPjwvbnotdHJlZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRyZWUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tdHJlZS9nZW8tdHJlZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBHZW9UcmVlTm9kZSB7XG4gIGtleTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBleHBhbmRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogR2VvVHJlZU5vZGVbXTtcbiAgaXNMZWFmPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlQ2hlY2tib3g/OiBib29sZWFuO1xuICAvKiogUGF5bG9hZCB0w7l5IGNo4buNbiAoZG9tYWluIGfhuq9uIGRhdGEgbmdoaeG7h3AgduG7pSkuICovXG4gIGRhdGE/OiB1bmtub3duO1xuICBbcHJvcDogc3RyaW5nXTogdW5rbm93bjtcbn1cbiJdfQ==