@geoit/ui 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/AGENTS.md +12 -8
  2. package/README.md +140 -17
  3. package/ai/AGENTS.md +43 -32
  4. package/ai/README.md +36 -2
  5. package/ai/catalog.json +5585 -437
  6. package/ai/components/geo-alert.md +75 -21
  7. package/ai/components/geo-back-button.md +64 -18
  8. package/ai/components/geo-breadcrumb.md +71 -12
  9. package/ai/components/geo-button.md +90 -27
  10. package/ai/components/geo-chart.md +103 -0
  11. package/ai/components/geo-checkbox.md +67 -20
  12. package/ai/components/geo-column-picker.md +91 -18
  13. package/ai/components/geo-confirm-modal.md +92 -27
  14. package/ai/components/geo-dashboard.md +91 -0
  15. package/ai/components/geo-date-picker.md +105 -29
  16. package/ai/components/geo-date-range-picker.md +101 -28
  17. package/ai/components/geo-empty-state.md +75 -0
  18. package/ai/components/geo-feedback-form.md +97 -0
  19. package/ai/components/geo-file-picker.md +99 -26
  20. package/ai/components/geo-forgot-password.md +78 -0
  21. package/ai/components/geo-form-modal.md +111 -44
  22. package/ai/components/geo-icon.md +70 -16
  23. package/ai/components/geo-input.md +94 -29
  24. package/ai/components/geo-layout-footer.md +70 -0
  25. package/ai/components/geo-layout-header-actions.md +82 -0
  26. package/ai/components/geo-layout-header.md +89 -0
  27. package/ai/components/geo-layout-sidebar.md +86 -0
  28. package/ai/components/geo-layout.md +155 -0
  29. package/ai/components/geo-list-page.md +72 -0
  30. package/ai/components/geo-login.md +94 -0
  31. package/ai/components/geo-map-admin-filter.md +80 -0
  32. package/ai/components/geo-map-basemap-switcher.md +75 -0
  33. package/ai/components/geo-map-help.md +72 -0
  34. package/ai/components/geo-map-layer-card.md +73 -0
  35. package/ai/components/geo-map-layer-panel.md +75 -0
  36. package/ai/components/geo-map-layers-drawer.md +78 -0
  37. package/ai/components/geo-map-legend.md +74 -0
  38. package/ai/components/geo-map-locate.md +75 -0
  39. package/ai/components/geo-map-location-chip.md +71 -0
  40. package/ai/components/geo-map-measure.md +74 -0
  41. package/ai/components/geo-map-opacity.md +75 -0
  42. package/ai/components/geo-map-parcel-popup.md +79 -0
  43. package/ai/components/geo-map-search.md +83 -0
  44. package/ai/components/geo-map-shell.md +110 -0
  45. package/ai/components/geo-map-snapshot.md +75 -0
  46. package/ai/components/geo-map-swipe.md +73 -0
  47. package/ai/components/geo-map-toolbar.md +76 -0
  48. package/ai/components/geo-map-zoom.md +74 -0
  49. package/ai/components/geo-map.md +205 -0
  50. package/ai/components/geo-overlap-result.md +88 -0
  51. package/ai/components/geo-page-header.md +72 -0
  52. package/ai/components/geo-page-title.md +62 -16
  53. package/ai/components/geo-pagination.md +76 -24
  54. package/ai/components/geo-radio.md +110 -27
  55. package/ai/components/geo-row-actions.md +87 -19
  56. package/ai/components/geo-select.md +108 -28
  57. package/ai/components/geo-slider.md +70 -21
  58. package/ai/components/geo-stat-card.md +98 -0
  59. package/ai/components/geo-status-tag.md +67 -15
  60. package/ai/components/geo-step-form-layout.md +121 -38
  61. package/ai/components/geo-stepper.md +81 -19
  62. package/ai/components/geo-table-filter.md +90 -29
  63. package/ai/components/geo-table-pagination.md +70 -23
  64. package/ai/components/geo-table-toolbar.md +84 -29
  65. package/ai/components/geo-table.md +191 -59
  66. package/ai/components/geo-tabs.md +99 -27
  67. package/ai/components/geo-textarea.md +84 -23
  68. package/ai/components/geo-toast.md +138 -27
  69. package/ai/components/geo-tree.md +94 -22
  70. package/ai/components/geo-typography.md +70 -19
  71. package/ai/components/geo-upload.md +109 -39
  72. package/ai/mockup.html +1194 -0
  73. package/ai/recipes.md +132 -47
  74. package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +19 -36
  75. package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +14 -24
  76. package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +8 -11
  77. package/esm2022/lib/figma/geo-button/geo-button.component.mjs +30 -59
  78. package/esm2022/lib/figma/geo-chart/geo-chart.component.mjs +88 -0
  79. package/esm2022/lib/figma/geo-chart/geo-chart.types.mjs +2 -0
  80. package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +11 -22
  81. package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +22 -54
  82. package/esm2022/lib/figma/geo-dashboard/geo-dashboard.component.mjs +49 -0
  83. package/esm2022/lib/figma/geo-dashboard/geo-dashboard.types.mjs +2 -0
  84. package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +48 -78
  85. package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +47 -75
  86. package/esm2022/lib/figma/geo-empty-state/geo-empty-state.component.mjs +25 -0
  87. package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.component.mjs +75 -0
  88. package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.types.mjs +2 -0
  89. package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +59 -81
  90. package/esm2022/lib/figma/geo-forgot-password/geo-forgot-password.component.mjs +51 -0
  91. package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +45 -112
  92. package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +22 -32
  93. package/esm2022/lib/figma/geo-input/geo-input.component.mjs +41 -70
  94. package/esm2022/lib/figma/geo-layout/footer/geo-layout-footer.component.mjs +18 -0
  95. package/esm2022/lib/figma/geo-layout/geo-layout-actions.directive.mjs +15 -0
  96. package/esm2022/lib/figma/geo-layout/geo-layout.component.mjs +79 -0
  97. package/esm2022/lib/figma/geo-layout/geo-layout.types.mjs +42 -0
  98. package/esm2022/lib/figma/geo-layout/header/geo-layout-header.component.mjs +60 -0
  99. package/esm2022/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.mjs +70 -0
  100. package/esm2022/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.mjs +90 -0
  101. package/esm2022/lib/figma/geo-list-page/geo-list-page.component.mjs +22 -0
  102. package/esm2022/lib/figma/geo-login/geo-login.component.mjs +58 -0
  103. package/esm2022/lib/figma/geo-login/geo-login.types.mjs +2 -0
  104. package/esm2022/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.mjs +52 -0
  105. package/esm2022/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.mjs +61 -0
  106. package/esm2022/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.mjs +26 -0
  107. package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.mjs +24 -0
  108. package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.mjs +146 -0
  109. package/esm2022/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.mjs +37 -0
  110. package/esm2022/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.mjs +30 -0
  111. package/esm2022/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.mjs +72 -0
  112. package/esm2022/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.mjs +21 -0
  113. package/esm2022/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.mjs +375 -0
  114. package/esm2022/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.mjs +94 -0
  115. package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs +136 -0
  116. package/esm2022/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.mjs +182 -0
  117. package/esm2022/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.mjs +577 -0
  118. package/esm2022/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.mjs +93 -0
  119. package/esm2022/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.mjs +129 -0
  120. package/esm2022/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.mjs +64 -0
  121. package/esm2022/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.mjs +295 -0
  122. package/esm2022/lib/figma/geo-map/geo-map-toolbar.icons.mjs +18 -0
  123. package/esm2022/lib/figma/geo-map/geo-map.component.mjs +144 -0
  124. package/esm2022/lib/figma/geo-map/geo-map.constants.mjs +497 -0
  125. package/esm2022/lib/figma/geo-map/geo-map.controller.mjs +71 -0
  126. package/esm2022/lib/figma/geo-map/geo-map.types.mjs +2 -0
  127. package/esm2022/lib/figma/geo-map/services/geo-map-layer.service.mjs +368 -0
  128. package/esm2022/lib/figma/geo-map/services/geo-map-projection.service.mjs +110 -0
  129. package/esm2022/lib/figma/geo-map/services/geo-map.service.mjs +540 -0
  130. package/esm2022/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.mjs +47 -0
  131. package/esm2022/lib/figma/geo-map/utils/geo-map-interactions.util.mjs +30 -0
  132. package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.component.mjs +25 -0
  133. package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.types.mjs +2 -0
  134. package/esm2022/lib/figma/geo-page-header/geo-page-header.component.mjs +23 -0
  135. package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +20 -35
  136. package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +13 -43
  137. package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +32 -52
  138. package/esm2022/lib/figma/geo-select/geo-select.component.mjs +46 -72
  139. package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +12 -28
  140. package/esm2022/lib/figma/geo-stat-card/geo-stat-card.component.mjs +163 -0
  141. package/esm2022/lib/figma/geo-stat-card/geo-stat-card.types.mjs +2 -0
  142. package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +23 -27
  143. package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +39 -96
  144. package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +18 -33
  145. package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +14 -24
  146. package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +18 -36
  147. package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +41 -98
  148. package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +40 -73
  149. package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +26 -56
  150. package/esm2022/lib/figma/geo-table/geo-table.component.mjs +110 -210
  151. package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +33 -63
  152. package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +28 -44
  153. package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +18 -39
  154. package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +12 -40
  155. package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +49 -64
  156. package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +50 -101
  157. package/esm2022/lib/figma/index.mjs +50 -1
  158. package/esm2022/lib/styles/tokens.mjs +56 -24
  159. package/fesm2022/geoit-ui.mjs +5981 -1825
  160. package/fesm2022/geoit-ui.mjs.map +1 -1
  161. package/lib/figma/geo-alert/geo-alert.component.d.ts +10 -11
  162. package/lib/figma/geo-back-button/geo-back-button.component.d.ts +6 -7
  163. package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +2 -2
  164. package/lib/figma/geo-button/geo-button.component.d.ts +21 -17
  165. package/lib/figma/geo-chart/geo-chart.component.d.ts +40 -0
  166. package/lib/figma/geo-chart/geo-chart.types.d.ts +13 -0
  167. package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +6 -7
  168. package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +15 -17
  169. package/lib/figma/geo-dashboard/geo-dashboard.component.d.ts +29 -0
  170. package/lib/figma/geo-dashboard/geo-dashboard.types.d.ts +7 -0
  171. package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +26 -21
  172. package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +25 -20
  173. package/lib/figma/geo-empty-state/geo-empty-state.component.d.ts +17 -0
  174. package/lib/figma/geo-feedback-form/geo-feedback-form.component.d.ts +36 -0
  175. package/lib/figma/geo-feedback-form/geo-feedback-form.types.d.ts +8 -0
  176. package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +23 -20
  177. package/lib/figma/geo-forgot-password/geo-forgot-password.component.d.ts +24 -0
  178. package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +33 -35
  179. package/lib/figma/geo-icon/geo-icon.component.d.ts +7 -7
  180. package/lib/figma/geo-input/geo-input.component.d.ts +23 -21
  181. package/lib/figma/geo-layout/footer/geo-layout-footer.component.d.ts +10 -0
  182. package/lib/figma/geo-layout/geo-layout-actions.directive.d.ts +6 -0
  183. package/lib/figma/geo-layout/geo-layout.component.d.ts +48 -0
  184. package/lib/figma/geo-layout/geo-layout.types.d.ts +44 -0
  185. package/lib/figma/geo-layout/header/geo-layout-header.component.d.ts +31 -0
  186. package/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.d.ts +32 -0
  187. package/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.d.ts +34 -0
  188. package/lib/figma/geo-list-page/geo-list-page.component.d.ts +16 -0
  189. package/lib/figma/geo-login/geo-login.component.d.ts +27 -0
  190. package/lib/figma/geo-login/geo-login.types.d.ts +6 -0
  191. package/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.d.ts +28 -0
  192. package/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.d.ts +26 -0
  193. package/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.d.ts +20 -0
  194. package/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.d.ts +15 -0
  195. package/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.d.ts +40 -0
  196. package/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.d.ts +25 -0
  197. package/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.d.ts +18 -0
  198. package/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.d.ts +24 -0
  199. package/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.d.ts +14 -0
  200. package/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.d.ts +49 -0
  201. package/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.d.ts +30 -0
  202. package/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.d.ts +44 -0
  203. package/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.d.ts +56 -0
  204. package/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.d.ts +103 -0
  205. package/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.d.ts +21 -0
  206. package/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.d.ts +33 -0
  207. package/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.d.ts +30 -0
  208. package/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.d.ts +67 -0
  209. package/lib/figma/geo-map/geo-map-toolbar.icons.d.ts +17 -0
  210. package/lib/figma/geo-map/geo-map.component.d.ts +53 -0
  211. package/lib/figma/geo-map/geo-map.constants.d.ts +73 -0
  212. package/lib/figma/geo-map/geo-map.controller.d.ts +49 -0
  213. package/lib/figma/geo-map/geo-map.types.d.ts +224 -0
  214. package/lib/figma/geo-map/services/geo-map-layer.service.d.ts +42 -0
  215. package/lib/figma/geo-map/services/geo-map-projection.service.d.ts +32 -0
  216. package/lib/figma/geo-map/services/geo-map.service.d.ts +99 -0
  217. package/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.d.ts +13 -0
  218. package/lib/figma/geo-map/utils/geo-map-interactions.util.d.ts +9 -0
  219. package/lib/figma/geo-overlap-result/geo-overlap-result.component.d.ts +18 -0
  220. package/lib/figma/geo-overlap-result/geo-overlap-result.types.d.ts +7 -0
  221. package/lib/figma/geo-page-header/geo-page-header.component.d.ts +16 -0
  222. package/lib/figma/geo-page-title/geo-page-title.component.d.ts +9 -9
  223. package/lib/figma/geo-pagination/geo-pagination.component.d.ts +9 -14
  224. package/lib/figma/geo-radio/geo-radio.component.d.ts +17 -15
  225. package/lib/figma/geo-select/geo-select.component.d.ts +24 -19
  226. package/lib/figma/geo-slider/geo-slider.component.d.ts +7 -9
  227. package/lib/figma/geo-stat-card/geo-stat-card.component.d.ts +50 -0
  228. package/lib/figma/geo-stat-card/geo-stat-card.types.d.ts +11 -0
  229. package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +7 -7
  230. package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +27 -29
  231. package/lib/figma/geo-stepper/geo-stepper.component.d.ts +6 -8
  232. package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +6 -7
  233. package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +11 -12
  234. package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +21 -28
  235. package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +17 -20
  236. package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +17 -18
  237. package/lib/figma/geo-table/geo-table.component.d.ts +58 -62
  238. package/lib/figma/geo-tabs/geo-tabs.component.d.ts +14 -17
  239. package/lib/figma/geo-textarea/geo-textarea.component.d.ts +15 -13
  240. package/lib/figma/geo-toast/geo-toast.component.d.ts +11 -12
  241. package/lib/figma/geo-tree/geo-tree.component.d.ts +8 -13
  242. package/lib/figma/geo-typography/geo-typography.component.d.ts +13 -13
  243. package/lib/figma/geo-upload/geo-upload.component.d.ts +26 -28
  244. package/lib/figma/index.d.ts +49 -0
  245. package/lib/styles/tokens.d.ts +56 -23
  246. package/package.json +4 -2
  247. package/src/lib/figma/geo-map/assets/toolbar/fullscreen.svg +8 -0
  248. package/src/lib/figma/geo-map/assets/toolbar/home.svg +3 -0
  249. package/src/lib/figma/geo-map/assets/toolbar/layers.svg +3 -0
  250. package/src/lib/figma/geo-map/assets/toolbar/measure-area.svg +12 -0
  251. package/src/lib/figma/geo-map/assets/toolbar/measure-distance.svg +5 -0
  252. package/src/lib/figma/geo-map/assets/toolbar/pan.svg +13 -0
  253. package/src/lib/figma/geo-map/assets/toolbar/search.svg +3 -0
  254. package/src/lib/figma/geo-map/assets/toolbar/zoom-in.svg +3 -0
  255. package/src/lib/figma/geo-map/assets/toolbar/zoom-out.svg +5 -0
  256. package/src/lib/styles/design-tokens.scss +108 -35
  257. package/src/lib/styles/scrollbar.scss +2 -2
  258. package/src/lib/styles/theme.scss +1 -1
