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