@seniorsistemas/angular-components 17.27.1-fix-interactive-content-22e06381 → 17.27.1-fixlookupteste-sds-110-c424f879

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 (932) hide show
  1. package/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.d.ts +2 -1
  2. package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +23 -23
  3. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +2 -0
  4. package/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.d.ts +3 -3
  5. package/esm2022/accordion/lib/accordion/accordion.component.mjs +84 -0
  6. package/esm2022/accordion/lib/accordion/accordion.module.mjs +36 -0
  7. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +124 -0
  8. package/esm2022/accordion/lib/accordion/models/accordion-button-settings.mjs +2 -0
  9. package/esm2022/accordion/public-api.mjs +4 -0
  10. package/esm2022/accordion/seniorsistemas-angular-components-accordion.mjs +5 -0
  11. package/esm2022/alert/lib/alert/alert.component.mjs +44 -0
  12. package/esm2022/alert/lib/alert/alert.module.mjs +18 -0
  13. package/esm2022/alert/public-api.mjs +3 -0
  14. package/esm2022/alert/seniorsistemas-angular-components-alert.mjs +5 -0
  15. package/esm2022/badge/lib/badge/badge.component.mjs +46 -0
  16. package/esm2022/badge/lib/badge/badge.module.mjs +20 -0
  17. package/esm2022/badge/lib/badge/types/badge-colors.mjs +4 -0
  18. package/esm2022/badge/lib/badge/types/badge-types.mjs +2 -0
  19. package/esm2022/badge/public-api.mjs +3 -0
  20. package/esm2022/badge/seniorsistemas-angular-components-badge.mjs +5 -0
  21. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +156 -0
  22. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +21 -0
  23. package/esm2022/bignumber-input/public-api.mjs +3 -0
  24. package/esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs +5 -0
  25. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +105 -0
  26. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +20 -0
  27. package/esm2022/breadcrumb/public-api.mjs +3 -0
  28. package/esm2022/breadcrumb/seniorsistemas-angular-components-breadcrumb.mjs +5 -0
  29. package/esm2022/button/lib/button/button.component.mjs +106 -0
  30. package/esm2022/button/lib/button/button.module.mjs +18 -0
  31. package/esm2022/button/lib/button/models/button-animations.mjs +2 -0
  32. package/esm2022/button/lib/button/models/button-badge-config.mjs +2 -0
  33. package/esm2022/button/lib/button/models/button-priority.mjs +2 -0
  34. package/esm2022/button/lib/button/models/button-size.mjs +2 -0
  35. package/esm2022/button/lib/button/models/index.mjs +2 -0
  36. package/esm2022/button/public-api.mjs +4 -0
  37. package/esm2022/button/seniorsistemas-angular-components-button.mjs +5 -0
  38. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +611 -0
  39. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +18 -0
  40. package/esm2022/calendar-mask/public-api.mjs +3 -0
  41. package/esm2022/calendar-mask/seniorsistemas-angular-components-calendar-mask.mjs +5 -0
  42. package/esm2022/card/lib/card/card.component.mjs +85 -0
  43. package/esm2022/card/lib/card/card.module.mjs +19 -0
  44. package/esm2022/card/public-api.mjs +3 -0
  45. package/esm2022/card/seniorsistemas-angular-components-card.mjs +5 -0
  46. package/esm2022/chat/lib/chat/chat.component.mjs +29 -0
  47. package/esm2022/chat/lib/chat/chat.module.mjs +22 -0
  48. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +29 -0
  49. package/esm2022/chat/lib/chat/types/chat-message.mjs +2 -0
  50. package/esm2022/chat/public-api.mjs +3 -0
  51. package/esm2022/chat/seniorsistemas-angular-components-chat.mjs +5 -0
  52. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +67 -0
  53. package/esm2022/checkbox/public-api.mjs +2 -0
  54. package/esm2022/checkbox/seniorsistemas-angular-components-checkbox.mjs +5 -0
  55. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +129 -0
  56. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +19 -0
  57. package/esm2022/checkbox-list/lib/checkbox-list/models/checkbox-list-data.mjs +2 -0
  58. package/esm2022/checkbox-list/lib/checkbox-list/models/checkbox-list-state.mjs +2 -0
  59. package/esm2022/checkbox-list/public-api.mjs +3 -0
  60. package/esm2022/checkbox-list/seniorsistemas-angular-components-checkbox-list.mjs +5 -0
  61. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +67 -0
  62. package/esm2022/chips/lib/chips/chips/chips.component.mjs +241 -0
  63. package/esm2022/chips/lib/chips/chips.module.mjs +22 -0
  64. package/esm2022/chips/lib/chips/models/chip-models.mjs +2 -0
  65. package/esm2022/chips/public-api.mjs +3 -0
  66. package/esm2022/chips/seniorsistemas-angular-components-chips.mjs +5 -0
  67. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +111 -0
  68. package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +32 -0
  69. package/esm2022/code-editor/lib/code-editor/core/facades/core-facade.mjs +85 -0
  70. package/esm2022/code-editor/lib/code-editor/core/facades/linter-facade.mjs +2 -0
  71. package/esm2022/code-editor/lib/code-editor/core/models/enums/marker-severity.mjs +7 -0
  72. package/esm2022/code-editor/lib/code-editor/core/models/index.mjs +5 -0
  73. package/esm2022/code-editor/lib/code-editor/core/models/interfaces/marker.mjs +2 -0
  74. package/esm2022/code-editor/lib/code-editor/core/use-cases/core-linters.mjs +11 -0
  75. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.mjs +97 -0
  76. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/editor-languages.mjs +17 -0
  77. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/json/json.language.mjs +67 -0
  78. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.mjs +29 -0
  79. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.mjs +29 -0
  80. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.mjs +17 -0
  81. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.mjs +77 -0
  82. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.mjs +4 -0
  83. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.mjs +35 -0
  84. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.mjs +334 -0
  85. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.mjs +25 -0
  86. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.mjs +18 -0
  87. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.mjs +37 -0
  88. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.mjs +10 -0
  89. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.mjs +8 -0
  90. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.mjs +12 -0
  91. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.mjs +36 -0
  92. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.mjs +9 -0
  93. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.mjs +22 -0
  94. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.mjs +2 -0
  95. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.mjs +2 -0
  96. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.mjs +2 -0
  97. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.mjs +2 -0
  98. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.mjs +2 -0
  99. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.mjs +2 -0
  100. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.mjs +2 -0
  101. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.mjs +2 -0
  102. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.mjs +2 -0
  103. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.mjs +2 -0
  104. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.mjs +2 -0
  105. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.mjs +2 -0
  106. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.mjs +2 -0
  107. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.mjs +2 -0
  108. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.mjs +11 -0
  109. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.mjs +9 -0
  110. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.mjs +14 -0
  111. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.mjs +18 -0
  112. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.mjs +3 -0
  113. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/index.mjs +4 -0
  114. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.mjs +2 -0
  115. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/editor-theme.mjs +2 -0
  116. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/editor-themes.mjs +15 -0
  117. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.mjs +61 -0
  118. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.mjs +39 -0
  119. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.mjs +25 -0
  120. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.mjs +18 -0
  121. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.mjs +16 -0
  122. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.mjs +13 -0
  123. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.mjs +22 -0
  124. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.mjs +15 -0
  125. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/index.mjs +3 -0
  126. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.mjs +5 -0
  127. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/custom-http-client.mjs +82 -0
  128. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.mjs +10 -0
  129. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.mjs +9 -0
  130. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/index.mjs +3 -0
  131. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations-service.mjs +37 -0
  132. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +32 -0
  133. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/index.mjs +3 -0
  134. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/models/index.mjs +3 -0
  135. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/models/interfaces/translations.mjs +2 -0
  136. package/esm2022/code-editor/lib/code-editor/infra/utils/index.mjs +3 -0
  137. package/esm2022/code-editor/lib/code-editor/models/enums/languages.mjs +6 -0
  138. package/esm2022/code-editor/lib/code-editor/models/enums/themes.mjs +5 -0
  139. package/esm2022/code-editor/lib/code-editor/models/index.mjs +6 -0
  140. package/esm2022/code-editor/lib/code-editor/models/interfaces/editor-options.mjs +2 -0
  141. package/esm2022/code-editor/public-api.mjs +6 -0
  142. package/esm2022/code-editor/seniorsistemas-angular-components-code-editor.mjs +5 -0
  143. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +81 -0
  144. package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +18 -0
  145. package/esm2022/collapse-link/public-api.mjs +3 -0
  146. package/esm2022/collapse-link/seniorsistemas-angular-components-collapse-link.mjs +5 -0
  147. package/esm2022/common/lib/angular-components.module.mjs +24 -0
  148. package/esm2022/common/lib/custom-http-client/custom-http-client.mjs +86 -0
  149. package/esm2022/common/lib/custom-http-client/json-response-formatters/format-blob-response.mjs +10 -0
  150. package/esm2022/common/lib/custom-http-client/json-response-formatters/format-json-response.mjs +9 -0
  151. package/esm2022/common/lib/debouce.mjs +35 -0
  152. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +11 -0
  153. package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +11 -0
  154. package/esm2022/common/lib/svg-factory/components/svg-factory-icons.mjs +2 -0
  155. package/esm2022/common/lib/svg-factory/index.mjs +3 -0
  156. package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +44 -0
  157. package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +26 -0
  158. package/esm2022/common/public-api.mjs +5 -0
  159. package/esm2022/common/seniorsistemas-angular-components-common.mjs +5 -0
  160. package/esm2022/confirm-dialog/lib/confirm-dialog.model.mjs +2 -0
  161. package/esm2022/confirm-dialog/lib/confirm-dialog.service.mjs +34 -0
  162. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +17 -0
  163. package/esm2022/confirm-dialog/public-api.mjs +2 -0
  164. package/esm2022/confirm-dialog/seniorsistemas-angular-components-confirm-dialog.mjs +5 -0
  165. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +52 -0
  166. package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +19 -0
  167. package/esm2022/control-errors/public-api.mjs +3 -0
  168. package/esm2022/control-errors/seniorsistemas-angular-components-control-errors.mjs +5 -0
  169. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +319 -0
  170. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +41 -0
  171. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +42 -0
  172. package/esm2022/country-phone-picker/lib/country-phone-picker/models/country-phone-data.mjs +2 -0
  173. package/esm2022/country-phone-picker/lib/country-phone-picker/models/ordination.mjs +7 -0
  174. package/esm2022/country-phone-picker/lib/country-phone-picker/models/phone-selection-data.mjs +2 -0
  175. package/esm2022/country-phone-picker/lib/country-phone-picker/resources/countries.mjs +228 -0
  176. package/esm2022/country-phone-picker/public-api.mjs +5 -0
  177. package/esm2022/country-phone-picker/seniorsistemas-angular-components-country-phone-picker.mjs +5 -0
  178. package/esm2022/currency/lib/currency.service.mjs +25 -0
  179. package/esm2022/currency/lib/models/currencies.mjs +161 -0
  180. package/esm2022/currency/lib/types/currency.mjs +2 -0
  181. package/esm2022/currency/public-api.mjs +3 -0
  182. package/esm2022/currency/seniorsistemas-angular-components-currency.mjs +5 -0
  183. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +690 -0
  184. package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +45 -0
  185. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +35 -0
  186. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +17 -0
  187. package/esm2022/custom-fields/public-api.mjs +4 -0
  188. package/esm2022/custom-fields/seniorsistemas-angular-components-custom-fields.mjs +5 -0
  189. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +82 -0
  190. package/esm2022/dialog/lib/src/dialog/models/active-dialog.mjs +18 -0
  191. package/esm2022/dialog/lib/src/dialog/models/dialog-models.mjs +2 -0
  192. package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +96 -0
  193. package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +29 -0
  194. package/esm2022/dialog/public-api.mjs +4 -0
  195. package/esm2022/dialog/seniorsistemas-angular-components-dialog.mjs +5 -0
  196. package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +20 -0
  197. package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +41 -0
  198. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +632 -0
  199. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
  200. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +2 -0
  201. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +2 -0
  202. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +27 -0
  203. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +33 -0
  204. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +71 -0
  205. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +26 -0
  206. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +14 -0
  207. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +10 -0
  208. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +5 -0
  209. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +10 -0
  210. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +31 -0
  211. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +9 -0
  212. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +6 -0
  213. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +41 -0
  214. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +107 -0
  215. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +189 -0
  216. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +289 -0
  217. package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +2 -0
  218. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +13 -0
  219. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +34 -0
  220. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +24 -0
  221. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +37 -0
  222. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +31 -0
  223. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +30 -0
  224. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +15 -0
  225. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +47 -0
  226. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +56 -0
  227. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +9 -0
  228. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +25 -0
  229. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +15 -0
  230. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +14 -0
  231. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +16 -0
  232. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +15 -0
  233. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +64 -0
  234. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +66 -0
  235. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +38 -0
  236. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +33 -0
  237. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +35 -0
  238. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +27 -0
  239. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +43 -0
  240. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +30 -0
  241. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +17 -0
  242. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +30 -0
  243. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +32 -0
  244. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +38 -0
  245. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +36 -0
  246. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +22 -0
  247. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +124 -0
  248. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +27 -0
  249. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +23 -0
  250. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +31 -0
  251. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +118 -0
  252. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +21 -0
  253. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +59 -0
  254. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +29 -0
  255. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +90 -0
  256. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +23 -0
  257. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +56 -0
  258. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +23 -0
  259. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +121 -0
  260. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +75 -0
  261. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +22 -0
  262. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +52 -0
  263. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +24 -0
  264. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +103 -0
  265. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +25 -0
  266. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +88 -0
  267. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +29 -0
  268. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +22 -0
  269. package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +243 -0
  270. package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +150 -0
  271. package/esm2022/dynamic-form/public-api.mjs +44 -0
  272. package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +5 -0
  273. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +44 -0
  274. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +18 -0
  275. package/esm2022/editable-overlay/public-api.mjs +3 -0
  276. package/esm2022/editable-overlay/seniorsistemas-angular-components-editable-overlay.mjs +5 -0
  277. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +51 -0
  278. package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +22 -0
  279. package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +34 -0
  280. package/esm2022/empty-state/public-api.mjs +4 -0
  281. package/esm2022/empty-state/seniorsistemas-angular-components-empty-state.mjs +5 -0
  282. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +78 -0
  283. package/esm2022/fieldset/lib/fieldset/fieldset.models.mjs +2 -0
  284. package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +19 -0
  285. package/esm2022/fieldset/public-api.mjs +3 -0
  286. package/esm2022/fieldset/seniorsistemas-angular-components-fieldset.mjs +5 -0
  287. package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +276 -0
  288. package/esm2022/file-upload/lib/file-upload/file-upload.module.mjs +38 -0
  289. package/esm2022/file-upload/lib/file-upload/file-upload.service.mjs +18 -0
  290. package/esm2022/file-upload/lib/file-upload/models/file-dto.mjs +2 -0
  291. package/esm2022/file-upload/lib/file-upload/models/file-upload-permissions.mjs +2 -0
  292. package/esm2022/file-upload/lib/file-upload/models/list-blob-metadata.mjs +2 -0
  293. package/esm2022/file-upload/lib/file-upload/models/uploadError.mjs +2 -0
  294. package/esm2022/file-upload/lib/file-upload/models/validate-errors.mjs +2 -0
  295. package/esm2022/file-upload/public-api.mjs +3 -0
  296. package/esm2022/file-upload/seniorsistemas-angular-components-file-upload.mjs +5 -0
  297. package/esm2022/gantt/lib/gantt/components/gantt/arrow.mjs +87 -0
  298. package/esm2022/gantt/lib/gantt/components/gantt/bar.mjs +294 -0
  299. package/esm2022/gantt/lib/gantt/components/gantt/gantt-options.mjs +20 -0
  300. package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +812 -0
  301. package/esm2022/gantt/lib/gantt/components/gantt/popup.mjs +110 -0
  302. package/esm2022/gantt/lib/gantt/components/gantt/utils/date-utils.mjs +116 -0
  303. package/esm2022/gantt/lib/gantt/components/gantt/utils/svg-utils.mjs +111 -0
  304. package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +32 -0
  305. package/esm2022/gantt/lib/gantt/gantt.component.mjs +146 -0
  306. package/esm2022/gantt/lib/gantt/gantt.module.mjs +24 -0
  307. package/esm2022/gantt/lib/gantt/models/index.mjs +2 -0
  308. package/esm2022/gantt/lib/gantt/models/options.mjs +2 -0
  309. package/esm2022/gantt/lib/gantt/models/task.mjs +2 -0
  310. package/esm2022/gantt/lib/gantt/models/view-mode.mjs +12 -0
  311. package/esm2022/gantt/public-api.mjs +4 -0
  312. package/esm2022/gantt/seniorsistemas-angular-components-gantt.mjs +5 -0
  313. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +73 -0
  314. package/esm2022/global-search/lib/global-search/global-search.component.mjs +140 -0
  315. package/esm2022/global-search/lib/global-search/global-search.module.mjs +78 -0
  316. package/esm2022/global-search/lib/global-search/types/global-search-size.enum.mjs +2 -0
  317. package/esm2022/global-search/public-api.mjs +5 -0
  318. package/esm2022/global-search/seniorsistemas-angular-components-global-search.mjs +5 -0
  319. package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +34 -0
  320. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +19 -0
  321. package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +19 -0
  322. package/esm2022/grid-menu/lib/grid-menu/types/grid-menu-item.mjs +2 -0
  323. package/esm2022/grid-menu/public-api.mjs +4 -0
  324. package/esm2022/grid-menu/seniorsistemas-angular-components-grid-menu.mjs +5 -0
  325. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +84 -0
  326. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +314 -0
  327. package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +25 -0
  328. package/esm2022/help-popover/lib/help-popover/models/help-popover.models.mjs +2 -0
  329. package/esm2022/help-popover/public-api.mjs +4 -0
  330. package/esm2022/help-popover/seniorsistemas-angular-components-help-popover.mjs +5 -0
  331. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.mjs +13 -0
  332. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.mjs +82 -0
  333. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.mjs +49 -0
  334. package/esm2022/ia-insight/lib/ia-insight/ia-insight.component.mjs +66 -0
  335. package/esm2022/ia-insight/lib/ia-insight/ia-insight.module.mjs +47 -0
  336. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-item.mjs +2 -0
  337. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-template-types.mjs +2 -0
  338. package/esm2022/ia-insight/lib/ia-insight/models/index.mjs +2 -0
  339. package/esm2022/ia-insight/public-api.mjs +4 -0
  340. package/esm2022/ia-insight/seniorsistemas-angular-components-ia-insight.mjs +5 -0
  341. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +179 -0
  342. package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +23 -0
  343. package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +73 -0
  344. package/esm2022/image-cropper/public-api.mjs +4 -0
  345. package/esm2022/image-cropper/seniorsistemas-angular-components-image-cropper.mjs +5 -0
  346. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +28 -0
  347. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +18 -0
  348. package/esm2022/infinite-scroll/public-api.mjs +3 -0
  349. package/esm2022/infinite-scroll/seniorsistemas-angular-components-infinite-scroll.mjs +5 -0
  350. package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +17 -0
  351. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +68 -0
  352. package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +20 -0
  353. package/esm2022/info-sign/public-api.mjs +3 -0
  354. package/esm2022/info-sign/seniorsistemas-angular-components-info-sign.mjs +5 -0
  355. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +53 -0
  356. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +32 -0
  357. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +85 -0
  358. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +32 -0
  359. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +33 -0
  360. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +32 -0
  361. package/esm2022/inline-edit/lib/inline-edit/components/index.mjs +8 -0
  362. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +105 -0
  363. package/esm2022/inline-edit/lib/inline-edit/fields/index.mjs +8 -0
  364. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-calendar-field.mjs +45 -0
  365. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-field.mjs +13 -0
  366. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.mjs +60 -0
  367. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-number-field.mjs +38 -0
  368. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-field.mjs +15 -0
  369. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.mjs +7 -0
  370. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-field.mjs +7 -0
  371. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +66 -0
  372. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +102 -0
  373. package/esm2022/inline-edit/lib/inline-edit/types/addon-config.mjs +2 -0
  374. package/esm2022/inline-edit/public-api.mjs +4 -0
  375. package/esm2022/inline-edit/seniorsistemas-angular-components-inline-edit.mjs +5 -0
  376. package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +63 -0
  377. package/esm2022/interactive-content/public-api.mjs +2 -0
  378. package/esm2022/interactive-content/seniorsistemas-angular-components-interactive-content.mjs +5 -0
  379. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +100 -0
  380. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +62 -0
  381. package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +17 -0
  382. package/esm2022/kanban/lib/kanban/kanban-event.service.mjs +26 -0
  383. package/esm2022/kanban/lib/kanban/kanban.component.mjs +219 -0
  384. package/esm2022/kanban/lib/kanban/kanban.module.mjs +56 -0
  385. package/esm2022/kanban/lib/kanban/types/index.mjs +2 -0
  386. package/esm2022/kanban/lib/kanban/types/kanban-data.mjs +2 -0
  387. package/esm2022/kanban/lib/kanban/types/kanban-template-types.mjs +2 -0
  388. package/esm2022/kanban/public-api.mjs +3 -0
  389. package/esm2022/kanban/seniorsistemas-angular-components-kanban.mjs +5 -0
  390. package/esm2022/label-value/lib/label-value/label-value.component.mjs +35 -0
  391. package/esm2022/label-value/lib/label-value/label-value.module.mjs +22 -0
  392. package/esm2022/label-value/lib/label-value/types/label-value-configuration.mjs +2 -0
  393. package/esm2022/label-value/public-api.mjs +3 -0
  394. package/esm2022/label-value/seniorsistemas-angular-components-label-value.mjs +5 -0
  395. package/esm2022/lib/locale/fallback.mjs +333 -0
  396. package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +11 -0
  397. package/esm2022/loading-state/lib/loading-state/components/loading-state-indicators.mjs +6 -0
  398. package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +12 -0
  399. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +74 -0
  400. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +62 -0
  401. package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +30 -0
  402. package/esm2022/loading-state/public-api.mjs +5 -0
  403. package/esm2022/loading-state/seniorsistemas-angular-components-loading-state.mjs +5 -0
  404. package/esm2022/locale/lib/locale/locale.module.mjs +85 -0
  405. package/esm2022/locale/lib/locale/locale.service.mjs +87 -0
  406. package/esm2022/locale/lib/locale/options/calendar.mjs +24 -0
  407. package/esm2022/locale/lib/locale/options/index.mjs +27 -0
  408. package/esm2022/locale/lib/locale/options/number.mjs +9 -0
  409. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +18 -0
  410. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +38 -0
  411. package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +21 -0
  412. package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +53 -0
  413. package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +15 -0
  414. package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +23 -0
  415. package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +31 -0
  416. package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +15 -0
  417. package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +23 -0
  418. package/esm2022/locale/public-api.mjs +13 -0
  419. package/esm2022/locale/seniorsistemas-angular-components-locale.mjs +5 -0
  420. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +63 -0
  421. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +18 -0
  422. package/esm2022/localized-number-input/public-api.mjs +3 -0
  423. package/esm2022/localized-number-input/seniorsistemas-angular-components-localized-number-input.mjs +5 -0
  424. package/esm2022/mask/lib/mask/mask-formatter.module.mjs +16 -0
  425. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +65 -0
  426. package/esm2022/mask/public-api.mjs +3 -0
  427. package/esm2022/mask/seniorsistemas-angular-components-mask.mjs +5 -0
  428. package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +37 -0
  429. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +51 -0
  430. package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +27 -0
  431. package/esm2022/mouse-events/public-api.mjs +4 -0
  432. package/esm2022/mouse-events/seniorsistemas-angular-components-mouse-events.mjs +5 -0
  433. package/esm2022/navigation-button/lib/navigation-button/models/index.mjs +2 -0
  434. package/esm2022/navigation-button/lib/navigation-button/models/navigation-button-item.mjs +2 -0
  435. package/esm2022/navigation-button/lib/navigation-button/models/navigation-button-step-changed-info.mjs +2 -0
  436. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +134 -0
  437. package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +20 -0
  438. package/esm2022/navigation-button/public-api.mjs +4 -0
  439. package/esm2022/navigation-button/seniorsistemas-angular-components-navigation-button.mjs +5 -0
  440. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +164 -0
  441. package/esm2022/number-input/lib/number-input/number-input.module.mjs +21 -0
  442. package/esm2022/number-input/public-api.mjs +3 -0
  443. package/esm2022/number-input/seniorsistemas-angular-components-number-input.mjs +5 -0
  444. package/esm2022/numeric/lib/numeric.module.mjs +18 -0
  445. package/esm2022/numeric/lib/numeric.pipe.mjs +29 -0
  446. package/esm2022/numeric/lib/numeric.service.mjs +92 -0
  447. package/esm2022/numeric/public-api.mjs +4 -0
  448. package/esm2022/numeric/seniorsistemas-angular-components-numeric.mjs +5 -0
  449. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +51 -0
  450. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +87 -0
  451. package/esm2022/object-card/lib/object-card/object-card.component.mjs +171 -0
  452. package/esm2022/object-card/lib/object-card/object-card.module.mjs +24 -0
  453. package/esm2022/object-card/public-api.mjs +5 -0
  454. package/esm2022/object-card/seniorsistemas-angular-components-object-card.mjs +5 -0
  455. package/esm2022/paginator/lib/models/paginator.models.mjs +2 -0
  456. package/esm2022/paginator/lib/paginator/paginator.component.mjs +138 -0
  457. package/esm2022/paginator/public-api.mjs +2 -0
  458. package/esm2022/paginator/seniorsistemas-angular-components-paginator.mjs +5 -0
  459. package/esm2022/panel/lib/panel/panel.component.mjs +91 -0
  460. package/esm2022/panel/lib/panel/panel.module.mjs +20 -0
  461. package/esm2022/panel/public-api.mjs +3 -0
  462. package/esm2022/panel/seniorsistemas-angular-components-panel.mjs +5 -0
  463. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +92 -0
  464. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +210 -0
  465. package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +19 -0
  466. package/esm2022/password-strength/lib/password-strength/types/password-positions.mjs +2 -0
  467. package/esm2022/password-strength/lib/password-strength/types/password-strengths.mjs +2 -0
  468. package/esm2022/password-strength/public-api.mjs +4 -0
  469. package/esm2022/password-strength/seniorsistemas-angular-components-password-strength.mjs +5 -0
  470. package/esm2022/picklist/lib/picklist/picklist.component.mjs +299 -0
  471. package/esm2022/picklist/lib/picklist/picklist.module.mjs +36 -0
  472. package/esm2022/picklist/lib/picklist/types/index.mjs +2 -0
  473. package/esm2022/picklist/lib/picklist/types/picklist-item.mjs +2 -0
  474. package/esm2022/picklist/lib/picklist/types/picklist-template-types.mjs +2 -0
  475. package/esm2022/picklist/public-api.mjs +5 -0
  476. package/esm2022/picklist/seniorsistemas-angular-components-picklist.mjs +5 -0
  477. package/esm2022/product-header/lib/product-header/product-header.component.mjs +44 -0
  478. package/esm2022/product-header/lib/product-header/product-header.module.mjs +20 -0
  479. package/esm2022/product-header/public-api.mjs +3 -0
  480. package/esm2022/product-header/seniorsistemas-angular-components-product-header.mjs +5 -0
  481. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/confirmation-texts.mjs +2 -0
  482. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/cropper-labels-config.mjs +2 -0
  483. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/file-validation-errors.mjs +2 -0
  484. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/index.mjs +2 -0
  485. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/profile-picture-picker-data.mjs +2 -0
  486. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +277 -0
  487. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +25 -0
  488. package/esm2022/profile-picture-picker/lib/profile-picture-picker/validators/index.mjs +2 -0
  489. package/esm2022/profile-picture-picker/lib/profile-picture-picker/validators/validators.mjs +28 -0
  490. package/esm2022/profile-picture-picker/public-api.mjs +4 -0
  491. package/esm2022/profile-picture-picker/seniorsistemas-angular-components-profile-picture-picker.mjs +5 -0
  492. package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +60 -0
  493. package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +19 -0
  494. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +57 -0
  495. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +21 -0
  496. package/esm2022/progressbar/lib/progressbar/types/index.mjs +2 -0
  497. package/esm2022/progressbar/lib/progressbar/types/progressbar-colors.mjs +2 -0
  498. package/esm2022/progressbar/lib/progressbar/types/progressbar-mode.mjs +2 -0
  499. package/esm2022/progressbar/public-api.mjs +4 -0
  500. package/esm2022/progressbar/seniorsistemas-angular-components-progressbar.mjs +5 -0
  501. package/esm2022/public-api.mjs +2 -0
  502. package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +82 -0
  503. package/esm2022/radio-button/lib/radio-button-group/models/radio-button-group.models.mjs +2 -0
  504. package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +62 -0
  505. package/esm2022/radio-button/lib/services/radio-button-registry.service.mjs +38 -0
  506. package/esm2022/radio-button/public-api.mjs +3 -0
  507. package/esm2022/radio-button/seniorsistemas-angular-components-radio-button.mjs +5 -0
  508. package/esm2022/rating-scale/lib/rating-scale/models/index.mjs +2 -0
  509. package/esm2022/rating-scale/lib/rating-scale/models/rating-scale-node.mjs +2 -0
  510. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +54 -0
  511. package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +24 -0
  512. package/esm2022/rating-scale/public-api.mjs +3 -0
  513. package/esm2022/rating-scale/seniorsistemas-angular-components-rating-scale.mjs +5 -0
  514. package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +27 -0
  515. package/esm2022/select/lib/select/select.component.mjs +712 -0
  516. package/esm2022/select/public-api.mjs +2 -0
  517. package/esm2022/select/seniorsistemas-angular-components-select.mjs +5 -0
  518. package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +28 -0
  519. package/esm2022/select-button/lib/select-button/models/select-button-item.mjs +2 -0
  520. package/esm2022/select-button/lib/select-button/select-button.component.mjs +122 -0
  521. package/esm2022/select-button/lib/select-button/select-button.module.mjs +23 -0
  522. package/esm2022/select-button/public-api.mjs +3 -0
  523. package/esm2022/select-button/seniorsistemas-angular-components-select-button.mjs +5 -0
  524. package/esm2022/seniorsistemas-angular-components.mjs +5 -0
  525. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +19 -0
  526. package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +19 -0
  527. package/esm2022/shared/lib/shared/helpers.mjs +31 -0
  528. package/esm2022/shared/lib/shared/models/border-button-options.mjs +2 -0
  529. package/esm2022/shared/lib/shared/models/severities.mjs +9 -0
  530. package/esm2022/shared/public-api.mjs +5 -0
  531. package/esm2022/shared/seniorsistemas-angular-components-shared.mjs +5 -0
  532. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +114 -0
  533. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +20 -0
  534. package/esm2022/sidebar/public-api.mjs +3 -0
  535. package/esm2022/sidebar/seniorsistemas-angular-components-sidebar.mjs +5 -0
  536. package/esm2022/slide-panel/lib/slide-panel/slide-panel.component.mjs +137 -0
  537. package/esm2022/slide-panel/lib/slide-panel/slide-panel.module.mjs +20 -0
  538. package/esm2022/slide-panel/lib/slide-panel/slide-panel.service.mjs +26 -0
  539. package/esm2022/slide-panel/public-api.mjs +4 -0
  540. package/esm2022/slide-panel/seniorsistemas-angular-components-slide-panel.mjs +5 -0
  541. package/esm2022/slider/lib/slider/slider.component.mjs +601 -0
  542. package/esm2022/slider/lib/slider/slider.module.mjs +19 -0
  543. package/esm2022/slider/public-api.mjs +3 -0
  544. package/esm2022/slider/seniorsistemas-angular-components-slider.mjs +5 -0
  545. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +217 -0
  546. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +24 -0
  547. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +146 -0
  548. package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +81 -0
  549. package/esm2022/speech-recognition/public-api.mjs +5 -0
  550. package/esm2022/speech-recognition/seniorsistemas-angular-components-speech-recognition.mjs +5 -0
  551. package/esm2022/split-button/lib/split-button/models/index.mjs +2 -0
  552. package/esm2022/split-button/lib/split-button/models/split-button-option.mjs +2 -0
  553. package/esm2022/split-button/lib/split-button/models/split-button-type.mjs +2 -0
  554. package/esm2022/split-button/lib/split-button/split-button.component.mjs +64 -0
  555. package/esm2022/split-button/lib/split-button/split-button.module.mjs +18 -0
  556. package/esm2022/split-button/public-api.mjs +4 -0
  557. package/esm2022/split-button/seniorsistemas-angular-components-split-button.mjs +5 -0
  558. package/esm2022/star-rating/public-api.mjs +2 -0
  559. package/esm2022/star-rating/seniorsistemas-angular-components-star-rating.mjs +5 -0
  560. package/esm2022/star-rating/star-rating/star-rating-models.mjs +2 -0
  561. package/esm2022/star-rating/star-rating/star-rating.component.mjs +63 -0
  562. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +119 -0
  563. package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +19 -0
  564. package/esm2022/stats-card/public-api.mjs +3 -0
  565. package/esm2022/stats-card/seniorsistemas-angular-components-stats-card.mjs +5 -0
  566. package/esm2022/steps/lib/steps/steps.component.mjs +122 -0
  567. package/esm2022/steps/lib/steps/steps.module.mjs +19 -0
  568. package/esm2022/steps/public-api.mjs +3 -0
  569. package/esm2022/steps/seniorsistemas-angular-components-steps.mjs +5 -0
  570. package/esm2022/structure/lib/structure/footer.component.mjs +14 -0
  571. package/esm2022/structure/lib/structure/header.component.mjs +14 -0
  572. package/esm2022/structure/lib/structure/structure.module.mjs +19 -0
  573. package/esm2022/structure/public-api.mjs +5 -0
  574. package/esm2022/structure/seniorsistemas-angular-components-structure.mjs +5 -0
  575. package/esm2022/switch/lib/switch/switch.component.mjs +93 -0
  576. package/esm2022/switch/lib/switch/switch.module.mjs +18 -0
  577. package/esm2022/switch/public-api.mjs +3 -0
  578. package/esm2022/switch/seniorsistemas-angular-components-switch.mjs +5 -0
  579. package/esm2022/table/lib/locale-utils.mjs +15 -0
  580. package/esm2022/table/lib/table/export-utils.mjs +112 -0
  581. package/esm2022/table/lib/table/navigation/navigation.directive.mjs +130 -0
  582. package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +38 -0
  583. package/esm2022/table/lib/table/table-column/index.mjs +3 -0
  584. package/esm2022/table/lib/table/table-column/models/badge-column.interface.mjs +2 -0
  585. package/esm2022/table/lib/table/table-column/models/badge-configs.interface.mjs +2 -0
  586. package/esm2022/table/lib/table/table-column/models/column-colors.mjs +2 -0
  587. package/esm2022/table/lib/table/table-column/models/column-values.interface.mjs +2 -0
  588. package/esm2022/table/lib/table/table-column/models/column.interface.mjs +2 -0
  589. package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +2 -0
  590. package/esm2022/table/lib/table/table-column/models/enum-badge-colors.mjs +10 -0
  591. package/esm2022/table/lib/table/table-column/models/enum-column-field-type.mjs +13 -0
  592. package/esm2022/table/lib/table/table-column/models/index.mjs +11 -0
  593. package/esm2022/table/lib/table/table-column/models/locale-options.interface.mjs +2 -0
  594. package/esm2022/table/lib/table/table-column/models/number-locale-options.interface.mjs +2 -0
  595. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +299 -0
  596. package/esm2022/table/lib/table/table-paging/index.mjs +3 -0
  597. package/esm2022/table/lib/table/table-paging/models/custom-action.interface.mjs +2 -0
  598. package/esm2022/table/lib/table/table-paging/models/index.mjs +2 -0
  599. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +321 -0
  600. package/esm2022/table/lib/table/table.module.mjs +27 -0
  601. package/esm2022/table/public-api.mjs +6 -0
  602. package/esm2022/table/seniorsistemas-angular-components-table.mjs +5 -0
  603. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +151 -0
  604. package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +20 -0
  605. package/esm2022/table-header/public-api.mjs +3 -0
  606. package/esm2022/table-header/seniorsistemas-angular-components-table-header.mjs +5 -0
  607. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +36 -0
  608. package/esm2022/tabs/lib/tabs/tabs.component.mjs +51 -0
  609. package/esm2022/tabs/public-api.mjs +3 -0
  610. package/esm2022/tabs/seniorsistemas-angular-components-tabs.mjs +5 -0
  611. package/esm2022/template/lib/template/template.directive.mjs +22 -0
  612. package/esm2022/template/lib/template/template.module.mjs +17 -0
  613. package/esm2022/template/public-api.mjs +3 -0
  614. package/esm2022/template/seniorsistemas-angular-components-template.mjs +5 -0
  615. package/esm2022/text-area/lib/text-area/text-area.component.mjs +116 -0
  616. package/esm2022/text-area/lib/text-area.module.mjs +35 -0
  617. package/esm2022/text-area/public-api.mjs +3 -0
  618. package/esm2022/text-area/seniorsistemas-angular-components-text-area.mjs +5 -0
  619. package/esm2022/text-area-ia/lib/services/IAssist/iassist.service.mjs +77 -0
  620. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-input-data.mjs +3 -0
  621. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-response.mjs +3 -0
  622. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +150 -0
  623. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.module.mjs +50 -0
  624. package/esm2022/text-area-ia/public-api.mjs +3 -0
  625. package/esm2022/text-area-ia/seniorsistemas-angular-components-text-area-ia.mjs +5 -0
  626. package/esm2022/thumbnail/lib/thumbnail/thumbnail-size.mjs +2 -0
  627. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +77 -0
  628. package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +20 -0
  629. package/esm2022/thumbnail/lib/thumbnail/thumbnail.service.mjs +62 -0
  630. package/esm2022/thumbnail/public-api.mjs +4 -0
  631. package/esm2022/thumbnail/seniorsistemas-angular-components-thumbnail.mjs +5 -0
  632. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +17 -0
  633. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +42 -0
  634. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +64 -0
  635. package/esm2022/thumbnails/lib/thumbnails/models/thumbnails-item.mjs +2 -0
  636. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +48 -0
  637. package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +24 -0
  638. package/esm2022/thumbnails/public-api.mjs +3 -0
  639. package/esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs +5 -0
  640. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +303 -0
  641. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
  642. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +73 -0
  643. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +179 -0
  644. package/esm2022/tiered-menu/lib/tiered-menu/models/index.mjs +2 -0
  645. package/esm2022/tiered-menu/lib/tiered-menu/models/tiered-menu-item-data.mjs +2 -0
  646. package/esm2022/tiered-menu/lib/tiered-menu/models/tiered-menu-item-internal-data.mjs +2 -0
  647. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.mjs +17 -0
  648. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.mjs +11 -0
  649. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.service.mjs +54 -0
  650. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +234 -0
  651. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +34 -0
  652. package/esm2022/tiered-menu/public-api.mjs +6 -0
  653. package/esm2022/tiered-menu/seniorsistemas-angular-components-tiered-menu.mjs +5 -0
  654. package/esm2022/tile/lib/tile/tile.component.mjs +65 -0
  655. package/esm2022/tile/lib/tile/tile.module.mjs +20 -0
  656. package/esm2022/tile/public-api.mjs +3 -0
  657. package/esm2022/tile/seniorsistemas-angular-components-tile.mjs +5 -0
  658. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +24 -0
  659. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +20 -0
  660. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +26 -0
  661. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +19 -0
  662. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +21 -0
  663. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +33 -0
  664. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +11 -0
  665. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +29 -0
  666. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +60 -0
  667. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +33 -0
  668. package/esm2022/timeline/lib/timeline/models/timeline-item-severity.mjs +7 -0
  669. package/esm2022/timeline/lib/timeline/models/timeline-item-size.mjs +6 -0
  670. package/esm2022/timeline/lib/timeline/models/timeline-item.mjs +44 -0
  671. package/esm2022/timeline/lib/timeline/timeline.component.mjs +66 -0
  672. package/esm2022/timeline/lib/timeline/timeline.module.mjs +32 -0
  673. package/esm2022/timeline/public-api.mjs +6 -0
  674. package/esm2022/timeline/seniorsistemas-angular-components-timeline.mjs +5 -0
  675. package/esm2022/toast/lib/toast/toast.component.mjs +46 -0
  676. package/esm2022/toast/lib/toast/toast.module.mjs +17 -0
  677. package/esm2022/toast/lib/toast/toast.service.mjs +68 -0
  678. package/esm2022/toast/lib/toast/types/toast.mjs +2 -0
  679. package/esm2022/toast/public-api.mjs +4 -0
  680. package/esm2022/toast/seniorsistemas-angular-components-toast.mjs +5 -0
  681. package/esm2022/token-list/lib/token-list/models/index.mjs +2 -0
  682. package/esm2022/token-list/lib/token-list/models/token.mjs +2 -0
  683. package/esm2022/token-list/lib/token-list/token-list.component.mjs +42 -0
  684. package/esm2022/token-list/lib/token-list/token-list.module.mjs +18 -0
  685. package/esm2022/token-list/public-api.mjs +4 -0
  686. package/esm2022/token-list/seniorsistemas-angular-components-token-list.mjs +5 -0
  687. package/esm2022/tooltip/lib/tooltip/models/mobile-behavior.mjs +2 -0
  688. package/esm2022/tooltip/lib/tooltip/models/tooltip-event.mjs +2 -0
  689. package/esm2022/tooltip/lib/tooltip/models/tooltip-position.mjs +2 -0
  690. package/esm2022/tooltip/lib/tooltip/tooltip.component.mjs +18 -0
  691. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +339 -0
  692. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +19 -0
  693. package/esm2022/tooltip/public-api.mjs +3 -0
  694. package/esm2022/tooltip/seniorsistemas-angular-components-tooltip.mjs +5 -0
  695. package/esm2022/utils/lib/utils/breakpoints.mjs +11 -0
  696. package/esm2022/utils/lib/utils/utils.mjs +51 -0
  697. package/esm2022/utils/public-api.mjs +3 -0
  698. package/esm2022/utils/seniorsistemas-angular-components-utils.mjs +5 -0
  699. package/esm2022/workspace-switch/lib/workspace-switch/models/index.mjs +2 -0
  700. package/esm2022/workspace-switch/lib/workspace-switch/models/workspace.mjs +2 -0
  701. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +137 -0
  702. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +18 -0
  703. package/esm2022/workspace-switch/public-api.mjs +3 -0
  704. package/esm2022/workspace-switch/seniorsistemas-angular-components-workspace-switch.mjs +5 -0
  705. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +10 -10
  706. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  707. package/fesm2022/seniorsistemas-angular-components-alert.mjs +7 -7
  708. package/fesm2022/seniorsistemas-angular-components-badge.mjs +7 -7
  709. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -7
  710. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +7 -7
  711. package/fesm2022/seniorsistemas-angular-components-button.mjs +7 -7
  712. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  713. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +7 -7
  714. package/fesm2022/seniorsistemas-angular-components-card.mjs +7 -7
  715. package/fesm2022/seniorsistemas-angular-components-chat.mjs +10 -10
  716. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -7
  717. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +3 -3
  718. package/fesm2022/seniorsistemas-angular-components-chips.mjs +10 -10
  719. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  720. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +11 -11
  721. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +7 -7
  722. package/fesm2022/seniorsistemas-angular-components-common.mjs +20 -20
  723. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +6 -6
  724. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +7 -7
  725. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +10 -10
  726. package/fesm2022/seniorsistemas-angular-components-currency.mjs +3 -3
  727. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +10 -10
  728. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +9 -9
  729. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  730. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +125 -119
  731. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  732. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +7 -7
  733. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +10 -10
  734. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +9 -10
  735. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  736. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +10 -10
  737. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +10 -10
  738. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  739. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +10 -10
  740. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +10 -10
  741. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +10 -10
  742. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs +16 -16
  743. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +10 -10
  744. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +7 -7
  745. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +10 -10
  746. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  747. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +28 -28
  748. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  749. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +7 -3
  750. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -1
  751. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +19 -19
  752. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +7 -7
  753. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +16 -16
  754. package/fesm2022/seniorsistemas-angular-components-locale.mjs +34 -34
  755. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +7 -7
  756. package/fesm2022/seniorsistemas-angular-components-mask.mjs +7 -7
  757. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +10 -10
  758. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +8 -8
  759. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  760. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +7 -7
  761. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +10 -10
  762. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +13 -13
  763. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  764. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +3 -3
  765. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  766. package/fesm2022/seniorsistemas-angular-components-panel.mjs +7 -7
  767. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +10 -10
  768. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +7 -7
  769. package/fesm2022/seniorsistemas-angular-components-product-header.mjs +7 -7
  770. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +7 -7
  771. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +13 -13
  772. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +182 -0
  773. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -0
  774. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +7 -7
  775. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +10 -10
  776. package/fesm2022/seniorsistemas-angular-components-select.mjs +6 -6
  777. package/fesm2022/seniorsistemas-angular-components-shared.mjs +7 -7
  778. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  779. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +42 -23
  780. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  781. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs +10 -10
  782. package/fesm2022/seniorsistemas-angular-components-slider.mjs +8 -8
  783. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  784. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +13 -13
  785. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +7 -7
  786. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +4 -4
  787. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  788. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +7 -7
  789. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  790. package/fesm2022/seniorsistemas-angular-components-steps.mjs +7 -7
  791. package/fesm2022/seniorsistemas-angular-components-steps.mjs.map +1 -1
  792. package/fesm2022/seniorsistemas-angular-components-structure.mjs +11 -11
  793. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  794. package/fesm2022/seniorsistemas-angular-components-switch.mjs +7 -7
  795. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +7 -7
  796. package/fesm2022/seniorsistemas-angular-components-table.mjs +16 -16
  797. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  798. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +91 -0
  799. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -0
  800. package/fesm2022/seniorsistemas-angular-components-template.mjs +12 -15
  801. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  802. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +10 -10
  803. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +7 -7
  804. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +10 -10
  805. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +16 -16
  806. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +54 -92
  807. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  808. package/fesm2022/seniorsistemas-angular-components-tile.mjs +7 -7
  809. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  810. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +40 -40
  811. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  812. package/fesm2022/seniorsistemas-angular-components-toast.mjs +10 -10
  813. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +7 -7
  814. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +24 -14
  815. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  816. package/fesm2022/seniorsistemas-angular-components-utils.mjs +13 -4
  817. package/fesm2022/seniorsistemas-angular-components-utils.mjs.map +1 -1
  818. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +7 -7
  819. package/fesm2022/seniorsistemas-angular-components.mjs +1 -0
  820. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  821. package/fieldset/lib/fieldset/fieldset.component.d.ts +1 -1
  822. package/fieldset/lib/fieldset/fieldset.module.d.ts +1 -2
  823. package/index.d.ts +5 -0
  824. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +2 -1
  825. package/lib/locale/fallback.d.ts +1 -0
  826. package/package.json +13 -89
  827. package/public-api.d.ts +1 -0
  828. package/radio-button/index.d.ts +5 -0
  829. package/radio-button/lib/radio-button/radio-button.component.d.ts +31 -0
  830. package/radio-button/lib/radio-button-group/models/radio-button-group.models.d.ts +5 -0
  831. package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +25 -0
  832. package/radio-button/lib/services/radio-button-registry.service.d.ts +12 -0
  833. package/radio-button/public-api.d.ts +3 -0
  834. package/select/index.d.ts +5 -0
  835. package/select/lib/select/components/select-option/select-option.component.d.ts +14 -0
  836. package/select/lib/select/select.component.d.ts +275 -0
  837. package/select/public-api.d.ts +1 -0
  838. package/sidebar/lib/sidebar/sidebar.component.d.ts +7 -6
  839. package/src/lib/styles/tailwind.scss +4 -0
  840. package/tabs/index.d.ts +5 -0
  841. package/tabs/lib/tab-item/tab-item.component.d.ts +18 -0
  842. package/tabs/lib/tabs/tabs.component.d.ts +16 -0
  843. package/tabs/public-api.d.ts +2 -0
  844. package/tailwind.css +455 -414
  845. package/template/lib/template/template.directive.d.ts +2 -3
  846. package/template/lib/template/template.module.d.ts +3 -3
  847. package/tooltip/lib/tooltip/tooltip.directive.d.ts +4 -2
  848. package/tooltip/lib/tooltip/tooltip.module.d.ts +3 -3
  849. package/utils/lib/utils/utils.d.ts +2 -0
  850. package/accordion/package.json +0 -3
  851. package/alert/package.json +0 -3
  852. package/badge/package.json +0 -3
  853. package/bignumber-input/package.json +0 -3
  854. package/breadcrumb/package.json +0 -3
  855. package/button/package.json +0 -3
  856. package/calendar-mask/package.json +0 -3
  857. package/card/package.json +0 -3
  858. package/chat/package.json +0 -3
  859. package/checkbox/package.json +0 -3
  860. package/checkbox-list/package.json +0 -3
  861. package/chips/package.json +0 -3
  862. package/code-editor/package.json +0 -3
  863. package/collapse-link/package.json +0 -3
  864. package/common/package.json +0 -3
  865. package/confirm-dialog/package.json +0 -3
  866. package/control-errors/package.json +0 -3
  867. package/country-phone-picker/package.json +0 -3
  868. package/currency/package.json +0 -3
  869. package/custom-fields/package.json +0 -3
  870. package/dialog/package.json +0 -3
  871. package/dynamic-form/package.json +0 -3
  872. package/editable-overlay/package.json +0 -3
  873. package/empty-state/package.json +0 -3
  874. package/fieldset/package.json +0 -3
  875. package/file-upload/package.json +0 -3
  876. package/gantt/package.json +0 -3
  877. package/global-search/package.json +0 -3
  878. package/grid-menu/package.json +0 -3
  879. package/help-popover/package.json +0 -3
  880. package/ia-insight/package.json +0 -3
  881. package/image-cropper/package.json +0 -3
  882. package/infinite-scroll/package.json +0 -3
  883. package/info-sign/package.json +0 -3
  884. package/inline-edit/package.json +0 -3
  885. package/interactive-content/package.json +0 -3
  886. package/kanban/package.json +0 -3
  887. package/label-value/package.json +0 -3
  888. package/loading-state/package.json +0 -3
  889. package/locale/package.json +0 -3
  890. package/localized-number-input/package.json +0 -3
  891. package/mask/package.json +0 -3
  892. package/mouse-events/package.json +0 -3
  893. package/navigation-button/package.json +0 -3
  894. package/number-input/package.json +0 -3
  895. package/numeric/package.json +0 -3
  896. package/object-card/package.json +0 -3
  897. package/paginator/package.json +0 -3
  898. package/panel/package.json +0 -3
  899. package/password-strength/package.json +0 -3
  900. package/picklist/package.json +0 -3
  901. package/product-header/package.json +0 -3
  902. package/profile-picture-picker/package.json +0 -3
  903. package/progressbar/package.json +0 -3
  904. package/rating-scale/package.json +0 -3
  905. package/select-button/package.json +0 -3
  906. package/shared/package.json +0 -3
  907. package/sidebar/package.json +0 -3
  908. package/slide-panel/package.json +0 -3
  909. package/slider/package.json +0 -3
  910. package/speech-recognition/package.json +0 -3
  911. package/split-button/package.json +0 -3
  912. package/star-rating/package.json +0 -3
  913. package/stats-card/package.json +0 -3
  914. package/steps/package.json +0 -3
  915. package/structure/package.json +0 -3
  916. package/switch/package.json +0 -3
  917. package/table/package.json +0 -3
  918. package/table-header/package.json +0 -3
  919. package/template/package.json +0 -3
  920. package/text-area/package.json +0 -3
  921. package/text-area-ia/package.json +0 -3
  922. package/thumbnail/package.json +0 -3
  923. package/thumbnails/package.json +0 -3
  924. package/tiered-menu/lib/tiered-menu/utils.d.ts +0 -2
  925. package/tiered-menu/package.json +0 -3
  926. package/tile/package.json +0 -3
  927. package/timeline/package.json +0 -3
  928. package/toast/package.json +0 -3
  929. package/token-list/package.json +0 -3
  930. package/tooltip/package.json +0 -3
  931. package/utils/package.json +0 -3
  932. package/workspace-switch/package.json +0 -3