@@ -1,68 +1,38 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';
3
2
  import { NgZorroAntdModule } from '../../../ng-zorro/ng-zorro-antd.module';
4
3
  import { GeoButtonComponent } from '../../geo-button/geo-button.component';
5
4
  import { GeoColumnPickerComponent } from '../geo-column-picker/geo-column-picker.component';
6
5
  import * as i0 from "@angular/core";
7
6
  export class GeoTableToolbarComponent {
8
- resultLabel = '';
9
- resultCount = null;
10
- selectedCount = 0;
11
- showDelete = true;
12
- showExport = true;
13
- showColumnToggle = true;
14
- showAdd = true;
15
- addLabel = 'Thêm mới';
16
- columnItems = [];
7
+ resultLabel = input('');
8
+ resultCount = input(null);
9
+ selectedCount = input(0);
10
+ showDelete = input(true);
11
+ showExport = input(true);
12
+ showColumnToggle = input(true);
13
+ showAdd = input(true);
14
+ addLabel = input('Thêm mới');
15
+ columnItems = input([]);
17
16
  /** Key lưu trạng thái ẩn/hiện cột trong sessionStorage */
18
- columnStorageKey;
19
- deleteClick = new EventEmitter();
20
- exportClick = new EventEmitter();
21
- toggleColumns = new EventEmitter();
22
- columnApply = new EventEmitter();
23
- addClick = new EventEmitter();
24
- get displayResultLabel() {
25
- if (this.resultLabel) {
26
- return this.resultLabel;
17
+ columnStorageKey = input(undefined);
18
+ deleteClick = output();
19
+ exportClick = output();
20
+ toggleColumns = output();
21
+ columnApply = output();
22
+ addClick = output();
23
+ displayResultLabel = computed(() => {
24
+ const resultLabel = this.resultLabel();
25
+ if (resultLabel) {
26
+ return resultLabel;
27
27
  }
28
- const count = this.resultCount ?? 0;
28
+ const count = this.resultCount() ?? 0;
29
29
  return `Kết quả tìm kiếm (${count} kết quả)`;
30
- }
30
+ });
31
31
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTableToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoTableToolbarComponent, isStandalone: true, selector: "geo-table-toolbar", inputs: { resultLabel: "resultLabel", resultCount: "resultCount", selectedCount: "selectedCount", showDelete: "showDelete", showExport: "showExport", showColumnToggle: "showColumnToggle", showAdd: "showAdd", addLabel: "addLabel", columnItems: "columnItems", columnStorageKey: "columnStorageKey" }, outputs: { deleteClick: "deleteClick", exportClick: "exportClick", toggleColumns: "toggleColumns", columnApply: "columnApply", addClick: "addClick" }, ngImport: i0, template: "<div class=\"geo-table-toolbar\">\n <div class=\"geo-table-toolbar__info\">{{ displayResultLabel }}</div>\n\n <div class=\"geo-table-toolbar__actions\">\n @if (showDelete && selectedCount > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"danger\"\n icon=\"delete\"\n title=\"X\u00F3a\"\n (clicked)=\"deleteClick.emit()\"\n >\n X\u00F3a ({{ selectedCount }})\n </geo-button>\n }\n\n @if (showExport) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"download\"\n title=\"Xu\u1EA5t d\u1EEF li\u1EC7u\"\n (clicked)=\"exportClick.emit()\"\n >\n Xu\u1EA5t d\u1EEF li\u1EC7u\n </geo-button>\n }\n\n @if (showColumnToggle) {\n @if (columnItems.length) {\n <geo-column-picker\n [items]=\"columnItems\"\n [storageKey]=\"columnStorageKey\"\n (apply)=\"columnApply.emit($event)\"\n ></geo-column-picker>\n } @else {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n title=\"\u1EA8n hi\u1EC7n c\u1ED9t\"\n (clicked)=\"toggleColumns.emit()\"\n >\n \u1EA8n hi\u1EC7n c\u1ED9t\n </geo-button>\n }\n }\n\n @if (showAdd) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n icon=\"plus\"\n [title]=\"addLabel\"\n (clicked)=\"addClick.emit()\"\n >\n {{ addLabel }}\n </geo-button>\n }\n </div>\n</div>\n", styles: [":host{display:block}.geo-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.geo-table-toolbar__info{font-size:16px;font-weight:600;line-height:24px;color:var(--geo-color-neutral-900)}.geo-table-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}@media (max-width: 767px){.geo-table-toolbar{flex-direction:column;align-items:stretch}.geo-table-toolbar__actions{margin-left:0;justify-content:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }, { kind: "component", type: GeoColumnPickerComponent, selector: "geo-column-picker", inputs: ["triggerLabel", "hint", "items", "storageKey"], outputs: ["apply"] }] });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoTableToolbarComponent, isStandalone: true, selector: "geo-table-toolbar", inputs: { resultLabel: { classPropertyName: "resultLabel", publicName: "resultLabel", isSignal: true, isRequired: false, transformFunction: null }, resultCount: { classPropertyName: "resultCount", publicName: "resultCount", isSignal: true, isRequired: false, transformFunction: null }, selectedCount: { classPropertyName: "selectedCount", publicName: "selectedCount", isSignal: true, isRequired: false, transformFunction: null }, showDelete: { classPropertyName: "showDelete", publicName: "showDelete", isSignal: true, isRequired: false, transformFunction: null }, showExport: { classPropertyName: "showExport", publicName: "showExport", isSignal: true, isRequired: false, transformFunction: null }, showColumnToggle: { classPropertyName: "showColumnToggle", publicName: "showColumnToggle", isSignal: true, isRequired: false, transformFunction: null }, showAdd: { classPropertyName: "showAdd", publicName: "showAdd", isSignal: true, isRequired: false, transformFunction: null }, addLabel: { classPropertyName: "addLabel", publicName: "addLabel", isSignal: true, isRequired: false, transformFunction: null }, columnItems: { classPropertyName: "columnItems", publicName: "columnItems", isSignal: true, isRequired: false, transformFunction: null }, columnStorageKey: { classPropertyName: "columnStorageKey", publicName: "columnStorageKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { deleteClick: "deleteClick", exportClick: "exportClick", toggleColumns: "toggleColumns", columnApply: "columnApply", addClick: "addClick" }, ngImport: i0, template: "<div class=\"geo-table-toolbar\">\n <div class=\"geo-table-toolbar__info\">{{ displayResultLabel() }}</div>\n\n <div class=\"geo-table-toolbar__actions\">\n @if (showDelete() && selectedCount() > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"danger\"\n icon=\"delete\"\n title=\"X\u00F3a\"\n (clicked)=\"deleteClick.emit()\"\n >\n X\u00F3a ({{ selectedCount() }})\n </geo-button>\n }\n\n @if (showExport()) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"download\"\n title=\"Xu\u1EA5t d\u1EEF li\u1EC7u\"\n (clicked)=\"exportClick.emit()\"\n >\n Xu\u1EA5t d\u1EEF li\u1EC7u\n </geo-button>\n }\n\n @if (showColumnToggle()) {\n @if (columnItems().length) {\n <geo-column-picker\n [items]=\"columnItems()\"\n [storageKey]=\"columnStorageKey()\"\n (apply)=\"columnApply.emit($event)\"\n ></geo-column-picker>\n } @else {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n title=\"\u1EA8n hi\u1EC7n c\u1ED9t\"\n (clicked)=\"toggleColumns.emit()\"\n >\n \u1EA8n hi\u1EC7n c\u1ED9t\n </geo-button>\n }\n }\n\n @if (showAdd()) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n icon=\"plus\"\n [title]=\"addLabel()\"\n (clicked)=\"addClick.emit()\"\n >\n {{ addLabel() }}\n </geo-button>\n }\n </div>\n</div>\n", styles: [":host{display:block}.geo-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.geo-table-toolbar__info{font-size:16px;font-weight:600;line-height:24px;color:var(--geo-color-neutral-900)}.geo-table-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}@media (max-width: 767px){.geo-table-toolbar{flex-direction:column;align-items:stretch}.geo-table-toolbar__actions{margin-left:0;justify-content:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }, { kind: "component", type: GeoColumnPickerComponent, selector: "geo-column-picker", inputs: ["triggerLabel", "hint", "items", "storageKey"], outputs: ["apply"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoTableToolbarComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'geo-table-toolbar', standalone: true, imports: [CommonModule, NgZorroAntdModule, GeoButtonComponent, GeoColumnPickerComponent], template: "<div class=\"geo-table-toolbar\">\n <div class=\"geo-table-toolbar__info\">{{ displayResultLabel }}</div>\n\n <div class=\"geo-table-toolbar__actions\">\n @if (showDelete && selectedCount > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"danger\"\n icon=\"delete\"\n title=\"X\u00F3a\"\n (clicked)=\"deleteClick.emit()\"\n >\n X\u00F3a ({{ selectedCount }})\n </geo-button>\n }\n\n @if (showExport) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"download\"\n title=\"Xu\u1EA5t d\u1EEF li\u1EC7u\"\n (clicked)=\"exportClick.emit()\"\n >\n Xu\u1EA5t d\u1EEF li\u1EC7u\n </geo-button>\n }\n\n @if (showColumnToggle) {\n @if (columnItems.length) {\n <geo-column-picker\n [items]=\"columnItems\"\n [storageKey]=\"columnStorageKey\"\n (apply)=\"columnApply.emit($event)\"\n ></geo-column-picker>\n } @else {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n title=\"\u1EA8n hi\u1EC7n c\u1ED9t\"\n (clicked)=\"toggleColumns.emit()\"\n >\n \u1EA8n hi\u1EC7n c\u1ED9t\n </geo-button>\n }\n }\n\n @if (showAdd) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n icon=\"plus\"\n [title]=\"addLabel\"\n (clicked)=\"addClick.emit()\"\n >\n {{ addLabel }}\n </geo-button>\n }\n </div>\n</div>\n", styles: [":host{display:block}.geo-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.geo-table-toolbar__info{font-size:16px;font-weight:600;line-height:24px;color:var(--geo-color-neutral-900)}.geo-table-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}@media (max-width: 767px){.geo-table-toolbar{flex-direction:column;align-items:stretch}.geo-table-toolbar__actions{margin-left:0;justify-content:flex-start}}\n"] }]
37
- }], propDecorators: { resultLabel: [{
38
- type: Input
39
- }], resultCount: [{
40
- type: Input
41
- }], selectedCount: [{
42
- type: Input
43
- }], showDelete: [{
44
- type: Input
45
- }], showExport: [{
46
- type: Input
47
- }], showColumnToggle: [{
48
- type: Input
49
- }], showAdd: [{
50
- type: Input
51
- }], addLabel: [{
52
- type: Input
53
- }], columnItems: [{
54
- type: Input
55
- }], columnStorageKey: [{
56
- type: Input
57
- }], deleteClick: [{
58
- type: Output
59
- }], exportClick: [{
60
- type: Output
61
- }], toggleColumns: [{
62
- type: Output
63
- }], columnApply: [{
64
- type: Output
65
- }], addClick: [{
66
- type: Output
67
- }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRhYmxlLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRhYmxlL2dlby10YWJsZS10b29sYmFyL2dlby10YWJsZS10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tdGFibGUtdG9vbGJhci9nZW8tdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFVNUYsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFdBQVcsR0FBa0IsSUFBSSxDQUFDO0lBQ2xDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDbEIsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUN4QixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ2YsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUN0QixXQUFXLEdBQTBCLEVBQUUsQ0FBQztJQUNqRCwwREFBMEQ7SUFDakQsZ0JBQWdCLENBQVU7SUFFekIsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDdkMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDdkMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDekMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO0lBQzlELFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTlDLElBQUksa0JBQWtCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxxQkFBcUIsS0FBSyxXQUFXLENBQUM7SUFDL0MsQ0FBQzt3R0ExQlUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsOGdCQ2RyQyxvakRBNkRBLCtqQkRuRFksWUFBWSw4QkFBRSxpQkFBaUIsK0JBQUUsa0JBQWtCLHNPQUFFLHdCQUF3Qjs7NEZBSTVFLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLHdCQUF3QixDQUFDOzhCQUsvRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQgeyBHZW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9nZW8tYnV0dG9uL2dlby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEdlb0NvbHVtblBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1jb2x1bW4tcGlja2VyL2dlby1jb2x1bW4tcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQsIEdlb0NvbHVtblBpY2tlckl0ZW0gfSBmcm9tICcuLi9nZW8tY29sdW1uLXBpY2tlci9nZW8tY29sdW1uLXBpY2tlci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby10YWJsZS10b29sYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdab3Jyb0FudGRNb2R1bGUsIEdlb0J1dHRvbkNvbXBvbmVudCwgR2VvQ29sdW1uUGlja2VyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby10YWJsZS10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby10YWJsZS10b29sYmFyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgR2VvVGFibGVUb29sYmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVzdWx0TGFiZWwgPSAnJztcbiAgQElucHV0KCkgcmVzdWx0Q291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBzZWxlY3RlZENvdW50ID0gMDtcbiAgQElucHV0KCkgc2hvd0RlbGV0ZSA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dFeHBvcnQgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Q29sdW1uVG9nZ2xlID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0FkZCA9IHRydWU7XG4gIEBJbnB1dCgpIGFkZExhYmVsID0gJ1Row6ptIG3hu5tpJztcbiAgQElucHV0KCkgY29sdW1uSXRlbXM6IEdlb0NvbHVtblBpY2tlckl0ZW1bXSA9IFtdO1xuICAvKiogS2V5IGzGsHUgdHLhuqFuZyB0aMOhaSDhuqluL2hp4buHbiBj4buZdCB0cm9uZyBzZXNzaW9uU3RvcmFnZSAqL1xuICBASW5wdXQoKSBjb2x1bW5TdG9yYWdlS2V5Pzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBkZWxldGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGV4cG9ydENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdG9nZ2xlQ29sdW1ucyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGNvbHVtbkFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQ+KCk7XG4gIEBPdXRwdXQoKSBhZGRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgZGlzcGxheVJlc3VsdExhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucmVzdWx0TGFiZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3VsdExhYmVsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5yZXN1bHRDb3VudCA/PyAwO1xuICAgIHJldHVybiBgS+G6v3QgcXXhuqMgdMOsbSBraeG6v20gKCR7Y291bnR9IGvhur90IHF14bqjKWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnZW8tdGFibGUtdG9vbGJhclwiPlxuICA8ZGl2IGNsYXNzPVwiZ2VvLXRhYmxlLXRvb2xiYXJfX2luZm9cIj57eyBkaXNwbGF5UmVzdWx0TGFiZWwgfX08L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZ2VvLXRhYmxlLXRvb2xiYXJfX2FjdGlvbnNcIj5cbiAgICBAaWYgKHNob3dEZWxldGUgJiYgc2VsZWN0ZWRDb3VudCA+IDApIHtcbiAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICBjb2xvcj1cImRhbmdlclwiXG4gICAgICAgIGljb249XCJkZWxldGVcIlxuICAgICAgICB0aXRsZT1cIljDs2FcIlxuICAgICAgICAoY2xpY2tlZCk9XCJkZWxldGVDbGljay5lbWl0KClcIlxuICAgICAgPlxuICAgICAgICBYw7NhICh7eyBzZWxlY3RlZENvdW50IH19KVxuICAgICAgPC9nZW8tYnV0dG9uPlxuICAgIH1cblxuICAgIEBpZiAoc2hvd0V4cG9ydCkge1xuICAgICAgPGdlby1idXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgIGNvbG9yPVwiYnJhbmRcIlxuICAgICAgICBpY29uPVwiZG93bmxvYWRcIlxuICAgICAgICB0aXRsZT1cIlh14bqldCBk4buvIGxp4buHdVwiXG4gICAgICAgIChjbGlja2VkKT1cImV4cG9ydENsaWNrLmVtaXQoKVwiXG4gICAgICA+XG4gICAgICAgIFh14bqldCBk4buvIGxp4buHdVxuICAgICAgPC9nZW8tYnV0dG9uPlxuICAgIH1cblxuICAgIEBpZiAoc2hvd0NvbHVtblRvZ2dsZSkge1xuICAgICAgQGlmIChjb2x1bW5JdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgPGdlby1jb2x1bW4tcGlja2VyXG4gICAgICAgICAgW2l0ZW1zXT1cImNvbHVtbkl0ZW1zXCJcbiAgICAgICAgICBbc3RvcmFnZUtleV09XCJjb2x1bW5TdG9yYWdlS2V5XCJcbiAgICAgICAgICAoYXBwbHkpPVwiY29sdW1uQXBwbHkuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvZ2VvLWNvbHVtbi1waWNrZXI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGdlby1idXR0b25cbiAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBjb2xvcj1cImJyYW5kXCJcbiAgICAgICAgICBpY29uPVwiZXllLWludmlzaWJsZVwiXG4gICAgICAgICAgdGl0bGU9XCLhuqhuIGhp4buHbiBj4buZdFwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwidG9nZ2xlQ29sdW1ucy5lbWl0KClcIlxuICAgICAgICA+XG4gICAgICAgICAg4bqobiBoaeG7h24gY+G7mXRcbiAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoc2hvd0FkZCkge1xuICAgICAgPGdlby1idXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICBjb2xvcj1cImJyYW5kXCJcbiAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICBbdGl0bGVdPVwiYWRkTGFiZWxcIlxuICAgICAgICAoY2xpY2tlZCk9XCJhZGRDbGljay5lbWl0KClcIlxuICAgICAgPlxuICAgICAgICB7eyBhZGRMYWJlbCB9fVxuICAgICAgPC9nZW8tYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
36
+ args: [{ selector: 'geo-table-toolbar', standalone: true, imports: [NgZorroAntdModule, GeoButtonComponent, GeoColumnPickerComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"geo-table-toolbar\">\n <div class=\"geo-table-toolbar__info\">{{ displayResultLabel() }}</div>\n\n <div class=\"geo-table-toolbar__actions\">\n @if (showDelete() && selectedCount() > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"danger\"\n icon=\"delete\"\n title=\"X\u00F3a\"\n (clicked)=\"deleteClick.emit()\"\n >\n X\u00F3a ({{ selectedCount() }})\n </geo-button>\n }\n\n @if (showExport()) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"download\"\n title=\"Xu\u1EA5t d\u1EEF li\u1EC7u\"\n (clicked)=\"exportClick.emit()\"\n >\n Xu\u1EA5t d\u1EEF li\u1EC7u\n </geo-button>\n }\n\n @if (showColumnToggle()) {\n @if (columnItems().length) {\n <geo-column-picker\n [items]=\"columnItems()\"\n [storageKey]=\"columnStorageKey()\"\n (apply)=\"columnApply.emit($event)\"\n ></geo-column-picker>\n } @else {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"eye-invisible\"\n title=\"\u1EA8n hi\u1EC7n c\u1ED9t\"\n (clicked)=\"toggleColumns.emit()\"\n >\n \u1EA8n hi\u1EC7n c\u1ED9t\n </geo-button>\n }\n }\n\n @if (showAdd()) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n icon=\"plus\"\n [title]=\"addLabel()\"\n (clicked)=\"addClick.emit()\"\n >\n {{ addLabel() }}\n </geo-button>\n }\n </div>\n</div>\n", styles: [":host{display:block}.geo-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.geo-table-toolbar__info{font-size:16px;font-weight:600;line-height:24px;color:var(--geo-color-neutral-900)}.geo-table-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}@media (max-width: 767px){.geo-table-toolbar{flex-direction:column;align-items:stretch}.geo-table-toolbar__actions{margin-left:0;justify-content:flex-start}}\n"] }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXRhYmxlLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXRhYmxlL2dlby10YWJsZS10b29sYmFyL2dlby10YWJsZS10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby10YWJsZS9nZW8tdGFibGUtdG9vbGJhci9nZW8tdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsV0FBVyxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFDekMsYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixXQUFXLEdBQUcsS0FBSyxDQUF3QixFQUFFLENBQUMsQ0FBQztJQUN4RCwwREFBMEQ7SUFDakQsZ0JBQWdCLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUV4RCxXQUFXLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFDN0IsV0FBVyxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBQzdCLGFBQWEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUMvQixXQUFXLEdBQUcsTUFBTSxFQUErQixDQUFDO0lBQ3BELFFBQVEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUUxQixrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE9BQU8scUJBQXFCLEtBQUssV0FBVyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO3dHQTNCUSx3QkFBd0I7NEZBQXhCLHdCQUF3Qiw2bERDZHJDLDRrREE2REEsK2pCRHBEWSxpQkFBaUIsK0JBQUUsa0JBQWtCLHNPQUFFLHdCQUF3Qjs7NEZBSzlELHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLENBQUMsbUJBR3pELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQgeyBHZW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9nZW8tYnV0dG9uL2dlby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEdlb0NvbHVtblBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1jb2x1bW4tcGlja2VyL2dlby1jb2x1bW4tcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQsIEdlb0NvbHVtblBpY2tlckl0ZW0gfSBmcm9tICcuLi9nZW8tY29sdW1uLXBpY2tlci9nZW8tY29sdW1uLXBpY2tlci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby10YWJsZS10b29sYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nWm9ycm9BbnRkTW9kdWxlLCBHZW9CdXR0b25Db21wb25lbnQsIEdlb0NvbHVtblBpY2tlckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tdGFibGUtdG9vbGJhci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9UYWJsZVRvb2xiYXJDb21wb25lbnQge1xuICByZWFkb25seSByZXN1bHRMYWJlbCA9IGlucHV0KCcnKTtcbiAgcmVhZG9ubHkgcmVzdWx0Q291bnQgPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRDb3VudCA9IGlucHV0KDApO1xuICByZWFkb25seSBzaG93RGVsZXRlID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IHNob3dFeHBvcnQgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd0NvbHVtblRvZ2dsZSA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBzaG93QWRkID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IGFkZExhYmVsID0gaW5wdXQoJ1Row6ptIG3hu5tpJyk7XG4gIHJlYWRvbmx5IGNvbHVtbkl0ZW1zID0gaW5wdXQ8R2VvQ29sdW1uUGlja2VySXRlbVtdPihbXSk7XG4gIC8qKiBLZXkgbMawdSB0cuG6oW5nIHRow6FpIOG6qW4vaGnhu4duIGPhu5l0IHRyb25nIHNlc3Npb25TdG9yYWdlICovXG4gIHJlYWRvbmx5IGNvbHVtblN0b3JhZ2VLZXkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZGVsZXRlQ2xpY2sgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgZXhwb3J0Q2xpY2sgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgdG9nZ2xlQ29sdW1ucyA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBjb2x1bW5BcHBseSA9IG91dHB1dDxHZW9Db2x1bW5QaWNrZXJBcHBseVBheWxvYWQ+KCk7XG4gIHJlYWRvbmx5IGFkZENsaWNrID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheVJlc3VsdExhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdExhYmVsID0gdGhpcy5yZXN1bHRMYWJlbCgpO1xuICAgIGlmIChyZXN1bHRMYWJlbCkge1xuICAgICAgcmV0dXJuIHJlc3VsdExhYmVsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5yZXN1bHRDb3VudCgpID8/IDA7XG4gICAgcmV0dXJuIGBL4bq/dCBxdeG6oyB0w6xtIGtp4bq/bSAoJHtjb3VudH0ga+G6v3QgcXXhuqMpYDtcbiAgfSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLXRhYmxlLXRvb2xiYXJcIj5cbiAgPGRpdiBjbGFzcz1cImdlby10YWJsZS10b29sYmFyX19pbmZvXCI+e3sgZGlzcGxheVJlc3VsdExhYmVsKCkgfX08L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZ2VvLXRhYmxlLXRvb2xiYXJfX2FjdGlvbnNcIj5cbiAgICBAaWYgKHNob3dEZWxldGUoKSAmJiBzZWxlY3RlZENvdW50KCkgPiAwKSB7XG4gICAgICA8Z2VvLWJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgY29sb3I9XCJkYW5nZXJcIlxuICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgdGl0bGU9XCJYw7NhXCJcbiAgICAgICAgKGNsaWNrZWQpPVwiZGVsZXRlQ2xpY2suZW1pdCgpXCJcbiAgICAgID5cbiAgICAgICAgWMOzYSAoe3sgc2VsZWN0ZWRDb3VudCgpIH19KVxuICAgICAgPC9nZW8tYnV0dG9uPlxuICAgIH1cblxuICAgIEBpZiAoc2hvd0V4cG9ydCgpKSB7XG4gICAgICA8Z2VvLWJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgY29sb3I9XCJicmFuZFwiXG4gICAgICAgIGljb249XCJkb3dubG9hZFwiXG4gICAgICAgIHRpdGxlPVwiWHXhuqV0IGThu68gbGnhu4d1XCJcbiAgICAgICAgKGNsaWNrZWQpPVwiZXhwb3J0Q2xpY2suZW1pdCgpXCJcbiAgICAgID5cbiAgICAgICAgWHXhuqV0IGThu68gbGnhu4d1XG4gICAgICA8L2dlby1idXR0b24+XG4gICAgfVxuXG4gICAgQGlmIChzaG93Q29sdW1uVG9nZ2xlKCkpIHtcbiAgICAgIEBpZiAoY29sdW1uSXRlbXMoKS5sZW5ndGgpIHtcbiAgICAgICAgPGdlby1jb2x1bW4tcGlja2VyXG4gICAgICAgICAgW2l0ZW1zXT1cImNvbHVtbkl0ZW1zKClcIlxuICAgICAgICAgIFtzdG9yYWdlS2V5XT1cImNvbHVtblN0b3JhZ2VLZXkoKVwiXG4gICAgICAgICAgKGFwcGx5KT1cImNvbHVtbkFwcGx5LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgID48L2dlby1jb2x1bW4tcGlja2VyPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgY29sb3I9XCJicmFuZFwiXG4gICAgICAgICAgaWNvbj1cImV5ZS1pbnZpc2libGVcIlxuICAgICAgICAgIHRpdGxlPVwi4bqobiBoaeG7h24gY+G7mXRcIlxuICAgICAgICAgIChjbGlja2VkKT1cInRvZ2dsZUNvbHVtbnMuZW1pdCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIOG6qG4gaGnhu4duIGPhu5l0XG4gICAgICAgIDwvZ2VvLWJ1dHRvbj5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHNob3dBZGQoKSkge1xuICAgICAgPGdlby1idXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICBjb2xvcj1cImJyYW5kXCJcbiAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICBbdGl0bGVdPVwiYWRkTGFiZWwoKVwiXG4gICAgICAgIChjbGlja2VkKT1cImFkZENsaWNrLmVtaXQoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGFkZExhYmVsKCkgfX1cbiAgICAgIDwvZ2VvLWJ1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=