@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,5 +1,4 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, input, model, output, ViewEncapsulation, } from '@angular/core';
3
2
  import { NzIconModule } from 'ng-zorro-antd/icon';
4
3
  import { GeoButtonComponent } from '../geo-button/geo-button.component';
5
4
  import { GeoStepperComponent } from '../geo-stepper/geo-stepper.component';
@@ -23,46 +22,36 @@ import * as i1 from "ng-zorro-antd/icon";
23
22
  * ```
24
23
  */
25
24
  export class GeoStepFormLayoutComponent {
26
- steps = [];
27
- activeIndex = 0;
28
- title = '';
29
- clickableSteps = true;
25
+ steps = input([]);
26
+ activeIndex = model(0);
27
+ title = input('');
28
+ clickableSteps = input(true);
30
29
  /** Hiện nút ↑/↓ góc phải card (chuyển bước). Mặc định `true`. */
31
- showScrollButtons = true;
32
- showCancel = true;
33
- showPrevious = true;
34
- showSave = true;
35
- showNext = true;
36
- cancelLabel = 'Hủy';
37
- previousLabel = 'Trở lại';
38
- saveLabel = 'Lưu';
39
- nextLabel = 'Tiếp theo';
40
- finishLabel = 'Hoàn thành';
41
- saveLoading = false;
42
- nextLoading = false;
30
+ showScrollButtons = input(true);
31
+ showCancel = input(true);
32
+ showPrevious = input(true);
33
+ showSave = input(true);
34
+ showNext = input(true);
35
+ cancelLabel = input('Hủy');
36
+ previousLabel = input('Trở lại');
37
+ saveLabel = input('Lưu');
38
+ nextLabel = input('Tiếp theo');
39
+ finishLabel = input('Hoàn thành');
40
+ saveLoading = input(false);
41
+ nextLoading = input(false);
43
42
  /** Ẩn footer actions (dùng slot `[footer]` hoặc không cần nút). */
44
- hideDefaultFooter = false;
45
- activeIndexChange = new EventEmitter();
46
- stepSelect = new EventEmitter();
47
- cancel = new EventEmitter();
48
- previous = new EventEmitter();
49
- save = new EventEmitter();
50
- next = new EventEmitter();
51
- get isLastStep() {
52
- return this.steps.length > 0 && this.activeIndex >= this.steps.length - 1;
53
- }
54
- get canGoPreviousStep() {
55
- return this.findAdjacentStepIndex(-1) != null;
56
- }
57
- get canGoNextStep() {
58
- return this.findAdjacentStepIndex(1) != null;
59
- }
60
- get resolvedNextLabel() {
61
- return this.isLastStep ? this.finishLabel : this.nextLabel;
62
- }
43
+ hideDefaultFooter = input(false);
44
+ stepSelect = output();
45
+ cancel = output();
46
+ previous = output();
47
+ save = output();
48
+ next = output();
49
+ isLastStep = computed(() => this.steps().length > 0 && this.activeIndex() >= this.steps().length - 1);
50
+ canGoPreviousStep = computed(() => this.findAdjacentStepIndex(-1) != null);
51
+ canGoNextStep = computed(() => this.findAdjacentStepIndex(1) != null);
52
+ resolvedNextLabel = computed(() => this.isLastStep() ? this.finishLabel() : this.nextLabel());
63
53
  onActiveIndexChange(index) {
64
- this.activeIndex = index;
65
- this.activeIndexChange.emit(index);
54
+ this.activeIndex.set(index);
66
55
  }
67
56
  onStepSelect(event) {
68
57
  this.stepSelect.emit(event);
@@ -84,15 +73,15 @@ export class GeoStepFormLayoutComponent {
84
73
  const nextIndex = this.findAdjacentStepIndex(delta);
85
74
  if (nextIndex == null)
86
75
  return;
87
- const step = this.steps[nextIndex];
88
- this.activeIndex = nextIndex;
89
- this.activeIndexChange.emit(nextIndex);
76
+ const step = this.steps()[nextIndex];
77
+ this.activeIndex.set(nextIndex);
90
78
  this.stepSelect.emit({ index: nextIndex, step });
91
79
  }
92
80
  findAdjacentStepIndex(delta) {
93
- let index = this.activeIndex + delta;
94
- while (index >= 0 && index < this.steps.length) {
95
- if (!this.steps[index]?.disabled) {
81
+ const steps = this.steps();
82
+ let index = this.activeIndex() + delta;
83
+ while (index >= 0 && index < steps.length) {
84
+ if (!steps[index]?.disabled) {
96
85
  return index;
97
86
  }
98
87
  index += delta;
@@ -100,58 +89,12 @@ export class GeoStepFormLayoutComponent {
100
89
  return null;
101
90
  }
102
91
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoStepFormLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoStepFormLayoutComponent, isStandalone: true, selector: "geo-step-form-layout", inputs: { steps: "steps", activeIndex: "activeIndex", title: "title", clickableSteps: "clickableSteps", showScrollButtons: "showScrollButtons", showCancel: "showCancel", showPrevious: "showPrevious", showSave: "showSave", showNext: "showNext", cancelLabel: "cancelLabel", previousLabel: "previousLabel", saveLabel: "saveLabel", nextLabel: "nextLabel", finishLabel: "finishLabel", saveLoading: "saveLoading", nextLoading: "nextLoading", hideDefaultFooter: "hideDefaultFooter" }, outputs: { activeIndexChange: "activeIndexChange", stepSelect: "stepSelect", cancel: "cancel", previous: "previous", save: "save", next: "next" }, host: { classAttribute: "geo-step-form-layout-host" }, ngImport: i0, template: "<div class=\"geo-step-form-layout\">\n <aside class=\"geo-step-form-layout__aside\">\n <div class=\"geo-step-form-layout__step-card\">\n <geo-stepper\n [steps]=\"steps\"\n [activeIndex]=\"activeIndex\"\n [clickable]=\"clickableSteps\"\n orientation=\"vertical\"\n (activeIndexChange)=\"onActiveIndexChange($event)\"\n (stepSelect)=\"onStepSelect($event)\"\n ></geo-stepper>\n\n <ng-content select=\"[sidebarExtra]\"></ng-content>\n </div>\n </aside>\n\n <div\n class=\"geo-step-form-layout__main-wrap\"\n [class.geo-step-form-layout__main-wrap--with-fab]=\"showScrollButtons\"\n >\n @if (showScrollButtons) {\n <div class=\"geo-step-form-layout__scroll-fab\">\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc tr\u01B0\u1EDBc\"\n [disabled]=\"!canGoPreviousStep\"\n (click)=\"goAdjacentStep('up')\"\n >\n <span nz-icon nzType=\"arrow-up\" nzTheme=\"outline\"></span>\n </button>\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc sau\"\n [disabled]=\"!canGoNextStep\"\n (click)=\"goAdjacentStep('down')\"\n >\n <span nz-icon nzType=\"arrow-down\" nzTheme=\"outline\"></span>\n </button>\n </div>\n }\n\n <section class=\"geo-step-form-layout__card\">\n @if (title) {\n <h1 class=\"geo-step-form-layout__title\">{{ title }}</h1>\n }\n\n <div class=\"geo-step-form-layout__body\">\n <ng-content></ng-content>\n </div>\n\n @if (!hideDefaultFooter) {\n <footer class=\"geo-step-form-layout__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n\n <div class=\"geo-step-form-layout__footer-default\">\n <div class=\"geo-step-form-layout__footer-start\">\n @if (showCancel) {\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelLabel }}\n </geo-button>\n }\n </div>\n\n <div class=\"geo-step-form-layout__footer-end\">\n @if (showPrevious && activeIndex > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"left\"\n (clicked)=\"onPrevious()\"\n >\n {{ previousLabel }}\n </geo-button>\n }\n @if (showSave) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"save\"\n [disabled]=\"saveLoading\"\n (clicked)=\"onSave()\"\n >\n {{ saveLabel }}\n </geo-button>\n }\n @if (showNext) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [icon]=\"isLastStep ? 'check' : 'right'\"\n [disabled]=\"nextLoading\"\n (clicked)=\"onNext()\"\n >\n {{ resolvedNextLabel }}\n </geo-button>\n }\n </div>\n </div>\n </footer>\n } @else {\n <ng-content select=\"[footer]\"></ng-content>\n }\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host,.geo-step-form-layout-host{display:block;width:100%;min-height:100%;box-sizing:border-box}.geo-step-form-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start;width:100%;min-height:100%;height:100%;padding:16px 24px;box-sizing:border-box;overflow:visible}.geo-step-form-layout__aside{display:flex;flex-direction:column;min-width:0;align-self:start}.geo-step-form-layout__step-card{display:flex;flex-direction:column;gap:16px;width:100%;padding:20px 16px;background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__main-wrap{position:relative;width:100%;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-self:stretch;overflow:visible;box-sizing:border-box}.geo-step-form-layout__main-wrap--with-fab{padding-right:48px}.geo-step-form-layout__scroll-fab{position:absolute;top:0;right:0;z-index:2;display:flex;flex-direction:column;gap:10px}.geo-step-form-layout__fab{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--geo-color-primary-default);border-radius:50%;background:var(--geo-color-neutral-white);color:var(--geo-color-primary-default);cursor:pointer;box-shadow:none;transition:background-color .15s ease,opacity .15s ease}.geo-step-form-layout__fab .anticon{font-size:14px}.geo-step-form-layout__fab:hover:not(:disabled){background:var(--geo-color-primary-surface-light)}.geo-step-form-layout__fab:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px}.geo-step-form-layout__fab:disabled{opacity:.35;cursor:not-allowed}.geo-step-form-layout__card{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;flex:1 1 auto;height:calc(100vh - 48px);max-height:calc(100vh - 48px);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);overflow:hidden;box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__title{flex-shrink:0;margin:0;padding:24px 24px 8px;font-size:20px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-layout__body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 24px 8px;overscroll-behavior:contain}.geo-step-form-layout__footer{flex-shrink:0;border-top:1px solid var(--geo-color-neutral-100);padding:16px 24px 20px;background:var(--geo-color-neutral-white)}.geo-step-form-layout__footer-default{display:flex;align-items:center;justify-content:space-between;gap:12px}.geo-step-form-layout__footer-start,.geo-step-form-layout__footer-end{display:flex;align-items:center;gap:12px}.geo-step-form-section{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.geo-step-form-section:last-child{margin-bottom:8px}.geo-step-form-section__title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.geo-step-form-grid--cols-1{grid-template-columns:minmax(0,1fr)}.geo-step-form-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.geo-step-form-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.geo-step-form-grid__full{grid-column:1/-1}@media (max-width: 1100px){.geo-step-form-layout{grid-template-columns:220px minmax(0,1fr)}.geo-step-form-grid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.geo-step-form-layout{grid-template-columns:1fr;padding:12px 16px 20px}.geo-step-form-layout__main-wrap{margin-right:0;padding-right:0}.geo-step-form-layout__scroll-fab{display:none}.geo-step-form-layout__card{height:auto;max-height:none}.geo-step-form-grid,.geo-step-form-grid--cols-3,.geo-step-form-grid--cols-4{grid-template-columns:minmax(0,1fr)}}\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"] }, { 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: GeoStepperComponent, selector: "geo-stepper", inputs: ["steps", "activeIndex", "orientation", "clickable"], outputs: ["activeIndexChange", "stepSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoStepFormLayoutComponent, isStandalone: true, selector: "geo-step-form-layout", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, clickableSteps: { classPropertyName: "clickableSteps", publicName: "clickableSteps", isSignal: true, isRequired: false, transformFunction: null }, showScrollButtons: { classPropertyName: "showScrollButtons", publicName: "showScrollButtons", isSignal: true, isRequired: false, transformFunction: null }, showCancel: { classPropertyName: "showCancel", publicName: "showCancel", isSignal: true, isRequired: false, transformFunction: null }, showPrevious: { classPropertyName: "showPrevious", publicName: "showPrevious", isSignal: true, isRequired: false, transformFunction: null }, showSave: { classPropertyName: "showSave", publicName: "showSave", isSignal: true, isRequired: false, transformFunction: null }, showNext: { classPropertyName: "showNext", publicName: "showNext", isSignal: true, isRequired: false, transformFunction: null }, cancelLabel: { classPropertyName: "cancelLabel", publicName: "cancelLabel", isSignal: true, isRequired: false, transformFunction: null }, previousLabel: { classPropertyName: "previousLabel", publicName: "previousLabel", isSignal: true, isRequired: false, transformFunction: null }, saveLabel: { classPropertyName: "saveLabel", publicName: "saveLabel", isSignal: true, isRequired: false, transformFunction: null }, nextLabel: { classPropertyName: "nextLabel", publicName: "nextLabel", isSignal: true, isRequired: false, transformFunction: null }, finishLabel: { classPropertyName: "finishLabel", publicName: "finishLabel", isSignal: true, isRequired: false, transformFunction: null }, saveLoading: { classPropertyName: "saveLoading", publicName: "saveLoading", isSignal: true, isRequired: false, transformFunction: null }, nextLoading: { classPropertyName: "nextLoading", publicName: "nextLoading", isSignal: true, isRequired: false, transformFunction: null }, hideDefaultFooter: { classPropertyName: "hideDefaultFooter", publicName: "hideDefaultFooter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange", stepSelect: "stepSelect", cancel: "cancel", previous: "previous", save: "save", next: "next" }, host: { classAttribute: "geo-step-form-layout-host" }, ngImport: i0, template: "<div class=\"geo-step-form-layout\">\n <aside class=\"geo-step-form-layout__aside\">\n <div class=\"geo-step-form-layout__step-card\">\n <geo-stepper\n [steps]=\"steps()\"\n [activeIndex]=\"activeIndex()\"\n [clickable]=\"clickableSteps()\"\n orientation=\"vertical\"\n (activeIndexChange)=\"onActiveIndexChange($event)\"\n (stepSelect)=\"onStepSelect($event)\"\n ></geo-stepper>\n\n <ng-content select=\"[sidebarExtra]\"></ng-content>\n </div>\n </aside>\n\n <div\n class=\"geo-step-form-layout__main-wrap\"\n [class.geo-step-form-layout__main-wrap--with-fab]=\"showScrollButtons()\"\n >\n @if (showScrollButtons()) {\n <div class=\"geo-step-form-layout__scroll-fab\">\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc tr\u01B0\u1EDBc\"\n [disabled]=\"!canGoPreviousStep()\"\n (click)=\"goAdjacentStep('up')\"\n >\n <span nz-icon nzType=\"arrow-up\" nzTheme=\"outline\"></span>\n </button>\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc sau\"\n [disabled]=\"!canGoNextStep()\"\n (click)=\"goAdjacentStep('down')\"\n >\n <span nz-icon nzType=\"arrow-down\" nzTheme=\"outline\"></span>\n </button>\n </div>\n }\n\n <section class=\"geo-step-form-layout__card\">\n @if (title()) {\n <h1 class=\"geo-step-form-layout__title\">{{ title() }}</h1>\n }\n\n <div class=\"geo-step-form-layout__body\">\n <ng-content></ng-content>\n </div>\n\n @if (!hideDefaultFooter()) {\n <footer class=\"geo-step-form-layout__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n\n <div class=\"geo-step-form-layout__footer-default\">\n <div class=\"geo-step-form-layout__footer-start\">\n @if (showCancel()) {\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelLabel() }}\n </geo-button>\n }\n </div>\n\n <div class=\"geo-step-form-layout__footer-end\">\n @if (showPrevious() && activeIndex() > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"left\"\n (clicked)=\"onPrevious()\"\n >\n {{ previousLabel() }}\n </geo-button>\n }\n @if (showSave()) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"save\"\n [disabled]=\"saveLoading()\"\n (clicked)=\"onSave()\"\n >\n {{ saveLabel() }}\n </geo-button>\n }\n @if (showNext()) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [icon]=\"isLastStep() ? 'check' : 'right'\"\n [disabled]=\"nextLoading()\"\n (clicked)=\"onNext()\"\n >\n {{ resolvedNextLabel() }}\n </geo-button>\n }\n </div>\n </div>\n </footer>\n } @else {\n <ng-content select=\"[footer]\"></ng-content>\n }\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host,.geo-step-form-layout-host{display:block;width:100%;min-height:100%;box-sizing:border-box}.geo-step-form-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start;width:100%;min-height:100%;height:100%;padding:16px 24px;box-sizing:border-box;overflow:visible}.geo-step-form-layout__aside{display:flex;flex-direction:column;min-width:0;align-self:start}.geo-step-form-layout__step-card{display:flex;flex-direction:column;gap:16px;width:100%;padding:20px 16px;background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__main-wrap{position:relative;width:100%;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-self:stretch;overflow:visible;box-sizing:border-box}.geo-step-form-layout__main-wrap--with-fab{padding-right:48px}.geo-step-form-layout__scroll-fab{position:absolute;top:0;right:0;z-index:2;display:flex;flex-direction:column;gap:10px}.geo-step-form-layout__fab{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--geo-color-primary-default);border-radius:50%;background:var(--geo-color-neutral-white);color:var(--geo-color-primary-default);cursor:pointer;box-shadow:none;transition:background-color .15s ease,opacity .15s ease}.geo-step-form-layout__fab .anticon{font-size:14px}.geo-step-form-layout__fab:hover:not(:disabled){background:var(--geo-color-primary-surface-light)}.geo-step-form-layout__fab:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px}.geo-step-form-layout__fab:disabled{opacity:.35;cursor:not-allowed}.geo-step-form-layout__card{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;flex:1 1 auto;height:calc(100vh - 48px);max-height:calc(100vh - 48px);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);overflow:hidden;box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__title{flex-shrink:0;margin:0;padding:24px 24px 8px;font-size:20px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-layout__body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 24px 8px;overscroll-behavior:contain}.geo-step-form-layout__footer{flex-shrink:0;border-top:1px solid var(--geo-color-neutral-100);padding:16px 24px 20px;background:var(--geo-color-neutral-white)}.geo-step-form-layout__footer-default{display:flex;align-items:center;justify-content:space-between;gap:12px}.geo-step-form-layout__footer-start,.geo-step-form-layout__footer-end{display:flex;align-items:center;gap:12px}.geo-step-form-section{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.geo-step-form-section:last-child{margin-bottom:8px}.geo-step-form-section__title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.geo-step-form-grid--cols-1{grid-template-columns:minmax(0,1fr)}.geo-step-form-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.geo-step-form-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.geo-step-form-grid__full{grid-column:1/-1}@media (max-width: 1100px){.geo-step-form-layout{grid-template-columns:220px minmax(0,1fr)}.geo-step-form-grid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.geo-step-form-layout{grid-template-columns:1fr;padding:12px 16px 20px}.geo-step-form-layout__main-wrap{margin-right:0;padding-right:0}.geo-step-form-layout__scroll-fab{display:none}.geo-step-form-layout__card{height:auto;max-height:none}.geo-step-form-grid,.geo-step-form-grid--cols-3,.geo-step-form-grid--cols-4{grid-template-columns:minmax(0,1fr)}}\n"], dependencies: [{ kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { 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: GeoStepperComponent, selector: "geo-stepper", inputs: ["steps", "activeIndex", "orientation", "clickable"], outputs: ["activeIndexChange", "stepSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
104
93
  }
105
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoStepFormLayoutComponent, decorators: [{
106
95
  type: Component,
107
- args: [{ selector: 'geo-step-form-layout', standalone: true, imports: [CommonModule, NzIconModule, GeoButtonComponent, GeoStepperComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
96
+ args: [{ selector: 'geo-step-form-layout', standalone: true, imports: [NzIconModule, GeoButtonComponent, GeoStepperComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
108
97
  class: 'geo-step-form-layout-host',
109
- }, template: "<div class=\"geo-step-form-layout\">\n <aside class=\"geo-step-form-layout__aside\">\n <div class=\"geo-step-form-layout__step-card\">\n <geo-stepper\n [steps]=\"steps\"\n [activeIndex]=\"activeIndex\"\n [clickable]=\"clickableSteps\"\n orientation=\"vertical\"\n (activeIndexChange)=\"onActiveIndexChange($event)\"\n (stepSelect)=\"onStepSelect($event)\"\n ></geo-stepper>\n\n <ng-content select=\"[sidebarExtra]\"></ng-content>\n </div>\n </aside>\n\n <div\n class=\"geo-step-form-layout__main-wrap\"\n [class.geo-step-form-layout__main-wrap--with-fab]=\"showScrollButtons\"\n >\n @if (showScrollButtons) {\n <div class=\"geo-step-form-layout__scroll-fab\">\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc tr\u01B0\u1EDBc\"\n [disabled]=\"!canGoPreviousStep\"\n (click)=\"goAdjacentStep('up')\"\n >\n <span nz-icon nzType=\"arrow-up\" nzTheme=\"outline\"></span>\n </button>\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc sau\"\n [disabled]=\"!canGoNextStep\"\n (click)=\"goAdjacentStep('down')\"\n >\n <span nz-icon nzType=\"arrow-down\" nzTheme=\"outline\"></span>\n </button>\n </div>\n }\n\n <section class=\"geo-step-form-layout__card\">\n @if (title) {\n <h1 class=\"geo-step-form-layout__title\">{{ title }}</h1>\n }\n\n <div class=\"geo-step-form-layout__body\">\n <ng-content></ng-content>\n </div>\n\n @if (!hideDefaultFooter) {\n <footer class=\"geo-step-form-layout__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n\n <div class=\"geo-step-form-layout__footer-default\">\n <div class=\"geo-step-form-layout__footer-start\">\n @if (showCancel) {\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelLabel }}\n </geo-button>\n }\n </div>\n\n <div class=\"geo-step-form-layout__footer-end\">\n @if (showPrevious && activeIndex > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"left\"\n (clicked)=\"onPrevious()\"\n >\n {{ previousLabel }}\n </geo-button>\n }\n @if (showSave) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"save\"\n [disabled]=\"saveLoading\"\n (clicked)=\"onSave()\"\n >\n {{ saveLabel }}\n </geo-button>\n }\n @if (showNext) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [icon]=\"isLastStep ? 'check' : 'right'\"\n [disabled]=\"nextLoading\"\n (clicked)=\"onNext()\"\n >\n {{ resolvedNextLabel }}\n </geo-button>\n }\n </div>\n </div>\n </footer>\n } @else {\n <ng-content select=\"[footer]\"></ng-content>\n }\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host,.geo-step-form-layout-host{display:block;width:100%;min-height:100%;box-sizing:border-box}.geo-step-form-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start;width:100%;min-height:100%;height:100%;padding:16px 24px;box-sizing:border-box;overflow:visible}.geo-step-form-layout__aside{display:flex;flex-direction:column;min-width:0;align-self:start}.geo-step-form-layout__step-card{display:flex;flex-direction:column;gap:16px;width:100%;padding:20px 16px;background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__main-wrap{position:relative;width:100%;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-self:stretch;overflow:visible;box-sizing:border-box}.geo-step-form-layout__main-wrap--with-fab{padding-right:48px}.geo-step-form-layout__scroll-fab{position:absolute;top:0;right:0;z-index:2;display:flex;flex-direction:column;gap:10px}.geo-step-form-layout__fab{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--geo-color-primary-default);border-radius:50%;background:var(--geo-color-neutral-white);color:var(--geo-color-primary-default);cursor:pointer;box-shadow:none;transition:background-color .15s ease,opacity .15s ease}.geo-step-form-layout__fab .anticon{font-size:14px}.geo-step-form-layout__fab:hover:not(:disabled){background:var(--geo-color-primary-surface-light)}.geo-step-form-layout__fab:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px}.geo-step-form-layout__fab:disabled{opacity:.35;cursor:not-allowed}.geo-step-form-layout__card{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;flex:1 1 auto;height:calc(100vh - 48px);max-height:calc(100vh - 48px);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);overflow:hidden;box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__title{flex-shrink:0;margin:0;padding:24px 24px 8px;font-size:20px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-layout__body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 24px 8px;overscroll-behavior:contain}.geo-step-form-layout__footer{flex-shrink:0;border-top:1px solid var(--geo-color-neutral-100);padding:16px 24px 20px;background:var(--geo-color-neutral-white)}.geo-step-form-layout__footer-default{display:flex;align-items:center;justify-content:space-between;gap:12px}.geo-step-form-layout__footer-start,.geo-step-form-layout__footer-end{display:flex;align-items:center;gap:12px}.geo-step-form-section{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.geo-step-form-section:last-child{margin-bottom:8px}.geo-step-form-section__title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.geo-step-form-grid--cols-1{grid-template-columns:minmax(0,1fr)}.geo-step-form-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.geo-step-form-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.geo-step-form-grid__full{grid-column:1/-1}@media (max-width: 1100px){.geo-step-form-layout{grid-template-columns:220px minmax(0,1fr)}.geo-step-form-grid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.geo-step-form-layout{grid-template-columns:1fr;padding:12px 16px 20px}.geo-step-form-layout__main-wrap{margin-right:0;padding-right:0}.geo-step-form-layout__scroll-fab{display:none}.geo-step-form-layout__card{height:auto;max-height:none}.geo-step-form-grid,.geo-step-form-grid--cols-3,.geo-step-form-grid--cols-4{grid-template-columns:minmax(0,1fr)}}\n"] }]
110
- }], propDecorators: { steps: [{
111
- type: Input
112
- }], activeIndex: [{
113
- type: Input
114
- }], title: [{
115
- type: Input
116
- }], clickableSteps: [{
117
- type: Input
118
- }], showScrollButtons: [{
119
- type: Input
120
- }], showCancel: [{
121
- type: Input
122
- }], showPrevious: [{
123
- type: Input
124
- }], showSave: [{
125
- type: Input
126
- }], showNext: [{
127
- type: Input
128
- }], cancelLabel: [{
129
- type: Input
130
- }], previousLabel: [{
131
- type: Input
132
- }], saveLabel: [{
133
- type: Input
134
- }], nextLabel: [{
135
- type: Input
136
- }], finishLabel: [{
137
- type: Input
138
- }], saveLoading: [{
139
- type: Input
140
- }], nextLoading: [{
141
- type: Input
142
- }], hideDefaultFooter: [{
143
- type: Input
144
- }], activeIndexChange: [{
145
- type: Output
146
- }], stepSelect: [{
147
- type: Output
148
- }], cancel: [{
149
- type: Output
150
- }], previous: [{
151
- type: Output
152
- }], save: [{
153
- type: Output
154
- }], next: [{
155
- type: Output
156
- }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUczRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQWFILE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsS0FBSyxHQUFxQixFQUFFLENBQUM7SUFDN0IsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsY0FBYyxHQUFHLElBQUksQ0FBQztJQUMvQixpRUFBaUU7SUFDeEQsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBRXpCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQzFCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsU0FBUyxHQUFHLFdBQVcsQ0FBQztJQUN4QixXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUM3QixtRUFBbUU7SUFDMUQsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBRXpCLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDL0MsVUFBVSxHQUFHLElBQUksWUFBWSxFQUEyQyxDQUFDO0lBQ3pFLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2xDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ3BDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2hDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQThDO1FBQ3pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQXdCO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksU0FBUyxJQUFJLElBQUk7WUFBRSxPQUFPO1FBRTlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBYTtRQUN6QyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUNyQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELEtBQUssSUFBSSxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0ExRlUsMEJBQTBCOzRGQUExQiwwQkFBMEIsd3ZCQzNDdkMseTlHQTJHQSxnNEhEekVZLFlBQVksOEJBQUUsWUFBWSxrTkFBRSxrQkFBa0Isc09BQUUsbUJBQW1COzs0RkFTbEUsMEJBQTBCO2tCQVp0QyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixDQUFDLG1CQUc3RCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSwyQkFBMkI7cUJBQ25DOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuaW1wb3J0IHsgR2VvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLWJ1dHRvbi9nZW8tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9TdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLXN0ZXBwZXIvZ2VvLXN0ZXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb1N0ZXBwZXJTdGVwIH0gZnJvbSAnLi4vZ2VvLXN0ZXBwZXIvZ2VvLXN0ZXBwZXIudHlwZXMnO1xuXG4vKipcbiAqIExheW91dCBmb3JtIHBhZ2UgbXVsdGktc3RlcDogY+G7mXQgdHLDoWkgc3RlcHBlciArIGPhu5l0IHBo4bqjaSBmb3JtIGNhcmQuXG4gKlxuICogYGBgaHRtbFxuICogPGdlby1zdGVwLWZvcm0tbGF5b3V0XG4gKiAgIHRpdGxlPVwiVGjDqm0gbeG7m2kgLi4uXCJcbiAqICAgW3N0ZXBzXT1cInN0ZXBzXCJcbiAqICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4XCJcbiAqICAgW3Nob3dTY3JvbGxCdXR0b25zXT1cInRydWVcIlxuICogICAoY2FuY2VsKT1cIm9uQ2FuY2VsKClcIlxuICogICAoc2F2ZSk9XCJvblNhdmUoKVwiXG4gKiAgIChuZXh0KT1cIm9uTmV4dCgpXCJcbiAqID5cbiAqICAgPGZvcm0+Li4uPC9mb3JtPlxuICogPC9nZW8tc3RlcC1mb3JtLWxheW91dD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tc3RlcC1mb3JtLWxheW91dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE56SWNvbk1vZHVsZSwgR2VvQnV0dG9uQ29tcG9uZW50LCBHZW9TdGVwcGVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1zdGVwLWZvcm0tbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1zdGVwLWZvcm0tbGF5b3V0LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1zdGVwLWZvcm0tbGF5b3V0LWhvc3QnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9TdGVwRm9ybUxheW91dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN0ZXBzOiBHZW9TdGVwcGVyU3RlcFtdID0gW107XG4gIEBJbnB1dCgpIGFjdGl2ZUluZGV4ID0gMDtcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgY2xpY2thYmxlU3RlcHMgPSB0cnVlO1xuICAvKiogSGnhu4duIG7DunQg4oaRL+KGkyBnw7NjIHBo4bqjaSBjYXJkIChjaHV54buDbiBixrDhu5tjKS4gTeG6t2MgxJHhu4tuaCBgdHJ1ZWAuICovXG4gIEBJbnB1dCgpIHNob3dTY3JvbGxCdXR0b25zID0gdHJ1ZTtcblxuICBASW5wdXQoKSBzaG93Q2FuY2VsID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ByZXZpb3VzID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1NhdmUgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93TmV4dCA9IHRydWU7XG4gIEBJbnB1dCgpIGNhbmNlbExhYmVsID0gJ0jhu6d5JztcbiAgQElucHV0KCkgcHJldmlvdXNMYWJlbCA9ICdUcuG7nyBs4bqhaSc7XG4gIEBJbnB1dCgpIHNhdmVMYWJlbCA9ICdMxrB1JztcbiAgQElucHV0KCkgbmV4dExhYmVsID0gJ1Rp4bq/cCB0aGVvJztcbiAgQElucHV0KCkgZmluaXNoTGFiZWwgPSAnSG/DoG4gdGjDoG5oJztcbiAgQElucHV0KCkgc2F2ZUxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgbmV4dExvYWRpbmcgPSBmYWxzZTtcbiAgLyoqIOG6qG4gZm9vdGVyIGFjdGlvbnMgKGTDuW5nIHNsb3QgYFtmb290ZXJdYCBob+G6t2Mga2jDtG5nIGPhuqduIG7DunQpLiAqL1xuICBASW5wdXQoKSBoaWRlRGVmYXVsdEZvb3RlciA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBhY3RpdmVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgc3RlcFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDogbnVtYmVyOyBzdGVwOiBHZW9TdGVwcGVyU3RlcCB9PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgbmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgaXNMYXN0U3RlcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5sZW5ndGggPiAwICYmIHRoaXMuYWN0aXZlSW5kZXggPj0gdGhpcy5zdGVwcy5sZW5ndGggLSAxO1xuICB9XG5cbiAgZ2V0IGNhbkdvUHJldmlvdXNTdGVwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbmRBZGphY2VudFN0ZXBJbmRleCgtMSkgIT0gbnVsbDtcbiAgfVxuXG4gIGdldCBjYW5Hb05leHRTdGVwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbmRBZGphY2VudFN0ZXBJbmRleCgxKSAhPSBudWxsO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkTmV4dExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNMYXN0U3RlcCA/IHRoaXMuZmluaXNoTGFiZWwgOiB0aGlzLm5leHRMYWJlbDtcbiAgfVxuXG4gIG9uQWN0aXZlSW5kZXhDaGFuZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICB9XG5cbiAgb25TdGVwU2VsZWN0KGV2ZW50OiB7IGluZGV4OiBudW1iZXI7IHN0ZXA6IEdlb1N0ZXBwZXJTdGVwIH0pOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBTZWxlY3QuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cblxuICBvblByZXZpb3VzKCk6IHZvaWQge1xuICAgIHRoaXMucHJldmlvdXMuZW1pdCgpO1xuICB9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZS5lbWl0KCk7XG4gIH1cblxuICBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0LmVtaXQoKTtcbiAgfVxuXG4gIGdvQWRqYWNlbnRTdGVwKGRpcmVjdGlvbjogJ3VwJyB8ICdkb3duJyk6IHZvaWQge1xuICAgIGNvbnN0IGRlbHRhID0gZGlyZWN0aW9uID09PSAndXAnID8gLTEgOiAxO1xuICAgIGNvbnN0IG5leHRJbmRleCA9IHRoaXMuZmluZEFkamFjZW50U3RlcEluZGV4KGRlbHRhKTtcbiAgICBpZiAobmV4dEluZGV4ID09IG51bGwpIHJldHVybjtcblxuICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnN0ZXBzW25leHRJbmRleF07XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IG5leHRJbmRleDtcbiAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQobmV4dEluZGV4KTtcbiAgICB0aGlzLnN0ZXBTZWxlY3QuZW1pdCh7IGluZGV4OiBuZXh0SW5kZXgsIHN0ZXAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRBZGphY2VudFN0ZXBJbmRleChkZWx0YTogLTEgfCAxKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy5hY3RpdmVJbmRleCArIGRlbHRhO1xuICAgIHdoaWxlIChpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIGlmICghdGhpcy5zdGVwc1tpbmRleF0/LmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICAgIGluZGV4ICs9IGRlbHRhO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0XCI+XG4gIDxhc2lkZSBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0X19hc2lkZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fc3RlcC1jYXJkXCI+XG4gICAgICA8Z2VvLXN0ZXBwZXJcbiAgICAgICAgW3N0ZXBzXT1cInN0ZXBzXCJcbiAgICAgICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4XCJcbiAgICAgICAgW2NsaWNrYWJsZV09XCJjbGlja2FibGVTdGVwc1wiXG4gICAgICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAoYWN0aXZlSW5kZXhDaGFuZ2UpPVwib25BY3RpdmVJbmRleENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKHN0ZXBTZWxlY3QpPVwib25TdGVwU2VsZWN0KCRldmVudClcIlxuICAgICAgPjwvZ2VvLXN0ZXBwZXI+XG5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzaWRlYmFyRXh0cmFdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2FzaWRlPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0X19tYWluLXdyYXBcIlxuICAgIFtjbGFzcy5nZW8tc3RlcC1mb3JtLWxheW91dF9fbWFpbi13cmFwLS13aXRoLWZhYl09XCJzaG93U2Nyb2xsQnV0dG9uc1wiXG4gID5cbiAgICBAaWYgKHNob3dTY3JvbGxCdXR0b25zKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX3Njcm9sbC1mYWJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX2ZhYlwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkLGsOG7m2MgdHLGsOG7m2NcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuR29QcmV2aW91c1N0ZXBcIlxuICAgICAgICAgIChjbGljayk9XCJnb0FkamFjZW50U3RlcCgndXAnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cImFycm93LXVwXCIgbnpUaGVtZT1cIm91dGxpbmVcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fZmFiXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQsaw4bubYyBzYXVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuR29OZXh0U3RlcFwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvQWRqYWNlbnRTdGVwKCdkb3duJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJhcnJvdy1kb3duXCIgbnpUaGVtZT1cIm91dGxpbmVcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fY2FyZFwiPlxuICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8aDEgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fdGl0bGVcIj57eyB0aXRsZSB9fTwvaDE+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fYm9keVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmICghaGlkZURlZmF1bHRGb290ZXIpIHtcbiAgICAgICAgPGZvb3RlciBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0X19mb290ZXJcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fZm9vdGVyLWRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fZm9vdGVyLXN0YXJ0XCI+XG4gICAgICAgICAgICAgIEBpZiAoc2hvd0NhbmNlbCkge1xuICAgICAgICAgICAgICAgIDxnZW8tYnV0dG9uIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIiBjb2xvcj1cImJyYW5kXCIgKGNsaWNrZWQpPVwib25DYW5jZWwoKVwiPlxuICAgICAgICAgICAgICAgICAge3sgY2FuY2VsTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2dlby1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX2Zvb3Rlci1lbmRcIj5cbiAgICAgICAgICAgICAgQGlmIChzaG93UHJldmlvdXMgJiYgYWN0aXZlSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgPGdlby1idXR0b25cbiAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgY29sb3I9XCJicmFuZFwiXG4gICAgICAgICAgICAgICAgICBpY29uPVwibGVmdFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblByZXZpb3VzKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2dlby1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChzaG93U2F2ZSkge1xuICAgICAgICAgICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYnJhbmRcIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInNhdmVcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2F2ZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzYXZlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2dlby1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChzaG93TmV4dCkge1xuICAgICAgICAgICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cImJyYW5kXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cImlzTGFzdFN0ZXAgPyAnY2hlY2snIDogJ3JpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibmV4dExvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25OZXh0KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHJlc29sdmVkTmV4dExhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
98
+ }, template: "<div class=\"geo-step-form-layout\">\n <aside class=\"geo-step-form-layout__aside\">\n <div class=\"geo-step-form-layout__step-card\">\n <geo-stepper\n [steps]=\"steps()\"\n [activeIndex]=\"activeIndex()\"\n [clickable]=\"clickableSteps()\"\n orientation=\"vertical\"\n (activeIndexChange)=\"onActiveIndexChange($event)\"\n (stepSelect)=\"onStepSelect($event)\"\n ></geo-stepper>\n\n <ng-content select=\"[sidebarExtra]\"></ng-content>\n </div>\n </aside>\n\n <div\n class=\"geo-step-form-layout__main-wrap\"\n [class.geo-step-form-layout__main-wrap--with-fab]=\"showScrollButtons()\"\n >\n @if (showScrollButtons()) {\n <div class=\"geo-step-form-layout__scroll-fab\">\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc tr\u01B0\u1EDBc\"\n [disabled]=\"!canGoPreviousStep()\"\n (click)=\"goAdjacentStep('up')\"\n >\n <span nz-icon nzType=\"arrow-up\" nzTheme=\"outline\"></span>\n </button>\n <button\n type=\"button\"\n class=\"geo-step-form-layout__fab\"\n aria-label=\"B\u01B0\u1EDBc sau\"\n [disabled]=\"!canGoNextStep()\"\n (click)=\"goAdjacentStep('down')\"\n >\n <span nz-icon nzType=\"arrow-down\" nzTheme=\"outline\"></span>\n </button>\n </div>\n }\n\n <section class=\"geo-step-form-layout__card\">\n @if (title()) {\n <h1 class=\"geo-step-form-layout__title\">{{ title() }}</h1>\n }\n\n <div class=\"geo-step-form-layout__body\">\n <ng-content></ng-content>\n </div>\n\n @if (!hideDefaultFooter()) {\n <footer class=\"geo-step-form-layout__footer\">\n <ng-content select=\"[footer]\"></ng-content>\n\n <div class=\"geo-step-form-layout__footer-default\">\n <div class=\"geo-step-form-layout__footer-start\">\n @if (showCancel()) {\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelLabel() }}\n </geo-button>\n }\n </div>\n\n <div class=\"geo-step-form-layout__footer-end\">\n @if (showPrevious() && activeIndex() > 0) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"left\"\n (clicked)=\"onPrevious()\"\n >\n {{ previousLabel() }}\n </geo-button>\n }\n @if (showSave()) {\n <geo-button\n appearance=\"secondary\"\n color=\"brand\"\n icon=\"save\"\n [disabled]=\"saveLoading()\"\n (clicked)=\"onSave()\"\n >\n {{ saveLabel() }}\n </geo-button>\n }\n @if (showNext()) {\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [icon]=\"isLastStep() ? 'check' : 'right'\"\n [disabled]=\"nextLoading()\"\n (clicked)=\"onNext()\"\n >\n {{ resolvedNextLabel() }}\n </geo-button>\n }\n </div>\n </div>\n </footer>\n } @else {\n <ng-content select=\"[footer]\"></ng-content>\n }\n </section>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host,.geo-step-form-layout-host{display:block;width:100%;min-height:100%;box-sizing:border-box}.geo-step-form-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start;width:100%;min-height:100%;height:100%;padding:16px 24px;box-sizing:border-box;overflow:visible}.geo-step-form-layout__aside{display:flex;flex-direction:column;min-width:0;align-self:start}.geo-step-form-layout__step-card{display:flex;flex-direction:column;gap:16px;width:100%;padding:20px 16px;background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__main-wrap{position:relative;width:100%;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-self:stretch;overflow:visible;box-sizing:border-box}.geo-step-form-layout__main-wrap--with-fab{padding-right:48px}.geo-step-form-layout__scroll-fab{position:absolute;top:0;right:0;z-index:2;display:flex;flex-direction:column;gap:10px}.geo-step-form-layout__fab{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--geo-color-primary-default);border-radius:50%;background:var(--geo-color-neutral-white);color:var(--geo-color-primary-default);cursor:pointer;box-shadow:none;transition:background-color .15s ease,opacity .15s ease}.geo-step-form-layout__fab .anticon{font-size:14px}.geo-step-form-layout__fab:hover:not(:disabled){background:var(--geo-color-primary-surface-light)}.geo-step-form-layout__fab:focus-visible{outline:2px solid var(--geo-color-primary-default);outline-offset:2px}.geo-step-form-layout__fab:disabled{opacity:.35;cursor:not-allowed}.geo-step-form-layout__card{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;flex:1 1 auto;height:calc(100vh - 48px);max-height:calc(100vh - 48px);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-primary-border);border-radius:var(--geo-radius);overflow:hidden;box-shadow:0 1px 2px #0000000a;box-sizing:border-box}.geo-step-form-layout__title{flex-shrink:0;margin:0;padding:24px 24px 8px;font-size:20px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-layout__body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 24px 8px;overscroll-behavior:contain}.geo-step-form-layout__footer{flex-shrink:0;border-top:1px solid var(--geo-color-neutral-100);padding:16px 24px 20px;background:var(--geo-color-neutral-white)}.geo-step-form-layout__footer-default{display:flex;align-items:center;justify-content:space-between;gap:12px}.geo-step-form-layout__footer-start,.geo-step-form-layout__footer-end{display:flex;align-items:center;gap:12px}.geo-step-form-section{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.geo-step-form-section:last-child{margin-bottom:8px}.geo-step-form-section__title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--geo-color-neutral-900)}.geo-step-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.geo-step-form-grid--cols-1{grid-template-columns:minmax(0,1fr)}.geo-step-form-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.geo-step-form-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.geo-step-form-grid__full{grid-column:1/-1}@media (max-width: 1100px){.geo-step-form-layout{grid-template-columns:220px minmax(0,1fr)}.geo-step-form-grid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.geo-step-form-layout{grid-template-columns:1fr;padding:12px 16px 20px}.geo-step-form-layout__main-wrap{margin-right:0;padding-right:0}.geo-step-form-layout__scroll-fab{display:none}.geo-step-form-layout__card{height:auto;max-height:none}.geo-step-form-grid,.geo-step-form-grid--cols-3,.geo-step-form-grid--cols-4{grid-template-columns:minmax(0,1fr)}}\n"] }]
99
+ }] });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUczRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQWFILE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsS0FBSyxHQUFHLEtBQUssQ0FBbUIsRUFBRSxDQUFDLENBQUM7SUFDcEMsV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsaUVBQWlFO0lBQ3hELGlCQUFpQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVoQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLFlBQVksR0FBRyxLQUFLLENBQUMsSUFB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QyxTQUFTLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBYTtRQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN2QyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7d0dBcEZVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLDJqRkMzQ3ZDLHFnSEEyR0EsZzRIRHpFWSxZQUFZLGtOQUFFLGtCQUFrQixzT0FBRSxtQkFBbUI7OzRGQVNwRCwwQkFBMEI7a0JBWnRDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHL0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcbmltcG9ydCB7IEdlb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1idXR0b24vZ2VvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvU3RlcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1zdGVwcGVyL2dlby1zdGVwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9TdGVwcGVyU3RlcCB9IGZyb20gJy4uL2dlby1zdGVwcGVyL2dlby1zdGVwcGVyLnR5cGVzJztcblxuLyoqXG4gKiBMYXlvdXQgZm9ybSBwYWdlIG11bHRpLXN0ZXA6IGPhu5l0IHRyw6FpIHN0ZXBwZXIgKyBj4buZdCBwaOG6o2kgZm9ybSBjYXJkLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxnZW8tc3RlcC1mb3JtLWxheW91dFxuICogICB0aXRsZT1cIlRow6ptIG3hu5tpIC4uLlwiXG4gKiAgIFtzdGVwc109XCJzdGVwc1wiXG4gKiAgIFthY3RpdmVJbmRleF09XCJhY3RpdmVJbmRleFwiXG4gKiAgIFtzaG93U2Nyb2xsQnV0dG9uc109XCJ0cnVlXCJcbiAqICAgKGNhbmNlbCk9XCJvbkNhbmNlbCgpXCJcbiAqICAgKHNhdmUpPVwib25TYXZlKClcIlxuICogICAobmV4dCk9XCJvbk5leHQoKVwiXG4gKiA+XG4gKiAgIDxmb3JtPi4uLjwvZm9ybT5cbiAqIDwvZ2VvLXN0ZXAtZm9ybS1sYXlvdXQ+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLXN0ZXAtZm9ybS1sYXlvdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTnpJY29uTW9kdWxlLCBHZW9CdXR0b25Db21wb25lbnQsIEdlb1N0ZXBwZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXN0ZXAtZm9ybS1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ2VvLXN0ZXAtZm9ybS1sYXlvdXQtaG9zdCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb1N0ZXBGb3JtTGF5b3V0Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgc3RlcHMgPSBpbnB1dDxHZW9TdGVwcGVyU3RlcFtdPihbXSk7XG4gIHJlYWRvbmx5IGFjdGl2ZUluZGV4ID0gbW9kZWwoMCk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoJycpO1xuICByZWFkb25seSBjbGlja2FibGVTdGVwcyA9IGlucHV0KHRydWUpO1xuICAvKiogSGnhu4duIG7DunQg4oaRL+KGkyBnw7NjIHBo4bqjaSBjYXJkIChjaHV54buDbiBixrDhu5tjKS4gTeG6t2MgxJHhu4tuaCBgdHJ1ZWAuICovXG4gIHJlYWRvbmx5IHNob3dTY3JvbGxCdXR0b25zID0gaW5wdXQodHJ1ZSk7XG5cbiAgcmVhZG9ubHkgc2hvd0NhbmNlbCA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBzaG93UHJldmlvdXMgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd1NhdmUgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd05leHQgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgY2FuY2VsTGFiZWwgPSBpbnB1dCgnSOG7p3knKTtcbiAgcmVhZG9ubHkgcHJldmlvdXNMYWJlbCA9IGlucHV0KCdUcuG7nyBs4bqhaScpO1xuICByZWFkb25seSBzYXZlTGFiZWwgPSBpbnB1dCgnTMawdScpO1xuICByZWFkb25seSBuZXh0TGFiZWwgPSBpbnB1dCgnVGnhur9wIHRoZW8nKTtcbiAgcmVhZG9ubHkgZmluaXNoTGFiZWwgPSBpbnB1dCgnSG/DoG4gdGjDoG5oJyk7XG4gIHJlYWRvbmx5IHNhdmVMb2FkaW5nID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBuZXh0TG9hZGluZyA9IGlucHV0KGZhbHNlKTtcbiAgLyoqIOG6qG4gZm9vdGVyIGFjdGlvbnMgKGTDuW5nIHNsb3QgYFtmb290ZXJdYCBob+G6t2Mga2jDtG5nIGPhuqduIG7DunQpLiAqL1xuICByZWFkb25seSBoaWRlRGVmYXVsdEZvb3RlciA9IGlucHV0KGZhbHNlKTtcblxuICByZWFkb25seSBzdGVwU2VsZWN0ID0gb3V0cHV0PHsgaW5kZXg6IG51bWJlcjsgc3RlcDogR2VvU3RlcHBlclN0ZXAgfT4oKTtcbiAgcmVhZG9ubHkgY2FuY2VsID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHJlYWRvbmx5IHByZXZpb3VzID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHJlYWRvbmx5IHNhdmUgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgbmV4dCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IGlzTGFzdFN0ZXAgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnN0ZXBzKCkubGVuZ3RoID4gMCAmJiB0aGlzLmFjdGl2ZUluZGV4KCkgPj0gdGhpcy5zdGVwcygpLmxlbmd0aCAtIDFcbiAgKTtcblxuICByZWFkb25seSBjYW5Hb1ByZXZpb3VzU3RlcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZmluZEFkamFjZW50U3RlcEluZGV4KC0xKSAhPSBudWxsKTtcblxuICByZWFkb25seSBjYW5Hb05leHRTdGVwID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5maW5kQWRqYWNlbnRTdGVwSW5kZXgoMSkgIT0gbnVsbCk7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWROZXh0TGFiZWwgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuaXNMYXN0U3RlcCgpID8gdGhpcy5maW5pc2hMYWJlbCgpIDogdGhpcy5uZXh0TGFiZWwoKVxuICApO1xuXG4gIG9uQWN0aXZlSW5kZXhDaGFuZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXguc2V0KGluZGV4KTtcbiAgfVxuXG4gIG9uU3RlcFNlbGVjdChldmVudDogeyBpbmRleDogbnVtYmVyOyBzdGVwOiBHZW9TdGVwcGVyU3RlcCB9KTogdm9pZCB7XG4gICAgdGhpcy5zdGVwU2VsZWN0LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZpb3VzLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmUuZW1pdCgpO1xuICB9XG5cbiAgb25OZXh0KCk6IHZvaWQge1xuICAgIHRoaXMubmV4dC5lbWl0KCk7XG4gIH1cblxuICBnb0FkamFjZW50U3RlcChkaXJlY3Rpb246ICd1cCcgfCAnZG93bicpOiB2b2lkIHtcbiAgICBjb25zdCBkZWx0YSA9IGRpcmVjdGlvbiA9PT0gJ3VwJyA/IC0xIDogMTtcbiAgICBjb25zdCBuZXh0SW5kZXggPSB0aGlzLmZpbmRBZGphY2VudFN0ZXBJbmRleChkZWx0YSk7XG4gICAgaWYgKG5leHRJbmRleCA9PSBudWxsKSByZXR1cm47XG5cbiAgICBjb25zdCBzdGVwID0gdGhpcy5zdGVwcygpW25leHRJbmRleF07XG4gICAgdGhpcy5hY3RpdmVJbmRleC5zZXQobmV4dEluZGV4KTtcbiAgICB0aGlzLnN0ZXBTZWxlY3QuZW1pdCh7IGluZGV4OiBuZXh0SW5kZXgsIHN0ZXAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRBZGphY2VudFN0ZXBJbmRleChkZWx0YTogLTEgfCAxKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3Qgc3RlcHMgPSB0aGlzLnN0ZXBzKCk7XG4gICAgbGV0IGluZGV4ID0gdGhpcy5hY3RpdmVJbmRleCgpICsgZGVsdGE7XG4gICAgd2hpbGUgKGluZGV4ID49IDAgJiYgaW5kZXggPCBzdGVwcy5sZW5ndGgpIHtcbiAgICAgIGlmICghc3RlcHNbaW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG4gICAgICBpbmRleCArPSBkZWx0YTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dFwiPlxuICA8YXNpZGUgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fYXNpZGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX3N0ZXAtY2FyZFwiPlxuICAgICAgPGdlby1zdGVwcGVyXG4gICAgICAgIFtzdGVwc109XCJzdGVwcygpXCJcbiAgICAgICAgW2FjdGl2ZUluZGV4XT1cImFjdGl2ZUluZGV4KClcIlxuICAgICAgICBbY2xpY2thYmxlXT1cImNsaWNrYWJsZVN0ZXBzKClcIlxuICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgKGFjdGl2ZUluZGV4Q2hhbmdlKT1cIm9uQWN0aXZlSW5kZXhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChzdGVwU2VsZWN0KT1cIm9uU3RlcFNlbGVjdCgkZXZlbnQpXCJcbiAgICAgID48L2dlby1zdGVwcGVyPlxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2lkZWJhckV4dHJhXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9hc2lkZT5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fbWFpbi13cmFwXCJcbiAgICBbY2xhc3MuZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX21haW4td3JhcC0td2l0aC1mYWJdPVwic2hvd1Njcm9sbEJ1dHRvbnMoKVwiXG4gID5cbiAgICBAaWYgKHNob3dTY3JvbGxCdXR0b25zKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fc2Nyb2xsLWZhYlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fZmFiXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQsaw4bubYyB0csaw4bubY1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5Hb1ByZXZpb3VzU3RlcCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29BZGphY2VudFN0ZXAoJ3VwJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJhcnJvdy11cFwiIG56VGhlbWU9XCJvdXRsaW5lXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX2ZhYlwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkLGsOG7m2Mgc2F1XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkdvTmV4dFN0ZXAoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvQWRqYWNlbnRTdGVwKCdkb3duJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJhcnJvdy1kb3duXCIgbnpUaGVtZT1cIm91dGxpbmVcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fY2FyZFwiPlxuICAgICAgQGlmICh0aXRsZSgpKSB7XG4gICAgICAgIDxoMSBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0X190aXRsZVwiPnt7IHRpdGxlKCkgfX08L2gxPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2VvLXN0ZXAtZm9ybS1sYXlvdXRfX2JvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoIWhpZGVEZWZhdWx0Rm9vdGVyKCkpIHtcbiAgICAgICAgPGZvb3RlciBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0X19mb290ZXJcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fZm9vdGVyLWRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tc3RlcC1mb3JtLWxheW91dF9fZm9vdGVyLXN0YXJ0XCI+XG4gICAgICAgICAgICAgIEBpZiAoc2hvd0NhbmNlbCgpKSB7XG4gICAgICAgICAgICAgICAgPGdlby1idXR0b24gYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiIGNvbG9yPVwiYnJhbmRcIiAoY2xpY2tlZCk9XCJvbkNhbmNlbCgpXCI+XG4gICAgICAgICAgICAgICAgICB7eyBjYW5jZWxMYWJlbCgpIH19XG4gICAgICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdlby1zdGVwLWZvcm0tbGF5b3V0X19mb290ZXItZW5kXCI+XG4gICAgICAgICAgICAgIEBpZiAoc2hvd1ByZXZpb3VzKCkgJiYgYWN0aXZlSW5kZXgoKSA+IDApIHtcbiAgICAgICAgICAgICAgICA8Z2VvLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cImJyYW5kXCJcbiAgICAgICAgICAgICAgICAgIGljb249XCJsZWZ0XCJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uUHJldmlvdXMoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgcHJldmlvdXNMYWJlbCgpIH19XG4gICAgICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc2hvd1NhdmUoKSkge1xuICAgICAgICAgICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYnJhbmRcIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInNhdmVcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25TYXZlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHNhdmVMYWJlbCgpIH19XG4gICAgICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc2hvd05leHQoKSkge1xuICAgICAgICAgICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cImJyYW5kXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cImlzTGFzdFN0ZXAoKSA/ICdjaGVjaycgOiAncmlnaHQnXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJuZXh0TG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uTmV4dCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyByZXNvbHZlZE5leHRMYWJlbCgpIH19XG4gICAgICAgICAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,5 +1,4 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, input, model, output, ViewEncapsulation, } from '@angular/core';
3
2
  import { NzIconModule } from 'ng-zorro-antd/icon';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "ng-zorro-antd/icon";
@@ -23,55 +22,41 @@ import * as i1 from "ng-zorro-antd/icon";
23
22
  * ```
