@seniorsistemas/angular-components 19.0.4 → 19.0.6

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 (472) hide show
  1. package/accordion/lib/accordion/accordion.component.d.ts +25 -0
  2. package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +60 -0
  3. package/alert/lib/alert/alert.component.d.ts +40 -0
  4. package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +51 -0
  5. package/badge/lib/badge/badge.component.d.ts +20 -0
  6. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +46 -1
  7. package/breadcrumb/lib/breadcrumb/breadcrumb-models.d.ts +11 -0
  8. package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +19 -23
  9. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +25 -0
  10. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +10 -0
  11. package/breadcrumb/public-api.d.ts +4 -2
  12. package/button/lib/button/button.component.d.ts +103 -1
  13. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +24 -0
  14. package/card/lib/card/card.component.d.ts +18 -0
  15. package/chat/lib/chat/chat.component.d.ts +20 -2
  16. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +18 -2
  17. package/checkbox/lib/checkbox/checkbox.component.d.ts +23 -3
  18. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +20 -0
  19. package/chips/lib/chips/chip-item/chip-item.component.d.ts +15 -0
  20. package/chips/lib/chips/chips/chips.component.d.ts +41 -0
  21. package/code-editor/lib/code-editor/code-editor.component.d.ts +40 -0
  22. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +18 -0
  23. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
  24. package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +19 -0
  25. package/content-generator/lib/content-generator/content-generator.component.d.ts +30 -0
  26. package/control-errors/lib/control-errors/control-errors.component.d.ts +36 -0
  27. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +36 -0
  28. package/currency/lib/currency.service.d.ts +15 -2
  29. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +31 -0
  30. package/dialog/lib/src/dialog/dialog.component.d.ts +51 -0
  31. package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -2
  32. package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +1 -1
  33. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +6 -5
  34. package/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.d.ts +5 -0
  35. package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +14 -0
  36. package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +67 -0
  37. package/dynamic-form/dynamic-form/configurations/structure/section.d.ts +8 -0
  38. package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +19 -0
  39. package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +21 -1
  40. package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +45 -0
  41. package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +59 -0
  42. package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +55 -0
  43. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +35 -0
  44. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +17 -0
  45. package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +23 -0
  46. package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +66 -0
  47. package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +15 -0
  48. package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +30 -0
  49. package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +47 -2
  50. package/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +26 -0
  51. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +18 -1
  52. package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +44 -0
  53. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +112 -4
  54. package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +42 -3
  55. package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +48 -0
  56. package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +62 -0
  57. package/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +34 -0
  58. package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +63 -0
  59. package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +47 -1
  60. package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +23 -0
  61. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +37 -1
  62. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +65 -2
  63. package/dynamic-form/public-api.d.ts +1 -0
  64. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +16 -0
  65. package/empty-state/lib/empty-state/empty-state.component.d.ts +59 -0
  66. package/esm2022/accordion/lib/accordion/accordion.component.mjs +26 -1
  67. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +61 -1
  68. package/esm2022/alert/lib/alert/alert.component.mjs +41 -1
  69. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +52 -1
  70. package/esm2022/badge/lib/badge/badge.component.mjs +21 -1
  71. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +47 -2
  72. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-models.mjs +2 -0
  73. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +39 -98
  74. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +120 -0
  75. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +19 -0
  76. package/esm2022/breadcrumb/public-api.mjs +4 -3
  77. package/esm2022/button/lib/button/button.component.mjs +107 -3
  78. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +72 -47
  79. package/esm2022/card/lib/card/card.component.mjs +21 -6
  80. package/esm2022/chat/lib/chat/chat.component.mjs +23 -5
  81. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +20 -4
  82. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +24 -4
  83. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +22 -2
  84. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +17 -2
  85. package/esm2022/chips/lib/chips/chips/chips.component.mjs +42 -1
  86. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +41 -1
  87. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +19 -1
  88. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +6 -1
  89. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +21 -2
  90. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +32 -2
  91. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +37 -1
  92. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +37 -1
  93. package/esm2022/currency/lib/currency.service.mjs +21 -8
  94. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +32 -1
  95. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +66 -11
  96. package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -10
  97. package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +3 -3
  98. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +2 -2
  99. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +2 -2
  100. package/esm2022/dynamic-form/dynamic-form/components/lookup/models/lookup-api.model.mjs +2 -0
  101. package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +1 -1
  102. package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +1 -1
  103. package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +1 -1
  104. package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +1 -1
  105. package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +22 -2
  106. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +1 -1
  107. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +1 -1
  108. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +1 -1
  109. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +1 -1
  110. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +1 -1
  111. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +1 -1
  112. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +1 -1
  113. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +1 -1
  114. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +1 -1
  115. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +1 -1
  116. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +1 -1
  117. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +1 -1
  118. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +1 -2
  119. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
  120. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
  121. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +1 -1
  122. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +1 -1
  123. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +6 -1
  124. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +1 -1
  125. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +1 -1
  126. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +1 -1
  127. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +1 -1
  128. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +1 -1
  129. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +2 -2
  130. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
  131. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
  132. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +2 -2
  133. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +2 -2
  134. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +2 -2
  135. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +2 -2
  136. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +3 -3
  137. package/esm2022/dynamic-form/public-api.mjs +2 -2
  138. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +17 -1
  139. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +61 -2
  140. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +25 -5
  141. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +49 -2
  142. package/esm2022/gantt/lib/gantt/gantt.component.mjs +32 -1
  143. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
  144. package/esm2022/global-search/lib/global-search/global-search.component.mjs +31 -2
  145. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +40 -1
  146. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
  147. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +83 -27
  148. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +41 -4
  149. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +18 -2
  150. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +33 -4
  151. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  152. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
  153. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +16 -1
  154. package/esm2022/insights/lib/insights/insights.component.mjs +23 -1
  155. package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +21 -1
  156. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
  157. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
  158. package/esm2022/kanban/lib/kanban/kanban.component.mjs +34 -16
  159. package/esm2022/label-value/lib/label-value/label-value.component.mjs +14 -1
  160. package/esm2022/lib/locale/fallback.mjs +4 -2
  161. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +37 -1
  162. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +24 -1
  163. package/esm2022/locale/lib/locale/locale.service.mjs +8 -1
  164. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +17 -1
  165. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +13 -1
  166. package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +16 -3
  167. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +24 -10
  168. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +21 -2
  169. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +32 -12
  170. package/esm2022/numeric/lib/numeric.pipe.mjs +16 -1
  171. package/esm2022/numeric/lib/numeric.service.mjs +21 -1
  172. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +9 -6
  173. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
  174. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
  175. package/esm2022/object-card/lib/object-card/object-card.component.mjs +24 -1
  176. package/esm2022/optional-fields/editor/editor-field.mjs +1 -1
  177. package/esm2022/paginator/lib/paginator/paginator.component.mjs +20 -1
  178. package/esm2022/panel/lib/panel/panel.component.mjs +44 -23
  179. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +25 -1
  180. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +54 -1
  181. package/esm2022/picklist/lib/picklist/picklist.component.mjs +34 -3
  182. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +29 -34
  183. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +87 -3
  184. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +53 -3
  185. package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +28 -1
  186. package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +27 -1
  187. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +39 -7
  188. package/esm2022/select/lib/select/select.component.mjs +35 -1
  189. package/esm2022/select-button/lib/select-button/select-button.component.mjs +35 -1
  190. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +11 -3
  191. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +54 -1
  192. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +76 -36
  193. package/esm2022/slider/lib/slider/slider.component.mjs +90 -9
  194. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +25 -4
  195. package/esm2022/split-button/lib/split-button/split-button.component.mjs +24 -2
  196. package/esm2022/star-rating/star-rating/star-rating.component.mjs +17 -1
  197. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +32 -10
  198. package/esm2022/stepper/lib/stepper/stepper.component.mjs +20 -1
  199. package/esm2022/structure/lib/structure/footer.component.mjs +11 -1
  200. package/esm2022/switch/lib/switch/switch.component.mjs +22 -2
  201. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +16 -1
  202. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
  203. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +29 -3
  204. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +33 -2
  205. package/esm2022/tabs/lib/tabs/tabs.component.mjs +35 -3
  206. package/esm2022/template/lib/template/template.directive.mjs +14 -2
  207. package/esm2022/text-area/lib/text-area/text-area.component.mjs +28 -1
  208. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +25 -1
  209. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +28 -3
  210. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +65 -46
  211. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
  212. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +35 -2
  213. package/esm2022/tile/lib/tile/tile.component.mjs +26 -1
  214. package/esm2022/timeline/lib/timeline/timeline.component.mjs +26 -3
  215. package/esm2022/toast/lib/toast/toast.component.mjs +24 -4
  216. package/esm2022/token-list/lib/token-list/token-list.component.mjs +22 -1
  217. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +66 -1
  218. package/esm2022/topbar/lib/topbar/topbar.component.mjs +18 -1
  219. package/esm2022/tree/lib/tree/tree.component.mjs +28 -1
  220. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +47 -1
  221. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +85 -0
  222. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  223. package/fesm2022/seniorsistemas-angular-components-alert.mjs +40 -0
  224. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  225. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +51 -0
  226. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  227. package/fesm2022/seniorsistemas-angular-components-badge.mjs +20 -0
  228. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  229. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +46 -1
  230. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  231. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +93 -37
  232. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  233. package/fesm2022/seniorsistemas-angular-components-button.mjs +106 -2
  234. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  235. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +71 -46
  236. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  237. package/fesm2022/seniorsistemas-angular-components-card.mjs +19 -4
  238. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  239. package/fesm2022/seniorsistemas-angular-components-chat.mjs +39 -5
  240. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  241. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +21 -1
  242. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  243. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +23 -3
  244. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  245. package/fesm2022/seniorsistemas-angular-components-chips.mjs +57 -1
  246. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  247. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +40 -0
  248. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  249. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +18 -0
  250. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  251. package/fesm2022/seniorsistemas-angular-components-common.mjs +5 -0
  252. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  253. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +20 -1
  254. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
  255. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +31 -1
  256. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  257. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +36 -0
  258. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  259. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +36 -0
  260. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  261. package/fesm2022/seniorsistemas-angular-components-currency.mjs +19 -6
  262. package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -1
  263. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +31 -0
  264. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  265. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +74 -16
  266. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  267. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +38 -13
  268. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  269. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +16 -0
  270. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  271. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +60 -1
  272. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  273. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +21 -1
  274. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  275. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +48 -1
  276. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  277. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +31 -0
  278. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  279. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -2
  280. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  281. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +39 -0
  282. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  283. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +81 -25
  284. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  285. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +39 -2
  286. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  287. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +17 -1
  288. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  289. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +30 -1
  290. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  291. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +17 -2
  292. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  293. package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -0
  294. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  295. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +20 -0
  296. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
  297. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +30 -12
  298. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  299. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +13 -0
  300. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  301. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +59 -0
  302. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  303. package/fesm2022/seniorsistemas-angular-components-locale.mjs +7 -0
  304. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  305. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +16 -0
  306. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  307. package/fesm2022/seniorsistemas-angular-components-mask.mjs +12 -0
  308. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  309. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +35 -8
  310. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  311. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +20 -1
  312. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  313. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +31 -11
  314. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  315. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +8 -5
  316. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  317. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +35 -0
  318. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  319. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +25 -2
  320. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  321. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +19 -0
  323. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-panel.mjs +39 -18
  325. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +77 -0
  327. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +33 -2
  329. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +28 -33
  331. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +86 -2
  333. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +52 -2
  335. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +53 -0
  337. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +36 -4
  339. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  340. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +34 -0
  341. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  342. package/fesm2022/seniorsistemas-angular-components-select.mjs +34 -0
  343. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  344. package/fesm2022/seniorsistemas-angular-components-shared.mjs +9 -1
  345. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  346. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +53 -0
  347. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  348. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +71 -31
  349. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  350. package/fesm2022/seniorsistemas-angular-components-slider.mjs +89 -8
  351. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  352. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +24 -3
  353. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  354. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +22 -0
  355. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  356. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +16 -0
  357. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  358. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +30 -8
  359. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  360. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +19 -0
  361. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  362. package/fesm2022/seniorsistemas-angular-components-structure.mjs +10 -0
  363. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  364. package/fesm2022/seniorsistemas-angular-components-switch.mjs +20 -0
  365. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  366. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +28 -2
  367. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  368. package/fesm2022/seniorsistemas-angular-components-table.mjs +16 -1
  369. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  370. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +65 -2
  371. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
  372. package/fesm2022/seniorsistemas-angular-components-template.mjs +13 -1
  373. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  374. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +27 -0
  375. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  376. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +24 -0
  377. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  378. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +26 -1
  379. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  380. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +99 -47
  381. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  382. package/fesm2022/seniorsistemas-angular-components-tile.mjs +25 -0
  383. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  384. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +25 -2
  385. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  386. package/fesm2022/seniorsistemas-angular-components-toast.mjs +22 -2
  387. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  388. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +21 -0
  389. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  390. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +65 -0
  391. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  392. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +17 -0
  393. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  394. package/fesm2022/seniorsistemas-angular-components-tree.mjs +27 -0
  395. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  396. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +46 -0
  397. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  398. package/fesm2022/seniorsistemas-angular-components.mjs +3 -1
  399. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  400. package/fieldset/lib/fieldset/fieldset.component.d.ts +23 -3
  401. package/file-picker/lib/file-picker/file-picker.component.d.ts +47 -0
  402. package/gantt/lib/gantt/gantt.component.d.ts +31 -0
  403. package/global-search/lib/global-search/global-search.component.d.ts +29 -0
  404. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +39 -0
  405. package/help-popover/lib/help-popover/help-popover.directive.d.ts +67 -17
  406. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +38 -0
  407. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +15 -0
  408. package/info-sign/lib/info-sign/info-sign.directive.d.ts +30 -1
  409. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
  410. package/insights/lib/insights/insights.component.d.ts +22 -0
  411. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +20 -0
  412. package/kanban/lib/kanban/kanban.component.d.ts +25 -5
  413. package/label-value/lib/label-value/label-value.component.d.ts +13 -0
  414. package/loading-state/lib/loading-state/loading-state.component.d.ts +36 -0
  415. package/loading-state/lib/loading-state/loading-state.directive.d.ts +23 -0
  416. package/locale/lib/locale/locale.service.d.ts +7 -0
  417. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
  418. package/mask/lib/mask/mask-formatter.pipe.d.ts +12 -0
  419. package/mouse-events/lib/mouse-events/double-click.directive.d.ts +13 -0
  420. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -2
  421. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +19 -0
  422. package/number-input/lib/number-input/number-input.directive.d.ts +19 -1
  423. package/numeric/lib/numeric.pipe.d.ts +15 -0
  424. package/numeric/lib/numeric.service.d.ts +20 -0
  425. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +5 -4
  426. package/object-card/lib/object-card/object-card.component.d.ts +23 -0
  427. package/optional-fields/editor/editor-field.d.ts +19 -0
  428. package/package.json +7 -7
  429. package/paginator/lib/paginator/paginator.component.d.ts +19 -0
  430. package/panel/lib/panel/panel.component.d.ts +24 -3
  431. package/password-strength/lib/password-strength/password-strength.component.d.ts +24 -0
  432. package/password-strength/lib/password-strength/password-strength.directive.d.ts +53 -0
  433. package/picklist/lib/picklist/picklist.component.d.ts +29 -0
  434. package/pin-code-field/lib/pin-code-field/pin-code-field.component.d.ts +28 -33
  435. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +85 -1
  436. package/progressbar/lib/progressbar/progressbar.component.d.ts +50 -0
  437. package/radio-button/lib/radio-button/radio-button.component.d.ts +27 -0
  438. package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +26 -0
  439. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +30 -2
  440. package/select/lib/select/select.component.d.ts +34 -0
  441. package/select-button/lib/select-button/select-button.component.d.ts +34 -0
  442. package/shared/lib/shared/border-button/border-button.component.d.ts +10 -2
  443. package/sidebar/lib/sidebar/sidebar.component.d.ts +53 -0
  444. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +53 -2
  445. package/slider/lib/slider/slider.component.d.ts +72 -0
  446. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +18 -0
  447. package/split-button/lib/split-button/split-button.component.d.ts +22 -0
  448. package/star-rating/star-rating/star-rating.component.d.ts +16 -0
  449. package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
  450. package/stepper/lib/stepper/stepper.component.d.ts +19 -0
  451. package/structure/lib/structure/footer.component.d.ts +10 -0
  452. package/switch/lib/switch/switch.component.d.ts +20 -0
  453. package/table/lib/table/table-column/table-columns.component.d.ts +15 -0
  454. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +18 -0
  455. package/tabs/lib/tab-item/tab-item.component.d.ts +31 -0
  456. package/tabs/lib/tabs/tabs.component.d.ts +28 -0
  457. package/template/lib/template/template.directive.d.ts +12 -0
  458. package/text-area/lib/text-area/text-area.component.d.ts +27 -0
  459. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +24 -0
  460. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +27 -2
  461. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +3 -1
  462. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +31 -1
  463. package/tile/lib/tile/tile.component.d.ts +25 -0
  464. package/timeline/lib/timeline/timeline.component.d.ts +24 -0
  465. package/toast/lib/toast/toast.component.d.ts +22 -2
  466. package/token-list/lib/token-list/token-list.component.d.ts +21 -0
  467. package/tooltip/lib/tooltip/tooltip.directive.d.ts +65 -0
  468. package/topbar/lib/topbar/topbar.component.d.ts +17 -0
  469. package/tree/lib/tree/tree.component.d.ts +27 -0
  470. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +46 -0
  471. package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +0 -10
  472. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +0 -20