@@ -0,0 +1,303 @@
1
+ import { Component, EventEmitter, HostListener, Output, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { disableScroll, enableScroll } from '@seniorsistemas/angular-components/utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../services/tiered-menu.service";
7
+ import * as i2 from "../../services/tiered-menu.event.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "../tiered-menu-item/tiered-menu-item.component";
10
+ import * as i5 from "../tiered-menu-divider/tiered-menu-divider.component";
11
+ export class TieredMenuComponent {
12
+ _appRef;
13
+ _componentFactoryResolver;
14
+ _injector;
15
+ _changeDetectorRef;
16
+ tieredMenuService;
17
+ _tieredMenuEventService;
18
+ items = [];
19
+ top = 0;
20
+ left = 0;
21
+ menuTriggerEvent = 'hover';
22
+ _componentRef = null;
23
+ _menuDivElement = null;
24
+ _unsubscribe$ = new Subject();
25
+ destroyRequest = new EventEmitter();
26
+ constructor(_appRef, _componentFactoryResolver, _injector, _changeDetectorRef, tieredMenuService, _tieredMenuEventService) {
27
+ this._appRef = _appRef;
28
+ this._componentFactoryResolver = _componentFactoryResolver;
29
+ this._injector = _injector;
30
+ this._changeDetectorRef = _changeDetectorRef;
31
+ this.tieredMenuService = tieredMenuService;
32
+ this._tieredMenuEventService = _tieredMenuEventService;
33
+ }
34
+ onResize() {
35
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
36
+ }
37
+ onDocumentClick(event) {
38
+ // Closing menu when clicked outside.
39
+ const target = event.target;
40
+ const clickedInside = target.closest('s-tiered-menu-item') || target.closest('s-tiered-menu-divider');
41
+ if (!clickedInside) {
42
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
43
+ }
44
+ }
45
+ onKeydownHandler(event) {
46
+ if (this.tieredMenuService.currentItem) {
47
+ switch (event.key) {
48
+ case 'Escape':
49
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
50
+ break;
51
+ case ' ':
52
+ case 'Enter':
53
+ if (!this.tieredMenuService.currentItem.disabled) {
54
+ this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);
55
+ }
56
+ break;
57
+ case 'ArrowLeft':
58
+ if (this.items.includes(this.tieredMenuService.currentItem)) {
59
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem);
60
+ this._changeDetectorRef.detectChanges();
61
+ }
62
+ break;
63
+ case 'ArrowRight':
64
+ if (!this.tieredMenuService.currentItem.disabled &&
65
+ this.items.includes(this.tieredMenuService.currentItem)) {
66
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);
67
+ event.stopImmediatePropagation();
68
+ }
69
+ break;
70
+ }
71
+ }
72
+ else {
73
+ switch (event.key) {
74
+ case 'ArrowUp':
75
+ if (this.items.includes(this.tieredMenuService.currentItem)) {
76
+ this._tieredMenuEventService.decrementCurrentItemEvent.emit();
77
+ event.stopImmediatePropagation();
78
+ }
79
+ break;
80
+ case 'ArrowDown':
81
+ if (this.items.includes(this.tieredMenuService.currentItem)) {
82
+ this._tieredMenuEventService.incrementCurrentItemEvent.emit();
83
+ event.stopImmediatePropagation();
84
+ }
85
+ break;
86
+ }
87
+ }
88
+ }
89
+ ngOnInit() {
90
+ this.tieredMenuService.currentItems = this.items;
91
+ this._subscribeEvents();
92
+ disableScroll();
93
+ }
94
+ ngOnDestroy() {
95
+ this._unsubscribe$.next();
96
+ this._unsubscribe$.complete();
97
+ }
98
+ _incrementCurItem() {
99
+ if (!this.tieredMenuService.currentItem) {
100
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
101
+ return;
102
+ }
103
+ else if (!this.items.includes(this.tieredMenuService.currentItem)) {
104
+ // Checking if it is the current menu.
105
+ return;
106
+ }
107
+ const currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;
108
+ if (currentIndex < this.tieredMenuService.currentItems.length) {
109
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];
110
+ }
111
+ else {
112
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
113
+ }
114
+ if (this.tieredMenuService.currentItem.divider) {
115
+ this._incrementCurItem();
116
+ }
117
+ }
118
+ _decrementCurItem() {
119
+ if (!this.tieredMenuService.currentItem) {
120
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];
121
+ return;
122
+ // Checking if it is the current menu.
123
+ }
124
+ else if (!this.items.includes(this.tieredMenuService.currentItem)) {
125
+ return;
126
+ }
127
+ const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;
128
+ if (curIndex >= 0) {
129
+ this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];
130
+ }
131
+ else {
132
+ this.tieredMenuService.currentItem =
133
+ this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];
134
+ }
135
+ if (this.tieredMenuService.currentItem.divider) {
136
+ this._decrementCurItem();
137
+ }
138
+ }
139
+ _createMenu(items, position) {
140
+ if (!this._componentRef && items) {
141
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);
142
+ this._componentRef = componentFactory.create(this._injector);
143
+ this._appRef.attachView(this._componentRef.hostView);
144
+ const domElem = this._componentRef.hostView.rootNodes[0];
145
+ document.body.appendChild(domElem);
146
+ // Setting the menu items.
147
+ this._componentRef.instance.items = items;
148
+ // Subscribe menu events.
149
+ this._componentRef.instance.destroyRequest.subscribe((propagate) => {
150
+ this._destroy(propagate);
151
+ });
152
+ this._menuDivElement = domElem.querySelector('.menu');
153
+ this._setMenuPosition(position);
154
+ }
155
+ }
156
+ _destroy(propagate = true) {
157
+ if (this._componentRef !== null) {
158
+ this._appRef.detachView(this._componentRef.hostView);
159
+ this._componentRef.destroy();
160
+ this._componentRef = null;
161
+ this._menuDivElement = null;
162
+ }
163
+ if (propagate) {
164
+ this.destroyRequest.emit();
165
+ }
166
+ }
167
+ _setMenuPosition(position) {
168
+ const ITEM_HEIGHT = 37;
169
+ const DIVIDER_HEIGHT = 5;
170
+ const PADDING = 8;
171
+ if (this._componentRef !== null) {
172
+ const { top, right, bottom, left } = position;
173
+ const itemsCount = this._componentRef.instance.items?.reduce((count, item) => {
174
+ return !item.divider ? count + 1 : count;
175
+ }, 0);
176
+ const dividersCount = this._componentRef.instance.items?.reduce((count, item) => {
177
+ return item.divider ? count + 1 : count;
178
+ }, 0);
179
+ // I need to calculate the height of the component because the internal elements have not been created yet.
180
+ const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + 8;
181
+ const menuWidth = this._menuDivElement?.getBoundingClientRect().width ?? 0;
182
+ const rightFreeSpace = window.innerWidth - right;
183
+ const bottomFreeSpace = window.innerHeight - bottom;
184
+ if (rightFreeSpace > menuWidth) {
185
+ this._componentRef.instance.left = right;
186
+ }
187
+ else {
188
+ this._componentRef.instance.left = left - menuWidth;
189
+ }
190
+ if (bottomFreeSpace <= menuHeight) {
191
+ this._componentRef.instance.top = Math.max(window.innerHeight - menuHeight, window.scrollY);
192
+ }
193
+ else {
194
+ this._componentRef.instance.top = window.scrollY + top;
195
+ }
196
+ }
197
+ }
198
+ _subscribeEvents() {
199
+ // Increment current item event.
200
+ this._tieredMenuEventService.incrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
201
+ this._incrementCurItem();
202
+ });
203
+ // Decrement current item event.
204
+ this._tieredMenuEventService.decrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
205
+ this._decrementCurItem();
206
+ });
207
+ // Select item event.
208
+ this._tieredMenuEventService.selectItemEvent
209
+ .pipe(takeUntil(this._unsubscribe$))
210
+ .subscribe((item) => {
211
+ if (item) {
212
+ if (item.submenu) {
213
+ this._tieredMenuEventService.openItemMenuEvent.emit(item);
214
+ }
215
+ else if (item.command) {
216
+ this._tieredMenuEventService.closeAllMenusEvent.emit();
217
+ item.command();
218
+ }
219
+ }
220
+ });
221
+ // Close all menus event.
222
+ this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {
223
+ this._destroy();
224
+ this.tieredMenuService.currentItem = null;
225
+ this.tieredMenuService.currentItems = this.tieredMenuService.items;
226
+ this.tieredMenuService.markAllItemsAsClosed(this.tieredMenuService.items);
227
+ enableScroll();
228
+ });
229
+ // Open item menu event.
230
+ this._tieredMenuEventService.openItemMenuEvent
231
+ .pipe(takeUntil(this._unsubscribe$))
232
+ .subscribe((item) => {
233
+ if (this.tieredMenuService.currentItem) {
234
+ if (this.tieredMenuService.currentItem.parent === item) {
235
+ return;
236
+ }
237
+ if (this.tieredMenuService.currentItem?.parent) {
238
+ if (!item)
239
+ return;
240
+ if (!this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)) {
241
+ let current = this.tieredMenuService.currentItem;
242
+ current.isOpen = false;
243
+ while (current?.parent !== item.parent) {
244
+ this._tieredMenuEventService.closeItemMenuEvent.emit(current);
245
+ this._changeDetectorRef.detectChanges();
246
+ current = current?.parent;
247
+ }
248
+ if (current) {
249
+ current.isOpen = false;
250
+ }
251
+ }
252
+ }
253
+ }
254
+ if (item?.submenu && !item?.isOpen && this.items.includes(item)) {
255
+ const itemEl = document.querySelector(`#${item.id}`);
256
+ if (!itemEl)
257
+ return;
258
+ const { top, right, left, bottom } = itemEl.getBoundingClientRect();
259
+ const position = { top, right, left, bottom };
260
+ this._createMenu(item.submenu, position);
261
+ this.tieredMenuService.currentItems = item.submenu;
262
+ this.tieredMenuService.currentItem = item.submenu[0];
263
+ item.isOpen = true;
264
+ }
265
+ });
266
+ // Close item menu event.
267
+ this._tieredMenuEventService.closeItemMenuEvent
268
+ .pipe(takeUntil(this._unsubscribe$))
269
+ .subscribe((item) => {
270
+ if (item === null)
271
+ return;
272
+ if (this.items.some((i) => i.id === item.id)) {
273
+ if (item.parent) {
274
+ item.parent.isOpen = false;
275
+ }
276
+ else {
277
+ enableScroll();
278
+ }
279
+ this.tieredMenuService.currentItems = item?.parent?.parent?.submenu || this.tieredMenuService.items;
280
+ this.tieredMenuService.currentItem = item.parent;
281
+ this.destroyRequest.emit(false);
282
+ }
283
+ });
284
+ }
285
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuComponent, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i1.TieredMenuService }, { token: i2.TieredMenuEventService }], target: i0.ɵɵFactoryTarget.Component });
286
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TieredMenuComponent, selector: "s-tiered-menu", outputs: { destroyRequest: "destroyRequest" }, host: { listeners: { "window:resize": "onResize()", "document:click": "onDocumentClick($event)", "document:keydown": "onKeydownHandler($event)" } }, ngImport: i0, template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for(item of items; track $index) {\n @if(item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"/>\n }\n @if (item.divider) {\n <s-tiered-menu-divider/>\n }\n }\n</div>\n", styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px #0000001a;display:inline-flex;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}\n"], dependencies: [{ kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.TieredMenuItemComponent, selector: "s-tiered-menu-item", inputs: ["item", "focused", "highlight", "triggerEvent", "closeOnClick"] }, { kind: "component", type: i5.TieredMenuDividerComponent, selector: "s-tiered-menu-divider" }] });
287
+ }
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuComponent, decorators: [{
289
+ type: Component,
290
+ args: [{ selector: 's-tiered-menu', template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for(item of items; track $index) {\n @if(item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"/>\n }\n @if (item.divider) {\n <s-tiered-menu-divider/>\n }\n }\n</div>\n", styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px #0000001a;display:inline-flex;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}\n"] }]
291
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i1.TieredMenuService }, { type: i2.TieredMenuEventService }], propDecorators: { destroyRequest: [{
292
+ type: Output
293
+ }], onResize: [{
294
+ type: HostListener,
295
+ args: ['window:resize']
296
+ }], onDocumentClick: [{
297
+ type: HostListener,
298
+ args: ['document:click', ['$event']]
299
+ }], onKeydownHandler: [{
300
+ type: HostListener,
301
+ args: ['document:keydown', ['$event']]
302
+ }] } });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3RpZXJlZC1tZW51L3NyYy9saWIvdGllcmVkLW1lbnUvY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51L3RpZXJlZC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBSVQsWUFBWSxFQUNaLFlBQVksRUFJWixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7OztBQU92RixNQUFNLE9BQU8sbUJBQW1CO0lBY1A7SUFDQTtJQUNBO0lBQ0E7SUFDRDtJQUNDO0lBbEJkLEtBQUssR0FBaUMsRUFBRSxDQUFDO0lBQ3pDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDUixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1QsZ0JBQWdCLEdBQXNCLE9BQU8sQ0FBQztJQUU3QyxhQUFhLEdBQTZDLElBQUksQ0FBQztJQUMvRCxlQUFlLEdBQXdCLElBQUksQ0FBQztJQUM1QyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUdyQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVwRCxZQUNxQixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FB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Q0ksZUFBZTtzUEFlbEIsY0FBYztzQkFEcEIsTUFBTTtnQkFhQSxRQUFRO3NCQURkLFlBQVk7dUJBQUMsZUFBZTtnQkFNdEIsZUFBZTtzQkFEckIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXbkMsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhJztcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRpZXJlZE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBkaXNhYmxlU2Nyb2xsLCBlbmFibGVTY3JvbGwgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRpZXJlZC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGllcmVkLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpZXJlZC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdID0gW107XG4gICAgcHVibGljIHRvcCA9IDA7XG4gICAgcHVibGljIGxlZnQgPSAwO1xuICAgIHB1YmxpYyBtZW51VHJpZ2dlckV2ZW50OiAnY2xpY2snIHwgJ2hvdmVyJyA9ICdob3Zlcic7XG5cbiAgICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUaWVyZWRNZW51Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX21lbnVEaXZFbGVtZW50PzogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlc3Ryb3lSZXF1ZXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHRpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUV2ZW50U2VydmljZTogVGllcmVkTWVudUV2ZW50U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBwdWJsaWMgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBDbG9zaW5nIG1lbnUgd2hlbiBjbGlja2VkIG91dHNpZGUuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGFyZ2V0LmNsb3Nlc3QoJ3MtdGllcmVkLW1lbnUtaXRlbScpIHx8IHRhcmdldC5jbG9zZXN0KCdzLXRpZXJlZC1tZW51LWRpdmlkZXInKTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmRlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgICAgIGRpc2FibGVTY3JvbGwoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAvLyBDaGVja2luZyBpZiBpdCBpcyB0aGUgY3VycmVudCBtZW51LlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSArIDE7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1cnJlbnRJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIENoZWNraW5nIGlmIGl0IGlzIHRoZSBjdXJyZW50IG1lbnUuXG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID1cbiAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1t0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU1lbnUoaXRlbXM6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhW10sIHBvc2l0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgaXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudUNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG5cbiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhlIG1lbnUgaXRlbXMuXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXMgPSBpdGVtcztcblxuICAgICAgICAgICAgLy8gU3Vic2NyaWJlIG1lbnUgZXZlbnRzLlxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmRlc3Ryb3lSZXF1ZXN0LnN1YnNjcmliZSgocHJvcGFnYXRlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveShwcm9wYWdhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX21lbnVEaXZFbGVtZW50ID0gZG9tRWxlbS5xdWVyeVNlbGVjdG9yKCcubWVudScpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kocHJvcGFnYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lSZXF1ZXN0LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbihwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IElURU1fSEVJR0hUID0gMzc7XG4gICAgICAgIGNvbnN0IERJVklERVJfSEVJR0hUID0gNTtcbiAgICAgICAgY29uc3QgUEFERElORyA9IDg7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHBvc2l0aW9uO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgZGl2aWRlcnNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKFxuICAgICAgICAgICAgICAgIChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gSSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgaW50ZXJuYWwgZWxlbWVudHMgaGF2ZSBub3QgYmVlbiBjcmVhdGVkIHlldC5cbiAgICAgICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSBpdGVtc0NvdW50ICogSVRFTV9IRUlHSFQgKyBkaXZpZGVyc0NvdW50ICogRElWSURFUl9IRUlHSFQgKyBQQURESU5HICsgODtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVXaWR0aCA9IHRoaXMuX21lbnVEaXZFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCA/PyAwO1xuXG4gICAgICAgICAgICBjb25zdCByaWdodEZyZWVTcGFjZSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gcmlnaHQ7XG4gICAgICAgICAgICBjb25zdCBib3R0b21GcmVlU3BhY2UgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBib3R0b207XG5cbiAgICAgICAgICAgIGlmIChyaWdodEZyZWVTcGFjZSA+IG1lbnVXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gcmlnaHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdCAtIG1lbnVXaWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGJvdHRvbUZyZWVTcGFjZSA8PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgubWF4KHdpbmRvdy5pbm5lckhlaWdodCAtIG1lbnVIZWlnaHQsIHdpbmRvdy5zY3JvbGxZKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IHdpbmRvdy5zY3JvbGxZICsgdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICAvLyBJbmNyZW1lbnQgY3VycmVudCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIERlY3JlbWVudCBjdXJyZW50IGl0ZW0gZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZGVjcmVtZW50Q3VySXRlbSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gU2VsZWN0IGl0ZW0gZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uuc2VsZWN0SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIC8vIENsb3NlIGFsbCBtZW51cyBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5tYXJrQWxsSXRlbXNBc0Nsb3NlZCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zKTtcbiAgICAgICAgICAgIGVuYWJsZVNjcm9sbCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBPcGVuIGl0ZW0gbWVudSBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5vcGVuSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5wYXJlbnQgPT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtPy5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudGllcmVkTWVudVNlcnZpY2Uuc2VhcmNoVGhlSGllcmFyY2h5KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50LCBpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQ6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIHwgdW5kZWZpbmVkID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuaXNPcGVuID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoY3VycmVudD8ucGFyZW50ICE9PSBpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQ/LnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpdGVtPy5zdWJtZW51ICYmICFpdGVtPy5pc09wZW4gJiYgdGhpcy5pdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtpdGVtLmlkfWApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghaXRlbUVsKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBsZWZ0LCBib3R0b20gfSA9IGl0ZW1FbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7IHRvcCwgcmlnaHQsIGxlZnQsIGJvdHRvbSB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NyZWF0ZU1lbnUoaXRlbS5zdWJtZW51LCBwb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbS5zdWJtZW51O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gaXRlbS5zdWJtZW51WzBdO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQ2xvc2UgaXRlbSBtZW51IGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1zLnNvbWUoKGkpID0+IGkuaWQgPT09IGl0ZW0uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5wYXJlbnQuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0/LnBhcmVudD8ucGFyZW50Py5zdWJtZW51IHx8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVxdWVzdC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJtZW51XCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGxlZnQ6IGxlZnQgKyAncHgnLFxuICAgICAgICB0b3A6IHRvcCArICdweCcsXG4gICAgfVwiXG4+XG4gICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxzLXRpZXJlZC1tZW51LWl0ZW1cbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS52aXNpYmxlICYmICFpdGVtLmRpdmlkZXJcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJpdGVtID09PSB0aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbVwiXG4gICAgICAgICAgICBbaGlnaGxpZ2h0XT1cIml0ZW0uaXNPcGVuXCJcbiAgICAgICAgICAgIHRyaWdnZXJFdmVudD1cImhvdmVyXCJcbiAgICAgICAgICAgIFtjbG9zZU9uQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgIDwvcy10aWVyZWQtbWVudS1pdGVtPlxuICAgICAgICA8cy10aWVyZWQtbWVudS1kaXZpZGVyICpuZ0lmPVwiaXRlbS5kaXZpZGVyXCI+PC9zLXRpZXJlZC1tZW51LWRpdmlkZXI+XG4gICAgPC9kaXY+IC0tPlxuICAgIEBmb3IoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIEBpZihpdGVtLnZpc2libGUgJiYgIWl0ZW0uZGl2aWRlcikge1xuICAgICAgICAgICAgPHMtdGllcmVkLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgIFtmb2N1c2VkXT1cIml0ZW0gPT09IHRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtXCJcbiAgICAgICAgICAgICAgICBbaGlnaGxpZ2h0XT1cIml0ZW0uaXNPcGVuXCJcbiAgICAgICAgICAgICAgICB0cmlnZ2VyRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgICAgICAgW2Nsb3NlT25DbGlja109XCJmYWxzZVwiLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGl0ZW0uZGl2aWRlcikge1xuICAgICAgICAgICAgPHMtdGllcmVkLW1lbnUtZGl2aWRlci8+XG4gICAgICAgIH1cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TieredMenuDividerComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TieredMenuDividerComponent, selector: "s-tiered-menu-divider", ngImport: i0, template: "<div class=\"divider\"></div>\n", styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}\n"] });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuDividerComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 's-tiered-menu-divider', template: "<div class=\"divider\"></div>\n", styles: [".divider{margin:2px 0;height:1px;background-color:#ccc}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51LWRpdmlkZXIvdGllcmVkLW1lbnUtZGl2aWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51LWRpdmlkZXIvdGllcmVkLW1lbnUtZGl2aWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sMEJBQTBCO3dHQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQiw2RENQdkMsaUNBQ0E7OzRGRE1hLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRpZXJlZC1tZW51LWRpdmlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWVyZWQtbWVudS1kaXZpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90aWVyZWQtbWVudS1kaXZpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVEaXZpZGVyQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxuIl19
@@ -0,0 +1,73 @@
1
+ import { Component, HostListener, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/tiered-menu.event.service";
4
+ import * as i2 from "@angular/common";
5
+ export class TieredMenuItemComponent {
6
+ _tieredMenuEventService;
7
+ item;
8
+ focused = false;
9
+ highlight = false;
10
+ triggerEvent = 'click';
11
+ closeOnClick = false;
12
+ _showTimeout;
13
+ constructor(_tieredMenuEventService) {
14
+ this._tieredMenuEventService = _tieredMenuEventService;
15
+ }
16
+ onClick() {
17
+ if (this.item.disabled)
18
+ return;
19
+ if (this.item.submenu) {
20
+ if (!this.item.isOpen) {
21
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.item);
22
+ }
23
+ else if (this.closeOnClick) {
24
+ this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);
25
+ }
26
+ }
27
+ else {
28
+ this._tieredMenuEventService.selectItemEvent.emit(this.item);
29
+ }
30
+ }
31
+ onMouseEnter() {
32
+ if (this.item.disabled)
33
+ return;
34
+ if (this.triggerEvent === 'hover' && !this.item.isOpen) {
35
+ this._showTimeout = window.setTimeout(() => {
36
+ this._tieredMenuEventService.openItemMenuEvent.emit(this.item);
37
+ }, 300);
38
+ }
39
+ }
40
+ onMouseLeave() {
41
+ window.clearTimeout(this._showTimeout);
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuItemComponent, deps: [{ token: i1.TieredMenuEventService }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TieredMenuItemComponent, selector: "s-tiered-menu-item", inputs: { item: "item", focused: "focused", highlight: "highlight", triggerEvent: "triggerEvent", closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()", "touchend": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [attr.data-key]=\"item.dataKey\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused,\n 'tiered-menu-item--disabled': item.disabled,\n }\"\n>\n <div class=\"tiered-menu-item-content\">\n <span\n class=\"icon\"\n [ngClass]=\"item.iconClass\"\n ></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n @if (item.submenu) {\n <span\n class=\"submenu-icon fas\"\n [class.fa-chevron-left]=\"item.isOpen\"\n [class.fa-chevron-right]=\"!item.isOpen\"\n >\n </span>\n }\n</div>\n", styles: [".tiered-menu-item{align-items:center;display:flex;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}.tiered-menu-item--disabled{opacity:50%;cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TieredMenuItemComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 's-tiered-menu-item', template: "<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [attr.data-key]=\"item.dataKey\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused,\n 'tiered-menu-item--disabled': item.disabled,\n }\"\n>\n <div class=\"tiered-menu-item-content\">\n <span\n class=\"icon\"\n [ngClass]=\"item.iconClass\"\n ></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n @if (item.submenu) {\n <span\n class=\"submenu-icon fas\"\n [class.fa-chevron-left]=\"item.isOpen\"\n [class.fa-chevron-right]=\"!item.isOpen\"\n >\n </span>\n }\n</div>\n", styles: [".tiered-menu-item{align-items:center;display:flex;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;user-select:none;cursor:pointer}.tiered-menu-item .tiered-menu-item-content .label{margin:0 12px}.tiered-menu-item:hover{background-color:#e9e6e6}.tiered-menu-item--focused{background-color:#ccc!important}.tiered-menu-item--open{background-color:#e4e2e2}.tiered-menu-item--disabled{opacity:50%;cursor:default}\n"] }]
49
+ }], ctorParameters: () => [{ type: i1.TieredMenuEventService }], propDecorators: { item: [{
50
+ type: Input,
51
+ args: [{ required: true }]
52
+ }], focused: [{
53
+ type: Input
54
+ }], highlight: [{
55
+ type: Input
56
+ }], triggerEvent: [{
57
+ type: Input
58
+ }], closeOnClick: [{
59
+ type: Input
60
+ }], onClick: [{
61
+ type: HostListener,
62
+ args: ['click']
63
+ }, {
64
+ type: HostListener,
65
+ args: ['touchend']
66
+ }], onMouseEnter: [{
67
+ type: HostListener,
68
+ args: ['mouseenter']
69
+ }], onMouseLeave: [{
70
+ type: HostListener,
71
+ args: ['mouseleave']
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51LWl0ZW0vdGllcmVkLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUvc3JjL2xpYi90aWVyZWQtbWVudS9jb21wb25lbnRzL3RpZXJlZC1tZW51LWl0ZW0vdGllcmVkLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFVL0QsTUFBTSxPQUFPLHVCQUF1QjtJQW1CWDtJQWpCZCxJQUFJLENBQThCO0lBR2xDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFHaEIsU0FBUyxHQUFJLEtBQUssQ0FBQztJQUduQixZQUFZLEdBQXNCLE9BQU8sQ0FBQztJQUcxQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXBCLFlBQVksQ0FBVTtJQUU5QixZQUNxQix1QkFBK0M7UUFBL0MsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF3QjtJQUNqRSxDQUFDO0lBSUcsT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUvQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0wsQ0FBQztJQUdNLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFL0IsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1osQ0FBQztJQUNMLENBQUM7SUFHTSxZQUFZO1FBQ2YsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0FwRFEsdUJBQXVCOzRGQUF2Qix1QkFBdUIsb1VDVnBDLHd0QkEwQkE7OzRGRGhCYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksb0JBQW9COzJGQU12QixJQUFJO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixPQUFPO3NCQURiLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFXQyxPQUFPO3NCQUZiLFlBQVk7dUJBQUMsT0FBTzs7c0JBQ3BCLFlBQVk7dUJBQUMsVUFBVTtnQkFnQmpCLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsWUFBWTtnQkFZbkIsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXRpZXJlZC1tZW51LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWVyZWQtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90aWVyZWQtbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVJdGVtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBpdGVtITogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoaWdobGlnaHQ/ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0cmlnZ2VyRXZlbnQ6ICdjbGljaycgfCAnaG92ZXInID0gJ2NsaWNrJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsb3NlT25DbGljayA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1RpbWVvdXQ/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUV2ZW50U2VydmljZTogVGllcmVkTWVudUV2ZW50U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnKVxuICAgIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbS5zdWJtZW51KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXRlbS5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50LmVtaXQodGhpcy5pdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jbG9zZU9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KHRoaXMuaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMuaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgICBwdWJsaWMgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInICYmICF0aGlzLml0ZW0uaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50LmVtaXQodGhpcy5pdGVtKTtcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBwdWJsaWMgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgIGNsYXNzPVwidGllcmVkLW1lbnUtaXRlbVwiXG4gICAgW2F0dHIuZGF0YS1rZXldPVwiaXRlbS5kYXRhS2V5XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aWVyZWQtbWVudS1pdGVtLS1vcGVuJzogaXRlbS5pc09wZW4sXG4gICAgICAgICd0aWVyZWQtbWVudS1pdGVtLS1mb2N1c2VkJzogZm9jdXNlZCxcbiAgICAgICAgJ3RpZXJlZC1tZW51LWl0ZW0tLWRpc2FibGVkJzogaXRlbS5kaXNhYmxlZCxcbiAgICB9XCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwidGllcmVkLW1lbnUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImljb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5pY29uQ2xhc3NcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGl0ZW0uc3VibWVudSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzdWJtZW51LWljb24gZmFzXCJcbiAgICAgICAgICAgIFtjbGFzcy5mYS1jaGV2cm9uLWxlZnRdPVwiaXRlbS5pc09wZW5cIlxuICAgICAgICAgICAgW2NsYXNzLmZhLWNoZXZyb24tcmlnaHRdPVwiIWl0ZW0uaXNPcGVuXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9kaXY+XG4iXX0=