24
23
  */
25
24
  export class GeoStepperComponent {
26
- steps = [];
27
- activeIndex = 0;
25
+ steps = input([]);
26
+ activeIndex = model(0);
28
27
  /** Mặc định horizontal theo design form modal. */
29
- orientation = 'horizontal';
28
+ orientation = input('horizontal');
30
29
  /** Cho phép click để đổi bước. */
31
- clickable = true;
32
- activeIndexChange = new EventEmitter();
33
- stepSelect = new EventEmitter();
30
+ clickable = input(true);
31
+ stepSelect = output();
34
32
  trackByIndex(index) {
35
33
  return index;
36
34
  }
37
35
  isActive(index) {
38
- return index === this.activeIndex;
36
+ return index === this.activeIndex();
39
37
  }
40
38
  isCompleted(index) {
41
- return index < this.activeIndex;
39
+ return index < this.activeIndex();
42
40
  }
43
41
  isPending(index) {
44
- return index > this.activeIndex;
42
+ return index > this.activeIndex();
45
43
  }
46
44
  onSelect(index, step) {
47
- if (!this.clickable || step.disabled || index === this.activeIndex) {
45
+ if (!this.clickable() || step.disabled || index === this.activeIndex()) {
48
46
  return;
49
47
  }
50
- this.activeIndex = index;
51
- this.activeIndexChange.emit(index);
48
+ this.activeIndex.set(index);
52
49
  this.stepSelect.emit({ index, step });
53
50
  }
54
51
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoStepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoStepperComponent, isStandalone: true, selector: "geo-stepper", inputs: { steps: "steps", activeIndex: "activeIndex", orientation: "orientation", clickable: "clickable" }, outputs: { activeIndexChange: "activeIndexChange", stepSelect: "stepSelect" }, host: { properties: { "class.geo-stepper-host--vertical": "orientation === \"vertical\"", "class.geo-stepper-host--horizontal": "orientation === \"horizontal\"" }, classAttribute: "geo-stepper-host" }, ngImport: i0, template: "<nav class=\"geo-stepper\" [attr.aria-label]=\"'C\u00E1c b\u01B0\u1EDBc'\">\n <ol class=\"geo-stepper__list\">\n @for (step of steps; track trackByIndex($index); let i = $index; let last = $last) {\n <li\n class=\"geo-stepper__item\"\n [class.geo-stepper__item--active]=\"isActive(i)\"\n [class.geo-stepper__item--completed]=\"isCompleted(i)\"\n [class.geo-stepper__item--pending]=\"isPending(i)\"\n [class.geo-stepper__item--disabled]=\"step.disabled\"\n [class.geo-stepper__item--last]=\"last\"\n >\n <button\n type=\"button\"\n class=\"geo-stepper__button\"\n [disabled]=\"!clickable || step.disabled\"\n [attr.aria-current]=\"isActive(i) ? 'step' : null\"\n (click)=\"onSelect(i, step)\"\n >\n <span class=\"geo-stepper__index\" aria-hidden=\"true\">\n @if (isCompleted(i)) {\n <span nz-icon nzType=\"check\" nzTheme=\"outline\"></span>\n } @else {\n {{ i + 1 }}\n }\n </span>\n <span class=\"geo-stepper__label\">{{ step.label }}</span>\n </button>\n\n @if (!last) {\n <span\n class=\"geo-stepper__connector\"\n [class.geo-stepper__connector--done]=\"isCompleted(i)\"\n aria-hidden=\"true\"\n ></span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";.geo-stepper-host{display:block;width:100%;font-family:var(--geo-font-family)}.geo-stepper__list{list-style:none;margin:0;padding:0;display:flex;align-items:center}.geo-stepper-host--horizontal{display:flex;justify-content:center;width:100%}.geo-stepper-host--horizontal .geo-stepper__list{flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;width:auto;max-width:100%}.geo-stepper-host--horizontal .geo-stepper__item{display:flex;align-items:center;flex:0 0 auto;min-width:0}.geo-stepper-host--horizontal .geo-stepper__connector{flex:0 0 auto;width:48px;height:1px;margin:0 16px;background:var(--geo-color-neutral-300)}.geo-stepper-host--horizontal .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper-host--vertical .geo-stepper__list{flex-direction:column;align-items:stretch;gap:0;width:100%}.geo-stepper-host--vertical .geo-stepper__item{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.geo-stepper-host--vertical .geo-stepper__connector{display:block;width:1px;height:20px;margin:6px 0 6px 15px;background:var(--geo-color-neutral-300)}.geo-stepper-host--vertical .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper__button{display:inline-flex;align-items:center;gap:10px;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;color:var(--geo-color-neutral-500);flex-shrink:0;max-width:100%}.geo-stepper__button:disabled{cursor:default}.geo-stepper__item--disabled .geo-stepper__button{opacity:.5;cursor:not-allowed}.geo-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1.5px solid var(--geo-color-neutral-300);border-radius:50%;font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-semibold);line-height:1;color:var(--geo-color-neutral-500);background:var(--geo-color-neutral-white);box-sizing:border-box}.geo-stepper__index .anticon{font-size:14px}.geo-stepper__label{font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-regular);line-height:var(--geo-line-height-body);color:var(--geo-color-neutral-500);white-space:nowrap}.geo-stepper__item--active .geo-stepper__index{border-color:var(--geo-color-primary-default);background:var(--geo-color-primary-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--active .geo-stepper__label{color:var(--geo-color-primary-default);font-weight:var(--geo-font-weight-semibold)}.geo-stepper__item--completed .geo-stepper__index{border-color:var(--geo-color-success-default);background:var(--geo-color-success-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--completed .geo-stepper__label{color:var(--geo-color-success-default);font-weight:var(--geo-font-weight-medium)}.geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-primary-default)}.geo-stepper__item--completed .geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-success-dark)}@media (max-width: 767.98px){.geo-stepper-host--horizontal .geo-stepper__list{flex-wrap:wrap;row-gap:12px;justify-content:center}.geo-stepper-host--horizontal .geo-stepper__label{white-space:normal;max-width:140px}.geo-stepper-host--horizontal .geo-stepper__connector{width:24px;margin:0 10px}}\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoStepperComponent, isStandalone: true, selector: "geo-stepper", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange", stepSelect: "stepSelect" }, host: { properties: { "class.geo-stepper-host--vertical": "orientation() === \"vertical\"", "class.geo-stepper-host--horizontal": "orientation() === \"horizontal\"" }, classAttribute: "geo-stepper-host" }, ngImport: i0, template: "<nav class=\"geo-stepper\" [attr.aria-label]=\"'C\u00E1c b\u01B0\u1EDBc'\">\n <ol class=\"geo-stepper__list\">\n @for (step of steps(); track trackByIndex($index); let i = $index; let last = $last) {\n <li\n class=\"geo-stepper__item\"\n [class.geo-stepper__item--active]=\"isActive(i)\"\n [class.geo-stepper__item--completed]=\"isCompleted(i)\"\n [class.geo-stepper__item--pending]=\"isPending(i)\"\n [class.geo-stepper__item--disabled]=\"step.disabled\"\n [class.geo-stepper__item--last]=\"last\"\n >\n <button\n type=\"button\"\n class=\"geo-stepper__button\"\n [disabled]=\"!clickable() || step.disabled\"\n [attr.aria-current]=\"isActive(i) ? 'step' : null\"\n (click)=\"onSelect(i, step)\"\n >\n <span class=\"geo-stepper__index\" aria-hidden=\"true\">\n @if (isCompleted(i)) {\n <span nz-icon nzType=\"check\" nzTheme=\"outline\"></span>\n } @else {\n {{ i + 1 }}\n }\n </span>\n <span class=\"geo-stepper__label\">{{ step.label }}</span>\n </button>\n\n @if (!last) {\n <span\n class=\"geo-stepper__connector\"\n [class.geo-stepper__connector--done]=\"isCompleted(i)\"\n aria-hidden=\"true\"\n ></span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";.geo-stepper-host{display:block;width:100%;font-family:var(--geo-font-family)}.geo-stepper__list{list-style:none;margin:0;padding:0;display:flex;align-items:center}.geo-stepper-host--horizontal{display:flex;justify-content:center;width:100%}.geo-stepper-host--horizontal .geo-stepper__list{flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;width:auto;max-width:100%}.geo-stepper-host--horizontal .geo-stepper__item{display:flex;align-items:center;flex:0 0 auto;min-width:0}.geo-stepper-host--horizontal .geo-stepper__connector{flex:0 0 auto;width:48px;height:1px;margin:0 16px;background:var(--geo-color-neutral-300)}.geo-stepper-host--horizontal .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper-host--vertical .geo-stepper__list{flex-direction:column;align-items:stretch;gap:0;width:100%}.geo-stepper-host--vertical .geo-stepper__item{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.geo-stepper-host--vertical .geo-stepper__connector{display:block;width:1px;height:20px;margin:6px 0 6px 15px;background:var(--geo-color-neutral-300)}.geo-stepper-host--vertical .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper__button{display:inline-flex;align-items:center;gap:10px;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;color:var(--geo-color-neutral-500);flex-shrink:0;max-width:100%}.geo-stepper__button:disabled{cursor:default}.geo-stepper__item--disabled .geo-stepper__button{opacity:.5;cursor:not-allowed}.geo-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1.5px solid var(--geo-color-neutral-300);border-radius:50%;font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-semibold);line-height:1;color:var(--geo-color-neutral-500);background:var(--geo-color-neutral-white);box-sizing:border-box}.geo-stepper__index .anticon{font-size:14px}.geo-stepper__label{font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-regular);line-height:var(--geo-line-height-body);color:var(--geo-color-neutral-500);white-space:nowrap}.geo-stepper__item--active .geo-stepper__index{border-color:var(--geo-color-primary-default);background:var(--geo-color-primary-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--active .geo-stepper__label{color:var(--geo-color-primary-default);font-weight:var(--geo-font-weight-semibold)}.geo-stepper__item--completed .geo-stepper__index{border-color:var(--geo-color-success-default);background:var(--geo-color-success-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--completed .geo-stepper__label{color:var(--geo-color-success-default);font-weight:var(--geo-font-weight-medium)}.geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-primary-default)}.geo-stepper__item--completed .geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-success-dark)}@media (max-width: 767.98px){.geo-stepper-host--horizontal .geo-stepper__list{flex-wrap:wrap;row-gap:12px;justify-content:center}.geo-stepper-host--horizontal .geo-stepper__label{white-space:normal;max-width:140px}.geo-stepper-host--horizontal .geo-stepper__connector{width:24px;margin:0 10px}}\n"], dependencies: [{ kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
53
  }