@@ -6,19 +6,51 @@ import { Subject, takeUntil } from 'rxjs';
6
6
  import { TabItemComponent } from '../tab-item/tab-item.component';
7
7
  import { InteractiveContentDirective } from '@seniorsistemas/angular-components/interactive-content';
8
8
  import * as i0 from "@angular/core";
9
+ /**
10
+ * @description Componente de abas (tabs) que organiza o conteúdo em painéis acessíveis por rótulos clicáveis.
11
+ * Suporta layout horizontal e vertical, two-way binding da aba ativa e renderização condicional
12
+ * do conteúdo de cada aba via `TabItemComponent`.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <s-tabs [(activeTab)]="activeTab" layoutType="horizontal">
17
+ * <s-tab-item header="Aba 1" value="tab1">Conteúdo 1</s-tab-item>
18
+ * <s-tab-item header="Aba 2" value="tab2">Conteúdo 2</s-tab-item>
19
+ * </s-tabs>
20
+ * ```
21
+ *
22
+ * @category Navegação
23
+ */
9
24
  export class TabsComponent {
10
25
  onDestroy$ = new Subject();
11
26
  tabItems = contentChildren(TabItemComponent);
12
27
  activeTabComponent = computed(() => {
13
- return this.tabItems().find((tab) => tab.value() === this.activeTab() && tab.destroyOnHide())?.template();
28
+ return this.tabItems()
29
+ .find((tab) => tab.value() === this.activeTab() && tab.destroyOnHide())
30
+ ?.template();
14
31
  });
15
32
  keepAliveTabsContent = computed(() => {
16
33
  return this.tabItems().filter((tab) => !tab.destroyOnHide());
17
34
  });
35
+ /**
36
+ * @description Valor da aba atualmente ativa. Suporta two-way binding via `[(activeTab)]`.
37
+ * Por padrão, ativa a primeira aba (índice `0`).
38
+ *
39
+ * @default 0
40
+ */
18
41
  activeTab = model(0);
42
+ /**
43
+ * @description Orientação visual das abas.
44
+ * - `'horizontal'`: abas exibidas em linha, acima do conteúdo (padrão).
45
+ * - `'vertical'`: abas exibidas em coluna, à esquerda do conteúdo.
46
+ *
47
+ * @default 'horizontal'
48
+ */
19
49
  layoutType = input('horizontal');
20
50
  constructor() {
21
- toObservable(this.tabItems).pipe(takeUntil(this.onDestroy$)).subscribe(() => {
51
+ toObservable(this.tabItems)
52
+ .pipe(takeUntil(this.onDestroy$))
53
+ .subscribe(() => {
22
54
  const tabs = this.tabItems();
23
55
  tabs.forEach((tab, $index) => {
24
56
  const tabHasValue = !!tab.value();
@@ -48,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
48
80
  type: Component,
49
81
  args: [{ selector: 's-tabs', standalone: true, imports: [InteractiveContentDirective, NgTemplateOutlet, NgClass, TooltipDirective], template: "@let layout = layoutType();\n@let isHorizontal = layout === 'horizontal';\n@let isVertical = layout === 'vertical';\n<ng-template #buttonsRender>\n @for (tab of tabItems(); track $index) {\n @let isActiveTab = tab.value() === activeTab();\n @let disabledTab = tab.disabled();\n <button\n #tabButton\n (sInteractiveContent)=\"onActiveTab(tab)\"\n class=\"flex min-h-11 min-w-24 justify-start overflow-hidden text-ellipsis whitespace-nowrap border-primary p-2 hover:transition-all disabled:border-grayscale-30 disabled:text-grayscale-30\"\n [class.active-tab]=\"isActiveTab\"\n [disabled]=\"disabledTab\"\n [ngClass]=\"{\n 'font-bold': isActiveTab,\n 'text-primary': !isActiveTab,\n 'border-b-4': isActiveTab && isHorizontal,\n 'border-r-4': isActiveTab && isVertical,\n 'hover:border-b-4': isHorizontal && !disabledTab,\n 'hover:border-r-4': isVertical && !disabledTab,\n 'flex items-center gap-2': tab.icon(),\n }\"\n >\n @let headerElement = tab.headerElement();\n @if (headerElement) {\n <ng-container *ngTemplateOutlet=\"headerElement\"></ng-container>\n } @else {\n @if (tab.icon()) {\n <i\n class=\"text-grayscale-100\"\n [class]=\"tab.icon()\"\n ></i>\n }\n <span\n class=\"block overflow-hidden text-ellipsis whitespace-nowrap text-left\"\n [class.max-w-28]=\"isHorizontal\"\n [sTooltip]=\"tab.header()\"\n [visible]=\"!disabledTab\"\n [checkTruncatedText]=\"true\"\n >\n {{ tab.header() }}\n </span>\n }\n </button>\n }\n</ng-template>\n\n<ng-template #renderComponent>\n @let template = activeTabComponent();\n @if (template) {\n <section class=\"h-full min-h-10 bg-grayscale-0 p-2\">\n <ng-container *ngTemplateOutlet=\"template\" />\n </section>\n }\n @for (keepAliveTab of keepAliveTabsContent(); track $index) {\n @let isActiveTab = keepAliveTab.value() === activeTab();\n\n <section\n class=\"h-full min-h-10 bg-grayscale-0 p-2\"\n [class.hidden]=\"!isActiveTab\"\n [class.block]=\"isActiveTab\"\n >\n @if (keepAliveTab.template()) {\n <ng-container *ngTemplateOutlet=\"keepAliveTab.template()!\"></ng-container>\n }\n </section>\n }\n</ng-template>\n\n@if (isHorizontal) {\n <section class=\"p-2\">\n <div class=\"flex grid-flow-col overflow-auto border-b-[1px] border-b-grayscale-20\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </section>\n} @else if (isVertical) {\n <section class=\"vertical-tab flex w-full flex-wrap gap-2\">\n <aside class=\"vertical-tab-buttons flex max-h-96 flex-col overflow-auto\">\n <ng-container *ngTemplateOutlet=\"buttonsRender\"></ng-container>\n </aside>\n <aside class=\"vertical-tab-content flex-1\">\n <ng-container *ngTemplateOutlet=\"renderComponent\"></ng-container>\n </aside>\n </section>\n}\n", styles: [".vertical-tab{container:vertical-tab/inline-size}.vertical-tab-buttons{width:14rem}.vertical-tab-content{min-width:20rem}@container vertical-tab (max-width: 552px){.vertical-tab-buttons{width:100%;flex-direction:row}.vertical-tab-buttons .active-tab,.vertical-tab-buttons button:hover{border-right:none;border-bottom-width:4px}}\n"] }]
50
82
  }], ctorParameters: () => [] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQVNyRyxNQUFNLE9BQU8sYUFBYTtJQUNQLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQy9CLFFBQVEsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1RyxDQUFDLENBQUMsQ0FBQTtJQUVpQixvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtJQUM5RCxDQUFDLENBQUMsQ0FBQTtJQUVGLFNBQVMsR0FBRyxLQUFLLENBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLFVBQVUsR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDO0lBRTVEO1FBQ0UsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDakIsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxXQUFXLENBQUMsR0FBcUI7UUFDekMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyRixJQUFJLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUNwRixZQUFZLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQXFCLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQXhDVSxhQUFhOzRGQUFiLGFBQWEsNlpBRXNCLGdCQUFnQiw2Q0NqQmhFLHc5R0FzRkEsb1lEM0VZLDJCQUEyQiwwSkFBRSxnQkFBZ0Isb0pBQUUsT0FBTyxvRkFBRSxnQkFBZ0I7OzRGQUl2RSxhQUFhO2tCQVB6QixTQUFTOytCQUNFLFFBQVEsY0FDTixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZHJlbiwgaW5wdXQsIG1vZGVsLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW50ZXJhY3RpdmUtY29udGVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3MtdGFicycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUsIE5nVGVtcGxhdGVPdXRsZXQsIE5nQ2xhc3MsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYkl0ZW1zID0gY29udGVudENoaWxkcmVuKFRhYkl0ZW1Db21wb25lbnQpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVUYWJDb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudGFiSXRlbXMoKS5maW5kKCh0YWIpID0+IHRhYi52YWx1ZSgpID09PSB0aGlzLmFjdGl2ZVRhYigpICYmIHRhYi5kZXN0cm95T25IaWRlKCkpPy50ZW1wbGF0ZSgpO1xuICB9KVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBrZWVwQWxpdmVUYWJzQ29udGVudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy50YWJJdGVtcygpLmZpbHRlcigodGFiKSA9PiAhdGFiLmRlc3Ryb3lPbkhpZGUoKSlcbiAgfSlcblxuICBhY3RpdmVUYWIgPSBtb2RlbDxzdHJpbmcgfCBudW1iZXI+KDApO1xuICBsYXlvdXRUeXBlID0gaW5wdXQ8J2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJz4oJ2hvcml6b250YWwnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0b09ic2VydmFibGUodGhpcy50YWJJdGVtcykucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLnRhYkl0ZW1zKCk7XG4gICAgICB0YWJzLmZvckVhY2goKHRhYiwgJGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHRhYkhhc1ZhbHVlID0gISF0YWIudmFsdWUoKTtcbiAgICAgICAgaWYgKCF0YWJIYXNWYWx1ZSkge1xuICAgICAgICAgIHRhYi52YWx1ZS5zZXQoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkFjdGl2ZVRhYih0YWI6IFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICBpZiAodGFiLmRpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgX3ByZXZpb3VzVGFiID0gdGhpcy50YWJJdGVtcygpLmZpbmQoKHRhYikgPT4gdGFiLnZhbHVlKCkgPT09IHRoaXMuYWN0aXZlVGFiKCkpO1xuICAgIGlmIChfcHJldmlvdXNUYWIgJiYgIV9wcmV2aW91c1RhYi50ZW1wbGF0ZUNvbnRlbnQoKSAmJiBfcHJldmlvdXNUYWIuZGVzdHJveU9uSGlkZSgpKSB7XG4gICAgICBfcHJldmlvdXNUYWIudGVtcGxhdGUoKVxuICAgIH1cbiAgICB0aGlzLmFjdGl2ZVRhYi5zZXQodGFiLnZhbHVlKCkgYXMgc3RyaW5nIHwgbnVtYmVyKTtcbiAgfVxuXG59XG4iLCJAbGV0IGxheW91dCA9IGxheW91dFR5cGUoKTtcbkBsZXQgaXNIb3Jpem9udGFsID0gbGF5b3V0ID09PSAnaG9yaXpvbnRhbCc7XG5AbGV0IGlzVmVydGljYWwgPSBsYXlvdXQgPT09ICd2ZXJ0aWNhbCc7XG48bmctdGVtcGxhdGUgI2J1dHRvbnNSZW5kZXI+XG4gICAgQGZvciAodGFiIG9mIHRhYkl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAbGV0IGlzQWN0aXZlVGFiID0gdGFiLnZhbHVlKCkgPT09IGFjdGl2ZVRhYigpO1xuICAgICAgICBAbGV0IGRpc2FibGVkVGFiID0gdGFiLmRpc2FibGVkKCk7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICN0YWJCdXR0b25cbiAgICAgICAgICAgIChzSW50ZXJhY3RpdmVDb250ZW50KT1cIm9uQWN0aXZlVGFiKHRhYilcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IG1pbi1oLTExIG1pbi13LTI0IGp1c3RpZnktc3RhcnQgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgYm9yZGVyLXByaW1hcnkgcC0yIGhvdmVyOnRyYW5zaXRpb24tYWxsIGRpc2FibGVkOmJvcmRlci1ncmF5c2NhbGUtMzAgZGlzYWJsZWQ6dGV4dC1ncmF5c2NhbGUtMzBcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS10YWJdPVwiaXNBY3RpdmVUYWJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkVGFiXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnZm9udC1ib2xkJzogaXNBY3RpdmVUYWIsXG4gICAgICAgICAgICAgICAgJ3RleHQtcHJpbWFyeSc6ICFpc0FjdGl2ZVRhYixcbiAgICAgICAgICAgICAgICAnYm9yZGVyLWItNCc6IGlzQWN0aXZlVGFiICYmIGlzSG9yaXpvbnRhbCxcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXItNCc6IGlzQWN0aXZlVGFiICYmIGlzVmVydGljYWwsXG4gICAgICAgICAgICAgICAgJ2hvdmVyOmJvcmRlci1iLTQnOiBpc0hvcml6b250YWwgJiYgIWRpc2FibGVkVGFiLFxuICAgICAgICAgICAgICAgICdob3Zlcjpib3JkZXItci00JzogaXNWZXJ0aWNhbCAmJiAhZGlzYWJsZWRUYWIsXG4gICAgICAgICAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIGdhcC0yJzogdGFiLmljb24oKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICBAbGV0IGhlYWRlckVsZW1lbnQgPSB0YWIuaGVhZGVyRWxlbWVudCgpO1xuICAgICAgICAgICAgQGlmIChoZWFkZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlckVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAodGFiLmljb24oKSkge1xuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cInRhYi5pY29uKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tYXgtdy0yOF09XCJpc0hvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwidGFiLmhlYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiIWRpc2FibGVkVGFiXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrVHJ1bmNhdGVkVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRhYi5oZWFkZXIoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXJDb21wb25lbnQ+XG4gICAgQGxldCB0ZW1wbGF0ZSA9IGFjdGl2ZVRhYkNvbXBvbmVudCgpO1xuICAgIEBpZiAodGVtcGxhdGUpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJoLWZ1bGwgbWluLWgtMTAgYmctZ3JheXNjYWxlLTAgcC0yXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIiAvPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgfVxuICAgIEBmb3IgKGtlZXBBbGl2ZVRhYiBvZiBrZWVwQWxpdmVUYWJzQ29udGVudCgpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGxldCBpc0FjdGl2ZVRhYiA9IGtlZXBBbGl2ZVRhYi52YWx1ZSgpID09PSBhY3RpdmVUYWIoKTtcblxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgICAgY2xhc3M9XCJoLWZ1bGwgbWluLWgtMTAgYmctZ3JheXNjYWxlLTAgcC0yXCJcbiAgICAgICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIWlzQWN0aXZlVGFiXCJcbiAgICAgICAgICAgIFtjbGFzcy5ibG9ja109XCJpc0FjdGl2ZVRhYlwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoa2VlcEFsaXZlVGFiLnRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwia2VlcEFsaXZlVGFiLnRlbXBsYXRlKCkhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwicC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyaWQtZmxvdy1jb2wgb3ZlcmZsb3ctYXV0byBib3JkZXItYi1bMXB4XSBib3JkZXItYi1ncmF5c2NhbGUtMjBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zUmVuZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ29tcG9uZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxufSBAZWxzZSBpZiAoaXNWZXJ0aWNhbCkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwidmVydGljYWwtdGFiIGZsZXggdy1mdWxsIGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICA8YXNpZGUgY2xhc3M9XCJ2ZXJ0aWNhbC10YWItYnV0dG9ucyBmbGV4IG1heC1oLTk2IGZsZXgtY29sIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zUmVuZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICAgIDxhc2lkZSBjbGFzcz1cInZlcnRpY2FsLXRhYi1jb250ZW50IGZsZXgtMVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2FzaWRlPlxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGFicy9zcmMvbGliL3RhYnMvdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQUVyRzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVFILE1BQU0sT0FBTyxhQUFhO0lBQ0wsVUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDL0IsUUFBUSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTdDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbEQsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFO2FBQ2pCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztJQUVnQixvQkFBb0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztJQUVIOzs7OztPQUtHO0lBQ0gsU0FBUyxHQUFHLEtBQUssQ0FBa0IsQ0FBQyxDQUFDLENBQUM7SUFFdEM7Ozs7OztPQU1HO0lBQ0gsVUFBVSxHQUFHLEtBQUssQ0FBNEIsWUFBWSxDQUFDLENBQUM7SUFFNUQ7UUFDSSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3pCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDZixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLFdBQVcsQ0FBQyxHQUFxQjtRQUN2QyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ2xGLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBcUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7d0dBMURRLGFBQWE7NEZBQWIsYUFBYSw2WkFFd0IsZ0JBQWdCLDZDQ2hDbEUsdzlHQXNGQSxvWUQ1RGMsMkJBQTJCLDBKQUFFLGdCQUFnQixvSkFBRSxPQUFPLG9GQUFFLGdCQUFnQjs7NEZBSXpFLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0ksUUFBUSxjQUNOLElBQUksV0FDUCxDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBpbnB1dCwgbW9kZWwsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnRlcmFjdGl2ZS1jb250ZW50JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBhYmFzICh0YWJzKSBxdWUgb3JnYW5pemEgbyBjb250ZcO6ZG8gZW0gcGFpbsOpaXMgYWNlc3PDrXZlaXMgcG9yIHLDs3R1bG9zIGNsaWPDoXZlaXMuXG4gKiBTdXBvcnRhIGxheW91dCBob3Jpem9udGFsIGUgdmVydGljYWwsIHR3by13YXkgYmluZGluZyBkYSBhYmEgYXRpdmEgZSByZW5kZXJpemHDp8OjbyBjb25kaWNpb25hbFxuICogZG8gY29udGXDumRvIGRlIGNhZGEgYWJhIHZpYSBgVGFiSXRlbUNvbXBvbmVudGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxzLXRhYnMgWyhhY3RpdmVUYWIpXT1cImFjdGl2ZVRhYlwiIGxheW91dFR5cGU9XCJob3Jpem9udGFsXCI+XG4gKiAgIDxzLXRhYi1pdGVtIGhlYWRlcj1cIkFiYSAxXCIgdmFsdWU9XCJ0YWIxXCI+Q29udGXDumRvIDE8L3MtdGFiLWl0ZW0+XG4gKiAgIDxzLXRhYi1pdGVtIGhlYWRlcj1cIkFiYSAyXCIgdmFsdWU9XCJ0YWIyXCI+Q29udGXDumRvIDI8L3MtdGFiLWl0ZW0+XG4gKiA8L3MtdGFicz5cbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBOYXZlZ2HDp8Ojb1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtdGFicycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzLCBUb29sdGlwRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0YWJJdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVUYWJDb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYkl0ZW1zKClcbiAgICAgICAgICAgIC5maW5kKCh0YWIpID0+IHRhYi52YWx1ZSgpID09PSB0aGlzLmFjdGl2ZVRhYigpICYmIHRhYi5kZXN0cm95T25IaWRlKCkpXG4gICAgICAgICAgICA/LnRlbXBsYXRlKCk7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkga2VlcEFsaXZlVGFic0NvbnRlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYkl0ZW1zKCkuZmlsdGVyKCh0YWIpID0+ICF0YWIuZGVzdHJveU9uSGlkZSgpKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBWYWxvciBkYSBhYmEgYXR1YWxtZW50ZSBhdGl2YS4gU3Vwb3J0YSB0d28td2F5IGJpbmRpbmcgdmlhIGBbKGFjdGl2ZVRhYildYC5cbiAgICAgKiBQb3IgcGFkcsOjbywgYXRpdmEgYSBwcmltZWlyYSBhYmEgKMOtbmRpY2UgYDBgKS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBhY3RpdmVUYWIgPSBtb2RlbDxzdHJpbmcgfCBudW1iZXI+KDApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE9yaWVudGHDp8OjbyB2aXN1YWwgZGFzIGFiYXMuXG4gICAgICogLSBgJ2hvcml6b250YWwnYDogYWJhcyBleGliaWRhcyBlbSBsaW5oYSwgYWNpbWEgZG8gY29udGXDumRvIChwYWRyw6NvKS5cbiAgICAgKiAtIGAndmVydGljYWwnYDogYWJhcyBleGliaWRhcyBlbSBjb2x1bmEsIMOgIGVzcXVlcmRhIGRvIGNvbnRlw7pkby5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIGxheW91dFR5cGUgPSBpbnB1dDwnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnPignaG9yaXpvbnRhbCcpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnRhYkl0ZW1zKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJzID0gdGhpcy50YWJJdGVtcygpO1xuICAgICAgICAgICAgICAgIHRhYnMuZm9yRWFjaCgodGFiLCAkaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFiSGFzVmFsdWUgPSAhIXRhYi52YWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRhYkhhc1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWIudmFsdWUuc2V0KCRpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFjdGl2ZVRhYih0YWI6IFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICAgICAgaWYgKHRhYi5kaXNhYmxlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgX3ByZXZpb3VzVGFiID0gdGhpcy50YWJJdGVtcygpLmZpbmQoKHRhYikgPT4gdGFiLnZhbHVlKCkgPT09IHRoaXMuYWN0aXZlVGFiKCkpO1xuICAgICAgICBpZiAoX3ByZXZpb3VzVGFiICYmICFfcHJldmlvdXNUYWIudGVtcGxhdGVDb250ZW50KCkgJiYgX3ByZXZpb3VzVGFiLmRlc3Ryb3lPbkhpZGUoKSkge1xuICAgICAgICAgICAgX3ByZXZpb3VzVGFiLnRlbXBsYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVUYWIuc2V0KHRhYi52YWx1ZSgpIGFzIHN0cmluZyB8IG51bWJlcik7XG4gICAgfVxufVxuXG4iLCJAbGV0IGxheW91dCA9IGxheW91dFR5cGUoKTtcbkBsZXQgaXNIb3Jpem9udGFsID0gbGF5b3V0ID09PSAnaG9yaXpvbnRhbCc7XG5AbGV0IGlzVmVydGljYWwgPSBsYXlvdXQgPT09ICd2ZXJ0aWNhbCc7XG48bmctdGVtcGxhdGUgI2J1dHRvbnNSZW5kZXI+XG4gICAgQGZvciAodGFiIG9mIHRhYkl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICBAbGV0IGlzQWN0aXZlVGFiID0gdGFiLnZhbHVlKCkgPT09IGFjdGl2ZVRhYigpO1xuICAgICAgICBAbGV0IGRpc2FibGVkVGFiID0gdGFiLmRpc2FibGVkKCk7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICN0YWJCdXR0b25cbiAgICAgICAgICAgIChzSW50ZXJhY3RpdmVDb250ZW50KT1cIm9uQWN0aXZlVGFiKHRhYilcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IG1pbi1oLTExIG1pbi13LTI0IGp1c3RpZnktc3RhcnQgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgYm9yZGVyLXByaW1hcnkgcC0yIGhvdmVyOnRyYW5zaXRpb24tYWxsIGRpc2FibGVkOmJvcmRlci1ncmF5c2NhbGUtMzAgZGlzYWJsZWQ6dGV4dC1ncmF5c2NhbGUtMzBcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS10YWJdPVwiaXNBY3RpdmVUYWJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkVGFiXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnZm9udC1ib2xkJzogaXNBY3RpdmVUYWIsXG4gICAgICAgICAgICAgICAgJ3RleHQtcHJpbWFyeSc6ICFpc0FjdGl2ZVRhYixcbiAgICAgICAgICAgICAgICAnYm9yZGVyLWItNCc6IGlzQWN0aXZlVGFiICYmIGlzSG9yaXpvbnRhbCxcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXItNCc6IGlzQWN0aXZlVGFiICYmIGlzVmVydGljYWwsXG4gICAgICAgICAgICAgICAgJ2hvdmVyOmJvcmRlci1iLTQnOiBpc0hvcml6b250YWwgJiYgIWRpc2FibGVkVGFiLFxuICAgICAgICAgICAgICAgICdob3Zlcjpib3JkZXItci00JzogaXNWZXJ0aWNhbCAmJiAhZGlzYWJsZWRUYWIsXG4gICAgICAgICAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIGdhcC0yJzogdGFiLmljb24oKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICBAbGV0IGhlYWRlckVsZW1lbnQgPSB0YWIuaGVhZGVyRWxlbWVudCgpO1xuICAgICAgICAgICAgQGlmIChoZWFkZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlckVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAodGFiLmljb24oKSkge1xuICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cInRhYi5pY29uKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tYXgtdy0yOF09XCJpc0hvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwidGFiLmhlYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiIWRpc2FibGVkVGFiXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrVHJ1bmNhdGVkVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRhYi5oZWFkZXIoKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXJDb21wb25lbnQ+XG4gICAgQGxldCB0ZW1wbGF0ZSA9IGFjdGl2ZVRhYkNvbXBvbmVudCgpO1xuICAgIEBpZiAodGVtcGxhdGUpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJoLWZ1bGwgbWluLWgtMTAgYmctZ3JheXNjYWxlLTAgcC0yXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIiAvPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgfVxuICAgIEBmb3IgKGtlZXBBbGl2ZVRhYiBvZiBrZWVwQWxpdmVUYWJzQ29udGVudCgpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgQGxldCBpc0FjdGl2ZVRhYiA9IGtlZXBBbGl2ZVRhYi52YWx1ZSgpID09PSBhY3RpdmVUYWIoKTtcblxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgICAgY2xhc3M9XCJoLWZ1bGwgbWluLWgtMTAgYmctZ3JheXNjYWxlLTAgcC0yXCJcbiAgICAgICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIWlzQWN0aXZlVGFiXCJcbiAgICAgICAgICAgIFtjbGFzcy5ibG9ja109XCJpc0FjdGl2ZVRhYlwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoa2VlcEFsaXZlVGFiLnRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwia2VlcEFsaXZlVGFiLnRlbXBsYXRlKCkhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwicC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyaWQtZmxvdy1jb2wgb3ZlcmZsb3ctYXV0byBib3JkZXItYi1bMXB4XSBib3JkZXItYi1ncmF5c2NhbGUtMjBcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zUmVuZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyQ29tcG9uZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxufSBAZWxzZSBpZiAoaXNWZXJ0aWNhbCkge1xuICAgIDxzZWN0aW9uIGNsYXNzPVwidmVydGljYWwtdGFiIGZsZXggdy1mdWxsIGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICA8YXNpZGUgY2xhc3M9XCJ2ZXJ0aWNhbC10YWItYnV0dG9ucyBmbGV4IG1heC1oLTk2IGZsZXgtY29sIG92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zUmVuZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICAgIDxhc2lkZSBjbGFzcz1cInZlcnRpY2FsLXRhYi1jb250ZW50IGZsZXgtMVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2FzaWRlPlxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
@@ -1,6 +1,18 @@
1
1
  import { Directive, inject, Input, TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @description Diretiva estrutural que marca um `<ng-template>` com um alias nomeado,
5
+ * permitindo que componentes pai identifiquem e projetem templates específicos por nome.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <ng-template sTemplate="header">Conteúdo do cabeçalho</ng-template>
10
+ * ```
11
+ *
12
+ * @category Shared
13
+ */
3
14
  export class TemplateDirective {
15
+ /** @description Nome (alias) que identifica o template nomeado. Utilizado como valor do atributo `sTemplate`. */
4
16
  type;
5
17
  template = inject((TemplateRef));
6
18
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -10,7 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
10
22
  type: Directive,
11
23
  args: [{
12
24
  selector: '[sTemplate]',
13
- standalone: true
25
+ standalone: true,
14
26
  }]
15
27
  }], propDecorators: { type: [{
16
28
  type: Input,
@@ -19,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
19
31
  required: true,
20
32
  }]
21
33
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RlbXBsYXRlL3NyYy9saWIvdGVtcGxhdGUvdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXRFLE1BQU0sT0FBTyxpQkFBaUI7SUFLbkIsSUFBSSxDQUFVO0lBRVosUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFdBQWdCLENBQUEsQ0FBQyxDQUFBO3dHQVBuQyxpQkFBaUI7NEZBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU1VLElBQUk7c0JBSlYsS0FBSzt1QkFBQzt3QkFDSCxLQUFLLEVBQUUsV0FBVzt3QkFDbEIsUUFBUSxFQUFFLElBQUk7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzVGVtcGxhdGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoe1xuICAgICAgICBhbGlhczogJ3NUZW1wbGF0ZScsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gICAgcHVibGljIHR5cGUhOiBzdHJpbmc7XG5cbiAgICByZWFkb25seSB0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZjxhbnk+KVxufVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RlbXBsYXRlL3NyYy9saWIvdGVtcGxhdGUvdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXRFOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLGlIQUFpSDtJQUsxRyxJQUFJLENBQVU7SUFFWixRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBZ0IsQ0FBQSxDQUFDLENBQUM7d0dBUnBDLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBT1UsSUFBSTtzQkFKVixLQUFLO3VCQUFDO3dCQUNILEtBQUssRUFBRSxXQUFXO3dCQUNsQixRQUFRLEVBQUUsSUFBSTtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERpcmV0aXZhIGVzdHJ1dHVyYWwgcXVlIG1hcmNhIHVtIGA8bmctdGVtcGxhdGU+YCBjb20gdW0gYWxpYXMgbm9tZWFkbyxcbiAqIHBlcm1pdGluZG8gcXVlIGNvbXBvbmVudGVzIHBhaSBpZGVudGlmaXF1ZW0gZSBwcm9qZXRlbSB0ZW1wbGF0ZXMgZXNwZWPDrWZpY29zIHBvciBub21lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8bmctdGVtcGxhdGUgc1RlbXBsYXRlPVwiaGVhZGVyXCI+Q29udGXDumRvIGRvIGNhYmXDp2FsaG88L25nLXRlbXBsYXRlPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFNoYXJlZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzVGVtcGxhdGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBOb21lIChhbGlhcykgcXVlIGlkZW50aWZpY2EgbyB0ZW1wbGF0ZSBub21lYWRvLiBVdGlsaXphZG8gY29tbyB2YWxvciBkbyBhdHJpYnV0byBgc1RlbXBsYXRlYC4gKi9cbiAgICBASW5wdXQoe1xuICAgICAgICBhbGlhczogJ3NUZW1wbGF0ZScsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gICAgcHVibGljIHR5cGUhOiBzdHJpbmc7XG5cbiAgICByZWFkb25seSB0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZjxhbnk+KTtcbn1cblxuIl19
@@ -5,6 +5,23 @@ import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
6
6
  import * as i3 from "@seniorsistemas/angular-components/speech-recognition";
7
7
  import * as i4 from "primeng/keyfilter";
8
+ /**
9
+ * @description Componente de área de texto com suporte a reconhecimento de voz,
10
+ * filtro de teclas, comprimento máximo e integração com `ControlValueAccessor`.
11
+ * Renderiza condicionalmente o componente `SpeechRecognitionComponent` quando
12
+ * a flag `speechRecognition` está ativa.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <s-textarea
17
+ * formControlName="descricao"
18
+ * [rows]="6"
19
+ * [maxLength]="500"
20
+ * placeholder="Digite aqui..." />
21
+ * ```
22
+ *
23
+ * @category Inputs
24
+ */
8
25
  export class TextAreaComponent {
9
26
  cdr;
10
27
  onChange = () => { };
@@ -22,17 +39,26 @@ export class TextAreaComponent {
22
39
  this.cdr.detectChanges();
23
40
  });
24
41
  }
42
+ /** @description Identificador do elemento `<textarea>` no DOM. @default 'textarea-{random}' */
25
43
  inputId = `textarea-${Math.random()}`;
44
+ /** @description Número de linhas visíveis no textarea. @default 5 */
26
45
  rows = 5;
46
+ /** @description Habilita o botão de reconhecimento de voz. @default false */
27
47
  speechRecognition = false;
48
+ /** @description Filtro de teclas aceitas, usando padrão ou expressão regular. */
28
49
  keyFilter;
50
+ /** @description Quando `true`, mantém o contexto ao reiniciar o reconhecimento de voz. @default false */
29
51
  keepContext = false;
52
+ /** @description Placeholder exibido durante o reconhecimento de voz. @default '' */
30
53
  speechRecognitionPlaceholder = '';
54
+ /** @description Número máximo de caracteres aceitos. @default null (ilimitado) */
31
55
  maxLength = null;
56
+ /** @description Texto exibido quando o campo está vazio. */
32
57
  placeholder;
33
58
  _inputStyle = {
34
59
  resize: 'vertical',
35
60
  };
61
+ /** @description Estilos inline aplicados ao elemento `<textarea>` interno. @default `{ resize: 'vertical' }` */
36
62
  get inputStyle() {
37
63
  return this._inputStyle;
38
64
  }
@@ -42,6 +68,7 @@ export class TextAreaComponent {
42
68
  ...this._inputStyle,
43
69
  };
44
70
  }
71
+ /** @description Coloca o textarea em modo somente leitura. @default false */
45
72
  readOnly = false;
46
73
  renderTextArea = false;
47
74
  constructor(cdr) {
@@ -113,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
113
140
  }], readOnly: [{
114
141
  type: Input
115
142
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90ZXh0LWFyZWEvc3JjL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90ZXh0LWFyZWEvc3JjL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWV6RSxNQUFNLE9BQU8saUJBQWlCO0lBNkNHO0lBNUM3QixRQUFRLEdBQTRCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUM3QyxTQUFTLEdBQTRCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUM5QyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDSCxnQkFBZ0IsQ0FBOEM7SUFFdEUsSUFDVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFtRCxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFXLGVBQWUsQ0FBQyxLQUFzQztRQUM3RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLE9BQU8sR0FBRyxZQUFZLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ3RDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDVCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUErQztJQUN4RCxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLDRCQUE0QixHQUFHLEVBQUUsQ0FBQztJQUNsQyxTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxXQUFXLENBQXFCO0lBRWpDLFdBQVcsR0FBaUM7UUFDaEQsTUFBTSxFQUFFLFVBQVU7S0FDckIsQ0FBQztJQUNGLElBQWEsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQW1DO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDZixHQUFHLEtBQUs7WUFDUixHQUFHLElBQUksQ0FBQyxXQUFXO1NBQ3RCLENBQUM7SUFDTixDQUFDO0lBQ1EsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUUxQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRXZCLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUV2RCxVQUFVLENBQUMsR0FBVztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsY0FBc0I7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQTNFUSxpQkFBaUI7NEZBQWpCLGlCQUFpQixpVkFSZjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixrSEFTOEIsVUFBVSw2QkN2QjdDLCtrQ0F1Q0E7OzRGRHZCYSxpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0ksWUFBWSxhQUdYO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtzRkFVVSxlQUFlO3NCQUR6QixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBYWxDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEtleUZpbHRlclBhdHRlcm4gfSBmcm9tICdwcmltZW5nL2tleWZpbHRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy10ZXh0YXJlYScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEFyZWFDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIGRpc2FibGVkID0gZmFsc2U7XG4gICAgdmFsdWUgPSAnJztcbiAgICBwcml2YXRlIF90ZXh0QXJlYUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCd0ZXh0QXJlYScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHB1YmxpYyBnZXQgdGV4dEFyZWFFbGVtZW50KCk6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dEFyZWFFbGVtZW50IGFzIEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB0ZXh0QXJlYUVsZW1lbnQodmFsdWU6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5fdGV4dEFyZWFFbGVtZW50ID0gdmFsdWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUZXh0QXJlYSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGlucHV0SWQgPSBgdGV4dGFyZWEtJHtNYXRoLnJhbmRvbSgpfWA7XG4gICAgQElucHV0KCkgcm93cyA9IDU7XG4gICAgQElucHV0KCkgc3BlZWNoUmVjb2duaXRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBrZXlGaWx0ZXI6IFJlZ0V4cCB8IEtleUZpbHRlclBhdHRlcm4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGtlZXBDb250ZXh0ID0gZmFsc2U7XG4gICAgQElucHV0KCkgc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlciA9ICcnO1xuICAgIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIHByaXZhdGUgX2lucHV0U3R5bGU6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7XG4gICAgICAgIHJlc2l6ZTogJ3ZlcnRpY2FsJyxcbiAgICB9O1xuICAgIEBJbnB1dCgpIGdldCBpbnB1dFN0eWxlKCk6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRTdHlsZTtcbiAgICB9XG4gICAgc2V0IGlucHV0U3R5bGUodmFsdWU6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4pIHtcbiAgICAgICAgdGhpcy5faW5wdXRTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgICAgLi4udGhpcy5faW5wdXRTdHlsZSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIHJlbmRlclRleHRBcmVhID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBoYW5kbGVSZWNvZ25pemVkVGV4dChyZWNvZ25pemVkVGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUocmVjb2duaXplZFRleHQpO1xuICAgIH1cbn1cbiIsIjx0ZXh0YXJlYVxuICAgICpuZ0lmPVwia2V5RmlsdGVyXCJcbiAgICAjdGV4dEFyZWFcbiAgICBjbGFzcz1cInRleHRhcmVhXCJcbiAgICBbcEtleUZpbHRlcl09XCJrZXlGaWx0ZXJcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbcm93c109XCJyb3dzXCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6ICcnXCJcbj48L3RleHRhcmVhPlxuXG48dGV4dGFyZWFcbiAgICAqbmdJZj1cIiFrZXlGaWx0ZXJcIlxuICAgICN0ZXh0QXJlYVxuICAgIGNsYXNzPVwidGV4dGFyZWFcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbcm93c109XCJyb3dzXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ1N0eWxlXT1cImlucHV0U3R5bGVcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogJydcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFZhbHVlKCRldmVudClcIlxuPjwvdGV4dGFyZWE+XG5cbjxzLXNwZWVjaC1yZWNvZ25pdGlvblxuICAgICpuZ0lmPVwic3BlZWNoUmVjb2duaXRpb24gJiYgcmVuZGVyVGV4dEFyZWFcIlxuICAgIFt0ZXh0QXJlYUVsZW1lbnRdPVwidGV4dEFyZWFFbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIFtrZWVwQ29udGV4dF09XCJrZWVwQ29udGV4dFwiXG4gICAgW3NwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJdPVwic3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlclwiXG4gICAgKHJlY29nbml6ZWRUZXh0KT1cImhhbmRsZVJlY29nbml6ZWRUZXh0KCRldmVudClcIlxuPlxuPC9zLXNwZWVjaC1yZWNvZ25pdGlvbj5cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90ZXh0LWFyZWEvc3JjL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90ZXh0LWFyZWEvc3JjL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUd6RTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQWFILE1BQU0sT0FBTyxpQkFBaUI7SUF1REc7SUF0RDdCLFFBQVEsR0FBNEIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsR0FBNEIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzlDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNILGdCQUFnQixDQUE4QztJQUV0RSxJQUNXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQW1ELENBQUM7SUFDcEUsQ0FBQztJQUVELElBQVcsZUFBZSxDQUFDLEtBQXNDO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsK0ZBQStGO0lBQ3RGLE9BQU8sR0FBRyxZQUFZLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQy9DLHFFQUFxRTtJQUM1RCxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLDZFQUE2RTtJQUNwRSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsaUZBQWlGO0lBQ3hFLFNBQVMsQ0FBK0M7SUFDakUseUdBQXlHO0lBQ2hHLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0Isb0ZBQW9GO0lBQzNFLDRCQUE0QixHQUFHLEVBQUUsQ0FBQztJQUMzQyxrRkFBa0Y7SUFDekUsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFDekMsNERBQTREO0lBQ25ELFdBQVcsQ0FBcUI7SUFFakMsV0FBVyxHQUFpQztRQUNoRCxNQUFNLEVBQUUsVUFBVTtLQUNyQixDQUFDO0lBQ0YsZ0hBQWdIO0lBQ2hILElBQWEsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQW1DO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDZixHQUFHLEtBQUs7WUFDUixHQUFHLElBQUksQ0FBQyxXQUFXO1NBQ3RCLENBQUM7SUFDTixDQUFDO0lBQ0QsNkVBQTZFO0lBQ3BFLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFMUIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUV2QixZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFdkQsVUFBVSxDQUFDLEdBQVc7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXNCO1FBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLGNBQXNCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEMsQ0FBQzt3R0FyRlEsaUJBQWlCOzRGQUFqQixpQkFBaUIsaVZBUmY7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osa0hBUzhCLFVBQVUsNkJDeEM3Qywra0NBdUNBOzs0RkROYSxpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0ksWUFBWSxhQUdYO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtzRkFVVSxlQUFlO3NCQUR6QixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBY2xDLE9BQU87c0JBQWYsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1PLFVBQVU7c0JBQXRCLEtBQUs7Z0JBVUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEtleUZpbHRlclBhdHRlcm4gfSBmcm9tICdwcmltZW5nL2tleWZpbHRlcic7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgw6FyZWEgZGUgdGV4dG8gY29tIHN1cG9ydGUgYSByZWNvbmhlY2ltZW50byBkZSB2b3osXG4gKiBmaWx0cm8gZGUgdGVjbGFzLCBjb21wcmltZW50byBtw6F4aW1vIGUgaW50ZWdyYcOnw6NvIGNvbSBgQ29udHJvbFZhbHVlQWNjZXNzb3JgLlxuICogUmVuZGVyaXphIGNvbmRpY2lvbmFsbWVudGUgbyBjb21wb25lbnRlIGBTcGVlY2hSZWNvZ25pdGlvbkNvbXBvbmVudGAgcXVhbmRvXG4gKiBhIGZsYWcgYHNwZWVjaFJlY29nbml0aW9uYCBlc3TDoSBhdGl2YS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtdGV4dGFyZWFcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpY2FvXCJcbiAqICAgW3Jvd3NdPVwiNlwiXG4gKiAgIFttYXhMZW5ndGhdPVwiNTAwXCJcbiAqICAgcGxhY2Vob2xkZXI9XCJEaWdpdGUgYXF1aS4uLlwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgSW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy10ZXh0YXJlYScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEFyZWFDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIGRpc2FibGVkID0gZmFsc2U7XG4gICAgdmFsdWUgPSAnJztcbiAgICBwcml2YXRlIF90ZXh0QXJlYUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCd0ZXh0QXJlYScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHB1YmxpYyBnZXQgdGV4dEFyZWFFbGVtZW50KCk6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dEFyZWFFbGVtZW50IGFzIEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB0ZXh0QXJlYUVsZW1lbnQodmFsdWU6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5fdGV4dEFyZWFFbGVtZW50ID0gdmFsdWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUZXh0QXJlYSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAZGVzY3JpcHRpb24gSWRlbnRpZmljYWRvciBkbyBlbGVtZW50byBgPHRleHRhcmVhPmAgbm8gRE9NLiBAZGVmYXVsdCAndGV4dGFyZWEte3JhbmRvbX0nICovXG4gICAgQElucHV0KCkgaW5wdXRJZCA9IGB0ZXh0YXJlYS0ke01hdGgucmFuZG9tKCl9YDtcbiAgICAvKiogQGRlc2NyaXB0aW9uIE7Dum1lcm8gZGUgbGluaGFzIHZpc8OtdmVpcyBubyB0ZXh0YXJlYS4gQGRlZmF1bHQgNSAqL1xuICAgIEBJbnB1dCgpIHJvd3MgPSA1O1xuICAgIC8qKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgbyBib3TDo28gZGUgcmVjb25oZWNpbWVudG8gZGUgdm96LiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpIHNwZWVjaFJlY29nbml0aW9uID0gZmFsc2U7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBGaWx0cm8gZGUgdGVjbGFzIGFjZWl0YXMsIHVzYW5kbyBwYWRyw6NvIG91IGV4cHJlc3PDo28gcmVndWxhci4gKi9cbiAgICBASW5wdXQoKSBrZXlGaWx0ZXI6IFJlZ0V4cCB8IEtleUZpbHRlclBhdHRlcm4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gUXVhbmRvIGB0cnVlYCwgbWFudMOpbSBvIGNvbnRleHRvIGFvIHJlaW5pY2lhciBvIHJlY29uaGVjaW1lbnRvIGRlIHZvei4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKSBrZWVwQ29udGV4dCA9IGZhbHNlO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gUGxhY2Vob2xkZXIgZXhpYmlkbyBkdXJhbnRlIG8gcmVjb25oZWNpbWVudG8gZGUgdm96LiBAZGVmYXVsdCAnJyAqL1xuICAgIEBJbnB1dCgpIHNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXIgPSAnJztcbiAgICAvKiogQGRlc2NyaXB0aW9uIE7Dum1lcm8gbcOheGltbyBkZSBjYXJhY3RlcmVzIGFjZWl0b3MuIEBkZWZhdWx0IG51bGwgKGlsaW1pdGFkbykgKi9cbiAgICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZXhpYmlkbyBxdWFuZG8gbyBjYW1wbyBlc3TDoSB2YXppby4gKi9cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgcHJpdmF0ZSBfaW5wdXRTdHlsZTogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPiA9IHtcbiAgICAgICAgcmVzaXplOiAndmVydGljYWwnLFxuICAgIH07XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFc3RpbG9zIGlubGluZSBhcGxpY2Fkb3MgYW8gZWxlbWVudG8gYDx0ZXh0YXJlYT5gIGludGVybm8uIEBkZWZhdWx0IGB7IHJlc2l6ZTogJ3ZlcnRpY2FsJyB9YCAqL1xuICAgIEBJbnB1dCgpIGdldCBpbnB1dFN0eWxlKCk6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRTdHlsZTtcbiAgICB9XG4gICAgc2V0IGlucHV0U3R5bGUodmFsdWU6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4pIHtcbiAgICAgICAgdGhpcy5faW5wdXRTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgICAgLi4udGhpcy5faW5wdXRTdHlsZSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDb2xvY2EgbyB0ZXh0YXJlYSBlbSBtb2RvIHNvbWVudGUgbGVpdHVyYS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgcmVuZGVyVGV4dEFyZWEgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0VmFsdWUodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGhhbmRsZVJlY29nbml6ZWRUZXh0KHJlY29nbml6ZWRUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShyZWNvZ25pemVkVGV4dCk7XG4gICAgfVxufVxuXG4iLCI8dGV4dGFyZWFcbiAgICAqbmdJZj1cImtleUZpbHRlclwiXG4gICAgI3RleHRBcmVhXG4gICAgY2xhc3M9XCJ0ZXh0YXJlYVwiXG4gICAgW3BLZXlGaWx0ZXJdPVwia2V5RmlsdGVyXCJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgW3Jvd3NdPVwicm93c1wiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFZhbHVlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAnJ1wiXG4+PC90ZXh0YXJlYT5cblxuPHRleHRhcmVhXG4gICAgKm5nSWY9XCIha2V5RmlsdGVyXCJcbiAgICAjdGV4dEFyZWFcbiAgICBjbGFzcz1cInRleHRhcmVhXCJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgW3Jvd3NdPVwicm93c1wiXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6ICcnXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRWYWx1ZSgkZXZlbnQpXCJcbj48L3RleHRhcmVhPlxuXG48cy1zcGVlY2gtcmVjb2duaXRpb25cbiAgICAqbmdJZj1cInNwZWVjaFJlY29nbml0aW9uICYmIHJlbmRlclRleHRBcmVhXCJcbiAgICBbdGV4dEFyZWFFbGVtZW50XT1cInRleHRBcmVhRWxlbWVudC5uYXRpdmVFbGVtZW50XCJcbiAgICBba2VlcENvbnRleHRdPVwia2VlcENvbnRleHRcIlxuICAgIFtzcGVlY2hSZWNvZ25pdGlvblBsYWNlaG9sZGVyXT1cInNwZWVjaFJlY29nbml0aW9uUGxhY2Vob2xkZXJcIlxuICAgIChyZWNvZ25pemVkVGV4dCk9XCJoYW5kbGVSZWNvZ25pemVkVGV4dCgkZXZlbnQpXCJcbj5cbjwvcy1zcGVlY2gtcmVjb2duaXRpb24+XG4iXX0=
@@ -4,21 +4,45 @@ import { takeUntil } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./thumbnail.service";
6
6
  import * as i2 from "@angular/common";
7
+ /**
8
+ * @description Componente de miniatura de imagem com suporte a imagem de fallback,
9
+ * ícone de ação sobrepôsto, orientação automática e diferentes tamanhos predefinidos.
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <s-thumbnail
14
+ * [imageSource]="urlDaImagem"
15
+ * size="large"
16
+ * iconClass="fas fa-user" />
17
+ * ```
18
+ *
19
+ * @category Data
20
+ */
7
21
  export class ThumbnailComponent {
8
22
  thumbnailService;
9
23
  static nextId = 0;
10
24
  fallback = false;
11
25
  orientation = 0;
12
26
  imgEl = null;
27
+ /** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
13
28
  id = `s-thumbnail-${ThumbnailComponent.nextId++}`;
29
+ /** @description Tamanho da miniatura: `'small'`, `'medium'`, `'large'`, etc. @default 'medium' */
14
30
  size = 'medium';
31
+ /** @description URL da imagem principal. */
15
32
  imageSource;
33
+ /** @description URL da imagem de fallback exibida quando a principal falha ao carregar. */
16
34
  imageFallback;
35
+ /** @description Texto alternativo (atributo `alt`) da imagem. */
17
36
  imageAlt;
37
+ /** @description Classe do ícone exibido quando não há imagem disponível. @default 'far fa-image' */
18
38
  iconClass = 'far fa-image';
39
+ /** @description Habilita a exibição de um botão de ação sobrepôsto. @default false */
19
40
  hasAction = false;
41
+ /** @description Classe do ícone do botão de ação. @default 'fas fa-camera' */
20
42
  actionIconClass = 'fas fa-camera';
43
+ /** @description Aplica estilo de tile ao thumbnail. @default false */
21
44
  isTile = false;
45
+ /** @description Aplica estilo de marca ao thumbnail. @default false */
22
46
  isBrand = false;
23
47
  ngUnsubscribe = new Subject();
24
48
  constructor(thumbnailService) {
@@ -74,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
74
98
  }], isBrand: [{
75
99
  type: Input
76
100
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90aHVtYm5haWwvc3JjL2xpYi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90aHVtYm5haWwvc3JjL2xpYi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVTNDLE1BQU0sT0FBTyxrQkFBa0I7SUF3Q0U7SUF2Q3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUdoQixLQUFLLEdBQXNCLElBQUksQ0FBQztJQUdoQyxFQUFFLEdBQUcsZUFBZSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBR2xELElBQUksR0FBa0IsUUFBUSxDQUFDO0lBRy9CLFdBQVcsQ0FBVTtJQUdyQixhQUFhLENBQVU7SUFHdkIsUUFBUSxDQUFVO0lBR2xCLFNBQVMsR0FBRyxjQUFjLENBQUM7SUFHM0IsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUdsQixlQUFlLEdBQUcsZUFBZSxDQUFDO0lBR2xDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFHZixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWYsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFNUMsWUFBNkIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDO0lBRTdELFdBQVc7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO3FCQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDbkMsU0FBUyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7b0JBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO29CQUM3QixDQUFDO3lCQUFNLENBQUM7d0JBQ0osT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0QsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7d0dBN0RRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLGlZQ2IvQixtc0dBNkZBOzs0RkRoRmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGFBQWE7cUZBVWhCLEtBQUs7c0JBRFgsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUk1QixFQUFFO3NCQURSLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRodW1ibmFpbFNpemUgfSBmcm9tICcuL3RodW1ibmFpbC1zaXplJztcbmltcG9ydCB7IFRodW1ibmFpbFNlcnZpY2UgfSBmcm9tICcuL3RodW1ibmFpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRodW1ibmFpbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RodW1ibmFpbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGh1bWJuYWlsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuICAgIHB1YmxpYyBmYWxsYmFjayA9IGZhbHNlO1xuICAgIHB1YmxpYyBvcmllbnRhdGlvbiA9IDA7XG5cbiAgICBAVmlld0NoaWxkKCdpbWcnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgaW1nRWw6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtdGh1bWJuYWlsLSR7VGh1bWJuYWlsQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUaHVtYm5haWxTaXplID0gJ21lZGl1bSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZVNvdXJjZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGltYWdlRmFsbGJhY2s/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZUFsdD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb25DbGFzcyA9ICdmYXIgZmEtaW1hZ2UnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGFzQWN0aW9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhY3Rpb25JY29uQ2xhc3MgPSAnZmFzIGZhLWNhbWVyYSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc1RpbGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzQnJhbmQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRodW1ibmFpbFNlcnZpY2U6IFRodW1ibmFpbFNlcnZpY2UpIHsgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbWdFbCkge1xuICAgICAgICAgICAgdGhpcy5pbWdFbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZnJvbSh0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0QmluYXJ5RmlsZSh0aGlzLmltZ0VsPy5uYXRpdmVFbGVtZW50KSlcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignVmFsb3IgcmV0b3JuYWRvIG7Do28gw6kgdW0gbsO6bWVybzonLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgW2lkXT1cImlkXCJcbiAgICBjbGFzcz1cInRodW1ibmFpbC1jb250YWluZXIgdGh1bWJuYWlsLWNvbnRhaW5lci0te3sgc2l6ZSB9fVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGh1bWJuYWlsLWNvbnRhaW5lci0td2l0aC1hY3Rpb24nOiBoYXNBY3Rpb24sXG4gICAgICAgICd0aHVtYm5haWwtY29udGFpbmVyLS1icmFuZCc6IGlzQnJhbmQsXG4gICAgfVwiXG4+XG4gICAgQGlmIChpbWFnZVNvdXJjZSB8fCBpbWFnZUZhbGxiYWNrKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctaW1hZ2UtY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ2ltYWdlLWNvbnRhaW5lci0tcm91bmRlZCc6ICFpc0JyYW5kLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoIWZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAjaW1nXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaW1hZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImZhbGxiYWNrID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VTb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlQWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgc21hbGxUaHVtYm5haWw6IGlzVGlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTInOiBvcmllbnRhdGlvbiA9PT0gMixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTMnOiBvcmllbnRhdGlvbiA9PT0gMyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTQnOiBvcmllbnRhdGlvbiA9PT0gNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTUnOiBvcmllbnRhdGlvbiA9PT0gNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTYnOiBvcmllbnRhdGlvbiA9PT0gNixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTcnOiBvcmllbnRhdGlvbiA9PT0gNyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTgnOiBvcmllbnRhdGlvbiA9PT0gOCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChmYWxsYmFjayAmJiBpbWFnZUZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAjaW1nXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaW1hZ2UtZmFsbGJhY2snXCJcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImltYWdlRmFsbGJhY2sgPSB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlRmFsbGJhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlQWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgc21hbGxUaHVtYm5haWw6IGlzVGlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTInOiBvcmllbnRhdGlvbiA9PT0gMixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTMnOiBvcmllbnRhdGlvbiA9PT0gMyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTQnOiBvcmllbnRhdGlvbiA9PT0gNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTUnOiBvcmllbnRhdGlvbiA9PT0gNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTYnOiBvcmllbnRhdGlvbiA9PT0gNixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTcnOiBvcmllbnRhdGlvbiA9PT0gNyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTgnOiBvcmllbnRhdGlvbiA9PT0gOCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChmYWxsYmFjayAmJiAhaW1hZ2VGYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsbGJhY2staW1nLWNvbG9yIGZhciBmYS1pbWFnZVwiPiA8L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoaGFzQWN0aW9uKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctYWN0aW9uLWljb24tY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1pY29uLWNvbnRhaW5lciBhY3Rpb24taWNvbi1jb250YWluZXItLXt7IHNpemUgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctYWN0aW9uLWljb24nXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiYWN0aW9uSWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKCFpbWFnZVNvdXJjZSAmJiAhaW1hZ2VGYWxsYmFjaykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWljb24tY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImljb24tY29udGFpbmVyIGljb24tY29udGFpbmVyLS17eyBzaXplIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ltYWdlLWNvbnRhaW5lci0tcm91bmRlZCc6ICFpc0JyYW5kIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaWNvbidcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90aHVtYm5haWwvc3JjL2xpYi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy90aHVtYm5haWwvc3JjL2xpYi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSzNDOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sa0JBQWtCO0lBa0RFO0lBakR0QixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFHaEIsS0FBSyxHQUFzQixJQUFJLENBQUM7SUFFdkMsc0dBQXNHO0lBRS9GLEVBQUUsR0FBRyxlQUFlLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFFekQsa0dBQWtHO0lBRTNGLElBQUksR0FBa0IsUUFBUSxDQUFDO0lBRXRDLDRDQUE0QztJQUVyQyxXQUFXLENBQVU7SUFFNUIsMkZBQTJGO0lBRXBGLGFBQWEsQ0FBVTtJQUU5QixpRUFBaUU7SUFFMUQsUUFBUSxDQUFVO0lBRXpCLG9HQUFvRztJQUU3RixTQUFTLEdBQUcsY0FBYyxDQUFDO0lBRWxDLHNGQUFzRjtJQUUvRSxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRXpCLDhFQUE4RTtJQUV2RSxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBRXpDLHNFQUFzRTtJQUUvRCxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXRCLHVFQUF1RTtJQUVoRSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWYsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFNUMsWUFBNkIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTVELFdBQVc7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO3FCQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDbkMsU0FBUyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7b0JBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO29CQUM3QixDQUFDO3lCQUFNLENBQUM7d0JBQ0osT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0QsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7d0dBdkVRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLGlZQzNCL0IsbXNHQTZGQTs7NEZEbEVhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxhQUFhO3FGQVVoQixLQUFLO3NCQURYLFNBQVM7dUJBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLNUIsRUFBRTtzQkFEUixLQUFLO2dCQUtDLElBQUk7c0JBRFYsS0FBSztnQkFLQyxXQUFXO3NCQURqQixLQUFLO2dCQUtDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBS0MsUUFBUTtzQkFEZCxLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsZUFBZTtzQkFEckIsS0FBSztnQkFLQyxNQUFNO3NCQURaLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZnJvbSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBUaHVtYm5haWxTaXplIH0gZnJvbSAnLi90aHVtYm5haWwtc2l6ZSc7XG5pbXBvcnQgeyBUaHVtYm5haWxTZXJ2aWNlIH0gZnJvbSAnLi90aHVtYm5haWwuc2VydmljZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgbWluaWF0dXJhIGRlIGltYWdlbSBjb20gc3Vwb3J0ZSBhIGltYWdlbSBkZSBmYWxsYmFjayxcbiAqIMOtY29uZSBkZSBhw6fDo28gc29icmVww7RzdG8sIG9yaWVudGHDp8OjbyBhdXRvbcOhdGljYSBlIGRpZmVyZW50ZXMgdGFtYW5ob3MgcHJlZGVmaW5pZG9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy10aHVtYm5haWxcbiAqICAgW2ltYWdlU291cmNlXT1cInVybERhSW1hZ2VtXCJcbiAqICAgc2l6ZT1cImxhcmdlXCJcbiAqICAgaWNvbkNsYXNzPVwiZmFzIGZhLXVzZXJcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IERhdGFcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRodW1ibmFpbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RodW1ibmFpbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGh1bWJuYWlsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRodW1ibmFpbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuICAgIHB1YmxpYyBmYWxsYmFjayA9IGZhbHNlO1xuICAgIHB1YmxpYyBvcmllbnRhdGlvbiA9IDA7XG5cbiAgICBAVmlld0NoaWxkKCdpbWcnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgaW1nRWw6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gSWRlbnRpZmljYWRvciDDum5pY28gZG8gY29tcG9uZW50ZSBubyBET00uIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy10aHVtYm5haWwtJHtUaHVtYm5haWxDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGFtYW5obyBkYSBtaW5pYXR1cmE6IGAnc21hbGwnYCwgYCdtZWRpdW0nYCwgYCdsYXJnZSdgLCBldGMuIEBkZWZhdWx0ICdtZWRpdW0nICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZTogVGh1bWJuYWlsU2l6ZSA9ICdtZWRpdW0nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBVUkwgZGEgaW1hZ2VtIHByaW5jaXBhbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZVNvdXJjZT86IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVVJMIGRhIGltYWdlbSBkZSBmYWxsYmFjayBleGliaWRhIHF1YW5kbyBhIHByaW5jaXBhbCBmYWxoYSBhbyBjYXJyZWdhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZUZhbGxiYWNrPzogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUZXh0byBhbHRlcm5hdGl2byAoYXRyaWJ1dG8gYGFsdGApIGRhIGltYWdlbS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZUFsdD86IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBleGliaWRvIHF1YW5kbyBuw6NvIGjDoSBpbWFnZW0gZGlzcG9uw612ZWwuIEBkZWZhdWx0ICdmYXIgZmEtaW1hZ2UnICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWNvbkNsYXNzID0gJ2ZhciBmYS1pbWFnZSc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIGEgZXhpYmnDp8OjbyBkZSB1bSBib3TDo28gZGUgYcOnw6NvIHNvYnJlcMO0c3RvLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhhc0FjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGRvIGJvdMOjbyBkZSBhw6fDo28uIEBkZWZhdWx0ICdmYXMgZmEtY2FtZXJhJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGlvbkljb25DbGFzcyA9ICdmYXMgZmEtY2FtZXJhJztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXBsaWNhIGVzdGlsbyBkZSB0aWxlIGFvIHRodW1ibmFpbC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc1RpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQXBsaWNhIGVzdGlsbyBkZSBtYXJjYSBhbyB0aHVtYm5haWwuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNCcmFuZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGh1bWJuYWlsU2VydmljZTogVGh1bWJuYWlsU2VydmljZSkge31cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW1nRWwpIHtcbiAgICAgICAgICAgIHRoaXMuaW1nRWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGZyb20odGhpcy50aHVtYm5haWxTZXJ2aWNlLmdldEJpbmFyeUZpbGUodGhpcy5pbWdFbD8ubmF0aXZlRWxlbWVudCkpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1ZhbG9yIHJldG9ybmFkbyBuw6NvIMOpIHVtIG7Dum1lcm86JywgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8ZGl2XG4gICAgW2lkXT1cImlkXCJcbiAgICBjbGFzcz1cInRodW1ibmFpbC1jb250YWluZXIgdGh1bWJuYWlsLWNvbnRhaW5lci0te3sgc2l6ZSB9fVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGh1bWJuYWlsLWNvbnRhaW5lci0td2l0aC1hY3Rpb24nOiBoYXNBY3Rpb24sXG4gICAgICAgICd0aHVtYm5haWwtY29udGFpbmVyLS1icmFuZCc6IGlzQnJhbmQsXG4gICAgfVwiXG4+XG4gICAgQGlmIChpbWFnZVNvdXJjZSB8fCBpbWFnZUZhbGxiYWNrKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctaW1hZ2UtY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ2ltYWdlLWNvbnRhaW5lci0tcm91bmRlZCc6ICFpc0JyYW5kLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoIWZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAjaW1nXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaW1hZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImZhbGxiYWNrID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VTb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlQWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgc21hbGxUaHVtYm5haWw6IGlzVGlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTInOiBvcmllbnRhdGlvbiA9PT0gMixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTMnOiBvcmllbnRhdGlvbiA9PT0gMyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTQnOiBvcmllbnRhdGlvbiA9PT0gNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTUnOiBvcmllbnRhdGlvbiA9PT0gNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTYnOiBvcmllbnRhdGlvbiA9PT0gNixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTcnOiBvcmllbnRhdGlvbiA9PT0gNyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTgnOiBvcmllbnRhdGlvbiA9PT0gOCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChmYWxsYmFjayAmJiBpbWFnZUZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAjaW1nXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaW1hZ2UtZmFsbGJhY2snXCJcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImltYWdlRmFsbGJhY2sgPSB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlRmFsbGJhY2tcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlQWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgc21hbGxUaHVtYm5haWw6IGlzVGlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTInOiBvcmllbnRhdGlvbiA9PT0gMixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTMnOiBvcmllbnRhdGlvbiA9PT0gMyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTQnOiBvcmllbnRhdGlvbiA9PT0gNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTUnOiBvcmllbnRhdGlvbiA9PT0gNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTYnOiBvcmllbnRhdGlvbiA9PT0gNixcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTcnOiBvcmllbnRhdGlvbiA9PT0gNyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdleGlmLW9yaWVudGF0aW9uLTgnOiBvcmllbnRhdGlvbiA9PT0gOCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChmYWxsYmFjayAmJiAhaW1hZ2VGYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsbGJhY2staW1nLWNvbG9yIGZhciBmYS1pbWFnZVwiPiA8L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoaGFzQWN0aW9uKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtpZF09XCJpZCArICctYWN0aW9uLWljb24tY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1pY29uLWNvbnRhaW5lciBhY3Rpb24taWNvbi1jb250YWluZXItLXt7IHNpemUgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctYWN0aW9uLWljb24nXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiYWN0aW9uSWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKCFpbWFnZVNvdXJjZSAmJiAhaW1hZ2VGYWxsYmFjaykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWljb24tY29udGFpbmVyJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImljb24tY29udGFpbmVyIGljb24tY29udGFpbmVyLS17eyBzaXplIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ltYWdlLWNvbnRhaW5lci0tcm91bmRlZCc6ICFpc0JyYW5kIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaWNvbidcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,14 +1,39 @@
1
- import { Component, EventEmitter, Input, Output } from "@angular/core";
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "./components/thumbnail-item/thumbnail-item.component";
4
+ /**
5
+ * @description Componente de galeria de miniaturas com suporte a seleção múltipla
6
+ * e abertura de itens. Gerencia o estado de seleção internamente e emite eventos
7
+ * para o componente pai.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <s-thumbnails
12
+ * [items]="miniaturas"
13
+ * [selectable]="true"
14
+ * [(selection)]="itensSelecionados"
15
+ * (itemOpened)="onItemAberto($event)" />
16
+ * ```
17
+ *
18
+ * @category Data
19
+ */
4
20
  export class ThumbnailsComponent {
21
+ /** @description Lista de itens exibidos na galeria. @default [] */
5
22
  items = [];
23
+ /** @description Habilita a seleção de itens. @default true */
6
24
  selectable = true;
25
+ /** @description Quando `true`, combina o evento de checkbox com o de seleção. @default true */
7
26
  combineCheckboxEvent = true;
27
+ /**
28
+ * @description Lista de itens atualmente selecionados. Suporta two-way binding.
29
+ * @default []
30
+ */
8
31
  set selection(items) {
9
32
  this._selection = [...items];
10
33
  }
34
+ /** @description Emitido quando a seleção de itens muda. */
11
35
  selectionChange = new EventEmitter();
36
+ /** @description Emitido quando o usuário abre um item (clique duplo ou ação de abrir). */
12
37
  itemOpened = new EventEmitter();
13
38
  _selection = [];
14
39
  onItemOpened(item) {
@@ -31,7 +56,7 @@ export class ThumbnailsComponent {
31
56
  }
32
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThumbnailsComponent, decorators: [{
33
58
  type: Component,
34
- args: [{ selector: "s-thumbnails", template: "<div class=\"thumbnails\">\n @for(item of items; track $index) {\n <s-thumbnail-item\n [combineCheckboxEvent]=\"combineCheckboxEvent\"\n [itemData]=\"item\"\n [isCheckable]=\"selectable\"\n [isChecked]=\"isSelected(item)\"\n (checked)=\"onItemSelected($event)\"\n (opened)=\"onItemOpened($event)\">\n </s-thumbnail-item>\n }\n</div>\n", styles: [".thumbnails{display:flex;flex-wrap:wrap;gap:12px}\n"] }]
59
+ args: [{ selector: 's-thumbnails', template: "<div class=\"thumbnails\">\n @for(item of items; track $index) {\n <s-thumbnail-item\n [combineCheckboxEvent]=\"combineCheckboxEvent\"\n [itemData]=\"item\"\n [isCheckable]=\"selectable\"\n [isChecked]=\"isSelected(item)\"\n (checked)=\"onItemSelected($event)\"\n (opened)=\"onItemOpened($event)\">\n </s-thumbnail-item>\n }\n</div>\n", styles: [".thumbnails{display:flex;flex-wrap:wrap;gap:12px}\n"] }]
35
60
  }], propDecorators: { items: [{
36
61
  type: Input
37
62
  }], selectable: [{
@@ -45,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
45
70
  }], itemOpened: [{
46
71
  type: Output
47
72
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGh1bWJuYWlscy9zcmMvbGliL3RodW1ibmFpbHMvdGh1bWJuYWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGh1bWJuYWlscy9zcmMvbGliL3RodW1ibmFpbHMvdGh1bWJuYWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUVyQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUc3QixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBRWhCLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUVyQyxJQUNXLFNBQVMsQ0FBQyxLQUF1QjtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR00sZUFBZSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0lBR3ZELFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUUvQyxVQUFVLEdBQXFCLEVBQUUsQ0FBQztJQUVuQyxZQUFZLENBQUMsSUFBb0I7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFrRDtRQUNwRSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ3hELENBQUMsQ0FDSixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQW9CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO3dHQXpDUSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwyUENUaEMsc2FBWUE7OzRGREhhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxjQUFjOzhCQU1qQixLQUFLO3NCQURYLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFHRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0ssU0FBUztzQkFEbkIsS0FBSztnQkFNQyxlQUFlO3NCQURyQixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRodW1ibmFpbHNJdGVtIH0gZnJvbSBcIi4vbW9kZWxzL3RodW1ibmFpbHMtaXRlbVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXRodW1ibmFpbHNcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RodW1ibmFpbHMuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGh1bWJuYWlscy5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsc0NvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXM6IFRodW1ibmFpbHNJdGVtW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlbGVjdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY29tYmluZUNoZWNrYm94RXZlbnQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGlvbihpdGVtczogVGh1bWJuYWlsc0l0ZW1bXSkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb24gPSBbLi4uaXRlbXNdO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRodW1ibmFpbHNJdGVtW10+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXRlbU9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsc0l0ZW0+KCk7XG5cbiAgICBwcml2YXRlIF9zZWxlY3Rpb246IFRodW1ibmFpbHNJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyBvbkl0ZW1PcGVuZWQoaXRlbTogVGh1bWJuYWlsc0l0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtT3BlbmVkLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbVNlbGVjdGVkKGl0ZW1zOiB7IGl0ZW06IFRodW1ibmFpbHNJdGVtLCBzZWxlY3RlZDogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtcy5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLnB1c2goaXRlbXMuaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24uc3BsaWNlKFxuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IGl0ZW1zLml0ZW0pLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGlzU2VsZWN0ZWQoaXRlbTogVGh1bWJuYWlsc0l0ZW0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5zb21lKChpOiBUaHVtYm5haWxzSXRlbSkgPT4gaS5pZCA9PT0gaXRlbS5pZCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRodW1ibmFpbHNcIj5cbiAgICBAZm9yKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8cy10aHVtYm5haWwtaXRlbVxuICAgICAgICAgICAgW2NvbWJpbmVDaGVja2JveEV2ZW50XT1cImNvbWJpbmVDaGVja2JveEV2ZW50XCJcbiAgICAgICAgICAgIFtpdGVtRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICAgIFtpc0NoZWNrYWJsZV09XCJzZWxlY3RhYmxlXCJcbiAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwiaXNTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICAoY2hlY2tlZCk9XCJvbkl0ZW1TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvcGVuZWQpPVwib25JdGVtT3BlbmVkKCRldmVudClcIj5cbiAgICAgICAgPC9zLXRodW1ibmFpbC1pdGVtPlxuICAgIH1cbjwvZGl2PlxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGh1bWJuYWlscy9zcmMvbGliL3RodW1ibmFpbHMvdGh1bWJuYWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGh1bWJuYWlscy9zcmMvbGliL3RodW1ibmFpbHMvdGh1bWJuYWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJdkU7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixtRUFBbUU7SUFFNUQsS0FBSyxHQUFxQixFQUFFLENBQUM7SUFFcEMsOERBQThEO0lBRXZELFVBQVUsR0FBRyxJQUFJLENBQUM7SUFFekIsK0ZBQStGO0lBQ3RGLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUF1QjtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMkRBQTJEO0lBRXBELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU5RCwwRkFBMEY7SUFFbkYsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRS9DLFVBQVUsR0FBcUIsRUFBRSxDQUFDO0lBRW5DLFlBQVksQ0FBQyxJQUFvQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWtEO1FBQ3BFLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDeEQsQ0FBQyxDQUNKLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7d0dBbERRLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDJQQ3pCaEMsc2FBWUE7OzRGRGFhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxjQUFjOzhCQU9qQixLQUFLO3NCQURYLEtBQUs7Z0JBS0MsVUFBVTtzQkFEaEIsS0FBSztnQkFJRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0ssU0FBUztzQkFEbkIsS0FBSztnQkFPQyxlQUFlO3NCQURyQixNQUFNO2dCQUtBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHVtYm5haWxzSXRlbSB9IGZyb20gJy4vbW9kZWxzL3RodW1ibmFpbHMtaXRlbSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgZ2FsZXJpYSBkZSBtaW5pYXR1cmFzIGNvbSBzdXBvcnRlIGEgc2VsZcOnw6NvIG3Dumx0aXBsYVxuICogZSBhYmVydHVyYSBkZSBpdGVucy4gR2VyZW5jaWEgbyBlc3RhZG8gZGUgc2VsZcOnw6NvIGludGVybmFtZW50ZSBlIGVtaXRlIGV2ZW50b3NcbiAqIHBhcmEgbyBjb21wb25lbnRlIHBhaS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtdGh1bWJuYWlsc1xuICogICBbaXRlbXNdPVwibWluaWF0dXJhc1wiXG4gKiAgIFtzZWxlY3RhYmxlXT1cInRydWVcIlxuICogICBbKHNlbGVjdGlvbildPVwiaXRlbnNTZWxlY2lvbmFkb3NcIlxuICogICAoaXRlbU9wZW5lZCk9XCJvbkl0ZW1BYmVydG8oJGV2ZW50KVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgRGF0YVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3MtdGh1bWJuYWlscycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RodW1ibmFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RodW1ibmFpbHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsc0NvbXBvbmVudCB7XG4gICAgLyoqIEBkZXNjcmlwdGlvbiBMaXN0YSBkZSBpdGVucyBleGliaWRvcyBuYSBnYWxlcmlhLiBAZGVmYXVsdCBbXSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBUaHVtYm5haWxzSXRlbVtdID0gW107XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIGEgc2VsZcOnw6NvIGRlIGl0ZW5zLiBAZGVmYXVsdCB0cnVlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFF1YW5kbyBgdHJ1ZWAsIGNvbWJpbmEgbyBldmVudG8gZGUgY2hlY2tib3ggY29tIG8gZGUgc2VsZcOnw6NvLiBAZGVmYXVsdCB0cnVlICovXG4gICAgQElucHV0KCkgY29tYmluZUNoZWNrYm94RXZlbnQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3RhIGRlIGl0ZW5zIGF0dWFsbWVudGUgc2VsZWNpb25hZG9zLiBTdXBvcnRhIHR3by13YXkgYmluZGluZy5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBzZWxlY3Rpb24oaXRlbXM6IFRodW1ibmFpbHNJdGVtW10pIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gWy4uLml0ZW1zXTtcbiAgICB9XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIGEgc2VsZcOnw6NvIGRlIGl0ZW5zIG11ZGEuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh1bWJuYWlsc0l0ZW1bXT4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBhYnJlIHVtIGl0ZW0gKGNsaXF1ZSBkdXBsbyBvdSBhw6fDo28gZGUgYWJyaXIpLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpdGVtT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxUaHVtYm5haWxzSXRlbT4oKTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGlvbjogVGh1bWJuYWlsc0l0ZW1bXSA9IFtdO1xuXG4gICAgcHVibGljIG9uSXRlbU9wZW5lZChpdGVtOiBUaHVtYm5haWxzSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1PcGVuZWQuZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtU2VsZWN0ZWQoaXRlbXM6IHsgaXRlbTogVGh1bWJuYWlsc0l0ZW07IHNlbGVjdGVkOiBib29sZWFuIH0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW1zLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpdGVtcy5pdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5zcGxpY2UoXG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gaXRlbXMuaXRlbSksXG4gICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGlzU2VsZWN0ZWQoaXRlbTogVGh1bWJuYWlsc0l0ZW0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5zb21lKChpOiBUaHVtYm5haWxzSXRlbSkgPT4gaS5pZCA9PT0gaXRlbS5pZCk7XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwidGh1bWJuYWlsc1wiPlxuICAgIEBmb3IoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxzLXRodW1ibmFpbC1pdGVtXG4gICAgICAgICAgICBbY29tYmluZUNoZWNrYm94RXZlbnRdPVwiY29tYmluZUNoZWNrYm94RXZlbnRcIlxuICAgICAgICAgICAgW2l0ZW1EYXRhXT1cIml0ZW1cIlxuICAgICAgICAgICAgW2lzQ2hlY2thYmxlXT1cInNlbGVjdGFibGVcIlxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJpc1NlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgIChjaGVja2VkKT1cIm9uSXRlbVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgKG9wZW5lZCk9XCJvbkl0ZW1PcGVuZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L3MtdGh1bWJuYWlsLWl0ZW0+XG4gICAgfVxuPC9kaXY+XG4iXX0=