@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
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-tiered-menu.mjs","sources":["../../projects/angular-components/tiered-menu/src/lib/tiered-menu/services/tiered-menu.service.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/services/tiered-menu.global.service.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/utils.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/services/tiered-menu.event.service.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu/tiered-menu.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu/tiered-menu.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/tiered-menu.directive.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/tiered-menu.module.ts","../../projects/angular-components/tiered-menu/src/seniorsistemas-angular-components-tiered-menu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { TieredMenuItemData } from '../models/tiered-menu-item-data';\nimport { TieredMenuItemInternalData } from '../models/tiered-menu-item-internal-data';\n\n@Injectable()\nexport class TieredMenuService {\n public currentItem?: TieredMenuItemInternalData | null = null;\n public currentItems: TieredMenuItemInternalData[] = [];\n public items: TieredMenuItemInternalData[] = [];\n\n public normalizeData(\n items: TieredMenuItemData[],\n parent?: TieredMenuItemInternalData,\n ): TieredMenuItemInternalData[] {\n return items.map((i: TieredMenuItemInternalData) => {\n const item = {\n visible: true,\n ...i,\n };\n if (item.submenu) {\n item.submenu = this.normalizeData(item.submenu, item);\n }\n item.id = this._generateId();\n item.parent = parent;\n item.isOpen = false;\n return item;\n });\n }\n\n public markAllItemsAsClosed(\n items: TieredMenuItemInternalData[],\n ): TieredMenuItemInternalData[] {\n return items.map((i: TieredMenuItemInternalData) => {\n const item = { ...i };\n if (item.submenu) {\n item.submenu = this.markAllItemsAsClosed(item.submenu);\n }\n item.isOpen = false;\n return item;\n });\n }\n\n public searchTheHierarchy(\n itemA: TieredMenuItemInternalData,\n itemB: TieredMenuItemInternalData,\n ) {\n let item: TieredMenuItemInternalData | null = itemB;\n while (item) {\n if (item === itemA) {\n return true;\n }\n item = item.parent ?? null;\n }\n return false;\n }\n\n public cloneItems(\n items: TieredMenuItemInternalData[],\n ): TieredMenuItemInternalData[] {\n return JSON.parse(JSON.stringify(items));\n }\n\n private _generateId(): string {\n return `id-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TieredMenuDirective } from '../tiered-menu.directive';\n\n@Injectable()\nexport class TieredMenuGlobalService {\n public lastInstance?: TieredMenuDirective | null;\n}\n","export const enableScroll = (): void => {\n document.body.style.overflow = \"auto\";\n}\n\nexport const disabledScroll = (): void => {\n document.body.style.overflow = \"hidden\";\n}\n","import { Injectable, EventEmitter } from '@angular/core';\n\nimport { TieredMenuItemInternalData } from '../models/tiered-menu-item-internal-data';\n\n@Injectable()\nexport class TieredMenuEventService {\n public incrementCurrentItemEvent = new EventEmitter();\n public decrementCurrentItemEvent = new EventEmitter();\n public closeAllMenusEvent = new EventEmitter();\n public selectItemEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n public openItemMenuEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n public closeItemMenuEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n public createMenuEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n}\n","import { Component, HostListener, Input } from '@angular/core';\n\nimport { TieredMenuEventService } from '../../services/tiered-menu.event.service';\nimport { TieredMenuItemInternalData } from '../../models';\n\n@Component({\n selector: 's-tiered-menu-item',\n templateUrl: './tiered-menu-item.component.html',\n styleUrls: ['./tiered-menu-item.component.scss'],\n})\nexport class TieredMenuItemComponent {\n @Input({ required: true })\n public item!: TieredMenuItemInternalData;\n\n @Input()\n public focused = false;\n\n @Input()\n public highlight? = false;\n\n @Input()\n public triggerEvent: 'click' | 'hover' = 'click';\n\n @Input()\n public closeOnClick = false;\n\n private _showTimeout?: number;\n\n constructor(\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) {}\n\n @HostListener('click')\n @HostListener('touchend')\n public onClick(): void {\n if (this.item.disabled) return;\n\n if (this.item.submenu) {\n if (!this.item.isOpen) {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.item);\n } else if (this.closeOnClick) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);\n }\n } else {\n this._tieredMenuEventService.selectItemEvent.emit(this.item);\n }\n }\n\n @HostListener('mouseenter')\n public onMouseEnter(): void {\n if (this.item.disabled) return;\n\n if (this.triggerEvent === 'hover' && !this.item.isOpen) {\n this._showTimeout = window.setTimeout(() => {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.item);\n }, 300);\n }\n }\n\n @HostListener('mouseleave')\n public onMouseLeave(): void {\n window.clearTimeout(this._showTimeout);\n }\n}\n","<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [attr.data-key]=\"item.dataKey\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused,\n 'tiered-menu-item--disabled': item.disabled,\n }\"\n>\n <div class=\"tiered-menu-item-content\">\n <span\n class=\"icon\"\n [ngClass]=\"item.iconClass\"\n ></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n @if (item.submenu) {\n <span\n class=\"submenu-icon fas\"\n [class.fa-chevron-left]=\"item.isOpen\"\n [class.fa-chevron-right]=\"!item.isOpen\"\n >\n </span>\n }\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 's-tiered-menu-divider',\n templateUrl: './tiered-menu-divider.component.html',\n styleUrls: ['./tiered-menu-divider.component.scss'],\n})\nexport class TieredMenuDividerComponent {}\n","<div class=\"divider\"></div>\n","import { Component, HostListener, OnDestroy, OnInit } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { TieredMenuItemInternalData } from '../../models/tiered-menu-item-internal-data';\nimport { TieredMenuEventService } from '../../services/tiered-menu.event.service';\nimport { TieredMenuService } from '../../services/tiered-menu.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { disabledScroll, enableScroll } from '../../utils';\n\n@Component({\n templateUrl: './tiered-menu-nested.component.html',\n styleUrls: ['./tiered-menu-nested.component.scss'],\n})\nexport class TieredMenuNestedComponent implements OnInit, OnDestroy {\n public items!: TieredMenuItemInternalData[];\n public top = 0;\n public left = 0;\n // public maxHeight = 0;\n\n // Saves the last opened item to close it when a new one is opened\n private _lastOpenItem?: TieredMenuItemInternalData;\n private _unsubscribe$ = new Subject<void>();\n\n @HostListener('window:resize')\n public onResize(): void {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n // Closing menu when clicked outside.\n const target = event.target as Element;\n const clickedInside =\n target.closest('s-tiered-menu-item') ||\n target.closest('s-tiered-menu-divider');\n if (!clickedInside) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeydownHandler(event: KeyboardEvent) {\n switch (event.key) {\n case 'Escape':\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n break;\n case ' ':\n case 'Enter':\n this._tieredMenuEventService.selectItemEvent.emit(\n this.tieredMenuService.currentItem,\n );\n break;\n case 'ArrowLeft':\n // When nested I need a reference to the current item's parent item, otherwise just the current item.\n this._tieredMenuEventService.closeItemMenuEvent.emit(\n this.tieredMenuService.currentItem?.parent,\n );\n break;\n case 'ArrowRight':\n this._tieredMenuEventService.openItemMenuEvent.emit(\n this.tieredMenuService.currentItem,\n );\n break;\n case 'ArrowUp':\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n break;\n case 'ArrowDown':\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n break;\n }\n }\n\n constructor(\n public readonly tieredMenuService: TieredMenuService,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) { }\n\n public ngOnInit(): void {\n this.tieredMenuService.currentItems = this.items;\n this._subscribeEvents();\n disabledScroll();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n enableScroll();\n }\n\n private _incrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[0];\n return;\n }\n\n const curIndex =\n this.tieredMenuService.currentItems.indexOf(\n this.tieredMenuService.currentItem,\n ) + 1;\n\n if (curIndex < this.tieredMenuService.currentItems.length) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[0];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._incrementCurItem();\n }\n }\n\n private _decrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[0];\n return;\n }\n\n const curIndex =\n this.tieredMenuService.currentItems.indexOf(\n this.tieredMenuService.currentItem,\n ) - 1;\n\n if (curIndex >= 0) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[\n this.tieredMenuService.currentItems.length - 1\n ];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._decrementCurItem();\n }\n }\n\n private _closeItem(item: TieredMenuItemInternalData): void {\n let itemAux = this._lastOpenItem;\n\n while (itemAux && itemAux != item) {\n itemAux.isOpen = false;\n itemAux = itemAux.parent;\n }\n\n item.isOpen = false;\n\n this.tieredMenuService.currentItem =\n itemAux ?? this.tieredMenuService.items[0];\n this.tieredMenuService.currentItems =\n itemAux?.parent?.submenu || this.tieredMenuService.items;\n }\n\n private _openItem(item: TieredMenuItemInternalData): void {\n if (item?.submenu) {\n item.isOpen = true;\n this.tieredMenuService.currentItems = item.submenu;\n\n // Only has focus if there has already been interaction.\n if (this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = item.submenu[0];\n }\n\n this._lastOpenItem = item;\n }\n }\n\n private _subscribeEvents(): void {\n this._tieredMenuEventService.incrementCurrentItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._incrementCurItem();\n });\n\n this._tieredMenuEventService.decrementCurrentItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._decrementCurItem();\n });\n\n this._tieredMenuEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item && item.command) {\n item.command();\n // Close all menus after the item was selected.\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n });\n\n this._tieredMenuEventService.openItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item) {\n if (!this.tieredMenuService.currentItems.includes(item)) {\n let itemAux = this._lastOpenItem;\n\n while (itemAux?.parent?.parent) {\n itemAux = itemAux.parent;\n }\n\n this._tieredMenuEventService.closeItemMenuEvent.emit(\n itemAux?.parent ?? itemAux,\n );\n }\n\n this._lastOpenItem = item;\n this._openItem(item);\n }\n });\n\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item) {\n this._closeItem(item);\n }\n });\n }\n}\n","<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","import {\n ApplicationRef,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Injector,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { TieredMenuItemInternalData } from '../../models/tiered-menu-item-internal-data';\nimport { TieredMenuEventService } from '../../services/tiered-menu.event.service';\nimport { TieredMenuService } from '../../services/tiered-menu.service';\nimport { disabledScroll, enableScroll } from '../../utils';\n\n@Component({\n selector: 's-tiered-menu',\n templateUrl: './tiered-menu.component.html',\n styleUrls: ['./tiered-menu.component.scss'],\n})\nexport class TieredMenuComponent implements OnInit, OnDestroy {\n public items: TieredMenuItemInternalData[] = [];\n public top = 0;\n public left = 0;\n public menuTriggerEvent: 'click' | 'hover' = 'hover';\n\n private _componentRef: ComponentRef<TieredMenuComponent> | null = null;\n private _menuDivElement?: HTMLElement | null = null;\n private _unsubscribe$ = new Subject<void>();\n\n @Output()\n public destroyRequest = new EventEmitter<boolean>();\n\n constructor(\n private readonly _appRef: ApplicationRef,\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _injector: Injector,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n public readonly tieredMenuService: TieredMenuService,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) { }\n\n @HostListener('window:resize')\n public onResize(): void {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n // Closing menu when clicked outside.\n const target = event.target as Element;\n const clickedInside =\n target.closest('s-tiered-menu-item') ||\n target.closest('s-tiered-menu-divider');\n if (!clickedInside) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeydownHandler(event: KeyboardEvent) {\n if (this.tieredMenuService.currentItem) {\n switch (event.key) {\n case 'Escape':\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n break;\n case ' ':\n case 'Enter':\n if (!this.tieredMenuService.currentItem.disabled) {\n this._tieredMenuEventService.selectItemEvent.emit(\n this.tieredMenuService.currentItem,\n );\n }\n break;\n case 'ArrowLeft':\n if (\n this.items.includes(this.tieredMenuService.currentItem)\n ) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(\n this.tieredMenuService.currentItem,\n );\n this._changeDetectorRef.detectChanges();\n }\n break;\n case 'ArrowRight':\n if (\n !this.tieredMenuService.currentItem.disabled &&\n this.items.includes(this.tieredMenuService.currentItem)\n ) {\n this._tieredMenuEventService.openItemMenuEvent.emit(\n this.tieredMenuService.currentItem,\n );\n event.stopImmediatePropagation();\n }\n break;\n }\n } else {\n switch (event.key) {\n case 'ArrowUp':\n if (\n this.items.includes(this.tieredMenuService.currentItem!)\n ) {\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n case 'ArrowDown':\n if (\n this.items.includes(this.tieredMenuService.currentItem!)\n ) {\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n }\n }\n }\n\n public ngOnInit(): void {\n this.tieredMenuService.currentItems = this.items;\n this._subscribeEvents();\n disabledScroll();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _incrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[0];\n return;\n } else if (!this.items.includes(this.tieredMenuService.currentItem)) {\n // Checking if it is the current menu.\n return;\n }\n\n const currentIndex =\n this.tieredMenuService.currentItems.indexOf(\n this.tieredMenuService.currentItem,\n ) + 1;\n\n if (currentIndex < this.tieredMenuService.currentItems.length) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[currentIndex];\n } else {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[0];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._incrementCurItem();\n }\n }\n\n private _decrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[0];\n return;\n // Checking if it is the current menu.\n } else if (!this.items.includes(this.tieredMenuService.currentItem)) {\n return;\n }\n\n const curIndex =\n this.tieredMenuService.currentItems.indexOf(\n this.tieredMenuService.currentItem,\n ) - 1;\n\n if (curIndex >= 0) {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[\n this.tieredMenuService.currentItems.length - 1\n ];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._decrementCurItem();\n }\n }\n\n private _createMenu(\n items: TieredMenuItemInternalData[],\n position: any,\n ): void {\n if (!this._componentRef && items) {\n const componentFactory =\n this._componentFactoryResolver.resolveComponentFactory(\n TieredMenuComponent,\n );\n this._componentRef = componentFactory.create(this._injector);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (\n this._componentRef.hostView as EmbeddedViewRef<any>\n ).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n // Setting the menu items.\n this._componentRef.instance.items = items;\n\n // Subscribe menu events.\n this._componentRef.instance.destroyRequest.subscribe(\n (propagate: boolean) => {\n this._destroy(propagate);\n },\n );\n\n this._menuDivElement = domElem.querySelector('.menu');\n this._setMenuPosition(position);\n }\n }\n\n private _destroy(propagate = true): void {\n if (this._componentRef !== null) {\n this._appRef.detachView(this._componentRef.hostView);\n this._componentRef.destroy();\n this._componentRef = null;\n this._menuDivElement = null;\n }\n\n if (propagate) {\n this.destroyRequest.emit();\n }\n }\n\n private _setMenuPosition(position: any): void {\n const ITEM_HEIGHT = 37;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n\n if (this._componentRef !== null) {\n const { top, right, bottom, left } = position;\n\n const itemsCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n },\n 0,\n );\n\n const dividersCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n },\n 0,\n );\n\n // I need to calculate the height of the component because the internal elements have not been created yet.\n const menuHeight =\n itemsCount * ITEM_HEIGHT +\n dividersCount * DIVIDER_HEIGHT +\n PADDING +\n 8;\n const menuWidth =\n this._menuDivElement?.getBoundingClientRect().width ?? 0;\n\n const rightFreeSpace = window.innerWidth - right;\n const bottomFreeSpace = window.innerHeight - bottom;\n\n if (rightFreeSpace > menuWidth) {\n this._componentRef.instance.left = right;\n } else {\n this._componentRef.instance.left = left - menuWidth;\n }\n\n if (bottomFreeSpace <= menuHeight) {\n this._componentRef.instance.top = Math.max(\n window.innerHeight - menuHeight,\n window.scrollY,\n );\n } else {\n this._componentRef.instance.top = window.scrollY + top;\n }\n }\n }\n\n private _subscribeEvents(): void {\n // Increment current item event.\n this._tieredMenuEventService.incrementCurrentItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._incrementCurItem();\n });\n // Decrement current item event.\n this._tieredMenuEventService.decrementCurrentItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._decrementCurItem();\n });\n // Select item event.\n this._tieredMenuEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item) {\n if (item.submenu) {\n this._tieredMenuEventService.openItemMenuEvent.emit(\n item,\n );\n } else if (item.command) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n item.command();\n }\n }\n });\n // Close all menus event.\n this._tieredMenuEventService.closeAllMenusEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._destroy();\n this.tieredMenuService.currentItem = null;\n this.tieredMenuService.currentItems =\n this.tieredMenuService.items;\n this.tieredMenuService.markAllItemsAsClosed(\n this.tieredMenuService.items\n );\n enableScroll();\n });\n\n // Open item menu event.\n this._tieredMenuEventService.openItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (this.tieredMenuService.currentItem) {\n if (this.tieredMenuService.currentItem.parent === item) {\n return;\n }\n\n if (this.tieredMenuService.currentItem?.parent) {\n if (!item) return;\n\n if (\n !this.tieredMenuService.searchTheHierarchy(\n this.tieredMenuService.currentItem.parent,\n item,\n )\n ) {\n let current:\n | TieredMenuItemInternalData\n | undefined =\n this.tieredMenuService.currentItem;\n\n current.isOpen = false;\n\n while (current?.parent !== item.parent) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(\n current,\n );\n this._changeDetectorRef.detectChanges();\n\n current = current?.parent;\n }\n\n if (current) {\n current.isOpen = false;\n }\n }\n }\n }\n\n if (\n item?.submenu &&\n !item?.isOpen &&\n this.items.includes(item)\n ) {\n const itemEl = document.querySelector(`#${item.id}`);\n\n if (!itemEl) return;\n\n const { top, right, left, bottom } =\n itemEl.getBoundingClientRect();\n const position = { top, right, left, bottom };\n\n this._createMenu(item.submenu, position);\n this.tieredMenuService.currentItems = item.submenu;\n this.tieredMenuService.currentItem = item.submenu[0];\n item.isOpen = true;\n }\n });\n\n // Close item menu event.\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item === null) return;\n if (this.items.some((i) => i.id === item.id)) {\n if (item.parent) {\n item.parent.isOpen = false;\n } else {\n enableScroll();\n }\n this.tieredMenuService.currentItems =\n item?.parent?.parent?.submenu ||\n this.tieredMenuService.items;\n this.tieredMenuService.currentItem = item.parent;\n this.destroyRequest.emit(false);\n }\n });\n }\n}\n","<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for(item of items; track $index) {\n @if(item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"/>\n }\n @if (item.divider) {\n <s-tiered-menu-divider/>\n }\n }\n</div>\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Type,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TieredMenuNestedComponent } from './components/tiered-menu-nested/tiered-menu-nested.component';\nimport { TieredMenuComponent } from './components/tiered-menu/tiered-menu.component';\nimport { TieredMenuItemData } from './models/tiered-menu-item-data';\nimport { TieredMenuEventService } from './services/tiered-menu.event.service';\nimport { TieredMenuGlobalService } from './services/tiered-menu.global.service';\nimport { TieredMenuService } from './services/tiered-menu.service';\nimport { TieredMenuItemInternalData } from './models';\nimport { enableScroll } from './utils';\n\n@Directive({\n selector: '[sTieredMenu]',\n providers: [TieredMenuEventService, TieredMenuService],\n})\nexport class TieredMenuDirective implements OnInit, OnChanges, OnDestroy {\n @Input()\n public items: TieredMenuItemData[] = [];\n\n @Input()\n public focusedItem: TieredMenuItemData | undefined = undefined;\n\n @Input()\n public triggerEvent: 'click' | 'hover' = 'click';\n\n private _componentRef: ComponentRef<any> | null = null;\n private _showTimeout?: number;\n private _isNested = false;\n private _isOpen = false;\n private _unsubscribe$ = new Subject<void>();\n private _lastActiveElement?: Element;\n private _previousItems: TieredMenuItemData[] = [];\n private _itemsAreValid?: boolean;\n private _resizeObserver = new ResizeObserver(() => {\n this._setMenuPosition();\n this._componentRef?.hostView.detectChanges();\n });\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _appRef: ApplicationRef,\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _injector: Injector,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n private readonly _tieredMenuService: TieredMenuService,\n private readonly _tieredMenuGlobalService: TieredMenuGlobalService,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n ) { }\n\n public ngOnInit(): void {\n this._itemsAreValid = !!this.items?.length;\n\n if (!this._itemsAreValid) return;\n\n this._subscribeEvents();\n }\n\n public ngOnChanges(): void {\n if (!this._itemsAreValid) return;\n\n if (!this._previousItems) {\n this._previousItems = this._tieredMenuService.cloneItems(this.items);\n }\n\n let hasChanges = false;\n\n if (this.items.length !== this._previousItems.length) {\n hasChanges = true;\n } else {\n for (let i = 0; i < this.items.length; i++) {\n if (!this._compareItems(this.items[i], this._previousItems[i])) {\n hasChanges = true;\n break;\n }\n }\n }\n\n if (hasChanges) {\n this._updateServiceItems();\n this._changeDetectorRef.detectChanges();\n this._rebuildMenu();\n }\n\n this._previousItems = this._tieredMenuService.cloneItems(this.items);\n }\n\n public ngOnDestroy(): void {\n if (!this._itemsAreValid) return;\n\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n\n this._destroy();\n }\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent): void {\n if (!this._itemsAreValid) return;\n\n if (this.triggerEvent === 'click' && !this._isOpen) {\n this._lastActiveElement = document.activeElement as Element;\n this._createMenu();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n private _createMenu(): void {\n this._updateServiceItems();\n\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n this._tieredMenuGlobalService.lastInstance?._destroy();\n this._tieredMenuGlobalService.lastInstance = this;\n\n (this._lastActiveElement as HTMLElement)?.blur();\n this._isOpen = true;\n this._isNested = document.body.clientWidth < 600;\n\n this._isNested ? this._createNestedMenu() : this._createTieredMenu();\n }\n }\n\n private _createTieredMenu(): void {\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n this._componentRef = this._createComponent(TieredMenuComponent);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = this._componentRef.location.nativeElement as HTMLElement;\n document.body.appendChild(domElem);\n this._setMenuComponentProperties();\n this._componentRef.instance.destroyRequest.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._destroy();\n });\n\n this._setMenuPosition();\n }\n }\n\n private _createNestedMenu(): void {\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);\n this._componentRef = componentFactory.create(this._injector);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this._setMenuComponentProperties();\n this._setMenuPosition();\n }\n }\n\n private _createComponent<T>(componentClass: Type<T>) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentClass);\n const _componentRef = componentFactory.create(this._injector);\n this._resizeObserver.observe(_componentRef.location.nativeElement.querySelector('.menu'));\n _componentRef.onDestroy(() => {\n this._resizeObserver.disconnect();\n });\n return _componentRef;\n }\n\n private _destroy(): void {\n if (this._componentRef) {\n this._isOpen = false;\n window.clearTimeout(this._showTimeout);\n this._appRef.detachView(this._componentRef.hostView);\n this._componentRef.destroy();\n this._componentRef = null;\n\n this._tieredMenuService.currentItems = this._tieredMenuService.items;\n this._tieredMenuService.currentItem = this._tieredMenuService.items[0];\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n private _setMenuPosition(): void {\n if (!this._componentRef) {\n return;\n }\n this._changeDetectorRef.detectChanges();\n const ITEM_HEIGHT = 37;\n const ITEM_WIDTH =\n (this._componentRef.location.nativeElement as HTMLElement)?.querySelector('.menu')?.clientWidth || 176;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n const MARGIN = 4;\n this._componentRef.instance.top = 8;\n let { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();\n\n const itemsCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n },\n 0,\n );\n\n const dividersCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n },\n 0,\n );\n\n const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;\n const rightFreeSpace = window.innerWidth - right;\n const bottomFreeSpace = window.innerHeight - bottom;\n\n this._componentRef.instance.top = bottom;\n this._componentRef.instance.left = left;\n\n if (bottomFreeSpace <= menuHeight) {\n this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);\n } else {\n this._componentRef.instance.top = window.scrollY + bottom + MARGIN;\n }\n\n if (rightFreeSpace > 176) {\n this._componentRef.instance.left = window.scrollX + left;\n } else {\n this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;\n }\n\n if (this._isNested) {\n this._componentRef.instance.left = MARGIN;\n }\n }\n\n private _setMenuComponentProperties(): void {\n if (this._componentRef != null) {\n this._componentRef.instance.items = this._tieredMenuService.items;\n }\n }\n\n private _subscribeEvents(): void {\n this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._tieredMenuService.items = this._tieredMenuService.markAllItemsAsClosed(this._tieredMenuService.items);\n this._destroy();\n enableScroll();\n });\n }\n\n private _compareItems(item1: TieredMenuItemData, item2: TieredMenuItemData): boolean {\n return JSON.stringify(item1) === JSON.stringify(item2);\n }\n\n private _rebuildMenu(): void {\n this._destroy();\n }\n\n private _updateServiceItems(): void {\n this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);\n this._tieredMenuService.currentItems = this._tieredMenuService.items;\n\n this._tieredMenuService.currentItem =\n this._tieredMenuService.items.find((i) => i.label === this.focusedItem?.label) ??\n this._tieredMenuService.items[0];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TieredMenuDividerComponent } from './components/tiered-menu-divider/tiered-menu-divider.component';\nimport { TieredMenuItemComponent } from './components/tiered-menu-item/tiered-menu-item.component';\nimport { TieredMenuNestedComponent } from './components/tiered-menu-nested/tiered-menu-nested.component';\nimport { TieredMenuComponent } from './components/tiered-menu/tiered-menu.component';\nimport { TieredMenuGlobalService } from './services/tiered-menu.global.service';\nimport { TieredMenuDirective } from './tiered-menu.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TieredMenuDirective,\n TieredMenuComponent,\n TieredMenuNestedComponent,\n TieredMenuItemComponent,\n TieredMenuDividerComponent,\n ],\n exports: [TieredMenuDirective],\n providers: [TieredMenuGlobalService],\n})\nexport class TieredMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TieredMenuEventService","i2","i1.TieredMenuService","i2.TieredMenuEventService","i4.TieredMenuItemComponent","i5.TieredMenuDividerComponent","i2.TieredMenuService","i3.TieredMenuGlobalService"],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-tiered-menu.mjs","sources":["../../projects/angular-components/tiered-menu/src/lib/tiered-menu/services/tiered-menu.service.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/services/tiered-menu.global.service.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/services/tiered-menu.event.service.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu/tiered-menu.component.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/components/tiered-menu/tiered-menu.component.html","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/tiered-menu.directive.ts","../../projects/angular-components/tiered-menu/src/lib/tiered-menu/tiered-menu.module.ts","../../projects/angular-components/tiered-menu/src/seniorsistemas-angular-components-tiered-menu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { TieredMenuItemData } from '../models/tiered-menu-item-data';\nimport { TieredMenuItemInternalData } from '../models/tiered-menu-item-internal-data';\n\n@Injectable()\nexport class TieredMenuService {\n public currentItem?: TieredMenuItemInternalData | null = null;\n public currentItems: TieredMenuItemInternalData[] = [];\n public items: TieredMenuItemInternalData[] = [];\n\n public normalizeData(\n items: TieredMenuItemData[],\n parent?: TieredMenuItemInternalData,\n ): TieredMenuItemInternalData[] {\n return items.map((i: TieredMenuItemInternalData) => {\n const item = {\n visible: true,\n ...i,\n };\n if (item.submenu) {\n item.submenu = this.normalizeData(item.submenu, item);\n }\n item.id = this._generateId();\n item.parent = parent;\n item.isOpen = false;\n return item;\n });\n }\n\n public markAllItemsAsClosed(\n items: TieredMenuItemInternalData[],\n ): TieredMenuItemInternalData[] {\n return items.map((i: TieredMenuItemInternalData) => {\n const item = { ...i };\n if (item.submenu) {\n item.submenu = this.markAllItemsAsClosed(item.submenu);\n }\n item.isOpen = false;\n return item;\n });\n }\n\n public searchTheHierarchy(\n itemA: TieredMenuItemInternalData,\n itemB: TieredMenuItemInternalData,\n ) {\n let item: TieredMenuItemInternalData | null = itemB;\n while (item) {\n if (item === itemA) {\n return true;\n }\n item = item.parent ?? null;\n }\n return false;\n }\n\n public cloneItems(\n items: TieredMenuItemInternalData[],\n ): TieredMenuItemInternalData[] {\n return JSON.parse(JSON.stringify(items));\n }\n\n private _generateId(): string {\n return `id-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TieredMenuDirective } from '../tiered-menu.directive';\n\n@Injectable()\nexport class TieredMenuGlobalService {\n public lastInstance?: TieredMenuDirective | null;\n}\n","import { Injectable, EventEmitter } from '@angular/core';\n\nimport { TieredMenuItemInternalData } from '../models/tiered-menu-item-internal-data';\n\n@Injectable()\nexport class TieredMenuEventService {\n public incrementCurrentItemEvent = new EventEmitter();\n public decrementCurrentItemEvent = new EventEmitter();\n public closeAllMenusEvent = new EventEmitter();\n public selectItemEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n public openItemMenuEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n public closeItemMenuEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n public createMenuEvent =\n new EventEmitter<TieredMenuItemInternalData | null>();\n}\n","import { Component, HostListener, Input } from '@angular/core';\n\nimport { TieredMenuEventService } from '../../services/tiered-menu.event.service';\nimport { TieredMenuItemInternalData } from '../../models';\n\n@Component({\n selector: 's-tiered-menu-item',\n templateUrl: './tiered-menu-item.component.html',\n styleUrls: ['./tiered-menu-item.component.scss'],\n})\nexport class TieredMenuItemComponent {\n @Input({ required: true })\n public item!: TieredMenuItemInternalData;\n\n @Input()\n public focused = false;\n\n @Input()\n public highlight? = false;\n\n @Input()\n public triggerEvent: 'click' | 'hover' = 'click';\n\n @Input()\n public closeOnClick = false;\n\n private _showTimeout?: number;\n\n constructor(\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) {}\n\n @HostListener('click')\n @HostListener('touchend')\n public onClick(): void {\n if (this.item.disabled) return;\n\n if (this.item.submenu) {\n if (!this.item.isOpen) {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.item);\n } else if (this.closeOnClick) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);\n }\n } else {\n this._tieredMenuEventService.selectItemEvent.emit(this.item);\n }\n }\n\n @HostListener('mouseenter')\n public onMouseEnter(): void {\n if (this.item.disabled) return;\n\n if (this.triggerEvent === 'hover' && !this.item.isOpen) {\n this._showTimeout = window.setTimeout(() => {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.item);\n }, 300);\n }\n }\n\n @HostListener('mouseleave')\n public onMouseLeave(): void {\n window.clearTimeout(this._showTimeout);\n }\n}\n","<div\n [id]=\"item.id\"\n class=\"tiered-menu-item\"\n [attr.data-key]=\"item.dataKey\"\n [ngClass]=\"{\n 'tiered-menu-item--open': item.isOpen,\n 'tiered-menu-item--focused': focused,\n 'tiered-menu-item--disabled': item.disabled,\n }\"\n>\n <div class=\"tiered-menu-item-content\">\n <span\n class=\"icon\"\n [ngClass]=\"item.iconClass\"\n ></span>\n <span class=\"label\">{{ item.label }}</span>\n </div>\n @if (item.submenu) {\n <span\n class=\"submenu-icon fas\"\n [class.fa-chevron-left]=\"item.isOpen\"\n [class.fa-chevron-right]=\"!item.isOpen\"\n >\n </span>\n }\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 's-tiered-menu-divider',\n templateUrl: './tiered-menu-divider.component.html',\n styleUrls: ['./tiered-menu-divider.component.scss'],\n})\nexport class TieredMenuDividerComponent {}\n","<div class=\"divider\"></div>\n","import { Component, HostListener, OnDestroy, OnInit } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { TieredMenuItemInternalData } from '../../models/tiered-menu-item-internal-data';\nimport { TieredMenuEventService } from '../../services/tiered-menu.event.service';\nimport { TieredMenuService } from '../../services/tiered-menu.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { disableScroll, enableScroll } from '@seniorsistemas/angular-components/utils';\n\n@Component({\n templateUrl: './tiered-menu-nested.component.html',\n styleUrls: ['./tiered-menu-nested.component.scss'],\n})\nexport class TieredMenuNestedComponent implements OnInit, OnDestroy {\n public items!: TieredMenuItemInternalData[];\n public top = 0;\n public left = 0;\n // public maxHeight = 0;\n\n // Saves the last opened item to close it when a new one is opened\n private _lastOpenItem?: TieredMenuItemInternalData;\n private _unsubscribe$ = new Subject<void>();\n\n @HostListener('window:resize')\n public onResize(): void {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n // Closing menu when clicked outside.\n const target = event.target as Element;\n const clickedInside = target.closest('s-tiered-menu-item') || target.closest('s-tiered-menu-divider');\n if (!clickedInside) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeydownHandler(event: KeyboardEvent) {\n switch (event.key) {\n case 'Escape':\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n break;\n case ' ':\n case 'Enter':\n this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);\n break;\n case 'ArrowLeft':\n // When nested I need a reference to the current item's parent item, otherwise just the current item.\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem?.parent);\n break;\n case 'ArrowRight':\n this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);\n break;\n case 'ArrowUp':\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n break;\n case 'ArrowDown':\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n break;\n }\n }\n\n constructor(\n public readonly tieredMenuService: TieredMenuService,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) {}\n\n public ngOnInit(): void {\n this.tieredMenuService.currentItems = this.items;\n this._subscribeEvents();\n disableScroll();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n enableScroll();\n }\n\n private _incrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n }\n\n const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;\n\n if (curIndex < this.tieredMenuService.currentItems.length) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._incrementCurItem();\n }\n }\n\n private _decrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n }\n\n const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;\n\n if (curIndex >= 0) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._decrementCurItem();\n }\n }\n\n private _closeItem(item: TieredMenuItemInternalData): void {\n let itemAux = this._lastOpenItem;\n\n while (itemAux && itemAux != item) {\n itemAux.isOpen = false;\n itemAux = itemAux.parent;\n }\n\n item.isOpen = false;\n\n this.tieredMenuService.currentItem = itemAux ?? this.tieredMenuService.items[0];\n this.tieredMenuService.currentItems = itemAux?.parent?.submenu || this.tieredMenuService.items;\n }\n\n private _openItem(item: TieredMenuItemInternalData): void {\n if (item?.submenu) {\n item.isOpen = true;\n this.tieredMenuService.currentItems = item.submenu;\n\n // Only has focus if there has already been interaction.\n if (this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = item.submenu[0];\n }\n\n this._lastOpenItem = item;\n }\n }\n\n private _subscribeEvents(): void {\n this._tieredMenuEventService.incrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._incrementCurItem();\n });\n\n this._tieredMenuEventService.decrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._decrementCurItem();\n });\n\n this._tieredMenuEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item && item.command) {\n item.command();\n // Close all menus after the item was selected.\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n });\n\n this._tieredMenuEventService.openItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item) {\n if (!this.tieredMenuService.currentItems.includes(item)) {\n let itemAux = this._lastOpenItem;\n\n while (itemAux?.parent?.parent) {\n itemAux = itemAux.parent;\n }\n\n this._tieredMenuEventService.closeItemMenuEvent.emit(itemAux?.parent ?? itemAux);\n }\n\n this._lastOpenItem = item;\n this._openItem(item);\n }\n });\n\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item) {\n this._closeItem(item);\n }\n });\n }\n}\n","<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","import {\n ApplicationRef,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Injector,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { TieredMenuItemInternalData } from '../../models/tiered-menu-item-internal-data';\nimport { TieredMenuEventService } from '../../services/tiered-menu.event.service';\nimport { TieredMenuService } from '../../services/tiered-menu.service';\nimport { disableScroll, enableScroll } from '@seniorsistemas/angular-components/utils';\n\n@Component({\n selector: 's-tiered-menu',\n templateUrl: './tiered-menu.component.html',\n styleUrls: ['./tiered-menu.component.scss'],\n})\nexport class TieredMenuComponent implements OnInit, OnDestroy {\n public items: TieredMenuItemInternalData[] = [];\n public top = 0;\n public left = 0;\n public menuTriggerEvent: 'click' | 'hover' = 'hover';\n\n private _componentRef: ComponentRef<TieredMenuComponent> | null = null;\n private _menuDivElement?: HTMLElement | null = null;\n private _unsubscribe$ = new Subject<void>();\n\n @Output()\n public destroyRequest = new EventEmitter<boolean>();\n\n constructor(\n private readonly _appRef: ApplicationRef,\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _injector: Injector,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n public readonly tieredMenuService: TieredMenuService,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) {}\n\n @HostListener('window:resize')\n public onResize(): void {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n // Closing menu when clicked outside.\n const target = event.target as Element;\n const clickedInside = target.closest('s-tiered-menu-item') || target.closest('s-tiered-menu-divider');\n if (!clickedInside) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n public onKeydownHandler(event: KeyboardEvent) {\n if (this.tieredMenuService.currentItem) {\n switch (event.key) {\n case 'Escape':\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n break;\n case ' ':\n case 'Enter':\n if (!this.tieredMenuService.currentItem.disabled) {\n this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);\n }\n break;\n case 'ArrowLeft':\n if (this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem);\n this._changeDetectorRef.detectChanges();\n }\n break;\n case 'ArrowRight':\n if (\n !this.tieredMenuService.currentItem.disabled &&\n this.items.includes(this.tieredMenuService.currentItem)\n ) {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);\n event.stopImmediatePropagation();\n }\n break;\n }\n } else {\n switch (event.key) {\n case 'ArrowUp':\n if (this.items.includes(this.tieredMenuService.currentItem!)) {\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n case 'ArrowDown':\n if (this.items.includes(this.tieredMenuService.currentItem!)) {\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n }\n }\n }\n\n public ngOnInit(): void {\n this.tieredMenuService.currentItems = this.items;\n this._subscribeEvents();\n disableScroll();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _incrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n } else if (!this.items.includes(this.tieredMenuService.currentItem)) {\n // Checking if it is the current menu.\n return;\n }\n\n const currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;\n\n if (currentIndex < this.tieredMenuService.currentItems.length) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];\n } else {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._incrementCurItem();\n }\n }\n\n private _decrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n // Checking if it is the current menu.\n } else if (!this.items.includes(this.tieredMenuService.currentItem)) {\n return;\n }\n\n const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;\n\n if (curIndex >= 0) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem =\n this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._decrementCurItem();\n }\n }\n\n private _createMenu(items: TieredMenuItemInternalData[], position: any): void {\n if (!this._componentRef && items) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);\n this._componentRef = componentFactory.create(this._injector);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n // Setting the menu items.\n this._componentRef.instance.items = items;\n\n // Subscribe menu events.\n this._componentRef.instance.destroyRequest.subscribe((propagate: boolean) => {\n this._destroy(propagate);\n });\n\n this._menuDivElement = domElem.querySelector('.menu');\n this._setMenuPosition(position);\n }\n }\n\n private _destroy(propagate = true): void {\n if (this._componentRef !== null) {\n this._appRef.detachView(this._componentRef.hostView);\n this._componentRef.destroy();\n this._componentRef = null;\n this._menuDivElement = null;\n }\n\n if (propagate) {\n this.destroyRequest.emit();\n }\n }\n\n private _setMenuPosition(position: any): void {\n const ITEM_HEIGHT = 37;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n\n if (this._componentRef !== null) {\n const { top, right, bottom, left } = position;\n\n const itemsCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n },\n 0,\n );\n\n const dividersCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n },\n 0,\n );\n\n // I need to calculate the height of the component because the internal elements have not been created yet.\n const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + 8;\n const menuWidth = this._menuDivElement?.getBoundingClientRect().width ?? 0;\n\n const rightFreeSpace = window.innerWidth - right;\n const bottomFreeSpace = window.innerHeight - bottom;\n\n if (rightFreeSpace > menuWidth) {\n this._componentRef.instance.left = right;\n } else {\n this._componentRef.instance.left = left - menuWidth;\n }\n\n if (bottomFreeSpace <= menuHeight) {\n this._componentRef.instance.top = Math.max(window.innerHeight - menuHeight, window.scrollY);\n } else {\n this._componentRef.instance.top = window.scrollY + top;\n }\n }\n }\n\n private _subscribeEvents(): void {\n // Increment current item event.\n this._tieredMenuEventService.incrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._incrementCurItem();\n });\n // Decrement current item event.\n this._tieredMenuEventService.decrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._decrementCurItem();\n });\n // Select item event.\n this._tieredMenuEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item) {\n if (item.submenu) {\n this._tieredMenuEventService.openItemMenuEvent.emit(item);\n } else if (item.command) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n item.command();\n }\n }\n });\n // Close all menus event.\n this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._destroy();\n this.tieredMenuService.currentItem = null;\n this.tieredMenuService.currentItems = this.tieredMenuService.items;\n this.tieredMenuService.markAllItemsAsClosed(this.tieredMenuService.items);\n enableScroll();\n });\n\n // Open item menu event.\n this._tieredMenuEventService.openItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (this.tieredMenuService.currentItem) {\n if (this.tieredMenuService.currentItem.parent === item) {\n return;\n }\n\n if (this.tieredMenuService.currentItem?.parent) {\n if (!item) return;\n\n if (\n !this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)\n ) {\n let current: TieredMenuItemInternalData | undefined = this.tieredMenuService.currentItem;\n\n current.isOpen = false;\n\n while (current?.parent !== item.parent) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(current);\n this._changeDetectorRef.detectChanges();\n\n current = current?.parent;\n }\n\n if (current) {\n current.isOpen = false;\n }\n }\n }\n }\n\n if (item?.submenu && !item?.isOpen && this.items.includes(item)) {\n const itemEl = document.querySelector(`#${item.id}`);\n\n if (!itemEl) return;\n\n const { top, right, left, bottom } = itemEl.getBoundingClientRect();\n const position = { top, right, left, bottom };\n\n this._createMenu(item.submenu, position);\n this.tieredMenuService.currentItems = item.submenu;\n this.tieredMenuService.currentItem = item.submenu[0];\n item.isOpen = true;\n }\n });\n\n // Close item menu event.\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData | null) => {\n if (item === null) return;\n if (this.items.some((i) => i.id === item.id)) {\n if (item.parent) {\n item.parent.isOpen = false;\n } else {\n enableScroll();\n }\n this.tieredMenuService.currentItems = item?.parent?.parent?.submenu || this.tieredMenuService.items;\n this.tieredMenuService.currentItem = item.parent;\n this.destroyRequest.emit(false);\n }\n });\n }\n}\n","<div\n class=\"menu\"\n [ngStyle]=\"{\n left: left + 'px',\n top: top + 'px',\n }\"\n>\n <!-- <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"\n >\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div> -->\n @for(item of items; track $index) {\n @if(item.visible && !item.divider) {\n <s-tiered-menu-item\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\"/>\n }\n @if (item.divider) {\n <s-tiered-menu-divider/>\n }\n }\n</div>\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Type,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TieredMenuNestedComponent } from './components/tiered-menu-nested/tiered-menu-nested.component';\nimport { TieredMenuComponent } from './components/tiered-menu/tiered-menu.component';\nimport { TieredMenuItemData } from './models/tiered-menu-item-data';\nimport { TieredMenuEventService } from './services/tiered-menu.event.service';\nimport { TieredMenuGlobalService } from './services/tiered-menu.global.service';\nimport { TieredMenuService } from './services/tiered-menu.service';\nimport { TieredMenuItemInternalData } from './models';\nimport { enableScroll } from '@seniorsistemas/angular-components/utils';\n\n@Directive({\n selector: '[sTieredMenu]',\n providers: [TieredMenuEventService, TieredMenuService],\n})\nexport class TieredMenuDirective implements OnInit, OnChanges, OnDestroy {\n @Input()\n public items: TieredMenuItemData[] = [];\n\n @Input()\n public focusedItem: TieredMenuItemData | undefined = undefined;\n\n @Input()\n public triggerEvent: 'click' | 'hover' = 'click';\n\n private _componentRef: ComponentRef<any> | null = null;\n private _showTimeout?: number;\n private _isNested = false;\n private _isOpen = false;\n private _unsubscribe$ = new Subject<void>();\n private _lastActiveElement?: Element;\n private _previousItems: TieredMenuItemData[] = [];\n private _itemsAreValid?: boolean;\n private _resizeObserver = new ResizeObserver(() => {\n this._setMenuPosition();\n this._componentRef?.hostView.detectChanges();\n });\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _appRef: ApplicationRef,\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _injector: Injector,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n private readonly _tieredMenuService: TieredMenuService,\n private readonly _tieredMenuGlobalService: TieredMenuGlobalService,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this._itemsAreValid = !!this.items?.length;\n\n if (!this._itemsAreValid) return;\n\n this._subscribeEvents();\n }\n\n public ngOnChanges(): void {\n if (!this._itemsAreValid) return;\n\n if (!this._previousItems) {\n this._previousItems = this._tieredMenuService.cloneItems(this.items);\n }\n\n let hasChanges = false;\n\n if (this.items.length !== this._previousItems.length) {\n hasChanges = true;\n } else {\n for (let i = 0; i < this.items.length; i++) {\n if (!this._compareItems(this.items[i], this._previousItems[i])) {\n hasChanges = true;\n break;\n }\n }\n }\n\n if (hasChanges) {\n this._updateServiceItems();\n this._changeDetectorRef.detectChanges();\n this._rebuildMenu();\n }\n\n this._previousItems = this._tieredMenuService.cloneItems(this.items);\n }\n\n public ngOnDestroy(): void {\n if (!this._itemsAreValid) return;\n\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n\n this._destroy();\n }\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent): void {\n if (!this._itemsAreValid) return;\n\n if (this.triggerEvent === 'click' && !this._isOpen) {\n this._lastActiveElement = document.activeElement as Element;\n this._createMenu();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n private _createMenu(): void {\n this._updateServiceItems();\n\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n this._tieredMenuGlobalService.lastInstance?._destroy();\n this._tieredMenuGlobalService.lastInstance = this;\n\n (this._lastActiveElement as HTMLElement)?.blur();\n this._isOpen = true;\n this._isNested = document.body.clientWidth < 600;\n\n this._isNested ? this._createNestedMenu() : this._createTieredMenu();\n }\n }\n\n private _createTieredMenu(): void {\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n this._componentRef = this._createComponent(TieredMenuComponent);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = this._componentRef.location.nativeElement as HTMLElement;\n document.body.appendChild(domElem);\n this._setMenuComponentProperties();\n this._componentRef.instance.destroyRequest.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._destroy();\n });\n\n this._setMenuPosition();\n }\n }\n\n private _createNestedMenu(): void {\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);\n this._componentRef = componentFactory.create(this._injector);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this._setMenuComponentProperties();\n this._setMenuPosition();\n }\n }\n\n private _createComponent<T>(componentClass: Type<T>) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentClass);\n const _componentRef = componentFactory.create(this._injector);\n this._resizeObserver.observe(_componentRef.location.nativeElement.querySelector('.menu'));\n _componentRef.onDestroy(() => {\n this._resizeObserver.disconnect();\n });\n return _componentRef;\n }\n\n private _destroy(): void {\n if (this._componentRef) {\n this._isOpen = false;\n window.clearTimeout(this._showTimeout);\n this._appRef.detachView(this._componentRef.hostView);\n this._componentRef.destroy();\n this._componentRef = null;\n\n this._tieredMenuService.currentItems = this._tieredMenuService.items;\n this._tieredMenuService.currentItem = this._tieredMenuService.items[0];\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n private _setMenuPosition(): void {\n if (!this._componentRef) {\n return;\n }\n this._changeDetectorRef.detectChanges();\n const ITEM_HEIGHT = 37;\n const ITEM_WIDTH =\n (this._componentRef.location.nativeElement as HTMLElement)?.querySelector('.menu')?.clientWidth || 176;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n const MARGIN = 4;\n this._componentRef.instance.top = 8;\n let { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();\n\n const itemsCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n },\n 0,\n );\n\n const dividersCount = this._componentRef.instance.items?.reduce(\n (count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n },\n 0,\n );\n\n const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;\n const rightFreeSpace = window.innerWidth - right;\n const bottomFreeSpace = window.innerHeight - bottom;\n\n this._componentRef.instance.top = bottom;\n this._componentRef.instance.left = left;\n\n if (bottomFreeSpace <= menuHeight) {\n this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);\n } else {\n this._componentRef.instance.top = window.scrollY + bottom + MARGIN;\n }\n\n if (rightFreeSpace > 176) {\n this._componentRef.instance.left = window.scrollX + left;\n } else {\n this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;\n }\n\n if (this._isNested) {\n this._componentRef.instance.left = MARGIN;\n }\n }\n\n private _setMenuComponentProperties(): void {\n if (this._componentRef != null) {\n this._componentRef.instance.items = this._tieredMenuService.items;\n }\n }\n\n private _subscribeEvents(): void {\n this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._tieredMenuService.items = this._tieredMenuService.markAllItemsAsClosed(this._tieredMenuService.items);\n this._destroy();\n enableScroll();\n });\n }\n\n private _compareItems(item1: TieredMenuItemData, item2: TieredMenuItemData): boolean {\n return JSON.stringify(item1) === JSON.stringify(item2);\n }\n\n private _rebuildMenu(): void {\n this._destroy();\n }\n\n private _updateServiceItems(): void {\n this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);\n this._tieredMenuService.currentItems = this._tieredMenuService.items;\n\n this._tieredMenuService.currentItem =\n this._tieredMenuService.items.find((i) => i.label === this.focusedItem?.label) ??\n this._tieredMenuService.items[0];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TieredMenuDividerComponent } from './components/tiered-menu-divider/tiered-menu-divider.component';\nimport { TieredMenuItemComponent } from './components/tiered-menu-item/tiered-menu-item.component';\nimport { TieredMenuNestedComponent } from './components/tiered-menu-nested/tiered-menu-nested.component';\nimport { TieredMenuComponent } from './components/tiered-menu/tiered-menu.component';\nimport { TieredMenuGlobalService } from './services/tiered-menu.global.service';\nimport { TieredMenuDirective } from './tiered-menu.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TieredMenuDirective,\n TieredMenuComponent,\n TieredMenuNestedComponent,\n TieredMenuItemComponent,\n TieredMenuDividerComponent,\n ],\n exports: [TieredMenuDirective],\n providers: [TieredMenuGlobalService],\n})\nexport class TieredMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TieredMenuEventService","i2","i1.TieredMenuService","i2.TieredMenuEventService","i4.TieredMenuItemComponent","i5.TieredMenuDividerComponent","i2.TieredMenuService","i3.TieredMenuGlobalService"],"mappings":"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"}
@@ -35,10 +35,10 @@ class TileComponent {
35
35
  this.clicked.emit();
36
36
  }
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileComponent, selector: "s-tile", inputs: { id: "id", label: "label", description: "description", iconClass: "iconClass", imageSource: "imageSource", imageAlt: "imageAlt", disabled: "disabled", tabIndex: "tabIndex", thumbnail: "thumbnail" }, outputs: { clicked: "clicked" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"tile\"\n [attr.tabindex]=\"disabled ? undefined : tabIndex\"\n [attr.aria-label]=\"label\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n [ngClass]=\"{ 'tile--disabled': disabled }\"\n (click)=\"!disabled && clicked.emit($event)\"\n>\n\n @if(imageSource || iconClass) {\n <div class=\"thumbnail\">\n @if(imageSource) {\n @if(!thumbnail) {\n <div\n class=\"image-icon\">\n <div\n class=\"icon\"\n [style.background-image]=\"'url(' + imageSource + ')'\">\n </div>\n </div>\n\n }\n @if(thumbnail) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n size=\"small\"\n [isTile]=\"true\"/>\n }\n }\n @if(!imageSource && iconClass) {\n <span\n [id]=\"id + '-icon'\"\n [class]=\"'icon ' + iconClass\"\n aria-hidden=\"true\">\n </span>\n }\n </div>\n }\n\n @if (!iconClass && !imageSource) {\n <div class=\"first-letter-container\">\n <div class=\"first-letter\">\n <span>{{ initialLetter }}</span>\n </div>\n </div>\n }\n\n <div class=\"info\">\n <span\n [id]=\"id + '-title'\"\n class=\"title\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </span>\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [sTooltip]=\"description\"\n >\n {{ description }}\n </span>\n </div>\n</div>\n", styles: [".tile{align-items:center;background-color:#fff;border:1px solid #c1c1cc;cursor:pointer;display:flex;min-height:80px;overflow:hidden;padding:15px;position:relative;transition:background-color .2s ease-out,border-color .2s ease-out}.tile:hover:not(.tile--disabled),.tile:focus:not(.tile--disabled){background-color:#eeebf2;outline:none}.tile .thumbnail{display:flex;align-items:center;margin-right:15px}.tile .thumbnail .icon{color:#428bca;font-size:2.5rem}.tile .info{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.tile .info .title,.tile .info .description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile .info .title{color:#428bca;font-size:1.25rem}.tile .info .description{color:#6e7280;font-size:.875rem}.tile .first-letter-container{float:left;margin-right:10px;position:relative;text-align:center}.tile .first-letter-container .first-letter{background-color:#428bca;border-radius:50%;color:#fff;font-size:1.375rem;height:40px;line-height:1.8em;margin:0 auto 5px;width:40px}.tile--disabled{opacity:.5;filter:Alpha(Opacity=50);background-image:none}.tile--disabled,.tile--disabled *{cursor:text!important}.tile .image-icon{padding:8px;background-color:#eeebf2;border-radius:4px}.tile .image-icon .icon{height:32px;width:32px;background-size:cover;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "s-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }] });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TileComponent, selector: "s-tile", inputs: { id: "id", label: "label", description: "description", iconClass: "iconClass", imageSource: "imageSource", imageAlt: "imageAlt", disabled: "disabled", tabIndex: "tabIndex", thumbnail: "thumbnail" }, outputs: { clicked: "clicked" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"tile\"\n [attr.tabindex]=\"disabled ? undefined : tabIndex\"\n [attr.aria-label]=\"label\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n [ngClass]=\"{ 'tile--disabled': disabled }\"\n (click)=\"!disabled && clicked.emit($event)\"\n>\n\n @if(imageSource || iconClass) {\n <div class=\"thumbnail\">\n @if(imageSource) {\n @if(!thumbnail) {\n <div\n class=\"image-icon\">\n <div\n class=\"icon\"\n [style.background-image]=\"'url(' + imageSource + ')'\">\n </div>\n </div>\n\n }\n @if(thumbnail) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n size=\"small\"\n [isTile]=\"true\"/>\n }\n }\n @if(!imageSource && iconClass) {\n <span\n [id]=\"id + '-icon'\"\n [class]=\"'icon ' + iconClass\"\n aria-hidden=\"true\">\n </span>\n }\n </div>\n }\n\n @if (!iconClass && !imageSource) {\n <div class=\"first-letter-container\">\n <div class=\"first-letter\">\n <span>{{ initialLetter }}</span>\n </div>\n </div>\n }\n\n <div class=\"info\">\n <span\n [id]=\"id + '-title'\"\n class=\"title\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </span>\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [sTooltip]=\"description\"\n >\n {{ description }}\n </span>\n </div>\n</div>\n", styles: [".tile{align-items:center;background-color:#fff;border:1px solid #c1c1cc;cursor:pointer;display:flex;min-height:80px;overflow:hidden;padding:15px;position:relative;transition:background-color .2s ease-out,border-color .2s ease-out}.tile:hover:not(.tile--disabled),.tile:focus:not(.tile--disabled){background-color:#eeebf2;outline:none}.tile .thumbnail{display:flex;align-items:center;margin-right:15px}.tile .thumbnail .icon{color:#428bca;font-size:2.5rem}.tile .info{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.tile .info .title,.tile .info .description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile .info .title{color:#428bca;font-size:1.25rem}.tile .info .description{color:#6e7280;font-size:.875rem}.tile .first-letter-container{float:left;margin-right:10px;position:relative;text-align:center}.tile .first-letter-container .first-letter{background-color:#428bca;border-radius:50%;color:#fff;font-size:1.375rem;height:40px;line-height:1.8em;margin:0 auto 5px;width:40px}.tile--disabled{opacity:.5;filter:Alpha(Opacity=50);background-image:none}.tile--disabled,.tile--disabled *{cursor:text!important}.tile .image-icon{padding:8px;background-color:#eeebf2;border-radius:4px}.tile .image-icon .icon{height:32px;width:32px;background-size:cover;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "s-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }] });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 's-tile', template: "<div\n [id]=\"id\"\n class=\"tile\"\n [attr.tabindex]=\"disabled ? undefined : tabIndex\"\n [attr.aria-label]=\"label\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n [ngClass]=\"{ 'tile--disabled': disabled }\"\n (click)=\"!disabled && clicked.emit($event)\"\n>\n\n @if(imageSource || iconClass) {\n <div class=\"thumbnail\">\n @if(imageSource) {\n @if(!thumbnail) {\n <div\n class=\"image-icon\">\n <div\n class=\"icon\"\n [style.background-image]=\"'url(' + imageSource + ')'\">\n </div>\n </div>\n\n }\n @if(thumbnail) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n size=\"small\"\n [isTile]=\"true\"/>\n }\n }\n @if(!imageSource && iconClass) {\n <span\n [id]=\"id + '-icon'\"\n [class]=\"'icon ' + iconClass\"\n aria-hidden=\"true\">\n </span>\n }\n </div>\n }\n\n @if (!iconClass && !imageSource) {\n <div class=\"first-letter-container\">\n <div class=\"first-letter\">\n <span>{{ initialLetter }}</span>\n </div>\n </div>\n }\n\n <div class=\"info\">\n <span\n [id]=\"id + '-title'\"\n class=\"title\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </span>\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [sTooltip]=\"description\"\n >\n {{ description }}\n </span>\n </div>\n</div>\n", styles: [".tile{align-items:center;background-color:#fff;border:1px solid #c1c1cc;cursor:pointer;display:flex;min-height:80px;overflow:hidden;padding:15px;position:relative;transition:background-color .2s ease-out,border-color .2s ease-out}.tile:hover:not(.tile--disabled),.tile:focus:not(.tile--disabled){background-color:#eeebf2;outline:none}.tile .thumbnail{display:flex;align-items:center;margin-right:15px}.tile .thumbnail .icon{color:#428bca;font-size:2.5rem}.tile .info{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.tile .info .title,.tile .info .description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile .info .title{color:#428bca;font-size:1.25rem}.tile .info .description{color:#6e7280;font-size:.875rem}.tile .first-letter-container{float:left;margin-right:10px;position:relative;text-align:center}.tile .first-letter-container .first-letter{background-color:#428bca;border-radius:50%;color:#fff;font-size:1.375rem;height:40px;line-height:1.8em;margin:0 auto 5px;width:40px}.tile--disabled{opacity:.5;filter:Alpha(Opacity=50);background-image:none}.tile--disabled,.tile--disabled *{cursor:text!important}.tile .image-icon{padding:8px;background-color:#eeebf2;border-radius:4px}.tile .image-icon .icon{height:32px;width:32px;background-size:cover;background-repeat:no-repeat}\n"] }]
44
44
  }], propDecorators: { id: [{
@@ -68,11 +68,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
68
68
  }] } });