57
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoStepperComponent, decorators: [{
58
55
  type: Component,
59
- args: [{ selector: 'geo-stepper', standalone: true, imports: [CommonModule, NzIconModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
56
+ args: [{ selector: 'geo-stepper', standalone: true, imports: [NzIconModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
60
57
  class: 'geo-stepper-host',
61
- '[class.geo-stepper-host--vertical]': 'orientation === "vertical"',
62
- '[class.geo-stepper-host--horizontal]': 'orientation === "horizontal"',
63
- }, template: "<nav class=\"geo-stepper\" [attr.aria-label]=\"'C\u00E1c b\u01B0\u1EDBc'\">\n <ol class=\"geo-stepper__list\">\n @for (step of steps; track trackByIndex($index); let i = $index; let last = $last) {\n <li\n class=\"geo-stepper__item\"\n [class.geo-stepper__item--active]=\"isActive(i)\"\n [class.geo-stepper__item--completed]=\"isCompleted(i)\"\n [class.geo-stepper__item--pending]=\"isPending(i)\"\n [class.geo-stepper__item--disabled]=\"step.disabled\"\n [class.geo-stepper__item--last]=\"last\"\n >\n <button\n type=\"button\"\n class=\"geo-stepper__button\"\n [disabled]=\"!clickable || step.disabled\"\n [attr.aria-current]=\"isActive(i) ? 'step' : null\"\n (click)=\"onSelect(i, step)\"\n >\n <span class=\"geo-stepper__index\" aria-hidden=\"true\">\n @if (isCompleted(i)) {\n <span nz-icon nzType=\"check\" nzTheme=\"outline\"></span>\n } @else {\n {{ i + 1 }}\n }\n </span>\n <span class=\"geo-stepper__label\">{{ step.label }}</span>\n </button>\n\n @if (!last) {\n <span\n class=\"geo-stepper__connector\"\n [class.geo-stepper__connector--done]=\"isCompleted(i)\"\n aria-hidden=\"true\"\n ></span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";.geo-stepper-host{display:block;width:100%;font-family:var(--geo-font-family)}.geo-stepper__list{list-style:none;margin:0;padding:0;display:flex;align-items:center}.geo-stepper-host--horizontal{display:flex;justify-content:center;width:100%}.geo-stepper-host--horizontal .geo-stepper__list{flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;width:auto;max-width:100%}.geo-stepper-host--horizontal .geo-stepper__item{display:flex;align-items:center;flex:0 0 auto;min-width:0}.geo-stepper-host--horizontal .geo-stepper__connector{flex:0 0 auto;width:48px;height:1px;margin:0 16px;background:var(--geo-color-neutral-300)}.geo-stepper-host--horizontal .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper-host--vertical .geo-stepper__list{flex-direction:column;align-items:stretch;gap:0;width:100%}.geo-stepper-host--vertical .geo-stepper__item{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.geo-stepper-host--vertical .geo-stepper__connector{display:block;width:1px;height:20px;margin:6px 0 6px 15px;background:var(--geo-color-neutral-300)}.geo-stepper-host--vertical .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper__button{display:inline-flex;align-items:center;gap:10px;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;color:var(--geo-color-neutral-500);flex-shrink:0;max-width:100%}.geo-stepper__button:disabled{cursor:default}.geo-stepper__item--disabled .geo-stepper__button{opacity:.5;cursor:not-allowed}.geo-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1.5px solid var(--geo-color-neutral-300);border-radius:50%;font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-semibold);line-height:1;color:var(--geo-color-neutral-500);background:var(--geo-color-neutral-white);box-sizing:border-box}.geo-stepper__index .anticon{font-size:14px}.geo-stepper__label{font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-regular);line-height:var(--geo-line-height-body);color:var(--geo-color-neutral-500);white-space:nowrap}.geo-stepper__item--active .geo-stepper__index{border-color:var(--geo-color-primary-default);background:var(--geo-color-primary-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--active .geo-stepper__label{color:var(--geo-color-primary-default);font-weight:var(--geo-font-weight-semibold)}.geo-stepper__item--completed .geo-stepper__index{border-color:var(--geo-color-success-default);background:var(--geo-color-success-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--completed .geo-stepper__label{color:var(--geo-color-success-default);font-weight:var(--geo-font-weight-medium)}.geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-primary-default)}.geo-stepper__item--completed .geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-success-dark)}@media (max-width: 767.98px){.geo-stepper-host--horizontal .geo-stepper__list{flex-wrap:wrap;row-gap:12px;justify-content:center}.geo-stepper-host--horizontal .geo-stepper__label{white-space:normal;max-width:140px}.geo-stepper-host--horizontal .geo-stepper__connector{width:24px;margin:0 10px}}\n"] }]
64
- }], propDecorators: { steps: [{
65
- type: Input
66
- }], activeIndex: [{
67
- type: Input
68
- }], orientation: [{
69
- type: Input
70
- }], clickable: [{
71
- type: Input
72
- }], activeIndexChange: [{
73
- type: Output
74
- }], stepSelect: [{
75
- type: Output
76
- }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXBwZXIvZ2VvLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXBwZXIvZ2VvLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUdsRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBZUgsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUM3QixXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLGtEQUFrRDtJQUN6QyxXQUFXLEdBQTBCLFlBQVksQ0FBQztJQUMzRCxrQ0FBa0M7SUFDekIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUVoQixpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQy9DLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBMkMsQ0FBQztJQUVuRixZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLElBQW9CO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuRSxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO3dHQWxDVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw0Y0M3Q2hDLGc1Q0F1Q0EsbzFHRExZLFlBQVksOEJBQUUsWUFBWTs7NEZBV3pCLG1CQUFtQjtrQkFkL0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsa0JBQWtCO3dCQUN6QixvQ0FBb0MsRUFBRSw0QkFBNEI7d0JBQ2xFLHNDQUFzQyxFQUFFLDhCQUE4QjtxQkFDdkU7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpJY29uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pY29uJztcbmltcG9ydCB7IEdlb1N0ZXBwZXJPcmllbnRhdGlvbiwgR2VvU3RlcHBlclN0ZXAgfSBmcm9tICcuL2dlby1zdGVwcGVyLnR5cGVzJztcblxuLyoqXG4gKiBTdGVwcyAvIFN0ZXBwZXIgR0VPIOKAlCBob3Jpem9udGFsICht4bq3YyDEkeG7i25oKSBob+G6t2MgdmVydGljYWwuXG4gKlxuICogQ3VzdG9tIHF1YSBgc3RlcHNgLCBgYWN0aXZlSW5kZXhgLCBgb3JpZW50YXRpb25gLCBgY2xpY2thYmxlYC5cbiAqIFRyb25nIGZvcm0gbW9kYWw6IMSR4bq3dCBgPGdlby1zdGVwcGVyPmAgdsOgbyBib2R5IChjb250ZW50IHByb2plY3Rpb24pLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8Z2VvLXN0ZXBwZXJcbiAqICAgW3N0ZXBzXT1cIltcbiAqICAgICB7IGtleTogJ2EnLCBsYWJlbDogJ0LGsOG7m2MgMScgfSxcbiAqICAgICB7IGtleTogJ2InLCBsYWJlbDogJ0LGsOG7m2MgMicgfVxuICogICBdXCJcbiAqICAgW2FjdGl2ZUluZGV4XT1cIjBcIlxuICogICBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICogICAoYWN0aXZlSW5kZXhDaGFuZ2UpPVwib25TdGVwKCRldmVudClcIlxuICogPjwvZ2VvLXN0ZXBwZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLXN0ZXBwZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOekljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXN0ZXBwZXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ2VvLXN0ZXBwZXItaG9zdCcsXG4gICAgJ1tjbGFzcy5nZW8tc3RlcHBlci1ob3N0LS12ZXJ0aWNhbF0nOiAnb3JpZW50YXRpb24gPT09IFwidmVydGljYWxcIicsXG4gICAgJ1tjbGFzcy5nZW8tc3RlcHBlci1ob3N0LS1ob3Jpem9udGFsXSc6ICdvcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9TdGVwcGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3RlcHM6IEdlb1N0ZXBwZXJTdGVwW10gPSBbXTtcbiAgQElucHV0KCkgYWN0aXZlSW5kZXggPSAwO1xuICAvKiogTeG6t2MgxJHhu4tuaCBob3Jpem9udGFsIHRoZW8gZGVzaWduIGZvcm0gbW9kYWwuICovXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiBHZW9TdGVwcGVyT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XG4gIC8qKiBDaG8gcGjDqXAgY2xpY2sgxJHhu4MgxJHhu5VpIGLGsOG7m2MuICovXG4gIEBJbnB1dCgpIGNsaWNrYWJsZSA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGFjdGl2ZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBzdGVwU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OiBudW1iZXI7IHN0ZXA6IEdlb1N0ZXBwZXJTdGVwIH0+KCk7XG5cbiAgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGlzQWN0aXZlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuYWN0aXZlSW5kZXg7XG4gIH1cblxuICBpc0NvbXBsZXRlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4IDwgdGhpcy5hY3RpdmVJbmRleDtcbiAgfVxuXG4gIGlzUGVuZGluZyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4ID4gdGhpcy5hY3RpdmVJbmRleDtcbiAgfVxuXG4gIG9uU2VsZWN0KGluZGV4OiBudW1iZXIsIHN0ZXA6IEdlb1N0ZXBwZXJTdGVwKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNsaWNrYWJsZSB8fCBzdGVwLmRpc2FibGVkIHx8IGluZGV4ID09PSB0aGlzLmFjdGl2ZUluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLmFjdGl2ZUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgIHRoaXMuc3RlcFNlbGVjdC5lbWl0KHsgaW5kZXgsIHN0ZXAgfSk7XG4gIH1cbn1cbiIsIjxuYXYgY2xhc3M9XCJnZW8tc3RlcHBlclwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0PDoWMgYsaw4bubYydcIj5cbiAgPG9sIGNsYXNzPVwiZ2VvLXN0ZXBwZXJfX2xpc3RcIj5cbiAgICBAZm9yIChzdGVwIG9mIHN0ZXBzOyB0cmFjayB0cmFja0J5SW5kZXgoJGluZGV4KTsgbGV0IGkgPSAkaW5kZXg7IGxldCBsYXN0ID0gJGxhc3QpIHtcbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cImdlby1zdGVwcGVyX19pdGVtXCJcbiAgICAgICAgW2NsYXNzLmdlby1zdGVwcGVyX19pdGVtLS1hY3RpdmVdPVwiaXNBY3RpdmUoaSlcIlxuICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2l0ZW0tLWNvbXBsZXRlZF09XCJpc0NvbXBsZXRlZChpKVwiXG4gICAgICAgIFtjbGFzcy5nZW8tc3RlcHBlcl9faXRlbS0tcGVuZGluZ109XCJpc1BlbmRpbmcoaSlcIlxuICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2l0ZW0tLWRpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2l0ZW0tLWxhc3RdPVwibGFzdFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImdlby1zdGVwcGVyX19idXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2xpY2thYmxlIHx8IHN0ZXAuZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpc0FjdGl2ZShpKSA/ICdzdGVwJyA6IG51bGxcIlxuICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdChpLCBzdGVwKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdlby1zdGVwcGVyX19pbmRleFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgQGlmIChpc0NvbXBsZXRlZChpKSkge1xuICAgICAgICAgICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cImNoZWNrXCIgbnpUaGVtZT1cIm91dGxpbmVcIj48L3NwYW4+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tc3RlcHBlcl9fbGFiZWxcIj57eyBzdGVwLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICBAaWYgKCFsYXN0KSB7XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiZ2VvLXN0ZXBwZXJfX2Nvbm5lY3RvclwiXG4gICAgICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2Nvbm5lY3Rvci0tZG9uZV09XCJpc0NvbXBsZXRlZChpKVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgID48L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGk+XG4gICAgfVxuICA8L29sPlxuPC9uYXY+XG4iXX0=
58
+ '[class.geo-stepper-host--vertical]': 'orientation() === "vertical"',
59
+ '[class.geo-stepper-host--horizontal]': 'orientation() === "horizontal"',
60
+ }, template: "<nav class=\"geo-stepper\" [attr.aria-label]=\"'C\u00E1c b\u01B0\u1EDBc'\">\n <ol class=\"geo-stepper__list\">\n @for (step of steps(); track trackByIndex($index); let i = $index; let last = $last) {\n <li\n class=\"geo-stepper__item\"\n [class.geo-stepper__item--active]=\"isActive(i)\"\n [class.geo-stepper__item--completed]=\"isCompleted(i)\"\n [class.geo-stepper__item--pending]=\"isPending(i)\"\n [class.geo-stepper__item--disabled]=\"step.disabled\"\n [class.geo-stepper__item--last]=\"last\"\n >\n <button\n type=\"button\"\n class=\"geo-stepper__button\"\n [disabled]=\"!clickable() || step.disabled\"\n [attr.aria-current]=\"isActive(i) ? 'step' : null\"\n (click)=\"onSelect(i, step)\"\n >\n <span class=\"geo-stepper__index\" aria-hidden=\"true\">\n @if (isCompleted(i)) {\n <span nz-icon nzType=\"check\" nzTheme=\"outline\"></span>\n } @else {\n {{ i + 1 }}\n }\n </span>\n <span class=\"geo-stepper__label\">{{ step.label }}</span>\n </button>\n\n @if (!last) {\n <span\n class=\"geo-stepper__connector\"\n [class.geo-stepper__connector--done]=\"isCompleted(i)\"\n aria-hidden=\"true\"\n ></span>\n }\n </li>\n }\n </ol>\n</nav>\n", styles: ["@charset \"UTF-8\";.geo-stepper-host{display:block;width:100%;font-family:var(--geo-font-family)}.geo-stepper__list{list-style:none;margin:0;padding:0;display:flex;align-items:center}.geo-stepper-host--horizontal{display:flex;justify-content:center;width:100%}.geo-stepper-host--horizontal .geo-stepper__list{flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0;width:auto;max-width:100%}.geo-stepper-host--horizontal .geo-stepper__item{display:flex;align-items:center;flex:0 0 auto;min-width:0}.geo-stepper-host--horizontal .geo-stepper__connector{flex:0 0 auto;width:48px;height:1px;margin:0 16px;background:var(--geo-color-neutral-300)}.geo-stepper-host--horizontal .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper-host--vertical .geo-stepper__list{flex-direction:column;align-items:stretch;gap:0;width:100%}.geo-stepper-host--vertical .geo-stepper__item{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.geo-stepper-host--vertical .geo-stepper__connector{display:block;width:1px;height:20px;margin:6px 0 6px 15px;background:var(--geo-color-neutral-300)}.geo-stepper-host--vertical .geo-stepper__connector--done{background:var(--geo-color-success-default)}.geo-stepper__button{display:inline-flex;align-items:center;gap:10px;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;color:var(--geo-color-neutral-500);flex-shrink:0;max-width:100%}.geo-stepper__button:disabled{cursor:default}.geo-stepper__item--disabled .geo-stepper__button{opacity:.5;cursor:not-allowed}.geo-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1.5px solid var(--geo-color-neutral-300);border-radius:50%;font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-semibold);line-height:1;color:var(--geo-color-neutral-500);background:var(--geo-color-neutral-white);box-sizing:border-box}.geo-stepper__index .anticon{font-size:14px}.geo-stepper__label{font-size:var(--geo-font-size-body);font-weight:var(--geo-font-weight-regular);line-height:var(--geo-line-height-body);color:var(--geo-color-neutral-500);white-space:nowrap}.geo-stepper__item--active .geo-stepper__index{border-color:var(--geo-color-primary-default);background:var(--geo-color-primary-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--active .geo-stepper__label{color:var(--geo-color-primary-default);font-weight:var(--geo-font-weight-semibold)}.geo-stepper__item--completed .geo-stepper__index{border-color:var(--geo-color-success-default);background:var(--geo-color-success-default);color:var(--geo-color-neutral-white)}.geo-stepper__item--completed .geo-stepper__label{color:var(--geo-color-success-default);font-weight:var(--geo-font-weight-medium)}.geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-primary-default)}.geo-stepper__item--completed .geo-stepper__button:not(:disabled):hover .geo-stepper__label{color:var(--geo-color-success-dark)}@media (max-width: 767.98px){.geo-stepper-host--horizontal .geo-stepper__list{flex-wrap:wrap;row-gap:12px;justify-content:center}.geo-stepper-host--horizontal .geo-stepper__label{white-space:normal;max-width:140px}.geo-stepper-host--horizontal .geo-stepper__connector{width:24px;margin:0 10px}}\n"] }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXBwZXIvZ2VvLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXN0ZXBwZXIvZ2VvLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFlSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLEtBQUssR0FBRyxLQUFLLENBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsa0RBQWtEO0lBQ3pDLFdBQVcsR0FBRyxLQUFLLENBQXdCLFlBQVksQ0FBQyxDQUFDO0lBQ2xFLGtDQUFrQztJQUN6QixTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhCLFVBQVUsR0FBRyxNQUFNLEVBQTJDLENBQUM7SUFFeEUsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxJQUFvQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3ZFLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO3dHQWhDVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwwM0JDNUNoQyxvNUNBdUNBLG8xR0ROWSxZQUFZOzs0RkFXWCxtQkFBbUI7a0JBZC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxrQkFBa0I7d0JBQ3pCLG9DQUFvQyxFQUFFLDhCQUE4Qjt3QkFDcEUsc0NBQXNDLEVBQUUsZ0NBQWdDO3FCQUN6RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuaW1wb3J0IHsgR2VvU3RlcHBlck9yaWVudGF0aW9uLCBHZW9TdGVwcGVyU3RlcCB9IGZyb20gJy4vZ2VvLXN0ZXBwZXIudHlwZXMnO1xuXG4vKipcbiAqIFN0ZXBzIC8gU3RlcHBlciBHRU8g4oCUIGhvcml6b250YWwgKG3hurdjIMSR4buLbmgpIGhv4bq3YyB2ZXJ0aWNhbC5cbiAqXG4gKiBDdXN0b20gcXVhIGBzdGVwc2AsIGBhY3RpdmVJbmRleGAsIGBvcmllbnRhdGlvbmAsIGBjbGlja2FibGVgLlxuICogVHJvbmcgZm9ybSBtb2RhbDogxJHhurd0IGA8Z2VvLXN0ZXBwZXI+YCB2w6BvIGJvZHkgKGNvbnRlbnQgcHJvamVjdGlvbikuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxnZW8tc3RlcHBlclxuICogICBbc3RlcHNdPVwiW1xuICogICAgIHsga2V5OiAnYScsIGxhYmVsOiAnQsaw4bubYyAxJyB9LFxuICogICAgIHsga2V5OiAnYicsIGxhYmVsOiAnQsaw4bubYyAyJyB9XG4gKiAgIF1cIlxuICogICBbYWN0aXZlSW5kZXhdPVwiMFwiXG4gKiAgIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gKiAgIChhY3RpdmVJbmRleENoYW5nZSk9XCJvblN0ZXAoJGV2ZW50KVwiXG4gKiA+PC9nZW8tc3RlcHBlcj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tc3RlcHBlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOekljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXN0ZXBwZXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ2VvLXN0ZXBwZXItaG9zdCcsXG4gICAgJ1tjbGFzcy5nZW8tc3RlcHBlci1ob3N0LS12ZXJ0aWNhbF0nOiAnb3JpZW50YXRpb24oKSA9PT0gXCJ2ZXJ0aWNhbFwiJyxcbiAgICAnW2NsYXNzLmdlby1zdGVwcGVyLWhvc3QtLWhvcml6b250YWxdJzogJ29yaWVudGF0aW9uKCkgPT09IFwiaG9yaXpvbnRhbFwiJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvU3RlcHBlckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHN0ZXBzID0gaW5wdXQ8R2VvU3RlcHBlclN0ZXBbXT4oW10pO1xuICByZWFkb25seSBhY3RpdmVJbmRleCA9IG1vZGVsKDApO1xuICAvKiogTeG6t2MgxJHhu4tuaCBob3Jpem9udGFsIHRoZW8gZGVzaWduIGZvcm0gbW9kYWwuICovXG4gIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8R2VvU3RlcHBlck9yaWVudGF0aW9uPignaG9yaXpvbnRhbCcpO1xuICAvKiogQ2hvIHBow6lwIGNsaWNrIMSR4buDIMSR4buVaSBixrDhu5tjLiAqL1xuICByZWFkb25seSBjbGlja2FibGUgPSBpbnB1dCh0cnVlKTtcblxuICByZWFkb25seSBzdGVwU2VsZWN0ID0gb3V0cHV0PHsgaW5kZXg6IG51bWJlcjsgc3RlcDogR2VvU3RlcHBlclN0ZXAgfT4oKTtcblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgaXNBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCgpO1xuICB9XG5cbiAgaXNDb21wbGV0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA8IHRoaXMuYWN0aXZlSW5kZXgoKTtcbiAgfVxuXG4gIGlzUGVuZGluZyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4ID4gdGhpcy5hY3RpdmVJbmRleCgpO1xuICB9XG5cbiAgb25TZWxlY3QoaW5kZXg6IG51bWJlciwgc3RlcDogR2VvU3RlcHBlclN0ZXApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2xpY2thYmxlKCkgfHwgc3RlcC5kaXNhYmxlZCB8fCBpbmRleCA9PT0gdGhpcy5hY3RpdmVJbmRleCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlSW5kZXguc2V0KGluZGV4KTtcbiAgICB0aGlzLnN0ZXBTZWxlY3QuZW1pdCh7IGluZGV4LCBzdGVwIH0pO1xuICB9XG59XG4iLCI8bmF2IGNsYXNzPVwiZ2VvLXN0ZXBwZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDw6FjIGLGsOG7m2MnXCI+XG4gIDxvbCBjbGFzcz1cImdlby1zdGVwcGVyX19saXN0XCI+XG4gICAgQGZvciAoc3RlcCBvZiBzdGVwcygpOyB0cmFjayB0cmFja0J5SW5kZXgoJGluZGV4KTsgbGV0IGkgPSAkaW5kZXg7IGxldCBsYXN0ID0gJGxhc3QpIHtcbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cImdlby1zdGVwcGVyX19pdGVtXCJcbiAgICAgICAgW2NsYXNzLmdlby1zdGVwcGVyX19pdGVtLS1hY3RpdmVdPVwiaXNBY3RpdmUoaSlcIlxuICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2l0ZW0tLWNvbXBsZXRlZF09XCJpc0NvbXBsZXRlZChpKVwiXG4gICAgICAgIFtjbGFzcy5nZW8tc3RlcHBlcl9faXRlbS0tcGVuZGluZ109XCJpc1BlbmRpbmcoaSlcIlxuICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2l0ZW0tLWRpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3MuZ2VvLXN0ZXBwZXJfX2l0ZW0tLWxhc3RdPVwibGFzdFwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImdlby1zdGVwcGVyX19idXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2xpY2thYmxlKCkgfHwgc3RlcC5kaXNhYmxlZFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImlzQWN0aXZlKGkpID8gJ3N0ZXAnIDogbnVsbFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGksIHN0ZXApXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ2VvLXN0ZXBwZXJfX2luZGV4XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICBAaWYgKGlzQ29tcGxldGVkKGkpKSB7XG4gICAgICAgICAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwiY2hlY2tcIiBuelRoZW1lPVwib3V0bGluZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdlby1zdGVwcGVyX19sYWJlbFwiPnt7IHN0ZXAubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIEBpZiAoIWxhc3QpIHtcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJnZW8tc3RlcHBlcl9fY29ubmVjdG9yXCJcbiAgICAgICAgICAgIFtjbGFzcy5nZW8tc3RlcHBlcl9fY29ubmVjdG9yLS1kb25lXT1cImlzQ29tcGxldGVkKGkpXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==