69
69
 
70
70
  class TileModule {
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
72
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TileModule, declarations: [TileComponent], imports: [CommonModule, TooltipModule, ThumbnailModule], exports: [TileComponent, ThumbnailModule] });
73
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileModule, imports: [CommonModule, TooltipModule, ThumbnailModule, ThumbnailModule] });
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
72
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TileModule, declarations: [TileComponent], imports: [CommonModule, TooltipModule, ThumbnailModule], exports: [TileComponent, ThumbnailModule] });
73
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileModule, imports: [CommonModule, TooltipModule, ThumbnailModule, ThumbnailModule] });
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileModule, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileModule, decorators: [{
76
76
  type: NgModule,
77
77
  args: [{
78
78
  imports: [CommonModule, TooltipModule, ThumbnailModule],
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-tile.mjs","sources":["../../projects/angular-components/tile/src/lib/tile/tile.component.ts","../../projects/angular-components/tile/src/lib/tile/tile.component.html","../../projects/angular-components/tile/src/lib/tile/tile.module.ts","../../projects/angular-components/tile/src/seniorsistemas-angular-components-tile.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, HostListener } from '@angular/core';\n\n@Component({\n selector: 's-tile',\n templateUrl: './tile.component.html',\n styleUrls: ['./tile.component.scss'],\n})\nexport class TileComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-tile-${TileComponent.nextId++}`;\n\n @Input({ required: true })\n public label!: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabIndex = 0;\n\n @Input()\n public thumbnail = true;\n\n\n @Output()\n public clicked = new EventEmitter();\n\n public get initialLetter(): string {\n let initialLetter = '';\n if (this.label) {\n const words = this.label.split(' ', 2);\n initialLetter = words[0].charAt(0).toUpperCase();\n if (words.length > 1) {\n initialLetter += words[1].charAt(0).toUpperCase();\n }\n }\n return initialLetter;\n }\n\n @HostListener('keydown', ['$event'])\n public onKeyDown(event: any) {\n if (!this.disabled && [13, 32].includes(event.keyCode)) {\n this.clicked.emit();\n }\n }\n}\n","<div\n [id]=\"id\"\n class=\"tile\"\n [attr.tabindex]=\"disabled ? undefined : tabIndex\"\n [attr.aria-label]=\"label\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n [ngClass]=\"{ 'tile--disabled': disabled }\"\n (click)=\"!disabled && clicked.emit($event)\"\n>\n\n @if(imageSource || iconClass) {\n <div class=\"thumbnail\">\n @if(imageSource) {\n @if(!thumbnail) {\n <div\n class=\"image-icon\">\n <div\n class=\"icon\"\n [style.background-image]=\"'url(' + imageSource + ')'\">\n </div>\n </div>\n\n }\n @if(thumbnail) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n size=\"small\"\n [isTile]=\"true\"/>\n }\n }\n @if(!imageSource && iconClass) {\n <span\n [id]=\"id + '-icon'\"\n [class]=\"'icon ' + iconClass\"\n aria-hidden=\"true\">\n </span>\n }\n </div>\n }\n\n @if (!iconClass && !imageSource) {\n <div class=\"first-letter-container\">\n <div class=\"first-letter\">\n <span>{{ initialLetter }}</span>\n </div>\n </div>\n }\n\n <div class=\"info\">\n <span\n [id]=\"id + '-title'\"\n class=\"title\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </span>\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [sTooltip]=\"description\"\n >\n {{ description }}\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TileComponent } from './tile.component';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { ThumbnailModule } from '@seniorsistemas/angular-components/thumbnail';\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [TileComponent],\n exports: [TileComponent, ThumbnailModule],\n})\nexport class TileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-tile.mjs","sources":["../../projects/angular-components/tile/src/lib/tile/tile.component.ts","../../projects/angular-components/tile/src/lib/tile/tile.component.html","../../projects/angular-components/tile/src/lib/tile/tile.module.ts","../../projects/angular-components/tile/src/seniorsistemas-angular-components-tile.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, HostListener } from '@angular/core';\n\n@Component({\n selector: 's-tile',\n templateUrl: './tile.component.html',\n styleUrls: ['./tile.component.scss'],\n})\nexport class TileComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-tile-${TileComponent.nextId++}`;\n\n @Input({ required: true })\n public label!: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabIndex = 0;\n\n @Input()\n public thumbnail = true;\n\n\n @Output()\n public clicked = new EventEmitter();\n\n public get initialLetter(): string {\n let initialLetter = '';\n if (this.label) {\n const words = this.label.split(' ', 2);\n initialLetter = words[0].charAt(0).toUpperCase();\n if (words.length > 1) {\n initialLetter += words[1].charAt(0).toUpperCase();\n }\n }\n return initialLetter;\n }\n\n @HostListener('keydown', ['$event'])\n public onKeyDown(event: any) {\n if (!this.disabled && [13, 32].includes(event.keyCode)) {\n this.clicked.emit();\n }\n }\n}\n","<div\n [id]=\"id\"\n class=\"tile\"\n [attr.tabindex]=\"disabled ? undefined : tabIndex\"\n [attr.aria-label]=\"label\"\n [attr.aria-disabled]=\"disabled\"\n role=\"button\"\n [ngClass]=\"{ 'tile--disabled': disabled }\"\n (click)=\"!disabled && clicked.emit($event)\"\n>\n\n @if(imageSource || iconClass) {\n <div class=\"thumbnail\">\n @if(imageSource) {\n @if(!thumbnail) {\n <div\n class=\"image-icon\">\n <div\n class=\"icon\"\n [style.background-image]=\"'url(' + imageSource + ')'\">\n </div>\n </div>\n\n }\n @if(thumbnail) {\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n size=\"small\"\n [isTile]=\"true\"/>\n }\n }\n @if(!imageSource && iconClass) {\n <span\n [id]=\"id + '-icon'\"\n [class]=\"'icon ' + iconClass\"\n aria-hidden=\"true\">\n </span>\n }\n </div>\n }\n\n @if (!iconClass && !imageSource) {\n <div class=\"first-letter-container\">\n <div class=\"first-letter\">\n <span>{{ initialLetter }}</span>\n </div>\n </div>\n }\n\n <div class=\"info\">\n <span\n [id]=\"id + '-title'\"\n class=\"title\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </span>\n <span\n [id]=\"id + '-description'\"\n class=\"description\"\n [sTooltip]=\"description\"\n >\n {{ description }}\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TileComponent } from './tile.component';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { ThumbnailModule } from '@seniorsistemas/angular-components/thumbnail';\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [TileComponent],\n exports: [TileComponent, ThumbnailModule],\n})\nexport class TileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}