@seniorsistemas/angular-components 17.31.2 → 18.0.0-develop-ae6477c0
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.
- package/README.md +25 -0
- package/accordion/index.d.ts +5 -0
- package/accordion/lib/accordion/accordion.component.d.ts +21 -0
- package/accordion/lib/accordion/accordion.module.d.ts +12 -0
- package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +30 -0
- package/accordion/lib/accordion/models/accordion-button-settings.d.ts +5 -0
- package/accordion/public-api.d.ts +3 -0
- package/alert/index.d.ts +5 -0
- package/alert/lib/alert/alert.component.d.ts +16 -0
- package/alert/lib/alert/alert.module.d.ts +8 -0
- package/alert/public-api.d.ts +2 -0
- package/autocomplete/index.d.ts +5 -0
- package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +251 -0
- package/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +9 -0
- package/autocomplete/public-api.d.ts +1 -0
- package/badge/index.d.ts +5 -0
- package/badge/lib/badge/badge.component.d.ts +21 -0
- package/badge/lib/badge/badge.module.d.ts +10 -0
- package/badge/lib/badge/types/badge-colors.d.ts +1 -0
- package/badge/lib/badge/types/badge-types.d.ts +1 -0
- package/badge/public-api.d.ts +4 -0
- package/bignumber-input/index.d.ts +5 -0
- package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +42 -0
- package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +8 -0
- package/bignumber-input/public-api.d.ts +2 -0
- package/breadcrumb/index.d.ts +5 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +25 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +10 -0
- package/breadcrumb/public-api.d.ts +2 -0
- package/button/index.d.ts +5 -0
- package/button/lib/button/button.component.d.ts +35 -0
- package/button/lib/button/button.module.d.ts +7 -0
- package/button/lib/button/models/button-animations.d.ts +1 -0
- package/button/lib/button/models/button-badge-config.d.ts +6 -0
- package/button/lib/button/models/button-priority.d.ts +1 -0
- package/button/lib/button/models/button-size.d.ts +1 -0
- package/button/lib/button/models/index.d.ts +4 -0
- package/button/public-api.d.ts +3 -0
- package/calendar-mask/index.d.ts +5 -0
- package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +69 -0
- package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +8 -0
- package/calendar-mask/public-api.d.ts +2 -0
- package/card/index.d.ts +5 -0
- package/card/lib/card/card.component.d.ts +26 -0
- package/card/lib/card/card.module.d.ts +9 -0
- package/card/public-api.d.ts +2 -0
- package/chat/index.d.ts +5 -0
- package/chat/lib/chat/chat.component.d.ts +11 -0
- package/chat/lib/chat/chat.module.d.ts +11 -0
- package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +11 -0
- package/chat/lib/chat/types/chat-message.d.ts +8 -0
- package/chat/public-api.d.ts +3 -0
- package/checkbox/index.d.ts +5 -0
- package/checkbox/lib/checkbox/checkbox.component.d.ts +19 -0
- package/checkbox/public-api.d.ts +1 -0
- package/checkbox-list/index.d.ts +5 -0
- package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +21 -0
- package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +9 -0
- package/checkbox-list/lib/checkbox-list/models/checkbox-list-data.d.ts +5 -0
- package/checkbox-list/lib/checkbox-list/models/checkbox-list-state.d.ts +7 -0
- package/checkbox-list/public-api.d.ts +4 -0
- package/chips/index.d.ts +5 -0
- package/chips/lib/chips/chip-item/chip-item.component.d.ts +25 -0
- package/chips/lib/chips/chips/chips.component.d.ts +66 -0
- package/chips/lib/chips/chips.module.d.ts +12 -0
- package/chips/lib/chips/models/chip-models.d.ts +7 -0
- package/chips/public-api.d.ts +3 -0
- package/code-editor/index.d.ts +5 -0
- package/code-editor/lib/code-editor/code-editor.component.d.ts +31 -0
- package/code-editor/lib/code-editor/code-editor.module.d.ts +9 -0
- package/code-editor/lib/code-editor/core/facades/core-facade.d.ts +34 -0
- package/code-editor/lib/code-editor/core/use-cases/core-linters.d.ts +6 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +27 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.d.ts +15 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.d.ts +6 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.d.ts +12 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.d.ts +8 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.d.ts +1 -0
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/editor-theme.d.ts +3 -0
- package/code-editor/lib/code-editor/infra/utils/custom-http-client/custom-http-client.d.ts +34 -0
- package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations-service.d.ts +25 -0
- package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +16 -0
- package/code-editor/public-api.d.ts +4 -0
- package/collapse-link/index.d.ts +5 -0
- package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +20 -0
- package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +8 -0
- package/collapse-link/public-api.d.ts +2 -0
- package/common/index.d.ts +5 -0
- package/common/lib/angular-components.module.d.ts +13 -0
- package/common/lib/custom-http-client/custom-http-client.d.ts +34 -0
- package/common/lib/custom-http-client/json-response-formatters/format-blob-response.d.ts +6 -0
- package/common/lib/custom-http-client/json-response-formatters/format-json-response.d.ts +6 -0
- package/common/lib/debouce.d.ts +7 -0
- package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
- package/common/lib/svg-factory/components/senior-icon/senior-icon.component.d.ts +5 -0
- package/common/lib/svg-factory/components/svg-factory-icons.d.ts +1 -0
- package/common/lib/svg-factory/index.d.ts +2 -0
- package/common/lib/svg-factory/svg-factory.directive.d.ts +15 -0
- package/common/lib/svg-factory/svg-factory.module.d.ts +10 -0
- package/common/public-api.d.ts +5 -0
- package/confirm-dialog/README.md +226 -0
- package/confirm-dialog/index.d.ts +5 -0
- package/confirm-dialog/lib/confirm-dialog.model.d.ts +8 -0
- package/confirm-dialog/lib/confirm-dialog.service.d.ts +8 -0
- package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +7 -0
- package/confirm-dialog/public-api.d.ts +2 -0
- package/control-errors/index.d.ts +5 -0
- package/control-errors/lib/control-errors/control-errors.component.d.ts +26 -0
- package/control-errors/lib/control-errors/control-errors.module.d.ts +9 -0
- package/control-errors/public-api.d.ts +2 -0
- package/country-phone-picker/index.d.ts +5 -0
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +67 -0
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +11 -0
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +13 -0
- package/country-phone-picker/lib/country-phone-picker/resources/countries.d.ts +2 -0
- package/country-phone-picker/public-api.d.ts +6 -0
- package/currency/index.d.ts +5 -0
- package/currency/lib/currency.service.d.ts +12 -0
- package/currency/lib/models/currencies.d.ts +634 -0
- package/currency/lib/types/currency.d.ts +2 -0
- package/currency/public-api.d.ts +3 -0
- package/custom-fields/index.d.ts +5 -0
- package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +86 -0
- package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +13 -0
- package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +20 -0
- package/custom-fields/public-api.d.ts +3 -0
- package/dialog/index.d.ts +5 -0
- package/dialog/lib/src/dialog/dialog.component.d.ts +29 -0
- package/dialog/lib/src/dialog/models/active-dialog.d.ts +11 -0
- package/dialog/lib/src/dialog/models/dialog-models.d.ts +18 -0
- package/dialog/lib/src/dialog/services/dialog.service.d.ts +24 -0
- package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +10 -0
- package/dialog/public-api.d.ts +4 -0
- package/dynamic-form/index.d.ts +5 -0
- package/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.d.ts +8 -0
- package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +15 -0
- package/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.d.ts +164 -0
- package/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.d.ts +4 -0
- package/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.d.ts +13 -0
- package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +8 -0
- package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
- package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +14 -0
- package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +14 -0
- package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +8 -0
- package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/configurations/structure/section.d.ts +20 -0
- package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +14 -0
- package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +19 -0
- package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +57 -0
- package/dynamic-form/lib/dynamic-form/dynamic-form.directive.d.ts +34 -0
- package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +83 -0
- package/dynamic-form/lib/dynamic-form/form-field/addon-config.d.ts +7 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +32 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +30 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +38 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +43 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +29 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +11 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +34 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +45 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +9 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +24 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +15 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +9 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +14 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +96 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +97 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.d.ts +47 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.d.ts +45 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +35 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +23 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +41 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +32 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +17 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +24 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +26 -0
- package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +41 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +17 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +32 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +27 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +11 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +35 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +22 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +14 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +660 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.d.ts +19 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +9 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.d.ts +31 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.d.ts +22 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +9 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.d.ts +17 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +25 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +10 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.d.ts +25 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +14 -0
- package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +9 -0
- package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +192 -0
- package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +12 -0
- package/dynamic-form/public-api.d.ts +43 -0
- package/editable-overlay/index.d.ts +5 -0
- package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +11 -0
- package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +8 -0
- package/editable-overlay/public-api.d.ts +2 -0
- package/empty-state/index.d.ts +5 -0
- package/empty-state/lib/empty-state/empty-state.component.d.ts +21 -0
- package/empty-state/lib/empty-state/empty-state.module.d.ts +10 -0
- package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +13 -0
- package/empty-state/public-api.d.ts +3 -0
- package/esm2022/accordion/lib/accordion/accordion.component.mjs +90 -0
- package/esm2022/accordion/lib/accordion/accordion.module.mjs +36 -0
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +124 -0
- package/esm2022/accordion/lib/accordion/models/accordion-button-settings.mjs +2 -0
- package/esm2022/accordion/public-api.mjs +4 -0
- package/esm2022/accordion/seniorsistemas-angular-components-accordion.mjs +5 -0
- package/esm2022/alert/lib/alert/alert.component.mjs +44 -0
- package/esm2022/alert/lib/alert/alert.module.mjs +18 -0
- package/esm2022/alert/public-api.mjs +3 -0
- package/esm2022/alert/seniorsistemas-angular-components-alert.mjs +5 -0
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +558 -0
- package/esm2022/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +17 -0
- package/esm2022/autocomplete/public-api.mjs +2 -0
- package/esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs +5 -0
- package/esm2022/badge/lib/badge/badge.component.mjs +46 -0
- package/esm2022/badge/lib/badge/badge.module.mjs +20 -0
- package/esm2022/badge/lib/badge/types/badge-colors.mjs +4 -0
- package/esm2022/badge/lib/badge/types/badge-types.mjs +2 -0
- package/esm2022/badge/public-api.mjs +3 -0
- package/esm2022/badge/seniorsistemas-angular-components-badge.mjs +5 -0
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +156 -0
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +21 -0
- package/esm2022/bignumber-input/public-api.mjs +3 -0
- package/esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs +5 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +105 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +20 -0
- package/esm2022/breadcrumb/public-api.mjs +3 -0
- package/esm2022/breadcrumb/seniorsistemas-angular-components-breadcrumb.mjs +5 -0
- package/esm2022/button/lib/button/button.component.mjs +100 -0
- package/esm2022/button/lib/button/button.module.mjs +18 -0
- package/esm2022/button/lib/button/models/button-animations.mjs +2 -0
- package/esm2022/button/lib/button/models/button-badge-config.mjs +2 -0
- package/esm2022/button/lib/button/models/button-priority.mjs +2 -0
- package/esm2022/button/lib/button/models/button-size.mjs +2 -0
- package/esm2022/button/lib/button/models/index.mjs +2 -0
- package/esm2022/button/public-api.mjs +4 -0
- package/esm2022/button/seniorsistemas-angular-components-button.mjs +5 -0
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +611 -0
- package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +18 -0
- package/esm2022/calendar-mask/public-api.mjs +3 -0
- package/esm2022/calendar-mask/seniorsistemas-angular-components-calendar-mask.mjs +5 -0
- package/esm2022/card/lib/card/card.component.mjs +85 -0
- package/esm2022/card/lib/card/card.module.mjs +19 -0
- package/esm2022/card/public-api.mjs +3 -0
- package/esm2022/card/seniorsistemas-angular-components-card.mjs +5 -0
- package/esm2022/chat/lib/chat/chat.component.mjs +29 -0
- package/esm2022/chat/lib/chat/chat.module.mjs +22 -0
- package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +29 -0
- package/esm2022/chat/lib/chat/types/chat-message.mjs +2 -0
- package/esm2022/chat/public-api.mjs +3 -0
- package/esm2022/chat/seniorsistemas-angular-components-chat.mjs +5 -0
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +67 -0
- package/esm2022/checkbox/public-api.mjs +2 -0
- package/esm2022/checkbox/seniorsistemas-angular-components-checkbox.mjs +5 -0
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +129 -0
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +19 -0
- package/esm2022/checkbox-list/lib/checkbox-list/models/checkbox-list-data.mjs +2 -0
- package/esm2022/checkbox-list/lib/checkbox-list/models/checkbox-list-state.mjs +2 -0
- package/esm2022/checkbox-list/public-api.mjs +3 -0
- package/esm2022/checkbox-list/seniorsistemas-angular-components-checkbox-list.mjs +5 -0
- package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +67 -0
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +241 -0
- package/esm2022/chips/lib/chips/chips.module.mjs +22 -0
- package/esm2022/chips/lib/chips/models/chip-models.mjs +2 -0
- package/esm2022/chips/public-api.mjs +3 -0
- package/esm2022/chips/seniorsistemas-angular-components-chips.mjs +5 -0
- package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +116 -0
- package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +32 -0
- package/esm2022/code-editor/lib/code-editor/core/facades/core-facade.mjs +91 -0
- package/esm2022/code-editor/lib/code-editor/core/facades/linter-facade.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/core/models/enums/marker-severity.mjs +7 -0
- package/esm2022/code-editor/lib/code-editor/core/models/index.mjs +5 -0
- package/esm2022/code-editor/lib/code-editor/core/models/interfaces/marker.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/core/use-cases/core-linters.mjs +11 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.mjs +113 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/editor-languages.mjs +17 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/json/json.language.mjs +67 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.mjs +29 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.mjs +29 -0
- 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
- 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
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.mjs +4 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.mjs +35 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.mjs +334 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.mjs +25 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.mjs +18 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.mjs +37 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.mjs +10 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.mjs +8 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.mjs +12 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.mjs +36 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.mjs +9 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.mjs +22 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.mjs +11 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.mjs +9 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.mjs +14 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.mjs +18 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.mjs +3 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/index.mjs +4 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/editor-theme.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/editor-themes.mjs +15 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.mjs +61 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.mjs +39 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.mjs +25 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.mjs +18 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.mjs +16 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.mjs +13 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.mjs +22 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.mjs +15 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/index.mjs +3 -0
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.mjs +5 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/custom-http-client.mjs +82 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.mjs +10 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.mjs +9 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/index.mjs +3 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations-service.mjs +37 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +32 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/index.mjs +3 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/models/index.mjs +3 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/models/interfaces/translations.mjs +2 -0
- package/esm2022/code-editor/lib/code-editor/infra/utils/index.mjs +3 -0
- package/esm2022/code-editor/lib/code-editor/models/enums/languages.mjs +6 -0
- package/esm2022/code-editor/lib/code-editor/models/enums/themes.mjs +5 -0
- package/esm2022/code-editor/lib/code-editor/models/index.mjs +6 -0
- package/esm2022/code-editor/lib/code-editor/models/interfaces/editor-options.mjs +2 -0
- package/esm2022/code-editor/public-api.mjs +6 -0
- package/esm2022/code-editor/seniorsistemas-angular-components-code-editor.mjs +5 -0
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +81 -0
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +18 -0
- package/esm2022/collapse-link/public-api.mjs +3 -0
- package/esm2022/collapse-link/seniorsistemas-angular-components-collapse-link.mjs +5 -0
- package/esm2022/common/lib/angular-components.module.mjs +24 -0
- package/esm2022/common/lib/custom-http-client/custom-http-client.mjs +86 -0
- package/esm2022/common/lib/custom-http-client/json-response-formatters/format-blob-response.mjs +10 -0
- package/esm2022/common/lib/custom-http-client/json-response-formatters/format-json-response.mjs +9 -0
- package/esm2022/common/lib/debouce.mjs +35 -0
- package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +11 -0
- package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +11 -0
- package/esm2022/common/lib/svg-factory/components/svg-factory-icons.mjs +2 -0
- package/esm2022/common/lib/svg-factory/index.mjs +3 -0
- package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +44 -0
- package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +26 -0
- package/esm2022/common/public-api.mjs +5 -0
- package/esm2022/common/seniorsistemas-angular-components-common.mjs +5 -0
- package/esm2022/confirm-dialog/lib/confirm-dialog.model.mjs +2 -0
- package/esm2022/confirm-dialog/lib/confirm-dialog.service.mjs +34 -0
- package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +17 -0
- package/esm2022/confirm-dialog/public-api.mjs +2 -0
- package/esm2022/confirm-dialog/seniorsistemas-angular-components-confirm-dialog.mjs +5 -0
- package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +52 -0
- package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +19 -0
- package/esm2022/control-errors/public-api.mjs +3 -0
- package/esm2022/control-errors/seniorsistemas-angular-components-control-errors.mjs +5 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +319 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +41 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +42 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/models/country-phone-data.mjs +2 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/models/ordination.mjs +7 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/models/phone-selection-data.mjs +2 -0
- package/esm2022/country-phone-picker/lib/country-phone-picker/resources/countries.mjs +228 -0
- package/esm2022/country-phone-picker/public-api.mjs +5 -0
- package/esm2022/country-phone-picker/seniorsistemas-angular-components-country-phone-picker.mjs +5 -0
- package/esm2022/currency/lib/currency.service.mjs +25 -0
- package/esm2022/currency/lib/models/currencies.mjs +161 -0
- package/esm2022/currency/lib/types/currency.mjs +2 -0
- package/esm2022/currency/public-api.mjs +3 -0
- package/esm2022/currency/seniorsistemas-angular-components-currency.mjs +5 -0
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +685 -0
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +45 -0
- package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +35 -0
- package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +17 -0
- package/esm2022/custom-fields/public-api.mjs +4 -0
- package/esm2022/custom-fields/seniorsistemas-angular-components-custom-fields.mjs +5 -0
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +82 -0
- package/esm2022/dialog/lib/src/dialog/models/active-dialog.mjs +18 -0
- package/esm2022/dialog/lib/src/dialog/models/dialog-models.mjs +2 -0
- package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +96 -0
- package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +29 -0
- package/esm2022/dialog/public-api.mjs +4 -0
- package/esm2022/dialog/seniorsistemas-angular-components-dialog.mjs +5 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +20 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +41 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +640 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +2 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +2 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +27 -0
- package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +33 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +71 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +26 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +14 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +10 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +5 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +10 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +31 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +9 -0
- package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +6 -0
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +41 -0
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +107 -0
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +189 -0
- package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +293 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +2 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +13 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +34 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +24 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +37 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +31 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +30 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +15 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +47 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +56 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +9 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +25 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +15 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +14 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +16 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +15 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +64 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +66 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +38 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +33 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +35 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +27 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +43 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +30 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +17 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +30 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +32 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +38 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +37 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +22 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +124 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +27 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +23 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +31 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +118 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +21 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +59 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +29 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +100 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +23 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +56 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +23 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +121 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +75 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +22 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +52 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +24 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +103 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +25 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +88 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +29 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +22 -0
- package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +243 -0
- package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +150 -0
- package/esm2022/dynamic-form/public-api.mjs +44 -0
- package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +5 -0
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +44 -0
- package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +18 -0
- package/esm2022/editable-overlay/public-api.mjs +3 -0
- package/esm2022/editable-overlay/seniorsistemas-angular-components-editable-overlay.mjs +5 -0
- package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +51 -0
- package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +22 -0
- package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +34 -0
- package/esm2022/empty-state/public-api.mjs +4 -0
- package/esm2022/empty-state/seniorsistemas-angular-components-empty-state.mjs +5 -0
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +78 -0
- package/esm2022/fieldset/lib/fieldset/fieldset.models.mjs +2 -0
- package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +19 -0
- package/esm2022/fieldset/public-api.mjs +3 -0
- package/esm2022/fieldset/seniorsistemas-angular-components-fieldset.mjs +5 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +293 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.module.mjs +42 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.service.mjs +18 -0
- package/esm2022/file-upload/lib/file-upload/models/file-dto.mjs +2 -0
- package/esm2022/file-upload/lib/file-upload/models/file-upload-permissions.mjs +2 -0
- package/esm2022/file-upload/lib/file-upload/models/list-blob-metadata.mjs +2 -0
- package/esm2022/file-upload/lib/file-upload/models/uploadError.mjs +2 -0
- package/esm2022/file-upload/lib/file-upload/models/validate-errors.mjs +2 -0
- package/esm2022/file-upload/public-api.mjs +3 -0
- package/esm2022/file-upload/seniorsistemas-angular-components-file-upload.mjs +5 -0
- package/esm2022/gantt/lib/gantt/components/gantt/arrow.mjs +87 -0
- package/esm2022/gantt/lib/gantt/components/gantt/bar.mjs +294 -0
- package/esm2022/gantt/lib/gantt/components/gantt/gantt-options.mjs +20 -0
- package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +812 -0
- package/esm2022/gantt/lib/gantt/components/gantt/popup.mjs +110 -0
- package/esm2022/gantt/lib/gantt/components/gantt/utils/date-utils.mjs +116 -0
- package/esm2022/gantt/lib/gantt/components/gantt/utils/svg-utils.mjs +111 -0
- package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +32 -0
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +146 -0
- package/esm2022/gantt/lib/gantt/gantt.module.mjs +24 -0
- package/esm2022/gantt/lib/gantt/models/index.mjs +2 -0
- package/esm2022/gantt/lib/gantt/models/options.mjs +2 -0
- package/esm2022/gantt/lib/gantt/models/task.mjs +2 -0
- package/esm2022/gantt/lib/gantt/models/view-mode.mjs +12 -0
- package/esm2022/gantt/public-api.mjs +4 -0
- package/esm2022/gantt/seniorsistemas-angular-components-gantt.mjs +5 -0
- package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +73 -0
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +140 -0
- package/esm2022/global-search/lib/global-search/global-search.module.mjs +78 -0
- package/esm2022/global-search/lib/global-search/types/global-search-size.enum.mjs +2 -0
- package/esm2022/global-search/public-api.mjs +5 -0
- package/esm2022/global-search/seniorsistemas-angular-components-global-search.mjs +5 -0
- package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +60 -0
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +56 -0
- package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +20 -0
- package/esm2022/grid-menu/lib/grid-menu/types/grid-menu-item.mjs +2 -0
- package/esm2022/grid-menu/public-api.mjs +4 -0
- package/esm2022/grid-menu/seniorsistemas-angular-components-grid-menu.mjs +5 -0
- package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +84 -0
- package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +314 -0
- package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +25 -0
- package/esm2022/help-popover/lib/help-popover/models/help-popover.models.mjs +2 -0
- package/esm2022/help-popover/public-api.mjs +4 -0
- package/esm2022/help-popover/seniorsistemas-angular-components-help-popover.mjs +5 -0
- package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.mjs +13 -0
- package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.mjs +94 -0
- package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.mjs +59 -0
- package/esm2022/ia-insight/lib/ia-insight/ia-insight.component.mjs +68 -0
- package/esm2022/ia-insight/lib/ia-insight/ia-insight.module.mjs +47 -0
- package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-item.mjs +2 -0
- package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-template-types.mjs +2 -0
- package/esm2022/ia-insight/lib/ia-insight/models/index.mjs +2 -0
- package/esm2022/ia-insight/public-api.mjs +4 -0
- package/esm2022/ia-insight/seniorsistemas-angular-components-ia-insight.mjs +5 -0
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +179 -0
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +23 -0
- package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +73 -0
- package/esm2022/image-cropper/public-api.mjs +4 -0
- package/esm2022/image-cropper/seniorsistemas-angular-components-image-cropper.mjs +5 -0
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +28 -0
- package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +18 -0
- package/esm2022/infinite-scroll/public-api.mjs +3 -0
- package/esm2022/infinite-scroll/seniorsistemas-angular-components-infinite-scroll.mjs +5 -0
- package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +17 -0
- package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +68 -0
- package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +20 -0
- package/esm2022/info-sign/public-api.mjs +3 -0
- package/esm2022/info-sign/seniorsistemas-angular-components-info-sign.mjs +5 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +53 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +32 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +85 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +32 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +33 -0
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +32 -0
- package/esm2022/inline-edit/lib/inline-edit/components/index.mjs +8 -0
- package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +105 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/index.mjs +8 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-calendar-field.mjs +45 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-field.mjs +13 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.mjs +60 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-number-field.mjs +38 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-field.mjs +15 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.mjs +7 -0
- package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-field.mjs +7 -0
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +66 -0
- package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +102 -0
- package/esm2022/inline-edit/lib/inline-edit/types/addon-config.mjs +2 -0
- package/esm2022/inline-edit/public-api.mjs +4 -0
- package/esm2022/inline-edit/seniorsistemas-angular-components-inline-edit.mjs +5 -0
- package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +63 -0
- package/esm2022/interactive-content/public-api.mjs +2 -0
- package/esm2022/interactive-content/seniorsistemas-angular-components-interactive-content.mjs +5 -0
- package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +100 -0
- package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +62 -0
- package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +17 -0
- package/esm2022/kanban/lib/kanban/kanban-event.service.mjs +26 -0
- package/esm2022/kanban/lib/kanban/kanban.component.mjs +219 -0
- package/esm2022/kanban/lib/kanban/kanban.module.mjs +56 -0
- package/esm2022/kanban/lib/kanban/types/index.mjs +2 -0
- package/esm2022/kanban/lib/kanban/types/kanban-data.mjs +2 -0
- package/esm2022/kanban/lib/kanban/types/kanban-template-types.mjs +2 -0
- package/esm2022/kanban/public-api.mjs +3 -0
- package/esm2022/kanban/seniorsistemas-angular-components-kanban.mjs +5 -0
- package/esm2022/label-value/lib/label-value/label-value.component.mjs +35 -0
- package/esm2022/label-value/lib/label-value/label-value.module.mjs +22 -0
- package/esm2022/label-value/lib/label-value/types/label-value-configuration.mjs +2 -0
- package/esm2022/label-value/public-api.mjs +3 -0
- package/esm2022/label-value/seniorsistemas-angular-components-label-value.mjs +5 -0
- package/esm2022/lib/locale/fallback.mjs +334 -0
- package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +11 -0
- package/esm2022/loading-state/lib/loading-state/components/loading-state-indicators.mjs +6 -0
- package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +12 -0
- package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +74 -0
- package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +62 -0
- package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +30 -0
- package/esm2022/loading-state/public-api.mjs +5 -0
- package/esm2022/loading-state/seniorsistemas-angular-components-loading-state.mjs +5 -0
- package/esm2022/locale/lib/locale/locale.module.mjs +85 -0
- package/esm2022/locale/lib/locale/locale.service.mjs +87 -0
- package/esm2022/locale/lib/locale/options/calendar.mjs +24 -0
- package/esm2022/locale/lib/locale/options/index.mjs +27 -0
- package/esm2022/locale/lib/locale/options/number.mjs +9 -0
- package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +18 -0
- package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +38 -0
- package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +21 -0
- package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +53 -0
- package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +15 -0
- package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +23 -0
- package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +31 -0
- package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +15 -0
- package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +23 -0
- package/esm2022/locale/public-api.mjs +13 -0
- package/esm2022/locale/seniorsistemas-angular-components-locale.mjs +5 -0
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +63 -0
- package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +18 -0
- package/esm2022/localized-number-input/public-api.mjs +3 -0
- package/esm2022/localized-number-input/seniorsistemas-angular-components-localized-number-input.mjs +5 -0
- package/esm2022/mask/lib/mask/mask-formatter.module.mjs +16 -0
- package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +65 -0
- package/esm2022/mask/public-api.mjs +3 -0
- package/esm2022/mask/seniorsistemas-angular-components-mask.mjs +5 -0
- package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +37 -0
- package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +51 -0
- package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +27 -0
- package/esm2022/mouse-events/public-api.mjs +4 -0
- package/esm2022/mouse-events/seniorsistemas-angular-components-mouse-events.mjs +5 -0
- package/esm2022/navigation-button/lib/navigation-button/models/index.mjs +2 -0
- package/esm2022/navigation-button/lib/navigation-button/models/navigation-button-item.mjs +2 -0
- package/esm2022/navigation-button/lib/navigation-button/models/navigation-button-step-changed-info.mjs +2 -0
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +134 -0
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +20 -0
- package/esm2022/navigation-button/public-api.mjs +4 -0
- package/esm2022/navigation-button/seniorsistemas-angular-components-navigation-button.mjs +5 -0
- package/esm2022/number-input/lib/number-input/number-input.directive.mjs +164 -0
- package/esm2022/number-input/lib/number-input/number-input.module.mjs +21 -0
- package/esm2022/number-input/public-api.mjs +3 -0
- package/esm2022/number-input/seniorsistemas-angular-components-number-input.mjs +5 -0
- package/esm2022/numeric/lib/numeric.module.mjs +18 -0
- package/esm2022/numeric/lib/numeric.pipe.mjs +29 -0
- package/esm2022/numeric/lib/numeric.service.mjs +92 -0
- package/esm2022/numeric/public-api.mjs +4 -0
- package/esm2022/numeric/seniorsistemas-angular-components-numeric.mjs +5 -0
- package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +51 -0
- package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +87 -0
- package/esm2022/object-card/lib/object-card/object-card.component.mjs +146 -0
- package/esm2022/object-card/lib/object-card/object-card.module.mjs +24 -0
- package/esm2022/object-card/public-api.mjs +5 -0
- package/esm2022/object-card/seniorsistemas-angular-components-object-card.mjs +5 -0
- package/esm2022/paginator/lib/models/paginator.models.mjs +2 -0
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +138 -0
- package/esm2022/paginator/public-api.mjs +2 -0
- package/esm2022/paginator/seniorsistemas-angular-components-paginator.mjs +5 -0
- package/esm2022/panel/lib/panel/panel.component.mjs +91 -0
- package/esm2022/panel/lib/panel/panel.module.mjs +20 -0
- package/esm2022/panel/public-api.mjs +3 -0
- package/esm2022/panel/seniorsistemas-angular-components-panel.mjs +5 -0
- package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +92 -0
- package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +210 -0
- package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +19 -0
- package/esm2022/password-strength/lib/password-strength/types/password-positions.mjs +2 -0
- package/esm2022/password-strength/lib/password-strength/types/password-strengths.mjs +2 -0
- package/esm2022/password-strength/public-api.mjs +4 -0
- package/esm2022/password-strength/seniorsistemas-angular-components-password-strength.mjs +5 -0
- package/esm2022/picklist/lib/picklist/picklist.component.mjs +299 -0
- package/esm2022/picklist/lib/picklist/picklist.module.mjs +36 -0
- package/esm2022/picklist/lib/picklist/types/index.mjs +2 -0
- package/esm2022/picklist/lib/picklist/types/picklist-item.mjs +2 -0
- package/esm2022/picklist/lib/picklist/types/picklist-template-types.mjs +2 -0
- package/esm2022/picklist/public-api.mjs +5 -0
- package/esm2022/picklist/seniorsistemas-angular-components-picklist.mjs +5 -0
- package/esm2022/product-header/lib/product-header/product-header.component.mjs +44 -0
- package/esm2022/product-header/lib/product-header/product-header.module.mjs +20 -0
- package/esm2022/product-header/public-api.mjs +3 -0
- package/esm2022/product-header/seniorsistemas-angular-components-product-header.mjs +5 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/confirmation-texts.mjs +2 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/cropper-labels-config.mjs +2 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/file-validation-errors.mjs +2 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/index.mjs +2 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/profile-picture-picker-data.mjs +2 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +277 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +25 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/validators/index.mjs +2 -0
- package/esm2022/profile-picture-picker/lib/profile-picture-picker/validators/validators.mjs +28 -0
- package/esm2022/profile-picture-picker/public-api.mjs +4 -0
- package/esm2022/profile-picture-picker/seniorsistemas-angular-components-profile-picture-picker.mjs +5 -0
- package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +60 -0
- package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +19 -0
- package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +57 -0
- package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +21 -0
- package/esm2022/progressbar/lib/progressbar/types/index.mjs +2 -0
- package/esm2022/progressbar/lib/progressbar/types/progressbar-colors.mjs +2 -0
- package/esm2022/progressbar/lib/progressbar/types/progressbar-mode.mjs +2 -0
- package/esm2022/progressbar/public-api.mjs +4 -0
- package/esm2022/progressbar/seniorsistemas-angular-components-progressbar.mjs +5 -0
- package/esm2022/public-api.mjs +2 -0
- package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +82 -0
- package/esm2022/radio-button/lib/radio-button-group/models/radio-button-group.models.mjs +2 -0
- package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +62 -0
- package/esm2022/radio-button/lib/services/radio-button-registry.service.mjs +38 -0
- package/esm2022/radio-button/public-api.mjs +3 -0
- package/esm2022/radio-button/seniorsistemas-angular-components-radio-button.mjs +5 -0
- package/esm2022/rating-scale/lib/rating-scale/models/index.mjs +2 -0
- package/esm2022/rating-scale/lib/rating-scale/models/rating-scale-node.mjs +2 -0
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +54 -0
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +24 -0
- package/esm2022/rating-scale/public-api.mjs +3 -0
- package/esm2022/rating-scale/seniorsistemas-angular-components-rating-scale.mjs +5 -0
- package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +27 -0
- package/esm2022/select/lib/select/select.component.mjs +610 -0
- package/esm2022/select/public-api.mjs +2 -0
- package/esm2022/select/seniorsistemas-angular-components-select.mjs +5 -0
- package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +28 -0
- package/esm2022/select-button/lib/select-button/models/select-button-item.mjs +2 -0
- package/esm2022/select-button/lib/select-button/select-button.component.mjs +122 -0
- package/esm2022/select-button/lib/select-button/select-button.module.mjs +23 -0
- package/esm2022/select-button/public-api.mjs +3 -0
- package/esm2022/select-button/seniorsistemas-angular-components-select-button.mjs +5 -0
- package/esm2022/seniorsistemas-angular-components.mjs +5 -0
- package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +19 -0
- package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +19 -0
- package/esm2022/shared/lib/shared/helpers.mjs +31 -0
- package/esm2022/shared/lib/shared/models/border-button-options.mjs +2 -0
- package/esm2022/shared/lib/shared/models/severities.mjs +9 -0
- package/esm2022/shared/public-api.mjs +5 -0
- package/esm2022/shared/seniorsistemas-angular-components-shared.mjs +5 -0
- package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +114 -0
- package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +20 -0
- package/esm2022/sidebar/public-api.mjs +3 -0
- package/esm2022/sidebar/seniorsistemas-angular-components-sidebar.mjs +5 -0
- package/esm2022/slide-panel/lib/slide-panel/slide-panel.component.mjs +137 -0
- package/esm2022/slide-panel/lib/slide-panel/slide-panel.module.mjs +20 -0
- package/esm2022/slide-panel/lib/slide-panel/slide-panel.service.mjs +26 -0
- package/esm2022/slide-panel/public-api.mjs +4 -0
- package/esm2022/slide-panel/seniorsistemas-angular-components-slide-panel.mjs +5 -0
- package/esm2022/slider/lib/slider/slider.component.mjs +601 -0
- package/esm2022/slider/lib/slider/slider.module.mjs +19 -0
- package/esm2022/slider/public-api.mjs +3 -0
- package/esm2022/slider/seniorsistemas-angular-components-slider.mjs +5 -0
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +217 -0
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +24 -0
- package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +146 -0
- package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +81 -0
- package/esm2022/speech-recognition/public-api.mjs +5 -0
- package/esm2022/speech-recognition/seniorsistemas-angular-components-speech-recognition.mjs +5 -0
- package/esm2022/split-button/lib/split-button/models/index.mjs +2 -0
- package/esm2022/split-button/lib/split-button/models/split-button-option.mjs +2 -0
- package/esm2022/split-button/lib/split-button/models/split-button-type.mjs +2 -0
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +64 -0
- package/esm2022/split-button/lib/split-button/split-button.module.mjs +18 -0
- package/esm2022/split-button/public-api.mjs +4 -0
- package/esm2022/split-button/seniorsistemas-angular-components-split-button.mjs +5 -0
- package/esm2022/star-rating/public-api.mjs +2 -0
- package/esm2022/star-rating/seniorsistemas-angular-components-star-rating.mjs +5 -0
- package/esm2022/star-rating/star-rating/star-rating-models.mjs +2 -0
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +63 -0
- package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +119 -0
- package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +19 -0
- package/esm2022/stats-card/public-api.mjs +3 -0
- package/esm2022/stats-card/seniorsistemas-angular-components-stats-card.mjs +5 -0
- package/esm2022/steps/lib/steps/steps.component.mjs +122 -0
- package/esm2022/steps/lib/steps/steps.module.mjs +19 -0
- package/esm2022/steps/public-api.mjs +3 -0
- package/esm2022/steps/seniorsistemas-angular-components-steps.mjs +5 -0
- package/esm2022/structure/lib/structure/footer.component.mjs +14 -0
- package/esm2022/structure/lib/structure/header.component.mjs +14 -0
- package/esm2022/structure/lib/structure/structure.module.mjs +19 -0
- package/esm2022/structure/public-api.mjs +5 -0
- package/esm2022/structure/seniorsistemas-angular-components-structure.mjs +5 -0
- package/esm2022/switch/lib/switch/switch.component.mjs +93 -0
- package/esm2022/switch/lib/switch/switch.module.mjs +18 -0
- package/esm2022/switch/public-api.mjs +3 -0
- package/esm2022/switch/seniorsistemas-angular-components-switch.mjs +5 -0
- package/esm2022/table/lib/locale-utils.mjs +15 -0
- package/esm2022/table/lib/table/export-utils.mjs +112 -0
- package/esm2022/table/lib/table/navigation/navigation.directive.mjs +130 -0
- package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +38 -0
- package/esm2022/table/lib/table/table-column/index.mjs +3 -0
- package/esm2022/table/lib/table/table-column/models/badge-column.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/badge-configs.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/column-colors.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/column-values.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/column.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/enum-badge-colors.mjs +10 -0
- package/esm2022/table/lib/table/table-column/models/enum-column-field-type.mjs +13 -0
- package/esm2022/table/lib/table/table-column/models/index.mjs +11 -0
- package/esm2022/table/lib/table/table-column/models/locale-options.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/models/number-locale-options.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-column/table-columns.component.mjs +299 -0
- package/esm2022/table/lib/table/table-paging/index.mjs +3 -0
- package/esm2022/table/lib/table/table-paging/models/custom-action.interface.mjs +2 -0
- package/esm2022/table/lib/table/table-paging/models/index.mjs +2 -0
- package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +325 -0
- package/esm2022/table/lib/table/table.module.mjs +27 -0
- package/esm2022/table/public-api.mjs +6 -0
- package/esm2022/table/seniorsistemas-angular-components-table.mjs +5 -0
- package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +151 -0
- package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +20 -0
- package/esm2022/table-header/public-api.mjs +3 -0
- package/esm2022/table-header/seniorsistemas-angular-components-table-header.mjs +5 -0
- package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +36 -0
- package/esm2022/tabs/lib/tabs/tabs.component.mjs +51 -0
- package/esm2022/tabs/public-api.mjs +3 -0
- package/esm2022/tabs/seniorsistemas-angular-components-tabs.mjs +5 -0
- package/esm2022/template/lib/template/template.directive.mjs +22 -0
- package/esm2022/template/lib/template/template.module.mjs +17 -0
- package/esm2022/template/public-api.mjs +3 -0
- package/esm2022/template/seniorsistemas-angular-components-template.mjs +5 -0
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +116 -0
- package/esm2022/text-area/lib/text-area.module.mjs +35 -0
- package/esm2022/text-area/public-api.mjs +3 -0
- package/esm2022/text-area/seniorsistemas-angular-components-text-area.mjs +5 -0
- package/esm2022/text-area-ia/lib/services/IAssist/iassist.service.mjs +77 -0
- package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-input-data.mjs +3 -0
- package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-response.mjs +3 -0
- package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +150 -0
- package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.module.mjs +50 -0
- package/esm2022/text-area-ia/public-api.mjs +3 -0
- package/esm2022/text-area-ia/seniorsistemas-angular-components-text-area-ia.mjs +5 -0
- package/esm2022/thumbnail/lib/thumbnail/thumbnail-size.mjs +2 -0
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +77 -0
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +20 -0
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.service.mjs +62 -0
- package/esm2022/thumbnail/public-api.mjs +4 -0
- package/esm2022/thumbnail/seniorsistemas-angular-components-thumbnail.mjs +5 -0
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +17 -0
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +42 -0
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +64 -0
- package/esm2022/thumbnails/lib/thumbnails/models/thumbnails-item.mjs +2 -0
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +48 -0
- package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +24 -0
- package/esm2022/thumbnails/public-api.mjs +3 -0
- package/esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs +5 -0
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +303 -0
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +73 -0
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +179 -0
- package/esm2022/tiered-menu/lib/tiered-menu/models/index.mjs +2 -0
- package/esm2022/tiered-menu/lib/tiered-menu/models/tiered-menu-item-data.mjs +2 -0
- package/esm2022/tiered-menu/lib/tiered-menu/models/tiered-menu-item-internal-data.mjs +2 -0
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.mjs +17 -0
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.mjs +11 -0
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.service.mjs +54 -0
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +234 -0
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +34 -0
- package/esm2022/tiered-menu/public-api.mjs +6 -0
- package/esm2022/tiered-menu/seniorsistemas-angular-components-tiered-menu.mjs +5 -0
- package/esm2022/tile/lib/tile/tile.component.mjs +65 -0
- package/esm2022/tile/lib/tile/tile.module.mjs +20 -0
- package/esm2022/tile/public-api.mjs +3 -0
- package/esm2022/tile/seniorsistemas-angular-components-tile.mjs +5 -0
- package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +24 -0
- package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +20 -0
- package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +26 -0
- package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +19 -0
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +21 -0
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +33 -0
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +11 -0
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +29 -0
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +60 -0
- package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +33 -0
- package/esm2022/timeline/lib/timeline/models/timeline-item-severity.mjs +7 -0
- package/esm2022/timeline/lib/timeline/models/timeline-item-size.mjs +6 -0
- package/esm2022/timeline/lib/timeline/models/timeline-item.mjs +44 -0
- package/esm2022/timeline/lib/timeline/timeline.component.mjs +66 -0
- package/esm2022/timeline/lib/timeline/timeline.module.mjs +32 -0
- package/esm2022/timeline/public-api.mjs +6 -0
- package/esm2022/timeline/seniorsistemas-angular-components-timeline.mjs +5 -0
- package/esm2022/toast/lib/toast/toast.component.mjs +46 -0
- package/esm2022/toast/lib/toast/toast.module.mjs +17 -0
- package/esm2022/toast/lib/toast/toast.service.mjs +68 -0
- package/esm2022/toast/lib/toast/types/toast.mjs +2 -0
- package/esm2022/toast/public-api.mjs +4 -0
- package/esm2022/toast/seniorsistemas-angular-components-toast.mjs +5 -0
- package/esm2022/token-list/lib/token-list/models/index.mjs +2 -0
- package/esm2022/token-list/lib/token-list/models/token.mjs +2 -0
- package/esm2022/token-list/lib/token-list/token-list.component.mjs +42 -0
- package/esm2022/token-list/lib/token-list/token-list.module.mjs +18 -0
- package/esm2022/token-list/public-api.mjs +4 -0
- package/esm2022/token-list/seniorsistemas-angular-components-token-list.mjs +5 -0
- package/esm2022/tooltip/lib/tooltip/models/mobile-behavior.mjs +2 -0
- package/esm2022/tooltip/lib/tooltip/models/tooltip-event.mjs +2 -0
- package/esm2022/tooltip/lib/tooltip/models/tooltip-position.mjs +2 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.component.mjs +18 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +339 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +19 -0
- package/esm2022/tooltip/public-api.mjs +3 -0
- package/esm2022/tooltip/seniorsistemas-angular-components-tooltip.mjs +5 -0
- package/esm2022/tree/lib/tree/Models/tree.models.mjs +2 -0
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +157 -0
- package/esm2022/tree/lib/tree/tree.component.mjs +238 -0
- package/esm2022/tree/lib/tree/tree.module.mjs +22 -0
- package/esm2022/tree/public-api.mjs +3 -0
- package/esm2022/tree/seniorsistemas-angular-components-tree.mjs +5 -0
- package/esm2022/utils/lib/utils/breakpoints.mjs +11 -0
- package/esm2022/utils/lib/utils/utils.mjs +104 -0
- package/esm2022/utils/public-api.mjs +3 -0
- package/esm2022/utils/seniorsistemas-angular-components-utils.mjs +5 -0
- package/esm2022/workspace-switch/lib/workspace-switch/models/index.mjs +2 -0
- package/esm2022/workspace-switch/lib/workspace-switch/models/workspace.mjs +2 -0
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +137 -0
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +18 -0
- package/esm2022/workspace-switch/public-api.mjs +3 -0
- package/esm2022/workspace-switch/seniorsistemas-angular-components-workspace-switch.mjs +5 -0
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +250 -0
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-alert.mjs +66 -0
- package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +579 -0
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-badge.mjs +70 -0
- package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +180 -0
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +128 -0
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-button.mjs +122 -0
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +633 -0
- package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-card.mjs +107 -0
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-chat.mjs +78 -0
- package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +151 -0
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +74 -0
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +327 -0
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +1535 -0
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +103 -0
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-common.mjs +246 -0
- package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +54 -0
- package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +75 -0
- package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +631 -0
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-currency.mjs +193 -0
- package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +778 -0
- package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +221 -0
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +3851 -0
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +66 -0
- package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +107 -0
- package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +101 -0
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +354 -0
- package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +1748 -0
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +288 -0
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +136 -0
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +422 -0
- package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs +267 -0
- package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +273 -0
- package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +50 -0
- package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +105 -0
- package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +679 -0
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +70 -0
- package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs +456 -0
- package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs +61 -0
- package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +185 -0
- package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-locale.mjs +409 -0
- package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +85 -0
- package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-mask.mjs +85 -0
- package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +116 -0
- package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +158 -0
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs +189 -0
- package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs +139 -0
- package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +296 -0
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +145 -0
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-panel.mjs +113 -0
- package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +321 -0
- package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs +339 -0
- package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-product-header.mjs +68 -0
- package/fesm2022/seniorsistemas-angular-components-product-header.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +334 -0
- package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +152 -0
- package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +182 -0
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +81 -0
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +172 -0
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-select.mjs +639 -0
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +82 -0
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +137 -0
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs +182 -0
- package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +624 -0
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +463 -0
- package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +86 -0
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +70 -0
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +142 -0
- package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-steps.mjs +145 -0
- package/fesm2022/seniorsistemas-angular-components-steps.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-structure.mjs +48 -0
- package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +115 -0
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs +175 -0
- package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-table.mjs +957 -0
- package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs +91 -0
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-template.mjs +43 -0
- package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +275 -0
- package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +154 -0
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +159 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +182 -0
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +877 -0
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +89 -0
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs +382 -0
- package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +132 -0
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs +64 -0
- package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +376 -0
- package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +417 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-utils.mjs +121 -0
- package/fesm2022/seniorsistemas-angular-components-utils.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +159 -0
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components.mjs +340 -0
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -0
- package/fieldset/index.d.ts +5 -0
- package/fieldset/lib/fieldset/fieldset.component.d.ts +19 -0
- package/fieldset/lib/fieldset/fieldset.models.d.ts +4 -0
- package/fieldset/lib/fieldset/fieldset.module.d.ts +9 -0
- package/fieldset/public-api.d.ts +3 -0
- package/file-upload/index.d.ts +5 -0
- package/file-upload/lib/file-upload/file-upload.component.d.ts +80 -0
- package/file-upload/lib/file-upload/file-upload.module.d.ts +13 -0
- package/file-upload/lib/file-upload/file-upload.service.d.ts +9 -0
- package/file-upload/lib/file-upload/models/file-dto.d.ts +13 -0
- package/file-upload/lib/file-upload/models/file-upload-permissions.d.ts +2 -0
- package/file-upload/lib/file-upload/models/uploadError.d.ts +6 -0
- package/file-upload/lib/file-upload/models/validate-errors.d.ts +1 -0
- package/file-upload/public-api.d.ts +6 -0
- package/gantt/index.d.ts +5 -0
- package/gantt/lib/gantt/components/gantt/arrow.d.ts +16 -0
- package/gantt/lib/gantt/components/gantt/bar.d.ts +44 -0
- package/gantt/lib/gantt/components/gantt/gantt-options.d.ts +2 -0
- package/gantt/lib/gantt/components/gantt/gantt.d.ts +65 -0
- package/gantt/lib/gantt/components/gantt/popup.d.ts +15 -0
- package/gantt/lib/gantt/components/gantt/utils/svg-utils.d.ts +11 -0
- package/gantt/lib/gantt/components/side-table/side-table.component.d.ts +13 -0
- package/gantt/lib/gantt/gantt.component.d.ts +33 -0
- package/gantt/lib/gantt/gantt.module.d.ts +10 -0
- package/gantt/lib/gantt/models/index.d.ts +2 -0
- package/gantt/lib/gantt/models/options.d.ts +26 -0
- package/gantt/public-api.d.ts +4 -0
- package/global-search/index.d.ts +5 -0
- package/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.d.ts +27 -0
- package/global-search/lib/global-search/global-search.component.d.ts +37 -0
- package/global-search/lib/global-search/global-search.module.d.ts +17 -0
- package/global-search/lib/global-search/types/global-search-size.enum.d.ts +1 -0
- package/global-search/public-api.d.ts +4 -0
- package/grid-menu/index.d.ts +5 -0
- package/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +17 -0
- package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +16 -0
- package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +10 -0
- package/grid-menu/lib/grid-menu/types/grid-menu-item.d.ts +11 -0
- package/grid-menu/public-api.d.ts +4 -0
- package/help-popover/index.d.ts +5 -0
- package/help-popover/lib/help-popover/help-popover/help-popover.component.d.ts +36 -0
- package/help-popover/lib/help-popover/help-popover.directive.d.ts +64 -0
- package/help-popover/lib/help-popover/help-popover.module.d.ts +10 -0
- package/help-popover/lib/help-popover/models/help-popover.models.d.ts +2 -0
- package/help-popover/public-api.d.ts +5 -0
- package/ia-insight/index.d.ts +5 -0
- package/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +5 -0
- package/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts +25 -0
- package/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +21 -0
- package/ia-insight/lib/ia-insight/ia-insight.component.d.ts +29 -0
- package/ia-insight/lib/ia-insight/ia-insight.module.d.ts +17 -0
- package/ia-insight/lib/ia-insight/models/ia-insight-item.d.ts +21 -0
- package/ia-insight/lib/ia-insight/models/ia-insight-template-types.d.ts +1 -0
- package/ia-insight/lib/ia-insight/models/index.d.ts +2 -0
- package/ia-insight/public-api.d.ts +3 -0
- package/image-cropper/index.d.ts +5 -0
- package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +46 -0
- package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +13 -0
- package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +42 -0
- package/image-cropper/public-api.d.ts +3 -0
- package/index.d.ts +5 -0
- package/infinite-scroll/index.d.ts +5 -0
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +10 -0
- package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +8 -0
- package/infinite-scroll/public-api.d.ts +2 -0
- package/info-sign/index.d.ts +5 -0
- package/info-sign/lib/info-sign/components/info-sign/info-sign.component.d.ts +10 -0
- package/info-sign/lib/info-sign/info-sign.directive.d.ts +18 -0
- package/info-sign/lib/info-sign/info-sign.module.d.ts +10 -0
- package/info-sign/public-api.d.ts +2 -0
- package/inline-edit/index.d.ts +5 -0
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +21 -0
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +13 -0
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +22 -0
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +13 -0
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +13 -0
- package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +13 -0
- package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +30 -0
- package/inline-edit/lib/inline-edit/fields/index.d.ts +14 -0
- package/inline-edit/lib/inline-edit/fields/inline-edit-calendar-field.d.ts +44 -0
- package/inline-edit/lib/inline-edit/fields/inline-edit-field.d.ts +15 -0
- package/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.d.ts +79 -0
- package/inline-edit/lib/inline-edit/fields/inline-edit-number-field.d.ts +40 -0
- package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
- package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +29 -0
- package/inline-edit/lib/inline-edit/types/addon-config.d.ts +7 -0
- package/inline-edit/public-api.d.ts +4 -0
- package/interactive-content/index.d.ts +5 -0
- package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +18 -0
- package/interactive-content/public-api.d.ts +1 -0
- package/kanban/index.d.ts +5 -0
- package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +23 -0
- package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +21 -0
- package/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +6 -0
- package/kanban/lib/kanban/kanban-event.service.d.ts +15 -0
- package/kanban/lib/kanban/kanban.component.d.ts +46 -0
- package/kanban/lib/kanban/kanban.module.d.ts +18 -0
- package/kanban/lib/kanban/types/index.d.ts +2 -0
- package/kanban/lib/kanban/types/kanban-data.d.ts +27 -0
- package/kanban/lib/kanban/types/kanban-template-types.d.ts +1 -0
- package/kanban/public-api.d.ts +3 -0
- package/label-value/index.d.ts +5 -0
- package/label-value/lib/label-value/label-value.component.d.ts +12 -0
- package/label-value/lib/label-value/label-value.module.d.ts +12 -0
- package/label-value/lib/label-value/types/label-value-configuration.d.ts +29 -0
- package/label-value/public-api.d.ts +3 -0
- package/loading-state/index.d.ts +5 -0
- package/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.d.ts +5 -0
- package/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.d.ts +5 -0
- package/loading-state/lib/loading-state/loading-state.component.d.ts +23 -0
- package/loading-state/lib/loading-state/loading-state.directive.d.ts +22 -0
- package/loading-state/lib/loading-state/loading-state.module.d.ts +12 -0
- package/loading-state/public-api.d.ts +4 -0
- package/locale/index.d.ts +5 -0
- package/locale/lib/locale/locale.module.d.ts +19 -0
- package/locale/lib/locale/locale.service.d.ts +27 -0
- package/locale/lib/locale/options/calendar.d.ts +25 -0
- package/locale/lib/locale/options/index.d.ts +14 -0
- package/locale/lib/locale/options/number.d.ts +11 -0
- package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +9 -0
- package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +12 -0
- package/locale/lib/locale/pipes/localized-currency-impure.pipe.d.ts +11 -0
- package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +22 -0
- package/locale/lib/locale/pipes/localized-date-impure.pipe.d.ts +7 -0
- package/locale/lib/locale/pipes/localized-date.pipe.d.ts +10 -0
- package/locale/lib/locale/pipes/localized-number.pipe.d.ts +17 -0
- package/locale/lib/locale/pipes/localized-time-impure.pipe.d.ts +7 -0
- package/locale/lib/locale/pipes/localized-time.pipe.d.ts +10 -0
- package/locale/public-api.d.ts +12 -0
- package/localized-number-input/index.d.ts +5 -0
- package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
- package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +8 -0
- package/localized-number-input/public-api.d.ts +2 -0
- package/mask/index.d.ts +5 -0
- package/mask/lib/mask/mask-formatter.module.d.ts +7 -0
- package/mask/lib/mask/mask-formatter.pipe.d.ts +8 -0
- package/mask/public-api.d.ts +2 -0
- package/mouse-events/index.d.ts +5 -0
- package/mouse-events/lib/mouse-events/double-click.directive.d.ts +12 -0
- package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -0
- package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +9 -0
- package/mouse-events/public-api.d.ts +3 -0
- package/navigation-button/index.d.ts +5 -0
- package/navigation-button/lib/navigation-button/models/index.d.ts +2 -0
- package/navigation-button/lib/navigation-button/models/navigation-button-step-changed-info.d.ts +5 -0
- package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +33 -0
- package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +10 -0
- package/navigation-button/public-api.d.ts +3 -0
- package/number-input/index.d.ts +5 -0
- package/number-input/lib/number-input/number-input.directive.d.ts +47 -0
- package/number-input/lib/number-input/number-input.module.d.ts +11 -0
- package/number-input/public-api.d.ts +2 -0
- package/numeric/index.d.ts +5 -0
- package/numeric/lib/numeric.module.d.ts +8 -0
- package/numeric/lib/numeric.pipe.d.ts +16 -0
- package/numeric/lib/numeric.service.d.ts +24 -0
- package/numeric/public-api.d.ts +3 -0
- package/object-card/index.d.ts +5 -0
- package/object-card/lib/object-card/elements/field/object-card-field.component.d.ts +20 -0
- package/object-card/lib/object-card/elements/main/object-card-main.component.d.ts +31 -0
- package/object-card/lib/object-card/object-card.component.d.ts +31 -0
- package/object-card/lib/object-card/object-card.module.d.ts +14 -0
- package/object-card/public-api.d.ts +4 -0
- package/package.json +554 -42
- package/paginator/index.d.ts +5 -0
- package/paginator/lib/models/paginator.models.d.ts +14 -0
- package/paginator/lib/paginator/paginator.component.d.ts +30 -0
- package/paginator/public-api.d.ts +2 -0
- package/panel/index.d.ts +5 -0
- package/panel/lib/panel/panel.component.d.ts +27 -0
- package/panel/lib/panel/panel.module.d.ts +10 -0
- package/panel/public-api.d.ts +2 -0
- package/password-strength/index.d.ts +5 -0
- package/password-strength/lib/password-strength/password-strength.component.d.ts +23 -0
- package/password-strength/lib/password-strength/password-strength.directive.d.ts +30 -0
- package/password-strength/lib/password-strength/password-strength.module.d.ts +9 -0
- package/password-strength/lib/password-strength/types/password-positions.d.ts +1 -0
- package/password-strength/lib/password-strength/types/password-strengths.d.ts +1 -0
- package/password-strength/public-api.d.ts +5 -0
- package/picklist/index.d.ts +5 -0
- package/picklist/lib/picklist/picklist.component.d.ts +74 -0
- package/picklist/lib/picklist/picklist.module.d.ts +12 -0
- package/picklist/lib/picklist/types/index.d.ts +2 -0
- package/picklist/lib/picklist/types/picklist-item.d.ts +4 -0
- package/picklist/lib/picklist/types/picklist-template-types.d.ts +1 -0
- package/picklist/public-api.d.ts +4 -0
- package/product-header/index.d.ts +5 -0
- package/product-header/lib/product-header/product-header.component.d.ts +15 -0
- package/product-header/lib/product-header/product-header.module.d.ts +10 -0
- package/product-header/public-api.d.ts +2 -0
- package/profile-picture-picker/index.d.ts +5 -0
- package/profile-picture-picker/lib/profile-picture-picker/models/file-validation-errors.d.ts +5 -0
- package/profile-picture-picker/lib/profile-picture-picker/models/index.d.ts +4 -0
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +58 -0
- package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +13 -0
- package/profile-picture-picker/lib/profile-picture-picker/validators/index.d.ts +1 -0
- package/profile-picture-picker/lib/profile-picture-picker/validators/validators.d.ts +7 -0
- package/profile-picture-picker/public-api.d.ts +4 -0
- package/progressbar/index.d.ts +5 -0
- package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +20 -0
- package/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +8 -0
- package/progressbar/lib/progressbar/progressbar.component.d.ts +17 -0
- package/progressbar/lib/progressbar/progressbar.module.d.ts +10 -0
- package/progressbar/lib/progressbar/types/index.d.ts +2 -0
- package/progressbar/lib/progressbar/types/progressbar-colors.d.ts +1 -0
- package/progressbar/lib/progressbar/types/progressbar-mode.d.ts +1 -0
- package/progressbar/public-api.d.ts +3 -0
- package/public-api.d.ts +1 -4
- package/radio-button/index.d.ts +5 -0
- package/radio-button/lib/radio-button/radio-button.component.d.ts +31 -0
- package/radio-button/lib/radio-button-group/models/radio-button-group.models.d.ts +5 -0
- package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +25 -0
- package/radio-button/lib/services/radio-button-registry.service.d.ts +12 -0
- package/radio-button/public-api.d.ts +3 -0
- package/rating-scale/index.d.ts +5 -0
- package/rating-scale/lib/rating-scale/models/index.d.ts +1 -0
- package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +18 -0
- package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +9 -0
- package/rating-scale/public-api.d.ts +3 -0
- package/select/index.d.ts +5 -0
- package/select/lib/select/components/select-option/select-option.component.d.ts +14 -0
- package/select/lib/select/select.component.d.ts +266 -0
- package/select/public-api.d.ts +1 -0
- package/select-button/index.d.ts +5 -0
- package/select-button/lib/select-button/components/select-button-item/select-button-item.component.d.ts +10 -0
- package/select-button/lib/select-button/select-button.component.d.ts +22 -0
- package/select-button/lib/select-button/select-button.module.d.ts +9 -0
- package/select-button/public-api.d.ts +3 -0
- package/shared/index.d.ts +5 -0
- package/shared/lib/shared/border-button/border-button.component.d.ts +9 -0
- package/shared/lib/shared/border-button/border-button.module.d.ts +9 -0
- package/shared/lib/shared/models/border-button-options.d.ts +9 -0
- package/shared/lib/shared/models/severities.d.ts +8 -0
- package/shared/public-api.d.ts +6 -0
- package/sidebar/index.d.ts +5 -0
- package/sidebar/lib/sidebar/sidebar.component.d.ts +30 -0
- package/sidebar/lib/sidebar/sidebar.module.d.ts +10 -0
- package/sidebar/public-api.d.ts +2 -0
- package/slide-panel/index.d.ts +5 -0
- package/slide-panel/lib/slide-panel/slide-panel.component.d.ts +32 -0
- package/slide-panel/lib/slide-panel/slide-panel.module.d.ts +8 -0
- package/slide-panel/lib/slide-panel/slide-panel.service.d.ts +10 -0
- package/slide-panel/public-api.d.ts +3 -0
- package/slider/index.d.ts +5 -0
- package/slider/lib/slider/slider.component.d.ts +97 -0
- package/slider/lib/slider/slider.module.d.ts +9 -0
- package/slider/public-api.d.ts +2 -0
- package/speech-recognition/index.d.ts +5 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +54 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +9 -0
- package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +29 -0
- package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +26 -0
- package/speech-recognition/public-api.d.ts +4 -0
- package/split-button/index.d.ts +5 -0
- package/split-button/lib/split-button/models/index.d.ts +2 -0
- package/split-button/lib/split-button/models/split-button-type.d.ts +1 -0
- package/split-button/lib/split-button/split-button.component.d.ts +22 -0
- package/split-button/lib/split-button/split-button.module.d.ts +8 -0
- package/split-button/public-api.d.ts +3 -0
- package/star-rating/index.d.ts +5 -0
- package/star-rating/public-api.d.ts +2 -0
- package/star-rating/star-rating/star-rating-models.d.ts +1 -0
- package/star-rating/star-rating/star-rating.component.d.ts +20 -0
- package/stats-card/index.d.ts +5 -0
- package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
- package/stats-card/lib/stats-card/stats-card.module.d.ts +9 -0
- package/stats-card/public-api.d.ts +2 -0
- package/steps/index.d.ts +5 -0
- package/steps/lib/steps/steps.component.d.ts +36 -0
- package/steps/lib/steps/steps.module.d.ts +9 -0
- package/steps/public-api.d.ts +2 -0
- package/structure/index.d.ts +5 -0
- package/structure/lib/structure/footer.component.d.ts +5 -0
- package/structure/lib/structure/header.component.d.ts +5 -0
- package/structure/lib/structure/structure.module.d.ts +9 -0
- package/structure/public-api.d.ts +4 -0
- package/styles.css +1 -0
- package/switch/index.d.ts +5 -0
- package/switch/lib/switch/switch.component.d.ts +25 -0
- package/switch/lib/switch/switch.module.d.ts +8 -0
- package/switch/public-api.d.ts +2 -0
- package/table/index.d.ts +5 -0
- package/table/lib/table/export-utils.d.ts +16 -0
- package/table/lib/table/navigation/navigation.directive.d.ts +18 -0
- package/table/lib/table/row-toggler/row-toggler.directive.d.ts +10 -0
- package/table/lib/table/table-column/index.d.ts +2 -0
- package/table/lib/table/table-column/models/badge-column.interface.d.ts +9 -0
- package/table/lib/table/table-column/models/badge-configs.interface.d.ts +5 -0
- package/table/lib/table/table-column/models/column-colors.d.ts +1 -0
- package/table/lib/table/table-column/models/column-values.interface.d.ts +18 -0
- package/table/lib/table/table-column/models/column.interface.d.ts +28 -0
- package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +13 -0
- package/table/lib/table/table-column/models/index.d.ts +10 -0
- package/table/lib/table/table-column/models/locale-options.interface.d.ts +6 -0
- package/table/lib/table/table-column/models/number-locale-options.interface.d.ts +6 -0
- package/table/lib/table/table-column/table-columns.component.d.ts +53 -0
- package/table/lib/table/table-paging/index.d.ts +2 -0
- package/table/lib/table/table-paging/models/index.d.ts +1 -0
- package/table/lib/table/table-paging/table-paging.component.d.ts +65 -0
- package/table/lib/table/table.module.d.ts +17 -0
- package/table/public-api.d.ts +5 -0
- package/table-header/index.d.ts +5 -0
- package/table-header/lib/table-header/table-header-checkbox.component.d.ts +31 -0
- package/table-header/lib/table-header/table-header-checkox.module.d.ts +10 -0
- package/table-header/public-api.d.ts +2 -0
- package/tabs/index.d.ts +5 -0
- package/tabs/lib/tab-item/tab-item.component.d.ts +18 -0
- package/tabs/lib/tabs/tabs.component.d.ts +16 -0
- package/tabs/public-api.d.ts +2 -0
- package/template/index.d.ts +5 -0
- package/template/lib/template/template.directive.d.ts +8 -0
- package/template/lib/template/template.module.d.ts +8 -0
- package/template/public-api.d.ts +2 -0
- package/text-area/index.d.ts +5 -0
- package/text-area/lib/text-area/text-area.component.d.ts +36 -0
- package/text-area/lib/text-area.module.d.ts +11 -0
- package/text-area/public-api.d.ts +2 -0
- package/text-area-ia/index.d.ts +5 -0
- package/text-area-ia/lib/services/IAssist/iassist.service.d.ts +16 -0
- package/text-area-ia/lib/services/IAssist/models/iassist-input-data.d.ts +6 -0
- package/text-area-ia/lib/services/IAssist/models/iassist-response.d.ts +5 -0
- package/text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts +47 -0
- package/text-area-ia/lib/text-area-ia/text-area-ia.module.d.ts +15 -0
- package/text-area-ia/public-api.d.ts +2 -0
- package/thumbnail/index.d.ts +5 -0
- package/thumbnail/lib/thumbnail/thumbnail-size.d.ts +1 -0
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +27 -0
- package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +8 -0
- package/thumbnail/lib/thumbnail/thumbnail.service.d.ts +10 -0
- package/thumbnail/public-api.d.ts +3 -0
- package/thumbnails/index.d.ts +5 -0
- package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +6 -0
- package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +11 -0
- package/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +23 -0
- package/thumbnails/lib/thumbnails/models/thumbnails-item.d.ts +20 -0
- package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +20 -0
- package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +14 -0
- package/thumbnails/public-api.d.ts +3 -0
- package/tiered-menu/index.d.ts +5 -0
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +35 -0
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +5 -0
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +18 -0
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +27 -0
- package/tiered-menu/lib/tiered-menu/models/index.d.ts +2 -0
- package/tiered-menu/lib/tiered-menu/models/tiered-menu-item-data.d.ts +10 -0
- package/tiered-menu/lib/tiered-menu/models/tiered-menu-item-internal-data.d.ts +6 -0
- package/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.d.ts +14 -0
- package/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.d.ts +7 -0
- package/tiered-menu/lib/tiered-menu/services/tiered-menu.service.d.ts +15 -0
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +46 -0
- package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +12 -0
- package/tiered-menu/public-api.d.ts +5 -0
- package/tile/index.d.ts +5 -0
- package/tile/lib/tile/tile.component.d.ts +19 -0
- package/tile/lib/tile/tile.module.d.ts +10 -0
- package/tile/public-api.d.ts +2 -0
- package/timeline/index.d.ts +5 -0
- package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +9 -0
- package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +10 -0
- package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +10 -0
- package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +9 -0
- package/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +9 -0
- package/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +13 -0
- package/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +5 -0
- package/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +11 -0
- package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +24 -0
- package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +13 -0
- package/timeline/lib/timeline/models/timeline-item.d.ts +27 -0
- package/timeline/lib/timeline/timeline.component.d.ts +23 -0
- package/timeline/lib/timeline/timeline.module.d.ts +11 -0
- package/timeline/public-api.d.ts +5 -0
- package/toast/index.d.ts +5 -0
- package/toast/lib/toast/toast.component.d.ts +15 -0
- package/toast/lib/toast/toast.module.d.ts +8 -0
- package/toast/lib/toast/toast.service.d.ts +15 -0
- package/toast/lib/toast/types/toast.d.ts +16 -0
- package/toast/public-api.d.ts +3 -0
- package/token-list/index.d.ts +5 -0
- package/token-list/lib/token-list/models/index.d.ts +1 -0
- package/token-list/lib/token-list/token-list.component.d.ts +16 -0
- package/token-list/lib/token-list/token-list.module.d.ts +8 -0
- package/token-list/public-api.d.ts +3 -0
- package/tooltip/index.d.ts +5 -0
- package/tooltip/lib/tooltip/models/mobile-behavior.d.ts +1 -0
- package/tooltip/lib/tooltip/models/tooltip-event.d.ts +1 -0
- package/tooltip/lib/tooltip/models/tooltip-position.d.ts +1 -0
- package/tooltip/lib/tooltip/tooltip.component.d.ts +12 -0
- package/tooltip/lib/tooltip/tooltip.directive.d.ts +63 -0
- package/tooltip/lib/tooltip/tooltip.module.d.ts +9 -0
- package/tooltip/public-api.d.ts +5 -0
- package/tree/index.d.ts +5 -0
- package/tree/lib/tree/Models/tree.models.d.ts +28 -0
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +38 -0
- package/tree/lib/tree/tree.component.d.ts +36 -0
- package/tree/lib/tree/tree.module.d.ts +12 -0
- package/tree/public-api.d.ts +3 -0
- package/utils/index.d.ts +5 -2
- package/utils/lib/utils/utils.d.ts +28 -0
- package/utils/public-api.d.ts +2 -0
- package/workspace-switch/index.d.ts +5 -0
- package/workspace-switch/lib/workspace-switch/models/index.d.ts +1 -0
- package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +33 -0
- package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +8 -0
- package/workspace-switch/public-api.d.ts +3 -0
- package/angular-components.module.d.ts +0 -9
- package/bundles/seniorsistemas-angular-components.umd.js +0 -24519
- package/bundles/seniorsistemas-angular-components.umd.js.map +0 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +0 -17
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +0 -1
- package/components/accessibility-events/accessibility-events.module.d.ts +0 -2
- package/components/accessibility-events/directives/accessibility-event.directive.d.ts +0 -14
- package/components/accessibility-events/index.d.ts +0 -2
- package/components/accordion/accordion.component.d.ts +0 -20
- package/components/accordion/accordion.module.d.ts +0 -2
- package/components/accordion/components/accordion-panel/accordion-panel.component.d.ts +0 -31
- package/components/accordion/index.d.ts +0 -3
- package/components/accordion/models/accordion-button-settings.d.ts +0 -4
- package/components/accordion/models/accordion-switch-settings.d.ts +0 -4
- package/components/alert/alert.component.d.ts +0 -13
- package/components/alert/alert.module.d.ts +0 -2
- package/components/alert/index.d.ts +0 -2
- package/components/badge/badge.component.d.ts +0 -20
- package/components/badge/badge.module.d.ts +0 -2
- package/components/badge/index.d.ts +0 -3
- package/components/badge/models/badge-colors.d.ts +0 -8
- package/components/badge/models/badge-types.d.ts +0 -4
- package/components/badge/models/index.d.ts +0 -2
- package/components/bignumber-input/bignumber-input.directive.d.ts +0 -29
- package/components/bignumber-input/bignumber-input.module.d.ts +0 -2
- package/components/bignumber-input/index.d.ts +0 -2
- package/components/breadcrumb/breadcrumb.component.d.ts +0 -22
- package/components/breadcrumb/breadcrumb.module.d.ts +0 -2
- package/components/breadcrumb/index.d.ts +0 -2
- package/components/button/button.component.d.ts +0 -43
- package/components/button/button.module.d.ts +0 -2
- package/components/button/index.d.ts +0 -6
- package/components/button/models/button-animation.d.ts +0 -3
- package/components/button/models/button-badge-config.d.ts +0 -7
- package/components/button/models/button-priority.d.ts +0 -7
- package/components/button/models/button-size.d.ts +0 -4
- package/components/calendar-mask/calendar-mask.directive.d.ts +0 -66
- package/components/calendar-mask/calendar-mask.module.d.ts +0 -2
- package/components/calendar-mask/index.d.ts +0 -2
- package/components/card/card.component.d.ts +0 -22
- package/components/card/card.module.d.ts +0 -2
- package/components/card/index.d.ts +0 -3
- package/components/card/models/card-template-types.d.ts +0 -5
- package/components/chat/chat.component.d.ts +0 -7
- package/components/chat/chat.module.d.ts +0 -2
- package/components/chat/components/chat-message/chat-message.component.d.ts +0 -8
- package/components/chat/index.d.ts +0 -3
- package/components/chat/types/chat-message.d.ts +0 -8
- package/components/checkbox/checkbox.component.d.ts +0 -17
- package/components/checkbox/checkbox.module.d.ts +0 -2
- package/components/checkbox/index.d.ts +0 -3
- package/components/checkbox/models/checkbox-data.d.ts +0 -5
- package/components/checkbox/models/checkbox-state.d.ts +0 -6
- package/components/checkbox/models/index.d.ts +0 -2
- package/components/chips/chip-item/chip-item.component.d.ts +0 -22
- package/components/chips/chips/chips.component.d.ts +0 -55
- package/components/chips/chips.module.d.ts +0 -2
- package/components/chips/index.d.ts +0 -3
- package/components/chips/models/chip-models.d.ts +0 -7
- package/components/code-editor/code-editor.component.d.ts +0 -27
- package/components/code-editor/code-editor.module.d.ts +0 -2
- package/components/code-editor/core/facades/core-facade.d.ts +0 -34
- package/components/code-editor/core/use-cases/core-linters.d.ts +0 -6
- package/components/code-editor/index.d.ts +0 -3
- package/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +0 -27
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.d.ts +0 -15
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.d.ts +0 -6
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.d.ts +0 -12
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.d.ts +0 -8
- package/components/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.d.ts +0 -1
- package/components/code-editor/infra/cores/codemirror-6/models/types/editor-theme.d.ts +0 -3
- package/components/code-editor/infra/utils/custom-http-client/custom-http-client.d.ts +0 -34
- package/components/code-editor/infra/utils/custom-translations/custom-translations-service.d.ts +0 -25
- package/components/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +0 -12
- package/components/collapse-link/collapse-link.component.d.ts +0 -17
- package/components/collapse-link/collapse-link.module.d.ts +0 -2
- package/components/collapse-link/index.d.ts +0 -2
- package/components/control-errors/control-errors.component.d.ts +0 -9
- package/components/control-errors/control-errors.module.d.ts +0 -2
- package/components/control-errors/index.d.ts +0 -2
- package/components/country-phone-picker/country-phone-picker.component.d.ts +0 -64
- package/components/country-phone-picker/country-phone-picker.module.d.ts +0 -2
- package/components/country-phone-picker/country-phone-picker.service.d.ts +0 -10
- package/components/country-phone-picker/index.d.ts +0 -4
- package/components/country-phone-picker/models/index.d.ts +0 -3
- package/components/country-phone-picker/resources/countries.d.ts +0 -2
- package/components/country-phone-picker/resources/index.d.ts +0 -1
- package/components/custom-fields/custom-fields.component.d.ts +0 -82
- package/components/custom-fields/custom-fields.module.d.ts +0 -2
- package/components/custom-fields/custom-fields.service.d.ts +0 -17
- package/components/custom-fields/index.d.ts +0 -3
- package/components/dynamic-form/components/dynamic-field/dynamic-field.component.d.ts +0 -12
- package/components/dynamic-form/components/field-label/field-label.component.d.ts +0 -5
- package/components/dynamic-form/components/field-label/field-label.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.d.ts +0 -14
- package/components/dynamic-form/components/fields/base-field-component.d.ts +0 -27
- package/components/dynamic-form/components/fields/bignumber/bignumber-field.component.d.ts +0 -24
- package/components/dynamic-form/components/fields/bignumber/bignumber-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/boolean/boolean-field.component.d.ts +0 -8
- package/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.d.ts +0 -7
- package/components/dynamic-form/components/fields/button-field/button-field.component.d.ts +0 -7
- package/components/dynamic-form/components/fields/calendar/calendar-field.component.d.ts +0 -31
- package/components/dynamic-form/components/fields/checkbox/checkbox-field.component.d.ts +0 -7
- package/components/dynamic-form/components/fields/checkbox/checkbox-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/chips/chips-field.component.d.ts +0 -19
- package/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.d.ts +0 -14
- package/components/dynamic-form/components/fields/currency/currency-field.component.d.ts +0 -21
- package/components/dynamic-form/components/fields/currency/currency-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/editor/editor-field.component.d.ts +0 -7
- package/components/dynamic-form/components/fields/editor/editor-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/file-upload/file-upload.component.d.ts +0 -17
- package/components/dynamic-form/components/fields/index.d.ts +0 -21
- package/components/dynamic-form/components/fields/lookup/lookup-field.component.d.ts +0 -7
- package/components/dynamic-form/components/fields/number/number-field.component.d.ts +0 -27
- package/components/dynamic-form/components/fields/number/number-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/password/password-field.component.d.ts +0 -19
- package/components/dynamic-form/components/fields/password/password-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.d.ts +0 -6
- package/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/radio-button/radio-button-field.component.d.ts +0 -15
- package/components/dynamic-form/components/fields/select/select-field.component.d.ts +0 -7
- package/components/dynamic-form/components/fields/slider/slider-field.component.d.ts +0 -22
- package/components/dynamic-form/components/fields/text/text-field.component.d.ts +0 -22
- package/components/dynamic-form/components/fields/text/text-field.module.d.ts +0 -2
- package/components/dynamic-form/components/fields/text-area/text-area-field.component.d.ts +0 -11
- package/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -28
- package/components/dynamic-form/components/grid/row/row.component.d.ts +0 -12
- package/components/dynamic-form/components/lookup/lookup.component.d.ts +0 -188
- package/components/dynamic-form/components/lookup/models/default-filter.d.ts +0 -4
- package/components/dynamic-form/components/lookup/models/index.d.ts +0 -1
- package/components/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
- package/components/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -9
- package/components/dynamic-form/components/structure/section/section.component.d.ts +0 -11
- package/components/dynamic-form/configurations/addon-config.d.ts +0 -8
- package/components/dynamic-form/configurations/field-type.d.ts +0 -30
- package/components/dynamic-form/configurations/fields/autocomplete-field.d.ts +0 -30
- package/components/dynamic-form/configurations/fields/bignumber-field.d.ts +0 -36
- package/components/dynamic-form/configurations/fields/blob-field.d.ts +0 -43
- package/components/dynamic-form/configurations/fields/boolean-field.d.ts +0 -29
- package/components/dynamic-form/configurations/fields/boolean-switch-field.d.ts +0 -11
- package/components/dynamic-form/configurations/fields/button-field.d.ts +0 -37
- package/components/dynamic-form/configurations/fields/calendar-field.d.ts +0 -45
- package/components/dynamic-form/configurations/fields/checkbox-field.d.ts +0 -9
- package/components/dynamic-form/configurations/fields/chips-field.d.ts +0 -24
- package/components/dynamic-form/configurations/fields/country-phone-picker-field.d.ts +0 -15
- package/components/dynamic-form/configurations/fields/currency-field.d.ts +0 -8
- package/components/dynamic-form/configurations/fields/decimal-field.d.ts +0 -14
- package/components/dynamic-form/configurations/fields/field.d.ts +0 -96
- package/components/dynamic-form/configurations/fields/index.d.ts +0 -21
- package/components/dynamic-form/configurations/fields/lookup-field.d.ts +0 -94
- package/components/dynamic-form/configurations/fields/number-field.d.ts +0 -42
- package/components/dynamic-form/configurations/fields/password-field.d.ts +0 -45
- package/components/dynamic-form/configurations/fields/profile-picture.d.ts +0 -36
- package/components/dynamic-form/configurations/fields/radio-button-field.d.ts +0 -23
- package/components/dynamic-form/configurations/fields/select-field.d.ts +0 -37
- package/components/dynamic-form/configurations/fields/slider-field.d.ts +0 -31
- package/components/dynamic-form/configurations/fields/text-area-field.d.ts +0 -24
- package/components/dynamic-form/configurations/fields/text-area-ia-field.d.ts +0 -26
- package/components/dynamic-form/configurations/fields/text-field.d.ts +0 -41
- package/components/dynamic-form/configurations/form-field.d.ts +0 -190
- package/components/dynamic-form/configurations/grid/grid.d.ts +0 -14
- package/components/dynamic-form/configurations/grid/row.d.ts +0 -8
- package/components/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
- package/components/dynamic-form/configurations/structure/section.d.ts +0 -20
- package/components/dynamic-form/configurations/structure/structure.d.ts +0 -15
- package/components/dynamic-form/dynamic-form.component.d.ts +0 -10
- package/components/dynamic-form/dynamic-form.d.ts +0 -56
- package/components/dynamic-form/dynamic-form.directive.d.ts +0 -28
- package/components/dynamic-form/dynamic-form.module.d.ts +0 -2
- package/components/dynamic-form/index.d.ts +0 -32
- package/components/dynamic-form/services/IAssist/iassist.service.d.ts +0 -13
- package/components/dynamic-form/services/IAssist/models/iassist-input-data.d.ts +0 -6
- package/components/dynamic-form/services/IAssist/models/iassist-response.d.ts +0 -5
- package/components/dynamic-form/services/IAssist/models/index.d.ts +0 -2
- package/components/editable-overlay/editable-overlay.directive.d.ts +0 -9
- package/components/editable-overlay/editable-overlay.module.d.ts +0 -2
- package/components/editable-overlay/index.d.ts +0 -2
- package/components/empty-state/empty-state.component.d.ts +0 -16
- package/components/empty-state/empty-state.module.d.ts +0 -2
- package/components/empty-state/go-back/go-back.component.d.ts +0 -11
- package/components/empty-state/index.d.ts +0 -2
- package/components/fieldset/fieldset.component.d.ts +0 -14
- package/components/fieldset/fieldset.models.d.ts +0 -4
- package/components/fieldset/fieldset.module.d.ts +0 -2
- package/components/fieldset/index.d.ts +0 -3
- package/components/file-upload/file-upload.component.d.ts +0 -76
- package/components/file-upload/file-upload.module.d.ts +0 -2
- package/components/file-upload/file-upload.service.d.ts +0 -6
- package/components/file-upload/index.d.ts +0 -3
- package/components/file-upload/models/file-dto.d.ts +0 -11
- package/components/file-upload/models/file-upload-permissions.d.ts +0 -6
- package/components/file-upload/models/index.d.ts +0 -4
- package/components/file-upload/models/uploadError.d.ts +0 -6
- package/components/file-upload/models/validate-errors.d.ts +0 -6
- package/components/gantt/components/gantt/arrow.d.ts +0 -16
- package/components/gantt/components/gantt/bar.d.ts +0 -44
- package/components/gantt/components/gantt/gantt-options.d.ts +0 -2
- package/components/gantt/components/gantt/gantt.d.ts +0 -64
- package/components/gantt/components/gantt/popup.d.ts +0 -14
- package/components/gantt/components/gantt/utils/svg-utils.d.ts +0 -11
- package/components/gantt/components/side-table/side-table.component.d.ts +0 -10
- package/components/gantt/gantt.component.d.ts +0 -30
- package/components/gantt/gantt.module.d.ts +0 -2
- package/components/gantt/index.d.ts +0 -3
- package/components/gantt/models/index.d.ts +0 -3
- package/components/gantt/models/options.d.ts +0 -26
- package/components/global-search/elements/dropdown/global-search-dropdown-item.component.d.ts +0 -24
- package/components/global-search/global-search-size.enum.d.ts +0 -5
- package/components/global-search/global-search.component.d.ts +0 -34
- package/components/global-search/global-search.module.d.ts +0 -2
- package/components/global-search/index.d.ts +0 -4
- package/components/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +0 -14
- package/components/grid-menu/grid-menu.component.d.ts +0 -13
- package/components/grid-menu/grid-menu.module.d.ts +0 -2
- package/components/grid-menu/index.d.ts +0 -3
- package/components/grid-menu/types/grid-menu-item.d.ts +0 -11
- package/components/help-popover/help-popover/help-popover.component.d.ts +0 -32
- package/components/help-popover/help-popover.directive.d.ts +0 -64
- package/components/help-popover/help-popover.module.d.ts +0 -2
- package/components/help-popover/index.d.ts +0 -5
- package/components/help-popover/models/help-popover.models.d.ts +0 -2
- package/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +0 -2
- package/components/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts +0 -22
- package/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +0 -18
- package/components/ia-insight/ia-insight.component.d.ts +0 -28
- package/components/ia-insight/ia-insight.module.d.ts +0 -2
- package/components/ia-insight/index.d.ts +0 -3
- package/components/ia-insight/models/ia-insight-item.d.ts +0 -21
- package/components/ia-insight/models/ia-insight-template-types.d.ts +0 -5
- package/components/ia-insight/models/index.d.ts +0 -2
- package/components/image-cropper/image-cropper.component.d.ts +0 -42
- package/components/image-cropper/image-cropper.module.d.ts +0 -2
- package/components/image-cropper/image-cropper.service.d.ts +0 -39
- package/components/image-cropper/index.d.ts +0 -3
- package/components/index.d.ts +0 -76
- package/components/infinite-scroll/infinite-scroll.directive.d.ts +0 -7
- package/components/infinite-scroll/infinite-scroll.module.d.ts +0 -2
- package/components/info-sign/index.d.ts +0 -2
- package/components/info-sign/info-sign.component.d.ts +0 -7
- package/components/info-sign/info-sign.directive.d.ts +0 -16
- package/components/info-sign/info-sign.module.d.ts +0 -2
- package/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +0 -17
- package/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +0 -10
- package/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -18
- package/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +0 -9
- package/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +0 -10
- package/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +0 -9
- package/components/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -27
- package/components/inline-edit/fields/index.d.ts +0 -7
- package/components/inline-edit/fields/inline-edit-calendar-field.d.ts +0 -44
- package/components/inline-edit/fields/inline-edit-field.d.ts +0 -13
- package/components/inline-edit/fields/inline-edit-lookup-field.d.ts +0 -79
- package/components/inline-edit/fields/inline-edit-number-field.d.ts +0 -38
- package/components/inline-edit/index.d.ts +0 -3
- package/components/inline-edit/inline-edit.component.d.ts +0 -14
- package/components/inline-edit/inline-edit.module.d.ts +0 -2
- package/components/kanban/components/kanban-column/kanban-column.component.d.ts +0 -18
- package/components/kanban/components/kanban-item/kanban-item.component.d.ts +0 -16
- package/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +0 -3
- package/components/kanban/index.d.ts +0 -3
- package/components/kanban/kanban-event.service.d.ts +0 -12
- package/components/kanban/kanban.component.d.ts +0 -43
- package/components/kanban/kanban.module.d.ts +0 -2
- package/components/kanban/models/index.d.ts +0 -2
- package/components/kanban/models/kanban-data.d.ts +0 -27
- package/components/kanban/models/kanban-template-types.d.ts +0 -7
- package/components/label-value/index.d.ts +0 -3
- package/components/label-value/label-value.component.d.ts +0 -9
- package/components/label-value/label-value.module.d.ts +0 -2
- package/components/label-value/types/label-value-configuration.d.ts +0 -29
- package/components/loading-state/components/dots-indicator/dots-indicator.components.d.ts +0 -2
- package/components/loading-state/components/logo-indicator/logo-indicator.component.d.ts +0 -2
- package/components/loading-state/index.d.ts +0 -3
- package/components/loading-state/loading-state.component.d.ts +0 -20
- package/components/loading-state/loading-state.directive.d.ts +0 -19
- package/components/loading-state/loading-state.module.d.ts +0 -2
- package/components/locale/index.d.ts +0 -10
- package/components/locale/locale.module.d.ts +0 -5
- package/components/locale/locale.service.d.ts +0 -24
- package/components/locale/options/calendar.d.ts +0 -25
- package/components/locale/options/index.d.ts +0 -26
- package/components/locale/options/number.d.ts +0 -11
- package/components/locale/pipes/localized-bignumber-impure.pipe.d.ts +0 -6
- package/components/locale/pipes/localized-bignumber.pipe.d.ts +0 -9
- package/components/locale/pipes/localized-currency-impure.pipe.d.ts +0 -8
- package/components/locale/pipes/localized-currency.pipe.d.ts +0 -19
- package/components/locale/pipes/localized-date-impure.pipe.d.ts +0 -4
- package/components/locale/pipes/localized-date.pipe.d.ts +0 -7
- package/components/locale/pipes/localized-number.pipe.d.ts +0 -14
- package/components/locale/pipes/localized-time-impure.pipe.d.ts +0 -4
- package/components/locale/pipes/localized-time.pipe.d.ts +0 -7
- package/components/locale/pipes/numeric.pipe.d.ts +0 -13
- package/components/locale/services/numeric.service.d.ts +0 -27
- package/components/localized-number-input/index.d.ts +0 -2
- package/components/localized-number-input/localized-number-input.directive.d.ts +0 -13
- package/components/localized-number-input/localized-number-input.module.d.ts +0 -2
- package/components/mask/index.d.ts +0 -2
- package/components/mask/mask-formatter.module.d.ts +0 -2
- package/components/mask/mask-formatter.pipe.d.ts +0 -5
- package/components/mouse-events/double-click.directive.d.ts +0 -9
- package/components/mouse-events/index.d.ts +0 -3
- package/components/mouse-events/long-press.directive.d.ts +0 -13
- package/components/mouse-events/mouse-events.module.d.ts +0 -2
- package/components/navigation-button/index.d.ts +0 -3
- package/components/navigation-button/models/index.d.ts +0 -2
- package/components/navigation-button/models/navigation-button-step-changed-info.d.ts +0 -5
- package/components/navigation-button/navigation-button.component.d.ts +0 -30
- package/components/navigation-button/navigation-button.module.d.ts +0 -2
- package/components/number-input/index.d.ts +0 -2
- package/components/number-input/number-input.directive.d.ts +0 -44
- package/components/number-input/number-input.module.d.ts +0 -5
- package/components/object-card/elements/field/object-card-field.component.d.ts +0 -17
- package/components/object-card/elements/main/object-card-main.component.d.ts +0 -27
- package/components/object-card/index.d.ts +0 -4
- package/components/object-card/object-card.component.d.ts +0 -28
- package/components/object-card/object-card.module.d.ts +0 -2
- package/components/panel/index.d.ts +0 -2
- package/components/panel/panel.component.d.ts +0 -25
- package/components/panel/panel.module.d.ts +0 -2
- package/components/password-strength/index.d.ts +0 -4
- package/components/password-strength/models/index.d.ts +0 -2
- package/components/password-strength/models/password-positions.d.ts +0 -5
- package/components/password-strength/models/password-strengths.d.ts +0 -6
- package/components/password-strength/password-strength.component.d.ts +0 -19
- package/components/password-strength/password-strength.directive.d.ts +0 -26
- package/components/password-strength/password-strength.module.d.ts +0 -2
- package/components/picklist/index.d.ts +0 -4
- package/components/picklist/picklist/models/picklist-models.d.ts +0 -8
- package/components/picklist/picklist/picklist.component.d.ts +0 -71
- package/components/picklist/picklist.module.d.ts +0 -2
- package/components/product-header/index.d.ts +0 -2
- package/components/product-header/product-header.component.d.ts +0 -10
- package/components/product-header/product-header.module.d.ts +0 -2
- package/components/profile-picture-picker/index.d.ts +0 -3
- package/components/profile-picture-picker/models/file-validation-errors.d.ts +0 -10
- package/components/profile-picture-picker/models/index.d.ts +0 -4
- package/components/profile-picture-picker/profile-picture-picker.component.d.ts +0 -55
- package/components/profile-picture-picker/profile-picture-picker.module.d.ts +0 -2
- package/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -17
- package/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +0 -5
- package/components/progressbar/index.d.ts +0 -3
- package/components/progressbar/models/index.d.ts +0 -2
- package/components/progressbar/models/progressbar-colors.d.ts +0 -6
- package/components/progressbar/models/progressbar-mode.d.ts +0 -4
- package/components/progressbar/progressbar.component.d.ts +0 -15
- package/components/progressbar/progressbar.module.d.ts +0 -2
- package/components/rating-scale/index.d.ts +0 -3
- package/components/rating-scale/models/index.d.ts +0 -1
- package/components/rating-scale/rating-scale.component.d.ts +0 -15
- package/components/rating-scale/rating-scale.module.d.ts +0 -2
- package/components/select-button/components/select-button-item/select-button-item.component.d.ts +0 -7
- package/components/select-button/index.d.ts +0 -3
- package/components/select-button/models/index.d.ts +0 -1
- package/components/select-button/select-button.component.d.ts +0 -19
- package/components/select-button/select-button.module.d.ts +0 -2
- package/components/shared/border-button/border-button.component.d.ts +0 -9
- package/components/shared/border-button/border-button.module.d.ts +0 -2
- package/components/shared/index.d.ts +0 -3
- package/components/shared/models/border-button-options.d.ts +0 -9
- package/components/shared/models/enum-severity.d.ts +0 -7
- package/components/sidebar/index.d.ts +0 -2
- package/components/sidebar/sidebar.component.d.ts +0 -22
- package/components/sidebar/sidebar.module.d.ts +0 -2
- package/components/slide-panel/index.d.ts +0 -2
- package/components/slide-panel/slide-panel.component.d.ts +0 -32
- package/components/slide-panel/slide-panel.module.d.ts +0 -2
- package/components/slide-panel/slide-panel.service.d.ts +0 -7
- package/components/slider/index.d.ts +0 -2
- package/components/slider/slider.component.d.ts +0 -95
- package/components/slider/slider.module.d.ts +0 -2
- package/components/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -51
- package/components/speech-recognition/speech-recognition.module.d.ts +0 -2
- package/components/speech-recognition/speech-recognition.service.d.ts +0 -26
- package/components/speech-recognition/text-to-speech.service.d.ts +0 -23
- package/components/split-button/index.d.ts +0 -4
- package/components/split-button/models/split-button-type.d.ts +0 -5
- package/components/split-button/split-button.component.d.ts +0 -19
- package/components/split-button/split-button.module.d.ts +0 -2
- package/components/stats-card/index.d.ts +0 -2
- package/components/stats-card/stats-card.component.d.ts +0 -26
- package/components/stats-card/stats-card.module.d.ts +0 -2
- package/components/steps/index.d.ts +0 -2
- package/components/steps/steps.component.d.ts +0 -38
- package/components/steps/steps.module.d.ts +0 -2
- package/components/structure/footer.component.d.ts +0 -2
- package/components/structure/header.component.d.ts +0 -4
- package/components/structure/index.d.ts +0 -3
- package/components/structure/structure.module.d.ts +0 -2
- package/components/switch/index.d.ts +0 -2
- package/components/switch/switch.component.d.ts +0 -22
- package/components/switch/switch.module.d.ts +0 -2
- package/components/table/frozen-position/frozen-position.directive.d.ts +0 -28
- package/components/table/index.d.ts +0 -6
- package/components/table/navigation/navigation.directive.d.ts +0 -15
- package/components/table/row-toggler/row-toggler.directive.d.ts +0 -7
- package/components/table/table-column/index.d.ts +0 -1
- package/components/table/table-column/models/badge-column.interface.d.ts +0 -9
- package/components/table/table-column/models/badge-configs.interface.d.ts +0 -5
- package/components/table/table-column/models/column-colors.d.ts +0 -1
- package/components/table/table-column/models/column-values.interface.d.ts +0 -17
- package/components/table/table-column/models/column.interface.d.ts +0 -27
- package/components/table/table-column/models/dynamic-editable-grid.interface.d.ts +0 -13
- package/components/table/table-column/models/index.d.ts +0 -9
- package/components/table/table-column/models/locale-options.interface.d.ts +0 -6
- package/components/table/table-column/models/number-locale-options.interface.d.ts +0 -6
- package/components/table/table-column/table-columns.component.d.ts +0 -49
- package/components/table/table-paging/index.d.ts +0 -1
- package/components/table/table-paging/models/index.d.ts +0 -1
- package/components/table/table-paging/table-paging.component.d.ts +0 -63
- package/components/table/table.module.d.ts +0 -2
- package/components/table-header/index.d.ts +0 -2
- package/components/table-header/table-header-checkbox.component.d.ts +0 -25
- package/components/table-header/table-header-checkox.module.d.ts +0 -2
- package/components/template/index.d.ts +0 -2
- package/components/template/template.directive.d.ts +0 -6
- package/components/template/template.module.d.ts +0 -2
- package/components/text-area/index.d.ts +0 -2
- package/components/text-area/text-area/text-area.component.d.ts +0 -32
- package/components/text-area/text-area.module.d.ts +0 -2
- package/components/text-area-ia/index.d.ts +0 -2
- package/components/text-area-ia/text-area-ia.component.d.ts +0 -44
- package/components/text-area-ia/text-area-ia.module.d.ts +0 -2
- package/components/thumbnail/index.d.ts +0 -3
- package/components/thumbnail/thumbnail-size.d.ts +0 -5
- package/components/thumbnail/thumbnail.component.d.ts +0 -24
- package/components/thumbnail/thumbnail.module.d.ts +0 -2
- package/components/thumbnail/thumbnail.service.d.ts +0 -7
- package/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +0 -3
- package/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +0 -8
- package/components/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +0 -20
- package/components/thumbnails/index.d.ts +0 -3
- package/components/thumbnails/models/thumbnails-item.d.ts +0 -20
- package/components/thumbnails/thumbnails.component.d.ts +0 -17
- package/components/thumbnails/thumbnails.module.d.ts +0 -2
- package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +0 -32
- package/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +0 -2
- package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -15
- package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -24
- package/components/tiered-menu/index.d.ts +0 -3
- package/components/tiered-menu/models/index.d.ts +0 -2
- package/components/tiered-menu/models/tiered-menu-item-data.d.ts +0 -9
- package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +0 -6
- package/components/tiered-menu/services/tiered-menu.event.service.d.ts +0 -11
- package/components/tiered-menu/services/tiered-menu.global.service.d.ts +0 -4
- package/components/tiered-menu/services/tiered-menu.service.d.ts +0 -12
- package/components/tiered-menu/tiered-menu.directive.d.ts +0 -41
- package/components/tiered-menu/tiered-menu.module.d.ts +0 -2
- package/components/tiered-menu/utils.d.ts +0 -2
- package/components/tile/index.d.ts +0 -2
- package/components/tile/tile.component.d.ts +0 -16
- package/components/tile/tile.module.d.ts +0 -2
- package/components/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +0 -6
- package/components/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +0 -2
- package/components/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +0 -7
- package/components/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +0 -2
- package/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +0 -6
- package/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +0 -10
- package/components/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +0 -2
- package/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +0 -8
- package/components/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +0 -21
- package/components/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +0 -2
- package/components/timeline/index.d.ts +0 -3
- package/components/timeline/models/index.d.ts +0 -3
- package/components/timeline/models/timeline-item.d.ts +0 -27
- package/components/timeline/timeline.component.d.ts +0 -20
- package/components/timeline/timeline.module.d.ts +0 -2
- package/components/toast/index.d.ts +0 -3
- package/components/toast/toast.component.d.ts +0 -12
- package/components/toast/toast.module.d.ts +0 -2
- package/components/toast/toast.service.d.ts +0 -12
- package/components/toast/types/toast.d.ts +0 -16
- package/components/token-list/index.d.ts +0 -3
- package/components/token-list/models/index.d.ts +0 -1
- package/components/token-list/token-list.component.d.ts +0 -13
- package/components/token-list/token-list.module.d.ts +0 -2
- package/components/tooltip/index.d.ts +0 -2
- package/components/tooltip/models/index.d.ts +0 -3
- package/components/tooltip/models/mobile-behavior.d.ts +0 -4
- package/components/tooltip/models/tooltip-event.d.ts +0 -4
- package/components/tooltip/models/tooltip-position.d.ts +0 -6
- package/components/tooltip/tooltip.component.d.ts +0 -9
- package/components/tooltip/tooltip.directive.d.ts +0 -57
- package/components/tooltip/tooltip.module.d.ts +0 -2
- package/components/tree/Models/tree.models.d.ts +0 -28
- package/components/tree/components/tree-node-item/tree-node-item.component.d.ts +0 -35
- package/components/tree/index.d.ts +0 -3
- package/components/tree/tree.component.d.ts +0 -33
- package/components/tree/tree.module.d.ts +0 -2
- package/components/utils/debouce.d.ts +0 -4
- package/components/utils/export-utils.d.ts +0 -9
- package/components/utils/index.d.ts +0 -5
- package/components/utils/utils.d.ts +0 -25
- package/components/workspace-switch/index.d.ts +0 -3
- package/components/workspace-switch/models/index.d.ts +0 -1
- package/components/workspace-switch/workspace-switch.component.d.ts +0 -30
- package/components/workspace-switch/workspace-switch.module.d.ts +0 -2
- package/esm2015/angular-components.module.js +0 -22
- package/esm2015/components/accessibility-events/accessibility-events.module.js +0 -17
- package/esm2015/components/accessibility-events/directives/accessibility-event.directive.js +0 -61
- package/esm2015/components/accessibility-events/index.js +0 -3
- package/esm2015/components/accordion/accordion.component.js +0 -100
- package/esm2015/components/accordion/accordion.module.js +0 -31
- package/esm2015/components/accordion/components/accordion-panel/accordion-panel.component.js +0 -118
- package/esm2015/components/accordion/index.js +0 -4
- package/esm2015/components/accordion/models/accordion-button-settings.js +0 -1
- package/esm2015/components/accordion/models/accordion-switch-settings.js +0 -1
- package/esm2015/components/alert/alert.component.js +0 -47
- package/esm2015/components/alert/alert.module.js +0 -15
- package/esm2015/components/alert/index.js +0 -3
- package/esm2015/components/badge/badge.component.js +0 -61
- package/esm2015/components/badge/badge.module.js +0 -17
- package/esm2015/components/badge/index.js +0 -4
- package/esm2015/components/badge/models/badge-colors.js +0 -12
- package/esm2015/components/badge/models/badge-types.js +0 -6
- package/esm2015/components/badge/models/index.js +0 -3
- package/esm2015/components/bignumber-input/bignumber-input.directive.js +0 -148
- package/esm2015/components/bignumber-input/bignumber-input.module.js +0 -15
- package/esm2015/components/bignumber-input/index.js +0 -3
- package/esm2015/components/breadcrumb/breadcrumb.component.js +0 -90
- package/esm2015/components/breadcrumb/breadcrumb.module.js +0 -17
- package/esm2015/components/breadcrumb/index.js +0 -3
- package/esm2015/components/button/button.component.js +0 -138
- package/esm2015/components/button/button.module.js +0 -20
- package/esm2015/components/button/index.js +0 -6
- package/esm2015/components/button/models/button-animation.js +0 -5
- package/esm2015/components/button/models/button-badge-config.js +0 -1
- package/esm2015/components/button/models/button-priority.js +0 -9
- package/esm2015/components/button/models/button-size.js +0 -6
- package/esm2015/components/calendar-mask/calendar-mask.directive.js +0 -573
- package/esm2015/components/calendar-mask/calendar-mask.module.js +0 -15
- package/esm2015/components/calendar-mask/index.js +0 -3
- package/esm2015/components/card/card.component.js +0 -73
- package/esm2015/components/card/card.module.js +0 -16
- package/esm2015/components/card/index.js +0 -4
- package/esm2015/components/card/models/card-template-types.js +0 -7
- package/esm2015/components/chat/chat.component.js +0 -32
- package/esm2015/components/chat/chat.module.js +0 -18
- package/esm2015/components/chat/components/chat-message/chat-message.component.js +0 -28
- package/esm2015/components/chat/index.js +0 -3
- package/esm2015/components/chat/types/chat-message.js +0 -1
- package/esm2015/components/checkbox/checkbox.component.js +0 -107
- package/esm2015/components/checkbox/checkbox.module.js +0 -16
- package/esm2015/components/checkbox/index.js +0 -3
- package/esm2015/components/checkbox/models/checkbox-data.js +0 -1
- package/esm2015/components/checkbox/models/checkbox-state.js +0 -1
- package/esm2015/components/checkbox/models/index.js +0 -1
- package/esm2015/components/chips/chip-item/chip-item.component.js +0 -68
- package/esm2015/components/chips/chips/chips.component.js +0 -228
- package/esm2015/components/chips/chips.module.js +0 -24
- package/esm2015/components/chips/index.js +0 -3
- package/esm2015/components/chips/models/chip-models.js +0 -1
- package/esm2015/components/code-editor/code-editor.component.js +0 -116
- package/esm2015/components/code-editor/code-editor.module.js +0 -24
- package/esm2015/components/code-editor/core/facades/core-facade.js +0 -91
- package/esm2015/components/code-editor/core/facades/linter-facade.js +0 -1
- package/esm2015/components/code-editor/core/models/enums/marker-severity.js +0 -7
- package/esm2015/components/code-editor/core/models/index.js +0 -3
- package/esm2015/components/code-editor/core/models/interfaces/marker.js +0 -1
- package/esm2015/components/code-editor/core/use-cases/core-linters.js +0 -9
- package/esm2015/components/code-editor/index.js +0 -5
- package/esm2015/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +0 -120
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +0 -17
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.js +0 -67
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.js +0 -29
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.js +0 -29
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.js +0 -17
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.js +0 -75
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.js +0 -4
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.js +0 -35
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.js +0 -341
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.js +0 -34
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.js +0 -18
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.js +0 -37
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.js +0 -10
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.js +0 -8
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.js +0 -12
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.js +0 -36
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.js +0 -9
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.js +0 -7
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.js +0 -10
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.js +0 -9
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.js +0 -15
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.js +0 -16
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.js +0 -3
- package/esm2015/components/code-editor/infra/cores/codemirror-6/models/index.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/models/types/editor-theme.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.js +0 -15
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.js +0 -61
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.js +0 -29
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.js +0 -25
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.js +0 -18
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.js +0 -16
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.js +0 -13
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.js +0 -22
- package/esm2015/components/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.js +0 -18
- package/esm2015/components/code-editor/infra/cores/codemirror-6/utils/index.js +0 -3
- package/esm2015/components/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.js +0 -6
- package/esm2015/components/code-editor/infra/utils/custom-http-client/custom-http-client.js +0 -80
- package/esm2015/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.js +0 -13
- package/esm2015/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.js +0 -12
- package/esm2015/components/code-editor/infra/utils/custom-http-client/json-response-formatters/index.js +0 -3
- package/esm2015/components/code-editor/infra/utils/custom-translations/custom-translations-service.js +0 -37
- package/esm2015/components/code-editor/infra/utils/custom-translations/custom-translations.module.js +0 -30
- package/esm2015/components/code-editor/infra/utils/custom-translations/index.js +0 -3
- package/esm2015/components/code-editor/infra/utils/custom-translations/models/index.js +0 -1
- package/esm2015/components/code-editor/infra/utils/custom-translations/models/interfaces/translations.js +0 -1
- package/esm2015/components/code-editor/infra/utils/index.js +0 -3
- package/esm2015/components/code-editor/models/enums/languages.js +0 -6
- package/esm2015/components/code-editor/models/enums/themes.js +0 -5
- package/esm2015/components/code-editor/models/index.js +0 -4
- package/esm2015/components/code-editor/models/interfaces/editor-options.js +0 -1
- package/esm2015/components/collapse-link/collapse-link.component.js +0 -73
- package/esm2015/components/collapse-link/collapse-link.module.js +0 -15
- package/esm2015/components/collapse-link/index.js +0 -3
- package/esm2015/components/control-errors/control-errors.component.js +0 -37
- package/esm2015/components/control-errors/control-errors.module.js +0 -16
- package/esm2015/components/control-errors/index.js +0 -3
- package/esm2015/components/country-phone-picker/country-phone-picker.component.js +0 -301
- package/esm2015/components/country-phone-picker/country-phone-picker.module.js +0 -27
- package/esm2015/components/country-phone-picker/country-phone-picker.service.js +0 -43
- package/esm2015/components/country-phone-picker/index.js +0 -5
- package/esm2015/components/country-phone-picker/models/country-phone-data.js +0 -1
- package/esm2015/components/country-phone-picker/models/index.js +0 -2
- package/esm2015/components/country-phone-picker/models/ordination.js +0 -7
- package/esm2015/components/country-phone-picker/models/phone-selection-data.js +0 -1
- package/esm2015/components/country-phone-picker/resources/countries.js +0 -228
- package/esm2015/components/country-phone-picker/resources/index.js +0 -2
- package/esm2015/components/custom-fields/custom-fields.component.js +0 -609
- package/esm2015/components/custom-fields/custom-fields.module.js +0 -30
- package/esm2015/components/custom-fields/custom-fields.service.js +0 -36
- package/esm2015/components/custom-fields/index.js +0 -4
- package/esm2015/components/custom-fields/models/custom-field-type.js +0 -17
- package/esm2015/components/dynamic-form/components/dynamic-field/dynamic-field.component.js +0 -37
- package/esm2015/components/dynamic-form/components/field-label/field-label.component.js +0 -18
- package/esm2015/components/dynamic-form/components/field-label/field-label.module.js +0 -19
- package/esm2015/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.js +0 -32
- package/esm2015/components/dynamic-form/components/fields/base-field-component.js +0 -9
- package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +0 -113
- package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +0 -32
- package/esm2015/components/dynamic-form/components/fields/boolean/boolean-field.component.js +0 -20
- package/esm2015/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.js +0 -17
- package/esm2015/components/dynamic-form/components/fields/button-field/button-field.component.js +0 -31
- package/esm2015/components/dynamic-form/components/fields/calendar/calendar-field.component.js +0 -106
- package/esm2015/components/dynamic-form/components/fields/checkbox/checkbox-field.component.js +0 -17
- package/esm2015/components/dynamic-form/components/fields/checkbox/checkbox-field.module.js +0 -17
- package/esm2015/components/dynamic-form/components/fields/chips/chips-field.component.js +0 -53
- package/esm2015/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.js +0 -32
- package/esm2015/components/dynamic-form/components/fields/currency/currency-field.component.js +0 -71
- package/esm2015/components/dynamic-form/components/fields/currency/currency-field.module.js +0 -30
- package/esm2015/components/dynamic-form/components/fields/editor/editor-field.component.js +0 -18
- package/esm2015/components/dynamic-form/components/fields/editor/editor-field.module.js +0 -18
- package/esm2015/components/dynamic-form/components/fields/file-upload/file-upload.component.js +0 -51
- package/esm2015/components/dynamic-form/components/fields/index.js +0 -22
- package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +0 -17
- package/esm2015/components/dynamic-form/components/fields/number/number-field.component.js +0 -109
- package/esm2015/components/dynamic-form/components/fields/number/number-field.module.js +0 -34
- package/esm2015/components/dynamic-form/components/fields/password/password-field.component.js +0 -77
- package/esm2015/components/dynamic-form/components/fields/password/password-field.module.js +0 -30
- package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +0 -17
- package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.js +0 -24
- package/esm2015/components/dynamic-form/components/fields/radio-button/radio-button-field.component.js +0 -60
- package/esm2015/components/dynamic-form/components/fields/select/select-field.component.js +0 -18
- package/esm2015/components/dynamic-form/components/fields/slider/slider-field.component.js +0 -111
- package/esm2015/components/dynamic-form/components/fields/text/text-field.component.js +0 -86
- package/esm2015/components/dynamic-form/components/fields/text/text-field.module.js +0 -32
- package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +0 -26
- package/esm2015/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +0 -92
- package/esm2015/components/dynamic-form/components/grid/row/row.component.js +0 -77
- package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +0 -585
- package/esm2015/components/dynamic-form/components/lookup/models/default-filter.js +0 -1
- package/esm2015/components/dynamic-form/components/lookup/models/index.js +0 -1
- package/esm2015/components/dynamic-form/components/structure/base-structure-component.js +0 -1
- package/esm2015/components/dynamic-form/components/structure/fieldset/fieldset.component.js +0 -31
- package/esm2015/components/dynamic-form/components/structure/section/section.component.js +0 -52
- package/esm2015/components/dynamic-form/configurations/addon-config.js +0 -1
- package/esm2015/components/dynamic-form/configurations/dynamic-config.js +0 -71
- package/esm2015/components/dynamic-form/configurations/dynamic-type.js +0 -26
- package/esm2015/components/dynamic-form/configurations/field-size.js +0 -9
- package/esm2015/components/dynamic-form/configurations/field-type.js +0 -32
- package/esm2015/components/dynamic-form/configurations/fields/autocomplete-field.js +0 -11
- package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +0 -23
- package/esm2015/components/dynamic-form/configurations/fields/blob-field.js +0 -19
- package/esm2015/components/dynamic-form/configurations/fields/boolean-field.js +0 -21
- package/esm2015/components/dynamic-form/configurations/fields/boolean-switch-field.js +0 -13
- package/esm2015/components/dynamic-form/configurations/fields/button-field.js +0 -30
- package/esm2015/components/dynamic-form/configurations/fields/calendar-field.js +0 -37
- package/esm2015/components/dynamic-form/configurations/fields/checkbox-field.js +0 -8
- package/esm2015/components/dynamic-form/configurations/fields/chips-field.js +0 -17
- package/esm2015/components/dynamic-form/configurations/fields/country-phone-picker-field.js +0 -11
- package/esm2015/components/dynamic-form/configurations/fields/currency-field.js +0 -12
- package/esm2015/components/dynamic-form/configurations/fields/decimal-field.js +0 -14
- package/esm2015/components/dynamic-form/configurations/fields/editor-field.js +0 -11
- package/esm2015/components/dynamic-form/configurations/fields/field.js +0 -41
- package/esm2015/components/dynamic-form/configurations/fields/index.js +0 -22
- package/esm2015/components/dynamic-form/configurations/fields/lookup-field.js +0 -33
- package/esm2015/components/dynamic-form/configurations/fields/number-field.js +0 -23
- package/esm2015/components/dynamic-form/configurations/fields/password-field.js +0 -20
- package/esm2015/components/dynamic-form/configurations/fields/profile-picture.js +0 -21
- package/esm2015/components/dynamic-form/configurations/fields/radio-button-field.js +0 -19
- package/esm2015/components/dynamic-form/configurations/fields/select-field.js +0 -26
- package/esm2015/components/dynamic-form/configurations/fields/slider-field.js +0 -21
- package/esm2015/components/dynamic-form/configurations/fields/text-area-field.js +0 -20
- package/esm2015/components/dynamic-form/configurations/fields/text-area-ia-field.js +0 -21
- package/esm2015/components/dynamic-form/configurations/fields/text-field.js +0 -24
- package/esm2015/components/dynamic-form/configurations/form-field.js +0 -92
- package/esm2015/components/dynamic-form/configurations/grid/grid.js +0 -10
- package/esm2015/components/dynamic-form/configurations/grid/row.js +0 -7
- package/esm2015/components/dynamic-form/configurations/grid-type.js +0 -5
- package/esm2015/components/dynamic-form/configurations/structure/fieldset.js +0 -8
- package/esm2015/components/dynamic-form/configurations/structure/section.js +0 -29
- package/esm2015/components/dynamic-form/configurations/structure/structure.js +0 -7
- package/esm2015/components/dynamic-form/configurations/structure-type.js +0 -6
- package/esm2015/components/dynamic-form/dynamic-form.component.js +0 -32
- package/esm2015/components/dynamic-form/dynamic-form.directive.js +0 -80
- package/esm2015/components/dynamic-form/dynamic-form.js +0 -196
- package/esm2015/components/dynamic-form/dynamic-form.module.js +0 -191
- package/esm2015/components/dynamic-form/index.js +0 -31
- package/esm2015/components/dynamic-form/services/IAssist/iassist.service.js +0 -75
- package/esm2015/components/dynamic-form/services/IAssist/models/iassist-input-data.js +0 -1
- package/esm2015/components/dynamic-form/services/IAssist/models/iassist-response.js +0 -1
- package/esm2015/components/dynamic-form/services/IAssist/models/index.js +0 -1
- package/esm2015/components/editable-overlay/editable-overlay.directive.js +0 -42
- package/esm2015/components/editable-overlay/editable-overlay.module.js +0 -15
- package/esm2015/components/editable-overlay/index.js +0 -3
- package/esm2015/components/empty-state/empty-state.component.js +0 -57
- package/esm2015/components/empty-state/empty-state.module.js +0 -19
- package/esm2015/components/empty-state/go-back/go-back.component.js +0 -37
- package/esm2015/components/empty-state/index.js +0 -3
- package/esm2015/components/fieldset/fieldset.component.js +0 -68
- package/esm2015/components/fieldset/fieldset.models.js +0 -1
- package/esm2015/components/fieldset/fieldset.module.js +0 -16
- package/esm2015/components/fieldset/index.js +0 -3
- package/esm2015/components/file-upload/file-upload.component.js +0 -285
- package/esm2015/components/file-upload/file-upload.module.js +0 -27
- package/esm2015/components/file-upload/file-upload.service.js +0 -19
- package/esm2015/components/file-upload/index.js +0 -4
- package/esm2015/components/file-upload/models/file-dto.js +0 -1
- package/esm2015/components/file-upload/models/file-upload-permissions.js +0 -12
- package/esm2015/components/file-upload/models/index.js +0 -3
- package/esm2015/components/file-upload/models/list-blob-metadata.js +0 -1
- package/esm2015/components/file-upload/models/uploadError.js +0 -1
- package/esm2015/components/file-upload/models/validate-errors.js +0 -8
- package/esm2015/components/gantt/components/gantt/arrow.js +0 -82
- package/esm2015/components/gantt/components/gantt/bar.js +0 -264
- package/esm2015/components/gantt/components/gantt/gantt-options.js +0 -20
- package/esm2015/components/gantt/components/gantt/gantt.js +0 -808
- package/esm2015/components/gantt/components/gantt/popup.js +0 -100
- package/esm2015/components/gantt/components/gantt/utils/date-utils.js +0 -127
- package/esm2015/components/gantt/components/gantt/utils/svg-utils.js +0 -119
- package/esm2015/components/gantt/components/side-table/side-table.component.js +0 -32
- package/esm2015/components/gantt/gantt.component.js +0 -160
- package/esm2015/components/gantt/gantt.module.js +0 -20
- package/esm2015/components/gantt/index.js +0 -4
- package/esm2015/components/gantt/models/index.js +0 -2
- package/esm2015/components/gantt/models/options.js +0 -1
- package/esm2015/components/gantt/models/task.js +0 -1
- package/esm2015/components/gantt/models/view-mode.js +0 -12
- package/esm2015/components/global-search/elements/dropdown/global-search-dropdown-item.component.js +0 -76
- package/esm2015/components/global-search/global-search-size.enum.js +0 -7
- package/esm2015/components/global-search/global-search.component.js +0 -135
- package/esm2015/components/global-search/global-search.module.js +0 -50
- package/esm2015/components/global-search/index.js +0 -5
- package/esm2015/components/grid-menu/components/grid-menu-item/grid-menu-item.component.js +0 -66
- package/esm2015/components/grid-menu/grid-menu.component.js +0 -61
- package/esm2015/components/grid-menu/grid-menu.module.js +0 -17
- package/esm2015/components/grid-menu/index.js +0 -3
- package/esm2015/components/grid-menu/types/grid-menu-item.js +0 -1
- package/esm2015/components/help-popover/help-popover/help-popover.component.js +0 -82
- package/esm2015/components/help-popover/help-popover.directive.js +0 -328
- package/esm2015/components/help-popover/help-popover.module.js +0 -20
- package/esm2015/components/help-popover/index.js +0 -4
- package/esm2015/components/help-popover/models/help-popover.models.js +0 -1
- package/esm2015/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.js +0 -13
- package/esm2015/components/ia-insight/components/ia-insight-card/ia-insight-card.component.js +0 -94
- package/esm2015/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.js +0 -60
- package/esm2015/components/ia-insight/ia-insight.component.js +0 -82
- package/esm2015/components/ia-insight/ia-insight.module.js +0 -40
- package/esm2015/components/ia-insight/index.js +0 -4
- package/esm2015/components/ia-insight/models/ia-insight-item.js +0 -1
- package/esm2015/components/ia-insight/models/ia-insight-template-types.js +0 -7
- package/esm2015/components/ia-insight/models/index.js +0 -2
- package/esm2015/components/image-cropper/image-cropper.component.js +0 -183
- package/esm2015/components/image-cropper/image-cropper.module.js +0 -20
- package/esm2015/components/image-cropper/image-cropper.service.js +0 -62
- package/esm2015/components/image-cropper/index.js +0 -4
- package/esm2015/components/index.js +0 -77
- package/esm2015/components/infinite-scroll/infinite-scroll.directive.js +0 -30
- package/esm2015/components/infinite-scroll/infinite-scroll.module.js +0 -21
- package/esm2015/components/info-sign/index.js +0 -3
- package/esm2015/components/info-sign/info-sign.component.js +0 -13
- package/esm2015/components/info-sign/info-sign.directive.js +0 -68
- package/esm2015/components/info-sign/info-sign.module.js +0 -24
- package/esm2015/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.js +0 -51
- package/esm2015/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.js +0 -30
- package/esm2015/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.js +0 -75
- package/esm2015/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.js +0 -30
- package/esm2015/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.js +0 -30
- package/esm2015/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.js +0 -30
- package/esm2015/components/inline-edit/components/index.js +0 -8
- package/esm2015/components/inline-edit/components/inline-edit-item/inline-edit-item.component.js +0 -98
- package/esm2015/components/inline-edit/fields/index.js +0 -8
- package/esm2015/components/inline-edit/fields/inline-edit-calendar-field.js +0 -26
- package/esm2015/components/inline-edit/fields/inline-edit-field.js +0 -9
- package/esm2015/components/inline-edit/fields/inline-edit-lookup-field.js +0 -32
- package/esm2015/components/inline-edit/fields/inline-edit-number-field.js +0 -24
- package/esm2015/components/inline-edit/fields/inline-edit-text-area-field.js +0 -11
- package/esm2015/components/inline-edit/fields/inline-edit-text-area-ia-field.js +0 -7
- package/esm2015/components/inline-edit/fields/inline-edit-text-field.js +0 -7
- package/esm2015/components/inline-edit/index.js +0 -4
- package/esm2015/components/inline-edit/inline-edit.component.js +0 -70
- package/esm2015/components/inline-edit/inline-edit.module.js +0 -62
- package/esm2015/components/kanban/components/kanban-column/kanban-column.component.js +0 -96
- package/esm2015/components/kanban/components/kanban-item/kanban-item.component.js +0 -60
- package/esm2015/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.js +0 -19
- package/esm2015/components/kanban/index.js +0 -4
- package/esm2015/components/kanban/kanban-event.service.js +0 -27
- package/esm2015/components/kanban/kanban.component.js +0 -217
- package/esm2015/components/kanban/kanban.module.js +0 -45
- package/esm2015/components/kanban/models/index.js +0 -2
- package/esm2015/components/kanban/models/kanban-data.js +0 -1
- package/esm2015/components/kanban/models/kanban-template-types.js +0 -9
- package/esm2015/components/label-value/index.js +0 -3
- package/esm2015/components/label-value/label-value.component.js +0 -31
- package/esm2015/components/label-value/label-value.module.js +0 -20
- package/esm2015/components/label-value/types/label-value-configuration.js +0 -1
- package/esm2015/components/loading-state/components/dots-indicator/dots-indicator.components.js +0 -13
- package/esm2015/components/loading-state/components/loading-state-indicators.js +0 -6
- package/esm2015/components/loading-state/components/logo-indicator/logo-indicator.component.js +0 -13
- package/esm2015/components/loading-state/index.js +0 -4
- package/esm2015/components/loading-state/loading-state.component.js +0 -73
- package/esm2015/components/loading-state/loading-state.directive.js +0 -60
- package/esm2015/components/loading-state/loading-state.module.js +0 -31
- package/esm2015/components/locale/index.js +0 -11
- package/esm2015/components/locale/locale.module.js +0 -71
- package/esm2015/components/locale/locale.service.js +0 -89
- package/esm2015/components/locale/options/calendar.js +0 -29
- package/esm2015/components/locale/options/index.js +0 -24
- package/esm2015/components/locale/options/number.js +0 -9
- package/esm2015/components/locale/pipes/localized-bignumber-impure.pipe.js +0 -16
- package/esm2015/components/locale/pipes/localized-bignumber.pipe.js +0 -39
- package/esm2015/components/locale/pipes/localized-currency-impure.pipe.js +0 -19
- package/esm2015/components/locale/pipes/localized-currency.pipe.js +0 -53
- package/esm2015/components/locale/pipes/localized-date-impure.pipe.js +0 -13
- package/esm2015/components/locale/pipes/localized-date.pipe.js +0 -24
- package/esm2015/components/locale/pipes/localized-number.pipe.js +0 -31
- package/esm2015/components/locale/pipes/localized-time-impure.pipe.js +0 -13
- package/esm2015/components/locale/pipes/localized-time.pipe.js +0 -24
- package/esm2015/components/locale/pipes/numeric.pipe.js +0 -28
- package/esm2015/components/locale/services/numeric.service.js +0 -86
- package/esm2015/components/localized-number-input/index.js +0 -3
- package/esm2015/components/localized-number-input/localized-number-input.directive.js +0 -58
- package/esm2015/components/localized-number-input/localized-number-input.module.js +0 -15
- package/esm2015/components/mask/index.js +0 -3
- package/esm2015/components/mask/mask-formatter.module.js +0 -13
- package/esm2015/components/mask/mask-formatter.pipe.js +0 -71
- package/esm2015/components/mouse-events/double-click.directive.js +0 -38
- package/esm2015/components/mouse-events/index.js +0 -4
- package/esm2015/components/mouse-events/long-press.directive.js +0 -49
- package/esm2015/components/mouse-events/mouse-events.module.js +0 -22
- package/esm2015/components/navigation-button/index.js +0 -3
- package/esm2015/components/navigation-button/models/index.js +0 -1
- package/esm2015/components/navigation-button/models/navigation-button-item.js +0 -1
- package/esm2015/components/navigation-button/models/navigation-button-step-changed-info.js +0 -1
- package/esm2015/components/navigation-button/navigation-button.component.js +0 -126
- package/esm2015/components/navigation-button/navigation-button.module.js +0 -17
- package/esm2015/components/number-input/index.js +0 -3
- package/esm2015/components/number-input/number-input.directive.js +0 -162
- package/esm2015/components/number-input/number-input.module.js +0 -18
- package/esm2015/components/object-card/elements/field/object-card-field.component.js +0 -53
- package/esm2015/components/object-card/elements/main/object-card-main.component.js +0 -93
- package/esm2015/components/object-card/index.js +0 -5
- package/esm2015/components/object-card/object-card.component.js +0 -137
- package/esm2015/components/object-card/object-card.module.js +0 -21
- package/esm2015/components/panel/index.js +0 -3
- package/esm2015/components/panel/panel.component.js +0 -84
- package/esm2015/components/panel/panel.module.js +0 -17
- package/esm2015/components/password-strength/index.js +0 -5
- package/esm2015/components/password-strength/models/index.js +0 -3
- package/esm2015/components/password-strength/models/password-positions.js +0 -7
- package/esm2015/components/password-strength/models/password-strengths.js +0 -8
- package/esm2015/components/password-strength/password-strength.component.js +0 -95
- package/esm2015/components/password-strength/password-strength.directive.js +0 -196
- package/esm2015/components/password-strength/password-strength.module.js +0 -19
- package/esm2015/components/picklist/index.js +0 -5
- package/esm2015/components/picklist/picklist/models/picklist-models.js +0 -6
- package/esm2015/components/picklist/picklist/picklist.component.js +0 -305
- package/esm2015/components/picklist/picklist.module.js +0 -25
- package/esm2015/components/product-header/index.js +0 -3
- package/esm2015/components/product-header/product-header.component.js +0 -45
- package/esm2015/components/product-header/product-header.module.js +0 -17
- package/esm2015/components/profile-picture-picker/index.js +0 -4
- package/esm2015/components/profile-picture-picker/models/confirmation-texts.js +0 -1
- package/esm2015/components/profile-picture-picker/models/cropper-labels-config.js +0 -1
- package/esm2015/components/profile-picture-picker/models/file-validation-errors.js +0 -8
- package/esm2015/components/profile-picture-picker/models/index.js +0 -2
- package/esm2015/components/profile-picture-picker/models/profile-picture-picker-data.js +0 -1
- package/esm2015/components/profile-picture-picker/profile-picture-picker.component.js +0 -262
- package/esm2015/components/profile-picture-picker/profile-picture-picker.module.js +0 -33
- package/esm2015/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.js +0 -61
- package/esm2015/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.js +0 -19
- package/esm2015/components/progressbar/index.js +0 -4
- package/esm2015/components/progressbar/models/index.js +0 -3
- package/esm2015/components/progressbar/models/progressbar-colors.js +0 -8
- package/esm2015/components/progressbar/models/progressbar-mode.js +0 -6
- package/esm2015/components/progressbar/progressbar.component.js +0 -62
- package/esm2015/components/progressbar/progressbar.module.js +0 -21
- package/esm2015/components/rating-scale/index.js +0 -3
- package/esm2015/components/rating-scale/models/index.js +0 -1
- package/esm2015/components/rating-scale/models/rating-scale-node.js +0 -1
- package/esm2015/components/rating-scale/rating-scale.component.js +0 -52
- package/esm2015/components/rating-scale/rating-scale.module.js +0 -19
- package/esm2015/components/select-button/components/select-button-item/select-button-item.component.js +0 -34
- package/esm2015/components/select-button/index.js +0 -3
- package/esm2015/components/select-button/models/index.js +0 -1
- package/esm2015/components/select-button/models/select-button-item.js +0 -1
- package/esm2015/components/select-button/select-button.component.js +0 -114
- package/esm2015/components/select-button/select-button.module.js +0 -19
- package/esm2015/components/shared/border-button/border-button.component.js +0 -26
- package/esm2015/components/shared/border-button/border-button.module.js +0 -16
- package/esm2015/components/shared/helpers.js +0 -30
- package/esm2015/components/shared/index.js +0 -3
- package/esm2015/components/shared/models/border-button-options.js +0 -1
- package/esm2015/components/shared/models/enum-severity.js +0 -9
- package/esm2015/components/sidebar/index.js +0 -3
- package/esm2015/components/sidebar/sidebar.component.js +0 -72
- package/esm2015/components/sidebar/sidebar.module.js +0 -19
- package/esm2015/components/slide-panel/index.js +0 -3
- package/esm2015/components/slide-panel/slide-panel.component.js +0 -140
- package/esm2015/components/slide-panel/slide-panel.module.js +0 -17
- package/esm2015/components/slide-panel/slide-panel.service.js +0 -27
- package/esm2015/components/slider/index.js +0 -3
- package/esm2015/components/slider/slider.component.js +0 -620
- package/esm2015/components/slider/slider.module.js +0 -16
- package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js +0 -224
- package/esm2015/components/speech-recognition/speech-recognition.module.js +0 -19
- package/esm2015/components/speech-recognition/speech-recognition.service.js +0 -151
- package/esm2015/components/speech-recognition/text-to-speech.service.js +0 -84
- package/esm2015/components/split-button/index.js +0 -4
- package/esm2015/components/split-button/models/split-button-option.js +0 -1
- package/esm2015/components/split-button/models/split-button-type.js +0 -7
- package/esm2015/components/split-button/split-button.component.js +0 -68
- package/esm2015/components/split-button/split-button.module.js +0 -15
- package/esm2015/components/stats-card/index.js +0 -3
- package/esm2015/components/stats-card/stats-card.component.js +0 -124
- package/esm2015/components/stats-card/stats-card.module.js +0 -23
- package/esm2015/components/steps/index.js +0 -3
- package/esm2015/components/steps/steps.component.js +0 -97
- package/esm2015/components/steps/steps.module.js +0 -16
- package/esm2015/components/structure/footer.component.js +0 -12
- package/esm2015/components/structure/header.component.js +0 -18
- package/esm2015/components/structure/index.js +0 -4
- package/esm2015/components/structure/structure.module.js +0 -16
- package/esm2015/components/switch/index.js +0 -3
- package/esm2015/components/switch/switch.component.js +0 -92
- package/esm2015/components/switch/switch.module.js +0 -15
- package/esm2015/components/table/frozen-position/frozen-position.directive.js +0 -203
- package/esm2015/components/table/index.js +0 -6
- package/esm2015/components/table/navigation/navigation.directive.js +0 -134
- package/esm2015/components/table/row-toggler/row-toggler.directive.js +0 -36
- package/esm2015/components/table/table-column/index.js +0 -2
- package/esm2015/components/table/table-column/models/badge-column.interface.js +0 -1
- package/esm2015/components/table/table-column/models/badge-configs.interface.js +0 -1
- package/esm2015/components/table/table-column/models/column-colors.js +0 -1
- package/esm2015/components/table/table-column/models/column-values.interface.js +0 -1
- package/esm2015/components/table/table-column/models/column.interface.js +0 -1
- package/esm2015/components/table/table-column/models/dynamic-editable-grid.interface.js +0 -1
- package/esm2015/components/table/table-column/models/enum-badge-colors.js +0 -10
- package/esm2015/components/table/table-column/models/enum-column-field-type.js +0 -13
- package/esm2015/components/table/table-column/models/index.js +0 -3
- package/esm2015/components/table/table-column/models/locale-options.interface.js +0 -1
- package/esm2015/components/table/table-column/models/number-locale-options.interface.js +0 -1
- package/esm2015/components/table/table-column/table-columns.component.js +0 -285
- package/esm2015/components/table/table-paging/index.js +0 -1
- package/esm2015/components/table/table-paging/models/custom-action.interface.js +0 -1
- package/esm2015/components/table/table-paging/models/index.js +0 -1
- package/esm2015/components/table/table-paging/table-paging.component.js +0 -313
- package/esm2015/components/table/table.module.js +0 -45
- package/esm2015/components/table-header/index.js +0 -3
- package/esm2015/components/table-header/table-header-checkbox.component.js +0 -141
- package/esm2015/components/table-header/table-header-checkox.module.js +0 -15
- package/esm2015/components/template/index.js +0 -3
- package/esm2015/components/template/template.directive.js +0 -20
- package/esm2015/components/template/template.module.js +0 -15
- package/esm2015/components/text-area/index.js +0 -3
- package/esm2015/components/text-area/text-area/text-area.component.js +0 -115
- package/esm2015/components/text-area/text-area.module.js +0 -24
- package/esm2015/components/text-area-ia/index.js +0 -3
- package/esm2015/components/text-area-ia/text-area-ia.component.js +0 -144
- package/esm2015/components/text-area-ia/text-area-ia.module.js +0 -32
- package/esm2015/components/thumbnail/index.js +0 -4
- package/esm2015/components/thumbnail/thumbnail-size.js +0 -7
- package/esm2015/components/thumbnail/thumbnail.component.js +0 -80
- package/esm2015/components/thumbnail/thumbnail.module.js +0 -17
- package/esm2015/components/thumbnail/thumbnail.service.js +0 -61
- package/esm2015/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.js +0 -16
- package/esm2015/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.js +0 -41
- package/esm2015/components/thumbnails/components/thumbnail-item/thumbnail-item.component.js +0 -66
- package/esm2015/components/thumbnails/index.js +0 -3
- package/esm2015/components/thumbnails/models/thumbnails-item.js +0 -1
- package/esm2015/components/thumbnails/thumbnails.component.js +0 -56
- package/esm2015/components/thumbnails/thumbnails.module.js +0 -21
- package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +0 -283
- package/esm2015/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +0 -13
- package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +0 -76
- package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +0 -178
- package/esm2015/components/tiered-menu/index.js +0 -3
- package/esm2015/components/tiered-menu/models/index.js +0 -1
- package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +0 -1
- package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +0 -1
- package/esm2015/components/tiered-menu/services/tiered-menu.event.service.js +0 -18
- package/esm2015/components/tiered-menu/services/tiered-menu.global.service.js +0 -9
- package/esm2015/components/tiered-menu/services/tiered-menu.service.js +0 -51
- package/esm2015/components/tiered-menu/tiered-menu.directive.js +0 -220
- package/esm2015/components/tiered-menu/tiered-menu.module.js +0 -29
- package/esm2015/components/tiered-menu/utils.js +0 -7
- package/esm2015/components/tile/index.js +0 -3
- package/esm2015/components/tile/tile.component.js +0 -71
- package/esm2015/components/tile/tile.module.js +0 -24
- package/esm2015/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +0 -25
- package/esm2015/components/timeline/components/horizontal-timeline/horizontal-timeline.module.js +0 -21
- package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +0 -25
- package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.module.js +0 -19
- package/esm2015/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.js +0 -26
- package/esm2015/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.js +0 -35
- package/esm2015/components/timeline/components/vertical-timeline/components/range-line/range-line.component.js +0 -13
- package/esm2015/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +0 -28
- package/esm2015/components/timeline/components/vertical-timeline/vertical-timeline.component.js +0 -53
- package/esm2015/components/timeline/components/vertical-timeline/vertical-timeline.module.js +0 -29
- package/esm2015/components/timeline/index.js +0 -4
- package/esm2015/components/timeline/models/index.js +0 -4
- package/esm2015/components/timeline/models/timeline-item-severity.js +0 -7
- package/esm2015/components/timeline/models/timeline-item-size.js +0 -6
- package/esm2015/components/timeline/models/timeline-item.js +0 -37
- package/esm2015/components/timeline/timeline.component.js +0 -66
- package/esm2015/components/timeline/timeline.module.js +0 -27
- package/esm2015/components/toast/index.js +0 -4
- package/esm2015/components/toast/toast.component.js +0 -51
- package/esm2015/components/toast/toast.module.js +0 -14
- package/esm2015/components/toast/toast.service.js +0 -68
- package/esm2015/components/toast/types/toast.js +0 -1
- package/esm2015/components/token-list/index.js +0 -3
- package/esm2015/components/token-list/models/index.js +0 -1
- package/esm2015/components/token-list/models/token.js +0 -1
- package/esm2015/components/token-list/token-list.component.js +0 -50
- package/esm2015/components/token-list/token-list.module.js +0 -15
- package/esm2015/components/tooltip/index.js +0 -3
- package/esm2015/components/tooltip/models/index.js +0 -4
- package/esm2015/components/tooltip/models/mobile-behavior.js +0 -6
- package/esm2015/components/tooltip/models/tooltip-event.js +0 -6
- package/esm2015/components/tooltip/models/tooltip-position.js +0 -8
- package/esm2015/components/tooltip/tooltip.component.js +0 -21
- package/esm2015/components/tooltip/tooltip.directive.js +0 -331
- package/esm2015/components/tooltip/tooltip.module.js +0 -19
- package/esm2015/components/tree/Models/tree.models.js +0 -1
- package/esm2015/components/tree/components/tree-node-item/tree-node-item.component.js +0 -154
- package/esm2015/components/tree/index.js +0 -3
- package/esm2015/components/tree/tree.component.js +0 -254
- package/esm2015/components/tree/tree.module.js +0 -20
- package/esm2015/components/utils/breakpoints.js +0 -11
- package/esm2015/components/utils/debouce.js +0 -35
- package/esm2015/components/utils/export-utils.js +0 -89
- package/esm2015/components/utils/index.js +0 -6
- package/esm2015/components/utils/locale-utils.js +0 -15
- package/esm2015/components/utils/utils.js +0 -44
- package/esm2015/components/workspace-switch/index.js +0 -3
- package/esm2015/components/workspace-switch/models/index.js +0 -1
- package/esm2015/components/workspace-switch/models/workspace.js +0 -1
- package/esm2015/components/workspace-switch/workspace-switch.component.js +0 -143
- package/esm2015/components/workspace-switch/workspace-switch.module.js +0 -15
- package/esm2015/locale/fallback.js +0 -333
- package/esm2015/public-api.js +0 -5
- package/esm2015/seniorsistemas-angular-components.js +0 -117
- package/esm2015/utils/currency/currency.service.js +0 -189
- package/esm2015/utils/currency/index.js +0 -2
- package/esm2015/utils/index.js +0 -3
- package/esm2015/utils/svg-factory/components/iassist-icon/iassist-icon.component.js +0 -11
- package/esm2015/utils/svg-factory/components/senior-icon/senior-icon.component.js +0 -11
- package/esm2015/utils/svg-factory/components/svg-factory-icons.js +0 -6
- package/esm2015/utils/svg-factory/index.js +0 -3
- package/esm2015/utils/svg-factory/svg-factory.directive.js +0 -49
- package/esm2015/utils/svg-factory/svg-factory.module.js +0 -21
- package/esm5/angular-components.module.js +0 -26
- package/esm5/components/accessibility-events/accessibility-events.module.js +0 -20
- package/esm5/components/accessibility-events/directives/accessibility-event.directive.js +0 -67
- package/esm5/components/accessibility-events/index.js +0 -3
- package/esm5/components/accordion/accordion.component.js +0 -115
- package/esm5/components/accordion/accordion.module.js +0 -34
- package/esm5/components/accordion/components/accordion-panel/accordion-panel.component.js +0 -124
- package/esm5/components/accordion/index.js +0 -4
- package/esm5/components/accordion/models/accordion-button-settings.js +0 -1
- package/esm5/components/accordion/models/accordion-switch-settings.js +0 -1
- package/esm5/components/alert/alert.component.js +0 -52
- package/esm5/components/alert/alert.module.js +0 -18
- package/esm5/components/alert/index.js +0 -3
- package/esm5/components/badge/badge.component.js +0 -62
- package/esm5/components/badge/badge.module.js +0 -20
- package/esm5/components/badge/index.js +0 -4
- package/esm5/components/badge/models/badge-colors.js +0 -12
- package/esm5/components/badge/models/badge-types.js +0 -6
- package/esm5/components/badge/models/index.js +0 -3
- package/esm5/components/bignumber-input/bignumber-input.directive.js +0 -153
- package/esm5/components/bignumber-input/bignumber-input.module.js +0 -18
- package/esm5/components/bignumber-input/index.js +0 -3
- package/esm5/components/breadcrumb/breadcrumb.component.js +0 -95
- package/esm5/components/breadcrumb/breadcrumb.module.js +0 -20
- package/esm5/components/breadcrumb/index.js +0 -3
- package/esm5/components/button/button.component.js +0 -141
- package/esm5/components/button/button.module.js +0 -23
- package/esm5/components/button/index.js +0 -6
- package/esm5/components/button/models/button-animation.js +0 -5
- package/esm5/components/button/models/button-badge-config.js +0 -1
- package/esm5/components/button/models/button-priority.js +0 -9
- package/esm5/components/button/models/button-size.js +0 -6
- package/esm5/components/calendar-mask/calendar-mask.directive.js +0 -584
- package/esm5/components/calendar-mask/calendar-mask.module.js +0 -18
- package/esm5/components/calendar-mask/index.js +0 -3
- package/esm5/components/card/card.component.js +0 -79
- package/esm5/components/card/card.module.js +0 -19
- package/esm5/components/card/index.js +0 -4
- package/esm5/components/card/models/card-template-types.js +0 -7
- package/esm5/components/chat/chat.component.js +0 -34
- package/esm5/components/chat/chat.module.js +0 -21
- package/esm5/components/chat/components/chat-message/chat-message.component.js +0 -29
- package/esm5/components/chat/index.js +0 -3
- package/esm5/components/chat/types/chat-message.js +0 -1
- package/esm5/components/checkbox/checkbox.component.js +0 -116
- package/esm5/components/checkbox/checkbox.module.js +0 -19
- package/esm5/components/checkbox/index.js +0 -3
- package/esm5/components/checkbox/models/checkbox-data.js +0 -1
- package/esm5/components/checkbox/models/checkbox-state.js +0 -1
- package/esm5/components/checkbox/models/index.js +0 -1
- package/esm5/components/chips/chip-item/chip-item.component.js +0 -77
- package/esm5/components/chips/chips/chips.component.js +0 -235
- package/esm5/components/chips/chips.module.js +0 -27
- package/esm5/components/chips/index.js +0 -3
- package/esm5/components/chips/models/chip-models.js +0 -1
- package/esm5/components/code-editor/code-editor.component.js +0 -131
- package/esm5/components/code-editor/code-editor.module.js +0 -27
- package/esm5/components/code-editor/core/facades/core-facade.js +0 -102
- package/esm5/components/code-editor/core/facades/linter-facade.js +0 -1
- package/esm5/components/code-editor/core/models/enums/marker-severity.js +0 -7
- package/esm5/components/code-editor/core/models/index.js +0 -3
- package/esm5/components/code-editor/core/models/interfaces/marker.js +0 -1
- package/esm5/components/code-editor/core/use-cases/core-linters.js +0 -13
- package/esm5/components/code-editor/index.js +0 -5
- package/esm5/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +0 -132
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +0 -21
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.js +0 -25
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.js +0 -29
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.js +0 -29
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.js +0 -17
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.js +0 -68
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.js +0 -4
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.js +0 -35
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.js +0 -355
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.js +0 -46
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.js +0 -19
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.js +0 -2
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.js +0 -10
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.js +0 -8
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.js +0 -12
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.js +0 -36
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.js +0 -9
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.js +0 -7
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.js +0 -14
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.js +0 -9
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.js +0 -15
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.js +0 -27
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.js +0 -3
- package/esm5/components/code-editor/infra/cores/codemirror-6/models/index.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/models/types/editor-theme.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.js +0 -19
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.js +0 -61
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.js +0 -30
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.js +0 -25
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.js +0 -18
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.js +0 -16
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.js +0 -13
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.js +0 -22
- package/esm5/components/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.js +0 -18
- package/esm5/components/code-editor/infra/cores/codemirror-6/utils/index.js +0 -3
- package/esm5/components/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.js +0 -6
- package/esm5/components/code-editor/infra/utils/custom-http-client/custom-http-client.js +0 -126
- package/esm5/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.js +0 -21
- package/esm5/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.js +0 -14
- package/esm5/components/code-editor/infra/utils/custom-http-client/json-response-formatters/index.js +0 -3
- package/esm5/components/code-editor/infra/utils/custom-translations/custom-translations-service.js +0 -41
- package/esm5/components/code-editor/infra/utils/custom-translations/custom-translations.module.js +0 -31
- package/esm5/components/code-editor/infra/utils/custom-translations/index.js +0 -3
- package/esm5/components/code-editor/infra/utils/custom-translations/models/index.js +0 -1
- package/esm5/components/code-editor/infra/utils/custom-translations/models/interfaces/translations.js +0 -1
- package/esm5/components/code-editor/infra/utils/index.js +0 -3
- package/esm5/components/code-editor/models/enums/languages.js +0 -6
- package/esm5/components/code-editor/models/enums/themes.js +0 -5
- package/esm5/components/code-editor/models/index.js +0 -4
- package/esm5/components/code-editor/models/interfaces/editor-options.js +0 -1
- package/esm5/components/collapse-link/collapse-link.component.js +0 -75
- package/esm5/components/collapse-link/collapse-link.module.js +0 -18
- package/esm5/components/collapse-link/index.js +0 -3
- package/esm5/components/control-errors/control-errors.component.js +0 -40
- package/esm5/components/control-errors/control-errors.module.js +0 -19
- package/esm5/components/control-errors/index.js +0 -3
- package/esm5/components/country-phone-picker/country-phone-picker.component.js +0 -327
- package/esm5/components/country-phone-picker/country-phone-picker.module.js +0 -30
- package/esm5/components/country-phone-picker/country-phone-picker.service.js +0 -46
- package/esm5/components/country-phone-picker/index.js +0 -5
- package/esm5/components/country-phone-picker/models/country-phone-data.js +0 -1
- package/esm5/components/country-phone-picker/models/index.js +0 -2
- package/esm5/components/country-phone-picker/models/ordination.js +0 -7
- package/esm5/components/country-phone-picker/models/phone-selection-data.js +0 -1
- package/esm5/components/country-phone-picker/resources/countries.js +0 -228
- package/esm5/components/country-phone-picker/resources/index.js +0 -2
- package/esm5/components/custom-fields/custom-fields.component.js +0 -649
- package/esm5/components/custom-fields/custom-fields.module.js +0 -33
- package/esm5/components/custom-fields/custom-fields.service.js +0 -37
- package/esm5/components/custom-fields/index.js +0 -4
- package/esm5/components/custom-fields/models/custom-field-type.js +0 -17
- package/esm5/components/dynamic-form/components/dynamic-field/dynamic-field.component.js +0 -38
- package/esm5/components/dynamic-form/components/field-label/field-label.component.js +0 -21
- package/esm5/components/dynamic-form/components/field-label/field-label.module.js +0 -22
- package/esm5/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.js +0 -33
- package/esm5/components/dynamic-form/components/fields/base-field-component.js +0 -13
- package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +0 -122
- package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +0 -35
- package/esm5/components/dynamic-form/components/fields/boolean/boolean-field.component.js +0 -23
- package/esm5/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.js +0 -20
- package/esm5/components/dynamic-form/components/fields/button-field/button-field.component.js +0 -34
- package/esm5/components/dynamic-form/components/fields/calendar/calendar-field.component.js +0 -107
- package/esm5/components/dynamic-form/components/fields/checkbox/checkbox-field.component.js +0 -20
- package/esm5/components/dynamic-form/components/fields/checkbox/checkbox-field.module.js +0 -20
- package/esm5/components/dynamic-form/components/fields/chips/chips-field.component.js +0 -55
- package/esm5/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.js +0 -33
- package/esm5/components/dynamic-form/components/fields/currency/currency-field.component.js +0 -75
- package/esm5/components/dynamic-form/components/fields/currency/currency-field.module.js +0 -33
- package/esm5/components/dynamic-form/components/fields/editor/editor-field.component.js +0 -23
- package/esm5/components/dynamic-form/components/fields/editor/editor-field.module.js +0 -21
- package/esm5/components/dynamic-form/components/fields/file-upload/file-upload.component.js +0 -55
- package/esm5/components/dynamic-form/components/fields/index.js +0 -22
- package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +0 -20
- package/esm5/components/dynamic-form/components/fields/number/number-field.component.js +0 -122
- package/esm5/components/dynamic-form/components/fields/number/number-field.module.js +0 -37
- package/esm5/components/dynamic-form/components/fields/password/password-field.component.js +0 -79
- package/esm5/components/dynamic-form/components/fields/password/password-field.module.js +0 -33
- package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +0 -20
- package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.js +0 -27
- package/esm5/components/dynamic-form/components/fields/radio-button/radio-button-field.component.js +0 -51
- package/esm5/components/dynamic-form/components/fields/select/select-field.component.js +0 -23
- package/esm5/components/dynamic-form/components/fields/slider/slider-field.component.js +0 -123
- package/esm5/components/dynamic-form/components/fields/text/text-field.component.js +0 -94
- package/esm5/components/dynamic-form/components/fields/text/text-field.module.js +0 -35
- package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +0 -27
- package/esm5/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +0 -94
- package/esm5/components/dynamic-form/components/grid/row/row.component.js +0 -37
- package/esm5/components/dynamic-form/components/lookup/lookup.component.js +0 -598
- package/esm5/components/dynamic-form/components/lookup/models/default-filter.js +0 -1
- package/esm5/components/dynamic-form/components/lookup/models/index.js +0 -1
- package/esm5/components/dynamic-form/components/structure/base-structure-component.js +0 -1
- package/esm5/components/dynamic-form/components/structure/fieldset/fieldset.component.js +0 -26
- package/esm5/components/dynamic-form/components/structure/section/section.component.js +0 -44
- package/esm5/components/dynamic-form/configurations/addon-config.js +0 -1
- package/esm5/components/dynamic-form/configurations/dynamic-config.js +0 -73
- package/esm5/components/dynamic-form/configurations/dynamic-type.js +0 -26
- package/esm5/components/dynamic-form/configurations/field-size.js +0 -12
- package/esm5/components/dynamic-form/configurations/field-type.js +0 -32
- package/esm5/components/dynamic-form/configurations/fields/autocomplete-field.js +0 -16
- package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +0 -28
- package/esm5/components/dynamic-form/configurations/fields/blob-field.js +0 -24
- package/esm5/components/dynamic-form/configurations/fields/boolean-field.js +0 -28
- package/esm5/components/dynamic-form/configurations/fields/boolean-switch-field.js +0 -18
- package/esm5/components/dynamic-form/configurations/fields/button-field.js +0 -35
- package/esm5/components/dynamic-form/configurations/fields/calendar-field.js +0 -42
- package/esm5/components/dynamic-form/configurations/fields/checkbox-field.js +0 -13
- package/esm5/components/dynamic-form/configurations/fields/chips-field.js +0 -22
- package/esm5/components/dynamic-form/configurations/fields/country-phone-picker-field.js +0 -16
- package/esm5/components/dynamic-form/configurations/fields/currency-field.js +0 -17
- package/esm5/components/dynamic-form/configurations/fields/decimal-field.js +0 -19
- package/esm5/components/dynamic-form/configurations/fields/editor-field.js +0 -16
- package/esm5/components/dynamic-form/configurations/fields/field.js +0 -49
- package/esm5/components/dynamic-form/configurations/fields/index.js +0 -22
- package/esm5/components/dynamic-form/configurations/fields/lookup-field.js +0 -51
- package/esm5/components/dynamic-form/configurations/fields/number-field.js +0 -28
- package/esm5/components/dynamic-form/configurations/fields/password-field.js +0 -25
- package/esm5/components/dynamic-form/configurations/fields/profile-picture.js +0 -26
- package/esm5/components/dynamic-form/configurations/fields/radio-button-field.js +0 -26
- package/esm5/components/dynamic-form/configurations/fields/select-field.js +0 -33
- package/esm5/components/dynamic-form/configurations/fields/slider-field.js +0 -26
- package/esm5/components/dynamic-form/configurations/fields/text-area-field.js +0 -25
- package/esm5/components/dynamic-form/configurations/fields/text-area-ia-field.js +0 -26
- package/esm5/components/dynamic-form/configurations/fields/text-field.js +0 -29
- package/esm5/components/dynamic-form/configurations/form-field.js +0 -96
- package/esm5/components/dynamic-form/configurations/grid/grid.js +0 -13
- package/esm5/components/dynamic-form/configurations/grid/row.js +0 -11
- package/esm5/components/dynamic-form/configurations/grid-type.js +0 -5
- package/esm5/components/dynamic-form/configurations/structure/fieldset.js +0 -13
- package/esm5/components/dynamic-form/configurations/structure/section.js +0 -34
- package/esm5/components/dynamic-form/configurations/structure/structure.js +0 -10
- package/esm5/components/dynamic-form/configurations/structure-type.js +0 -6
- package/esm5/components/dynamic-form/dynamic-form.component.js +0 -33
- package/esm5/components/dynamic-form/dynamic-form.directive.js +0 -85
- package/esm5/components/dynamic-form/dynamic-form.js +0 -215
- package/esm5/components/dynamic-form/dynamic-form.module.js +0 -194
- package/esm5/components/dynamic-form/index.js +0 -31
- package/esm5/components/dynamic-form/services/IAssist/iassist.service.js +0 -58
- package/esm5/components/dynamic-form/services/IAssist/models/iassist-input-data.js +0 -1
- package/esm5/components/dynamic-form/services/IAssist/models/iassist-response.js +0 -1
- package/esm5/components/dynamic-form/services/IAssist/models/index.js +0 -1
- package/esm5/components/editable-overlay/editable-overlay.directive.js +0 -45
- package/esm5/components/editable-overlay/editable-overlay.module.js +0 -18
- package/esm5/components/editable-overlay/index.js +0 -3
- package/esm5/components/empty-state/empty-state.component.js +0 -59
- package/esm5/components/empty-state/empty-state.module.js +0 -22
- package/esm5/components/empty-state/go-back/go-back.component.js +0 -38
- package/esm5/components/empty-state/index.js +0 -3
- package/esm5/components/fieldset/fieldset.component.js +0 -69
- package/esm5/components/fieldset/fieldset.models.js +0 -1
- package/esm5/components/fieldset/fieldset.module.js +0 -19
- package/esm5/components/fieldset/index.js +0 -3
- package/esm5/components/file-upload/file-upload.component.js +0 -304
- package/esm5/components/file-upload/file-upload.module.js +0 -30
- package/esm5/components/file-upload/file-upload.service.js +0 -22
- package/esm5/components/file-upload/index.js +0 -4
- package/esm5/components/file-upload/models/file-dto.js +0 -1
- package/esm5/components/file-upload/models/file-upload-permissions.js +0 -12
- package/esm5/components/file-upload/models/index.js +0 -3
- package/esm5/components/file-upload/models/list-blob-metadata.js +0 -1
- package/esm5/components/file-upload/models/uploadError.js +0 -1
- package/esm5/components/file-upload/models/validate-errors.js +0 -8
- package/esm5/components/gantt/components/gantt/arrow.js +0 -81
- package/esm5/components/gantt/components/gantt/bar.js +0 -299
- package/esm5/components/gantt/components/gantt/gantt-options.js +0 -20
- package/esm5/components/gantt/components/gantt/gantt.js +0 -924
- package/esm5/components/gantt/components/gantt/popup.js +0 -84
- package/esm5/components/gantt/components/gantt/utils/date-utils.js +0 -135
- package/esm5/components/gantt/components/gantt/utils/svg-utils.js +0 -121
- package/esm5/components/gantt/components/side-table/side-table.component.js +0 -33
- package/esm5/components/gantt/gantt.component.js +0 -162
- package/esm5/components/gantt/gantt.module.js +0 -23
- package/esm5/components/gantt/index.js +0 -4
- package/esm5/components/gantt/models/index.js +0 -2
- package/esm5/components/gantt/models/options.js +0 -1
- package/esm5/components/gantt/models/task.js +0 -1
- package/esm5/components/gantt/models/view-mode.js +0 -12
- package/esm5/components/global-search/elements/dropdown/global-search-dropdown-item.component.js +0 -78
- package/esm5/components/global-search/global-search-size.enum.js +0 -7
- package/esm5/components/global-search/global-search.component.js +0 -137
- package/esm5/components/global-search/global-search.module.js +0 -53
- package/esm5/components/global-search/index.js +0 -5
- package/esm5/components/grid-menu/components/grid-menu-item/grid-menu-item.component.js +0 -79
- package/esm5/components/grid-menu/grid-menu.component.js +0 -66
- package/esm5/components/grid-menu/grid-menu.module.js +0 -20
- package/esm5/components/grid-menu/index.js +0 -3
- package/esm5/components/grid-menu/types/grid-menu-item.js +0 -1
- package/esm5/components/help-popover/help-popover/help-popover.component.js +0 -115
- package/esm5/components/help-popover/help-popover.directive.js +0 -348
- package/esm5/components/help-popover/help-popover.module.js +0 -23
- package/esm5/components/help-popover/index.js +0 -4
- package/esm5/components/help-popover/models/help-popover.models.js +0 -1
- package/esm5/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.js +0 -16
- package/esm5/components/ia-insight/components/ia-insight-card/ia-insight-card.component.js +0 -96
- package/esm5/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.js +0 -61
- package/esm5/components/ia-insight/ia-insight.component.js +0 -83
- package/esm5/components/ia-insight/ia-insight.module.js +0 -43
- package/esm5/components/ia-insight/index.js +0 -4
- package/esm5/components/ia-insight/models/ia-insight-item.js +0 -1
- package/esm5/components/ia-insight/models/ia-insight-template-types.js +0 -7
- package/esm5/components/ia-insight/models/index.js +0 -2
- package/esm5/components/image-cropper/image-cropper.component.js +0 -185
- package/esm5/components/image-cropper/image-cropper.module.js +0 -23
- package/esm5/components/image-cropper/image-cropper.service.js +0 -70
- package/esm5/components/image-cropper/index.js +0 -4
- package/esm5/components/index.js +0 -77
- package/esm5/components/infinite-scroll/infinite-scroll.directive.js +0 -31
- package/esm5/components/infinite-scroll/infinite-scroll.module.js +0 -24
- package/esm5/components/info-sign/index.js +0 -3
- package/esm5/components/info-sign/info-sign.component.js +0 -16
- package/esm5/components/info-sign/info-sign.directive.js +0 -69
- package/esm5/components/info-sign/info-sign.module.js +0 -27
- package/esm5/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.js +0 -53
- package/esm5/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.js +0 -33
- package/esm5/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.js +0 -99
- package/esm5/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.js +0 -33
- package/esm5/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.js +0 -33
- package/esm5/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.js +0 -33
- package/esm5/components/inline-edit/components/index.js +0 -8
- package/esm5/components/inline-edit/components/inline-edit-item/inline-edit-item.component.js +0 -112
- package/esm5/components/inline-edit/fields/index.js +0 -8
- package/esm5/components/inline-edit/fields/inline-edit-calendar-field.js +0 -31
- package/esm5/components/inline-edit/fields/inline-edit-field.js +0 -11
- package/esm5/components/inline-edit/fields/inline-edit-lookup-field.js +0 -50
- package/esm5/components/inline-edit/fields/inline-edit-number-field.js +0 -29
- package/esm5/components/inline-edit/fields/inline-edit-text-area-field.js +0 -16
- package/esm5/components/inline-edit/fields/inline-edit-text-area-ia-field.js +0 -11
- package/esm5/components/inline-edit/fields/inline-edit-text-field.js +0 -11
- package/esm5/components/inline-edit/index.js +0 -4
- package/esm5/components/inline-edit/inline-edit.component.js +0 -84
- package/esm5/components/inline-edit/inline-edit.module.js +0 -65
- package/esm5/components/kanban/components/kanban-column/kanban-column.component.js +0 -99
- package/esm5/components/kanban/components/kanban-item/kanban-item.component.js +0 -62
- package/esm5/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.js +0 -20
- package/esm5/components/kanban/index.js +0 -4
- package/esm5/components/kanban/kanban-event.service.js +0 -28
- package/esm5/components/kanban/kanban.component.js +0 -221
- package/esm5/components/kanban/kanban.module.js +0 -48
- package/esm5/components/kanban/models/index.js +0 -2
- package/esm5/components/kanban/models/kanban-data.js +0 -1
- package/esm5/components/kanban/models/kanban-template-types.js +0 -9
- package/esm5/components/label-value/index.js +0 -3
- package/esm5/components/label-value/label-value.component.js +0 -34
- package/esm5/components/label-value/label-value.module.js +0 -23
- package/esm5/components/label-value/types/label-value-configuration.js +0 -1
- package/esm5/components/loading-state/components/dots-indicator/dots-indicator.components.js +0 -16
- package/esm5/components/loading-state/components/loading-state-indicators.js +0 -6
- package/esm5/components/loading-state/components/logo-indicator/logo-indicator.component.js +0 -16
- package/esm5/components/loading-state/index.js +0 -4
- package/esm5/components/loading-state/loading-state.component.js +0 -81
- package/esm5/components/loading-state/loading-state.directive.js +0 -65
- package/esm5/components/loading-state/loading-state.module.js +0 -34
- package/esm5/components/locale/index.js +0 -11
- package/esm5/components/locale/locale.module.js +0 -75
- package/esm5/components/locale/locale.service.js +0 -93
- package/esm5/components/locale/options/calendar.js +0 -33
- package/esm5/components/locale/options/index.js +0 -28
- package/esm5/components/locale/options/number.js +0 -12
- package/esm5/components/locale/pipes/localized-bignumber-impure.pipe.js +0 -21
- package/esm5/components/locale/pipes/localized-bignumber.pipe.js +0 -40
- package/esm5/components/locale/pipes/localized-currency-impure.pipe.js +0 -25
- package/esm5/components/locale/pipes/localized-currency.pipe.js +0 -59
- package/esm5/components/locale/pipes/localized-date-impure.pipe.js +0 -18
- package/esm5/components/locale/pipes/localized-date.pipe.js +0 -26
- package/esm5/components/locale/pipes/localized-number.pipe.js +0 -32
- package/esm5/components/locale/pipes/localized-time-impure.pipe.js +0 -18
- package/esm5/components/locale/pipes/localized-time.pipe.js +0 -26
- package/esm5/components/locale/pipes/numeric.pipe.js +0 -32
- package/esm5/components/locale/services/numeric.service.js +0 -87
- package/esm5/components/localized-number-input/index.js +0 -3
- package/esm5/components/localized-number-input/localized-number-input.directive.js +0 -61
- package/esm5/components/localized-number-input/localized-number-input.module.js +0 -18
- package/esm5/components/mask/index.js +0 -3
- package/esm5/components/mask/mask-formatter.module.js +0 -16
- package/esm5/components/mask/mask-formatter.pipe.js +0 -72
- package/esm5/components/mouse-events/double-click.directive.js +0 -40
- package/esm5/components/mouse-events/index.js +0 -4
- package/esm5/components/mouse-events/long-press.directive.js +0 -51
- package/esm5/components/mouse-events/mouse-events.module.js +0 -25
- package/esm5/components/navigation-button/index.js +0 -3
- package/esm5/components/navigation-button/models/index.js +0 -1
- package/esm5/components/navigation-button/models/navigation-button-item.js +0 -1
- package/esm5/components/navigation-button/models/navigation-button-step-changed-info.js +0 -1
- package/esm5/components/navigation-button/navigation-button.component.js +0 -131
- package/esm5/components/navigation-button/navigation-button.module.js +0 -20
- package/esm5/components/number-input/index.js +0 -3
- package/esm5/components/number-input/number-input.directive.js +0 -167
- package/esm5/components/number-input/number-input.module.js +0 -21
- package/esm5/components/object-card/elements/field/object-card-field.component.js +0 -55
- package/esm5/components/object-card/elements/main/object-card-main.component.js +0 -99
- package/esm5/components/object-card/index.js +0 -5
- package/esm5/components/object-card/object-card.component.js +0 -139
- package/esm5/components/object-card/object-card.module.js +0 -24
- package/esm5/components/panel/index.js +0 -3
- package/esm5/components/panel/panel.component.js +0 -85
- package/esm5/components/panel/panel.module.js +0 -20
- package/esm5/components/password-strength/index.js +0 -5
- package/esm5/components/password-strength/models/index.js +0 -3
- package/esm5/components/password-strength/models/password-positions.js +0 -7
- package/esm5/components/password-strength/models/password-strengths.js +0 -8
- package/esm5/components/password-strength/password-strength.component.js +0 -96
- package/esm5/components/password-strength/password-strength.directive.js +0 -197
- package/esm5/components/password-strength/password-strength.module.js +0 -22
- package/esm5/components/picklist/index.js +0 -5
- package/esm5/components/picklist/picklist/models/picklist-models.js +0 -6
- package/esm5/components/picklist/picklist/picklist.component.js +0 -339
- package/esm5/components/picklist/picklist.module.js +0 -28
- package/esm5/components/product-header/index.js +0 -3
- package/esm5/components/product-header/product-header.component.js +0 -47
- package/esm5/components/product-header/product-header.module.js +0 -20
- package/esm5/components/profile-picture-picker/index.js +0 -4
- package/esm5/components/profile-picture-picker/models/confirmation-texts.js +0 -1
- package/esm5/components/profile-picture-picker/models/cropper-labels-config.js +0 -1
- package/esm5/components/profile-picture-picker/models/file-validation-errors.js +0 -8
- package/esm5/components/profile-picture-picker/models/index.js +0 -2
- package/esm5/components/profile-picture-picker/models/profile-picture-picker-data.js +0 -1
- package/esm5/components/profile-picture-picker/profile-picture-picker.component.js +0 -270
- package/esm5/components/profile-picture-picker/profile-picture-picker.module.js +0 -36
- package/esm5/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.js +0 -63
- package/esm5/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.js +0 -22
- package/esm5/components/progressbar/index.js +0 -4
- package/esm5/components/progressbar/models/index.js +0 -3
- package/esm5/components/progressbar/models/progressbar-colors.js +0 -8
- package/esm5/components/progressbar/models/progressbar-mode.js +0 -6
- package/esm5/components/progressbar/progressbar.component.js +0 -63
- package/esm5/components/progressbar/progressbar.module.js +0 -24
- package/esm5/components/rating-scale/index.js +0 -3
- package/esm5/components/rating-scale/models/index.js +0 -1
- package/esm5/components/rating-scale/models/rating-scale-node.js +0 -1
- package/esm5/components/rating-scale/rating-scale.component.js +0 -54
- package/esm5/components/rating-scale/rating-scale.module.js +0 -22
- package/esm5/components/select-button/components/select-button-item/select-button-item.component.js +0 -35
- package/esm5/components/select-button/index.js +0 -3
- package/esm5/components/select-button/models/index.js +0 -1
- package/esm5/components/select-button/models/select-button-item.js +0 -1
- package/esm5/components/select-button/select-button.component.js +0 -128
- package/esm5/components/select-button/select-button.module.js +0 -22
- package/esm5/components/shared/border-button/border-button.component.js +0 -27
- package/esm5/components/shared/border-button/border-button.module.js +0 -19
- package/esm5/components/shared/helpers.js +0 -35
- package/esm5/components/shared/index.js +0 -3
- package/esm5/components/shared/models/border-button-options.js +0 -1
- package/esm5/components/shared/models/enum-severity.js +0 -9
- package/esm5/components/sidebar/index.js +0 -3
- package/esm5/components/sidebar/sidebar.component.js +0 -74
- package/esm5/components/sidebar/sidebar.module.js +0 -22
- package/esm5/components/slide-panel/index.js +0 -3
- package/esm5/components/slide-panel/slide-panel.component.js +0 -145
- package/esm5/components/slide-panel/slide-panel.module.js +0 -20
- package/esm5/components/slide-panel/slide-panel.service.js +0 -28
- package/esm5/components/slider/index.js +0 -3
- package/esm5/components/slider/slider.component.js +0 -648
- package/esm5/components/slider/slider.module.js +0 -19
- package/esm5/components/speech-recognition/speech-recognition/speech-recognition.component.js +0 -248
- package/esm5/components/speech-recognition/speech-recognition.module.js +0 -22
- package/esm5/components/speech-recognition/speech-recognition.service.js +0 -168
- package/esm5/components/speech-recognition/text-to-speech.service.js +0 -92
- package/esm5/components/split-button/index.js +0 -4
- package/esm5/components/split-button/models/split-button-option.js +0 -1
- package/esm5/components/split-button/models/split-button-type.js +0 -7
- package/esm5/components/split-button/split-button.component.js +0 -69
- package/esm5/components/split-button/split-button.module.js +0 -18
- package/esm5/components/stats-card/index.js +0 -3
- package/esm5/components/stats-card/stats-card.component.js +0 -131
- package/esm5/components/stats-card/stats-card.module.js +0 -26
- package/esm5/components/steps/index.js +0 -3
- package/esm5/components/steps/steps.component.js +0 -107
- package/esm5/components/steps/steps.module.js +0 -19
- package/esm5/components/structure/footer.component.js +0 -15
- package/esm5/components/structure/header.component.js +0 -18
- package/esm5/components/structure/index.js +0 -4
- package/esm5/components/structure/structure.module.js +0 -19
- package/esm5/components/switch/index.js +0 -3
- package/esm5/components/switch/switch.component.js +0 -94
- package/esm5/components/switch/switch.module.js +0 -18
- package/esm5/components/table/frozen-position/frozen-position.directive.js +0 -256
- package/esm5/components/table/index.js +0 -6
- package/esm5/components/table/navigation/navigation.directive.js +0 -137
- package/esm5/components/table/row-toggler/row-toggler.directive.js +0 -39
- package/esm5/components/table/table-column/index.js +0 -2
- package/esm5/components/table/table-column/models/badge-column.interface.js +0 -1
- package/esm5/components/table/table-column/models/badge-configs.interface.js +0 -1
- package/esm5/components/table/table-column/models/column-colors.js +0 -1
- package/esm5/components/table/table-column/models/column-values.interface.js +0 -1
- package/esm5/components/table/table-column/models/column.interface.js +0 -1
- package/esm5/components/table/table-column/models/dynamic-editable-grid.interface.js +0 -1
- package/esm5/components/table/table-column/models/enum-badge-colors.js +0 -10
- package/esm5/components/table/table-column/models/enum-column-field-type.js +0 -13
- package/esm5/components/table/table-column/models/index.js +0 -3
- package/esm5/components/table/table-column/models/locale-options.interface.js +0 -1
- package/esm5/components/table/table-column/models/number-locale-options.interface.js +0 -1
- package/esm5/components/table/table-column/table-columns.component.js +0 -288
- package/esm5/components/table/table-paging/index.js +0 -1
- package/esm5/components/table/table-paging/models/custom-action.interface.js +0 -1
- package/esm5/components/table/table-paging/models/index.js +0 -1
- package/esm5/components/table/table-paging/table-paging.component.js +0 -361
- package/esm5/components/table/table.module.js +0 -48
- package/esm5/components/table-header/index.js +0 -3
- package/esm5/components/table-header/table-header-checkbox.component.js +0 -157
- package/esm5/components/table-header/table-header-checkox.module.js +0 -18
- package/esm5/components/template/index.js +0 -3
- package/esm5/components/template/template.directive.js +0 -21
- package/esm5/components/template/template.module.js +0 -18
- package/esm5/components/text-area/index.js +0 -3
- package/esm5/components/text-area/text-area/text-area.component.js +0 -126
- package/esm5/components/text-area/text-area.module.js +0 -27
- package/esm5/components/text-area-ia/index.js +0 -3
- package/esm5/components/text-area-ia/text-area-ia.component.js +0 -147
- package/esm5/components/text-area-ia/text-area-ia.module.js +0 -35
- package/esm5/components/thumbnail/index.js +0 -4
- package/esm5/components/thumbnail/thumbnail-size.js +0 -7
- package/esm5/components/thumbnail/thumbnail.component.js +0 -83
- package/esm5/components/thumbnail/thumbnail.module.js +0 -20
- package/esm5/components/thumbnail/thumbnail.service.js +0 -65
- package/esm5/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.js +0 -19
- package/esm5/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.js +0 -44
- package/esm5/components/thumbnails/components/thumbnail-item/thumbnail-item.component.js +0 -68
- package/esm5/components/thumbnails/index.js +0 -3
- package/esm5/components/thumbnails/models/thumbnails-item.js +0 -1
- package/esm5/components/thumbnails/thumbnails.component.js +0 -61
- package/esm5/components/thumbnails/thumbnails.module.js +0 -24
- package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +0 -288
- package/esm5/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +0 -16
- package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +0 -78
- package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +0 -180
- package/esm5/components/tiered-menu/index.js +0 -3
- package/esm5/components/tiered-menu/models/index.js +0 -1
- package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +0 -1
- package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +0 -1
- package/esm5/components/tiered-menu/services/tiered-menu.event.service.js +0 -19
- package/esm5/components/tiered-menu/services/tiered-menu.global.service.js +0 -12
- package/esm5/components/tiered-menu/services/tiered-menu.service.js +0 -54
- package/esm5/components/tiered-menu/tiered-menu.directive.js +0 -224
- package/esm5/components/tiered-menu/tiered-menu.module.js +0 -32
- package/esm5/components/tiered-menu/utils.js +0 -7
- package/esm5/components/tile/index.js +0 -3
- package/esm5/components/tile/tile.component.js +0 -77
- package/esm5/components/tile/tile.module.js +0 -27
- package/esm5/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +0 -26
- package/esm5/components/timeline/components/horizontal-timeline/horizontal-timeline.module.js +0 -24
- package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +0 -28
- package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.module.js +0 -22
- package/esm5/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.js +0 -27
- package/esm5/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.js +0 -36
- package/esm5/components/timeline/components/vertical-timeline/components/range-line/range-line.component.js +0 -16
- package/esm5/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +0 -31
- package/esm5/components/timeline/components/vertical-timeline/vertical-timeline.component.js +0 -58
- package/esm5/components/timeline/components/vertical-timeline/vertical-timeline.module.js +0 -32
- package/esm5/components/timeline/index.js +0 -4
- package/esm5/components/timeline/models/index.js +0 -4
- package/esm5/components/timeline/models/timeline-item-severity.js +0 -7
- package/esm5/components/timeline/models/timeline-item-size.js +0 -6
- package/esm5/components/timeline/models/timeline-item.js +0 -39
- package/esm5/components/timeline/timeline.component.js +0 -71
- package/esm5/components/timeline/timeline.module.js +0 -30
- package/esm5/components/toast/index.js +0 -4
- package/esm5/components/toast/toast.component.js +0 -54
- package/esm5/components/toast/toast.module.js +0 -17
- package/esm5/components/toast/toast.service.js +0 -70
- package/esm5/components/toast/types/toast.js +0 -1
- package/esm5/components/token-list/index.js +0 -3
- package/esm5/components/token-list/models/index.js +0 -1
- package/esm5/components/token-list/models/token.js +0 -1
- package/esm5/components/token-list/token-list.component.js +0 -52
- package/esm5/components/token-list/token-list.module.js +0 -18
- package/esm5/components/tooltip/index.js +0 -3
- package/esm5/components/tooltip/models/index.js +0 -4
- package/esm5/components/tooltip/models/mobile-behavior.js +0 -6
- package/esm5/components/tooltip/models/tooltip-event.js +0 -6
- package/esm5/components/tooltip/models/tooltip-position.js +0 -8
- package/esm5/components/tooltip/tooltip.component.js +0 -22
- package/esm5/components/tooltip/tooltip.directive.js +0 -339
- package/esm5/components/tooltip/tooltip.module.js +0 -22
- package/esm5/components/tree/Models/tree.models.js +0 -1
- package/esm5/components/tree/components/tree-node-item/tree-node-item.component.js +0 -169
- package/esm5/components/tree/index.js +0 -3
- package/esm5/components/tree/tree.component.js +0 -280
- package/esm5/components/tree/tree.module.js +0 -23
- package/esm5/components/utils/breakpoints.js +0 -11
- package/esm5/components/utils/debouce.js +0 -50
- package/esm5/components/utils/export-utils.js +0 -96
- package/esm5/components/utils/index.js +0 -6
- package/esm5/components/utils/locale-utils.js +0 -15
- package/esm5/components/utils/utils.js +0 -44
- package/esm5/components/workspace-switch/index.js +0 -3
- package/esm5/components/workspace-switch/models/index.js +0 -1
- package/esm5/components/workspace-switch/models/workspace.js +0 -1
- package/esm5/components/workspace-switch/workspace-switch.component.js +0 -148
- package/esm5/components/workspace-switch/workspace-switch.module.js +0 -18
- package/esm5/locale/fallback.js +0 -333
- package/esm5/public-api.js +0 -5
- package/esm5/seniorsistemas-angular-components.js +0 -117
- package/esm5/utils/currency/currency.service.js +0 -191
- package/esm5/utils/currency/index.js +0 -2
- package/esm5/utils/index.js +0 -3
- package/esm5/utils/svg-factory/components/iassist-icon/iassist-icon.component.js +0 -14
- package/esm5/utils/svg-factory/components/senior-icon/senior-icon.component.js +0 -14
- package/esm5/utils/svg-factory/components/svg-factory-icons.js +0 -6
- package/esm5/utils/svg-factory/index.js +0 -3
- package/esm5/utils/svg-factory/svg-factory.directive.js +0 -54
- package/esm5/utils/svg-factory/svg-factory.module.js +0 -24
- package/fesm2015/seniorsistemas-angular-components.js +0 -22423
- package/fesm2015/seniorsistemas-angular-components.js.map +0 -1
- package/fesm5/seniorsistemas-angular-components.js +0 -24034
- package/fesm5/seniorsistemas-angular-components.js.map +0 -1
- package/seniorsistemas-angular-components.d.ts +0 -116
- package/seniorsistemas-angular-components.metadata.json +0 -1
- package/utils/currency/currency.service.d.ts +0 -642
- package/utils/currency/index.d.ts +0 -1
- package/utils/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +0 -2
- package/utils/svg-factory/components/senior-icon/senior-icon.component.d.ts +0 -2
- package/utils/svg-factory/components/svg-factory-icons.d.ts +0 -4
- package/utils/svg-factory/index.d.ts +0 -2
- package/utils/svg-factory/svg-factory.directive.d.ts +0 -13
- package/utils/svg-factory/svg-factory.module.d.ts +0 -2
- /package/{components → code-editor/lib}/code-editor/core/facades/linter-facade.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/core/models/enums/marker-severity.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/core/models/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/core/models/interfaces/marker.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/editor-languages.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/json/json.language.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/models/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/editor-themes.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/utils/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/custom-http-client/json-response-formatters/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/custom-translations/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/custom-translations/models/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/custom-translations/models/interfaces/translations.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/infra/utils/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/models/enums/languages.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/models/enums/themes.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/models/index.d.ts +0 -0
- /package/{components → code-editor/lib}/code-editor/models/interfaces/editor-options.d.ts +0 -0
- /package/{components → country-phone-picker/lib}/country-phone-picker/models/country-phone-data.d.ts +0 -0
- /package/{components → country-phone-picker/lib}/country-phone-picker/models/ordination.d.ts +0 -0
- /package/{components → country-phone-picker/lib}/country-phone-picker/models/phone-selection-data.d.ts +0 -0
- /package/{components → custom-fields/lib}/custom-fields/models/custom-field-type.d.ts +0 -0
- /package/{components → dynamic-form/lib}/dynamic-form/configurations/dynamic-config.d.ts +0 -0
- /package/{components → dynamic-form/lib}/dynamic-form/configurations/dynamic-type.d.ts +0 -0
- /package/{components → dynamic-form/lib}/dynamic-form/configurations/grid-type.d.ts +0 -0
- /package/{components → dynamic-form/lib}/dynamic-form/configurations/structure-type.d.ts +0 -0
- /package/{components/dynamic-form → dynamic-form/lib/dynamic-form/form-field}/configurations/field-size.d.ts +0 -0
- /package/{components/dynamic-form → dynamic-form/lib/dynamic-form/form-field}/configurations/fields/editor-field.d.ts +0 -0
- /package/{components → file-upload/lib}/file-upload/models/list-blob-metadata.d.ts +0 -0
- /package/{components → gantt/lib}/gantt/components/gantt/utils/date-utils.d.ts +0 -0
- /package/{components → gantt/lib}/gantt/models/task.d.ts +0 -0
- /package/{components → gantt/lib}/gantt/models/view-mode.d.ts +0 -0
- /package/{components → inline-edit/lib}/inline-edit/components/index.d.ts +0 -0
- /package/{components → inline-edit/lib}/inline-edit/fields/inline-edit-text-area-field.d.ts +0 -0
- /package/{components → inline-edit/lib}/inline-edit/fields/inline-edit-text-area-ia-field.d.ts +0 -0
- /package/{components → inline-edit/lib}/inline-edit/fields/inline-edit-text-field.d.ts +0 -0
- /package/{locale → lib/locale}/fallback.d.ts +0 -0
- /package/{components → loading-state/lib}/loading-state/components/loading-state-indicators.d.ts +0 -0
- /package/{components → navigation-button/lib}/navigation-button/models/navigation-button-item.d.ts +0 -0
- /package/{components → profile-picture-picker/lib}/profile-picture-picker/models/confirmation-texts.d.ts +0 -0
- /package/{components → profile-picture-picker/lib}/profile-picture-picker/models/cropper-labels-config.d.ts +0 -0
- /package/{components → profile-picture-picker/lib}/profile-picture-picker/models/profile-picture-picker-data.d.ts +0 -0
- /package/{components → rating-scale/lib}/rating-scale/models/rating-scale-node.d.ts +0 -0
- /package/{components → select-button/lib}/select-button/models/select-button-item.d.ts +0 -0
- /package/{components → shared/lib}/shared/helpers.d.ts +0 -0
- /package/{components → split-button/lib}/split-button/models/split-button-option.d.ts +0 -0
- /package/{components/utils → table/lib}/locale-utils.d.ts +0 -0
- /package/{components → table/lib}/table/table-column/models/enum-badge-colors.d.ts +0 -0
- /package/{components → table/lib}/table/table-column/models/enum-column-field-type.d.ts +0 -0
- /package/{components → table/lib}/table/table-paging/models/custom-action.interface.d.ts +0 -0
- /package/{components → timeline/lib}/timeline/models/timeline-item-severity.d.ts +0 -0
- /package/{components → timeline/lib}/timeline/models/timeline-item-size.d.ts +0 -0
- /package/{components → token-list/lib}/token-list/models/token.d.ts +0 -0
- /package/{components → utils/lib}/utils/breakpoints.d.ts +0 -0
- /package/{components → workspace-switch/lib}/workspace-switch/models/workspace.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://@seniorsistemas/angular-components/components/accordion/components/accordion-panel/accordion-panel.component.ts","ng://@seniorsistemas/angular-components/components/accordion/accordion.component.ts","ng://@seniorsistemas/angular-components/components/switch/switch.component.ts","ng://@seniorsistemas/angular-components/components/switch/switch.module.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/tooltip-position.ts","ng://@seniorsistemas/angular-components/components/tooltip/tooltip.component.ts","ng://@seniorsistemas/angular-components/components/utils/debouce.ts","ng://@seniorsistemas/angular-components/components/utils/utils.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/mobile-behavior.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/tooltip-event.ts","ng://@seniorsistemas/angular-components/components/tooltip/tooltip.directive.ts","ng://@seniorsistemas/angular-components/components/tooltip/tooltip.module.ts","ng://@seniorsistemas/angular-components/components/accordion/accordion.module.ts","ng://@seniorsistemas/angular-components/components/alert/alert.component.ts","ng://@seniorsistemas/angular-components/components/alert/alert.module.ts","ng://@seniorsistemas/angular-components/components/badge/models/badge-colors.ts","ng://@seniorsistemas/angular-components/components/badge/models/badge-types.ts","ng://@seniorsistemas/angular-components/components/badge/badge.component.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.component.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.directive.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.module.ts","ng://@seniorsistemas/angular-components/components/badge/badge.module.ts","ng://@seniorsistemas/angular-components/components/locale/options/calendar.ts","ng://@seniorsistemas/angular-components/components/locale/options/number.ts","ng://@seniorsistemas/angular-components/components/locale/options/index.ts","ng://@seniorsistemas/angular-components/components/locale/locale.service.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-number.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time-impure.pipe.ts","ng://@seniorsistemas/angular-components/utils/currency/currency.service.ts","ng://@seniorsistemas/angular-components/components/locale/services/numeric.service.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/numeric.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/locale.module.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/bignumber-input.directive.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/bignumber-input.module.ts","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.component.ts","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.module.ts","ng://@seniorsistemas/angular-components/components/button/models/button-animation.ts","ng://@seniorsistemas/angular-components/components/button/models/button-priority.ts","ng://@seniorsistemas/angular-components/components/button/models/button-size.ts","ng://@seniorsistemas/angular-components/components/button/button.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/services/tiered-menu.event.service.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/services/tiered-menu.service.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/utils.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu/tiered-menu.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/services/tiered-menu.global.service.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/tiered-menu.directive.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/tiered-menu.module.ts","ng://@seniorsistemas/angular-components/components/button/button.module.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.directive.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.module.ts","ng://@seniorsistemas/angular-components/components/template/template.directive.ts","ng://@seniorsistemas/angular-components/components/card/models/card-template-types.ts","ng://@seniorsistemas/angular-components/components/card/card.component.ts","ng://@seniorsistemas/angular-components/components/template/template.module.ts","ng://@seniorsistemas/angular-components/components/card/card.module.ts","ng://@seniorsistemas/angular-components/components/chat/chat.component.ts","ng://@seniorsistemas/angular-components/components/chat/components/chat-message/chat-message.component.ts","ng://@seniorsistemas/angular-components/components/chat/chat.module.ts","ng://@seniorsistemas/angular-components/components/checkbox/checkbox.component.ts","ng://@seniorsistemas/angular-components/components/checkbox/checkbox.module.ts","ng://@seniorsistemas/angular-components/components/code-editor/models/enums/languages.ts","ng://@seniorsistemas/angular-components/components/code-editor/models/enums/themes.ts","ng://@seniorsistemas/angular-components/components/code-editor/models/index.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/use-cases/core-linters.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/facades/core-facade.ts","ng://@seniorsistemas/angular-components/components/code-editor/code-editor.component.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-http-client/custom-http-client.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-translations/custom-translations-service.ts","ng://@seniorsistemas/angular-components/angular-components.module.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-translations/custom-translations.module.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/models/enums/marker-severity.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/models/index.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.ts","ng://@seniorsistemas/angular-components/components/code-editor/code-editor.module.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.component.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.module.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.component.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.module.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/resources/countries.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/models/ordination.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/country-phone-picker.service.ts","ng://@seniorsistemas/angular-components/components/utils/breakpoints.ts","ng://@seniorsistemas/angular-components/components/utils/export-utils.ts","ng://@seniorsistemas/angular-components/components/utils/locale-utils.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/country-phone-picker.component.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/country-phone-picker.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/base-field-component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-size.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/autocomplete-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/bignumber-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/blob-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/boolean-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/boolean-switch-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/calendar-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/checkbox-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/chips-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/country-phone-picker-field.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.directive.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/number-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/decimal-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/currency-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/lookup-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/password-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/radio-button-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/select-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/slider-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-area-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-area-ia-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/button-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/editor-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/profile-picture.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/form-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/lookup/lookup.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/grid.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/row.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/structure.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/fieldset.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/section.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-config.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.component.ts","ng://@seniorsistemas/angular-components/components/mouse-events/long-press.directive.ts","ng://@seniorsistemas/angular-components/components/mouse-events/double-click.directive.ts","ng://@seniorsistemas/angular-components/components/mouse-events/mouse-events.module.ts","ng://@seniorsistemas/angular-components/components/toast/toast.component.ts","ng://@seniorsistemas/angular-components/components/toast/toast.service.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/services/IAssist/iassist.service.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/go-back/go-back.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.module.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.service.ts","ng://@seniorsistemas/angular-components/components/file-upload/models/validate-errors.ts","ng://@seniorsistemas/angular-components/components/file-upload/models/file-upload-permissions.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.module.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/components/iassist-icon/iassist-icon.component.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/components/senior-icon/senior-icon.component.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/components/svg-factory-icons.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/svg-factory.directive.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/svg-factory.module.ts","ng://@seniorsistemas/angular-components/components/loading-state/components/dots-indicator/dots-indicator.components.ts","ng://@seniorsistemas/angular-components/components/loading-state/components/logo-indicator/logo-indicator.component.ts","ng://@seniorsistemas/angular-components/components/loading-state/components/loading-state-indicators.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.component.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.directive.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.module.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.directive.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.module.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.pipe.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.module.ts","ng://@seniorsistemas/angular-components/components/password-strength/models/password-strengths.ts","ng://@seniorsistemas/angular-components/components/password-strength/models/password-positions.ts","ng://@seniorsistemas/angular-components/components/password-strength/password-strength.component.ts","ng://@seniorsistemas/angular-components/components/password-strength/password-strength.directive.ts","ng://@seniorsistemas/angular-components/components/password-strength/password-strength.module.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkbox.component.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkox.module.ts","ng://@seniorsistemas/angular-components/components/table/navigation/navigation.directive.ts","ng://@seniorsistemas/angular-components/components/table/row-toggler/row-toggler.directive.ts","ng://@seniorsistemas/angular-components/components/table/frozen-position/frozen-position.directive.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-column-field-type.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-badge-colors.ts","ng://@seniorsistemas/angular-components/components/table/table-column/table-columns.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.module.ts","ng://@seniorsistemas/angular-components/components/table/table-paging/table-paging.component.ts","ng://@seniorsistemas/angular-components/components/table/table.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/boolean/boolean-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/calendar/calendar-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/chips/chips-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/lookup/lookup-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/radio-button/radio-button-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/select/select-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/slider/slider-field.component.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/speech-recognition.service.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text-area/text-area-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/fieldset/fieldset.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/section/section.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/grid/row/row.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/dynamic-field/dynamic-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/bignumber/bignumber-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/currency/currency-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/password/password-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text/text-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/checkbox/checkbox-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/editor/editor-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/number/number-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/button-field/button-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.directive.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/field-label/field-label.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/field-label/field-label.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/bignumber/bignumber-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/checkbox/checkbox-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/currency/currency-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/editor/editor-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/number/number-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/password/password-field.module.ts","ng://@seniorsistemas/angular-components/components/structure/header.component.ts","ng://@seniorsistemas/angular-components/components/structure/footer.component.ts","ng://@seniorsistemas/angular-components/components/structure/structure.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.component.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.service.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail-size.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.service.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.component.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.module.ts","ng://@seniorsistemas/angular-components/components/profile-picture-picker/models/file-validation-errors.ts","ng://@seniorsistemas/angular-components/components/profile-picture-picker/profile-picture-picker.component.ts","ng://@seniorsistemas/angular-components/components/profile-picture-picker/profile-picture-picker.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text/text-field.module.ts","ng://@seniorsistemas/angular-components/components/text-area/text-area/text-area.component.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/text-to-speech.service.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/speech-recognition/speech-recognition.component.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/speech-recognition.module.ts","ng://@seniorsistemas/angular-components/components/text-area/text-area.module.ts","ng://@seniorsistemas/angular-components/components/fieldset/fieldset.component.ts","ng://@seniorsistemas/angular-components/components/accessibility-events/directives/accessibility-event.directive.ts","ng://@seniorsistemas/angular-components/components/accessibility-events/accessibility-events.module.ts","ng://@seniorsistemas/angular-components/components/fieldset/fieldset.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.module.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.service.ts","ng://@seniorsistemas/angular-components/components/custom-fields/models/custom-field-type.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.component.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.module.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.directive.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.module.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/utils/date-utils.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/utils/svg-utils.ts","ng://@seniorsistemas/angular-components/components/gantt/models/view-mode.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/bar.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/popup.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/arrow.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/gantt-options.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/gantt.ts","ng://@seniorsistemas/angular-components/components/gantt/gantt.component.ts","ng://@seniorsistemas/angular-components/components/gantt/components/side-table/side-table.component.ts","ng://@seniorsistemas/angular-components/components/gantt/gantt.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search-size.enum.ts","ng://@seniorsistemas/angular-components/components/global-search/elements/dropdown/global-search-dropdown-item.component.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.component.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.directive.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.module.ts","ng://@seniorsistemas/angular-components/components/ia-insight/components/ia-insight-card/ia-insight-card.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/models/ia-insight-template-types.ts","ng://@seniorsistemas/angular-components/components/ia-insight/ia-insight.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/ia-insight.module.ts","ng://@seniorsistemas/angular-components/components/grid-menu/grid-menu.component.ts","ng://@seniorsistemas/angular-components/components/grid-menu/components/grid-menu-item/grid-menu-item.component.ts","ng://@seniorsistemas/angular-components/components/grid-menu/grid-menu.module.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-calendar-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-lookup-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-number-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-text-area-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-text-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-text-area-ia-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/inline-edit.component.ts","ng://@seniorsistemas/angular-components/components/text-area-ia/text-area-ia.component.ts","ng://@seniorsistemas/angular-components/components/text-area-ia/text-area-ia.module.ts","ng://@seniorsistemas/angular-components/components/inline-edit/inline-edit.module.ts","ng://@seniorsistemas/angular-components/components/kanban/kanban-event.service.ts","ng://@seniorsistemas/angular-components/components/kanban/models/kanban-template-types.ts","ng://@seniorsistemas/angular-components/components/kanban/kanban.component.ts","ng://@seniorsistemas/angular-components/components/kanban/components/kanban-column/kanban-column.component.ts","ng://@seniorsistemas/angular-components/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.ts","ng://@seniorsistemas/angular-components/components/kanban/components/kanban-item/kanban-item.component.ts","ng://@seniorsistemas/angular-components/components/kanban/kanban.module.ts","ng://@seniorsistemas/angular-components/components/navigation-button/navigation-button.component.ts","ng://@seniorsistemas/angular-components/components/navigation-button/navigation-button.module.ts","ng://@seniorsistemas/angular-components/components/shared/models/enum-severity.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/field/object-card-field.component.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/main/object-card-main.component.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.component.ts","ng://@seniorsistemas/angular-components/components/shared/border-button/border-button.component.ts","ng://@seniorsistemas/angular-components/components/shared/border-button/border-button.module.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.module.ts","ng://@seniorsistemas/angular-components/components/panel/panel.component.ts","ng://@seniorsistemas/angular-components/components/panel/panel.module.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.component.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.module.ts","ng://@seniorsistemas/angular-components/components/progressbar/models/progressbar-colors.ts","ng://@seniorsistemas/angular-components/components/progressbar/models/progressbar-mode.ts","ng://@seniorsistemas/angular-components/components/progressbar/progressbar.component.ts","ng://@seniorsistemas/angular-components/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.ts","ng://@seniorsistemas/angular-components/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.ts","ng://@seniorsistemas/angular-components/components/progressbar/progressbar.module.ts","ng://@seniorsistemas/angular-components/components/rating-scale/rating-scale.component.ts","ng://@seniorsistemas/angular-components/components/rating-scale/rating-scale.module.ts","ng://@seniorsistemas/angular-components/components/select-button/select-button.component.ts","ng://@seniorsistemas/angular-components/components/select-button/components/select-button-item/select-button-item.component.ts","ng://@seniorsistemas/angular-components/components/select-button/select-button.module.ts","ng://@seniorsistemas/angular-components/components/shared/helpers.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.component.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.module.ts","ng://@seniorsistemas/angular-components/components/slide-panel/slide-panel.service.ts","ng://@seniorsistemas/angular-components/components/slide-panel/slide-panel.component.ts","ng://@seniorsistemas/angular-components/components/slide-panel/slide-panel.module.ts","ng://@seniorsistemas/angular-components/components/slider/slider.component.ts","ng://@seniorsistemas/angular-components/components/slider/slider.module.ts","ng://@seniorsistemas/angular-components/components/split-button/models/split-button-type.ts","ng://@seniorsistemas/angular-components/components/split-button/split-button.component.ts","ng://@seniorsistemas/angular-components/components/split-button/split-button.module.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.component.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.module.ts","ng://@seniorsistemas/angular-components/components/steps/steps.component.ts","ng://@seniorsistemas/angular-components/components/steps/steps.module.ts","ng://@seniorsistemas/angular-components/components/thumbnails/thumbnails.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/components/thumbnail-item/thumbnail-item.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/thumbnails.module.ts","ng://@seniorsistemas/angular-components/components/tile/tile.component.ts","ng://@seniorsistemas/angular-components/components/tile/tile.module.ts","ng://@seniorsistemas/angular-components/components/timeline/timeline.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/timeline-icon-item/timeline-icon-item.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/timeline-icon-item/timeline-icon-item.module.ts","ng://@seniorsistemas/angular-components/components/timeline/components/horizontal-timeline/horizontal-timeline.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/horizontal-timeline/horizontal-timeline.module.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/vertical-timeline.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/range-line/range-line.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/vertical-timeline.module.ts","ng://@seniorsistemas/angular-components/components/timeline/timeline.module.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item-severity.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item-size.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item.ts","ng://@seniorsistemas/angular-components/components/workspace-switch/workspace-switch.component.ts","ng://@seniorsistemas/angular-components/components/workspace-switch/workspace-switch.module.ts","ng://@seniorsistemas/angular-components/components/label-value/label-value.component.ts","ng://@seniorsistemas/angular-components/components/label-value/label-value.module.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist/models/picklist-models.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist/picklist.component.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist.module.ts","ng://@seniorsistemas/angular-components/components/chips/chips/chips.component.ts","ng://@seniorsistemas/angular-components/components/chips/chip-item/chip-item.component.ts","ng://@seniorsistemas/angular-components/components/chips/chips.module.ts","ng://@seniorsistemas/angular-components/components/help-popover/help-popover/help-popover.component.ts","ng://@seniorsistemas/angular-components/components/help-popover/help-popover.directive.ts","ng://@seniorsistemas/angular-components/components/help-popover/help-popover.module.ts","ng://@seniorsistemas/angular-components/components/toast/toast.module.ts","ng://@seniorsistemas/angular-components/components/tree/tree.component.ts","ng://@seniorsistemas/angular-components/components/tree/components/tree-node-item/tree-node-item.component.ts","ng://@seniorsistemas/angular-components/components/tree/tree.module.ts","ng://@seniorsistemas/angular-components/locale/fallback.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\nimport { trigger, style, animate, transition, state } from \"@angular/animations\";\n\nimport { AccordionButtonSettings } from \"../../models/accordion-button-settings\";\nimport { AccordionSwitchSettings } from \"../../models/accordion-switch-settings\";\nimport { FormControl } from \"@angular/forms\";\n\n@Component({\n selector: \"s-accordion-panel\",\n templateUrl: \"./accordion-panel.component.html\",\n styleUrls: [\"./accordion-panel.component.scss\"],\n animations: [\n trigger(\"cachelessAnimation\", [\n transition(\":enter\", [style({ height: \"0\" }), animate(\"200ms linear\", style({ height: \"*\" }))]),\n transition(\":leave\", [style({ height: \"*\" }), animate(\"200ms linear\", style({ height: \"0\" }))]),\n ]),\n trigger(\"cacheAnimation\", [\n state(\"true\", style({ height: \"*\" })),\n state(\"false\", style({ height: '0px' })),\n transition(\"* => *\", animate(\"200ms\")),\n ]),\n ],\n})\nexport class AccordionPanelComponent implements OnChanges, AfterViewInit {\n @Input()\n public header: string;\n\n @Input()\n public buttons: AccordionButtonSettings[];\n\n @Input()\n public disabled = false;\n\n /**\n * @deprecated Use switchControl instead.\n */\n @Input()\n public switch: AccordionSwitchSettings;\n\n @Input()\n public switchControl: FormControl;\n\n @Input()\n public validationMessage: string;\n\n @Input()\n public cache = false;\n\n @Input() validationMessageIcon = 'fas fa-exclamation-circle';\n\n @Input() validationMessageIconColor: \"Red\" | \"Orange\" | \"Yellow\" | \"Green\" | \"Blue\" = 'Red';\n\n @Output()\n public panelOpened = new EventEmitter<void>();\n\n @Output()\n public panelClosed = new EventEmitter<void>();\n\n\n public isAnimating = false;\n public isContentAnimationDisabled = true;\n\n private _isOpen = false;\n\n public get isOpen() {\n return this._isOpen;\n }\n\n public set isOpen(isOpen: boolean) {\n this._isOpen = isOpen;\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\"disabled\" in changes) {\n if (this.switchControl) {\n changes[\"disabled\"].currentValue\n ? this.switchControl.disable({ emitEvent: false })\n : this.switchControl.enable({ emitEvent: false });\n }\n }\n\n if (\"switch\" in changes && \"switchControl\" in changes) {\n throw new Error(\"You can't set switch and switchControl together.\");\n }\n }\n\n public ngAfterViewInit(): void {\n // to executed at a safe time prior to control returning to the browser's event loop\n queueMicrotask(() => {\n this.isContentAnimationDisabled = false;\n });\n }\n\n public onIconButtonsClick(event: Event, callback: VoidFunction) {\n if (this.disabled) {\n return;\n }\n\n event.stopPropagation();\n callback();\n }\n\n public onTabClick() {\n if (this.disabled || this.isAnimating) {\n return;\n }\n this.isOpen = !this.isOpen;\n }\n\n public onContentAnimationStart() {\n this.isAnimating = true;\n }\n\n public onContentAnimationDone() {\n this.isAnimating = false;\n\n if (this.isOpen) {\n this.panelOpened.emit();\n } else {\n this.panelClosed.emit();\n }\n }\n}\n","import { AfterContentInit, OnChanges, Component, ContentChildren, Input, QueryList, SimpleChanges, OnDestroy, OnInit } from \"@angular/core\";\n\nimport { AccordionPanelComponent } from \"./components/accordion-panel/accordion-panel.component\";\nimport { Subject, Subscription } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"s-accordion\",\n templateUrl: \"./accordion.component.html\",\n styleUrls: [\"./accordion.component.scss\"],\n})\nexport class AccordionComponent implements AfterContentInit, OnInit, OnChanges, OnDestroy {\n @Input()\n public activeIndex: number | number[];\n\n @Input()\n public multiple = false;\n\n @ContentChildren(AccordionPanelComponent)\n public panelsComponents: QueryList<AccordionPanelComponent>;\n\n private unsubscribe$ = new Subject<void>();\n private panels: AccordionPanelComponent[] = [];\n private openSubs: Subscription[];\n\n ngOnInit(): void {\n this.validateInputs();\n }\n\n public ngAfterContentInit(): void {\n this.panels = this.panelsComponents.toArray();\n this.openSubs = new Array(this.panels.length);\n\n this.setBehavior(this.multiple);\n this.setupTabs();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.multiple) {\n this.setBehavior(changes.multiple.currentValue);\n }\n }\n\n public ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n private validateInputs(): void {\n if (!this.multiple && Array.isArray(this.activeIndex)) {\n throw new Error(\"The activeIndex should not be an array when multiple is set to false.\");\n }\n }\n\n private setupTabs(): void {\n if (this.panels?.length) {\n if (this.activeIndex !== undefined && this.activeIndex !== null) {\n const activeTabs = Array.isArray(this.activeIndex)\n ? this.panels.filter((_, index) => (this.activeIndex as number[]).includes(index))\n : [this.panels[this.activeIndex]];\n\n if (activeTabs.length === 0) {\n throw new Error(\"activeIndex does not represent any panel.\");\n }\n\n for (const activeTab of activeTabs) {\n if (!activeTab.disabled) {\n activeTab.isOpen = true;\n }\n }\n }\n }\n }\n\n private closeOtherTabs(exception: number) {\n this.panels.forEach((panel, index) => {\n if (index !== exception) {\n panel.isOpen = false;\n }\n });\n }\n\n private setBehavior(multiple: boolean): void {\n if (multiple) {\n this.enableMultiplePanelBehavior();\n } else {\n this.enableSinglePanelBehavior();\n }\n }\n\n private enableSinglePanelBehavior() {\n this.panels.forEach((panel, index) => {\n this.openSubs[index] = panel.panelOpened.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n this.closeOtherTabs(index);\n });\n });\n }\n\n private enableMultiplePanelBehavior() {\n this.panels.forEach((_, index) => {\n if (this.openSubs[index]) {\n this.openSubs[index].unsubscribe();\n }\n });\n }\n}\n","// switch.component.ts\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n selector: 's-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n }],\n})\nexport class SwitchComponent implements ControlValueAccessor {\n @Input()\n public readonly = false;\n\n @Input()\n public trueLabel?: string;\n\n @Input()\n public falseLabel?: string;\n\n @Input()\n public inputId: string;\n\n @Input()\n public inputName: string;\n\n @Input()\n public disabled = false;\n\n @Output()\n public valueChanged = new EventEmitter<boolean>();\n\n @Input()\n public value = false;\n\n @ViewChild(\"switch\", { static: true })\n public switchRef: ElementRef;\n\n @HostListener('focusin')\n onFocusIn() {\n const switchElement = this.switchRef.nativeElement as HTMLDivElement; \n switchElement.classList.add(\"switch--focus\");\n }\n\n @HostListener('focusout')\n onFocusOut() {\n const switchElement = this.switchRef.nativeElement as HTMLDivElement; \n switchElement.classList.remove(\"switch--focus\");\n }\n\n private _onChange: (value: boolean) => void;\n private _onTouched: (value: boolean) => void;\n\n public writeValue(value: boolean): void {\n if (!this.disabled) {\n this.value = value;\n }\n }\n\n public registerOnChange(onChange: (value: boolean) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: boolean) => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState?(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public toggleCheck() {\n this.value = !this.value;\n this.valueChanged.emit(this.value);\n\n if (this._onChange) {\n this._onChange(this.value);\n }\n\n if (this._onTouched) {\n this._onTouched(this.value);\n }\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SwitchComponent } from \"./switch.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SwitchComponent],\n exports: [SwitchComponent],\n})\nexport class SwitchModule { }","export enum TooltipPosition {\n Top = \"top\",\n Bottom = \"bottom\",\n Left = \"left\",\n Right = \"right\",\n}\n","import { Component } from \"@angular/core\";\nimport { TooltipPosition } from \"./models/tooltip-position\";\n\n@Component({\n templateUrl: \"./tooltip.component.html\",\n styleUrls: [\"./tooltip.component.scss\"],\n})\nexport class TooltipComponent {\n public tooltip = \"\";\n public position = TooltipPosition.Top;\n public left = 0;\n public top = 0;\n public visible = false;\n public escape = false;\n}\n","import { Injectable } from '@angular/core';\n\nconst DEFAULT_TIMER = 300;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DebounceUtils {\n public debounce(func: Function, timeout = DEFAULT_TIMER){\n let timer: NodeJS.Timeout;\n return (...args: any) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n }\n\n public debounceLeading(func: Function, timeout = DEFAULT_TIMER) {\n let timer: NodeJS.Timeout;\n return (...args: any) => {\n if (!timer) {\n func.apply(this, args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n }, timeout);\n };\n }\n}\n","export const isNullOrUndefined = (value: unknown) => value === null || value === undefined;\r\nexport type ElementPosition = {\r\n top: number;\r\n left: number;\r\n right: number;\r\n elementHeight: number;\r\n elementWidth: number;\r\n elementVerticalCenter: number;\r\n elementHorizontalCenter: number;\r\n};\r\n\r\nexport type ElementLeftoverPosition = {\r\n freeDistanceToBottom: number;\r\n freeDistanceToTop: number;\r\n freeDistanceToLeft: number;\r\n freeDistanceToRight: number;\r\n};\r\n\r\nexport const isMousePositionOutsideOfElement = (\r\n event: MouseEvent | PointerEvent,\r\n elementArea: {\r\n top: number;\r\n right: number;\r\n left: number;\r\n bottom: number;\r\n }\r\n) => {\r\n const eventX = event.clientX;\r\n const eventY = event.clientY;\r\n return eventX < elementArea.left || eventX >= elementArea.right || eventY < elementArea.top || eventY >= elementArea.bottom;\r\n};\r\n\r\nexport const getElementPositionInfo = (element: HTMLElement): ElementPosition => {\r\n const rect = element.getBoundingClientRect();\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\r\n\r\n const elementHeight = rect.height;\r\n const elementWidth = rect.width;\r\n const elementVerticalCenter = elementHeight / 2;\r\n const elementHorizontalCenter = elementWidth / 2;\r\n\r\n return {\r\n top: rect.top + scrollTop,\r\n left: rect.left + scrollLeft,\r\n right: rect.left + scrollLeft + elementWidth,\r\n elementHeight,\r\n elementWidth,\r\n elementVerticalCenter,\r\n elementHorizontalCenter,\r\n };\r\n};\r\n\r\nexport const getElementLeftoverContentAvailable = (element: HTMLElement): ElementLeftoverPosition => {\r\n const windowWidth = window.innerWidth;\r\n const popoverElementTriggerRect = element.getBoundingClientRect();\r\n const freeDistanceToBottom = window.innerHeight - popoverElementTriggerRect.bottom;\r\n const freeDistanceToTop = popoverElementTriggerRect.top;\r\n const freeDistanceToLeft = popoverElementTriggerRect.left;\r\n const freeDistanceToRight = windowWidth - popoverElementTriggerRect.right;\r\n return {\r\n freeDistanceToBottom,\r\n freeDistanceToTop,\r\n freeDistanceToLeft,\r\n freeDistanceToRight,\r\n };\r\n};\r\n\r\n//////////////////////////////////\r\n// TODO: Remover no angular 18!!!!\r\n//////////////////////////////////\r\ndeclare function structuredClone<T>(value: T, options?: { transfer?: any[] }): T;\r\n\r\nexport const deepClone = <T>(obj: T): T => {\r\n if (typeof structuredClone === \"function\") return structuredClone(obj);\r\n return JSON.parse(JSON.stringify(obj));\r\n};\r\n","export enum MobileBehavior {\n Pressing = \"pressing\",\n Tap = \"tap\",\n}","export enum TooltipEvent {\n Focus = \"focus\",\n Hover = \"hover\",\n}","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n} from \"@angular/core\";\nimport { DebounceUtils } from \"../utils/debouce\";\nimport { getElementLeftoverContentAvailable, getElementPositionInfo, isMousePositionOutsideOfElement, isNullOrUndefined } from './../utils/utils';\nimport { MobileBehavior, TooltipEvent, TooltipPosition } from \"./models\";\nimport { TooltipComponent } from \"./tooltip.component\";\n\n@Directive({\n selector: \"[sTooltip]\",\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n @Input(\"sTooltip\")\n public tooltip: string;\n\n @Input(\"tooltipPosition\")\n public position: TooltipPosition = TooltipPosition.Top;\n\n @Input()\n public showDelay = 500;\n\n @Input()\n public displayTime: number;\n\n @Input()\n public tooltipEvent = TooltipEvent.Hover;\n\n @Input()\n public escape = false;\n\n @Input()\n public visible = true;\n\n @Input()\n public mobileBehavior = MobileBehavior.Pressing;\n\n @Input()\n public focusedInputRef: HTMLInputElement;\n\n private componentRef: ComponentRef<TooltipComponent> = null;\n private showTimeout?: number;\n private touchTimeout?: number;\n private tooltipDivElement?: HTMLElement;\n private readonly debounceCreateTooltipFunction: () => void;\n private tooltipCreatedByFocus = false;\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 debounceUtils: DebounceUtils,\n private readonly renderer: Renderer2\n ) {\n this.debounceCreateTooltipFunction = this.debounceUtils.debounceLeading(() => this._createTooltip(true, true));\n }\n\n public ngOnInit(): void {\n this.validatePosition();\n this.updateTooltipVisibilityWhenFocusOnInput();\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n /**\n * Manipula a visibilidade do tooltip quando houver uma referência de input.\n */\n private updateTooltipVisibilityWhenFocusOnInput() {\n if (this.focusedInputRef) {\n const inputFocus = this.focusedInputRef;\n const icon = this.getIconFromFocusedInput();\n this.renderer.listen(inputFocus, \"focus\", () => {\n if (icon) {\n this._createTooltip(false, false)\n this.tooltipCreatedByFocus = true;\n }\n });\n this.renderer.listen(inputFocus, \"blur\", () => {\n if (icon) {\n this.removeTooltip(icon);\n this.destroy();\n this.tooltipCreatedByFocus = false;\n }\n });\n }\n }\n\n /**\n * Obtém o elemento do Ãcone associado ao label do input em focus.\n * @returns O Ãcone do input em focus.\n */\n private getIconFromFocusedInput(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Remove o tooltip associado ao Ãcone do input em focus.\n * @param icon O Ãcone do input em focus.\n */\n private removeTooltip(icon: HTMLElement): void {\n const tooltip = icon.querySelector(\".tooltip\") as HTMLElement;\n if (tooltip) {\n tooltip.remove();\n }\n }\n\n // whenever the component with the tooltip is clicked I destroy the tooltip.\n // whenever a key is pressed on the component with the tooltip I destroy the tooltip.\n @HostListener(\"click\")\n @HostListener(\"keydown\")\n public onClick(): void {\n if (this.tooltipEvent === TooltipEvent.Hover && !navigator.userAgent.match(/Android/i) && !navigator.userAgent.match(/iPhone/i)) {\n this.destroy();\n }\n }\n\n @HostListener(\"focus\")\n public onFocus(): void {\n if (this.tooltipEvent === TooltipEvent.Focus) {\n this._createTooltip(true, true)\n }\n }\n\n @HostListener(\"blur\")\n public onBlur(): void {\n if (this.tooltipEvent === TooltipEvent.Focus) {\n this.destroy();\n }\n }\n\n @HostListener(\"mouseenter\")\n public onMouseEnter(): void {\n if (this.tooltipEvent === TooltipEvent.Hover || this.focusedInputRef) {\n this.debounceCreateTooltipFunction();\n }\n }\n\n @HostListener(\"mouseleave\")\n @HostListener(\"wheel\")\n public onMouseLeave(): void {\n if ((this.tooltipEvent === TooltipEvent.Hover || this.focusedInputRef) && !this.tooltipCreatedByFocus) {\n this.destroy();\n }\n }\n\n @HostListener(\"touchstart\")\n public onTouchStart(): void {\n if (this.tooltipEvent === TooltipEvent.Hover) {\n window.clearTimeout(this.touchTimeout);\n const _delay = this.mobileBehavior === MobileBehavior.Pressing ? this.showDelay : 0\n this.touchTimeout = window.setTimeout(() => {\n this._createTooltip(true, true);\n }, _delay)\n }\n }\n\n @HostListener(\"touchend\")\n public onTouchEnd(): void {\n if (this.tooltipEvent === TooltipEvent.Hover) {\n if (this.mobileBehavior === MobileBehavior.Pressing) {\n window.clearTimeout(this.touchTimeout);\n this.destroy();\n }\n }\n }\n\n private validatePosition() {\n const containsPosition = [TooltipPosition.Top, TooltipPosition.Right, TooltipPosition.Bottom, TooltipPosition.Left].includes(\n this.position\n );\n\n if (!containsPosition) {\n this.position = TooltipPosition.Top;\n throw new Error(`Tooltip ${this.position} position is unexpected`);\n }\n }\n\n private getDomElement(): HTMLElement {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);\n this.componentRef = componentFactory.create(this.injector);\n this.appRef.attachView(this.componentRef.hostView);\n return (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n }\n\n private _createTooltip(useShowDelay = false, autoDestroy = true) {\n const hasText = this.tooltip?.length > 0;\n const hasComponentRef = this.componentRef !== null;\n if (!hasText || hasComponentRef) {\n return;\n }\n const domElement = this.getDomElement();\n document.body.appendChild(domElement);\n this.tooltipDivElement = domElement.querySelector(\".tooltip\");\n this.setTooltipComponentProperties();\n const _showDelay = useShowDelay ? this.showDelay : 0;\n setTimeout(() => {\n this.showTooltip()\n }, _showDelay)\n\n\n\n this.renderer.listen(window, \"scroll\", () => {\n this.setTooltipPositionProperty();\n });\n\n if (autoDestroy && this.displayTime) {\n setTimeout(() => {\n this.destroy();\n }, this.displayTime)\n }\n\n }\n\n private showTooltip() {\n if (this.componentRef !== null) {\n this.componentRef.instance.visible = this.visible;\n\n this.setTooltipPositionProperty();\n }\n }\n\n private setTooltipPositionProperty() {\n if (!this.componentRef) {\n return\n }\n const anchorSize = 5;\n const { left, right } = this.elementRef.nativeElement.getBoundingClientRect();\n\n const tooltipElementPosition = getElementPositionInfo(this.tooltipDivElement);\n const elementLeftover = getElementLeftoverContentAvailable(this.elementRef.nativeElement);\n const elementTriggerPosition = getElementPositionInfo(this.elementRef.nativeElement);\n const isPositionHorizontal = [TooltipPosition.Left, TooltipPosition.Right].includes(this.position);\n const distanceToBorders = isPositionHorizontal ? tooltipElementPosition.elementWidth : tooltipElementPosition.elementHorizontalCenter;\n const canSetAtTop = elementLeftover.freeDistanceToTop > tooltipElementPosition.elementHeight;\n const canSetAtLeft = elementLeftover.freeDistanceToLeft > distanceToBorders;\n const canSetAtRight = elementLeftover.freeDistanceToRight > distanceToBorders;\n const canSetAtBottom = elementLeftover.freeDistanceToBottom > tooltipElementPosition.elementHeight;\n const topVertical = elementTriggerPosition.top + elementTriggerPosition.elementVerticalCenter;\n const checkTopPosition = () => {\n return canSetAtTop && canSetAtLeft && canSetAtRight;\n }\n const checkBottomPosition = () => {\n return canSetAtBottom && canSetAtLeft && canSetAtRight;\n }\n const checkLeftPosition = () => {\n return canSetAtLeft && canSetAtTop && canSetAtBottom;\n }\n\n const checkRightPosition = () => {\n return canSetAtRight && canSetAtTop && canSetAtBottom;\n }\n\n const setTopPosition = (): { left: number, top: number } => {\n return {\n left: left + (right - left) / 2,\n top: elementTriggerPosition.top - anchorSize\n }\n }\n\n const setBottomPosition = (): { left: number, top: number } => {\n return {\n left: left + (right - left) / 2,\n top: elementTriggerPosition.top + elementTriggerPosition.elementHeight\n };\n }\n\n const setLeftPosition = (): { left: number, top: number } => {\n return {\n left: left,\n top: topVertical\n };\n }\n\n const setRightPosition = (): { left: number, top: number } => {\n return {\n left: right,\n top: topVertical\n };\n }\n\n type Position = {\n pos: TooltipPosition,\n check: () => boolean,\n set: () => { left: number, top: number }\n }\n\n const positions: Position[] = [\n {\n pos: TooltipPosition.Top,\n check: checkTopPosition,\n set: setTopPosition\n },\n {\n pos: TooltipPosition.Bottom,\n check: checkBottomPosition,\n set: setBottomPosition\n },\n {\n pos: TooltipPosition.Left,\n check: checkLeftPosition,\n set: setLeftPosition\n },\n {\n pos: TooltipPosition.Right,\n check: checkRightPosition,\n set: setRightPosition\n\n }\n ];\n\n const positionDefined = positions.find((position) => position.pos === this.position);\n let validPosition: Position = positionDefined;\n const canUseDefinedPosition = positionDefined.check();\n if (canUseDefinedPosition) {\n validPosition = positionDefined;\n } else if (!canUseDefinedPosition) {\n const validAlternativePosition = positions.find((position) => position.check());\n if (validAlternativePosition) {\n validPosition = validAlternativePosition;\n }\n }\n const _position = validPosition.set();\n const positionLeft = _position.left;\n const positionTop = _position.top;\n this.componentRef.instance.left = Math.round(positionLeft);\n this.componentRef.instance.top = Math.round(positionTop);\n this.componentRef.instance.position = validPosition.pos;\n\n }\n private setTooltipComponentProperties() {\n if (this.componentRef !== null) {\n this.componentRef.instance.tooltip = this.tooltip;\n this.componentRef.instance.escape = this.escape;\n }\n }\n\n private destroy(): void {\n if (!isNullOrUndefined(this.componentRef)) {\n window.clearTimeout(this.showTimeout);\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\n this.tooltipDivElement = null;\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TooltipComponent } from \"./tooltip.component\";\nimport { TooltipDirective } from \"./tooltip.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TooltipComponent,\n TooltipDirective,\n ],\n exports: [TooltipDirective],\n})\nexport class TooltipModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { SwitchModule } from \"../switch/switch.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { AccordionComponent } from \"./accordion.component\";\nimport { AccordionPanelComponent } from \"./components/accordion-panel/accordion-panel.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n SwitchModule,\n ],\n declarations: [\n AccordionComponent,\n AccordionPanelComponent,\n ],\n exports: [\n AccordionComponent,\n AccordionPanelComponent,\n ],\n})\nexport class AccordionModule { }\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: \"s-alert\",\n templateUrl: \"./alert.component.html\",\n styleUrls: [\"./alert.component.scss\"],\n})\nexport class AlertComponent {\n @Input()\n public severity: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\";\n\n @Input()\n public summary: string;\n\n @Input()\n public detail: string;\n\n @Input()\n public closable = true;\n\n @Output()\n public close = new EventEmitter<void>();\n\n public get isOpen(): boolean {\n return this._isOpen;\n }\n\n public closeAlert(): void {\n this._isOpen = false;\n }\n\n public showAlert(): void {\n this._isOpen = true;\n }\n\n public onClose(): void {\n this.close.emit();\n this.closeAlert();\n }\n\n private _isOpen = true;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { AlertComponent } from \"./alert.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [AlertComponent],\n exports: [AlertComponent],\n})\nexport class AlertModule {}\n","// Lembrar que toda vez que for adicionada uma cor nova, ser criada a referência no `EnumBadgeColors`\n// do s-table-columns.\n\nexport enum BadgeColors {\n Red = \"red\",\n Orange = \"orange\",\n Yellow = \"yellow\",\n Blue = \"blue\",\n Green = \"green\",\n Gray = \"gray\",\n}","export enum BadgeTypes {\n Pill = \"pill\",\n Chip = \"chip\",\n}\n","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from \"@angular/core\";\n\nimport { BadgeColors } from \"./models/badge-colors\";\nimport { BadgeTypes } from \"./models/badge-types\";\n\n@Component({\n selector: \"s-badge\",\n templateUrl: \"./badge.component.html\",\n styleUrls: [\"./badge.component.scss\"],\n})\nexport class BadgeComponent implements OnInit {\n @Input()\n public type: BadgeTypes;\n\n @Input()\n public color: BadgeColors;\n\n @Input()\n public title: string;\n\n @Input()\n public text: string;\n\n @Input()\n public selectable = false;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public iconPosition: \"left\" | \"right\";\n\n @Input()\n public infoSign: { text: string; displayTime?: number };\n\n @Output()\n public selected: EventEmitter<string> = new EventEmitter();\n\n @HostListener(\"click\")\n public onClick(): void {\n this.selected.emit(this.text);\n }\n\n public ngOnInit(): void {\n this._setDefaultValues();\n }\n\n private _setDefaultValues(): void {\n this.type = this.type ?? BadgeTypes.Pill;\n this.color = this.color ?? BadgeColors.Blue;\n this.iconPosition = this.iconPosition ?? \"left\";\n }\n}","import { Component, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"s-info-sign-component\",\n templateUrl: \"./info-sign.component.html\",\n styleUrls: [\"./info-sign.component.scss\"],\n})\nexport class InfoSignComponent {\n templateRef: TemplateRef<any>;\n tooltip: string;\n displayTime: number;\n focusedInputRef: HTMLInputElement;\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\n\nimport { InfoSignComponent } from \"./info-sign.component\";\n\n@Directive({\n selector: \"[sInfoSign]\"\n})\nexport class InfoSignDirective implements OnChanges, OnInit, OnDestroy {\n @Input()\n sInfoSign: string;\n\n @Input('sInfoSignDisplayTime')\n displayTime: number = 5000;\n\n @Input('sInfoSignFocusedInputRef')\n public focusedInputRef: HTMLInputElement;\n\n private componentRef: ComponentRef<any>;\n\n @Input('sInfoSignUseFocusedInputRef') public useFocusedInputRef = true;\n\n constructor(\n private readonly templateRef: TemplateRef<any>,\n private readonly viewContainer: ViewContainerRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver\n ) { }\n\n public ngOnChanges(): void {\n this.createInfoSign();\n }\n\n public ngOnInit(): void {\n this.createInfoSign();\n }\n\n public ngOnDestroy(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n private createInfoSign(): void {\n if (!this.componentRef && this.sInfoSign) {\n this.viewContainer.clear();\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(InfoSignComponent);\n this.componentRef = this.viewContainer.createComponent(componentFactory);\n const _infoSignComponent = this.componentRef.instance as InfoSignComponent;\n _infoSignComponent.templateRef = this.templateRef;\n _infoSignComponent.tooltip = this.sInfoSign;\n _infoSignComponent.displayTime = this.displayTime;\n if (this.useFocusedInputRef) {\n _infoSignComponent.focusedInputRef = this.focusedInputRef;\n }\n } else if (this.componentRef && this.sInfoSign) {\n this.componentRef.instance.tooltip = this.sInfoSign;\n } else {\n this.viewContainer.clear();\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { InfoSignComponent } from \"./info-sign.component\";\nimport { InfoSignDirective } from \"./info-sign.directive\";\n\n@NgModule({\n imports: [\n TooltipModule,\n CommonModule,\n ],\n declarations: [\n InfoSignDirective,\n InfoSignComponent,\n ],\n exports: [InfoSignDirective],\n entryComponents: [InfoSignComponent],\n})\nexport class InfoSignModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { BadgeComponent } from \"./badge.component\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\n\n@NgModule({\n imports: [CommonModule, RouterModule, InfoSignModule],\n declarations: [BadgeComponent],\n exports: [BadgeComponent, RouterModule],\n})\nexport class BadgeModule {}\n","export interface ICalendarLocaleOptions {\n hourFormat?: string;\n dateFormat?: string;\n firstDayOfWeek?: number;\n today?: string;\n clear?: string;\n dayNames?: string[];\n dayNamesShort?: string[];\n dayNamesMin?: string[];\n monthNamesShort?: string[];\n monthNames?: string[];\n}\n\nexport class CalendarLocaleOptions implements ICalendarLocaleOptions {\n public hourFormat = \"24\";\n public dateFormat = \"dd/mm/yy\";\n public firstDayOfWeek = 0;\n public today = \"Hoje\";\n public clear = \"Limpar\";\n public dayNames: string[] = [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"];\n public dayNamesShort: string[] = [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sab\"];\n public dayNamesMin: string[] = [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"];\n public monthNamesShort: string[] = [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"];\n public monthNames: string[] = [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\",\n ];\n\n constructor(config: ICalendarLocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n","export interface INumberLocaleOptions {\n thousandsSeparator?: string;\n decimalSeparator?: string;\n currencySymbol?: string;\n}\n\nexport class NumberLocaleOptions implements INumberLocaleOptions {\n public thousandsSeparator = \".\";\n public decimalSeparator = \",\";\n public currencySymbol = \"R$\";\n\n constructor(config: INumberLocaleOptions = {}) {\n Object.assign(this, config);\n }\n}\n","import { CalendarLocaleOptions } from \"./calendar\";\nimport { NumberLocaleOptions } from \"./number\";\n\nexport interface ILocaleOptions {\n calendar?: CalendarLocaleOptions;\n number?: NumberLocaleOptions;\n}\n\nexport class LocaleOptions implements ILocaleOptions {\n locale: string;\n calendar = new CalendarLocaleOptions();\n number = new NumberLocaleOptions();\n\n constructor(config: ILocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n\n/**\n * @deprecated\n */\nexport const DEFAULT_CALENDAR_LOCALE_OPTIONS = new CalendarLocaleOptions();\n\n/**\n * @deprecated\n */\nexport const DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();\n\n/**\n * @deprecated\n */\nexport const DEFAULT_LOCALE_OPTIONS = new LocaleOptions();\n\nexport * from \"./calendar\";\nexport * from \"./number\";\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { user } from \"@seniorsistemas/senior-platform-data\";\nimport * as moment_ from \"moment\";\nimport { from, Observable, of } from \"rxjs\";\nimport { catchError, map, switchMap, tap } from \"rxjs/operators\";\nimport { ILocaleOptions, LocaleOptions } from \"./options/index\";\nimport { CookieService } from \"ngx-cookie-service\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Injectable()\nexport class LocaleService {\n private locale: string;\n private localeOptions: LocaleOptions;\n private localeOptionsAddress = \"https://cdn.senior.com.br/primeng/locales\";\n private localeOptionsVersion = \"3.0.0\";\n\n constructor(\n private http: HttpClient,\n private cookieService: CookieService\n ) {}\n\n get(): Observable<LocaleOptions> {\n return this.localeOptions\n ? of(this.localeOptions)\n : this.getLocaleConfig().pipe(\n tap((localeOptions: LocaleOptions) => (this.localeOptions = { ...localeOptions, locale: this.locale }))\n );\n }\n\n getLocale(): Observable<string> {\n return this.locale\n ? of(this.locale)\n : from(this.getUserData()).pipe(\n map((userData: any) => {\n this.locale = <string>userData.locale || <string>userData.tenantLocale || \"pt-BR\";\n return this.locale;\n })\n );\n }\n\n /**\n * Returns an object with the locale options based on the user's locale(platform locale).\n * @return The locale options object.\n */\n getLocaleOptions(): LocaleOptions {\n return this.localeOptions;\n }\n\n private getUserData() {\n try {\n return of(JSON.parse(this.cookieService.get(\"com.senior.token\")));\n } catch (ex) {\n console.warn(\"Unable to obtain user locale from cookie, calling getUser\");\n return user.getUserData();\n }\n }\n\n private getLocaleConfig(): Observable<LocaleOptions> {\n return this.getLocale().pipe(\n switchMap((locale: string) => {\n moment.locale(locale);\n\n return this.http\n .get<ILocaleOptions>(`${this.localeOptionsAddress}/${this.localeOptionsVersion}/${locale}.json`)\n .pipe(map((response) => new LocaleOptions(response)));\n }),\n catchError((err: any) => {\n console.warn(`Error getting locale configuration. Using fallback.`, err);\n return of(new LocaleOptions());\n })\n );\n }\n\n getGroupingSeparator(): string {\n const numberFormat = new Intl.NumberFormat(this.locale, {\n style: \"decimal\",\n useGrouping: true,\n minimumFractionDigits: 5,\n maximumFractionDigits: 5,\n });\n\n // The default groupingSeparator for 'fr' is the character code 8239. We need it to be the regular space.\n if (this.locale.includes(\"fr\")) return \" \";\n\n return numberFormat.formatToParts(1000).find((part) => part.type === \"group\")?.value;\n }\n\n getDecimalSeparator(): string {\n const numberFormat = new Intl.NumberFormat(this.locale, {\n style: \"decimal\",\n minimumFractionDigits: 5,\n maximumFractionDigits: 5,\n });\n\n return numberFormat.formatToParts(1.2).find((part) => part.type === \"decimal\")?.value;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { applyMask, MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\n\n@Pipe({\n name: \"localizedBignumber\",\n})\nexport class LocalizedBignumberPipe implements PipeTransform {\n constructor(\n private localeService: LocaleService\n ) {}\n\n public transform(value?: any, options?: MaskConfig): any {\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value?: any, options?: MaskConfig) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const configs: MaskConfig = {\n prefix: options?.prefix ?? localeConfig?.number?.currencySymbol ?? \"R$\",\n thousandsSeparator: options?.thousandsSeparator ?? localeConfig?.number?.thousandsSeparator ?? \".\",\n decimalSeparator: options?.decimalSeparator ?? localeConfig?.number?.decimalSeparator ?? \",\",\n scale: options?.scale ?? 2,\n allowNegative: options?.allowNegative ?? true\n };\n const isNumber = !(new BigNumber(value).isNaN());\n return applyMask(value, configs, isNumber);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { LocalizedBignumberPipe } from \"./localized-bignumber.pipe\";\n\n@Pipe({\n name: \"localizedBignumberImpure\",\n pure: false,\n})\nexport class LocalizedBignumberImpurePipe extends LocalizedBignumberPipe implements PipeTransform {\n public transform(value?: any, options?: MaskConfig): any {\n return super.transform(value, options);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { INumberLocaleOptions, NumberLocaleOptions } from \"../options\";\n\nexport interface ILocalizedCurrencyPipeOptions extends INumberLocaleOptions {\n scale?: number;\n}\n\nexport class LocalizedCurrencyPipeOptions extends NumberLocaleOptions implements ILocalizedCurrencyPipeOptions {\n public scale = 2;\n\n constructor(config: ILocalizedCurrencyPipeOptions = {}) {\n super(config);\n }\n}\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrency\",\n})\nexport class LocalizedCurrencyPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value?: any, options?: LocalizedCurrencyPipeOptions): any {\n if (!options) {\n options = new LocalizedCurrencyPipeOptions();\n }\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value: any, options: LocalizedCurrencyPipeOptions) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const config = { ...localeConfig.number, ...options };\n const { scale, currencySymbol, thousandsSeparator, decimalSeparator } = config;\n\n const rawValue = Number(value).toFixed(scale);\n const onlyNumbers = rawValue.replace(/[^0-9]/g, ``);\n const integerPart =\n onlyNumbers\n .slice(0, onlyNumbers.length - scale)\n .replace(/^0*/g, ``)\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) || `0`;\n const decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);\n const newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;\n const isZero = !Number(onlyNumbers);\n const operator = rawValue.includes(\"-\") && !isZero ? \"-\" : \"\";\n return `${operator}${currencySymbol}${newValue}`;\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions } from \"./localized-currency.pipe\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrencyImpure\",\n pure: false,\n})\nexport class LocalizedCurrencyImpurePipe extends LocalizedCurrencyPipe implements PipeTransform {\n public transform(value?: any, options: LocalizedCurrencyPipeOptions = new LocalizedCurrencyPipeOptions()): any {\n return super.transform(value, options);\n }\n}\n","import * as moment_ from \"moment\";\nimport { Pipe, PipeTransform } from \"@angular/core\";\n\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedDate\",\n})\nexport class LocalizedDatePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"L LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value).format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedDatePipe } from \"./localized-date.pipe\";\n\n@Pipe({\n name: \"localizedDateImpure\",\n pure: false,\n})\nexport class LocalizedDateImpurePipe extends LocalizedDatePipe implements PipeTransform {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { from } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale.service\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({ name: \"localizedNumber\" })\nexport class LocalizedNumberPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n transform(value: number | string, minimumFractionDigits?: number) {\n return from(this.localeService.getLocale()).pipe(\n map((locale: string) => {\n const numericValue = Number(value);\n\n if (!value && isNaN(numericValue)) return;\n\n return new Intl.NumberFormat(locale, {\n minimumFractionDigits: minimumFractionDigits || 0,\n }).format(Number(value));\n })\n );\n }\n}\n\nexport interface Locale {\n localidade?: string;\n tenantLocale?: string;\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport * as moment_ from \"moment\";\nimport { map } from \"rxjs/operators\";\n\nimport { LocaleService } from \"../locale.service\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedTime\",\n})\nexport class LocalizedTimePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value, \"HH:mm:ss\").format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedTimePipe } from \"./localized-time.pipe\";\n\n@Pipe({\n name: \"localizedTimeImpure\",\n pure: false,\n})\nexport class LocalizedTimeImpurePipe extends LocalizedTimePipe implements PipeTransform {}\n","import { Injectable } from \"@angular/core\";\r\nimport { LocaleService } from \"../../components/locale/locale.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class CurrencyService {\r\n currencies = {\r\n KHR: { precision: 12, scale: 2 },\r\n SSP: { precision: 12, scale: 2 },\r\n XCD: { precision: 12, scale: 2 },\r\n EGP: { precision: 12, scale: 2 },\r\n KWD: { precision: 12, scale: 3 },\r\n YER: { precision: 12, scale: 2 },\r\n HUF: { precision: 12, scale: 2 },\r\n MXN: { precision: 12, scale: 2 },\r\n MYR: { precision: 12, scale: 2 },\r\n ZWL: { precision: 12, scale: 2 },\r\n MUR: { precision: 12, scale: 2 },\r\n DKK: { precision: 12, scale: 2 },\r\n NOK: { precision: 12, scale: 2 },\r\n DJF: { precision: 12, scale: 0 },\r\n CRC: { precision: 12, scale: 2 },\r\n BND: { precision: 12, scale: 2 },\r\n NAD: { precision: 12, scale: 2 },\r\n MKD: { precision: 12, scale: 2 },\r\n CDF: { precision: 12, scale: 2 },\r\n GNF: { precision: 12, scale: 0 },\r\n EUR: { precision: 12, scale: 2 },\r\n OMR: { precision: 12, scale: 3 },\r\n CLP: { precision: 12, scale: 0 },\r\n BSD: { precision: 12, scale: 2 },\r\n TOP: { precision: 12, scale: 2 },\r\n IRR: { precision: 12, scale: 2 },\r\n BGN: { precision: 12, scale: 2 },\r\n BZD: { precision: 12, scale: 2 },\r\n CNY: { precision: 12, scale: 2 },\r\n FJD: { precision: 12, scale: 2 },\r\n SRD: { precision: 12, scale: 2 },\r\n SOS: { precision: 12, scale: 2 },\r\n GYD: { precision: 12, scale: 2 },\r\n VUV: { precision: 12, scale: 0 },\r\n MWK: { precision: 12, scale: 2 },\r\n MRU: { precision: 12, scale: 2 },\r\n LSL: { precision: 12, scale: 2 },\r\n ERN: { precision: 12, scale: 2 },\r\n BMD: { precision: 12, scale: 2 },\r\n WST: { precision: 12, scale: 2 },\r\n LRD: { precision: 12, scale: 2 },\r\n GMD: { precision: 12, scale: 2 },\r\n ARS: { precision: 12, scale: 2 },\r\n ZAR: { precision: 12, scale: 2 },\r\n RSD: { precision: 12, scale: 2 },\r\n MDL: { precision: 12, scale: 2 },\r\n USD: { precision: 12, scale: 2 },\r\n QAR: { precision: 12, scale: 2 },\r\n HRK: { precision: 12, scale: 2 },\r\n GIP: { precision: 12, scale: 2 },\r\n NPR: { precision: 12, scale: 2 },\r\n \"002\": { precision: 9, scale: 4 },\r\n PLN: { precision: 12, scale: 2 },\r\n MAD: { precision: 12, scale: 2 },\r\n BAM: { precision: 12, scale: 2 },\r\n BTN: { precision: 12, scale: 2 },\r\n BBD: { precision: 12, scale: 2 },\r\n SHP: { precision: 12, scale: 2 },\r\n LKR: { precision: 12, scale: 2 },\r\n KPW: { precision: 12, scale: 2 },\r\n LAK: { precision: 12, scale: 2 },\r\n SZL: { precision: 12, scale: 2 },\r\n PHP: { precision: 12, scale: 2 },\r\n RWF: { precision: 12, scale: 0 },\r\n ISK: { precision: 12, scale: 0 },\r\n XOF: { precision: 12, scale: 0 },\r\n AUD: { precision: 12, scale: 2 },\r\n NGN: { precision: 12, scale: 2 },\r\n KGS: { precision: 12, scale: 2 },\r\n KYD: { precision: 12, scale: 2 },\r\n PGK: { precision: 12, scale: 2 },\r\n DZD: { precision: 12, scale: 2 },\r\n XAF: { precision: 12, scale: 0 },\r\n PEN: { precision: 12, scale: 2 },\r\n JPY: { precision: 12, scale: 0 },\r\n SBD: { precision: 12, scale: 2 },\r\n UGX: { precision: 12, scale: 0 },\r\n AMD: { precision: 12, scale: 2 },\r\n AED: { precision: 12, scale: 2 },\r\n ALL: { precision: 12, scale: 2 },\r\n XPF: { precision: 12, scale: 0 },\r\n AFN: { precision: 12, scale: 2 },\r\n RON: { precision: 12, scale: 2 },\r\n TND: { precision: 12, scale: 3 },\r\n NZD: { precision: 12, scale: 2 },\r\n JOD: { precision: 12, scale: 3 },\r\n VND: { precision: 12, scale: 0 },\r\n ETB: { precision: 12, scale: 2 },\r\n PYG: { precision: 12, scale: 0 },\r\n JMD: { precision: 12, scale: 2 },\r\n KES: { precision: 12, scale: 2 },\r\n IDR: { precision: 12, scale: 2 },\r\n HKD: { precision: 12, scale: 2 },\r\n BDT: { precision: 12, scale: 2 },\r\n GBP: { precision: 12, scale: 2 },\r\n AOA: { precision: 12, scale: 2 },\r\n PKR: { precision: 12, scale: 2 },\r\n TRY: { precision: 12, scale: 2 },\r\n SLL: { precision: 12, scale: 2 },\r\n CVE: { precision: 12, scale: 2 },\r\n LYD: { precision: 12, scale: 3 },\r\n ILS: { precision: 12, scale: 2 },\r\n UZS: { precision: 12, scale: 2 },\r\n CHF: { precision: 12, scale: 2 },\r\n SVC: { precision: 12, scale: 2 },\r\n BRL: { precision: 12, scale: 2 },\r\n GHS: { precision: 12, scale: 2 },\r\n CUP: { precision: 12, scale: 2 },\r\n FKP: { precision: 12, scale: 2 },\r\n NIO: { precision: 12, scale: 2 },\r\n GEL: { precision: 12, scale: 2 },\r\n TTD: { precision: 12, scale: 2 },\r\n AAA: { precision: 1, scale: 1 },\r\n COP: { precision: 12, scale: 2 },\r\n MGA: { precision: 12, scale: 2 },\r\n INR: { precision: 12, scale: 2 },\r\n KRW: { precision: 12, scale: 0 },\r\n HNL: { precision: 12, scale: 2 },\r\n MMK: { precision: 12, scale: 2 },\r\n TZS: { precision: 12, scale: 2 },\r\n THB: { precision: 12, scale: 2 },\r\n TMT: { precision: 12, scale: 2 },\r\n SAR: { precision: 12, scale: 2 },\r\n UYU: { precision: 12, scale: 2 },\r\n BIF: { precision: 12, scale: 0 },\r\n MVR: { precision: 12, scale: 2 },\r\n RUB: { precision: 12, scale: 2 },\r\n GTQ: { precision: 12, scale: 2 },\r\n SCR: { precision: 12, scale: 2 },\r\n IQD: { precision: 12, scale: 3 },\r\n UAH: { precision: 12, scale: 2 },\r\n BYN: { precision: 12, scale: 2 },\r\n VES: { precision: 12, scale: 2 },\r\n BOB: { precision: 12, scale: 2 },\r\n SGD: { precision: 12, scale: 2 },\r\n ZMW: { precision: 12, scale: 2 },\r\n CZK: { precision: 12, scale: 2 },\r\n TJS: { precision: 12, scale: 2 },\r\n DOP: { precision: 12, scale: 2 },\r\n AZN: { precision: 12, scale: 2 },\r\n PAB: { precision: 12, scale: 2 },\r\n STN: { precision: 12, scale: 2 },\r\n SDG: { precision: 12, scale: 2 },\r\n BWP: { precision: 12, scale: 2 },\r\n BHD: { precision: 12, scale: 3 },\r\n CAD: { precision: 12, scale: 2 },\r\n MNT: { precision: 12, scale: 2 },\r\n MOP: { precision: 12, scale: 2 },\r\n HTG: { precision: 12, scale: 2 },\r\n KZT: { precision: 12, scale: 2 },\r\n LBP: { precision: 12, scale: 2 },\r\n SYP: { precision: 12, scale: 2 },\r\n TWD: { precision: 12, scale: 2 },\r\n MZN: { precision: 12, scale: 2 },\r\n ANG: { precision: 12, scale: 2 },\r\n SEK: { precision: 12, scale: 2 },\r\n KMF: { precision: 12, scale: 0 },\r\n AWG: { precision: 12, scale: 2 },\r\n };\r\n\r\n constructor(private readonly localeService: LocaleService) {}\r\n\r\n getCurrencySymbol({ currency }: { currency: string }): string {\r\n const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {\r\n style: \"currency\",\r\n currency: currency ?? \"BRL\",\r\n currencyDisplay: \"narrowSymbol\",\r\n maximumFractionDigits: 5,\r\n });\r\n\r\n return numberFormat.formatToParts(1).find((x) => x.type === \"currency\")?.value ?? \"\";\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport BigNumber from \"bignumber.js\";\nimport { CurrencyService } from \"../../../utils/currency/currency.service\";\nimport { isNullOrUndefined } from \"../../utils/utils\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class NumericService {\n constructor(\n private readonly localeService: LocaleService,\n private readonly currencyService: CurrencyService\n ) {}\n\n /**\n * Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).\n *\n * This method should only be used after the localeService has been initialized by the host application, either by a resolver or a manual call.\n *\n * Can be overwritten by the provided Intl.NumberFormatOptions.\n *\n * Documentation is available at {@link https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat Intl.NumberFormatOptions}.\n *\n * @param {number | string | BigNumber} value The value to be formatted.\n * @param options Locale and numberFormatOptions that overwrites the default Intl.NumberFormatOptions.\n * @return `string` The formatted value.\n */\n instant(\n value: number | string | BigNumber,\n options?: {\n locale?: string;\n numberFormatOptions?: Intl.NumberFormatOptions;\n }\n ): string {\n if (isNullOrUndefined(value))\n return null;\n\n options = {\n ...options,\n locale: options?.locale ?? this.localeService.getLocaleOptions()?.locale ?? \"pt-BR\",\n numberFormatOptions: {\n useGrouping: true,\n ...options?.numberFormatOptions,\n currency:\n options?.numberFormatOptions?.style === \"currency\" ? (options?.numberFormatOptions?.currency ?? \"BRL\") : undefined,\n currencyDisplay:\n options?.numberFormatOptions?.style === \"currency\"\n ? (options?.numberFormatOptions?.currencyDisplay ?? \"narrowSymbol\")\n : undefined,\n minimumFractionDigits:\n options?.numberFormatOptions?.minimumFractionDigits ??\n this.getCurrencyMinimumFractionDigits(options?.numberFormatOptions?.currency),\n },\n };\n\n options.numberFormatOptions[\"roundingMode\"] = \"trunc\";\n\n // From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n return new Intl.NumberFormat(options.locale, options.numberFormatOptions).format(\n this.getType(value) === \"number\" || this.getType(value) === \"string\" ? value : ((value as BigNumber).toString() as any)\n );\n }\n\n private getCurrencyMinimumFractionDigits(currency: string): number {\n if (!currency) return null;\n\n return this.currencyService.currencies[currency.toUpperCase()]?.scale;\n }\n\n private getType(value: unknown): string {\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof\n\n if (value === null) {\n return \"null\";\n }\n\n const baseType = typeof value;\n\n // Primitive types\n if (baseType !== \"object\" && baseType !== \"function\") {\n return baseType;\n }\n\n // Symbol.toStringTag often specifies the \"display name\" of the\n // object's class. It's used in Object.prototype.toString().\n const tag = value[Symbol.toStringTag];\n\n if (typeof tag === \"string\") {\n return tag;\n }\n\n // If it's a function whose source code starts with the \"class\" keyword\n if (baseType === \"function\" && Function.prototype.toString.call(value).startsWith(\"class\")) {\n return \"class\";\n }\n\n // The name of the constructor; for example `Array`, `GeneratorFunction`,\n // `Number`, `String`, `Boolean` or `MyCustomClass`\n const className = value.constructor.name;\n\n if (typeof className === \"string\" && className !== \"\") {\n return className;\n }\n\n // At this point there's no robust way to get the type of value,\n // so we use the base implementation.\n return baseType;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport BigNumber from \"bignumber.js\";\nimport { of } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale.service\";\nimport { NumericService } from \"../services/numeric.service\";\n\n@Pipe({ name: \"numeric\" })\nexport class NumericPipe implements PipeTransform {\n constructor(\n private readonly numericService: NumericService,\n private readonly localeService: LocaleService\n ) {}\n\n transform(\n value: number | string | BigNumber,\n options?: {\n locale?: string;\n numberFormatOptions?: Intl.NumberFormatOptions;\n }\n ) {\n return options?.locale\n ? of(this.numericService.instant(value, options))\n : this.localeService.getLocale().pipe(\n map((locale) =>\n this.numericService.instant(value, {\n locale,\n numberFormatOptions: options?.numberFormatOptions,\n })\n )\n );\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders } from \"@angular/core\";\nimport { NgModule } from \"@angular/core\";\nimport { LocaleService } from \"./locale.service\";\nimport { LocalizedBignumberImpurePipe } from \"./pipes/localized-bignumber-impure.pipe\";\nimport { LocalizedBignumberPipe } from \"./pipes/localized-bignumber.pipe\";\nimport { LocalizedCurrencyImpurePipe } from \"./pipes/localized-currency-impure.pipe\";\nimport { LocalizedCurrencyPipe } from \"./pipes/localized-currency.pipe\";\nimport { LocalizedDateImpurePipe } from \"./pipes/localized-date-impure.pipe\";\nimport { LocalizedDatePipe } from \"./pipes/localized-date.pipe\";\nimport { LocalizedNumberPipe } from \"./pipes/localized-number.pipe\";\nimport { LocalizedTimeImpurePipe } from \"./pipes/localized-time-impure.pipe\";\nimport { LocalizedTimePipe } from \"./pipes/localized-time.pipe\";\nimport { NumericPipe } from \"./pipes/numeric.pipe\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe,\n NumericPipe\n ],\n declarations: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe,\n NumericPipe\n ],\n})\nexport class LocaleModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n providers: [\n LocaleService,\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe,\n NumericPipe\n ],\n };\n }\n\n public static forChild(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n };\n }\n}\n","import {\n Directive,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { AlignmentOptions, CurrencyMaskDirective } from \"@seniorsistemas/ng2-currency-mask\";\nimport { first } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale\";\n\n@Directive({\n selector: \"input[sBignumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BignumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class BignumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator: string;\n\n @Input()\n public thousandsSeparator: string;\n\n @Input()\n public alignTo = AlignmentOptions.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n @Output()\n public pasteRejected = new EventEmitter<string>();\n\n private _maxLength: number;\n private readonly _angularComponentsLocaleService: LocaleService;\n\n constructor(injector: Injector) {\n super(injector);\n\n this._angularComponentsLocaleService = injector.get(LocaleService);\n this.onLocaleService();\n }\n\n public ngOnInit(): void {\n this.updateVariables();\n\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) {\n this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n }\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n @HostListener(\"paste\", [\"$event\"])\n public onPaste(event: ClipboardEvent): void {\n const pastedText = event.clipboardData?.getData(\"text\") ?? \"\";\n const numericText = pastedText.replace(new RegExp(`\\\\${this.thousandsSeparator}`, \"g\"), \"\").replace(this.decimalSeparator, \".\");\n const [intPart, decimalPart = \"\"] = numericText.split(\".\");\n const totalDigits = intPart.replace(/\\D/g, \"\").length + decimalPart.slice(0, this.scale).length;\n\n if (totalDigits > this.precision) {\n event.preventDefault();\n this.pasteRejected.emit(pastedText);\n }\n }\n\n @HostListener(\"keypress\", [\"$event\"])\n public onKeypress(event: KeyboardEvent) {\n const code = event.code;\n\n if (code === \"Minus\" || code === \"NumpadSubtract\") {\n if (this.allowNegative) {\n this.maxLength = this._maxLength + 1;\n }\n } else if (code === \"Equal\" || code === \"NumpadAdd\") {\n this.maxLength = this._maxLength;\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimalSeparator: this.decimalSeparator,\n thousandsSeparator: this.thousandsSeparator ?? \".\",\n scale: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative,\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator?.length ?? 1;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this._maxLength = maxLength;\n this.maxLength = maxLength;\n }\n\n private onLocaleService(): void {\n this._angularComponentsLocaleService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this._angularComponentsLocaleService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this._angularComponentsLocaleService.getGroupingSeparator();\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { BignumberInputDirective } from \"./bignumber-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BignumberInputDirective],\n exports: [BignumberInputDirective],\n})\nexport class BignumberInputModule {}\n","import { Component, OnInit, Input, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET } from \"@angular/router\";\nimport { MenuItem } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { filter, takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: `s-breadcrumb`,\n templateUrl: `./breadcrumb.component.html`,\n})\nexport class BreadcrumbComponent implements OnDestroy {\n @Input() public homeUrl: string;\n @Input() public targetHomeUrl: string = \"_self\";\n public home: MenuItem;\n public items: MenuItem[];\n public title: string;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private activatedRoute: ActivatedRoute, private router: Router) {\n this.router.events\n .pipe(takeUntil(this.ngUnsubscribe), filter(event => event instanceof NavigationEnd))\n .subscribe(() => this.onNavigationEnd());\n }\n\n private onNavigationEnd() {\n const currentRoute = this.activatedRoute.root;\n const validRoutes: ActivatedRoute[] = this.getValidChildren(currentRoute);\n\n this.title = this.getCurrentTitle(validRoutes);\n this.home = this.getCurrentHome(validRoutes);\n this.items = this.getCurrentItems(validRoutes);\n }\n\n private getValidChildren(route: ActivatedRoute): ActivatedRoute[] {\n const valid = route.routeConfig && route.routeConfig.path && route.routeConfig.component && route.outlet === PRIMARY_OUTLET;\n return route.children.reduce((validRoutes, child) => [...validRoutes, ...this.getValidChildren(child)], valid ? [route] : []);\n }\n\n private getCurrentTitle(routes: ActivatedRoute[]) {\n const last = routes[routes.length - 1];\n if (last && last.routeConfig) return this.getTitle(last);\n }\n\n private getCurrentHome(routes: ActivatedRoute[]) {\n let home;\n\n if (this.homeUrl) home = { url: this.homeUrl, icon: \"fa fa-home\", target: this.targetHomeUrl };\n else if (routes.length) home = { ...this.getMenuItem(routes[0], routes.length === 1), icon: \"fa fa-home\" };\n\n return home;\n }\n\n private getCurrentItems(routes: ActivatedRoute[]) {\n if (!routes.length) return;\n const items = this.homeUrl ? routes : routes.slice(1);\n if (items.length) return items.map((route, i) => this.getMenuItem(route, i === routes.length - 1));\n }\n\n private getMenuItem(route: ActivatedRoute, disabled = false) {\n const label = this.getTitle(route);\n const routes = route.pathFromRoot;\n const routerLink = routes\n .slice(0, routes.indexOf(route) + 1)\n .reduce((result, item) => [...result, ...item.snapshot.url.map(url => url.path)], [\"/\"]);\n\n return {\n label,\n routerLink,\n queryParams: route.snapshot.queryParams,\n routerLinkActiveOptions: { exact: true },\n disabled,\n };\n }\n\n private getTitle(route: ActivatedRoute) {\n const { snapshot, routeConfig } = route;\n const title = snapshot.data.routeTitle;\n if (!title) throw new Error(`No routeTitle defined for the route /${routeConfig.path}`);\n return title;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BreadcrumbModule as PrimeBreadcrumbModule } from \"primeng/breadcrumb\";\n\nimport { BreadcrumbComponent } from \"./breadcrumb.component\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports: [CommonModule, PrimeBreadcrumbModule, RouterModule],\n declarations: [BreadcrumbComponent],\n exports: [BreadcrumbComponent, RouterModule],\n})\nexport class BreadcrumbModule {}\n","\nexport enum ButtonAnimation {\n Rotate = 'rotate',\n}","export enum ButtonPriority {\n Default = \"default\",\n Primary = \"primary\",\n Secondary = \"secondary\",\n Link = \"link\",\n Danger = \"danger\",\n}\n","export enum ButtonSize {\n Default = \"default\",\n Small = \"small\",\n}\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from \"@angular/core\";\n\nimport { MenuItem } from \"primeng/api\";\nimport { DomHandler } from \"primeng/dom\";\nimport { TieredMenu } from \"primeng/tieredmenu\";\n\nimport { ButtonAnimation } from \"./models/button-animation\";\nimport { ButtonBadgeConfig } from \"./models/button-badge-config\";\nimport { ButtonPriority } from \"./models/button-priority\";\nimport { ButtonSize } from \"./models/button-size\";\nimport { TieredMenuItemData } from \"../tiered-menu\";\n@Component({\n selector: \"s-button\",\n templateUrl: \"./button.component.html\",\n styleUrls: [\"./button.component.scss\"],\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @HostBinding(\"style.min-width\")\n public minWidth = \"40px\";\n\n @Input()\n public id = `s-button-${ButtonComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public tooltip: string;\n\n @Input()\n public tooltipPosition: \"top\" | \"right\" | \"bottom\" | \"left\" = \"top\";\n\n @Input()\n public iconClass: string;\n\n @Input()\n public rightIconClass: string;\n\n @Input()\n public caret = true;\n\n @Input()\n public styleClass: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public disabled = false;\n\n @Input()\n public auxiliary = false;\n\n @Input()\n public type = \"button\";\n\n @Input()\n public priority: ButtonPriority = ButtonPriority.Primary;\n\n /**\n * @deprecated Use `menuOptions` instead.\n */\n @Input()\n public model: MenuItem[] = [];\n\n @Input()\n public menuOptions: TieredMenuItemData[] = [];\n\n @Input()\n public size = ButtonSize.Default;\n\n @Input()\n public slide: boolean;\n\n @Input()\n public animation: ButtonAnimation;\n\n @Input()\n public badge: ButtonBadgeConfig;\n\n @Input()\n public iconColor: string;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n\n public tooltipZIndex: number;\n\n // TODO: Remover na próxima major.\n @ViewChild(TieredMenu, { static: true })\n private menu: TieredMenu;\n\n public ngOnInit() {\n this.onClick.subscribe((event: any) => {\n if (!this.model || !this.model.length) return;\n\n // TODO: Remover na próxima major.\n this.menu.model = this.model;\n this.menu.toggle(event);\n });\n }\n\n public validateSlideButton() {\n return this.slide && (this.priority == ButtonPriority.Default || this.priority == ButtonPriority.Link) && this.label.length;\n }\n\n // TODO: Remover na próxima major.\n public isOpen() {\n return this.model && this.model.length && this.menu.visible;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n const isMultiple = this.model && this.model.length;\n\n if (hasText || (hasIcon && isMultiple)) this.minWidth = \"80px\";\n if (hasText && hasIcon && isMultiple) this.minWidth = \"100px\";\n }\n\n public updateTooltipZIndex() {\n this.tooltipZIndex = this.baseZIndex + ++DomHandler.zindex;\n }\n\n public isRotateAnimation() {\n return this.animation === ButtonAnimation.Rotate;\n }\n}\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 { }","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 = new EventEmitter<TieredMenuItemInternalData>();\n public openItemMenuEvent = new EventEmitter<TieredMenuItemInternalData>();\n public closeItemMenuEvent = new EventEmitter<TieredMenuItemInternalData>();\n public createMenuEvent = new EventEmitter<TieredMenuItemInternalData>();\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()\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","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;\n public currentItems: TieredMenuItemInternalData[] = [];\n public items: TieredMenuItemInternalData[] = [];\n\n public normalizeData(items: TieredMenuItemData[], parent?: TieredMenuItemInternalData): 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(items: TieredMenuItemInternalData[]): 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(itemA: TieredMenuItemInternalData, itemB: TieredMenuItemInternalData) {\n let item = itemB;\n while(item) {\n if (item === itemA) {\n return true;\n }\n item = item.parent;\n }\n return false;\n }\n\n public cloneItems(items: TieredMenuItemInternalData[]): 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}","export const enableScroll = (): void => {\n document.body.style.overflow = \"auto\";\n}\n\nexport const disabledScroll = (): void => {\n document.body.style.overflow = \"hidden\";\n}","import { Component, HostListener, OnDestroy, OnInit } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\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 { enableScroll, disabledScroll } from \"../../utils\";\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 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 = 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 = 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\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) => {\n if (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) => {\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\n this._openItem(item);\n });\n\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData) => {\n if (item) {\n this._closeItem(item);\n }\n });\n }\n}\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 { enableScroll, disabledScroll } 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;\n private _menuDivElement?: HTMLElement;\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 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 (!this.tieredMenuService.currentItem.disabled && this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);\n event.stopImmediatePropagation();\n }\n break;\n case \"ArrowUp\":\n if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n case \"ArrowDown\":\n if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\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 = 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 = 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((count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n }, 0);\n\n const dividersCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n }, 0);\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;\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.pipe(takeUntil(this._unsubscribe$)).subscribe((item: TieredMenuItemInternalData) => {\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 // 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.pipe(takeUntil(this._unsubscribe$)).subscribe((item: TieredMenuItemInternalData) => {\n if (this.tieredMenuService.currentItem) {\n if (this.tieredMenuService.currentItem.parent === item) {\n return;\n }\n\n if (!this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)) {\n let current = 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 if (item.submenu && !item.isOpen && this.items.includes(item)) {\n const { top, right, left, bottom } = document.querySelector(`#${item.id}`).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) => {\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","import { Injectable } from \"@angular/core\";\nimport { TieredMenuDirective } from \"../tiered-menu.directive\";\n\n@Injectable()\nexport class TieredMenuGlobalService {\n lastInstance: TieredMenuDirective;\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n DoCheck,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnDestroy,\n OnInit,\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, DoCheck, OnDestroy {\n @Input()\n public items: TieredMenuItemData[];\n\n @Input()\n public focusedItem: TieredMenuItemData = undefined;\n\n @Input()\n public triggerEvent: \"click\" | \"hover\" = \"click\";\n\n private _componentRef: ComponentRef<any> = 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\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 ngDoCheck(): 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;\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 const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);\n this._componentRef = componentFactory.create(this._injector);\n\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\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 _destroy(): void {\n if (this._componentRef) {\n this._isOpen = false;\n window.clearTimeout(this._showTimeout);\n this._appRef.detachView(this._componentRef.hostView);\n\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 const ITEM_HEIGHT = 37;\n const ITEM_WIDTH = 176;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n const MARGIN = 4;\n\n if (this._componentRef !== null) {\n this._componentRef.instance.top = 8;\n\n let { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();\n\n const itemsCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n }, 0);\n\n const dividersCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n }, 0);\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\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) ?? 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: [\n CommonModule,\n ],\n declarations: [\n TieredMenuDirective,\n TieredMenuComponent,\n TieredMenuNestedComponent,\n TieredMenuItemComponent,\n TieredMenuDividerComponent,\n ],\n exports: [TieredMenuDirective],\n providers: [TieredMenuGlobalService],\n})\nexport class TieredMenuModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { TieredMenuModule as PrimengTieredMenu } from \"primeng/tieredmenu\";\n\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { TieredMenuModule } from \"../tiered-menu/tiered-menu.module\";\nimport { ButtonComponent } from \"./button.component\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n@NgModule({\n imports: [CommonModule, RouterModule, BadgeModule, PrimengTieredMenu, TieredMenuModule, TooltipModule],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule { }\n","import { AfterViewChecked, Directive, HostListener, Input, OnDestroy, OnInit, Renderer2 } from \"@angular/core\";\nimport { Calendar } from \"primeng/calendar\";\n\n@Directive({\n selector: \"p-calendar[sCalendarMask]\",\n})\nexport class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {\n SELECTORS = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n @Input()\n public slotChar = \"_\";\n\n @Input()\n public autoClear = false;\n\n public value: any;\n public input: HTMLInputElement;\n public filled: boolean;\n\n private _mask: string;\n private defs: any;\n private tests: any[];\n private partialPosition: any;\n private firstNonMaskPos: number;\n private lastRequiredNonMaskPos: any;\n private len: number;\n private oldVal: string;\n private buffer: any;\n private defaultBuffer: string;\n private focusText: string;\n private caretTimeoutId: any;\n private androidChrome: boolean;\n private firstTime = true;\n\n private focusListener: () => void;\n private blurListener: () => void;\n private keydownListener: () => void;\n private keypressListener: () => void;\n private inputListener: () => void;\n private pasteListener: () => void;\n\n constructor(\n public host: Calendar,\n public renderer: Renderer2\n ) {}\n\n private setListeners() {\n this.input = this.host.inputfieldViewChild.nativeElement;\n this.value = this.input.value;\n\n this.focusListener = this.renderer.listen(this.input, \"focus\", () => {\n this.onInputFocus();\n });\n\n this.blurListener = this.renderer.listen(this.input, \"blur\", (event: any) => {\n this.onInputBlur(event);\n });\n\n this.keydownListener = this.renderer.listen(this.input, \"keydown\", (event: any) => {\n this.onKeyDown(event);\n });\n\n this.keypressListener = this.renderer.listen(this.input, \"keypress\", (event: any) => {\n this.onKeyPress(event);\n });\n\n this.inputListener = this.renderer.listen(this.input, \"input\", (event: any) => {\n this.onInputChange(event);\n });\n\n this.pasteListener = this.renderer.listen(this.input, \"paste\", (event: any) => {\n this.handleInputChange(event);\n });\n }\n\n public ngOnInit() {\n const ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n this.createMaskFromDateFormat();\n this.initMask();\n }\n\n get mask(): string {\n return this._mask;\n }\n\n set mask(val: string) {\n this._mask = val;\n\n this.initMask();\n this.writeValue(\"\");\n }\n\n public writeValue(value: any): void {\n this.value = value;\n\n if (this.input) {\n if (this.value == undefined) {\n this.input.value = \"\";\n } else {\n this.input.value = this.value;\n }\n\n this.checkVal();\n this.focusText = this.input.value;\n this.updateFilledState();\n }\n }\n\n public onInputBlur(e: any) {\n this.checkVal();\n this.updateFilledState();\n\n if (this.value != this.focusText) {\n if (\n !this.input.disabled &&\n (this.value === undefined || this.value === null || (this.value as string).indexOf(this.slotChar) >= 0)\n ) {\n this.value = \"\";\n e.target.value = \"\";\n this.host.updateModel(null);\n }\n\n this.updateModel(e);\n const event = document.createEvent(\"HTMLEvents\");\n event.initEvent(\"change\", true, false);\n this.input.dispatchEvent(event);\n }\n }\n\n public onKeyDown(e: any) {\n if (this.host.readonlyInput) {\n return;\n }\n\n const k = e.which || e.keyCode;\n const iPhone = /iphone/i.test(navigator.userAgent);\n let pos;\n let begin;\n let end;\n this.oldVal = this.input.value;\n\n // Backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModel(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // Enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // Escape\n this.input.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n e.preventDefault();\n }\n }\n\n public onKeyPress(e: any) {\n if (this.host.readonlyInput) return;\n\n const k = e.which || e.keyCode;\n const pos = this.caret();\n let p;\n let c;\n let next: any;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n // Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < this.len) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(navigator.userAgent)) {\n // Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n this.updateFilledState();\n }\n\n private createCompleteMask(): string {\n switch (this.host.selectionMode) {\n case \"range\":\n return this.mask + ` ${this.host.rangeSeparator} ` + this.mask;\n case \"single\":\n case \"multiple\":\n return this.mask;\n }\n }\n\n public checkVal(allow?: boolean) {\n // Try to place characters where they belong\n const test = this.input.value;\n let lastMatch = -1;\n let i: any;\n let c: any;\n let pos = 0;\n\n for (i = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join(\"\") === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.input.value) {\n this.input.value = \"\";\n }\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.input.value = this.input.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n }\n\n public onInputFocus() {\n if (this.host.readonlyInput) return;\n\n clearTimeout(this.caretTimeoutId);\n let pos: any;\n\n this.focusText = this.input.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.input !== document.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask.replace(\"?\", \"\").length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n }\n\n public onInputChange(event: any) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n }\n\n public handleInputChange(event: any) {\n if (this.host.readonlyInput) return;\n\n setTimeout(() => {\n const pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n }, 0);\n }\n\n public updateModel(e: any) {\n const updatedValue = e.target.value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.host.onUserInput(e);\n }\n }\n\n public updateFilledState() {\n this.filled = this.input && this.input.value != \"\";\n }\n\n public focus() {\n this.input.focus();\n }\n\n private initMask() {\n const completeMask = this.createCompleteMask();\n\n this.tests = [];\n this.partialPosition = completeMask.length;\n this.len = completeMask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n \"9\": \"[0-9]\",\n };\n\n const maskTokens = completeMask.split(\"\");\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c == \"?\") {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c != \"?\") {\n if (this.defs[c]) {\n this.buffer.push(this.getPlaceholder(i));\n } else {\n this.buffer.push(c);\n }\n }\n }\n\n this.defaultBuffer = this.buffer.join(\"\");\n }\n\n private caret(first?: number, last?: number) {\n let range, begin, end;\n\n if (!this.input.offsetParent || this.input !== document.activeElement) {\n return;\n }\n\n if (typeof first == \"number\") {\n begin = first;\n end = typeof last === \"number\" ? last : begin;\n\n if (this.input.setSelectionRange) {\n this.input.setSelectionRange(begin, end);\n } else if (this.input[\"createTextRange\"]) {\n range = this.input[\"createTextRange\"]();\n range.collapse(true);\n range.moveEnd(\"character\", end);\n range.moveStart(\"character\", begin);\n range.select();\n }\n } else {\n if (this.input.setSelectionRange) {\n begin = this.input.selectionStart;\n end = this.input.selectionEnd;\n } else if (document[\"selection\"] && document[\"selection\"].createRange) {\n range = document[\"selection\"].createRange();\n begin = 0 - range.duplicate().moveStart(\"character\", -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n private getPlaceholder(i: number) {\n if (i < this.slotChar.length) return this.slotChar.charAt(i);\n return this.slotChar.charAt(0);\n }\n\n private seekNext(pos: any) {\n while (++pos < this.len) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private seekPrev(pos: any) {\n while (--pos >= 0 && !this.tests[pos]) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private shiftL(begin: number, end: number) {\n let i: any;\n let j: any;\n\n if (begin < 0) {\n return;\n }\n\n j = this.seekNext(end);\n\n for (i = begin; i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else break;\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n }\n\n private shiftR(pos: any) {\n let i: any;\n let c = this.getPlaceholder(pos);\n let j: any;\n let t: any;\n\n for (i = pos; i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else break;\n }\n }\n }\n\n private handleAndroidInput(e: any) {\n const curVal = this.input.value;\n const pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // A deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) {\n pos.begin--;\n }\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) {\n pos.begin++;\n }\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n } else {\n this.checkVal(true);\n\n while (pos.begin < this.len && !this.tests[pos.begin]) {\n pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n }\n }\n\n private updateCalendarValue(sentVal: string) {\n // TODO verificar\n const dateVal = <Date>this.host.parseValueFromString(sentVal);\n if (this.host.isSelectable(dateVal.getDate(), dateVal.getMonth(), dateVal.getFullYear(), false)) {\n this.host.updateModel(sentVal);\n this.host.updateUI();\n }\n }\n\n private clearBuffer(start: any, end: any) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n\n private writeBuffer() {\n this.input.value = this.buffer.join(\"\");\n }\n\n private createMaskFromDateFormat() {\n const calendar = this.host;\n let mask = this.autoClear ? \"?\" : \"\";\n\n if (!calendar.timeOnly) {\n let dateFormat = calendar.dateFormat;\n dateFormat = dateFormat.replace(/y/g, \"yy\");\n mask += dateFormat.replace(/[^/*,.\\-+\\[\\]\\\\]/g, \"9\");\n if (calendar.showTime) {\n mask += \" \";\n }\n }\n\n if (calendar.showTime || calendar.timeOnly) {\n mask += \"99:99\";\n if (calendar.showSeconds) {\n mask += \":99\";\n }\n }\n\n this._mask = mask;\n\n this.initMask();\n }\n\n isCompleted(): boolean {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n ngAfterViewChecked(): void {\n if (this.host.inputfieldViewChild && this.firstTime) {\n this.firstTime = false;\n this.setListeners();\n this.input.type = \"tel\";\n }\n }\n\n ngOnDestroy(): void {\n if (this.focusListener) this.focusListener();\n if (this.blurListener) this.blurListener();\n if (this.keydownListener) this.keydownListener();\n if (this.keypressListener) this.keypressListener();\n if (this.inputListener) this.inputListener();\n if (this.pasteListener) this.pasteListener();\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n onKeydownEventTest(e: KeyboardEvent) {\n const { key } = e;\n if (key == \"Tab\") {\n // Este código foi implementado para corrigir um problema no componente na v9\n // Deve ser removido assim que atualizarmos o PrimeNG para a v10\n const allFocusableElements = document.querySelectorAll(this.SELECTORS);\n let nextIsFocusable = false;\n let previousFocusable: string;\n let forceCloseModal = true;\n allFocusableElements.forEach((element) => {\n if (!e.shiftKey) {\n if (nextIsFocusable && element.id) {\n this.focusableElement(element.id, forceCloseModal);\n nextIsFocusable = false;\n e.preventDefault();\n return;\n }\n }\n\n let activeTagName = window.document.activeElement.tagName;\n if (e.shiftKey && element.id && element.tagName === \"INPUT\" && activeTagName == \"BUTTON\") {\n previousFocusable = element.id;\n forceCloseModal = false;\n }\n\n if (element.id === this.host.inputId) {\n if (previousFocusable) {\n this.focusableElement(previousFocusable, forceCloseModal);\n e.preventDefault();\n forceCloseModal = true;\n return;\n }\n nextIsFocusable = true;\n } else if (e.shiftKey && element.id) {\n previousFocusable = element.id;\n }\n });\n }\n }\n\n public focusableElement(id: string, hide: boolean) {\n const htmlElement = window.document.getElementById(id);\n htmlElement.focus();\n if (hide) {\n this.host.hideOverlay();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CalendarMaskDirective } from \"./calendar-mask.directive\";\nimport { CommonModule } from \"@angular/common\";\n\n@NgModule({\n declarations: [CalendarMaskDirective],\n imports: [CommonModule],\n exports: [CalendarMaskDirective],\n})\nexport class CalendarMaskModule {}\n","import { Directive, Input, TemplateRef } from \"@angular/core\";\n\n@Directive({\n selector: \"[sTemplate]\",\n})\nexport class TemplateDirective {\n @Input(\"sTemplate\")\n public type: string;\n\n constructor(public readonly template: TemplateRef<any>) {}\n}","export enum CardTemplateTypes {\n Header = \"header\",\n Body = \"body\",\n Footer = \"footer\",\n}","import { AfterContentInit, Component, ContentChildren, Input, QueryList, TemplateRef } from \"@angular/core\";\n\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { CardTemplateTypes } from \"./models/card-template-types\";\n\n@Component({\n selector: \"s-card\",\n templateUrl: \"./card.component.html\",\n styleUrls: [\"./card.component.scss\"],\n})\nexport class CardComponent implements AfterContentInit {\n @Input()\n public bannerImage: string;\n\n @Input()\n public fullWidth = false;\n\n @Input()\n title = '';\n\n @Input()\n subtitle = '';\n\n @Input()\n icon = '';\n\n public showBanner = false;\n\n @ContentChildren(TemplateDirective)\n public templates: QueryList<TemplateDirective>;\n\n public headerTemplate: TemplateRef<unknown>;\n public bodyTemplate: TemplateRef<unknown>;\n public footerTemplate: TemplateRef<unknown>;\n\n public ngAfterContentInit(): void {\n this._getTemplates();\n this._loadImage();\n }\n\n public get hasHeader() {\n const headerTemplate = !!this.headerTemplate;\n const hasHeaderAttributes = this.title || this.subtitle || this.icon;\n return headerTemplate || hasHeaderAttributes;\n }\n\n private _getHeaderTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(CardTemplateTypes.Header);\n }\n\n private _getBodyTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(CardTemplateTypes.Body);\n }\n\n private _getFooterTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(CardTemplateTypes.Footer);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _getTemplates(): void {\n this.headerTemplate = this._getHeaderTemplate();\n this.bodyTemplate = this._getBodyTemplate();\n this.footerTemplate = this._getFooterTemplate();\n }\n\n private _loadImage(): void {\n const img = new Image();\n img.src = this.bannerImage;\n\n img.onload = () => (this.showBanner = true);\n img.onerror = () => (this.showBanner = false);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TemplateDirective } from \"./template.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TemplateDirective],\n exports: [TemplateDirective],\n})\nexport class TemplateModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { CardComponent } from \"./card.component\";\nimport { TemplateModule } from \"../template/template.module\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CardComponent],\n exports: [CardComponent, TemplateModule],\n})\nexport class CardModule {}\n","import { Component, ElementRef, Input, QueryList, ViewChildren } from \"@angular/core\";\n\nimport { ChatMessage } from \"./types/chat-message\";\n\n@Component({\n selector: \"s-chat\",\n templateUrl: \"./chat.component.html\",\n styleUrls: [\"./chat.component.scss\"],\n})\nexport class ChatComponent {\n @Input()\n public messages: ChatMessage[] = [];\n\n @ViewChildren(\"messageElements\", { read: ElementRef })\n private messageElements: QueryList<ElementRef<HTMLElement>>;\n\n public ngAfterViewInit(): void {\n this.scrollToBottom();\n\n this.messageElements.changes.subscribe(() => {\n this.scrollToBottom();\n });\n }\n\n private scrollToBottom(): void {\n this.messageElements?.last?.nativeElement.scrollIntoView({ behavior: \"smooth\" });\n }\n}\n","import { Component, Input, OnChanges, SimpleChanges } from \"@angular/core\";\n\nimport { ChatMessage } from \"../../types/chat-message\";\n\n@Component({\n selector: \"s-chat-message\",\n templateUrl: \"./chat-message.component.html\",\n styleUrls: [\"./chat-message.component.scss\"],\n})\nexport class ChatMessageComponent implements OnChanges {\n @Input()\n public message: ChatMessage;\n\n public fileName: string | null = null;\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes[\"message\"]) {\n this.fileName = this.message.attachmentUrl ? this.getFileNameByUrl(this.message.attachmentUrl) : null;\n }\n }\n\n private getFileNameByUrl(path: string): string {\n const match = path.match(/[^\\\\\\/]+$/);\n return match ? match[0] : null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { LocaleModule } from \"../locale/locale.module\";\nimport { ChatComponent } from \"./chat.component\";\nimport { ChatMessageComponent } from \"./components/chat-message/chat-message.component\";\n\n@NgModule({\n imports: [CommonModule, LocaleModule, TranslateModule.forChild()],\n declarations: [ChatComponent, ChatMessageComponent],\n exports: [ChatComponent],\n})\nexport class ChatModule {}\n","import { Component, forwardRef, Input } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { CheckboxData } from \"./models/checkbox-data\";\nimport { CheckboxState } from \"./models/checkbox-state\";\n\n@Component({\n selector: \"s-checkbox\",\n templateUrl: \"./checkbox.component.html\",\n styleUrls: [\"./checkbox.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n public data: CheckboxData;\n\n public state: CheckboxState = {\n checked: false,\n indeterminate: false,\n children: {},\n };\n\n private _onChange: (value: CheckboxState) => void = () => { };\n private _onTouched: () => void = () => { };\n\n public writeValue(value: CheckboxState): void {\n if (value) {\n this.state = value;\n } else {\n this.state = {\n checked: false,\n indeterminate: false,\n disabled: false,\n children: this._initializeChildren(this.data),\n };\n }\n }\n\n public registerOnChange(onChange: (value: CheckboxState) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n private _initializeChildren(item: CheckboxData): { [key: string]: CheckboxState } {\n const childrenState: { [key: string]: CheckboxState } = {};\n if (item.children) {\n item.children.forEach((child) => {\n childrenState[child.label] = {\n checked: false,\n indeterminate: false,\n children: this._initializeChildren(child),\n };\n });\n }\n return childrenState;\n }\n\n public updateParent(): void {\n if (this.data.children && this.data.children.length > 0) {\n const allChecked = this.data.children.every((child) => this.state.children[child.label]?.checked);\n const someChecked = this.data.children.some(\n (child) => this.state.children[child.label]?.checked || this.state.children[child.label]?.indeterminate\n );\n this.state.checked = allChecked;\n this.state.indeterminate = !allChecked && someChecked;\n }\n this._onChange(this.state);\n this._onTouched();\n }\n\n public onCheckboxChange(): void {\n if (this.state.disabled) return;\n\n this.state.checked = !this.state.checked;\n this.state.indeterminate = false;\n this._toggleChildrenCheck(this.data, this.state, this.state.checked);\n this._onChange(this.state);\n this._onTouched();\n }\n\n public get renderType() {\n return this.data.renderType || \"inline\";\n }\n\n private _toggleChildrenCheck(item: CheckboxData, state: CheckboxState, checked: boolean): void {\n if (item.children?.length) {\n item.children.forEach((child) => {\n if (!state.children[child.label]) {\n state.children[child.label] = {\n checked: false,\n indeterminate: false,\n children: this._initializeChildren(child),\n };\n }\n state.children[child.label].checked = checked;\n state.children[child.label].indeterminate = false;\n if (child.children) {\n this._toggleChildrenCheck(child, state.children[child.label], checked);\n }\n });\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\n\nimport { CheckboxComponent } from \"./checkbox.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [CheckboxComponent],\n exports: [CheckboxComponent],\n})\nexport class CheckboxModule {}\n","export enum Languages {\n TaxCalculation = \"TaxCalculation\",\n Json = \"Json\"\n}\n","export enum Themes {\n SDSLight = \"SDSLight\"\n}\n","/* Interfaces */\nexport * from \"./interfaces/editor-options\";\n\n/* Enums */\nexport * from \"./enums/languages\";\nexport * from \"./enums/themes\";\n","import { Languages } from \"../../models\";\nimport { LinterFacade } from \"../facades/linter-facade\";\n\ntype LinterFacadeFactory = () => LinterFacade; \n\nexport class CoreLinters {\n\n private static _LINTERS: Map<Languages, LinterFacadeFactory> = new Map([]);\n\n public static getLinter(language: Languages): LinterFacade | undefined {\n const languageLinterFactory = CoreLinters._LINTERS.get(language);\n if (languageLinterFactory) return languageLinterFactory();\n }\n}\n","import {\n Observable,\n ReplaySubject,\n Subject\n} from \"rxjs\";\n\nimport {\n EditorOptions,\n Languages,\n Themes\n} from \"../../models\";\nimport { Marker } from \"../models\";\nimport { CoreLinters } from \"../use-cases/core-linters\";\nimport { LinterFacade } from \"./linter-facade\";\n\nexport abstract class CoreFacade {\n\n private $onCoreFinishLoad: ReplaySubject<void> = new ReplaySubject(1);\n private $onCodeChange: Subject<string> = new Subject();\n private $onCodeValidityChange: Subject<boolean> = new Subject();\n private _completionItems: string[] = [];\n private _lastCodeEmitted = \"\";\n private _lastCodeValidityEmitted!: boolean;\n private _linter!: LinterFacade;\n\n public changeEditorOptions(options: EditorOptions): void {\n if (options) {\n if (typeof options !== \"object\") throw new Error(\"Editor's options must be an EditorOptions object\");\n\n this.validateLanguage(options.language);\n this.validateTheme(options.theme);\n this.setLinter(options.language);\n\n this.setCoreEditorOptions(options);\n }\n }\n\n public changeCode(code: string): void {\n const safeCode = this.getSafeCode(code);\n if (safeCode !== this._lastCodeEmitted) {\n this.setCode(safeCode);\n }\n }\n\n public setPayload(payload: string): void {\n const safeCode = this.getSafeCode(payload);\n // Força a atualização sem verificar _lastCodeEmitted,\n // mas preserva o cursor verificando no nÃvel do editor\n this.setCodeWithCursorPreservation(safeCode);\n }\n\n protected abstract setCodeWithCursorPreservation(code: string): void;\n\n public abstract initCore(): void;\n public abstract destroyCore(): void;\n\n public abstract setCoreWrapperElement(element: HTMLDivElement): void;\n public abstract setCode(code: string): void;\n\n public getOnCoreFinishLoadObservable(): Observable<void> {\n return this.$onCoreFinishLoad.asObservable();\n }\n\n public getOnCodeChangeObservable(): Observable<string> {\n return this.$onCodeChange.asObservable();\n }\n\n public getOnCodeValidityChangeObservable(): Observable<boolean> {\n return this.$onCodeValidityChange.asObservable();\n }\n\n protected abstract setCoreEditorOptions(options: EditorOptions): void;\n protected abstract highlightCode(markers: Marker[]): void;\n\n protected notifyCoreFinishLoad(): void {\n this.$onCoreFinishLoad.next();\n }\n\n protected notifyCodeChange(code: string): void {\n const safeCode = this.getSafeCode(code);\n if (safeCode !== this._lastCodeEmitted) {\n this._lastCodeEmitted = safeCode;\n this.$onCodeChange.next(safeCode);\n this.validateCode(safeCode);\n }\n }\n\n protected updateCompletionItems(items: string[]): void {\n this._completionItems = items || [];\n this.validateCode(this._lastCodeEmitted);\n }\n\n private setLinter(language: Languages): void {\n this._linter = CoreLinters.getLinter(language);\n }\n\n private async validateCode(code: string): Promise<void> {\n if (this._linter) {\n const markers: Marker[] = await this._linter.lint(code, this._completionItems);\n this.highlightCode(markers);\n this.notifyCodeValidityChange(!markers.length);\n }\n }\n\n private notifyCodeValidityChange(validity: boolean): void {\n if (validity !== this._lastCodeValidityEmitted) {\n this._lastCodeValidityEmitted = validity;\n this.$onCodeValidityChange.next(validity);\n }\n }\n\n private validateLanguage(language: Languages): void {\n const languages = Object.values(Languages);\n if (language && !languages.includes(language)) throw new Error(`The informed language \"${language}\" is not supported`);\n }\n\n private validateTheme(theme: Themes): void {\n const themes = Object.values(Themes);\n if (theme && !themes.includes(theme)) throw new Error(`The informed theme \"${theme}\" is not supported`);\n }\n\n private getSafeCode(code: string): string {\n return typeof code === \"string\" ? code : \"\";\n }\n}\n","import { Component, OnInit, AfterViewInit, OnDestroy, Input, Output, EventEmitter, ViewChild, ElementRef, forwardRef } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { take, takeUntil } from \"rxjs/operators\";\n\nimport { CoreFacade } from \"./core/facades/core-facade\";\nimport { EditorOptions } from \"./models\";\n\n@Component({\n selector: \"s-code-editor\",\n templateUrl: \"./code-editor.component.html\",\n styleUrls: [\"./code-editor.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CodeEditorComponent),\n multi: true,\n },\n ],\n})\nexport class CodeEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy {\n @Input()\n public set editorOptions(options: EditorOptions) {\n this.coreFacade.changeEditorOptions(options);\n }\n\n @Input()\n public set code(code: string) {\n this.coreFacade.changeCode(code);\n }\n\n @Input()\n public set payload(payload: string) {\n this.coreFacade.setPayload(payload);\n }\n\n @Output()\n public codeChange = new EventEmitter<string>();\n\n @Output()\n public isCodeValidChange = new EventEmitter<boolean>();\n\n @Output()\n public onCodeChange = new EventEmitter<string>();\n\n @Output()\n public onComponentFinishLoad = new EventEmitter<void>();\n\n @ViewChild(\"coreWrapper\")\n private coreWrapperElement: ElementRef;\n\n private _ngUnsubscribe = new Subject<void>();\n\n private _onChange: (value: string) => void = () => { };\n private _onTouched: () => void = () => { };\n\n constructor(private readonly coreFacade: CoreFacade) { }\n\n public writeValue(value: string): void {\n this.code = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public ngOnInit(): void {\n this.coreFacade.initCore();\n this.setupCoreListeners();\n }\n\n public ngAfterViewInit(): void {\n this.setCoreWrapperElement();\n }\n\n public ngOnDestroy(): void {\n this.coreFacade.destroyCore();\n this._ngUnsubscribe.next();\n this._ngUnsubscribe.complete();\n }\n\n private setCoreWrapperElement(): void {\n this.coreFacade.setCoreWrapperElement(this.coreWrapperElement.nativeElement as HTMLDivElement);\n }\n\n private setupCoreListeners(): void {\n this.coreFacade\n .getOnCoreFinishLoadObservable()\n .pipe(take(1))\n .subscribe(() => this.onComponentFinishLoad.emit());\n\n this.coreFacade\n .getOnCodeChangeObservable()\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe((code) => {\n this.codeChange.emit(code);\n this.onCodeChange.emit(code);\n this._onTouched();\n this._onChange(code);\n });\n\n this.coreFacade\n .getOnCodeValidityChangeObservable()\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe((validity) => {\n this.isCodeValidChange.emit(validity);\n });\n }\n}\n","export default `\n@top Script { statement+ }\n\nstatement[@isGroup=Statement] {\n Keyword |\n String |\n Number\n}\n\n@tokens {\n String { '\"' (![\\\\n\"])* '\"'? }\n\n Number { std.digit+ }\n\n identifierChar { std.asciiLetter | $[_$\\u{a1}-\\u{10ffff}] }\n\n word { identifierChar (identifierChar | std.digit)* }\n\n identifier { word }\n}\n\nKeyword {\n kw<\"SE\">\n kw<\"ENTAO\">\n kw<\"FIM_SE\">\n kw<\"SENAO\">\n kw<\"NAO\">\n kw<\"CONTENHA\">\n kw<\"OU\">\n kw<\"E\">\n}\n\nkw<term> { @specialize[@name={term}]<identifier, term> }\n\n@detectDelim\n`;\n","export enum EnumTypeOrder {\n // Tipo de ordenação - Crescente\n ASC = \"ASC\",\n // Tipo de ordenação - Decrescente\n DESC = \"DESC\"\n}\n","export enum MetaType {\n // Entity\n ENTITY = \"ENTITY\",\n // String\n STRING = \"STRING\",\n // Integer\n INTEGER = \"INTEGER\",\n // Double\n DOUBLE = \"DOUBLE\",\n // Long\n LONG = \"LONG\",\n // BigDecimal\n BIGDECIMAL = \"BIGDECIMAL\",\n // UUID\n UUID = \"UUID\",\n // Date\n DATE = \"DATE\",\n // DateTime\n DATETIME = \"DATETIME\",\n // DateTime\n LOCALDATETIME = \"LOCALDATETIME\",\n // Time\n TIME = \"TIME\",\n // Boolean\n BOOLEAN = \"BOOLEAN\",\n // List\n LIST = \"LIST\",\n // Enum\n ENUM = \"ENUM\",\n // CustomExpression\n CUSTOM_EXPRESSION = \"CUSTOM_EXPRESSION\",\n // PublicExpression\n PUBLIC_EXPRESSION = \"PUBLIC_EXPRESSION\"\n}\n","export enum RequestTypes {\n ListContextMetadataById,\n ListBlobMetadata,\n ListExpressionMetadata,\n ListFacadeMetadataNames,\n GetFacadeMetadataByPath,\n}\n","export enum CompletionTypes {\n Keyword = \"keyword\",\n Context = \"context\",\n Expression = \"expression\",\n UserExpression = \"userExpression\",\n Entity = \"entity\",\n FinalValue = \"finalValue\"\n}\n","export enum Keywords {\n SE = \"SE\",\n SENAO = \"SENAO\",\n CONTENHA = \"CONTENHA\",\n ENTAO = \"ENTAO\",\n FIM_SE = \"FIM_SE\",\n NAO = \"NAO\",\n E = \"E\",\n OU = \"OU\"\n}\n","/* Interfaces */\nexport * from \"./interfaces/tax-calculation-configs\";\nexport * from \"./interfaces/fields-order-by\";\nexport * from \"./interfaces/rec-page-request\";\nexport * from \"./interfaces/list-facade-metadata-names\";\nexport * from \"./interfaces/facade-metadata-name\";\nexport * from \"./interfaces/rec-front-context-metadata\";\nexport * from \"./interfaces/list-context-metadata-by-id\";\nexport * from \"./interfaces/rec-expression-metadata\";\nexport * from \"./interfaces/list-expression-metadata\";\nexport * from \"./interfaces/rec-front-field-metadata\";\nexport * from \"./interfaces/rec-front-facade-metadata\";\nexport * from \"./interfaces/get-facade-metadata-by-path\";\nexport * from \"./interfaces/safe-http-communication\";\nexport * from \"./interfaces/completion-Item\";\n\n/* Enums */\nexport * from \"./enums/enum-type-order\";\nexport * from \"./enums/meta-type\";\nexport * from \"./enums/request-types\";\nexport * from \"./enums/completion-types\";\nexport * from \"./enums/keywords\";\n","import { LRLanguage } from \"@codemirror/language\";\nimport { buildParser } from \"@lezer/generator\";\nimport {\n styleTags,\n tags\n} from \"@codemirror/highlight\";\n\nimport parserGrammar from \"./grammar\";\nimport { Keywords } from \"../../models\";\n\nexport const baseConfigs = LRLanguage.define({\n parser: buildParser(parserGrammar)\n .configure({\n props: [\n styleTags({\n [Object.values(Keywords).join(\" \")]: tags.keyword,\n \"String\": tags.string,\n \"Number\": tags.number,\n })\n ]\n })\n});\n","/**\n * Formats a JSON response to a JS object\n * @param response The response to format\n * @returns A JS object based on the response's body\n */\nexport async function formatJsonResponse(response: Response): Promise<any> {\n return response.json();\n}\n","/**\n * Formats a Blob response to a JS object\n * @param response The response to format\n * @returns A JS object based on the response's body\n */\nexport async function formatBlobResponse(response: Response): Promise<any> {\n const textResponse = await (await response.blob()).text();\n return JSON.parse(textResponse);\n}\n","import {\n service,\n user\n} from \"@seniorsistemas/senior-platform-data\";\n\nimport {\n formatJsonResponse,\n formatBlobResponse\n} from \"./json-response-formatters\";\n\n/**\n * Custom HttpClient for cases when is not possible to use the Angular's HttpClient\n */\nexport class CustomHttpClient {\n\n private static _responseFormatterMap: Map<string, (response: Response) => Promise<any>> = new Map([\n [\"application/json\", formatJsonResponse],\n [\"application/octet-stream\", formatBlobResponse]\n ]);\n\n /**\n * Executes a Http Get\n * @param url Url to execute the Get on\n * @param init Optional additional configs\n * @returns Whether a Promise<T> on request success or an error in request fail\n */\n public static async GET<T>(url: string, init: RequestInit = {}): Promise<T> {\n const response = await this.interceptRequest(url, {\n ...init,\n method: \"GET\"\n });\n\n return this.formatResponse<T>(response);\n }\n\n /**\n * Executes a Http Post\n * @param url Url to execute the Post on\n * @param body Info to send to server on Post\n * @param init Optional additional configs\n * @returns Whether a Promise<T> on request success or an error in request fail\n */\n public static async POST<T>(url: string, body: any, init: RequestInit = {}): Promise<T> {\n const headers = new Headers(init.headers);\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n\n const response = await this.interceptRequest(url, {\n ...init,\n method: \"POST\",\n body: JSON.stringify(body),\n headers,\n });\n\n return this.formatResponse<T>(response);\n }\n\n /**\n * Intercepts the original request to add a required header for Senior in case of a internal request\n * @param url Url from the original request\n * @param originalReq Configs from the original request\n * @returns Whether a Promise<Response> if the request was made successfully or an error\n */\n private static async interceptRequest(url: string, originalReq: RequestInit = {}): Promise<Response> {\n try {\n if (!url.includes(\"://\")) {\n const restUrl = await service.getRestUrl();\n const authHeader = await user.getAuthHeader();\n\n const headers = new Headers(originalReq.headers);\n headers.append(\"Authorization\", authHeader);\n\n const request = new Request(\n restUrl + url,\n {\n ...originalReq,\n headers\n }\n );\n return fetch(request);\n }\n\n return fetch(url, originalReq);\n\n } catch (err) {\n throw new Error(`Error fetching requested URL: ${err}`);\n }\n }\n\n /**\n * Formats the request response to an object<T> or {}\n * @param response The response to be formatted\n * @returns Whether a Promise<T> if the response status is in the range 200-299 an error\n */\n private static async formatResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get(\"content-type\");\n const formatter = CustomHttpClient._responseFormatterMap.get(contentType);\n const formattedContentType = formatter ? await formatter(response) : {};\n\n if (response.ok) return formattedContentType as unknown as T;\n throw new Error(JSON.stringify(formattedContentType));\n }\n}\n","import { HostProjectConfigs } from \"../../../../../angular-components.module\";\nimport { Translations } from \"./models\";\n\n/**\n * Custom translator for cases when is not possible to use the \"TranslateService\" from \"@ngx-translate/core\"\n */\nexport class CustomTranslationsService {\n\n private static _translations: Translations = {};\n private static _TRANSLATION_PREFIX = \"\";\n\n /**\n * Method used to get the translation for an key based on the host project's translations. Always use the first available language\n * @param key Key used to search the translation\n * @returns The translation for the informed key or the key in case there is no translation\n */\n public static translate(key: string): string {\n if (key === undefined || key === null) return \"\";\n const translationKey = `${CustomTranslationsService._TRANSLATION_PREFIX}${key}`;\n const firstLanguageTranslations = Object.values(CustomTranslationsService._translations)[0] ?? {};\n return firstLanguageTranslations[translationKey] ?? translationKey;\n }\n\n /**\n * Method used to set the translations that will be used as base when calling the \"translate\" method\n * @param translations Translations to use as base\n */\n public static setTranslations(translations: Translations): void {\n CustomTranslationsService._translations = translations ?? {};\n }\n\n /**\n * Method used to set the prefix that will be used when calling the \"translate\" method\n * @param hostProjectConfigs The host project's configs used to create the prefix\n */\n public static setTranslationsPrefix(hostProjectConfigs: HostProjectConfigs): void {\n const { domain, service } = hostProjectConfigs ?? {};\n const prefix = `${domain}.${service}.`;\n CustomTranslationsService._TRANSLATION_PREFIX = prefix;\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n InjectionToken\n} from \"@angular/core\";\n\nexport const HostProjectConfigsInjectionToken = new InjectionToken<HostProjectConfigs>(\"hostProjectConfigs\");\n\nexport interface HostProjectConfigs {\n domain: string;\n service: string;\n}\n\n@NgModule({})\nexport class AngularComponentsModule {\n static forRoot(config: HostProjectConfigs): ModuleWithProviders<AngularComponentsModule> {\n return {\n ngModule: AngularComponentsModule,\n providers: [\n {\n provide: HostProjectConfigsInjectionToken,\n useValue: config\n }\n ]\n };\n }\n}\n","import {\n NgModule,\n Inject\n} from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { HostProjectConfigs, HostProjectConfigsInjectionToken } from \"../../../../../angular-components.module\";\nimport { CustomTranslationsService } from \"./index\";\n\n/**\n * Responsible for setting up the translations that will be used by the \"CustomTranslationsService\".\n * Uses the host project's translations set by using the \"TranslationsModule\" from \"@seniorsistemas/platform-components\"\n */\n@NgModule()\nexport class CustomTranslationsModule {\n\n constructor (\n private readonly translate: TranslateService,\n @Inject(HostProjectConfigsInjectionToken) private readonly hostProjectConfigs: HostProjectConfigs\n ) {\n this.factoryTranslations(this.translate, this.hostProjectConfigs);\n }\n\n private factoryTranslations(translate: TranslateService, hostProjectConfigs: HostProjectConfigs): void {\n CustomTranslationsService.setTranslations(translate.translations);\n CustomTranslationsService.setTranslationsPrefix(hostProjectConfigs);\n }\n}\n","export enum MarkerSeverity {\n Error,\n Info,\n Warning\n}\n","/* Interfaces */\nexport * from \"./interfaces/marker\";\n\n/* Enums */\nexport * from \"./enums/marker-severity\";\n","import { Diagnostic } from \"@codemirror/lint\";\n\nimport { DiagnosticSeverity } from \"../models\";\nimport {\n Marker,\n MarkerSeverity\n} from \"../../../../core/models\";\n\nconst diagnosticSeverityInMarkerSeverityMap: Map<number, DiagnosticSeverity> = new Map([\n [MarkerSeverity.Error, \"error\"],\n [MarkerSeverity.Info, \"info\"],\n [MarkerSeverity.Warning, \"warning\"]\n]);\n\nexport function convertMarkersToDiagnostics(markers: Marker[], textLength: number): Diagnostic[] {\n return markers.map(marker => ({\n from: marker.start || 0,\n to: marker.end || textLength,\n message: marker.message ?? \"\",\n severity: diagnosticSeverityInMarkerSeverityMap.get(marker.severity) ?? \"error\"\n }));\n}\n","export function isCurrentPositionInsideString(stringBeforeCurrentPosition: string): boolean {\n const doubleQuotesQuantity = stringBeforeCurrentPosition.match(/\"/g)?.length || 0;\n return doubleQuotesQuantity % 2 !== 0;\n}\n","import { CustomHttpClient } from \"../../../../../../utils\";\nimport {\n ListContextMetadataByIdRequest,\n ListContextMetadataByIdResponse,\n ListExpressionMetadataRequest,\n ListExpressionMetadataResponse,\n ListFacadeMetadataNamesRequest,\n ListFacadeMetadataNamesResponse,\n GetFacadeMetadataByPathRequest,\n GetFacadeMetadataByPathResponse,\n} from \"../../models\";\n\nexport class AutocompleteService {\n private static BASE_URL = \"platform/rule_metadata\";\n\n public static async listContextMetadataById(request: ListContextMetadataByIdRequest, abortSignal: AbortSignal): Promise<ListContextMetadataByIdResponse> {\n return CustomHttpClient.POST<ListContextMetadataByIdResponse>(\n `${AutocompleteService.BASE_URL}/queries/listContextMetadataById`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n\n public static async listExpressionMetadata(request: ListExpressionMetadataRequest, abortSignal: AbortSignal): Promise<ListExpressionMetadataResponse> {\n return CustomHttpClient.POST<ListExpressionMetadataResponse>(\n `${AutocompleteService.BASE_URL}/queries/listExpressionMetadata`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n\n public static async listFacadeMetadataNames(request: ListFacadeMetadataNamesRequest, abortSignal: AbortSignal): Promise<ListFacadeMetadataNamesResponse> {\n return CustomHttpClient.POST<ListFacadeMetadataNamesResponse>(\n `${AutocompleteService.BASE_URL}/queries/listFacadeMetadataNames`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n\n public static async getFacadeMetadataByPath(request: GetFacadeMetadataByPathRequest, abortSignal: AbortSignal): Promise<GetFacadeMetadataByPathResponse> {\n return CustomHttpClient.POST<GetFacadeMetadataByPathResponse>(\n `${AutocompleteService.BASE_URL}/queries/getFacadeMetadataByPath`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds style to autocomplete's state-wrapper\n * @returns An extension containing the style\n */\nexport function style(): Extension {\n return EditorView.theme({\n \".s-code-editor-taxCalculation-autocomplete-ul\": {\n \"padding\": \".75rem !important\",\n },\n\n \".s-code-editor-taxCalculation-autocomplete-li\": {\n cursor: \"default !important\",\n \"line-height\": \"1.375em !important\",\n },\n });\n}\n","import {\n EditorState,\n Extension,\n StateField\n} from \"@codemirror/state\";\nimport { showTooltip, Tooltip } from \"@codemirror/tooltip\";\n\nimport { CodeMirror6Core } from \"../../../../../../codemirror-6-core\";\nimport { style } from \"./autocomplete-state-wrapper-style\";\n\nlet htmlElementToBeWrapped: HTMLElement = null;\n\n/**\n * Adds a view updates's listener that creates an state over the autocomplete\n * @returns An extension containing everything needed to listen the updates and create the autocomplete's state\n */\n export function autocompleteStateWrapper(): Extension {\n return [\n autocompleteStateWrapperStateField(),\n style()\n ];\n}\n\n/**\n * Shows a state on a non-clickable autocomplete item's format with an HTMLElement inside\n * @param element The HTMLElement to show inside the state\n */\nexport function showAutocompleteStateWrapper(element: HTMLElement): void {\n htmlElementToBeWrapped = element;\n CodeMirror6Core.updateEditorView();\n}\n\n/**\n * Removes a possible showed autocomplete state\n */\nexport function hideAutocompleteStateWrapper(): void {\n htmlElementToBeWrapped = null;\n CodeMirror6Core.updateEditorView();\n}\n\n/*\n * Creates and returns a StateField responsible for listening the view's change and to add the autocomplete state's wrapper\n */\nfunction autocompleteStateWrapperStateField(): StateField<Tooltip> {\n return StateField.define({\n create: getAutocompleteStateWrapper,\n update(_, transaction) {\n return getAutocompleteStateWrapper(transaction.state);\n },\n provide(field) {\n return showTooltip.compute([field], state => state.field(field));\n }\n });\n}\n\n/*\n * Function responsible for creating the state's wrapper and returning the same as a Tooltip from \"@codemirror/tooltip\";\n * Only creates the Tooltip if the theres is element on the \"htmlElementToBeWrapped\" variable;\n * The same will also be removed when any view update is emitted;\n */\nfunction getAutocompleteStateWrapper(state: EditorState): Tooltip {\n if (!htmlElementToBeWrapped) return;\n\n const htmlElementToBeWrappedString = htmlElementToBeWrapped.outerHTML;\n const stateWrapper: Tooltip = {\n pos: state.selection.ranges[0].head,\n create: () => ({ dom: getAutocompleteStateWrapperDomElement(htmlElementToBeWrappedString) })\n };\n\n htmlElementToBeWrapped = null;\n return stateWrapper;\n}\n\nfunction getAutocompleteStateWrapperDomElement(elementToBeWrappedString: string): HTMLElement {\n const wrapperDiv = document.createElement(\"div\");\n wrapperDiv.className = \"cm-tooltip-autocomplete cm-tooltip\";\n wrapperDiv.innerHTML =\n `\n <ul class=\"s-code-editor-taxCalculation-autocomplete-ul\">\n <li class=\"s-code-editor-taxCalculation-autocomplete-li\">\n ${elementToBeWrappedString}\n </li>\n </ul>\n\n `;\n\n return wrapperDiv;\n}\n","import { Extension } from \"@codemirror/state\";\n\nimport { CustomTranslationsService } from \"../../../../../../../utils\";\nimport { autocompleteStateWrapper, showAutocompleteStateWrapper } from \"./autocomplete-state-wrapper/autocomplete-state-wrapper\";\n\nlet autocompleteLoadingStateHTMLElement!: HTMLElement;\n\n/**\n * Adds a loading-state over the autocomplete\n * @returns An extension containing everything needed to add the loading-state\n */\nexport function autocompleteLoadingState(): Extension {\n return [autocompleteStateWrapper()];\n}\n\n/**\n * Activates the loading state on the autocomplete\n */\n/*\n * Must set the \"autocompleteLoadingStateHTMLElement\" here for when the document is loaded we do not have\n * yet the \"CustomTranslationsService\" ready\n */\nexport function showAutocompleteLoadingState(): void {\n if (!autocompleteLoadingStateHTMLElement) {\n autocompleteLoadingStateHTMLElement = getAutocompleteLoadingStateHTMLElement();\n }\n\n showAutocompleteStateWrapper(autocompleteLoadingStateHTMLElement);\n}\n\nfunction getAutocompleteLoadingStateHTMLElement(): HTMLElement {\n const loadingStateSpanWrapper = document.createElement(\"span\");\n loadingStateSpanWrapper.innerText = CustomTranslationsService.translate(\"core_language_tax_calculation_fetching_suggestions\");\n\n return loadingStateSpanWrapper;\n}\n","import { Extension } from \"@codemirror/state\";\n\nimport { CustomTranslationsService } from \"../../../../../../../utils\";\nimport { autocompleteStateWrapper, showAutocompleteStateWrapper } from \"./autocomplete-state-wrapper/autocomplete-state-wrapper\";\n\nlet autocompleteEmptyStateHTMLElement!: HTMLElement;\n\n/**\n * Adds an empty-state over the autocomplete\n * @returns An extension containing everything needed to add the empty-state\n */\nexport function autocompleteEmptyState(): Extension {\n return [autocompleteStateWrapper()];\n}\n\n/**\n * Activates the empty-state on the autocomplete\n */\n/*\n * Must set the \"autocompleteEmptyStateHTMLElement\" here for when the document is loaded we do not have\n * yet the \"CustomTranslationsService\" ready\n */\nexport function showAutocompleteEmptyState(): void {\n if (!autocompleteEmptyStateHTMLElement) {\n autocompleteEmptyStateHTMLElement = getAutocompleteEmptyStateHTMLElement();\n }\n\n showAutocompleteStateWrapper(autocompleteEmptyStateHTMLElement);\n}\n\nfunction getAutocompleteEmptyStateHTMLElement(): HTMLElement {\n const emptyStateSpanWrapper = document.createElement(\"span\");\n emptyStateSpanWrapper.innerText = CustomTranslationsService.translate(\"core_language_tax_calculation_no_suggestions\");\n\n return emptyStateSpanWrapper;\n}\n","import { TaxCalculationConfigs } from \"./models\";\n\nexport * from \"./models/interfaces/tax-calculation-configs\";\n\nexport class TaxCalculationLanguageConfigs {\n\n private static CONFIGS: TaxCalculationConfigs = { contexts: [] };\n\n public static setConfigs(configs: TaxCalculationConfigs): void {\n TaxCalculationLanguageConfigs.CONFIGS = JSON.parse(JSON.stringify(configs));\n }\n\n public static getConfigs(): TaxCalculationConfigs {\n return TaxCalculationLanguageConfigs.CONFIGS;\n }\n}\n","import { TaxCalculationConfigs } from \"../models\";\nimport { TaxCalculationLanguageConfigs } from \"../tax-calculation-language-configs\";\n\n/**\n * Gets the configs for the TaxCalculationLanguage\n * @returns The configs\n */\nexport function getLanguageConfigs(): TaxCalculationConfigs {\n const configs = TaxCalculationLanguageConfigs.getConfigs();\n if (!configs.contexts?.length) throw new Error(\n \"In order to use the TaxCalculation Language's autocomplete, \"\n + \"one must inform at least one context by using the \"\n + \"'TaxCalculationLanguageConfigs.setConfigs()'\"\n );\n return configs;\n}\n","import {\n SafeRequest,\n Response\n} from \"../models\";\n\n/**\n * Wraps the request to return the same with an identification or undefined in case of error, so the promise will\n * always trigger the \"then\"\n * @param request Request to wrap\n * @returns The typed request's response\n */\nexport async function getSafeResponse(request: SafeRequest): Promise<Response> {\n try {\n return {\n ...request,\n response: await request.request\n };\n } catch (_) {}\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds style to the autocomplete\n * @returns An extension containing the style\n */\nexport function style(): Extension {\n return EditorView.theme({\n \".cm-completionIcon\": {\n \"font-family\": \"'Font Awesome 5 Pro'\",\n \"font-weight\": \"900\",\n },\n\n \".cm-completionIcon-keyword::after\": {\n \"content\": getIconBasedOnUnicode(\"f084\"),\n },\n\n \".cm-completionIcon-context::after\": {\n \"content\": getIconBasedOnUnicode(\"f466\"),\n },\n\n \".cm-completionIcon-expression::after\": {\n \"content\": getIconBasedOnUnicode(\"f505\"),\n },\n\n \".cm-completionIcon-userExpression::after\": {\n \"content\": getIconBasedOnUnicode(\"f4ff\"),\n },\n\n \".cm-completionIcon-entity::after\": {\n \"content\": getIconBasedOnUnicode(\"f126\"),\n },\n\n \".cm-completionIcon-finalValue::after\": {\n \"content\": getIconBasedOnUnicode(\"f192\"),\n },\n });\n}\n\nfunction getIconBasedOnUnicode(unicode: string): string {\n return `\"\\\\${unicode}\"`;\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\nimport {\n autocompletion,\n Completion,\n CompletionContext,\n CompletionResult,\n pickedCompletion,\n startCompletion\n} from \"@codemirror/autocomplete\";\n\nimport { CustomTranslationsService } from \"../../../../../../utils\";\nimport { CodeMirror6Core } from \"../../../../codemirror-6-core\";\nimport { isCurrentPositionInsideString } from \"../../../../utils\";\nimport { AutocompleteService } from \"./autocomplete.service\";\nimport {\n autocompleteLoadingState,\n showAutocompleteLoadingState,\n autocompleteEmptyState,\n showAutocompleteEmptyState\n} from \"./autocomplete-states\";\nimport {\n TaxCalculationConfigs,\n RequestTypes,\n Response,\n SafeRequest,\n SafeResponse,\n ListContextMetadataByIdResponse,\n CompletionTypes,\n ListExpressionMetadataResponse,\n MetaType,\n GetFacadeMetadataByPathResponse,\n ListFacadeMetadataNamesResponse,\n Keywords,\n} from \"../../models\";\nimport {\n getLanguageConfigs,\n getSafeResponse\n} from \"../../utils\";\nimport { style } from \"./autocomplete-style\";\n\n/**\n * Adds an autocomplete to the editor\n * @returns An extension containing everything needed to create the autocomplete\n */\nexport function autocomplete (): Extension {\n return [\n autocompletion({ override: [getCompletionResults] }),\n autocompleteLoadingState(),\n autocompleteEmptyState(),\n style(),\n ];\n}\n\nconst TRANSLATION_PREFIX = \"core_language_tax_calculation\";\nlet completionResults!: CompletionResult;\n\n/*\n * A function to be called when a key is pressed, the ctrl+space is triggered or when the search for completionResults is done.\n * If there is a completionResult, returns it, otherwise starts a new async search.\n * Will only execute the autocompletion if the current cursor position is not inside a string\n */\nfunction getCompletionResults(context: CompletionContext): CompletionResult {\n const isCursorInsideString = isCurrentPositionInsideString(context.state.doc.toString().substring(0, context.pos));\n if (isCursorInsideString) return;\n\n if (completionResults) {\n const finalCompletionResults: CompletionResult = { ...completionResults };\n const codeLength = context.state.doc.toString().length;\n finalCompletionResults.from = finalCompletionResults.from > codeLength\n ? codeLength\n : finalCompletionResults.from;\n completionResults = null;\n return finalCompletionResults;\n }\n startCompletionResultsSearch(context);\n}\n\nlet cancelLastCompletionSearch: () => void = () => {};\nlet codeMirrorViewElement!: HTMLElement;\n\n/*\n * Starts a new completionResults's async search.\n * Avoids the last search to be finished by calling the \"cancelLastCompletionSearch\" callback function\n */\nfunction startCompletionResultsSearch(context: CompletionContext): void {\n const token = new AbortController();\n setTimeout(() => {\n if (!token.signal.aborted) {\n showAutocompleteLoadingState();\n searchCompletionResults(context, token);\n }\n }, 500);\n\n /*\n * IMPORTANT: The following lines MUST be the way they are!\n * Here is being add the listener to any keydown/click event so when any key is downed or mouse clicked, we cancel the last request.\n * We do this to not show to the user a completionItem in an incorrect place of text, that can be done by either pressing the\n * arrows, home, end, backspace and etc. The flow is:\n * 1. We add an eventListener to keydown/click when the autocompletion's request is triggered;\n * 2. When any key/click is pressed, we remove the listener and cancel the last request by changing the isSearchCanceled on token object\n * to true;\n * 3. If any key that requires autocompletion is triggered, the flow repeats;\n */\n codeMirrorViewElement = CodeMirror6Core.getEditorView().contentDOM;\n\n cancelLastCompletionSearch = () => {\n codeMirrorViewElement.removeEventListener(\"keydown\", cancelLastCompletionSearch);\n codeMirrorViewElement.removeEventListener(\"click\", cancelLastCompletionSearch);\n token.abort();\n };\n\n codeMirrorViewElement.addEventListener(\"keydown\", cancelLastCompletionSearch);\n codeMirrorViewElement.addEventListener(\"click\", cancelLastCompletionSearch);\n}\n\n/*\n * Requests the necessary items to fill the completionResults, although it only really opens the autocomplete\n * box (by calling the \"startCompletion()\", that calls the \"getCompletionResults\") if the current search was not cancelled\n * by a new one\n */\nasync function searchCompletionResults(context: CompletionContext, token: AbortController): Promise<void> {\n const codeBeforeCursor = context?.state?.doc?.toString().substring(0, context?.pos ?? 0) ?? \"\";\n const filter = getFilter(codeBeforeCursor);\n const path = getPath(codeBeforeCursor, filter.length);\n const requests: SafeResponse[] = getRequestsBasedOnPath(path, filter, token.signal);\n\n Promise\n .all(requests)\n .then(responses => {\n if (!token.signal.aborted) {\n const completions = [].concat(\n getKeywordsCompletions(path),\n getContextsCompletions(responses),\n getExpressionsCompletions(responses),\n getEntitiesCompletions(responses)\n );\n const filteredCompletions: Completion[] = getFilteredCompletions(completions, filter);\n\n if (filteredCompletions.length) {\n const formattedCompletions: Completion[] = getFormattedCompletions(filteredCompletions, filter);\n const sortedCompletions: Completion[] = getSortedCompletions(formattedCompletions);\n\n completionResults = {\n from: context.pos,\n filter: false,\n options: sortedCompletions\n };\n startCompletion(CodeMirror6Core.getEditorView());\n\n } else {\n showAutocompleteEmptyState();\n }\n\n }\n });\n}\n\n/*\n * Returns the filter in the code written.\n * For example in the code \"controladoria.empresa\", \"empresa\" would be the filter\n * and in \"controladoria\", \"controladoria\" would be the filter.\n * Allows only alphanumerics, underscore and hashtag on filter's start.\n * Does not allow spaces\n */\nfunction getFilter(string: string): string {\n if (string === undefined || string === null) return \"\";\n\n const filter = string.match(/(#|\\.|)\\w*$/)?.[0] ?? \"\";\n return filter.replace(\".\", \"\").trim();\n}\n\n/*\n * Returns the path in the code written based on filter.\n * For example in the code \"controladoria.empresa\", \"controladoria\" would be the path\n * and in \"controladoria\", \"\" would be the path.\n * Does not allow spaces\n */\nfunction getPath(string: string, filterLength: number): string {\n if (string === undefined || string === null) return \"\";\n\n const stringWithoutPath = string.substring(0, string.length - filterLength);\n const path = stringWithoutPath.match(/(\\w*\\.)*$/)?.[0] ?? \"\";\n return path.replace(/\\.$/, \"\");\n}\n\nfunction getRequestsBasedOnPath(path: string, filter: string, abortSignal: AbortSignal): SafeResponse[] {\n const languageConfigs: TaxCalculationConfigs = getLanguageConfigs();\n const requests: SafeRequest[] = [];\n\n if (path === \"\") {\n requests.push({\n requestType: RequestTypes.ListContextMetadataById,\n request: AutocompleteService.listContextMetadataById(\n {\n id: languageConfigs.contexts,\n },\n abortSignal\n )\n });\n requests.push({\n requestType: RequestTypes.ListExpressionMetadata,\n request: AutocompleteService.listExpressionMetadata(\n {\n context: languageConfigs.contexts,\n subcontext: languageConfigs.subContexts ?? [],\n name: filter,\n pageRequest: {\n offset: 0,\n size: 20\n }\n },\n abortSignal\n )\n });\n\n } else if (path.includes(\".\")) {\n const splittedPath = path.split(\".\");\n requests.push({\n requestType: RequestTypes.GetFacadeMetadataByPath,\n request: AutocompleteService.getFacadeMetadataByPath(\n {\n context: splittedPath[0],\n entityName: splittedPath[1],\n fields: splittedPath[2] === undefined ? undefined : splittedPath.slice(2)\n },\n abortSignal\n )\n });\n\n } else {\n requests.push({\n requestType: RequestTypes.ListFacadeMetadataNames,\n request: AutocompleteService.listFacadeMetadataNames(\n {\n context: [path],\n name: filter,\n pageRequest: {\n offset: 0,\n size: 30\n }\n },\n abortSignal\n )\n });\n }\n\n return requests.map(request => getSafeResponse(request));\n}\n\nfunction getKeywordsCompletions(path: string): Completion[] {\n if (path !== \"\") return [];\n\n const completions = [\n {\n label: Keywords.SE,\n apply: \"SE ()\\nENTAO\\n\\tacao\\nFIM_SE\",\n },\n {\n label: Keywords.SENAO,\n apply: \"SENAO\\n\\tacao\",\n },\n {\n label: Keywords.CONTENHA,\n apply: \"CONTENHA(condicao)\",\n },\n {\n label: Keywords.ENTAO,\n apply: \"ENTAO\\n\\tacao\",\n },\n {\n label: Keywords.FIM_SE,\n apply: \"FIM_SE \",\n },\n {\n label: Keywords.NAO,\n apply: \"NAO \",\n },\n {\n label: Keywords.E,\n apply: \"E \",\n },\n {\n label: Keywords.OU,\n apply: \"OU \"\n },\n ];\n\n return completions.map(completionItem => ({\n ...completionItem,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_keyword`),\n type: CompletionTypes.Keyword\n }));\n}\n\nfunction getContextsCompletions(responses: Response<any>[]): Completion[] {\n const contextsResponse: Response<ListContextMetadataByIdResponse> = responses.find(response =>\n response?.requestType === RequestTypes.ListContextMetadataById\n );\n\n if (contextsResponse) {\n return (contextsResponse.response?.contextMetadata ?? [])\n .map(contextMetadata => ({\n label: contextMetadata.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_context`),\n apply: contextMetadata.name,\n type: CompletionTypes.Context\n }));\n }\n\n return [];\n}\n\nfunction getExpressionsCompletions(responses: Response<any>[]): Completion[] {\n const expressionsResponse: Response<ListExpressionMetadataResponse> = responses.find(response =>\n response?.requestType === RequestTypes.ListExpressionMetadata\n );\n\n if (expressionsResponse) {\n return (expressionsResponse.response?.expressionMetadata ?? [])\n .map(expressionMetadata => ({\n label: expressionMetadata.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_${\n expressionMetadata.type === MetaType.PUBLIC_EXPRESSION\n ? \"senior_expression\"\n : \"user_expression\"\n }`),\n apply: expressionMetadata.name,\n info: expressionMetadata.description,\n type: expressionMetadata.type === MetaType.PUBLIC_EXPRESSION ? CompletionTypes.Expression : CompletionTypes.UserExpression\n }));\n }\n\n return [];\n}\n\nfunction getEntitiesCompletions(responses: Response<any>[]): Completion[] {\n const facadesResponseFromList: Response<ListFacadeMetadataNamesResponse> = responses.find(response =>\n response?.requestType === RequestTypes.ListFacadeMetadataNames\n );\n\n if (facadesResponseFromList) {\n return (facadesResponseFromList.response?.facadeMetadataNames ?? [])\n .map(facade => ({\n label: facade.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_entity`),\n apply: facade.name,\n type: CompletionTypes.Entity\n }));\n }\n\n const facadesResponseFromGet: Response<GetFacadeMetadataByPathResponse> = responses.find(response =>\n response?.requestType === RequestTypes.GetFacadeMetadataByPath\n );\n\n if (facadesResponseFromGet) {\n return (facadesResponseFromGet.response?.facadeMetadata?.fields ?? [])\n .map(facade => ({\n label: facade.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_${\n facade.type === MetaType.ENTITY\n ? \"entity\"\n : \"field\"\n }`),\n apply: facade.name,\n type: facade.type === MetaType.ENTITY ? CompletionTypes.Entity : CompletionTypes.FinalValue\n }));\n }\n\n return [];\n}\n\n/*\n * Filtering the completions to only deal with the necessary items\n */\nfunction getFilteredCompletions(completions: Completion[], filter: string): Completion[] {\n return completions\n .filter(completionItem =>\n completionItem\n .label\n .toLowerCase()\n .startsWith(filter.toLowerCase()));\n}\n\n\n/*\n * Overwriting the completions's apply to remove the entire current written value and apply the the entire completion's apply \n */\nfunction getFormattedCompletions(completions: Completion[], filter: string): Completion[] {\n return completions\n .map(completionItem => ({\n ...completionItem,\n apply: getCompletionApply(filter, `${completionItem.apply}`)\n }));\n}\n\nfunction getCompletionApply(filter: string, oldApplyText: string): ((view: EditorView, completion: Completion, from: number, to: number) => void) {\n return (view: EditorView, completion: Completion, from: number, to: number): void => {\n const newFrom = from - filter.length;\n \n view.dispatch({\n changes: {\n from: newFrom,\n to,\n insert: oldApplyText\n },\n selection: {\n anchor: newFrom + oldApplyText.length\n },\n userEvent: \"input.complete\",\n annotations: pickedCompletion.of(completion)\n });\n } \n}\n\nconst completionsSortOrder: CompletionTypes[] = [\n CompletionTypes.Keyword,\n CompletionTypes.Context,\n CompletionTypes.UserExpression,\n CompletionTypes.Expression,\n CompletionTypes.Entity,\n CompletionTypes.FinalValue\n];\n\n/*\n * Sorts the completions following the \"completionsSortOrder\" priority order\n */\nfunction getSortedCompletions(completions: Completion[]): Completion[] {\n return completions.sort((x: Completion, y: Completion) => {\n const xPriority = completionsSortOrder.indexOf(x.type as CompletionTypes);\n const yPriority = completionsSortOrder.indexOf(y.type as CompletionTypes);\n\n return xPriority - yPriority;\n });\n}\n","import { LanguageSupport } from \"@codemirror/language\";\n\nimport { baseConfigs } from \"./extensions/base-configs/base-configs\";\nimport { autocomplete } from \"./extensions/autocomplete/autocomplete\";\n\nexport function TaxCalculation(): LanguageSupport {\n return new LanguageSupport(\n baseConfigs,\n [\n autocomplete(),\n ]\n );\n}\n","import { LanguageSupport, LRLanguage } from \"@codemirror/language\";\nimport { buildParser } from \"@lezer/generator\";\nimport { styleTags, tags } from \"@codemirror/highlight\";\n\nconst jsonGrammar = `\n@top JsonDocument { JsonValue }\n\nJsonValue {\n JsonObject |\n JsonArray |\n JsonString |\n JsonNumber |\n JsonBoolean |\n JsonNull\n}\n\nJsonObject {\n \"{\" (JsonPair (\",\" JsonPair)*)? \"}\"\n}\n\nJsonPair {\n JsonString \":\" JsonValue\n}\n\nJsonArray {\n \"[\" (JsonValue (\",\" JsonValue)*)? \"]\"\n}\n\n@tokens {\n JsonString { '\"' (![\\\\n\"])* '\"'? }\n JsonNumber {\n '-'? std.digit+\n ('.' std.digit+)?\n ((\"e\" | \"E\") (\"+\" | \"-\")? std.digit+)?\n }\n JsonBoolean { \"true\" | \"false\" }\n JsonNull { \"null\" }\n space { $[ \\t\\n\\r]+ }\n \"{\" \"}\"\n \"[\" \"]\"\n \":\" \",\"\n}\n\n@skip { space }\n\n@detectDelim\n`;\n\nconst jsonLanguage = LRLanguage.define({\n parser: buildParser(jsonGrammar).configure({\n props: [\n styleTags({\n JsonString: tags.string,\n JsonNumber: tags.number,\n \"JsonBoolean JsonNull\": tags.keyword,\n '\"{\"': tags.brace,\n '\"}\"': tags.brace,\n '\"[\"': tags.brace,\n '\"]\"': tags.brace,\n '\":\"': tags.operator,\n '\",\"': tags.punctuation,\n }),\n ],\n }),\n});\n\nexport function Json(): LanguageSupport {\n return new LanguageSupport(jsonLanguage);\n}\n","import { LanguageSupport } from \"@codemirror/language\";\n\nimport { Languages } from \"../../../../models\";\n\n/* Languages */\nimport { TaxCalculation } from \"./tax-calculation/tax-calculation.language\";\nimport { Json } from \"./json/json.language\";\n\ntype LanguageSupportFactory = () => LanguageSupport\n\nexport class EditorLanguages {\n\n private static _LANGUAGES: Map<Languages, LanguageSupportFactory> = new Map([\n [Languages.TaxCalculation, TaxCalculation],\n [Languages.Json, Json]\n ]);\n\n public static getLanguage(language: Languages): LanguageSupport {\n const languageSupportFactory = EditorLanguages._LANGUAGES.get(language);\n if (languageSupportFactory) return languageSupportFactory();\n return [] as unknown as LanguageSupport;\n }\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds style to the editor in general\n * @returns An extension containing the style\n */\nexport function style(): Extension {\n return EditorView.theme({\n \"&.cm-editor.cm-focused\": {\n outline: \"none\",\n },\n });\n}\n","import { HighlightStyle, tags } from \"@codemirror/highlight\";\n\nexport const SDSLightHighlightStyle: HighlightStyle = HighlightStyle.define([\n {\n tag: tags.keyword,\n color: \"#008080\",\n },\n {\n tag: tags.string,\n color: \"#9C3A3A\",\n },\n {\n tag: tags.number,\n color: \"#400753\",\n },\n]);\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds a vertical scrollbar when the editor's height overflows the parent's height\n * @returns An extension containing everything needed to add the scrollbar\n */\nexport function scrollbars(): Extension {\n return [\n style()\n ];\n}\n\nfunction style() {\n return EditorView.baseTheme({\n \"&.cm-editor\": {\n \"height\": \"100%\"\n },\n\n });\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\nimport { StyleSpec } from \"style-mod\";\n\n/**\n * Adds style to editor'font\n * @returns An extension containing everything needed to add the font style\n */\nexport function fontStyle(): Extension {\n return [style()];\n}\n\nconst generalFontStyle: StyleSpec = {\n \"font-family\": \"'Noto Sans Mono', 'sans-serif'\",\n \"font-style\": \"normal\",\n \"font-size\": \"1rem\",\n};\n\nfunction style() {\n return EditorView.theme({\n \".cm-scroller\": {\n ...generalFontStyle,\n \"letter-spacing\": \"0\",\n \"line-height\": \"1.5em\",\n \"font-variation-settings\": \"'wght' 400\",\n \"color\": \"#333333\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul\": {\n ...generalFontStyle,\n \"font-variation-settings\": \"'wght' 300\",\n \"color\": \"#697882\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionLabel\": {\n \"line-height\": \"1.5em\",\n \"font-variation-settings\": \"'wght' 500\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail\": {\n \"font-size\": \"0.875em\",\n \"font-style\": \"normal\",\n \"margin-left\": \"0.75rem\",\n },\n });\n}\n","import { lineNumbers } from \"@codemirror/gutter\"\nimport { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds a line counter\n * @returns An extension containing everything needed to add the line counter\n */\nexport function lineCounter(): Extension {\n return [\n lineNumbers(),\n style()\n ];\n}\n\nfunction style() {\n return EditorView.theme(\n {\n \".cm-gutters\": {\n \"background-color\": \"#fff\",\n \"color\": \"#428BCA\",\n \"border-right\": \"none\"\n },\n \".cm-gutter\": {\n \"padding\": \"0 2rem 0 2rem\"\n }\n }\n );\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds styles to the autocomplete's tooltip\n * @returns An extension containing everything needed to add the style\n */\nexport function autocompleteTooltip(): Extension {\n return [style()];\n}\n\nfunction style() {\n return EditorView.baseTheme({\n \".cm-tooltip\": {\n \"border\": \"none !important\",\n \"border-radius\": \"4px\",\n \"background-color\": \"#E5EAEA !important\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul[role='listbox']\": {\n \"padding\": \"1rem\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail\": {\n \"margin-left\": \".75rem\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail::before\": {\n \"content\": \"'[ '\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail::after\": {\n \"content\": \"' ]'\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionIcon\": {\n \"padding-right\": 0,\n \"margin-right\": \".475rem\",\n \"width\": \"1rem\",\n },\n\n \".cm-tooltip-autocomplete ul li[aria-selected]\": {\n \"border-radius\": \"4px\",\n \"background-color\": \"#5D96A2 !important\",\n \"color\": \"#fff !important\",\n },\n\n \".cm-tooltip.cm-completionInfo.cm-completionInfo-right\": {\n \"border-radius\": \"3px\",\n \"box-shadow\": \"0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%)\",\n \"background\": \"#495057 !important\",\n \"color\": \"#fff\",\n \"padding\": \".5rem\",\n \"left\": \"101.6%\",\n },\n\n \".cm-tooltip.cm-completionInfo.cm-completionInfo-right::before\": {\n \"content\": \"''\",\n \"position\": \"absolute\",\n \"width\": 0,\n \"height\": 0,\n \"top\": \".8125rem\",\n \"left\": \"-.25rem\",\n \"margin-top\": \"-.25rem\",\n \"border-color\": \"transparent\",\n \"border-style\": \"solid\",\n \"border-right-color\": \"#495057\",\n \"border-width\": \".25rem .25rem .25rem 0\",\n },\n });\n}\n","import { EditorTheme } from \"../../models\";\n\n/* General Style */\nimport { style } from \"./sds-light-style\";\n\n/* HighlightStyle */\nimport { SDSLightHighlightStyle } from \"./sds-light-highlight-style\";\n\n/* Theme's Extensions */\nimport { scrollbars } from \"./extensions/scrollbars\";\nimport { fontStyle } from \"./extensions/font-style\";\nimport { lineCounter } from \"./extensions/line-counter\";\nimport { autocompleteTooltip } from \"./extensions/autocomplete-tooltip\";\n\nexport function SDSLight(): EditorTheme {\n return [\n [\n style(),\n scrollbars(),\n fontStyle(),\n lineCounter(),\n autocompleteTooltip()\n ], \n SDSLightHighlightStyle\n ];\n}\n","import { Themes } from \"../../../../models\";\nimport { EditorTheme } from \"../models\";\n\n/* Themes */\nimport { SDSLight } from \"./sds-light/sds-light-theme\";\n\ntype EditorThemeFactory = () => EditorTheme; \n\nexport class EditorThemes {\n\n private static _THEMES: Map<Themes, EditorThemeFactory> = new Map([\n [Themes.SDSLight, SDSLight]\n ]);\n\n public static getTheme(theme: Themes): EditorTheme {\n const EditorThemeFactory = EditorThemes._THEMES.get(theme);\n if (EditorThemeFactory) return EditorThemeFactory();\n return [] as unknown as EditorTheme;\n }\n}\n","import { EditorView } from \"@codemirror/view\";\nimport {\n EditorState,\n StateEffect,\n Extension,\n TransactionSpec\n} from \"@codemirror/state\";\nimport { setDiagnostics } from \"@codemirror/lint\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { CoreFacade } from \"../../../core/facades/core-facade\";\nimport { Marker } from \"../../../core/models\";\nimport { EditorOptions } from \"../../../models\";\nimport { EditorLanguages } from \"./languages/editor-languages\";\nimport { EditorThemes } from \"./themes/editor-themes\";\nimport { convertMarkersToDiagnostics } from \"./utils\";\n\nexport class CodeMirror6Core extends CoreFacade {\n\n public static $onCompletionItemsUpdate: Subject<string[]> = new Subject();\n private static _ngUnsubscribe: Subject<void> = new Subject();\n private static _editorView: EditorView = null;\n\n /* These are necessary for the setCode and setEditorOptions can be called before view has been created */\n private _codeReceivedBeforeViewCreation = \"\";\n private _editorOptionsReceivedBeforeViewCreation: Extension = [];\n\n constructor() {\n super();\n }\n\n public static getEditorView(): EditorView {\n return CodeMirror6Core._editorView;\n }\n\n public static updateEditorView(...transactionSpecs: TransactionSpec[]): void {\n CodeMirror6Core._editorView.dispatch(...transactionSpecs);\n }\n\n public setCoreWrapperElement(element: HTMLDivElement): void {\n this.createEditorView(element);\n }\n\n public setCode(code: string): void {\n this.changeEditorContent(code);\n }\n\n public initCore(): void {\n this.setObservablesListeners();\n }\n\n public destroyCore(): void {\n this._codeReceivedBeforeViewCreation = \"\";\n CodeMirror6Core._editorView = null;\n CodeMirror6Core._ngUnsubscribe.next();\n CodeMirror6Core._ngUnsubscribe.complete();\n }\n\n protected setCoreEditorOptions(options: EditorOptions): void {\n const language = EditorLanguages.getLanguage(options.language);\n const theme = EditorThemes.getTheme(options.theme);\n\n if (CodeMirror6Core._editorView) {\n CodeMirror6Core.updateEditorView({\n effects: StateEffect.reconfigure.of([\n language,\n theme,\n this.getCodeChangeListenerExtension()\n ])\n });\n } else {\n this._editorOptionsReceivedBeforeViewCreation = [language, theme];\n }\n }\n\n protected highlightCode(markers: Marker[]): void {\n const diagnostics = convertMarkersToDiagnostics(markers, CodeMirror6Core._editorView.state.doc.length);\n CodeMirror6Core.updateEditorView(setDiagnostics(CodeMirror6Core._editorView.state, diagnostics));\n }\n\n private setObservablesListeners(): void {\n CodeMirror6Core.$onCompletionItemsUpdate\n .pipe(takeUntil(CodeMirror6Core._ngUnsubscribe))\n .subscribe(items => this.updateCompletionItems(items));\n }\n\n private createEditorView(parentElement: HTMLElement): void {\n CodeMirror6Core._editorView = new EditorView({\n parent: parentElement,\n state: EditorState.create({\n doc: this._codeReceivedBeforeViewCreation,\n extensions: [\n this._editorOptionsReceivedBeforeViewCreation,\n this.getCodeChangeListenerExtension()\n ]\n })\n });\n\n this.notifyCoreFinishLoad();\n }\n\n private getCodeChangeListenerExtension(): Extension {\n return EditorView.updateListener.of(update => update.docChanged && this.notifyCodeChange(update.state.doc.toString()));\n }\n\n private changeEditorContent(code: string): void {\n if (CodeMirror6Core._editorView) {\n CodeMirror6Core.updateEditorView({\n changes: {\n from: 0,\n to: CodeMirror6Core._editorView.state.doc.length,\n insert: code\n }\n });\n } else {\n this._codeReceivedBeforeViewCreation = code;\n }\n }\n\n protected setCodeWithCursorPreservation(code: string): void {\n if (CodeMirror6Core._editorView) {\n const currentCode = CodeMirror6Core._editorView.state.doc.toString();\n \n // Só atualiza se o conteúdo for realmente diferente\n if (currentCode !== code) {\n const currentSelection = CodeMirror6Core._editorView.state.selection.main;\n \n CodeMirror6Core.updateEditorView({\n changes: {\n from: 0,\n to: CodeMirror6Core._editorView.state.doc.length,\n insert: code\n },\n selection: {\n anchor: Math.min(currentSelection.anchor, code.length),\n head: Math.min(currentSelection.head, code.length)\n }\n });\n }\n } else {\n this._codeReceivedBeforeViewCreation = code;\n }\n }\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { CodeEditorComponent } from \"./code-editor.component\";\nimport { CoreFacade } from \"./core/facades/core-facade\";\nimport { CodeMirror6Core } from \"./infra/cores/codemirror-6/codemirror-6-core\";\nimport { CustomTranslationsModule } from \"./infra/utils/custom-translations/custom-translations.module\";\n\n@NgModule({\n imports: [CommonModule, CustomTranslationsModule],\n declarations: [CodeEditorComponent],\n exports: [CodeEditorComponent],\n providers: [\n {\n provide: CoreFacade,\n useClass: CodeMirror6Core,\n },\n ],\n})\nexport class CodeEditorModule {}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\n\n@Component({\n selector: \"s-collapse-link\",\n templateUrl: \"./collapse-link.component.html\",\n styleUrls: [\"./collapse-link.component.scss\"],\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"void\",\n style({\n height: 0,\n opacity: 0,\n })\n ),\n state(\n \"*\",\n style({\n height: \"*\",\n opacity: 1,\n })\n ),\n transition(\"void <=> *\", animate(\"400ms cubic-bezier(0.86, 0, 0.07, 1)\")),\n ]),\n ],\n})\nexport class CollapseLinkComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public buttonId = `s-collapse-button-${CollapseLinkComponent.nextId++}`;\n @Input()\n public expandedLabel = \"Mostrar menos\";\n @Input()\n public collapsedLabel = \"Mostrar mais\";\n @Input()\n public disabled = false;\n @Input()\n public collapse = true;\n\n public collapsed = true;\n public animating: boolean;\n\n constructor() {}\n\n public ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.collapse) {\n this.onCollapse(changes.collapse.currentValue);\n }\n }\n\n public toggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n public onCollapse(collapse: boolean) {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = collapse;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { CollapseLinkComponent } from \"./collapse-link.component\";\n\n@NgModule({\n declarations: [CollapseLinkComponent],\n exports: [CollapseLinkComponent],\n imports: [CommonModule],\n})\nexport class CollapseLinkModule {}\n","import { AbstractControl } from \"@angular/forms\";\nimport { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-control-errors\",\n templateUrl: \"./control-errors.component.html\",\n styleUrls: [\"./control-errors.component.scss\"],\n})\nexport class ControlErrorsComponent {\n public static nextId = 0;\n\n @Input()\n id = `s-control-errors-${ControlErrorsComponent.nextId++}`;\n @Input()\n control: AbstractControl;\n @Input()\n errorMessages: any = {};\n @Input()\n form: any;\n\n getErrorMessagesList() {\n if (!this.control || !this.control.dirty) {\n return [];\n }\n return Object.keys(this.control.errors || {}).map(error => this.errorMessages?.[error]);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n declarations: [ControlErrorsComponent],\n exports: [ControlErrorsComponent],\n})\nexport class ControlErrorsModule {}\n","import { CountryPhoneData } from \"../models/country-phone-data\";\n\nexport const countries: CountryPhoneData[] = [\n { id: \"gb\", ddi: \"+44\", mask: \"00-0000-0000\" },\n { id: \"br\", ddi: \"+55\", mask: [\"(00) 0000-00009\", \"(00) 00000-0000\"] },\n { id: \"ar\", ddi: \"+54\", mask: [\"(00) 0000-00009\", \"(000) 0000-0000\"] },\n { id: \"bo\", ddi: \"+591\", mask: \"0 000 0000\" },\n { id: \"cl\", ddi: \"+56\", mask: \"0 0000 0000\" },\n { id: \"co\", ddi: \"+57\", mask: [\"0 00000009\", \"000 0000000\"] },\n { id: \"cr\", ddi: \"+506\", mask: \"0000 0000\" },\n { id: \"cu\", ddi: \"+53\", mask: [\"000 0009\", \"00 000000\"] },\n { id: \"ec\", ddi: \"+593\", mask: [\"000 00009\", \"000 000 000\"] },\n { id: \"sv\", ddi: \"+503\", mask: \"0000 0000\" },\n { id: \"gt\", ddi: \"+502\", mask: \"0000 0000\" },\n { id: \"ht\", ddi: \"+509\", mask: \"0000 0000\" },\n { id: \"hn\", ddi: \"+504\", mask: \"0000-0000\" },\n { id: \"mx\", ddi: \"+52\", mask: [\"00 0000 00009\", \"0 00 0000 0000\"] },\n { id: \"ni\", ddi: \"+505\", mask: \"0000 0000\" },\n { id: \"pa\", ddi: \"+507\", mask: \"0000 0000\" },\n { id: \"py\", ddi: \"+595\", mask: [\"00 000 0009\", \"000 000000\"] },\n { id: \"pe\", ddi: \"+51\", mask: \"000 000 000\" },\n { id: \"do\", ddi: \"+1809\", mask: \"000 000-0000\" },\n { id: \"uy\", ddi: \"+598\", mask: [\"0000 00009\", \"0000 00000\"] },\n { id: \"ve\", ddi: \"+58\", mask: \"000-0000000\" },\n { id: \"us\", ddi: \"+1\", mask: \"000-000-0000\" },\n { id: \"ca\", ddi: \"+1\", mask: \"000-000-0000\" },\n { id: \"cn\", ddi: \"+86\", mask: \"000 0000 0000\" },\n { id: \"as\", ddi: \"+1684\", mask: \"000-0000\" },\n { id: \"ai\", ddi: \"+1264\", mask: \"000-0000\" },\n { id: \"ag\", ddi: \"+1268\", mask: \"000-0000\" },\n { id: \"bs\", ddi: \"+1242\", mask: \"000-0000\" },\n { id: \"bb\", ddi: \"+1246\", mask: \"000-0000\" },\n { id: \"bm\", ddi: \"+1441\", mask: \"000-0000\" },\n { id: \"vg\", ddi: \"+1284\", mask: \"000-0000\" },\n { id: \"ky\", ddi: \"+1345\", mask: \"000-0000\" },\n { id: \"dm\", ddi: \"+1767\", mask: \"000-0000\" },\n { id: \"gd\", ddi: \"+1473\", mask: \"000-0000\" },\n { id: \"gu\", ddi: \"+1671\", mask: \"000-0000\" },\n { id: \"jm\", ddi: \"+1876\", mask: \"000-0000\" },\n { id: \"ms\", ddi: \"+1664\", mask: \"000-0000\" },\n { id: \"mp\", ddi: \"+1670\", mask: \"000-0000\" },\n { id: \"pr\", ddi: \"+1\", mask: \"000-0000\" },\n { id: \"kn\", ddi: \"+1869\", mask: \"000-0000\" },\n { id: \"lc\", ddi: \"+1758\", mask: \"000-0000\" },\n { id: \"vc\", ddi: \"+1784\", mask: \"000-0000\" },\n { id: \"tt\", ddi: \"+1868\", mask: \"000-0000\" },\n { id: \"tc\", ddi: \"+1649\", mask: \"000-0000\" },\n { id: \"fi\", ddi: \"+358\", mask: \"000 0000000\" },\n { id: \"rs\", ddi: \"+381\", mask: \"000 0000000\" },\n { id: \"zm\", ddi: \"+260\", mask: \"000 0000000\" },\n { id: \"af\", ddi: \"+93\", mask: \"000 000 0000\" },\n { id: \"al\", ddi: \"+355\", mask: \"000 000 0000\" },\n { id: \"hr\", ddi: \"+385\", mask: \"000 000 0000\" },\n { id: \"et\", ddi: \"+251\", mask: \"000 000 0000\" },\n { id: \"gh\", ddi: \"+233\", mask: \"000 000 0000\" },\n { id: \"gr\", ddi: \"+30\", mask: \"000 000 0000\" },\n { id: \"ie\", ddi: \"+353\", mask: \"000 000 0000\" },\n { id: \"it\", ddi: \"+39\", mask: \"000 000 0000\" },\n { id: \"lr\", ddi: \"+231\", mask: \"000 000 0000\" },\n { id: \"na\", ddi: \"+264\", mask: \"000 000 0000\" },\n { id: \"nz\", ddi: \"+64\", mask: \"000 000 0000\" },\n { id: \"sa\", ddi: \"+966\", mask: \"000 000 0000\" },\n { id: \"za\", ddi: \"+27\", mask: \"000 000 0000\" },\n { id: \"lk\", ddi: \"+94\", mask: \"000 000 0000\" },\n { id: \"sd\", ddi: \"+249\", mask: \"000 000 0000\" },\n { id: \"th\", ddi: \"+66\", mask: \"000 000 0000\" },\n { id: \"ua\", ddi: \"+380\", mask: \"000 000 0000\" },\n { id: \"ae\", ddi: \"+971\", mask: \"000 000 0000\" },\n { id: \"va\", ddi: \"+39\", mask: \"000 000 0000\" },\n { id: \"zw\", ddi: \"+263\", mask: \"000 000 0000\" },\n { id: \"dz\", ddi: \"+213\", mask: \"0000 00 00 00\" },\n { id: \"be\", ddi: \"+32\", mask: \"0000 00 00 00\" },\n { id: \"yt\", ddi: \"+262\", mask: \"0000 00 00 00\" },\n { id: \"bl\", ddi: \"+590\", mask: \"0000 00 00 00\" },\n { id: \"mf\", ddi: \"+1599\", mask: \"0000 00 00 00\" },\n { id: \"ad\", ddi: \"+376\", mask: \"000-000\" },\n { id: \"ao\", ddi: \"+244\", mask: \"000 000 000\" },\n { id: \"ba\", ddi: \"+387\", mask: \"000 000 000\" },\n { id: \"bg\", ddi: \"+359\", mask: \"000 000 000\" },\n { id: \"kh\", ddi: \"+855\", mask: \"000 000 000\" },\n { id: \"cz\", ddi: \"+420\", mask: \"000 000 000\" },\n { id: \"gq\", ddi: \"+240\", mask: \"000 000 000\" },\n { id: \"gw\", ddi: \"+245\", mask: \"000 000 000\" },\n { id: \"li\", ddi: \"+423\", mask: \"000 000 000\" },\n { id: \"lu\", ddi: \"+352\", mask: \"000 000 000\" },\n { id: \"mk\", ddi: \"+389\", mask: \"000 000 000\" },\n { id: \"me\", ddi: \"+382\", mask: \"000 000 000\" },\n { id: \"pl\", ddi: \"+48\", mask: \"000 000 000\" },\n { id: \"pt\", ddi: \"+351\", mask: \"000 000 000\" },\n { id: \"si\", ddi: \"+386\", mask: \"000 000 000\" },\n { id: \"am\", ddi: \"+374\", mask: \"000 000000\" },\n { id: \"aw\", ddi: \"+297\", mask: \"000 0000\" },\n { id: \"bn\", ddi: \"+673\", mask: \"000 0000\" },\n { id: \"fj\", ddi: \"+679\", mask: \"000 0000\" },\n { id: \"gm\", ddi: \"+220\", mask: \"000 0000\" },\n { id: \"gy\", ddi: \"+592\", mask: \"000 0000\" },\n { id: \"is\", ddi: \"+354\", mask: \"000 0000\" },\n { id: \"fm\", ddi: \"+691\", mask: \"000 0000\" },\n { id: \"nr\", ddi: \"+674\", mask: \"000 0000\" },\n { id: \"nu\", ddi: \"+683\", mask: \"000 0000\" },\n { id: \"pw\", ddi: \"+680\", mask: \"000 0000\" },\n { id: \"st\", ddi: \"+239\", mask: \"000 0000\" },\n { id: \"to\", ddi: \"+676\", mask: \"000 0000\" },\n { id: \"vu\", ddi: \"+678\", mask: \"000 0000\" },\n { id: \"fk\", ddi: \"+500\", mask: \"00000\" },\n { id: \"fo\", ddi: \"+298\", mask: \"00000\" },\n { id: \"sh\", ddi: \"+290\", mask: \"00000\" },\n { id: \"au\", ddi: \"+61\", mask: \"0000 000 000\" },\n { id: \"cx\", ddi: \"+61\", mask: \"0000 000 000\" }, \n { id: \"cc\", ddi: \"+61\", mask: \"0000 000 000\" },\n { id: \"cd\", ddi: \"+243\", mask: \"0000 000 000\" },\n { id: \"kg\", ddi: \"+996\", mask: \"0000 000 000\" },\n { id: \"ro\", ddi: \"+40\", mask: \"0000 000 000\" },\n { id: \"rw\", ddi: \"+250\", mask: \"0000 000 000\" },\n { id: \"sk\", ddi: \"+421\", mask: \"0000 000 000\" },\n { id: \"sy\", ddi: \"+963\", mask: \"0000 000 000\" },\n { id: \"tw\", ddi: \"+886\", mask: \"0000 000 000\" },\n { id: \"tz\", ddi: \"+255\", mask: \"0000 000 000\" },\n { id: \"ye\", ddi: \"+967\", mask: \"0000 000 000\" },\n { id: \"at\", ddi: \"+43\", mask: \"0000 000000\" },\n { id: \"ke\", ddi: \"+254\", mask: \"0000 000000\" },\n { id: \"ug\", ddi: \"+256\", mask: \"0000 000000\" },\n { id: \"az\", ddi: \"+994\", mask: \"000 000 00 00\" },\n { id: \"ch\", ddi: \"+41\", mask: \"000 000 00 00\" },\n { id: \"vn\", ddi: \"+84\", mask: \"000 000 00 00\" },\n { id: \"bh\", ddi: \"+973\", mask: \"0000 0000\" },\n { id: \"ee\", ddi: \"+372\", mask: \"0000 0000\" },\n { id: \"sz\", ddi: \"+268\", mask: \"0000 0000\" },\n { id: \"hk\", ddi: \"+852\", mask: \"0000 0000\" },\n { id: \"ls\", ddi: \"+266\", mask: \"0000 0000\" },\n { id: \"mo\", ddi: \"+853\", mask: \"0000 0000\" },\n { id: \"mt\", ddi: \"+356\", mask: \"0000 0000\" },\n { id: \"mu\", ddi: \"+230\", mask: \"0000 0000\" },\n { id: \"mn\", ddi: \"+976\", mask: \"0000 0000\" },\n { id: \"om\", ddi: \"+968\", mask: \"0000 0000\" },\n { id: \"pg\", ddi: \"+675\", mask: \"0000 0000\" },\n { id: \"qa\", ddi: \"+974\", mask: \"0000 0000\" },\n { id: \"sg\", ddi: \"+65\", mask: \"0000 0000\" },\n { id: \"tl\", ddi: \"+670\", mask: \"0000 0000\" }, \n { id: \"bd\", ddi: \"+880\", mask: \"00000 000000\" },\n { id: \"im\", ddi: \"+44\", mask: \"00000 000000\" },\n { id: \"by\", ddi: \"+375\", mask: \"0 000 000-00-00\" },\n { id: \"bz\", ddi: \"+501\", mask: \"000-0000\" },\n { id: \"mv\", ddi: \"+960\", mask: \"000-0000\" },\n { id: \"mh\", ddi: \"+692\", mask: \"000-0000\" },\n { id: \"sr\", ddi: \"+597\", mask: \"000-0000\" },\n { id: \"bj\", ddi: \"+229\", mask: \"00 00 00 00\" },\n { id: \"bt\", ddi: \"+975\", mask: \"00 00 00 00\" },\n { id: \"bf\", ddi: \"+226\", mask: \"00 00 00 00\" },\n { id: \"bi\", ddi: \"+257\", mask: \"00 00 00 00\" },\n { id: \"cf\", ddi: \"+236\", mask: \"00 00 00 00\" },\n { id: \"td\", ddi: \"+235\", mask: \"00 00 00 00\" },\n { id: \"ci\", ddi: \"+225\", mask: \"00 00 00 00\" },\n { id: \"dk\", ddi: \"+45\", mask: \"00 00 00 00\" },\n { id: \"dj\", ddi: \"+253\", mask: \"00 00 00 00\" },\n { id: \"fr\", ddi: \"+33\", mask: \"00 00 00 00\" },\n { id: \"pf\", ddi: \"+689\", mask: \"00 00 00 00\" },\n { id: \"ga\", ddi: \"+241\", mask: \"00 00 00 00\" },\n { id: \"ml\", ddi: \"+223\", mask: \"00 00 00 00\" },\n { id: \"mr\", ddi: \"+222\", mask: \"00 00 00 00\" },\n { id: \"ne\", ddi: \"+227\", mask: \"00 00 00 00\" },\n { id: \"sm\", ddi: \"+378\", mask: \"00 00 00 00\" },\n { id: \"tg\", ddi: \"+228\", mask: \"00 00 00 00\" },\n { id: \"gi\", ddi: \"+350\", mask: \"00000000\" },\n { id: \"ki\", ddi: \"+686\", mask: \"00000000\" },\n { id: \"tv\", ddi: \"+688\", mask: \"00000000\" },\n { id: \"bw\", ddi: \"+267\", mask: \"00 000 000\" },\n { id: \"er\", ddi: \"+291\", mask: \"00 000 000\" },\n { id: \"lv\", ddi: \"+371\", mask: \"00 000 000\" },\n { id: \"lb\", ddi: \"+961\", mask: \"00 000 000\" },\n { id: \"tn\", ddi: \"+216\", mask: \"00 000 000\" },\n { id: \"cm\", ddi: \"+237\", mask: \"0 00 00 00 00\" },\n { id: \"cv\", ddi: \"+238\", mask: \"000 00 00\" },\n { id: \"km\", ddi: \"+269\", mask: \"000 00 00\" },\n { id: \"pm\", ddi: \"+508\", mask: \"000 00 00\" },\n { id: \"cg\", ddi: \"+242\", mask: \"00 000 0000\" },\n { id: \"mz\", ddi: \"+258\", mask: \"00 000 0000\" },\n { id: \"mm\", ddi: \"+95\", mask: \"00 000 0000\" },\n { id: \"ck\", ddi: \"+682\", mask: \"00 000\" },\n { id: \"cy\", ddi: \"+357\", mask: \"00 000000\" },\n { id: \"eg\", ddi: \"+20\", mask: \"0000 000 0000\" },\n { id: \"ir\", ddi: \"+98\", mask: \"0000 000 0000\" },\n { id: \"iq\", ddi: \"+964\", mask: \"0000 000 0000\" },\n { id: \"ng\", ddi: \"+234\", mask: \"0000 000 0000\" },\n { id: \"kp\", ddi: \"+850\", mask: \"0000 000 0000\" },\n { id: \"ph\", ddi: \"+63\", mask: \"0000 000 0000\" },\n { id: \"ge\", ddi: \"+995\", mask: \"000 00 00 00\" },\n { id: \"gn\", ddi: \"+224\", mask: \"000 00 00 00\" },\n { id: \"es\", ddi: \"+34\", mask: \"000 00 00 00\" },\n { id: \"de\", ddi: \"+49\", mask: \"00000 0000000\" },\n { id: \"gl\", ddi: \"+299\", mask: \"00 00 00\" },\n { id: \"wf\", ddi: \"+681\", mask: \"00 00 00\" },\n { id: \"hu\", ddi: \"+36\", mask: \"(00) 000 0000\" },\n { id: \"in\", ddi: \"+91\", mask: \"000000 00000\" },\n { id: \"id\", ddi: \"+62\", mask: \"0000-000-000\" },\n { id: \"il\", ddi: \"+972\", mask: \"000-000-0000\" },\n { id: \"jp\", ddi: \"+81\", mask: \"000-000-0000\" },\n { id: \"jo\", ddi: \"+962\", mask: \"00 0000 0000\" },\n { id: \"kz\", ddi: \"+7\", mask: \"0 (000) 000-0000\" },\n { id: \"kw\", ddi: \"+965\", mask: \"000 00000\" },\n { id: \"la\", ddi: \"+856\", mask: \"000 00 000 000\" },\n { id: \"ly\", ddi: \"+218\", mask: \"000-0000000\" },\n { id: \"lt\", ddi: \"+370\", mask: \"(0-000) 00000\" },\n { id: \"np\", ddi: \"+977\", mask: \"(0-000) 00000\" },\n { id: \"mg\", ddi: \"+261\", mask: \"000 00 000 00\" },\n { id: \"mw\", ddi: \"+265\", mask: \"000 00 000 00\" },\n { id: \"my\", ddi: \"+60\", mask: \"000-000 0000\" },\n { id: \"md\", ddi: \"+373\", mask: \"0000 00 000\" },\n { id: \"mc\", ddi: \"+377\", mask: \"00 00 00 00 00\" },\n { id: \"ma\", ddi: \"+212\", mask: \"0000-000000\" },\n { id: \"nl\", ddi: \"+31\", mask: \"00 00000000\" },\n { id: \"nc\", ddi: \"+687\", mask: \"00.00.00\" },\n { id: \"no\", ddi: \"+47\", mask: \"000 00 000\" },\n { id: \"pk\", ddi: \"+92\", mask: \"0000 0000000\" },\n { id: \"ru\", ddi: \"+7\", mask: \"0 (000) 000-00-00\" },\n { id: \"ws\", ddi: \"+685\", mask: \"00 00000\" },\n { id: \"sb\", ddi: \"+677\", mask: \"00 00000\" },\n { id: \"sn\", ddi: \"+221\", mask: \"00 000 00 00\" },\n { id: \"sc\", ddi: \"+248\", mask: \"0 000 000\" },\n { id: \"sl\", ddi: \"+232\", mask: \"(000) 000000\" },\n { id: \"so\", ddi: \"+252\", mask: \"0 0000000\" },\n { id: \"kr\", ddi: \"+82\", mask: \"000-0000-0000\" },\n { id: \"se\", ddi: \"+46\", mask: \"000-000 00 00\" },\n { id: \"tj\", ddi: \"+992\", mask: \"000 00 0000\" },\n { id: \"tk\", ddi: \"+690\", mask: \"0000\" },\n { id: \"tr\", ddi: \"+90\", mask: \"0000 000 00 00\" },\n { id: \"tm\", ddi: \"+993\", mask: \"0 00 000000\" }, \n { id: \"uz\", ddi: \"+998\", mask: \"0 00 000 00 00\" },\n];","export enum Ordination {\n NO = \"no\",\n AZ = \"az\",\n ZA = \"za\",\n}","import { Injectable } from \"@angular/core\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { CountryPhoneData } from \"./models/country-phone-data\";\nimport { countries } from \"./resources/countries\";\nimport { Ordination } from \"./models/ordination\";\n\n@Injectable()\nexport class CountryPhonePickerService {\n constructor(private readonly translate: TranslateService) { }\n\n public getCountries(ordination: Ordination) {\n switch (ordination) {\n case Ordination.AZ:\n return this.sortAlphabetically();\n case Ordination.ZA:\n return this.sortAlphabeticallyDescending();\n case Ordination.NO:\n default:\n return countries;\n }\n }\n\n private sortAlphabetically(): CountryPhoneData[] {\n return countries.sort((a: CountryPhoneData, b: CountryPhoneData) => {\n const aName = this.translate.instant(`platform.angular_components_${a.id}`);\n const bName = this.translate.instant(`platform.angular_components_${b.id}`);\n\n return aName.localeCompare(bName);\n });\n }\n\n private sortAlphabeticallyDescending(): CountryPhoneData[] {\n return countries.sort((a: CountryPhoneData, b: CountryPhoneData) => {\n const aName = this.translate.instant(`platform.angular_components_${a.id}`);\n const bName = this.translate.instant(`platform.angular_components_${b.id}`);\n\n return bName.localeCompare(aName);\n });\n }\n}","export const Breakpoints = {\n SM_MIN: 0 as const,\n SM_MAX: 767 as const,\n MD_MIN: 768 as const,\n MD_MAX: 991 as const,\n LG_MIN: 992 as const,\n LG_MAX: 1199 as const,\n XL_MIN: 1200 as const,\n XL_MAX: Infinity,\n};\n","import { ElementRef } from \"@angular/core\";\n\nexport class ExportUtils {\n constructor() {\n throw new Error(\"Classe não deve ser instanciada.\");\n }\n\n public static addClass(element: ElementRef, className: string) {\n element.nativeElement.className = `${element.nativeElement.className} ${className}`;\n }\n\n public static removeClass(element: ElementRef, className: string) {\n if (element.nativeElement.className.includes(className)) {\n element.nativeElement.className = element.nativeElement.className.replace(className, \"\");\n }\n }\n\n public static exportCSV(\n columns: Partial<any>[] = [],\n data: any[] = [],\n csvSeparator: string = \";\",\n documentName: string = \"download\"\n ) {\n let csv = \"\\ufeff\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n csv += `\"${column.header || column.field}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n\n data.forEach((record: any) => {\n csv += \"\\n\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n let cellData;\n if (Array.isArray(column.field)) {\n const fieldValues = column.field.map((col: string) => this.resolveFieldData(record, col));\n\n cellData = fieldValues\n .flat()\n .filter((value: string) => value !== null && value !== undefined)\n .join(column.separator);\n } else {\n cellData = this.resolveFieldData(record, column.field);\n }\n\n if (cellData != null) cellData = String(cellData).replace(/\"/g, `\"\"`);\n else cellData = \"\";\n\n csv += `\"${cellData}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n });\n\n const blob = new Blob([csv], {\n type: \"text/csv;charset=utf-8;\",\n });\n\n if (window.navigator.msSaveOrOpenBlob) navigator.msSaveOrOpenBlob(blob, documentName + \".csv\");\n else {\n const link = document.createElement(\"a\");\n link.style.display = \"none\";\n document.body.appendChild(link);\n if (link.download !== undefined) {\n link.setAttribute(\"href\", URL.createObjectURL(blob));\n link.setAttribute(\"download\", documentName + \".csv\");\n link.click();\n } else {\n csv = \"data:text/csv;charset=utf-8,\" + csv;\n window.open(encodeURI(csv));\n }\n document.body.removeChild(link);\n }\n }\n\n private static resolveFieldData(data: any, field: any): any {\n if (data && field) {\n if (this.isFunction(field)) return field(data);\n else if (field.indexOf(\".\") == -1) return data[field];\n else {\n const fields: string[] = field.split(\".\");\n let value = data;\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[fields[i]];\n }\n return value;\n }\n } else return null;\n }\n\n private static isFunction(obj: any) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n}\n","export const convertToMomentDateFormat = (format: string): string => {\n // A ordem dos replaces é importante.\n return format\n .replace(/\\bd\\b/, \"D\") // day of month (no leading zero)\n .replace(/\\bdd\\b/, \"DD\") // day of month\n .replace(/\\bo\\b/, \"DDD\") // day of the year (no leading zero)\n .replace(/\\boo\\b/, \"DDDD\") // day of the year\n .replace(/\\bM\\b/, \"MMM\") // month name short\n .replace(/\\bMM\\b/, \"MMMM\") // month name long\n .replace(/\\bm\\b/, \"M\") // month of year (no leading)\n .replace(/\\bmm\\b/, \"MM\") // month of year\n .replace(/\\by\\b/, \"YY\") // year (two digits)\n .replace(/\\byy\\b/, \"YYYY\"); // year (four digits)\n}","import { DomPortalOutlet, TemplatePortal } from \"@angular/cdk/portal\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Output,\n PLATFORM_ID,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from \"@angular/core\";\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { isNullOrUndefined } from \"../utils\";\nimport { CountryPhonePickerService } from \"./country-phone-picker.service\";\nimport { CountryPhoneData, Ordination } from \"./models\";\nimport { PhoneSelectionData } from \"./models/phone-selection-data\";\n\n@Component({\n selector: \"s-country-phone-picker\",\n templateUrl: \"./country-phone-picker.component.html\",\n styleUrls: [\"./country-phone-picker.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CountryPhonePickerComponent),\n multi: true,\n },\n ],\n})\nexport class CountryPhonePickerComponent implements OnInit, ControlValueAccessor {\n public mask: string;\n public selectedItem: CountryPhoneData;\n public currentItemIndex = 0;\n public filteredCountriesList: CountryPhoneData[];\n public phone = new FormControl(\"\");\n public filter = new FormControl(\"\");\n public dropTop = 0;\n public dropLeft = 0;\n\n private _value: PhoneSelectionData;\n private _onChange: (value: PhoneSelectionData) => void;\n private _onTouched: (value: PhoneSelectionData) => void;\n private _countriesList: CountryPhoneData[];\n private _open = false;\n private offsetTop = 0;\n private _portalHost: DomPortalOutlet;\n\n\n constructor(\n private readonly _countryPhonePickerService: CountryPhonePickerService,\n private readonly _translate: TranslateService,\n private readonly _eRef: ElementRef,\n @Inject(PLATFORM_ID) private platformId: Object,\n ) {}\n\n @ViewChild(\"dropdownTemplate\")\n public dropdownTemplate: TemplateRef<any>;\n\n @ViewChild(\"dropElement\", { read: ViewContainerRef })\n public viewContainerRef: ViewContainerRef;\n\n @ViewChild(\"dropElement\", { read: ElementRef })\n public dropElement: ElementRef;\n\n @ViewChild(\"#dropdownContainer\", { read: ElementRef })\n public dropdownContainer: ElementRef;\n\n public get value() {\n return this._value;\n }\n\n public set value(value: PhoneSelectionData) {\n this._value = value;\n this.mask = this.getMask();\n }\n\n public writeValue(value: PhoneSelectionData): void {\n this.value = value;\n\n if (value?.id) {\n const country = this._countriesList.filter(({ id }) => id == value.id);\n if (country.length) {\n this.onSelectItem(country[0]);\n }\n }\n\n if (value?.rawValue) {\n this.phone.setValue(value.rawValue);\n }\n }\n\n public registerOnChange(onChange: (value: PhoneSelectionData) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: PhoneSelectionData) => void): void {\n this._onTouched = onTouched;\n }\n\n @Input()\n public countries: string[];\n\n @Input()\n public ordination: Ordination = Ordination.NO;\n\n @Output()\n public selected: EventEmitter<CountryPhoneData> = new EventEmitter();\n\n /**\n * @deprecated Use focusLost event instead.\n */\n @Output()\n public blur: EventEmitter<PhoneSelectionData> = new EventEmitter();\n\n @Output()\n public focusLost: EventEmitter<PhoneSelectionData> = new EventEmitter();\n\n @ViewChild(\"phoneInput\", { static: true })\n public phoneInput: ElementRef;\n\n @HostListener(\"document:click\", [\"$event\"])\n public onClickout(event: MouseEvent) {\n if (!this._eRef.nativeElement.contains(event.target)) {\n if (this.open) {\n this.open = false;\n }\n }\n }\n\n public ngOnInit(): void {\n const countries = this._countryPhonePickerService.getCountries(this.ordination);\n this.filter.valueChanges.subscribe(this._filterCountries);\n\n if (this.countries?.length) {\n this._countriesList = countries.filter((country) => this.countries.includes(country.id));\n } else {\n this._countriesList = countries;\n }\n this.filteredCountriesList = this._countriesList;\n this.selectedItem = this._getSelectedCountryDefault();\n this.mask = this.getMask();\n\n this.phone.valueChanges.subscribe((value) => {\n this.value = {\n id: this.selectedItem.id,\n ddi: this.selectedItem.ddi,\n rawValue: value ?? \"\",\n value: value ? `${this._applyMask(value)}` : \"\",\n };\n if (this._onChange) {\n this._onChange(this.value);\n }\n });\n }\n\n @HostBinding(\"attr.tabindex\")\n public tabindex = 0;\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent) {\n if (event.key === \"Enter\" || event.key === \" \") {\n if (this.open) {\n this.selectedItem = this._countriesList[this.currentItemIndex];\n this.selected.emit(this.selectedItem);\n }\n this.open = !this.open;\n } else if (event.key === \"Escape\") {\n this.open = false;\n } else if (event.key === \"ArrowDown\") {\n this._moveToDown();\n } else if (event.key === \"ArrowUp\") {\n this._moveToUp();\n }\n }\n\n public get open() {\n return this._open;\n }\n\n public set open(open: boolean) {\n this._open = open;\n\n if (open) {\n this._createDropdownPortal();\n } else {\n if (this._portalHost && this._portalHost.hasAttached()) {\n this._portalHost.detach();\n }\n this.phoneInput.nativeElement.focus();\n }\n }\n\n public onSelectItem(country: CountryPhoneData) {\n this.open = false;\n this.selectedItem = country;\n this.phone.setValue(\"\");\n this.currentItemIndex = this._countriesList.indexOf(this.selectedItem);\n this.selected.emit(this.selectedItem);\n }\n\n public onCleanFilter() {\n this.filter.setValue(\"\");\n }\n\n public onPhoneInputFocus() {\n this.open = false;\n }\n\n public getMask() {\n const mask = this.selectedItem.mask;\n\n if (Array.isArray(mask)) {\n return !this.value?.rawValue || this.value.rawValue.length <= mask[0].replace(/[^0]/g, \"\").length\n ? mask[0] // fixo\n : mask[1]; // celular\n } else {\n return mask;\n }\n }\n\n public getPlaceholder() {\n return this.mask.replace(/9/g, \"\");\n }\n\n public onBlur(value: PhoneSelectionData) {\n this.blur.emit(value);\n this.focusLost.emit(value);\n }\n\n private _getSelectedCountryDefault() {\n if (!this._countriesList.length) {\n throw new Error(\"No country loaded\");\n }\n\n const filteredByBr = this._countriesList.filter((country: CountryPhoneData) => country.id === \"br\");\n\n return filteredByBr.length ? filteredByBr[0] : this._countriesList[0];\n }\n\n private _filterCountries = (value: string) => {\n if (!value) {\n this.filteredCountriesList = this._countriesList;\n } else {\n this.filteredCountriesList = this._countriesList.filter((country) => {\n const countryName = this._translate.instant(`platform.angular_components.country_name_${country.id}`) as string;\n return countryName.toLowerCase().includes(value.toLowerCase());\n });\n }\n };\n\n private _moveToUp() {\n if (this.currentItemIndex == 0) {\n return;\n }\n\n this.currentItemIndex--;\n\n const selectList: any = document.querySelector(\".select-list\");\n const item = selectList.children[this.currentItemIndex];\n\n if (item.offsetTop - selectList.offsetTop <= this.offsetTop) {\n this.offsetTop -= 45;\n selectList.scrollTo(0, this.offsetTop);\n }\n }\n\n private _moveToDown() {\n if (this.currentItemIndex >= this._countriesList.length - 1) {\n return;\n }\n\n this.currentItemIndex++;\n\n const selectList: any = document.querySelector(\".select-list\");\n const item = selectList.children[this.currentItemIndex];\n\n if (item.offsetTop - selectList.offsetTop > this.offsetTop + 180) {\n this.offsetTop += 45;\n selectList.scrollTo(0, this.offsetTop);\n }\n }\n\n private _applyMask(value: string) {\n let mask;\n\n if (Array.isArray(this.selectedItem.mask)) {\n const rawMask = this.selectedItem.mask[0].replace(/[^0]/g, \"\");\n mask = value.length <= rawMask.length ? this.selectedItem.mask[0] + \"\\0\" : this.selectedItem.mask[1] + \"\\0\";\n } else {\n mask = this.selectedItem.mask + \"\\0\";\n }\n\n let tokens = \"\";\n let replace = \"\";\n let acumulador = 0;\n let contador = 0;\n\n for (const token of mask) {\n if (isNaN(parseInt(token))) {\n if (acumulador) {\n tokens += `(\\\\d{${acumulador}})`;\n replace += `$${++contador}`;\n acumulador = 0;\n }\n\n if (token !== \"\\0\") {\n replace += token;\n }\n } else {\n acumulador++;\n }\n }\n\n tokens = `^${tokens}*`;\n return this.phone.value.replace(new RegExp(tokens), replace);\n }\n\n private _createDropdownPortal(): void {\n if (!isPlatformBrowser(this.platformId) || isNullOrUndefined(this.dropElement)) return;\n\n const bodyElement = document.body;\n const dropElementRect = this.dropElement.nativeElement.getBoundingClientRect();\n\n this.dropTop = dropElementRect.bottom + window.scrollY;\n this.dropLeft = dropElementRect.left + window.scrollX;\n\n this._portalHost = new DomPortalOutlet(bodyElement, null, null, null);\n const portal = new TemplatePortal(this.dropdownTemplate, this.viewContainerRef);\n this._portalHost.attach(portal);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { PortalModule } from \"@angular/cdk/portal\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { NgxMaskModule } from \"ngx-mask\";\n\nimport { CountryPhonePickerService } from \"./country-phone-picker.service\";\nimport { CountryPhonePickerComponent } from \"./country-phone-picker.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n NgxMaskModule.forRoot(),\n PortalModule,\n ],\n declarations: [CountryPhonePickerComponent],\n exports: [CountryPhonePickerComponent],\n providers: [CountryPhonePickerService],\n})\nexport class CountryPhonePickerModule { }","import { FormControl } from \"@angular/forms\";\n\nimport { AutocompleteField } from \"../../configurations/fields/autocomplete-field\";\nimport { BlobField } from \"../../configurations/fields/blob-field\";\nimport { BooleanField } from \"../../configurations/fields/boolean-field\";\nimport { CalendarField } from \"../../configurations/fields/calendar-field\";\nimport { CheckboxField } from \"../../configurations/fields/checkbox-field\";\nimport { ChipsField } from \"../../configurations/fields/chips-field\";\nimport { CountryPhonePickerField } from \"../../configurations/fields/country-phone-picker-field\";\nimport { CurrencyField } from \"../../configurations/fields/currency-field\";\nimport { EditorField } from \"../../configurations/fields/editor-field\";\nimport { LookupField } from \"../../configurations/fields/lookup-field\";\nimport { NumberField } from \"../../configurations/fields/number-field\";\nimport { PasswordField } from \"../../configurations/fields/password-field\";\nimport { RadioButtonField } from \"../../configurations/fields/radio-button-field\";\nimport { SelectField } from \"../../configurations/fields/select-field\";\nimport { SliderField } from \"../../configurations/fields/slider-field\";\nimport { TextAreaField } from \"../../configurations/fields/text-area-field\";\nimport { TextAreaIAField } from \"../../configurations/fields/text-area-ia-field\";\nimport { TextField } from \"../../configurations/fields/text-field\";\n\nexport interface BaseFieldComponentConfig {\n field:\n | AutocompleteField\n | BooleanField\n | BlobField\n | CalendarField\n | CheckboxField\n | ChipsField\n | CountryPhonePickerField\n | CurrencyField\n | EditorField\n | LookupField\n | NumberField\n | PasswordField\n | RadioButtonField\n | SelectField\n | SliderField\n | TextAreaField\n | TextAreaIAField\n | TextField;\n formControl: FormControl;\n}\n\nexport class BaseFieldComponent {\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public trigger(callback: any) {\n return callback();\n }\n}\n","export enum FieldType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Blob = \"Blob\",\n Boolean = \"Boolean\",\n Checkbox = \"Checkbox\",\n Chips = \"Chips\",\n CodeEditor = \"CodeEditor\",\n CountryPhonePicker = \"CountryPhonePicker\",\n Custom = \"Custom\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n Editor = \"Editor\",\n Enum = \"Enum\",\n Integer = \"Integer\",\n LocalDateTime = \"LocalDateTime\",\n Lookup = \"Lookup\",\n Money = \"Money\",\n Number = \"Number\",\n Password = \"Password\",\n Radio = \"Radio\",\n Slider = \"Slider\",\n String = \"String\",\n Text = \"Text\",\n TextIA = \"TextIA\",\n Time = \"Time\",\n ProfilePicture = \"ProfilePicture\",\n Button = \"Button\",\n}\n","export class FieldSize {\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n\n constructor({ sm = 12, md = 6, lg = 6, xl = 6 }: FieldSize) {\n this.sm = sm;\n this.md = md;\n this.lg = lg;\n this.xl = xl;\n }\n}\n","import { TemplateRef } from \"@angular/core\";\nimport { FieldSize } from \"../field-size\";\nimport { FieldType } from \"../field-type\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { FormField } from \"../form-field\";\n\nexport interface FieldConfig {\n defaultValue?: any;\n required?: () => boolean;\n visible?: () => boolean;\n id?: string;\n name: string;\n label: string;\n infoSign?: string;\n tooltip?: string;\n placeholder?: string;\n showClear?: boolean;\n type?: FieldType;\n size?: FieldSize;\n representedBy?: \"radio\" | \"switch\";\n errorMessages?: () => ({}) | {};\n bottomTemplate?: TemplateRef<Element>;\n footer?: {\n help?: {\n text: string;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n link?: {\n label: string;\n onClick: (options: { abstractControl: AbstractControl, formField: FormField }) => void;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n };\n CustomFieldClass?: unknown;\n CustomFieldComponentClass?: unknown;\n displayTimeInfoSign?: number;\n sortableColumnName?: string\n useInfoSignFocusedInputRef?: boolean;\n ignoreLabel?: boolean\n}\n\nexport abstract class Field {\n public required?: () => boolean;\n public visible?: () => boolean;\n public id?: string;\n public name: string;\n public label: string;\n public infoSign?: string;\n public tooltip?: string;\n public placeholder?: string;\n public showClear?: boolean;\n public type: FieldType;\n public size: FieldSize;\n public defaultValue?: any;\n public representedBy?: \"radio\" | \"switch\";\n public errorMessages?: () => ({}) | {};\n public bottomTemplate?: TemplateRef<Element>;\n public CustomFieldClass?: unknown;\n public CustomFieldComponentClass?: unknown;\n public displayTimeInfoSign?: number;\n public sortableColumnName?: string\n public footer?: {\n help?: {\n text: string;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n link?: {\n label: string;\n onClick: (options: { abstractControl: AbstractControl, formField: FormField }) => void;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n };\n public useInfoSignFocusedInputRef?: boolean;\n\n /**\n * In some cases DynamicFormField use a custom field that alredy exists, this happen in CustomFields when convert 'Integer, Double & Money' types to 'Custom' this create two labels. activate this property hide the parent label.\n */\n ignoreLabel? = false;\n\n constructor(config: FieldConfig) {\n if (config.footer?.help) {\n config.footer.help = {\n visible: () => true,\n ...config.footer?.help\n }\n }\n\n if (config.footer?.link) {\n config.footer.link = {\n visible: () => true,\n ...config.footer?.link\n }\n }\n\n this.required = config.required || (() => false);\n this.visible = config.visible || (() => true);\n this.id = config.id;\n this.name = config.name;\n this.label = config.label;\n this.infoSign = config.infoSign;\n this.tooltip = config.tooltip;\n this.placeholder = config.placeholder || \"\";\n this.showClear = config.showClear || false;\n this.type = config.type;\n this.size = new FieldSize(config.size || {});\n this.errorMessages = config.errorMessages;\n this.bottomTemplate = config.bottomTemplate;\n this.footer = config.footer;\n this.defaultValue = config.defaultValue;\n this.representedBy = config.representedBy;\n this.CustomFieldClass = config.CustomFieldClass;\n this.CustomFieldComponentClass = config.CustomFieldComponentClass;\n this.displayTimeInfoSign = config.displayTimeInfoSign ?? 5000;\n this.useInfoSignFocusedInputRef = config.useInfoSignFocusedInputRef ?? true;\n this.ignoreLabel = config.ignoreLabel ?? false;\n }\n\n get gridClass() {\n return Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);\n }\n}\n","import { Observable } from \"rxjs\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface AutocompleteFieldConfig extends FieldConfig {\n dataKey?: string;\n displayField?: string;\n multiple?: boolean;\n appendTo?: string;\n emptyMessage?: string;\n suggestionsObservable: Observable<any>;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onSearch: (value: string) => void;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class AutocompleteField extends Field {\n public dataKey: string;\n public displayField?: string;\n public multiple?: boolean;\n public appendTo?: string;\n public emptyMessage?: string;\n public suggestionsObservable: Observable<any>;\n public suggestions: any[] = [];\n\n public onSelect?: (event: any) => void;\n public onUnselect?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onSearch: (value: string) => void;\n public onBlur?: (event: FocusEvent) => void;\n\n constructor(config: AutocompleteFieldConfig) {\n super({ ...config, type: FieldType.Autocomplete } as AutocompleteFieldConfig);\n Object.assign(this, config);\n this.suggestionsObservable.subscribe(suggestions => (this.suggestions = suggestions));\n }\n}\n","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { NumberLocaleOptions } from \"../../../locale/index\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BignumberFieldConfig extends FieldConfig {\n allowNegative: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n autoClear?: boolean;\n}\n\nexport class BignumberField extends Field {\n public allowNegative: boolean;\n public numberLocaleOptions: NumberLocaleOptions;\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: AlignmentOptions;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n public autoClear?: boolean;\n\n constructor(config: BignumberFieldConfig) {\n super(config);\n this.allowNegative = config.allowNegative ?? true;\n this.numberLocaleOptions = config.numberLocaleOptions;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.scale = config.scale ?? 2;\n this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n this.autoClear = config.autoClear ?? true;\n }\n}\n","import { ElementRef } from \"@angular/core\";\nimport { FileDto } from \"../../../file-upload/index\";\nimport { FormField } from \"./../../configurations/form-field\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BlobFieldConfig extends FieldConfig {\n accept: string;\n files: FileDto[];\n chooseLabel: string;\n removeLabel: string;\n cancelLabel: string;\n successTooltip: string;\n multiple: boolean;\n onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n onRemoveFile: (event: FileDto, field: FormField) => void;\n onCancelUpload: (event: number, field: FormField) => void;\n onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n showFileUploadDate: boolean;\n}\n\nexport class BlobField extends Field {\n public accept: string;\n public files: FileDto[];\n public chooseLabel: string;\n public removeLabel: string;\n public cancelLabel: string;\n public successTooltip: string;\n public multiple: boolean;\n public onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n public onRemoveFile: (event: FileDto, field: FormField) => void;\n public onCancelUpload: (event: number, field: FormField) => void;\n public onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n public showFileUploadDate: boolean;\n\n constructor(config: BlobFieldConfig) {\n super(config);\n this.accept = config.accept;\n this.files = config.files || [];\n this.chooseLabel = config.chooseLabel;\n this.removeLabel = config.removeLabel;\n this.cancelLabel = config.cancelLabel;\n this.successTooltip = config.successTooltip;\n this.multiple = config.multiple;\n this.onUploadFile = config.onUploadFile;\n this.onRemoveFile = config.onRemoveFile;\n this.onCancelUpload = config.onCancelUpload;\n this.onDownloadFile = config.onDownloadFile;\n this.showFileUploadDate = config.showFileUploadDate;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface BooleanOptionsLabelConfig {\n true: string;\n false: string;\n empty?: string;\n clear?: string;\n}\n\nexport class BooleanOptionsLabel {\n public true: string;\n public false: string;\n public empty?: string;\n public clear?: string;\n\n constructor(config: BooleanOptionsLabelConfig) {\n this.true = config.true;\n this.false = config.false;\n this.empty = config.empty;\n this.clear = config.clear;\n }\n}\n\nexport interface BooleanFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n optionsLabel: BooleanOptionsLabel;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class BooleanField extends Field {\n public verticalAlignment?: boolean;\n public optionsLabel: BooleanOptionsLabel;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: BooleanFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);\n this.representedBy = \"radio\";\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n","import { BooleanOptionsLabel } from \"./boolean-field\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BooleanSwitchFieldConfig extends FieldConfig {\n onChange?: (event: any) => void;\n optionsLabel?: BooleanOptionsLabel;\n}\n\nexport class BooleanSwitchField extends Field {\n public onChange?: (event: any) => void;\n public optionsLabel?: BooleanOptionsLabel;\n constructor(config: BooleanSwitchFieldConfig) {\n super(config);\n this.onChange = config.onChange;\n if (config.optionsLabel) {\n this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);\n }\n this.representedBy = \"switch\";\n }\n}\n","import { CalendarLocaleOptions } from \"../../../locale/index\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface CalendarFieldConfig extends FieldConfig {\n view?: string;\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n calendarLocaleOptions?: CalendarLocaleOptions;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: string;\n rangeSeparator?: string;\n showSeconds?: boolean;\n}\n\nexport class CalendarField extends Field {\n public view?: string;\n public appendTo: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public calendarLocaleOptions: CalendarLocaleOptions;\n public showOnFocus?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: string;\n public rangeSeparator?: string;\n public showSeconds: boolean;\n\n constructor(config: CalendarFieldConfig) {\n super(config);\n this.view = config.view || \"date\";\n this.minDate = config.minDate;\n this.maxDate = config.maxDate;\n this.defaultDate = config.defaultDate;\n this.appendTo = config.appendTo;\n this.showOnFocus = typeof config.showOnFocus === \"boolean\" ? config.showOnFocus : true;\n this.calendarLocaleOptions = config.calendarLocaleOptions;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onSelect = config.onSelect;\n this.onInput = config.onInput;\n this.onClose = config.onClose;\n this.onTodayClick = config.onTodayClick;\n this.onClearClick = config.onClearClick;\n this.onMonthChange = config.onMonthChange;\n this.onYearChange = config.onYearChange;\n this.selectionMode = config.selectionMode || \"single\";\n this.rangeSeparator = config.rangeSeparator || \"-\";\n this.showSeconds = config.showSeconds;\n\n // Tornando true o padrão para showSeconds.\n if (this.showSeconds === null || this.showSeconds === undefined) {\n switch (this.type) {\n case FieldType.DateTime:\n case FieldType.LocalDateTime:\n case FieldType.Time:\n this.showSeconds = true;\n break;\n }\n }\n }\n}\n","import { CheckboxData } from \"../../../checkbox/models\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface CheckboxFieldConfig extends FieldConfig {\n data: CheckboxData;\n}\n\nexport class CheckboxField extends Field {\n public data: CheckboxData;\n\n constructor(config: CheckboxFieldConfig) {\n super(config);\n this.data = config.data;\n }\n}","import { Field, FieldConfig } from \"./field\";\n\nexport interface ChipsFieldConfig extends FieldConfig {\n keyFilter?: RegExp;\n separator?: string;\n showCopyButton?: boolean;\n onAdd: (event: any) => void;\n onRemove: (event: any) => void;\n onChipClick: (event: any) => void;\n onFocus: (event: any) => void;\n onBlur: (event: any) => void;\n onCopy: (content: string) => void;\n}\n\nexport class ChipsField extends Field {\n public keyFilter?: RegExp;\n public showCopyButton = false;\n public separator?: string;\n public onAdd: (event: any) => void;\n public onRemove: (event: any) => void;\n public onChipClick: (event: any) => void;\n public onFocus: (event: any) => void;\n public onBlur: (event: any) => void;\n public onCopy: (content: string) => void; \n\n constructor(config: ChipsFieldConfig) {\n super(config);\n this.keyFilter = config.keyFilter;\n this.showCopyButton = config.showCopyButton;\n this.separator = config.separator;\n this.onAdd = config.onAdd;\n this.onRemove = config.onRemove;\n this.onChipClick = config.onChipClick;\n this.onFocus = config.onFocus;\n this.onBlur = config.onBlur;\n this.onCopy = config.onCopy;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\nimport { CountryPhoneData, Ordination, PhoneSelectionData } from \"../../../country-phone-picker\";\n\nexport interface CountryPhonePickerConfig extends FieldConfig {\n countries: string[];\n ordination: Ordination;\n onSelected: (data: CountryPhoneData) => void;\n onFocusLost: (data: PhoneSelectionData) => void;\n}\n\nexport class CountryPhonePickerField extends Field {\n public countries: string[];\n public ordination: Ordination;\n public onSelected: (data: CountryPhoneData) => void;\n public onFocusLost: (data: PhoneSelectionData) => void;\n\n constructor(config: CountryPhonePickerConfig) {\n super(config);\n this.countries = config.countries;\n this.ordination = config.ordination;\n this.onSelected = config.onSelected;\n this.onFocusLost = config.onFocusLost;\n }\n}","import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n KeyValueDiffers,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { CurrencyMaskDirective } from \"ng2-currency-mask\";\nimport { first } from \"rxjs/operators\";\n\n/**\n * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead\n */\nexport enum NumberAlignmentOption {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\n/**\n * @deprecated Should use BigNumberInput directive instead\n */\n@Directive({\n selector: \"input[sNumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class NumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges, OnDestroy {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator: string;\n\n @Input()\n public thousandsSeparator: string;\n\n @Input()\n public alignTo = NumberAlignmentOption.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n @Output()\n public pasteRejected = new EventEmitter<string>();\n\n private _maxLength: number;\n\n private pasteListener: any;\n private keypressListener: any;\n\n constructor(\n _keyValueDiffers: KeyValueDiffers,\n private readonly _elementRef: ElementRef,\n private readonly localeService: LocaleService\n ) {\n super(null, _elementRef, _keyValueDiffers);\n\n this.onLocaleService();\n }\n\n public ngOnInit(): void {\n this.updateVariables();\n\n super.ngOnInit();\n\n this.pasteListener = this._onPaste.bind(this);\n this._elementRef.nativeElement.addEventListener(\"paste\", this.pasteListener);\n\n this.keypressListener = this._onKeypress.bind(this);\n this._elementRef.nativeElement.addEventListener(\"keypress\", this.keypressListener);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n public ngOnDestroy(): void {\n this._elementRef.nativeElement.removeEventListener(\"paste\", this.pasteListener);\n this._elementRef.nativeElement.removeEventListener(\"keypress\", this.keypressListener);\n }\n\n private _onPaste(event: ClipboardEvent): void {\n const pastedText = event.clipboardData?.getData(\"text\") ?? \"\";\n const numericText = pastedText.replace(new RegExp(`\\\\${this.thousandsSeparator}`, \"g\"), \"\").replace(this.decimalSeparator, \".\");\n const [intPart, decimalPart = \"\"] = numericText.split(\".\");\n const totalDigits = intPart.replace(/\\D/g, \"\").length + decimalPart.slice(0, this.scale).length;\n\n if (totalDigits > this.precision) {\n event.preventDefault();\n event.stopPropagation();\n this.pasteRejected.emit(pastedText);\n }\n }\n\n private _onKeypress(event: KeyboardEvent): void {\n const code = event.code;\n\n if (code === \"Minus\" || code === \"NumpadSubtract\") {\n if (this.allowNegative) {\n this.maxLength = this._maxLength + 1;\n }\n } else if (code === \"Equal\" || code === \"NumpadAdd\") {\n this.maxLength = this._maxLength;\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimal: this.decimalSeparator,\n thousands: this.thousandsSeparator,\n precision: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative,\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator.length;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this._maxLength = maxLength;\n this.maxLength = maxLength;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this.localeService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this.localeService.getGroupingSeparator();\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { NumberInputDirective } from \"./number-input.directive\";\n\n/**\n * @deprecated Should use 'BignumberInputModule' instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [NumberInputDirective],\n exports: [NumberInputDirective],\n})\nexport class NumberInputModule {}\n","import { NumberLocaleOptions } from \"../../../locale/index\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\n\n/**\n * @deprecated Should use BignumberFieldConfig instead\n */\nexport interface NumberFieldConfig extends FieldConfig {\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: (() => number) | number;\n alignTo?: NumberAlignmentOption;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class NumberField extends Field {\n /**\n * @deprecated `numberLocaleOptions` should not be used. It is not needed anymore and should be removed if possible.\n */\n public numberLocaleOptions: NumberLocaleOptions;\n\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public scale?: (() => number) | number;\n public alignTo: NumberAlignmentOption;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(config: NumberFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.scale = config.scale;\n this.alignTo = config.alignTo || NumberAlignmentOption.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { NumberLocaleOptions } from \"../../../locale\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { NumberField, NumberFieldConfig } from \"./number-field\";\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport interface DecimalFieldConfig extends NumberFieldConfig {\n scale?: (() => number) | number;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class DecimalField extends NumberField implements DecimalFieldConfig {\n public scale?: (() => number) | number;\n\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions;\n this.alignTo = config.alignTo || NumberAlignmentOption.RIGHT;\n this.scale = typeof config.scale === \"function\" ? config.scale() : config.scale;\n }\n}\n","import { NumberLocaleOptions } from \"../../../locale\";\nimport { DecimalField, DecimalFieldConfig } from \"./decimal-field\";\n\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class CurrencyField extends DecimalField {\n currency: () => string;\n\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.currency = config['currency'];\n this.numberLocaleOptions = config.numberLocaleOptions;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\n\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\nimport { DefaultFilter } from \"../../components/lookup/models\";\n\nexport interface LookupFieldConfig extends FieldConfig {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions: any[];\n suggestionsObservable: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterLabel?: string;\n filterTitle?: string;\n clearLabel?: string;\n cancelLabel?: string;\n selectLabel?: string;\n emptyMessage?: string;\n recordLabel?: string;\n recordsLabel?: string;\n emptyFieldLabel?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n showAddOption: boolean;\n showEditOption: boolean;\n showRemoveOption: boolean; \n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n onClearButtonClick?: () => void;\n}\n\nexport class LookupField extends Field {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[];\n public searchGridFields: any[];\n public lookupSuggestions: any[];\n public suggestionsObservable: Observable<any[]>;\n public searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n public dataKey: string;\n public lookupDisplayField: string;\n public searchTitle: string;\n public searchEmptyTitle: string;\n public filterLabel: string;\n public filterTitle: string;\n public clearLabel: string;\n public cancelLabel: string;\n public selectLabel: string;\n public recordLabel: string;\n public recordsLabel: string;\n public emptyFieldLabel: string;\n public emptyMessage: string;\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[];\n public sortableColumnsDisabled: string[];\n public onLookupRequest: (query: string) => void;\n public onSearchRequest: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n public onClearButtonClick?: () => void;\n\n private _gridData: any[];\n private _searchTotalRecords: number;\n private _searchTotalRecordsLabel: string;\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(config: LookupFieldConfig) {\n super({ ...config, type: FieldType.Lookup } as LookupFieldConfig);\n Object.assign(this, config);\n\n this.suggestionsObservable.subscribe(suggestions => (this.lookupSuggestions = suggestions));\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel;\n });\n }\n}\n","import { PasswordStrengths } from \"../../../password-strength\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface PasswordFieldConfig extends FieldConfig {\n inputType?: string;\n keyFilter?: any;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n maxLength?: string | number;\n passwordStrength: boolean;\n passwordStrengthOptions?: PasswordStrengthOptions;\n showToggle: boolean;\n style?: { [klass: string]: any };\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class PasswordField extends Field {\n public inputType?: string;\n public keyFilter?: any;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public maxLength?: string | number;\n public passwordStrength: boolean;\n public passwordStrengthOptions?: PasswordStrengthOptions;\n public showToggle: boolean;\n public style?: { [klass: string]: any };\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: any) => void;\n\n constructor(config: PasswordFieldConfig) {\n super(config);\n this.inputType = config.inputType;\n this.keyFilter = config.keyFilter;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.maxLength = config.maxLength || 9999999;\n this.passwordStrength = config.passwordStrength;\n this.passwordStrengthOptions = config.passwordStrengthOptions;\n this.showToggle = config.showToggle;\n this.style = config.style;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n\nexport interface PasswordStrengthOptions {\n description?: string;\n weakTitle?: string;\n mediumTitle?: string;\n strongTitle?: string;\n validation?: (content: string) => PasswordStrengths;\n}","import { Field, FieldConfig } from \"./field\";\n\nexport class RationButtonOption {\n label: string;\n value?: any;\n\n constructor(config: RationButtonOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n\nexport interface RadioButtonFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n clearLabel?: string;\n options: RationButtonOption[];\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class RadioButtonField extends Field {\n public verticalAlignment?: boolean;\n public clearLabel?: string;\n public options: RationButtonOption[];\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: RadioButtonFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.clearLabel = config.clearLabel;\n this.options = config.options;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface SelectFieldConfig extends FieldConfig {\n appendTo?: string;\n optionLabel?: string;\n dataKey?: string;\n autoDisplayFirst?: boolean;\n options: () => SelectOption[] | any[];\n multiple?: boolean;\n multipleSelectedLabel?: string;\n onClick?: (event: any) => void;\n onChange?: (event: any) => void;\n emptyMessage?: string;\n editable?: boolean;\n filter?: boolean;\n group?: boolean;\n}\n\nexport class SelectField extends Field {\n public appendTo?: string;\n public optionLabel?: string;\n public dataKey?: string;\n public autoDisplayFirst?: boolean;\n public options: () => SelectOption[] | any[];\n public multiple?: boolean;\n public multipleSelectedLabel?: string;\n public onClick?: (event: any) => void;\n public onChange?: (event: any) => void;\n public emptyMessage?: string;\n public editable?: boolean;\n public filter?: boolean;\n public group?: boolean;\n\n constructor(config: SelectFieldConfig) {\n super(config);\n this.appendTo = config.appendTo;\n this.dataKey = config.dataKey;\n this.optionLabel = config.optionLabel;\n this.autoDisplayFirst = config.autoDisplayFirst;\n this.options = config.options;\n this.multiple = config.multiple;\n this.multipleSelectedLabel = config.multipleSelectedLabel;\n this.onClick = config.onClick;\n this.onChange = config.onChange;\n this.emptyMessage = config.emptyMessage;\n this.editable = config.editable;\n this.filter = config.filter;\n this.group = config.group;\n }\n}\n\nexport class SelectOption {\n label: string;\n value?: any;\n\n constructor(config: SelectOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface SliderFieldConfig extends FieldConfig {\n onChange?: (event: any) => void;\n onSlideEnd?: (event: any) => void;\n range?: boolean;\n min?: number;\n max?: number;\n step?: number;\n orientation?: \"horizontal\" | \"vertical\";\n animate?: boolean;\n disabled?: boolean;\n prefix: string;\n suffix: string;\n rangeSeparator: string;\n}\n\nexport class SliderField extends Field {\n public onChange?: (event: any) => void;\n public onSlideEnd?: (event: any) => void;\n public range?: boolean;\n public min: number;\n public max: number;\n public step: number;\n public orientation: \"horizontal\" | \"vertical\";\n public animate: boolean;\n public disabled: boolean;\n public prefix: string;\n public suffix: string;\n public rangeSeparator: string;\n\n private readonly maxDefault = 100;\n\n constructor(config: SliderFieldConfig) {\n super(config);\n this.onChange = config.onChange;\n this.onSlideEnd = config.onSlideEnd;\n this.range = config.range ?? false;\n this.min = config.min ?? 0;\n this.max = config.max ?? this.maxDefault;\n this.orientation = config.orientation ?? \"horizontal\";\n this.step = config.step ?? 1;\n this.animate = config.animate ?? false;\n this.disabled = config.disabled ?? false;\n this.prefix = config.prefix;\n this.suffix = config.suffix;\n this.rangeSeparator = config.rangeSeparator ?? ' - ';\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface TextAreaFieldConfig extends FieldConfig {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n style?: Partial<CSSStyleDeclaration>;\n readonly?: () => boolean;\n speechRecognition?: boolean\n keepContext: boolean\n speechRecognitionPlaceholder: string\n maxLength?: number;\n}\n\nexport class TextAreaField extends Field {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public style?: Partial<CSSStyleDeclaration> = {\n resize: 'vertical'\n };\n public readonly?: () => boolean;\n public speechRecognition?: boolean\n public keepContext: boolean\n public speechRecognitionPlaceholder: string\n public maxLength?: number;\n\n constructor(config: TextAreaFieldConfig) {\n super(config);\n this.cols = config.cols;\n this.rows = config.rows;\n this.keyFilter = config.keyFilter;\n this.style = {\n ...config.style,\n ...this.style,\n };\n this.readonly = config.readonly;\n this.speechRecognition = config.speechRecognition ?? false\n this.keepContext = config.keepContext ?? false\n this.speechRecognitionPlaceholder = config.speechRecognitionPlaceholder ?? '';\n this.maxLength = config.maxLength;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface TextAreaIAFieldConfig extends FieldConfig {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n style?: Partial<CSSStyleDeclaration>;\n prompt?: string;\n readonly?: () => boolean;\n speechRecognition?: boolean;\n keepContext: boolean\n speechRecognitionPlaceholder: string\n maxLength?: number;\n}\n\nexport class TextAreaIAField extends Field {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public style?: Partial<CSSStyleDeclaration> = {\n resize: 'vertical'\n };\n public prompt?: string;\n public readonly?: () => boolean;\n public speechRecognition?: boolean\n public keepContext: boolean\n public speechRecognitionPlaceholder: string\n public maxLength?: number;\n\n constructor(config: TextAreaIAFieldConfig) {\n super(config);\n this.cols = config.cols;\n this.rows = config.rows;\n this.keyFilter = config.keyFilter;\n this.style = {\n ...config.style,\n ...this.style,\n };\n this.prompt = config.prompt;\n this.readonly = config.readonly;\n this.speechRecognition = config.speechRecognition ?? false;\n this.keepContext = config.keepContext ?? false\n this.speechRecognitionPlaceholder = config.speechRecognitionPlaceholder ?? '';\n this.maxLength = config.maxLength;\n }\n}\n","import { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface TextFieldConfig extends FieldConfig {\n mask?: () => string | any;\n characterPattern?: (() => string) | string;\n unmask?: (() => boolean) | boolean;\n readonly?: () => boolean;\n inputType?: string;\n keyFilter?: any;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n maxLength?: string | number;\n browserAutocomplete?: boolean;\n style?: { [klass: string]: any };\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class TextField extends Field {\n public mask?: () => string | any;\n public characterPattern?: (() => string) | string;\n public unmask?: (() => boolean) | boolean;\n public readonly?: () => boolean;\n public inputType?: string;\n public keyFilter?: any;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public maxLength?: string | number;\n public browserAutocomplete?: boolean;\n public style?: { [klass: string]: any };\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: any) => void;\n\n constructor(config: TextFieldConfig) {\n super(config);\n this.mask = config.mask;\n this.characterPattern = config.characterPattern ?? \"[A-Za-z]\";\n this.unmask = config.unmask ?? false;\n this.readonly = config.readonly;\n this.inputType = config.inputType;\n this.keyFilter = config.keyFilter;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.maxLength = config.maxLength || 9999999;\n this.browserAutocomplete = config.browserAutocomplete;\n this.style = config.style;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n this.sortableColumnName = config.sortableColumnName;\n }\n}\n","import { ButtonBadgeConfig, ButtonSize } from \"../../../button\";\nimport { ButtonComponent } from \"../../../button/button.component\";\nimport { ButtonAnimation } from \"../../../button/models/button-animation\";\nimport { ButtonPriority } from \"../../../button/models/button-priority\";\nimport { Field, FieldConfig } from \"./field\";\n\n\ntype ExtractedButtonProperties = Partial<Pick<ButtonComponent, 'priority' | 'iconClass' | 'disabled' | 'auxiliary' | 'caret' | 'iconColor' | 'badge' | 'animation' | 'slide' | 'menuOptions' | 'model' | 'baseZIndex' | 'styleClass' | 'rightIconClass' | 'tooltipPosition'>>;\n\nexport interface ButtonFieldConfig extends FieldConfig, ExtractedButtonProperties {\n onClick?: (event?: any) => any;\n fullWidth?: boolean\n mouseEnter?: (button: ButtonField) => void\n mouseLeave?: (button: ButtonField) => void\n}\n\nexport class ButtonField extends Field implements ExtractedButtonProperties {\n public priority?: ButtonPriority;\n public iconClass?: string;\n public disabled?: boolean;\n public auxiliary?: boolean;\n public caret?: boolean;\n public onClick?: (event?: Event) => any;\n public fullWidth?: boolean;\n public iconColor?: string;\n public badge?: ButtonBadgeConfig;\n public animation?: ButtonAnimation;\n public slide?: boolean;\n public menuOptions?: any[];\n public model?: any[];\n public baseZIndex?: number;\n public styleClass?: string;\n public rightIconClass?: string;\n public tooltipPosition?: \"top\" | \"right\" | \"bottom\" | \"left\" = \"top\";\n public buttonType?: string;\n public buttonSize?: ButtonSize;\n public mouseEnter?: (button: ButtonField) => void;\n public mouseLeave?: (button: ButtonField) => void;\n\n constructor(config: ButtonFieldConfig) {\n super(config);\n this.priority = config.priority || ButtonPriority.Primary;\n this.iconClass = config.iconClass || \"\";\n this.disabled = config.disabled || false;\n this.auxiliary = config.auxiliary || false;\n this.caret = config.caret || false;\n this.id = config.id || `s-button-${ButtonComponent.nextId++}`;\n this.onClick = config.onClick || (() => { });\n this.fullWidth = config.fullWidth || false;\n this.iconColor = config.iconColor;\n this.badge = config.badge;\n this.animation = config.animation;\n this.slide = config.slide;\n this.menuOptions = config.menuOptions;\n this.model = config.model;\n this.baseZIndex = config.baseZIndex;\n this.styleClass = config.styleClass;\n this.rightIconClass = config.rightIconClass;\n this.tooltipPosition = config.tooltipPosition || 'top';\n this.mouseEnter = config.mouseEnter;\n this.mouseLeave = config.mouseLeave;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface EditorFieldConfig extends FieldConfig {\n formats?: string[];\n readonly?: boolean;\n modules?: any;\n style?: { [klass: string]: unknown };\n}\n\nexport class EditorField extends Field {\n public formats?: string[];\n public readonly?: boolean;\n public modules?: any;\n public style?: { [klass: string]: unknown };\n\n constructor(config: EditorFieldConfig) {\n super(config);\n this.formats = config.formats;\n this.readonly = config.readonly;\n this.modules = config.modules;\n this.style = config.style;\n }\n}\n","import { CropperLabelsConfig } from \"../../../profile-picture-picker\";\nimport { ConfirmationTexts, FileValidationErrors, ProfilePicturePickerData } from \"../../../profile-picture-picker/models\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface ProfilePictureConfig extends FieldConfig {\n simpleTitle?: string;\n actionTitle?: string;\n subtitle?: string;\n aspectRatio?: number;\n cropperLabelsConfig?: CropperLabelsConfig;\n removeButtonLabel?: string;\n changeButtonLabel?: string;\n confirmationTexts?: ConfirmationTexts;\n maxFileSize?: number;\n accept?: string;\n supportedExtensions?: string[];\n onChangeImage?: (event: string | ProfilePicturePickerData) => void;\n onRemovedImage?: () => void;\n onInvalidFile?: (event: FileValidationErrors) => void;\n}\n\nexport class ProfilePictureField extends Field {\n public simpleTitle?: string;\n public actionTitle?: string;\n public subtitle?: string;\n public aspectRatio?: number;\n public cropperLabelsConfig?: CropperLabelsConfig;\n public removeButtonLabel?: string;\n public changeButtonLabel?: string;\n public confirmationTexts?: ConfirmationTexts;\n public maxFileSize?: number;\n public accept?: string;\n public supportedExtensions?: string[];\n public onChangeImage?: (event: string | ProfilePicturePickerData) => void;\n public onRemovedImage?: () => void;\n public onInvalidFile?: (event: FileValidationErrors) => void;\n\n constructor(config: ProfilePictureConfig) {\n super(config);\n this.simpleTitle = config.simpleTitle;\n this.actionTitle = config.actionTitle;\n this.subtitle = config.subtitle;\n this.aspectRatio = config.aspectRatio;\n this.cropperLabelsConfig = config.cropperLabelsConfig;\n this.removeButtonLabel = config.removeButtonLabel;\n this.changeButtonLabel = config.changeButtonLabel;\n this.confirmationTexts = config.confirmationTexts;\n this.maxFileSize = config.maxFileSize;\n this.accept = config.accept;\n this.supportedExtensions = config.supportedExtensions;\n this.onChangeImage = config.onChangeImage;\n this.onRemovedImage = config.onRemovedImage;\n this.onInvalidFile = config.onInvalidFile;\n }\n}","import { TemplateRef } from \"@angular/core\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { FileDto } from \"../../file-upload/index\";\nimport { CalendarLocaleOptions, NumberLocaleOptions } from \"../../locale/index\";\nimport { NumberAlignmentOption } from \"../../number-input\";\nimport { AddonConfig } from \"./addon-config\";\nimport { FieldSize } from \"./field-size\";\nimport { FieldType } from \"./field-type\";\nimport { CheckboxField, CountryPhonePickerField } from \"./fields\";\nimport { AutocompleteField } from \"./fields/autocomplete-field\";\nimport { BignumberField } from \"./fields/bignumber-field\";\nimport { BlobField } from \"./fields/blob-field\";\nimport { BooleanField, BooleanOptionsLabel } from \"./fields/boolean-field\";\nimport { BooleanSwitchField } from \"./fields/boolean-switch-field\";\nimport { CalendarField } from \"./fields/calendar-field\";\nimport { ChipsField } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField } from \"./fields/decimal-field\";\nimport { EditorField } from \"./fields/editor-field\";\nimport { LookupField } from \"./fields/lookup-field\";\nimport { NumberField } from \"./fields/number-field\";\nimport { PasswordField } from \"./fields/password-field\";\nimport { ProfilePictureField } from \"./fields/profile-picture\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField } from \"./fields/select-field\";\nimport { SliderField } from \"./fields/slider-field\";\nimport { TextAreaField } from \"./fields/text-area-field\";\nimport { TextAreaIAField } from \"./fields/text-area-ia-field\";\nimport { TextField } from \"./fields/text-field\";\nimport { ButtonField } from \"./fields/button-field\";\n\nexport class FormField {\n id?: string;\n /**\n * Tells whether the field is required or not\n */\n required?: () => boolean;\n name?: string;\n sortableColumnName?: string;\n type?: FieldType;\n label?: string;\n /**\n * Labels of a Radio Button, only used to FieldType Boolean\n */\n optionsLabel?: BooleanOptionsLabel;\n tooltip?: string;\n /**\n * Mask pattern.\n */\n mask?: ((options?: { value: unknown }) => string) | string;\n /**\n * Message to display when there are no results for a query.\n */\n emptyMessage?: string;\n cols?: number;\n rows?: number;\n placeholder?: string;\n options?: any;\n calendarLocaleOptions?: CalendarLocaleOptions;\n numberLocaleOptions?: NumberLocaleOptions;\n multiple?: boolean;\n appendTo?: string;\n browserAutocomplete?: boolean;\n showClear?: boolean;\n showOnFocus?: boolean;\n style?: { [klass: string]: any };\n representedBy?: \"radio\" | \"switch\";\n /**\n * Whether the `RadioButton` should be displayed on the vertical or not.\n *\n * @default false\n */\n verticalAlignment?: boolean;\n /**\n * Field max length\n */\n precision?: Function | number;\n /**\n * Number of decimal places\n */\n scale?: Function | number;\n /**\n * @deprecated Using FieldType.Number this attribute is unnecessary\n */\n alignTo?: NumberAlignmentOption | AlignmentOptions;\n gridClass?:\n | string\n | string[]\n | Set<string>\n | {\n [klass: string]: any;\n };\n size?: FieldSize;\n multipleSelectedLabel?: string;\n inputType?: string;\n accept?: string;\n files?: FileDto[];\n autocompleteForceSelection?: boolean;\n /**\n * The minimum selectable date.\n */\n minDate?: Date;\n /**\n * The maximum selectable date.\n */\n maxDate?: Date;\n /**\n * Set the date to highlight on first opening if the field is blank.\n */\n defaultDate?: Date;\n /**\n * Text or icon to be grouped in the left of an input.\n */\n leftAddon?: AddonConfig;\n /**\n * Text or icon to be grouped in right of an input.\n */\n rightAddon?: AddonConfig;\n /**\n * InfoSign para a label do input.\n */\n infoSign?: string;\n /**\n * Expression to restricts user input\n */\n keyFilter?: RegExp;\n\n /**\n * Default value for field\n */\n defaultValue?: any;\n /**\n * Customized FormField error message\n */\n errorMessages?: () => ({}) | {};\n visible?: () => boolean;\n /**\n * Callback to invoke when the field loses focus\n */\n onBlur?: (event: FocusEvent) => void;\n /**\n * Callback to invoke when the field receives focus\n */\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: any) => void;\n onChange?: (event: boolean) => void;\n onSelect?: (event: any) => void;\n /**\n * Callback to invoke on component click.\n */\n onClick?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n /**\n * Callback to invoke when a value is added.\n */\n onAdd?: (event: any) => void;\n /**\n * Callback to invoke when a value is removed.\n */\n onRemove?: (event: any) => void;\n /**\n * Callback to invoke when a chip is clicked.\n */\n onChipClick?: (event: any) => void;\n\n /**\n * Callback to invoke when a slider is released\n */\n onSlideEnd?: (event: any) => void;\n\n CustomFieldClass?: any;\n CustomFieldComponentClass?: any;\n\n /**\n * @deprecated You should use footer attribute instead.\n */\n bottomTemplate?: TemplateRef<Element>;\n\n autoClear?: boolean;\n displayTimeInfoSign?: number;\n\n footer?: {\n help?: {\n text: string;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n link?: {\n label: string;\n onClick: (options: { abstractControl: AbstractControl, formField: FormField }) => void;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n };\n\n /**\n * In some cases DynamicFormField use a custom field that alredy exists, this happen in CustomFields when convert 'Integer, Double & Money' types to 'Custom' this create two labels. activate this property hide the parent label.\n */\n ignoreLabel? = false;\n\n constructor(config: any) {\n switch (config.type) {\n case FieldType.Enum:\n return new SelectField(config);\n case FieldType.Autocomplete:\n return new AutocompleteField(config);\n case FieldType.Money:\n return new CurrencyField(config);\n case FieldType.Integer:\n return new NumberField(config);\n case FieldType.Double:\n return new DecimalField(config);\n case FieldType.Number:\n return new BignumberField(config);\n case FieldType.String:\n case FieldType.Binary:\n return new TextField(config);\n case FieldType.Password:\n return new PasswordField(config);\n case FieldType.Text:\n return new TextAreaField(config);\n case FieldType.TextIA:\n return new TextAreaIAField(config);\n case FieldType.Boolean:\n return config.representedBy === \"switch\" ? new BooleanSwitchField(config) : new BooleanField(config);\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.LocalDateTime:\n case FieldType.Time:\n return new CalendarField(config);\n case FieldType.Lookup:\n return new LookupField(config);\n case FieldType.Radio:\n return new RadioButtonField(config);\n case FieldType.Checkbox:\n return new CheckboxField(config);\n case FieldType.Chips:\n return new ChipsField(config);\n case FieldType.CountryPhonePicker:\n return new CountryPhonePickerField(config);\n case FieldType.Blob:\n return new BlobField(config);\n case FieldType.Slider:\n return new SliderField(config);\n case FieldType.ProfilePicture:\n return new ProfilePictureField(config);\n case FieldType.Editor:\n return new EditorField(config);\n case FieldType.Button:\n return new ButtonField(config);\n case FieldType.Custom:\n const { CustomFieldClass, ...otherConfigs } = config;\n return new CustomFieldClass(otherConfigs);\n }\n }\n}\n\nexport class Option {\n label: string;\n value?: any;\n\n constructor(label: string, value: any) {\n this.label = label;\n this.value = value;\n }\n}\n","import { animate, animateChild, group, query, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n forwardRef,\n Injectable,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { Hotkey, HotkeysService } from \"angular2-hotkeys\";\nimport BigNumber from \"bignumber.js\";\nimport { SortMeta } from \"primeng/api\";\nimport { AutoComplete } from \"primeng/autocomplete\";\nimport { Dialog } from \"primeng/dialog\";\nimport { Table } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { FieldType } from \"../..\";\nimport { BadgeComponent } from \"../../../badge/badge.component\";\nimport { CalendarLocaleOptions } from \"../../../locale/options/calendar\";\nimport { BignumberFieldConfig } from \"../../configurations/fields/bignumber-field\";\nimport { BooleanOptionsLabel } from \"../../configurations/fields/boolean-field\";\nimport { FormField } from \"../../configurations/form-field\";\nimport { DefaultFilter } from \"./models/default-filter\";\n\n@Injectable()\n@Component({\n selector: \"s-lookup\",\n templateUrl: \"./lookup.component.html\",\n styleUrls: [\"./lookup.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LookupComponent),\n multi: true,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"hidden\",\n style({\n width: \"10px\",\n padding: 0,\n })\n ),\n state(\n \"visible\",\n style({\n width: \"*\",\n })\n ),\n transition(\"visible <=> hidden\", [group([query(\"@childCollapseContent\", animateChild()), animate(\"{{transitionParams}}\")])]),\n ]),\n trigger(\"childCollapseContent\", [\n state(\n \":leave\",\n style({\n opacity: 0,\n })\n ),\n state(\n \":enter\",\n style({\n opacity: 1,\n })\n ),\n transition(\"* <=> *\", animate(\"{{transitionParams}}\")),\n ]),\n ],\n})\nexport class LookupComponent implements ControlValueAccessor, OnChanges, OnInit, AfterViewInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public formControlName: string;\n\n @Input()\n public id = `s-lookup-${LookupComponent.nextId++}`;\n\n @Input()\n public autocompleteForceSelection = true;\n\n @Input()\n public multiple: boolean;\n\n @Input()\n public dataKey: string;\n\n @Input()\n public required: boolean;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showSearch = true;\n\n @Input()\n public lookupSuggestions: any[];\n\n @Input()\n public lookupDisplayField: string;\n\n @Input()\n public lookupDisplayFieldTooltip: boolean;\n\n @Input()\n public lookupEmptyMessage: string;\n\n @Input()\n public lookupAppendTo = \"body\";\n\n @Input()\n public searchEmptyDescription: string;\n\n @Input()\n public searchGridData: any[];\n\n @Input()\n public searchTotalRecords: number;\n\n @Input()\n public searchFields: FormField[] = [];\n\n @Input()\n public searchGridFields: FormField[];\n\n @Input()\n public multiSortMeta: SortMeta[];\n\n @Input()\n public placeholder: string;\n\n @Input()\n public sortableColumnsDisabled: string[];\n\n @Input()\n public lookupRowProps: string[];\n\n @Input()\n public defaultFilter: DefaultFilter[];\n\n @Input()\n public showAddOption = false;\n\n @Input()\n public showEditOption = false;\n\n @Input()\n public showRemoveOption = false;\n\n @Output()\n public onLookupRequest = new EventEmitter();\n\n @Output()\n public onSearchRequest = new EventEmitter();\n\n @Output()\n public onFocus = new EventEmitter();\n\n @Output()\n public onBlur = new EventEmitter();\n\n @Output()\n public onKeyUp = new EventEmitter();\n\n @Output()\n public onSelect = new EventEmitter();\n\n @Output()\n public onUnselect = new EventEmitter();\n\n @Output()\n public onClear = new EventEmitter();\n\n @Output()\n public onAdd = new EventEmitter();\n\n @Output()\n public onEdit = new EventEmitter<unknown>();\n\n @Output()\n public onRemove = new EventEmitter<unknown[]>();\n\n @Output()\n public onClearButtonClick = new EventEmitter<void>();\n\n @ViewChild(Table, { static: false })\n public table: Table;\n\n @ViewChild(Dialog, { static: false })\n public dialog: Dialog;\n\n @ViewChild(AutoComplete, { static: false })\n public autocomplete: AutoComplete;\n\n @Input()\n public searchTitle: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public searchEmptyTitle: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public searchTotalRecordsLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public filterTitle: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public filterLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public clearLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public cancelLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public selectLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public emptyFieldLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public recordLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public recordsLabel: string;\n\n public value: any;\n public loading: boolean;\n public animating: boolean;\n public dialogVisible = false;\n public collapsed = false;\n public selected: any[] = [];\n public formGroupDialog: FormGroup;\n public transitionOptions = \"400ms cubic-bezier(0.86, 0, 0.07, 1)\";\n\n private onChange: Function;\n private onTouched: Function;\n private originalFormValues = {};\n private readonly ngUnsubscribe = new Subject();\n\n constructor(\n private readonly hotkeysService: HotkeysService,\n protected readonly translateService: TranslateService\n ) {}\n\n public ngOnInit() {\n if (!this.searchGridFields) {\n this.searchGridFields = this.searchFields\n .filter((item) => !item.visible || item.visible?.())\n .map((item) => new FormField({ ...item }));\n }\n\n this.searchFields = this.searchFields.map(\n (value: FormField) =>\n new FormField({\n ...value,\n size: { sm: 12, md: 12, lg: 12, xl: 12 },\n })\n );\n\n this.searchGridFields = this.searchGridFields\n .filter((gridField: FormField) => !gridField.visible || gridField.visible?.())\n .map((gridField: FormField) => {\n gridField[\"width\"] = this.getColWidth(gridField.label);\n\n const calendarOptions = new CalendarLocaleOptions({ ...gridField.calendarLocaleOptions });\n\n if (calendarOptions?.dateFormat) {\n switch (gridField.type) {\n case FieldType.Date:\n calendarOptions.dateFormat = this._convertToMomentDateFormat(calendarOptions.dateFormat);\n break;\n case FieldType.Time:\n calendarOptions.dateFormat = this._convertToMomentHourFormat(\n calendarOptions.hourFormat,\n calendarOptions.dateFormat\n );\n break;\n }\n gridField.calendarLocaleOptions = calendarOptions;\n }\n\n return gridField;\n });\n\n const formGroup = this.searchFields.reduce((result: any, field) => {\n result[field.name] = new FormControl(field.defaultValue);\n this.originalFormValues[field.name] = field.defaultValue;\n return result;\n }, {});\n\n this.formGroupDialog = new FormGroup(formGroup);\n\n this._subscribeEvents();\n }\n\n public printRecordTotalizer(): string {\n if (this.searchTotalRecordsLabel) {\n return this.searchTotalRecordsLabel;\n }\n\n const recordLabel = this.recordLabel\n ? `${this.searchTotalRecords} ${this.recordLabel}`\n : this.translateService.instant(\"platform.angular_components.total_record\", { count: this.searchTotalRecords });\n\n const recordsLabel = this.recordsLabel\n ? `${this.searchTotalRecords} ${this.recordsLabel}`\n : this.translateService.instant(\"platform.angular_components.total_records\", { count: this.searchTotalRecords });\n\n return this.searchTotalRecords === 1 ? recordLabel : recordsLabel;\n }\n\n private _convertToMomentHourFormat(hourFormat: string, format: string) {\n if (format === \"dd/mm/yy\") {\n // valor padrão para o format.\n return \"LTS\";\n }\n\n if (hourFormat === \"12\") {\n return format\n .replace(/\\bH\\b/, \"h\") // hour (12 hour time) (no leading zero)\n .replace(/\\bHH\\b/, \"hh\"); // hour (12 hour time)\n }\n\n if (hourFormat === \"24\") {\n return format\n .replace(/\\bh\\b/, \"H\") // hour (24 hour time) (no leading zero)\n .replace(/\\bhh\\b/, \"HH\"); // hour (24 hour time)\n }\n\n return format;\n }\n\n private _convertToMomentDateFormat(format: string): string {\n // A ordem dos replaces é importante.\n return format\n .replace(/\\bd\\b/, \"D\") // day of month (no leading zero)\n .replace(/\\bdd\\b/, \"DD\") // day of month\n .replace(/\\bo\\b/, \"DDD\") // day of the year (no leading zero)\n .replace(/\\boo\\b/, \"DDDD\") // day of the year\n .replace(/\\bM\\b/, \"MMM\") // month name short\n .replace(/\\bMM\\b/, \"MMMM\") // month name long\n .replace(/\\bm\\b/, \"M\") // month of year (no leading)\n .replace(/\\bmm\\b/, \"MM\") // month of year\n .replace(/\\by\\b/, \"YY\") // year (two digits)\n .replace(/\\byy\\b/, \"YYYY\"); // year (four digits)\n }\n\n public ngAfterViewInit() {\n this.autocomplete.onOverlayAnimationDone = (event) => {};\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (this.dialogVisible && changes.searchGridData) {\n this.loading = false;\n }\n\n this._setFocusFilter();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public getGridData() {\n return this.searchGridData;\n }\n\n public getLookupSuggestions() {\n return this.lookupSuggestions;\n }\n\n protected makeSearchRequestParams(event: any) {\n const filters = this.formGroupDialog.getRawValue();\n const params = { ...event, filterData: filters };\n const { multiSortMeta } = event;\n this.multiSortMeta = multiSortMeta || this.multiSortMeta;\n\n return params;\n }\n\n public lazyLoadGrid(event: any) {\n // Ao definir uma ordenação na tabela do lookup esse método é chamado 2 vezes https://github.com/primefaces/primeng/issues/5480\n const params = this.makeSearchRequestParams(event);\n this.onSearchRequest.next(params);\n }\n\n public onCompleteMethod(event: { originalEvent: InputEvent; query: string }): void {\n if (!this.autocompleteForceSelection) {\n this.onChange(this.value === \"\" ? null : this.value);\n }\n\n this.onLookupRequest.next(event.query);\n }\n\n public setDefaultFilters() {\n if (!this.defaultFilter) return;\n\n this.defaultFilter\n .filter(({ field }) => this.formGroupDialog.contains(field) && !this.formGroupDialog.get([field]).dirty)\n .forEach(({ value, field }) => {\n this.formGroupDialog.get([field]).patchValue(value instanceof Function ? value() : value);\n });\n }\n\n public showDialog() {\n this.setDefaultFilters();\n this.searchGridData = undefined;\n this.onTouched();\n this.hotkeysService.pause([...this.hotkeysService.hotkeys]);\n this.setHotkeys();\n\n let selected: any = [];\n if (this.multiple && this.value) {\n selected = selected.concat(this.value);\n } else if (this.value) {\n selected = [this.value];\n }\n this.selected = selected;\n\n this.loading = true;\n this.dialogVisible = true;\n }\n\n public hideDialog() {\n const { inputEL, multiInputEL } = this.autocomplete;\n this.dialogVisible = false;\n this.collapsed = false;\n this.hotkeysService.unpause([...this.hotkeysService.pausedHotkeys]);\n\n if (this.multiple) multiInputEL.nativeElement.focus();\n else inputEL.nativeElement.focus();\n }\n\n public search() {\n this.resetTable();\n this.collapsed = true;\n this.dialog.moveOnTop();\n }\n\n public clear() {\n this.formGroupDialog.reset(this.originalFormValues);\n this.resetTable();\n this.onClearButtonClick.emit();\n }\n\n protected resetTable() {\n this.table.reset();\n }\n\n public select() {\n if (!this.selected.length) return;\n\n const selected = this.selected && (this.multiple ? this.selected : this.selected[0]);\n this.value = selected;\n this.onSelect.next(selected);\n this.hideDialog();\n }\n\n public onSelectionChange(selected: any) {\n if (!selected) return;\n if (Array.isArray(selected)) this.selected = selected;\n else this.selected = [selected];\n }\n\n public registerOnChange(onChange: Function) {\n this.onChange = (value: any) => {\n this.writeValue(value);\n onChange(value);\n };\n }\n\n public registerOnTouched(onTouched: Function) {\n this.onTouched = onTouched;\n }\n\n public writeValue(value: any) {\n this.value = value;\n }\n\n public setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n\n public getFieldValue(obj: any, path: string) {\n return path.split(\".\").reduce((result, prop) => (result[prop] === undefined ? \"\" : result[prop]), obj);\n }\n\n public getBadgeFromValue(\n value: unknown,\n options: {\n label: string;\n value: unknown;\n badge?: {\n type?: BadgeComponent[\"type\"];\n color?: BadgeComponent[\"color\"];\n iconClass?: BadgeComponent[\"iconClass\"];\n iconPosition?: BadgeComponent[\"iconPosition\"];\n };\n }[]\n ) {\n return options?.find((opt) => opt.value === value)?.badge;\n }\n\n public getLabelForValue(\n value: unknown,\n options: {\n label: string;\n value: unknown;\n badge?: {\n type?: BadgeComponent[\"type\"];\n color?: BadgeComponent[\"color\"];\n iconClass?: BadgeComponent[\"iconClass\"];\n iconPosition?: BadgeComponent[\"iconPosition\"];\n };\n }[]\n ) {\n if (!options) return value;\n\n const option = options.find((opt) => opt.value === value);\n return option ? option.label : value;\n }\n\n public isBooleanValue(obj: any, path: string) {\n const value = this.getFieldValue(obj, path);\n if (value === true || value === false) return true;\n else return false;\n }\n\n public getBooleanLabel(obj: any, path: string, optionsLabel: BooleanOptionsLabel) {\n const value = this.getFieldValue(obj, path);\n if (value === true) return optionsLabel.true;\n else if (value === false) return optionsLabel.false;\n else return this.emptyFieldLabel;\n }\n\n public isNumber(obj: any, path: string) {\n return !new BigNumber(this.getFieldValue(obj, path)).isNaN();\n }\n\n public setHotkeys() {\n const clearHotkey = this.newHotkey(\"alt+shift+l\", this.clear.bind(this));\n const findHotkey = this.newHotkey(\"alt+shift+f\", this.search.bind(this));\n const hideHotkey = this.newHotkey(\"alt+shift+c\", this.hideDialog.bind(this));\n const selectHotkey = this.newHotkey(\"alt+shift+s\", this.select.bind(this));\n\n const bindedHotkeys = [clearHotkey, findHotkey, hideHotkey, selectHotkey];\n bindedHotkeys.forEach((hotkey: Hotkey) => this.hotkeysService.add(hotkey));\n }\n\n private newHotkey(combo: string, fn: Function): Hotkey {\n return new Hotkey(combo, () => {\n fn();\n return false;\n }, [\"INPUT\", \"SELECT\", \"TEXTAREA\"]);\n }\n\n public filterToggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n /**\n * Calculate the table column size. The minimum value is 14.286em, which is equals to 200px duo to the current font size.\n * @param label Column name.\n */\n public getColWidth(label: string) {\n const size = label.length;\n if (size < 14.286) return `14.286em`;\n return `${size}em`;\n }\n\n public getScale(scale: any): number {\n return this.isFunction(scale) ? scale() : scale;\n }\n\n private isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public getIntegerMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: 0,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: \"\",\n };\n }\n\n public getDoubleMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: \"\",\n };\n }\n\n public getMoneyMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: col.numberLocaleOptions?.currencySymbol,\n };\n }\n\n public getNumberMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: col.numberLocaleOptions?.currencySymbol,\n };\n }\n\n public onTableRowDoubleClick(rowData: any): void {\n this.selected = [rowData];\n this.select();\n }\n\n private _setFocusFilter() {\n if (this.dialogVisible && !this.collapsed) {\n const input = this.dialog?.contentViewChild?.nativeElement?.getElementsByTagName(\"input\")[0];\n\n if (input) {\n (input as HTMLInputElement).focus();\n }\n }\n }\n\n private _subscribeEvents(): void {\n this.onSearchRequest.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => (this.loading = true));\n\n this.onSelect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n\n this.onUnselect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n\n this.onClear.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n if (this.multiple) {\n return;\n }\n this.onChange(null);\n });\n\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.onTouched();\n });\n\n this.onBlur.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: Event) => {\n const target = event.target as HTMLInputElement;\n const currentValue = this.value && this.value[this.lookupDisplayField];\n const { value } = target;\n\n if (this.multiple || !currentValue || currentValue == value) return;\n\n const newValue = \"\";\n target.value = newValue;\n this.onChange(newValue);\n });\n }\n}\n","export enum DynamicType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Boolean = \"Boolean\",\n Chips = \"Chips\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n LocalDateTime = \"LocalDateTime\",\n Double = \"Double\",\n Enum = \"Enum\",\n Fieldset = \"Fieldset\",\n Integer = \"Integer\",\n Lookup = \"Lookup\",\n Money = \"Money\",\n Radio = \"Radio\",\n Row = \"Row\",\n Section = \"Section\",\n String = \"String\",\n Text = \"Text\",\n Time = \"Time\",\n Number = \"Number\",\n Password = \"Password\",\n Slider = \"Slider\",\n}\n","import { isNullOrUndefined } from \"../../../utils\";\nimport { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\nimport { Section } from \"../structure/section\";\n\nexport interface GridConfig {\n fields?: Array<FormField | Section>;\n type: GridType;\n visible?: () => boolean;\n}\n\nexport class Grid implements GridConfig {\n public fields: Array<FormField | Section>;\n public type: GridType;\n public visible?: () => boolean;\n\n constructor(config: GridConfig) {\n Object.assign(this, { ...config });\n if (isNullOrUndefined(config.visible)) {\n this.visible = () => true;\n }\n }\n}\n","import { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\nimport { Grid, GridConfig } from \"./grid\";\n\nexport class Row extends Grid {\n public fields: FormField[];\n public type: GridType;\n\n constructor(config: GridConfig) {\n super(config);\n }\n}\n","import { FormField } from \"../form-field\";\nimport { Grid } from \"../grid/grid\";\nimport { StructureType } from \"../structure-type\";\n\nexport interface StructureConfig {\n header?: string;\n configs?: Grid[];\n type: StructureType;\n}\n\nexport abstract class Structure {\n public header?: string;\n public configs?: Grid[] | FormField[];\n public type: StructureType;\n public isFlex? = false;\n\n constructor(config: StructureConfig) {\n Object.assign(this, { ...config });\n }\n}\n","import { Structure, StructureConfig } from \"./structure\";\n\nexport interface FieldsetConfig extends StructureConfig {\n beforeToggle?: (event: any) => void;\n afterToggle?: (event: any) => void;\n}\n\nexport class Fieldset extends Structure {\n public beforeToggle?: (event: any) => void;\n public afterToggle?: (event: any) => void;\n\n constructor(config: FieldsetConfig) {\n super(config);\n Object.assign(this, { ...config });\n }\n}\n","import { FieldSize } from \"../field-size\";\nimport { Structure, StructureConfig } from \"./structure\";\n\nexport class Section extends Structure {\n /**\n * Define if the structure is a flex container.\n */\n public isFlex? = false;\n /**\n * Define the justify-content property.\n */\n public justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' = 'flex-start';\n /**\n * Define the align-items property.\n */\n public alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'initial' | 'inherit' = 'flex-start';\n\n public visible?: () => boolean = () => true;\n\n public size?: FieldSize;\n protected gridClass?: string[];\n constructor(config: Section) {\n super(config as StructureConfig);\n this.isFlex = config.isFlex || false;\n this.justifyContent = config.justifyContent || 'flex-start';\n this.alignItems = config.alignItems || 'flex-start';\n\n if (config.visible) {\n this.visible = config.visible\n }\n\n this.size = new FieldSize(config.size || {});\n this.gridClass = Object.keys(this.size).map((key: keyof FieldSize) => `ui-${key}-${this.size[key]}`);\n }\n}\n","import { DynamicType } from \"./dynamic-type\";\nimport { AutocompleteField, AutocompleteFieldConfig } from \"./fields/autocomplete-field\";\nimport { BignumberField, BignumberFieldConfig } from \"./fields/bignumber-field\";\nimport { SliderField, SliderFieldConfig } from \"./fields/slider-field\";\nimport { BooleanField, BooleanFieldConfig } from \"./fields/boolean-field\";\nimport { BooleanSwitchField, BooleanSwitchFieldConfig } from \"./fields/boolean-switch-field\";\nimport { CalendarField, CalendarFieldConfig } from \"./fields/calendar-field\";\nimport { ChipsField, ChipsFieldConfig } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField, DecimalFieldConfig } from \"./fields/decimal-field\";\nimport { LookupField, LookupFieldConfig } from \"./fields/lookup-field\";\nimport { NumberField, NumberFieldConfig } from \"./fields/number-field\";\nimport { PasswordField, PasswordFieldConfig } from \"./fields/password-field\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField, SelectFieldConfig } from \"./fields/select-field\";\nimport { TextAreaField, TextAreaFieldConfig } from \"./fields/text-area-field\";\nimport { TextField, TextFieldConfig } from \"./fields/text-field\";\nimport { Row } from \"./grid/row\";\nimport { Fieldset, FieldsetConfig } from \"./structure/fieldset\";\nimport { Section } from \"./structure/section\";\nimport { StructureConfig } from \"./structure/structure\";\n\nexport class DynamicConfig {\n constructor(config: any) {\n const { type, representedBy } = config;\n switch (type) {\n case DynamicType.Autocomplete:\n return new AutocompleteField(config as AutocompleteFieldConfig);\n case DynamicType.Binary:\n case DynamicType.String:\n return new TextField(config as TextFieldConfig);\n case DynamicType.Password:\n return new PasswordField(config as PasswordFieldConfig);\n case DynamicType.Boolean:\n if (representedBy === \"switch\") {\n return new BooleanSwitchField(config as BooleanSwitchFieldConfig);\n }\n return new BooleanField(config as BooleanFieldConfig);\n case DynamicType.Chips:\n return new ChipsField(config as ChipsFieldConfig);\n case DynamicType.Date:\n case DynamicType.DateTime:\n case DynamicType.LocalDateTime:\n case DynamicType.Time:\n return new CalendarField(config as CalendarFieldConfig);\n case DynamicType.Double:\n return new DecimalField(config as DecimalFieldConfig);\n case DynamicType.Enum:\n return new SelectField(config as SelectFieldConfig);\n case DynamicType.Fieldset:\n return new Fieldset(config as FieldsetConfig);\n case DynamicType.Integer:\n return new NumberField(config as NumberFieldConfig);\n case DynamicType.Number:\n return new BignumberField(config as BignumberFieldConfig);\n case DynamicType.Lookup:\n return new LookupField(config as LookupFieldConfig);\n case DynamicType.Money:\n return new CurrencyField(config as DecimalFieldConfig);\n case DynamicType.Radio:\n return new RadioButtonField(config);\n case DynamicType.Row:\n return new Row(config);\n case DynamicType.Section:\n return new Section(config as StructureConfig);\n case DynamicType.Slider:\n return new SliderField(config as SliderFieldConfig);\n case DynamicType.Text:\n return new TextAreaField(config as TextAreaFieldConfig);\n }\n }\n}\n","export enum GridType {\n Row = \"Row\",\n}\n","export enum StructureType {\n Fieldset = \"Fieldset\",\n Section = \"Section\",\n}\n","import { Component, Input, ViewEncapsulation, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { DynamicConfig } from \"./configurations/dynamic-config\";\nimport { FormField } from \"./configurations/form-field\";\n\n@Component({\n selector: \"s-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"dynamic-form.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DynamicFormComponent {\n @Input()\n public id: string;\n @Input()\n public configs: DynamicConfig[];\n @Input()\n public fields: FormField[]; // @TODO deve-se remover em uma vesão de quebra. O default deve ser configs.\n @Input()\n public form: FormGroup;\n @Input()\n public errorMessages?: any = {};\n\n}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { debounceTime, repeat, takeUntil } from \"rxjs/operators\";\n\n@Directive({\n selector: \"[sLongPress]\",\n})\nexport class LongPressDirective implements OnInit, OnDestroy {\n @Input()\n public sLongPressDelay = 500;\n\n @Output()\n public sLongPress = new EventEmitter<MouseEvent>();\n\n public mouseUp = new Subject<MouseEvent>();\n public mouseDown = new Subject<MouseEvent>();\n public ngUnsubscribe = new Subject();\n\n @HostListener(\"mouseup\", [\"$event\"])\n @HostListener(\"touchend\", [\"$event\"])\n public onMouseUp(event: MouseEvent) {\n this.mouseUp.next(event);\n }\n\n @HostListener(\"mousedown\", [\"$event\"])\n @HostListener(\"touchstart\", [\"$event\"])\n public onMouseDown(event: MouseEvent) {\n this.mouseDown.next(event);\n }\n\n public ngOnInit() {\n this.mouseDown\n .pipe(\n debounceTime(this.sLongPressDelay),\n takeUntil(this.mouseUp),\n repeat(),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(event => this.sLongPress.emit(event));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output\n} from '@angular/core';\n\n@Directive({\n selector: '[sDoubleClick]'\n})\nexport class DoubleClickDirective {\n\n @Output() public onDoubleClick: EventEmitter<PointerEvent> = new EventEmitter();\n \n private _timeout: NodeJS.Timeout = null;\n private _DOUBLE_CLICK_DELAY = 500;\n\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: PointerEvent): void {\n this.handleOnClickEvent(event);\n }\n\n private handleOnClickEvent(event: PointerEvent): void {\n if (this._timeout) {\n this.clearTimeout();\n this.onDoubleClick.emit(event);\n } else {\n this._timeout = setTimeout(() => this.clearTimeout(), this._DOUBLE_CLICK_DELAY)\n }\n \n }\n\n private clearTimeout(): void {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LongPressDirective } from \"./long-press.directive\";\nimport { DoubleClickDirective } from \"./double-click.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n LongPressDirective,\n DoubleClickDirective\n ],\n exports: [\n LongPressDirective,\n DoubleClickDirective\n ],\n})\nexport class MouseEventsModule {}\n","import { Component, Input, Output, EventEmitter, HostBinding, OnDestroy } from \"@angular/core\"; // Adicionado HostBinding, OnDestroy\nimport { Toast } from \"./types/toast\";\n\n@Component({\n selector: \"s-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n})\nexport class ToastComponent implements OnDestroy {\n @Input()\n public toast!: Toast;\n\n @Output()\n public dismiss = new EventEmitter<void>();\n\n @HostBinding(\"class.toast--leaving\")\n public isLeaving = false;\n\n private timer: ReturnType<typeof setTimeout> | null = null;\n\n public startDismissAnimation(): void {\n this.isLeaving = true;\n\n setTimeout(() => {\n this.dismiss.emit();\n }, 300);\n }\n\n public dismissToast(): void {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.startDismissAnimation();\n }\n\n public ngOnInit(): void {\n if (!this.toast.sticky && this.toast.duration) {\n this.timer = setTimeout(() => {\n this.startDismissAnimation();\n }, this.toast.duration);\n }\n }\n\n public ngOnDestroy(): void {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n}\n","import { Injectable, ComponentRef, ApplicationRef, Injector, EmbeddedViewRef, ComponentFactoryResolver } from \"@angular/core\";\n\nimport { ToastComponent } from \"./toast.component\";\nimport { Toast } from \"./types/toast\";\nimport { first } from \"rxjs/operators\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ToastService {\n private activeToasts: ComponentRef<ToastComponent>[] = [];\n private globalToastHostElement: HTMLElement | null = null;\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n private ensureGlobalToastHost(): void {\n if (!this.globalToastHostElement) {\n this.globalToastHostElement = document.createElement(\"div\");\n document.body.appendChild(this.globalToastHostElement);\n\n this.globalToastHostElement.style.display = \"flex\";\n this.globalToastHostElement.style.flexDirection = \"column\";\n this.globalToastHostElement.style.position = \"fixed\";\n this.globalToastHostElement.style.right = \"20px\";\n this.globalToastHostElement.style.top = \"20px\";\n this.globalToastHostElement.style.zIndex = \"99999\";\n this.globalToastHostElement.style.gap = \"10px\";\n }\n }\n\n public show(toast: Toast): void {\n this.ensureGlobalToastHost();\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(ToastComponent);\n const componentRef = componentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n\n if (!toast.sticky) {\n toast.duration = toast.duration ?? 10000;\n }\n\n componentRef.instance.toast = {\n closable: true,\n ...toast,\n };\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n this.globalToastHostElement.appendChild(domElem);\n domElem.style.display = \"flex\";\n domElem.style.justifyContent = \"center\";\n\n componentRef.instance.dismiss.pipe(first()).subscribe(() => {\n const index = this.activeToasts.indexOf(componentRef);\n\n if (index !== -1) {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n this.activeToasts.splice(index, 1);\n }\n\n if (this.activeToasts.length === 0 && this.globalToastHostElement) {\n this.globalToastHostElement.remove();\n this.globalToastHostElement = null;\n }\n });\n\n this.activeToasts.push(componentRef);\n }\n}\n","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\n\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\n\nimport { ToastService } from \"../../../toast/toast.service\";\nimport { IAssistInputData } from \"./models/iassist-input-data\";\nimport { IAssistResponse } from \"./models/iassist-response\";\n\n@Injectable()\nexport class IAssistService {\n constructor(\n private readonly http: HttpClient,\n private readonly _toastService: ToastService\n ) {}\n\n public askIA(context: string, data: IAssistInputData): Observable<IAssistResponse> {\n const prompt: string = data.prompt ? this._replacePlaceholder(context, data) : this._createPrompt(context, data);\n\n return this.http\n .post<IAssistResponse>(\"platform/iassist/api/latest/completions\", {\n prompt,\n provider: \"OPEN_AI\",\n parameters: {\n model: \"gpt-3.5-turbo\",\n max_tokens: 700,\n temperature: 1,\n },\n })\n .pipe(\n catchError((err: HttpErrorResponse) => {\n this._toastService.show({\n severity: \"error\",\n title: err.status ? String(err.status) : \"Error\",\n text: (err.error && err.error.message) || err.statusText || err.message || \"Error\",\n });\n return throwError(err);\n })\n );\n }\n\n private _replacePlaceholder(context: string, data: IAssistInputData): string {\n const values = { ...data, context };\n delete values.prompt;\n\n let result = data.prompt;\n for (const key in { ...values, context: context }) {\n const placeholder = new RegExp(`{{\\\\s*${key}\\\\s*}}`, \"g\");\n result = result.replace(placeholder, values[key]);\n }\n\n console.log(\"prompt\", result);\n return result;\n }\n\n private _createPrompt(context: string, data: IAssistInputData): string {\n return `Crie um texto genérico para preencher o campo de textarea.\n ${data.label ? `O campo tem o label ${data.label}.` : \"\"}\n ${data.id ? `O campo tem o id ${data.id}.` : \"\"}\n ${data.placeholder ? `Considere as instruções/sugestões do placeholder: ${data.placeholder}.` : \"\"}\n Baseie-se no contexto informado pelo usuário: '${context}'.\n O texto deve ser formal e conter informações pertinentes a um campo como este, como se um usuário real tivesse preenchido com as informações necessárias. \n O texto deve ser neutro com relação a generos, raças, religiões, etc.\n O texto deve ser impessoal e não deve conter informações pessoais do usuário.\n Não direcione o texto a ninguém, não use expressões como: caro, atenciosamente. gostaria, agradeço. O texto deve ser genérico.\n \n Exemplos de texto:\n Um campo de descrição de usuário: \"Usuário com 20 anos, estudante de engenharia, gosta de jogar futebol e assistir filmes.\"\n Outro exemplo de descrição de usuário: \"Usuário administrador, com acesso total ao sistema, responsável por gerenciar os usuários e os produtos.\"\n Um campo de descrição de um produto: \"O produto é um celular, com tela de 6 polegadas, 128GB de armazenamento, 4GB de memória RAM, câmera de 12MP e bateria de 4000mAh.\"\n Outro exemplo de descrição de produto: \"O produto é uma geladeira, com capacidade de 500 litros, 2 portas, cor branca, com freezer e gaveta de legumes.\"\n Outro exemplo de descrição de produto: \"O produto é uma camiseta, tamanho M, cor azul, 100% algodão, com estampa de um gato.\"\n \n Em caso de contexto incompleto crie um texto genérico, como se fosse um exemplo de preenchimento do campo.\n O texto é para um campo de textarea, então escreva um texto sucinto.\n Exiba apenas o texto do output`;\n }\n}\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\n@Component({\n selector: `s-empty-state`,\n templateUrl: `./empty-state.component.html`,\n styleUrls: [\"./empty-state.component.css\"],\n})\nexport class EmptyStateComponent {\n public static nextId = 0;\n\n @Input() id = `s-empty-state-${EmptyStateComponent.nextId++}`;\n @Input() iconClass = \"fa fa-inbox\";\n @Input() title: string;\n @Input() description?: string;\n @Input() showPrimaryAction = true;\n @Input() showSecondaryAction = true;\n @Input() primaryActionLabel?: string;\n @Input() secondaryActionLabel?: string;\n @Input() primaryModel?: MenuItem[] = [];\n\n @Output() primaryAction = new EventEmitter();\n @Output() secondaryAction = new EventEmitter();\n}\n","import { Component, Input } from \"@angular/core\";\nimport { CookieService } from \"ngx-cookie-service\";\n\n@Component({\n selector: `s-empty-state-go-back`,\n templateUrl: `./go-back.component.html`,\n styleUrls: [],\n})\nexport class EmptyStateGoBackComponent {\n public static nextId = 0;\n\n @Input() iconClass = \"fa fa-exclamation-triangle\";\n @Input() title: string;\n @Input() description?: string;\n @Input() primaryActionLabel: string;\n\n constructor(private cookieService: CookieService) {}\n\n public goBack() {\n const portalUrl = this.cookieService.get(\"com.senior.portal.url\");\n window.open(portalUrl, \"_top\");\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CookieService } from \"ngx-cookie-service\";\n\nimport { ButtonModule } from \"../button/index\";\nimport { EmptyStateComponent } from \"./empty-state.component\";\nimport { EmptyStateGoBackComponent } from \"./go-back/go-back.component\";\n\n@NgModule({\n imports: [CommonModule, ButtonModule],\n providers: [CookieService],\n declarations: [EmptyStateComponent, EmptyStateGoBackComponent],\n exports: [EmptyStateComponent, EmptyStateGoBackComponent ],\n})\nexport class EmptyStateModule {}\n","import { Injectable } from \"@angular/core\";\nimport { CustomHttpClient } from \"../code-editor/infra/utils\";\nimport {\n ListBlobMetadataRequest,\n ListBlobMetadataResponse\n} from \"./models/list-blob-metadata\"\n\n@Injectable()\nexport class FileUploadService {\n private BASE_URL_FIELD_CUSTOMIZATION = \"platform/field_customization\";\n private TOKEN = new AbortController();\n\n public async getMetadataCustomField<T>(request: ListBlobMetadataRequest): Promise<ListBlobMetadataResponse> {\n return CustomHttpClient.POST(\n `${this.BASE_URL_FIELD_CUSTOMIZATION}/queries/getFileMetadata`,\n request,\n { signal: this.TOKEN.signal }\n );\n }\n}\n","export enum ValidateErrors {\n MAX_FILE_SIZE = \"MAX_FILE_SIZE\",\n MAX_FILE_LIMIT = \"MAX_FILE_LIMIT\",\n MAX_COMBINED_FILE_SIZE = \"MAX_COMBINED_FILE_SIZE\",\n UNSUPPORTED_EXTENSION = \"UNSUPPORTED_EXTENSION\",\n}\n","export enum FileUploadPermissions {\n Add = \"add\",\n Read = \"read\",\n Remove = \"remove\",\n}\n\nexport const ALL_PERMISSIONS = [\n FileUploadPermissions.Add,\n FileUploadPermissions.Read,\n FileUploadPermissions.Remove,\n];","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subject } from \"rxjs\";\nimport * as moment_ from \"moment\";\n\nimport { Breakpoints } from \"../utils\";\nimport { FileUploadService } from \"./file-upload.service\";\nimport { ListBlobMetadataResponse } from \"./models/list-blob-metadata\";\nimport { FileDto } from \"./models/file-dto\";\nimport { UploadError } from \"./models/uploadError\";\nimport { ValidateErrors } from \"./models/validate-errors\";\nimport { FileUploadPermissions, ALL_PERMISSIONS } from \"./models/file-upload-permissions\";\n\nconst moment = moment_;\n\n@Component({\n selector: \"s-file-upload\",\n templateUrl: \"./file-upload.component.html\",\n styleUrls: [\"./file-upload.component.scss\"],\n})\nexport class FileUploadComponent implements OnInit, OnDestroy, AfterContentInit {\n public static nextId = 0;\n\n public ADD_PERMISSION = FileUploadPermissions.Add;\n public READ_PERMISSION = FileUploadPermissions.Read;\n public REMOVE_PERMISSION = FileUploadPermissions.Remove;\n\n @ViewChild(\"inputUpload\", { static: false })\n private readonly inputUpload: ElementRef;\n\n @ViewChild(\"anchor\", { static: false })\n private readonly anchor: ElementRef;\n\n @Input()\n public id = `s-file-upload-${FileUploadComponent.nextId++}`;\n\n @Input()\n public chooseLabel: string;\n\n @Input()\n public removeLabel: string;\n\n @Input()\n public cancelLabel: string;\n\n @Input()\n public successTooltip: string;\n\n @Input()\n public multiple: boolean;\n\n @Input()\n public accept: string;\n\n @Input()\n public supportedExtensions: string[] = [];\n\n @Input()\n public ariaLabelFileName: string;\n\n @Input()\n public maxFileSize: number;\n\n @Input()\n public maxCombinedFileSize: number;\n\n @Input()\n public fileLimit: number;\n\n @Input()\n public ariaLabelProgress: string;\n\n @Input()\n public ariaLabelSuccess: string;\n\n @Input()\n public ariaLabelError: string;\n\n @Input()\n public ariaLabelRemove: string;\n\n @Input()\n public formGroup: FormControl;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showFileUploadDate: boolean = false;\n\n @Input()\n public permissions: FileUploadPermissions[] = ALL_PERMISSIONS;\n\n @Input()\n public set files(files: FileDto[]) {\n if (this.showFileUploadDate && files[0]?.objectId) {\n this.getUploadDate(files);\n }\n this._files = files.map(file => {\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));\n }\n return file;\n });\n }\n\n @Output()\n public uploadHandler: EventEmitter<{ files: FileDto[] }> = new EventEmitter();\n\n @Output()\n public removeFile: EventEmitter<{ file: File }> = new EventEmitter();\n\n @Output()\n public cancelUpload: EventEmitter<number> = new EventEmitter();\n\n @Output()\n public downloadFile: EventEmitter<{ index: number; anchor: ElementRef }> = new EventEmitter();\n\n @Output()\n public validateErrors: EventEmitter<UploadError> = new EventEmitter();\n\n private _files: FileDto[] = [];\n private readonly ngUsubscribe: Subject<void> = new Subject();\n public isSmallDevice: boolean;\n public inputValue = \"\";\n public modifiedDate: string;\n\n constructor(private readonly sanitizer: DomSanitizer,\n private readonly fileUploadService: FileUploadService,\n private readonly translate: TranslateService) { }\n\n public ngOnInit(): void {\n this.supportedExtensions = this.supportedExtensions\n .map(extension => extension.replace(\".\", \"\").toLowerCase());\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public onFileSelect(files: FileDto[]): void {\n const newFiles: FileDto[] = [];\n\n if (!this.multiple) {\n this.files = [];\n }\n\n if (this.isFileLimitExceeded(files)) {\n this.validateErrors.emit({\n files,\n validation: ValidateErrors.MAX_FILE_LIMIT,\n });\n this.clearFileInput();\n return;\n }\n\n if (this.isFileCombinedSizeExceeded(files)) {\n this.validateErrors.emit({\n files: files,\n validation: ValidateErrors.MAX_COMBINED_FILE_SIZE,\n });\n this.clearFileInput();\n return;\n }\n\n for (const file of files) {\n if (this.isUnsupportedFileExtension(file)) {\n this.validateErrors.emit({\n files: [file],\n validation: ValidateErrors.UNSUPPORTED_EXTENSION,\n });\n continue;\n }\n\n if (this.isFileSizeExceeded(file)) {\n this.validateErrors.emit({\n files: [file],\n validation: ValidateErrors.MAX_FILE_SIZE,\n });\n continue;\n }\n\n newFiles.push(file);\n }\n\n if (newFiles.length) {\n this.files = this.files.concat(newFiles);\n this.uploadHandler.emit({\n files: newFiles,\n });\n }\n\n this.clearFileInput();\n }\n\n public onRemoveFile(file: FileDto): void {\n const fileIndex = this.files.indexOf(file);\n const removedFiles = this.files.splice(fileIndex, 1);\n\n if (removedFiles.length) {\n this.removeFile.emit({ file });\n }\n }\n\n public onCancelUpload(index: number) {\n const removedFiles = this.files.splice(index, 1);\n\n if (removedFiles.length) {\n this.cancelUpload.emit(index);\n }\n\n this.clearFileInput();\n }\n\n public onDowloadFile(index: number) {\n this.downloadFile.emit({\n index,\n anchor: this.anchor,\n });\n }\n\n public get files(): FileDto[] {\n return this._files;\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;\n }\n\n private isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n private isFileLimitExceeded(files: FileDto[]) {\n if (!this.fileLimit) {\n return false;\n }\n return this.files.length + files.length > this.fileLimit;\n }\n\n private isFileCombinedSizeExceeded(files: File[]): boolean {\n if (!this.maxCombinedFileSize) {\n return false;\n }\n\n const filesList = [...files, ...this.files];\n\n const combinedSize = filesList.reduce((combinedSize, file) => combinedSize + file.size, 0);\n\n return combinedSize > this.maxCombinedFileSize;\n }\n\n private isFileSizeExceeded(file: File): boolean {\n if (!this.maxFileSize) {\n return false;\n }\n return file.size > this.maxFileSize;\n }\n\n private isUnsupportedFileExtension(file: File) {\n if (this.supportedExtensions?.length) {\n const extension = file.name.split(\".\").pop().toLowerCase();\n return !this.supportedExtensions.includes(extension);\n }\n return false;\n }\n\n private clearFileInput() {\n this.inputUpload.nativeElement.value = null;\n }\n\n private getUploadDate(blobFile: FileDto[]): void {\n if (!blobFile) {\n return;\n }\n\n this.fileUploadService.getMetadataCustomField({ objectId: blobFile[0].objectId })\n .then(metadata => this.setModifiedDate(metadata));\n }\n\n private setModifiedDate(metadata: ListBlobMetadataResponse): void {\n const hour = moment(metadata.modified).format(\"HH\");\n const minutes = moment(metadata.modified).format(\"mm\");\n const day = moment(metadata.modified).format(\"DD\");\n const month = moment(metadata.modified).format(\"MM\");\n const fullYear = moment(metadata.modified).format(\"YYYY\");\n\n this.modifiedDate = this.translate.instant(\"platform.angular_components.date_modified_custom_blob\", { hour, minutes, day, month, fullYear });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { ProgressBarModule } from \"primeng/progressbar\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { FileUploadService } from \"./file-upload.service\";\nimport { FileUploadComponent } from \"./file-upload.component\";\n\n@NgModule({\n declarations: [FileUploadComponent],\n imports: [\n CommonModule,\n ButtonModule,\n TooltipModule,\n ProgressBarModule,\n TranslateModule,\n ],\n providers: [FileUploadService],\n exports: [FileUploadComponent],\n})\nexport class FileUploadModule {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n templateUrl: \"./iassist-icon.component.html\",\n})\nexport class IAssistIconComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n templateUrl: \"./senior-icon.component.html\",\n})\nexport class SeniorIconComponent {}\n","export enum SVGFactoryIcons {\n IAssist = \"iassist\",\n Senior = \"senior\",\n}","import { Directive, ViewContainerRef, ComponentFactoryResolver, Input, ChangeDetectorRef, AfterViewInit } from \"@angular/core\";\n\nimport { IAssistIconComponent } from \"./components/iassist-icon/iassist-icon.component\";\nimport { SeniorIconComponent } from \"./components/senior-icon/senior-icon.component\";\nimport { SVGFactoryIcons } from \"./components/svg-factory-icons\";\n\n@Directive({\n selector: \"[sSVGFactory]\",\n})\nexport class SVGFactoryDirective implements AfterViewInit {\n @Input(\"sSVGFactory\")\n public set sSVGFactory(icon: SVGFactoryIcons) {\n this._iconClass = this._getIconClass(icon);\n }\n\n private _iconClass = this._getIconClass(SVGFactoryIcons.Senior);\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private cdr: ChangeDetectorRef,\n ) {}\n\n public ngAfterViewInit() {\n this._createComponent();\n }\n\n private _createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(this._iconClass);\n this.viewContainerRef.clear();\n this.viewContainerRef.createComponent(factory);\n this.cdr.detectChanges();\n }\n\n private _getIconClass(icon: SVGFactoryIcons) {\n switch (icon) {\n case SVGFactoryIcons.IAssist:\n return IAssistIconComponent;\n case SVGFactoryIcons.Senior:\n default:\n return SeniorIconComponent;\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SVGFactoryDirective } from \"./svg-factory.directive\";\nimport { IAssistIconComponent } from \"./components/iassist-icon/iassist-icon.component\";\nimport { SeniorIconComponent } from \"./components/senior-icon/senior-icon.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n SVGFactoryDirective,\n IAssistIconComponent,\n SeniorIconComponent,\n ],\n exports: [SVGFactoryDirective],\n})\nexport class SVGFactoryModule {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-dots-indicator\",\n templateUrl: \"./dots-indicator.component.html\",\n styleUrls: [\"./dots-indicator.component.scss\"],\n})\nexport class DotsIndicatorComponent {}","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-logo-indicator\",\n templateUrl: \"./logo-indicator.component.html\",\n styleUrls: [\"./logo-indicator.component.scss\"],\n})\nexport class LoadingIndicatorComponent {}\n","export enum LoadingStateIndicators {\n Dots = \"dots\",\n Logo = \"logo\",\n}","import { Component, Input, OnDestroy, TemplateRef } from \"@angular/core\";\n\nimport { LoadingStateIndicators } from \"./components/loading-state-indicators\";\n\n@Component({\n selector: \"s-loading-state\",\n templateUrl: \"./loading-state.component.html\",\n styleUrls: [\"./loading-state.component.scss\"],\n})\nexport class LoadingStateComponent implements OnDestroy {\n public static nextId = 0;\n \n @Input()\n public indicator: LoadingStateIndicators = LoadingStateIndicators.Dots;\n\n @Input()\n public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n @Input()\n public blockWindow: boolean;\n\n @Input()\n public set loading(loading: boolean) {\n this._loading = loading;\n loading ? this.block() : this.unblock(); \n }\n\n public get loading() {\n return this._loading;\n }\n\n public contents: TemplateRef<any>;\n public blocking: boolean;\n\n private _loading: boolean;\n private BLOCK_TIMEOUT_VALUE = 300;\n private UNBLOCK_TIMEOUT_VALUE = 200;\n private blockTimeoutId: any;\n private unblockTimeoutId: any;\n\n public block(): void {\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n this.unblockTimeoutId = undefined;\n }\n\n if (!this.blockTimeoutId) {\n this.blockTimeoutId = setTimeout(() => {\n this.blocking = true;\n this.blockTimeoutId = undefined;\n }, this.BLOCK_TIMEOUT_VALUE);\n }\n }\n\n public unblock(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n this.blockTimeoutId = undefined;\n }\n\n if (!this.unblockTimeoutId) {\n this.unblockTimeoutId = setTimeout(() => {\n this.blocking = false;\n this.unblockTimeoutId = undefined;\n }, this.UNBLOCK_TIMEOUT_VALUE);\n }\n }\n\n public ngOnDestroy(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n }\n\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\n\nimport { LoadingStateComponent } from \"./loading-state.component\";\nimport { LoadingStateIndicators } from \"./components/loading-state-indicators\";\n\n@Directive({\n selector: \"[sLoadingState]\",\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n @Input(\"sLoadingState\")\n public set sLoadingState(value: boolean | { loading: boolean; indicator?: LoadingStateIndicators }) {\n if (typeof value === \"boolean\") {\n this._loading = value;\n this.indicator = LoadingStateIndicators.Dots;\n } else if (typeof value === \"object\") {\n this._loading = value.loading;\n this.indicator = value.indicator || LoadingStateIndicators.Dots;\n }\n\n if (this.loaderComponent) {\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n }\n }\n\n private _loading = false;\n private indicator = LoadingStateIndicators.Dots;\n private loaderComponent: ComponentRef<LoadingStateComponent>;\n\n constructor(\n private target: ViewContainerRef,\n private template: TemplateRef<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private cdr: ChangeDetectorRef\n ) {}\n\n public ngAfterViewInit() {\n this.createComponent();\n }\n\n private createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n this.loaderComponent = this.target.createComponent(factory);\n this.loaderComponent.instance.contents = this.template;\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n this.cdr.detectChanges();\n }\n\n public ngOnDestroy() {\n if (this.loaderComponent) {\n this.loaderComponent.destroy();\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { SVGFactoryModule } from \"../../utils/svg-factory/svg-factory.module\";\nimport { DotsIndicatorComponent } from \"./components/dots-indicator/dots-indicator.components\";\nimport { LoadingIndicatorComponent } from \"./components/logo-indicator/logo-indicator.component\";\nimport { LoadingStateComponent } from \"./loading-state.component\";\nimport { LoadingStateDirective } from \"./loading-state.directive\";\n\n@NgModule({\n imports: [\n CommonModule,\n SVGFactoryModule,\n ],\n declarations: [\n LoadingStateComponent,\n LoadingStateDirective,\n DotsIndicatorComponent,\n LoadingIndicatorComponent,\n ],\n exports: [\n LoadingStateComponent,\n LoadingStateDirective,\n ],\n entryComponents: [LoadingStateComponent],\n})\nexport class LoadingStateModule {}\n","import { Directive, forwardRef, Input, OnInit } from \"@angular/core\";\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from \"@angular/forms\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { first } from \"rxjs/operators\";\n\n@Directive({\n selector: \"input[sLocalizedNumberInput]\",\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => LocalizedNumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class LocalizedNumberInputDirective implements OnInit, Validator {\n @Input()\n public decimalSeparator: string;\n @Input()\n public thousandsSeparator: string;\n @Input()\n public precision = 2;\n\n private numberRegex: string;\n\n constructor(private readonly localeService: LocaleService) {}\n\n ngOnInit() {\n // Gera a expressão regular para validar números de acordo com os separadores decimais e de milhares.\n // Exemplo: /^(\\+?)(\\-?)([0-9]{0,3})*((\\,[0-9]{3,3})|((\\,[0-9]{3,3})+(\\,[0-9]{3,3}))|((\\,[0-9]{3,3})+(\\.[0-9]{1,10})))?$/g\n // tslint:disable-next-line: max-line-length\n this.numberRegex = `^((\\\\+?)|(-?))([0-9]{1,3})+((\\\\${this.thousandsSeparator}[0-9]{3,3})|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.thousandsSeparator}[0-9]{3,3}))|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.decimalSeparator}[0-9]{1,2}))|(\\\\${this.decimalSeparator}[0-9]{1,${this.precision}}))?$`;\n\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this.localeService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this.localeService.getGroupingSeparator();\n\n this.numberRegex = `^((\\\\+?)|(-?))([0-9]{1,3})+((\\\\${this.thousandsSeparator}[0-9]{3,3})|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.thousandsSeparator}[0-9]{3,3}))|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.decimalSeparator}[0-9]{1,2}))|(\\\\${this.decimalSeparator}[0-9]{1,${this.precision}}))?$`;\n });\n }\n\n validate(control: AbstractControl): ValidationErrors {\n if (control.value && !String(control.value).match(new RegExp(this.numberRegex, \"g\"))) return { invalidNumber: true };\n return null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LocalizedNumberInputDirective } from \"./localized-number-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LocalizedNumberInputDirective],\n exports: [LocalizedNumberInputDirective],\n})\nexport class LocalizedNumberInputModule {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"sMaskFormatter\",\n})\nexport class MaskFormatterPipe implements PipeTransform {\n private defs = {\n \"9\": \"[0-9]\",\n a: \"[A-Za-z]\",\n \"*\": \"[A-Za-z]|[0-9]\",\n };\n\n transform(value: string, maskFormat: string): any {\n const buffer = [];\n let opcionalPos;\n let pos = 0;\n const maskTokens = maskFormat.split(\"\");\n const symbolsPosAfterOpcional = [];\n const hasOpcional = maskFormat.includes(\"?\");\n\n for (let i = 0; i < maskTokens.length; i++) {\n const token = maskTokens[i];\n\n if (token != \"?\") {\n if (this.defs[token]) {\n const tokenRegex = this.defs[token];\n const charAtPos = value.charAt(pos);\n const isValidChar = new RegExp(tokenRegex).test(charAtPos);\n if (isValidChar) {\n if (pos < maskTokens.length) {\n buffer.push(value.charAt(pos));\n pos++;\n }\n } else {\n throw new Error(\"Value doesn't match mask format\");\n }\n } else {\n buffer.push(token);\n if (hasOpcional && i > opcionalPos) {\n symbolsPosAfterOpcional.push(i);\n }\n }\n } else {\n opcionalPos = i;\n }\n }\n\n if (buffer[buffer.length - 1] !== value.charAt(value.length - 1) && symbolsPosAfterOpcional.length) {\n let formattedValue = buffer.join(\"\");\n let beforeSymbol;\n let symbol;\n let firstAfterSymbol;\n let endOfString;\n\n for (let i = 0; i < symbolsPosAfterOpcional.length; i++) {\n const symbolPos = symbolsPosAfterOpcional[i];\n beforeSymbol = formattedValue.substr(0, symbolPos - 1);\n symbol = formattedValue.substr(symbolPos - 1, 1);\n firstAfterSymbol = formattedValue.substr(symbolPos, 1);\n endOfString = formattedValue.substr(symbolPos + 1);\n\n formattedValue = `${beforeSymbol}${firstAfterSymbol}${symbol}${endOfString}`;\n }\n return `${formattedValue}${value.substr(value.length - symbolsPosAfterOpcional.length)}`;\n }\n\n return buffer.join(\"\");\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { MaskFormatterPipe } from \"./mask-formatter.pipe\";\n\n@NgModule({\n exports: [MaskFormatterPipe],\n declarations: [MaskFormatterPipe],\n})\nexport class MaskFormatterModule {}\n","export enum PasswordStrengths {\n VeryWeak = \"Very_weak\",\n Weak = \"weak\",\n Medium = \"medium\",\n Strong = \"strong\",\n}","export enum PasswordStrengthPositions {\n Top = \"top\",\n Right = \"right\",\n Left = \"left\",\n}","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport { PasswordStrengths, PasswordStrengthPositions } from \"./models/index\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Component({\n templateUrl: \"./password-strength.component.html\",\n styleUrls: [\"./password-strength.component.scss\"],\n})\nexport class PasswordStrengthComponent implements OnInit {\n @Input()\n public weakTitle: string;\n\n @Input()\n public mediumTitle: string;\n\n @Input()\n public strongTitle: string;\n\n @Input()\n public description: string;\n\n public title: string;\n public position = PasswordStrengthPositions.Right;\n public left = 0;\n public top = 0;\n public visible = false;\n\n constructor(private readonly translate: TranslateService) {}\n\n public ngOnInit(): void {\n this.title = this.weakTitle;\n }\n\n public setPasswordStrengthPosition() {\n const passwordStrength = document.querySelector(\".password-strength\");\n\n switch (this.position) {\n case PasswordStrengthPositions.Top:\n passwordStrength.classList.add(\"password-strength--top\");\n break;\n case PasswordStrengthPositions.Right:\n passwordStrength.classList.add(\"password-strength--right\");\n break;\n case PasswordStrengthPositions.Left:\n passwordStrength.classList.add(\"password-strength--left\");\n break;\n }\n }\n\n public updateIndicators(passwordStrength: PasswordStrengths) {\n const strengthIndicator1 = document.querySelector(\"#strength-indicator-1\");\n const strengthIndicator2 = document.querySelector(\"#strength-indicator-2\");\n const strengthIndicator3 = document.querySelector(\"#strength-indicator-3\");\n\n const onIndicators = [];\n const indicators = [\n strengthIndicator1,\n strengthIndicator2,\n strengthIndicator3,\n ];\n\n let strengthClass: string;\n\n switch (passwordStrength) {\n case PasswordStrengths.VeryWeak:\n this.title = this.weakTitle ?? this.translate.instant(\"platform.angular_components.weak\");\n break;\n case PasswordStrengths.Weak:\n this.title = this.weakTitle ?? this.translate.instant(\"platform.angular_components.weak\");\n strengthClass = \"strength-indicator--weak\";\n onIndicators.push(strengthIndicator1);\n break;\n case PasswordStrengths.Medium:\n this.title = this.mediumTitle ?? this.translate.instant(\"platform.angular_components.medium\");\n strengthClass = \"strength-indicator--medium\";\n onIndicators.push(strengthIndicator1);\n onIndicators.push(strengthIndicator2);\n break;\n case PasswordStrengths.Strong:\n this.title = this.strongTitle ?? this.translate.instant(\"platform.angular_components.strong\");\n strengthClass = \"strength-indicator--strong\";\n onIndicators.push(strengthIndicator1);\n onIndicators.push(strengthIndicator2);\n onIndicators.push(strengthIndicator3);\n break;\n }\n\n indicators.forEach(indicator => {\n indicator.classList.remove(\n \"strength-indicator--weak\",\n \"strength-indicator--medium\",\n \"strength-indicator--strong\",\n );\n });\n\n onIndicators.forEach(indicator => {\n indicator.classList.add(strengthClass);\n });\n }\n}","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnInit,\n} from \"@angular/core\";\n\nimport { PasswordStrengthPositions, PasswordStrengths } from \"./models/index\";\nimport { PasswordStrengthComponent } from \"./password-strength.component\";\n\n@Directive({\n selector: \"[sPasswordStrength]\",\n})\nexport class PasswordStrengthDirective implements OnInit {\n @Input(\"sPasswordStrength\")\n public enabled = true;\n\n @Input(\"psValidation\")\n public validation: (content: string) => PasswordStrengths;\n\n @Input(\"psPosition\")\n public position = PasswordStrengthPositions.Right;\n\n @Input(\"psWeakTitle\")\n public weakTitle: string;\n\n @Input(\"psMediumTitle\")\n public mediumTitle: string;\n\n @Input(\"psStrongTitle\")\n public strongTitle: string;\n\n @Input(\"psDescription\")\n public description: string;\n\n private componentRef: ComponentRef<any> = null;\n\n constructor(\n private elementRef: ElementRef,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n ) { }\n\n public ngOnInit() {\n this.validateProperties();\n }\n\n @HostListener(\"keyup\")\n @HostListener(\"focus\")\n public onFocus(): void {\n const content = this.elementRef.nativeElement.value ?? \"\";\n \n if (content) {\n this.createPasswordStrength();\n this.componentRef?.instance.updateIndicators(this.validation(content));\n } else {\n this.componentRef?.instance.updateIndicators(PasswordStrengths.VeryWeak);\n }\n }\n\n @HostListener(\"blur\")\n public onBlur(): void {\n this.destroyPasswordStrength();\n }\n\n private createPasswordStrength() {\n if (this.enabled && this.componentRef === null) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(PasswordStrengthComponent);\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.setPasswordStrengthComponentProperties();\n\n this.showPasswordStrength();\n }\n }\n\n private showPasswordStrength() {\n if (this.componentRef !== null) {\n this.componentRef.instance.visible = true;\n }\n }\n\n private setPasswordStrengthComponentProperties() {\n if (this.componentRef != null) {\n this.componentRef.instance.position = this.position;\n this.componentRef.instance.weakTitle = this.weakTitle;\n this.componentRef.instance.mediumTitle = this.mediumTitle;\n this.componentRef.instance.strongTitle = this.strongTitle;\n this.componentRef.instance.description = this.description;\n\n const { top, right, bottom, left } = this.elementRef.nativeElement.getBoundingClientRect();\n\n const margin = 20;\n const elementRefHeight = bottom - top;\n const elementRefWidth = right - left;\n const safeSpace = 150;\n\n let positioned = false;\n const invalidOptions: PasswordStrengthPositions[] = [];\n\n while (!positioned) {\n if (invalidOptions.includes(PasswordStrengthPositions.Top)\n && invalidOptions.includes(PasswordStrengthPositions.Right)\n && invalidOptions.includes(PasswordStrengthPositions.Left)) {\n this.destroyPasswordStrength();\n throw new Error(\"No space to show password strength\");\n }\n\n switch (this.position) {\n case PasswordStrengthPositions.Top: {\n const topShift = top;\n const rightShift = document.body.clientWidth - right;\n const leftShift = left;\n\n if (topShift <= elementRefHeight + safeSpace || rightShift < 50 || leftShift < 50) {\n this.position = PasswordStrengthPositions.Right;\n invalidOptions.push(PasswordStrengthPositions.Top);\n break;\n }\n\n this.componentRef.instance.top = Math.round(top - margin);\n this.componentRef.instance.left = Math.round(elementRefWidth / 2 + left);\n positioned = true;\n break;\n }\n case PasswordStrengthPositions.Right: {\n const rightShift = document.body.clientWidth - right;\n\n if (rightShift <= elementRefWidth + safeSpace) {\n this.position = PasswordStrengthPositions.Left;\n invalidOptions.push(PasswordStrengthPositions.Right);\n break;\n }\n\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\n this.componentRef.instance.left = Math.round(right + margin);\n positioned = true;\n break;\n }\n case PasswordStrengthPositions.Left: {\n const leftShift = left;\n\n if (leftShift <= elementRefWidth + safeSpace) {\n this.position = PasswordStrengthPositions.Top;\n invalidOptions.push(PasswordStrengthPositions.Left);\n break;\n }\n\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\n this.componentRef.instance.left = Math.round(left - margin);\n positioned = true;\n break;\n }\n default: {\n break;\n }\n }\n\n this.componentRef.instance.position = this.position;\n }\n }\n }\n\n private validateProperties() {\n this.validation = this.validation || this.defaultValidator;\n }\n\n private destroyPasswordStrength(): void {\n if (this.componentRef !== null) {\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private defaultValidator(content: string): PasswordStrengths {\n let points = 0;\n\n const regExpValidations = [\n new RegExp(\"(?=.*\\\\d)\"), // number\n new RegExp(\"(?=.*[a-z])\"), // lowercase\n new RegExp(\"(?=.*[A-Z])\"), // uppercase\n new RegExp(\"(?=.*[!@#$%&*.\\\\-=+^~])\"), // special character\n ];\n\n if (content.length >= 6) {\n points++;\n }\n\n regExpValidations.forEach(validation => {\n if (validation.test(content)) {\n points++;\n }\n });\n\n if (points < 1) {\n return PasswordStrengths.VeryWeak;\n } else if (points < 4) {\n return PasswordStrengths.Weak;\n } else if (points < 5) {\n return PasswordStrengths.Medium;\n } else {\n return PasswordStrengths.Strong;\n }\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PasswordStrengthDirective } from \"./password-strength.directive\";\nimport { PasswordStrengthComponent } from \"./password-strength.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n PasswordStrengthComponent,\n PasswordStrengthDirective,\n ],\n exports: [PasswordStrengthDirective],\n})\nexport class PasswordStrengthModule { }\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Table, TableService } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"s-table-header-checkbox\",\n template: `\n <div class=\"ui-chkbox ui-widget\" (click)=\"onClick()\">\n <div class=\"ui-helper-hidden-accessible\">\n <input type=\"checkbox\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\">\n </div>\n <div [ngClass]=\"{'ui-chkbox-box ui-widget ui-state-default':true,\n 'ui-state-active':checked, 'ui-state-disabled': isDisabled(), 'ui-state-focus': hasFocus}\">\n <span [id]=\"id\" class=\"ui-chkbox-icon ui-clickable\" [ngClass]=\"{'pi pi-check':checked}\"></span>\n </div>\n </div>\n `,\n})\nexport class TableHeaderCheckboxComponent implements OnInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `s-table-header-checkbox-${TableHeaderCheckboxComponent.nextId++}`;\n @Input()\n public disabled: boolean;\n @Input()\n public rowProps: string[];\n @Input()\n public useAllObject: boolean;\n\n public checked: boolean;\n public hasFocus: boolean;\n\n private ngUnsubscribe = new Subject();\n\n constructor(public table: Table, public tableService: TableService) {\n this.table.tableService.valueSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n\n this.table.tableService.selectionSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n }\n\n public ngOnInit() {\n this.checked = this.updateCheckedState();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n }\n\n public onFocus() {\n this.hasFocus = true;\n }\n\n public onBlur() {\n this.hasFocus = false;\n }\n\n isDisabled() {\n return this.disabled || !this.table.value || !this.table.value.length;\n }\n\n onClick() {\n if (!this.disabled) {\n if (this.table.value && this.table.value.length > 0) this.onToggleCheckbox(!this.checked);\n }\n }\n\n public updateCheckedState() {\n if (this.table.filteredValue) {\n const val = this.table.filteredValue;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllFilteredValuesChecked();\n } else {\n const val = this.table.value;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllValuesChecked();\n }\n }\n\n public onToggleCheckbox(checked: boolean) {\n const { filteredValue, value, dataKey } = this.table;\n const gridData = checked ? (filteredValue ? filteredValue.slice() : value.slice()) : [];\n\n if (checked) {\n const unselecteds = gridData\n .filter(record => !this.table._selection.find((selected: any) => record[dataKey] === selected[dataKey]))\n .map((record: any) => {\n if (this.useAllObject) return record;\n\n const newRecord = {};\n if (this.rowProps) this.rowProps.forEach((prop: string) => (newRecord[prop] = record[prop]));\n else newRecord[dataKey] = record[dataKey];\n return newRecord;\n });\n this.table._selection = [...this.table._selection, ...unselecteds];\n } else {\n value.forEach((data: any) => {\n this.table._selection = this.table._selection.filter((record: any) => record[dataKey] !== data[dataKey]);\n });\n }\n\n this.table.updateSelectionKeys();\n this.table.selectionChange.emit(this.table._selection);\n this.tableService.onSelectionChange();\n\n if (this.table.isStateful()) this.table.saveState();\n }\n\n public isAllFilteredValuesChecked() {\n if (!this.table.filteredValue) {\n return false;\n } else {\n for (const rowData of this.table.filteredValue) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n\n public isAllValuesChecked() {\n if (!this.table.value) {\n return false;\n } else {\n for (const rowData of this.table.value) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TableHeaderCheckboxComponent } from \"./table-header-checkbox.component\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [TableHeaderCheckboxComponent],\n declarations: [TableHeaderCheckboxComponent],\n})\nexport class TableHeaderCheckboxModule {}\n","import { Directive, HostListener } from \"@angular/core\";\n\n@Directive({ selector: \"[sNavigation]\" })\nexport class NavigationDirective {\n @HostListener(\"keydown\", [\"$event\"])\n onKeyDown(event: KeyboardEvent): void {\n switch (event.key) {\n case \"Right\": // IE 11\n case \"ArrowRight\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusFirstColFromCurrentRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusNextSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Left\": // IE 11\n case \"ArrowLeft\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusLastColFromPrevRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusPrevSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Up\": // IE 11\n case \"ArrowUp\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setPrevRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setAboveColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Down\": // IE 11\n case \"ArrowDown\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setNextRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setUnderColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n }\n }\n\n private focusLastColFromPrevRow(event: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(event);\n\n if (prevRow) {\n (prevRow.lastElementChild as HTMLTableColElement).focus();\n }\n }\n\n private focusFirstColFromCurrentRow(row: HTMLTableRowElement): void {\n const firstCol = row.firstElementChild as HTMLTableColElement;\n\n if (firstCol) {\n firstCol.focus();\n }\n }\n\n private focusNextSelectableCol(col: HTMLTableColElement): void {\n const nextCol = col.nextElementSibling as HTMLTableColElement;\n\n if (nextCol) {\n nextCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return this.setNextRowFocus(currentRow);\n }\n }\n\n private focusPrevSelectableCol(col: HTMLTableColElement): void {\n const prevCol = col.previousElementSibling as HTMLTableColElement;\n\n if (prevCol) {\n prevCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return currentRow.focus();\n }\n }\n\n private setAboveColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const prevRow = this.findPrevSelectableRow(currentRow as HTMLTableRowElement);\n\n if (prevRow) (prevRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setUnderColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const nextRow = this.findNextSelectableRow(currentRow as HTMLTableRowElement);\n if (nextRow) (nextRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setNextRowFocus(row: HTMLTableRowElement): void {\n const nextRow = this.findNextSelectableRow(row);\n if (nextRow) {\n nextRow.focus();\n }\n }\n\n private setPrevRowFocus(row: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(row);\n if (prevRow) {\n prevRow.focus();\n }\n }\n\n private isRow(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"tr\";\n }\n\n private isCol(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"td\";\n }\n\n private findPrevSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const prevRow = <HTMLTableRowElement>row.previousElementSibling;\n if (prevRow) return prevRow;\n else return null;\n }\n\n private findNextSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const nextRow = <HTMLTableRowElement>row.nextElementSibling;\n if (nextRow) return nextRow;\n else return null;\n }\n}\n","import { Directive, HostListener, Input } from \"@angular/core\";\nimport { RowToggler, Table } from \"primeng/table\";\n\n@Directive({ selector: \"[sRowToggler]\" })\nexport class RowTogllerDirective extends RowToggler {\n @Input(\"sRowToggler\")\n data: any;\n\n constructor(public dt: Table) {\n super(dt);\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent) {\n if (this.isEnabled()) {\n switch (event.key) {\n case \"Enter\":\n this.dt.toggleRow(this.data, event);\n event.preventDefault();\n break;\n default:\n event.preventDefault();\n break;\n }\n }\n }\n}\n","import { AfterContentChecked, AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy } from \"@angular/core\";\nimport { Table } from \"primeng/table\";\n\n@Directive({\n selector: \"[sTableFrozenPosition]\"\n})\nexport class TableFrozenPositionDirective implements AfterViewInit, OnDestroy, AfterContentChecked {\n @Input()\n sTableFrozenPosition = \"left\";\n\n @Input()\n set sTableFrozenValue(_: any[]) {\n setTimeout(() => {\n this.synchronizeRowHeight();\n this.setUpRowResizeMonitoring();\n });\n }\n\n private table: Table;\n private isTableVisible = false;\n\n tableHeadObservable: MutationObserver;\n rowExpandedObserver: any;\n onColumnsChanged: EventEmitter<any> = new EventEmitter();\n\n private tableWrapperObserver: MutationObserver;\n\n private readonly TABLE_SCROLLABLE_WRAPPER_CLASS = \".ui-table-scrollable-wrapper\";\n\n constructor(private el: ElementRef, host: Table) {\n this.table = host;\n this.table.styleClass = (this.table.styleClass || \"\") + \" s-table-frozen-position\";\n this.setUpTableEvents();\n\n window.addEventListener(\"resize\", this.handleWindowResize.bind(this));\n\n const htmlHead = document.getElementsByTagName(\"head\")[0];\n\n const expandFrozenStyle = document.createElement(\"style\");\n expandFrozenStyle.innerHTML = \".s-table-frozen-position .ui-table-frozen-view .sds-expanded-row > td { visibility: hidden; }\";\n htmlHead.appendChild(expandFrozenStyle);\n }\n\n ngAfterViewInit(): void {\n if (this.sTableFrozenPosition === \"left\") return;\n this.applyStylesForTable();\n this.setUpColumnMonitoring();\n }\n\n ngAfterContentChecked(): void {\n if (!this.isTableVisible && !!this.table.el.nativeElement.offsetParent) {\n this.isTableVisible = true;\n\n this.synchronizeRowHeight();\n } else if (this.isTableVisible && !this.table.el.nativeElement.offsetParent) {\n this.isTableVisible = false;\n }\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"resize\", this.handleWindowResize.bind(this));\n if (this.tableHeadObservable) {\n this.tableHeadObservable.disconnect();\n }\n\n if (this.rowExpandedObserver) {\n this.rowExpandedObserver.disconnect();\n }\n\n if (this.tableWrapperObserver) {\n this.tableWrapperObserver.disconnect();\n }\n }\n\n private setUpTableEvents() {\n this.table.onColResize.subscribe(() => {\n this.handleColResize();\n });\n\n this.table.onRowExpand.subscribe(() => {\n this.setUpRowResizeMonitoring();\n });\n }\n\n private setUpRowResizeMonitoring() {\n if (this.rowExpandedObserver) {\n this.rowExpandedObserver.disconnect();\n }\n\n // The version of Angular/Typescript does not recognize the object ResizeObserver and breaks build\n this.rowExpandedObserver = new (window as any).ResizeObserver(() => {\n this.applyHeightForExpandedRows();\n });\n\n setTimeout(() => {\n const tdsToAdjust = this.el.nativeElement.querySelectorAll(\".ui-table-frozen-view .sds-expanded-row > td\");\n const originalsTds = this.el.nativeElement.querySelectorAll(\".ui-table-unfrozen-view .sds-expanded-row > td\");\n tdsToAdjust.forEach((td: HTMLElement, index: number) => {\n const originalTd: HTMLElement = originalsTds[index];\n td.innerHTML = null;\n td.style.padding = \"0px\";\n\n this.rowExpandedObserver.observe(originalTd);\n });\n });\n }\n\n private setUpColumnMonitoring() {\n this.tableHeadObservable = new MutationObserver(() => {\n this.synchronizeRowHeight();\n this.onColumnsChanged.emit(null);\n });\n const tableHeads = [...this.el.nativeElement.getElementsByTagName(\"thead\")];\n tableHeads.forEach((tableHead: Element) => {\n this.tableHeadObservable.observe(tableHead, {\n subtree: true,\n childList: true\n });\n });\n\n const tableWraper = this.el.nativeElement.querySelector(this.TABLE_SCROLLABLE_WRAPPER_CLASS);\n if (tableWraper) {\n const mutationObserver = new MutationObserver(() => {\n this.synchronizeRowHeight();\n })\n\n mutationObserver.observe(tableWraper, {\n subtree: true,\n childList: true\n })\n this.tableWrapperObserver = mutationObserver;\n }\n }\n\n private applyHeightForExpandedRows() {\n const frozenTDsToAdjust = this.el.nativeElement.querySelectorAll(\".ui-table-frozen-view .sds-expanded-row > td\");\n const unFrozenTDs = this.el.nativeElement.querySelectorAll(\".ui-table-unfrozen-view .sds-expanded-row > td\");\n frozenTDsToAdjust.forEach((frozenTd: HTMLElement, index: number) => {\n const unfrozenTD: HTMLElement = unFrozenTDs[index];\n const unfrozenHeight = unfrozenTD.getBoundingClientRect().height;\n const frozenHeight = frozenTd.getBoundingClientRect().height;\n\n if (Math.abs(unfrozenHeight - frozenHeight) > 1) {\n frozenTd.style.height = `${unfrozenHeight}px`;\n frozenTd.innerHTML = null;\n }\n });\n }\n\n private applyStylesForTable() {\n const scrollWrapper = this.el.nativeElement.querySelector(this.TABLE_SCROLLABLE_WRAPPER_CLASS);\n if (!scrollWrapper) {\n console.warn(\"Unable to find scroll-wrapper element from table. Is the table configured with frozen template?\");\n return;\n }\n scrollWrapper.style.display = \"flex\";\n scrollWrapper.style.flexDirection = \"row\";\n\n const frozenTable = this.el.nativeElement.querySelector(\".ui-table-frozen-view\");\n if (!frozenTable) {\n console.warn(\"Unable to find frozen element from table. Is the table configured with frozen template?\");\n return;\n }\n\n frozenTable.style.order = \"1\";\n frozenTable.style.borderRight = \"none\";\n frozenTable.style.borderLeft = \"1px solid #dddddd\";\n frozenTable.style.boxShadow = \"-5px 0 5px -5px #cccccc\";\n\n const unfrozenTable = this.el.nativeElement.querySelector(\".ui-table-unfrozen-view\");\n if (!unfrozenTable) {\n console.warn(\"Unable to find unfrozen element from table. Is the table configured with frozen template?\");\n return;\n }\n unfrozenTable.style.position = \"unset\";\n }\n\n private handleWindowResize() {\n this.synchronizeRowHeight();\n }\n\n private handleColResize() {\n this.synchronizeRowHeight();\n }\n\n private synchronizeRowHeight() {\n const tableBodyWrappers = this.el.nativeElement.getElementsByClassName(\"ui-table-scrollable-body\");\n const tableBodies = [...tableBodyWrappers].map(divWrapper => [...divWrapper.childNodes].find(p => p.tagName === \"TABLE\"));\n this._resetRowHeight(tableBodies);\n this._applyMaxRowHeight(tableBodies);\n\n const tableHeadWrappers = this.el.nativeElement.getElementsByClassName(\"ui-table-scrollable-header-box\");\n const tableHeads = [...tableHeadWrappers].map(divWrapper => [...divWrapper.childNodes].find(p => p.tagName === \"TABLE\"));\n this._resetRowHeight(tableHeads);\n this._applyMaxRowHeight(tableHeads);\n }\n\n private _applyMaxRowHeight(tables: any[]) {\n if (!tables || !tables.length) {\n return;\n }\n\n const lengths = tables.map(table => table.rows.length);\n const maxLength = lengths.reduce((accumulator, currentValue) => Math.max(accumulator, currentValue), lengths[0]);\n const minLength = lengths.reduce((accumulator, currentValue) => Math.min(accumulator, currentValue), lengths[0]);\n\n if (maxLength !== minLength) {\n throw new Error(\"The number of rows in both tables must be the same\");\n }\n\n const table = tables[0];\n\n for (let i = 0; i < table.rows.length; i++) {\n const trs = [];\n for (const table of tables) {\n trs.push(table.rows[i] as HTMLTableRowElement);\n }\n\n const max = trs.reduce((accumulator, currentValue) =>\n Math.max(accumulator, currentValue.getBoundingClientRect().height), trs[0].getBoundingClientRect().height);\n\n for (const tr of trs) {\n tr.style.height = `${max}px`;\n }\n }\n }\n\n private _resetRowHeight(tables: any[]) {\n for (const table of tables) {\n for (const row of table.rows) {\n row.style.height = \"unset\";\n }\n }\n }\n}\n","export enum EnumColumnFieldType {\n STRING = \"STRING\",\n NUMBER = \"NUMBER\",\n BOOLEAN = \"BOOLEAN\",\n DATE = \"DATE\",\n CURRENCY = \"CURRENCY\",\n ENUM = \"ENUM\",\n LOOKUP = \"LOOKUP\",\n LINK = \"LINK\",\n TOKENS = \"TOKENS\"\n}\n","import { BadgeColors } from \"../../../badge/models/badge-colors\";\n\nexport enum EnumBadgeColors {\n RED = BadgeColors.Red,\n ORANGE = BadgeColors.Orange,\n YELLOW = BadgeColors.Yellow,\n GREEN = BadgeColors.Green,\n BLUE = BadgeColors.Blue,\n GRAY = BadgeColors.Gray,\n}\n","import {\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n} from \"@angular/core\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MaskConfig, applyMask } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\nimport * as moment_ from \"moment\";\n\nimport { HostProjectConfigs, HostProjectConfigsInjectionToken } from \"../../../angular-components.module\";\nimport { LocaleService } from \"../../locale/locale.service\";\nimport { NumericService } from \"../../locale/services/numeric.service\";\nimport { IToken } from \"../../token-list\";\nimport { convertToMomentDateFormat } from \"../../utils/locale-utils\";\nimport { deepClone, isNullOrUndefined } from \"../../utils/utils\";\nimport { Column, ColumnValues, EnumColumnFieldType, TableColumnLocaleOptions } from \"./models\";\n\nconst moment = moment_;\n\n@Component({\n templateUrl: \"./table-columns.component.html\",\n styleUrls: [\"./table-columns.component.scss\"],\n selector: \"s-table-columns\",\n})\nexport class TableColumnsComponent implements OnChanges {\n @ViewChild(\"columnsTemplate\", { static: true }) columnsTemplate: TemplateRef<any>;\n\n @Input()\n public columns!: Column[];\n\n @Input()\n public rowValue!: any;\n\n @Input()\n public locale: TableColumnLocaleOptions = {\n calendar: {\n ...this.localeService.getLocaleOptions().calendar,\n dateFormat: convertToMomentDateFormat(this.localeService.getLocaleOptions().calendar.dateFormat),\n },\n number: {\n ...this.localeService.getLocaleOptions().number,\n scale: 0,\n },\n };\n\n cellsData: CellData[] = [];\n\n formattedColumns: ColumnValues[] = [];\n\n @ViewChildren(\"column\") testeElements: QueryList<ElementRef>;\n\n constructor(\n private readonly localeService: LocaleService,\n private readonly viewContainerRef: ViewContainerRef,\n private readonly translate: TranslateService,\n private readonly numericService: NumericService,\n @Inject(HostProjectConfigsInjectionToken) private readonly hostProjectConfigs: HostProjectConfigs\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.validateComponentAttributes(changes);\n\n if (changes.columns && changes.columns.currentValue !== changes.columns.previousValue) {\n this.columns = this.sortColumnsBySequence(changes.columns.currentValue);\n }\n\n this.createColumnsTemplate(changes);\n }\n\n public isArray(value: any): boolean {\n return Array.isArray(value);\n }\n\n private getCellData(column: ColumnValues): CellData {\n const { columnValue, separator, uninformed } = column;\n\n if (typeof columnValue === \"string\") {\n const splittedString = columnValue.split(separator);\n\n return splittedString.map((string, index) => {\n const isLastIndex = splittedString.length - 1 === index;\n\n return {\n value: string,\n isUninformed: string === uninformed,\n separator: !isLastIndex ? separator : null,\n };\n });\n }\n\n return null;\n }\n\n private validateComponentAttributes(changes: SimpleChanges): void {\n if (!this.columns && !changes.columns?.currentValue) {\n throw new Error(\"The 'columns' attribute must be informed!\");\n }\n if (!this.rowValue && !changes.rowValue?.currentValue) {\n throw new Error(\"The 'rowValue' attribute must be informed!\");\n }\n }\n\n private createColumnsTemplate(changes: SimpleChanges): void {\n this.viewContainerRef.clear();\n\n const columns: Column[] = changes.columns?.currentValue || this.columns;\n const rowValue: object = deepClone(changes.rowValue?.currentValue ?? this.rowValue);\n const locale: TableColumnLocaleOptions = changes.locale?.currentValue || this.locale;\n\n this.formattedColumns = columns.map((column) => this.getColumnValue(column, rowValue, locale));\n\n this.cellsData = this.formattedColumns.map((column) => this.getCellData(column));\n\n this.viewContainerRef.createEmbeddedView(this.columnsTemplate);\n }\n\n private getColumnSeparator(column: Column) {\n return column.separator ? column.separator : \" - \";\n }\n\n private getTranslationPrefix(column: Column) {\n return column.prefix ? column.prefix : `${this.hostProjectConfigs.domain}.${this.hostProjectConfigs.service}.`;\n }\n\n private isAttributeValueInvalid(attributeValue: any) {\n return (\n attributeValue === null ||\n attributeValue === undefined ||\n (attributeValue?.options?.numberFormatOptions && isNullOrUndefined(attributeValue?.value)) ||\n (this.isArray(attributeValue) && !attributeValue.length) ||\n (typeof attributeValue === \"string\" && attributeValue.trim() === \"\")\n );\n }\n\n private getFormattedColumnValue(\n column: Column,\n columnValue: any[],\n unifiedColumnValues: string,\n uninformedText: string,\n uninformedNumber: number\n ) {\n if (uninformedNumber === column.attributes.length) {\n return uninformedText;\n }\n\n if (column.type === EnumColumnFieldType.TOKENS) {\n return [].concat.apply(\n [],\n columnValue.filter((values) => values !== uninformedText)\n );\n }\n\n return unifiedColumnValues;\n }\n\n private getAttributeValue(attribute: string, rowValue: any) {\n let attributeValue!: any;\n\n attribute.split(\"/\").forEach((value: string) => {\n if (!attributeValue) {\n value.split(\".\").forEach((val: string, i) => {\n if (!rowValue) {\n return;\n }\n\n if (i === 0) {\n attributeValue = rowValue[val];\n } else {\n if (attributeValue) {\n attributeValue = attributeValue[val];\n }\n }\n });\n }\n });\n\n return attributeValue;\n }\n\n private getNumberConfigs(column: Column): MaskConfig {\n return {\n ...this.locale.number,\n scale: column.scale !== null && column.scale !== undefined ? this.getColumnScale(column.scale) : this.locale.number.scale,\n prefix: `${this.locale.number.currencySymbol} `,\n };\n }\n\n private getDateFormat(column: Column, locale: TableColumnLocaleOptions) {\n return column.dateFormat ? column.dateFormat : locale.calendar.dateFormat;\n }\n\n private getColumnValue(column: Column, rowValue: any, locale: TableColumnLocaleOptions): ColumnValues {\n const prefix = this.getTranslationPrefix(column);\n const separator = this.getColumnSeparator(column);\n const uninformed = this.translate.instant(prefix + \"empty_label\");\n const style = column.style;\n\n const columnValue = column.attributes.map((attribute: string) => {\n const attributeValue = this.getAttributeValue(attribute, rowValue);\n\n if (this.isAttributeValueInvalid(attributeValue)) {\n return uninformed;\n }\n\n const numberConfigs = this.getNumberConfigs(column);\n\n switch (column.type) {\n case EnumColumnFieldType.ENUM:\n return this.translate.instant(column.enumPrefix + attributeValue.toString().toLowerCase());\n\n case EnumColumnFieldType.CURRENCY: {\n const numberFormatOptions = attributeValue?.options?.numberFormatOptions\n ? attributeValue.options.numberFormatOptions\n : typeof column.numberFormatOptions === \"function\"\n ? column.numberFormatOptions({\n rowData: rowValue,\n })\n : column.numberFormatOptions;\n\n return numberFormatOptions\n ? this.numericService.instant(attributeValue, {\n numberFormatOptions,\n })\n : applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n }\n\n case EnumColumnFieldType.DATE:\n const dateFormat = this.getDateFormat(column, locale);\n return moment(attributeValue).format(dateFormat);\n\n case EnumColumnFieldType.BOOLEAN:\n const value = attributeValue ? \"yes\" : \"no\";\n return this.translate.instant(prefix + value);\n\n case EnumColumnFieldType.NUMBER: {\n numberConfigs.prefix = \"\";\n\n const numberFormatOptions = attributeValue?.options?.numberFormatOptions\n ? attributeValue.options.numberFormatOptions\n : typeof column.numberFormatOptions === \"function\"\n ? column.numberFormatOptions({\n rowData: rowValue,\n })\n : column.numberFormatOptions;\n\n return numberFormatOptions\n ? this.numericService.instant(attributeValue, {\n numberFormatOptions,\n })\n : applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n }\n case EnumColumnFieldType.TOKENS:\n return this.getTokens(attributeValue);\n\n default:\n return attributeValue;\n }\n });\n\n const unifiedColumnValues = columnValue.join(separator);\n const uninformedNumber = unifiedColumnValues.split(separator).filter((value) => value === uninformed).length;\n const formattedColumnValue = this.getFormattedColumnValue(column, columnValue, unifiedColumnValues, uninformed, uninformedNumber);\n\n return {\n style,\n columnValue: formattedColumnValue,\n separator,\n uninformed,\n badgeConfigs: column?.badgeConfigs?.find(\n (badgeConfig) => badgeConfig.enumValue === rowValue[column.attributes[0] ?? column.field]\n ),\n color: column.color?.(rowValue),\n type: column.type,\n tooltip: this.getColumnTooltip(column.tooltip),\n infoSign: this.getColumnInfoSign(column.infoSign),\n onLinkClick: column.onLinkClick,\n onColumnClick: column.onColumnClick,\n compact: column.compact,\n };\n }\n\n private getColumnScale(scale: number | ((rowValue: any) => number)): number {\n if (typeof scale === \"function\") {\n return scale(deepClone(this.rowValue));\n }\n return scale;\n }\n\n private getColumnInfoSign(infoSign: string | ((rowValue: any) => string)): string {\n if (infoSign !== undefined && infoSign !== null) {\n if (typeof infoSign === \"function\") {\n return infoSign(deepClone(this.rowValue));\n }\n return infoSign;\n }\n return null;\n }\n\n private getColumnTooltip(tooltip: string | ((rowValue: any) => string)): string {\n if (tooltip !== undefined && tooltip !== null) {\n if (typeof tooltip === \"function\") {\n return tooltip(deepClone(this.rowValue));\n }\n return tooltip;\n }\n return \"\";\n }\n\n private isNumber(value: any): boolean {\n return !new BigNumber(value).isNaN();\n }\n\n private getTokens(values: any): IToken[] {\n if (!this.isArray(values)) {\n throw new Error(\"To use tokens an array must be informed\");\n }\n\n if (!this.isValidTokenArray(values)) {\n throw new Error(\"Not a valid token array. Must be a primitive values array or an objects with label attribute array\");\n }\n\n if (this.isLabelObjectArray(values)) {\n return values;\n }\n\n return values\n .filter((value: any) => value !== undefined && value !== null)\n .map((value: any) => {\n const label = typeof value === \"symbol\" ? value.toString() : `${value}`;\n return {\n label,\n };\n });\n }\n\n private isValidTokenArray(values: any[]): boolean {\n return this.isPrimitiveValuesArray(values) || this.isLabelObjectArray(values);\n }\n\n private isPrimitiveValuesArray(values: any[]): boolean {\n return values.filter((value) => value !== Object(value)).length === values.length;\n }\n\n private isLabelObjectArray(values: any[]): boolean {\n return values.filter((value) => value?.label !== null && value?.label !== undefined).length === values.length;\n }\n\n private sortColumnsBySequence(columns: Column[]): Column[] {\n return columns.sort((a, b) => a.sequence - b.sequence);\n }\n}\n\ntype CellData = { value: string; isUninformed: boolean; separator: string }[];\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nimport { IToken } from \"./models/token\";\n\n@Component({\n selector: `s-token-list`,\n templateUrl: `./token-list.component.html`,\n styleUrls: [\"./token-list.component.scss\"],\n})\nexport class TokenListComponent {\n public static nextId = 0;\n\n @Input()\n id = `s-token-list-${TokenListComponent.nextId++}`;\n\n @Input()\n tokens: IToken[];\n\n @Input()\n removableTokens = false;\n\n @Input()\n hidePointerEvents = false;\n\n @Output()\n public tokenSelected: EventEmitter<IToken> = new EventEmitter();\n\n @Output()\n public tokenRemoved: EventEmitter<IToken> = new EventEmitter();\n\n public onTokenSelected(token: IToken): void {\n if (!token.disabled) {\n this.tokenSelected.next(token);\n }\n }\n\n public onTokenRemoved(token: IToken): void {\n if (!token.disabled) {\n this.tokenRemoved.next(token);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TokenListComponent } from \"./token-list.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TokenListComponent],\n exports: [TokenListComponent],\n})\nexport class TokenListModule {}\n","import { Component, Inject, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MenuItem } from \"primeng/api\";\nimport { Table } from \"primeng/table\";\nimport { Column } from \"../table-column/models/column.interface\";\n\nimport { HostProjectConfigs, HostProjectConfigsInjectionToken } from \"../../../angular-components.module\";\nimport { deepClone, ExportUtils, isNullOrUndefined } from \"../../utils\";\nimport { CustomAction } from \"./models\";\nimport { LocaleService } from \"../../locale/locale.service\";\n\nimport BigNumber from \"bignumber.js\";\n\ntype RowValueFormatOption = {\n value?: number;\n options?: {\n numberFormatOptions?: Intl.NumberFormatOptions;\n };\n};\n\n@Component({\n templateUrl: \"./table-paging.component.html\",\n styleUrls: [\"./table-paging.component.scss\"],\n selector: \"s-table-paging\",\n})\nexport class TablePagingComponent implements OnChanges {\n @Input()\n public totalRecords!: number;\n\n @Input()\n public exportFileName?: string;\n\n @Input()\n public table!: Table;\n\n @Input()\n public exportable = true;\n\n @Input()\n public enableExportSelectedRecords = true;\n\n @Input()\n public customActions?: CustomAction[];\n\n @Input()\n public loadAllRecords?: () => Promise<any[]>;\n\n @Input()\n public loadCurrentPageRecords?: () => any[];\n\n @Input()\n public loadSelectedRecords?: () => any[];\n\n @Output()\n public totalRecordsText: string;\n\n constructor(\n private readonly translate: TranslateService,\n private readonly localeService: LocaleService,\n @Inject(HostProjectConfigsInjectionToken) private readonly hostProjectConfigs: HostProjectConfigs\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.totalRecords?.currentValue) {\n this.totalRecordsText = this.translate.instant(`${this.getTranslatePrefix()}total_records`, {\n value: changes.totalRecords.currentValue,\n });\n }\n }\n\n private getTranslatePrefix() {\n return `${this.hostProjectConfigs.domain}.${this.hostProjectConfigs.service}.`;\n }\n\n public getTooltipText() {\n return this.translate.instant(`${this.getTranslatePrefix()}export_to_csv`);\n }\n\n public getActions(): MenuItem[] {\n const actions: MenuItem[] = [\n {\n id: \"exportCurrentPage\",\n label: this.translate.instant(`${this.getTranslatePrefix()}export_current_page`),\n command: () => this.exportCurrentPage(),\n },\n ];\n\n if (this.enableExportSelectedRecords) {\n actions.push({\n id: \"exportSelected\",\n label: this.translate.instant(`${this.getTranslatePrefix()}export_selected_records`),\n command: () => this.exportSelectedRecords(),\n });\n }\n\n if (this.loadAllRecords) {\n actions.push({\n id: \"exportAll\",\n label: this.translate.instant(`${this.getTranslatePrefix()}export_all_records`),\n command: () => this.exportAllRecords(),\n });\n }\n\n if (this.customActions?.length) {\n const customMenus = this.customActions.map((p, index) => ({\n id: \"customAction_\" + index,\n label: p.label,\n command: p.command,\n }));\n actions.push(...customMenus);\n }\n\n return actions;\n }\n\n private validateComponent() {\n if (!this.table) {\n throw new Error(\"Table component not defined\");\n }\n }\n\n public getColumnsToExport() {\n return [...this.table.columns].map((column) => {\n const exportColumn = {\n ...column,\n header: column.header,\n exportable: true,\n field: column.field,\n separator: column.separator ?? \" - \",\n enumPrefix: column.enumPrefix,\n customExport: column.customExport,\n };\n\n if (column.exportable === false) {\n exportColumn.exportable = false;\n }\n\n if (column.attributes && column.attributes.length) {\n if (column.attributes.length === 1) {\n exportColumn.field = column.attributes[0];\n } else {\n exportColumn.field = column.attributes;\n }\n }\n\n return exportColumn;\n });\n }\n\n private getCurrentPageRowsToExport(columns: any[]) {\n let tableData = deepClone(this.table.value);\n\n if (this.loadCurrentPageRecords) {\n tableData = this.loadCurrentPageRecords();\n }\n\n tableData = this.mapCustomExport(columns, tableData);\n\n tableData = this.mapNumberFormatOptionsExport(columns, tableData);\n\n return this.mapColumnsTranslations(columns, tableData);\n }\n\n private getSelectedRowsToExport(columns: any[]) {\n let tableData = deepClone(this.table.selection);\n\n if (this.loadSelectedRecords) {\n tableData = this.loadSelectedRecords();\n }\n\n tableData = this.mapCustomExport(columns, tableData);\n\n tableData = this.mapNumberFormatOptionsExport(columns, tableData);\n\n return this.mapColumnsTranslations(columns, tableData);\n }\n\n private getPropertyValue(obj: any, path: string) {\n return path.split(\".\").reduce((result: any, prop: any) => (result[prop] === undefined ? undefined : result[prop]), obj);\n }\n\n private setPropertyValue(obj: any, path: string, value: any) {\n this.recursionSetValue(obj, path.split(\".\"), value);\n }\n\n private recursionSetValue(obj: any, keysList: string[], value: any): any {\n const key = keysList[0];\n if (keysList.length === 1) {\n obj[key] = value;\n return obj;\n }\n obj[key] = this.recursionSetValue(obj?.[key] || {}, keysList.slice(1), value);\n return obj;\n }\n\n public mapColumnsTranslations(columns: any[], rows: any[]) {\n const enumColumns = columns.filter((p) => p.enumPrefix);\n if (!enumColumns.length) {\n return rows;\n }\n\n return [...rows].map((row) => {\n const newRow = { ...row };\n enumColumns.forEach((column) => {\n const fields = !Array.isArray(column.field) ? [column.field] : column.field;\n fields.forEach((fieldName: string) => {\n const columnData = this.getPropertyValue(row, fieldName);\n if (columnData === null || columnData === undefined) {\n return;\n }\n\n const newValue = this.translateValue(column, columnData);\n this.setPropertyValue(newRow, fieldName, newValue);\n });\n });\n\n return newRow;\n });\n }\n\n /**\n * The purpose of this method is to map values\n * from the TableColumnsComponent, which uses the numberFormatOptions\n * field, along with rows that have a custom numberFormatOptions,\n * to ensure the correct values are exported by the TablePagingComponent.\n *\n * @returns Returns the correctly mapped tableData.\n */\n public mapNumberFormatOptionsExport(\n columns: Partial<Column>[],\n tableData: {\n [key: string]: RowValueFormatOption | number | string | null | undefined;\n }[]\n ) {\n const hasNumberFormatOptionsColumns = columns.some((column) => column.numberFormatOptions);\n const hasNumberFormatOptionsRows = tableData.some((rowData) =>\n Object.keys(rowData).some((key) => (rowData[key] as RowValueFormatOption)?.options?.numberFormatOptions)\n );\n\n if (!hasNumberFormatOptionsColumns && !hasNumberFormatOptionsRows) return tableData;\n\n if (hasNumberFormatOptionsColumns) {\n tableData = tableData.map((rowData) => {\n const columnsWithNumberFormatOptions = columns.filter((column) => column.numberFormatOptions);\n\n for (const column of columnsWithNumberFormatOptions) {\n const attributes = column.attributes;\n\n const numberFormatOptions =\n typeof column.numberFormatOptions === \"function\"\n ? column.numberFormatOptions({\n rowData,\n })\n : column.numberFormatOptions;\n\n for (const attribute of attributes) {\n if (isNullOrUndefined(rowData[attribute as string])) continue;\n\n if ((rowData[attribute as string] as RowValueFormatOption).options?.numberFormatOptions) {\n continue;\n }\n\n const value = rowData[attribute as string] as string | number;\n\n const mappedValue =\n numberFormatOptions.style === \"percent\" ? new BigNumber(value).times(100) : new BigNumber(value);\n\n const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {\n ...numberFormatOptions,\n style: \"decimal\",\n useGrouping: false,\n roundingMode: \"trunc\",\n } as any);\n\n rowData[attribute as string] = numberFormat.format(mappedValue.toNumber());\n }\n }\n\n return rowData;\n });\n }\n\n if (hasNumberFormatOptionsRows) {\n tableData = tableData.map((rowData) => {\n const keysWithNumberFormatOptions = Object.keys(rowData).filter(\n (key) => (rowData[key] as RowValueFormatOption)?.options?.numberFormatOptions\n );\n\n for (const key of keysWithNumberFormatOptions) {\n const value = (rowData[key] as RowValueFormatOption).value;\n\n const numberFormatOptions = (rowData[key] as RowValueFormatOption).options.numberFormatOptions;\n\n const mappedValue = numberFormatOptions.style === \"percent\" ? new BigNumber(value).times(100) : new BigNumber(value);\n\n const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {\n ...numberFormatOptions,\n style: \"decimal\",\n useGrouping: false,\n roundingMode: \"trunc\",\n } as any);\n\n (rowData[key] as string | number) = numberFormat.format(mappedValue.toNumber());\n }\n\n return rowData;\n });\n }\n\n return tableData;\n }\n\n public mapCustomExport(columns: any[], rows: any[]) {\n const customColumns = columns.filter((p) => p.customExport);\n if (!customColumns.length) {\n return rows;\n }\n\n return [...rows].map((row) => {\n const newRow = { ...row };\n customColumns.forEach((column) => {\n const fields = !Array.isArray(column.field) ? [column.field] : column.field;\n fields.forEach((fieldName: string) => {\n const columnData = this.getPropertyValue(row, fieldName);\n if (columnData === null || columnData === undefined) {\n return;\n }\n const newValue = column.customExport(columnData);\n this.setPropertyValue(newRow, fieldName, newValue);\n });\n });\n\n return newRow;\n });\n }\n\n private translateValue(column: any, columnData: any) {\n // Default usage: ENUM_VALUE -> domain.service.enum_value\n const enumValue = columnData.toString().toLowerCase();\n let translationKey = column.enumPrefix + enumValue;\n let translatedValue = this.translate.instant(translationKey);\n\n // Custom usage 1: V9 -> domain.service.v_9\n if (translationKey === translatedValue && enumValue.length > 1) {\n translationKey = `${column.enumPrefix}${enumValue.substring(0, 1)}_${enumValue.substr(1)}`;\n translatedValue = this.translate.instant(translationKey);\n }\n\n // Custom usage 2: EnumValue -> domain.service.enum_value\n if (translationKey === translatedValue) {\n const enumKey = this.convertToSnakeCase(columnData.toString());\n translationKey = `${column.enumPrefix}${enumKey}`;\n translatedValue = this.translate.instant(translationKey);\n }\n\n return translatedValue;\n }\n\n private convertToSnakeCase(str: string) {\n return str.replace(/([A-Z])/g, (match, group) => `_${group.toLowerCase()}`).replace(/^_/, \"\");\n }\n\n private getExportFileName() {\n const lang = this.translate.currentLang ?? \"pt-BR\";\n const date = new Date();\n\n const fileName = this.exportFileName ?? \"download\";\n const formattedDate = date.toLocaleDateString(lang).replace(\"_\", \"-\");\n const formattedTime = date.toLocaleTimeString(lang).replace(\" \", \"-\");\n\n return `${fileName}_${formattedDate}_${formattedTime}`;\n }\n\n public exportCurrentPage() {\n this.validateComponent();\n const columns = this.getColumnsToExport();\n const dataToExport = this.getCurrentPageRowsToExport(columns);\n ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());\n }\n\n public exportSelectedRecords() {\n this.validateComponent();\n const columns = this.getColumnsToExport();\n const dataToExport = this.getSelectedRowsToExport(columns);\n ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());\n }\n\n public async exportAllRecords() {\n this.validateComponent();\n\n let serverData = await this.loadAllRecords();\n\n const columns = this.getColumnsToExport();\n\n serverData = this.mapCustomExport(columns, serverData);\n\n serverData = this.mapNumberFormatOptionsExport(columns, serverData);\n\n const dataToExport = this.mapColumnsTranslations(columns, serverData);\n\n ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { NavigationDirective } from \"./navigation/navigation.directive\";\nimport { RowTogllerDirective } from \"./row-toggler/row-toggler.directive\";\nimport { TableFrozenPositionDirective } from \"./frozen-position/frozen-position.directive\";\nimport { TableColumnsComponent } from \"./table-column/table-columns.component\";\nimport { TokenListModule } from \"../token-list/token-list.module\";\nimport { TablePagingComponent } from \"./table-paging/table-paging.component\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\nimport { BadgeModule } from \"../badge/badge.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n TokenListModule,\n TranslateModule,\n ButtonModule,\n InfoSignModule,\n BadgeModule\n ],\n exports: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent,\n TableFrozenPositionDirective,\n TablePagingComponent\n ],\n declarations: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent,\n TableFrozenPositionDirective,\n TablePagingComponent\n ],\n})\nexport class TableModule {}\n","import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { AutocompleteField } from \"../../../configurations/fields/autocomplete-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"autocomplete-field.component.html\",\n})\nexport class AutocompleteFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: AutocompleteField;\n @Input()\n public formControl: FormControl;\n\n public inputRef: ElementRef;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {}\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { BooleanField } from \"../../../configurations/fields/boolean-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"boolean-field.component.html\",\n})\nexport class BooleanFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BooleanField;\n @Input()\n public formControl: FormControl;\n\n public onClear(): void {\n this.formControl.reset();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { BooleanSwitchField } from \"../../../configurations/fields/boolean-switch-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"boolean-switch-field.component.html\",\n})\nexport class BooleanSwitchFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BooleanSwitchField;\n @Input()\n public formControl: FormControl;\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { CalendarField } from \"../../../configurations/fields/calendar-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"calendar-field.component.html\",\n})\nexport class CalendarFieldComponent implements BaseFieldComponentConfig {\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {}\n\n @Input()\n public field: CalendarField;\n\n @Input()\n public formControl: FormControl;\n\n @Input()\n public showTime: boolean;\n\n @Input()\n public timeOnly: boolean;\n\n @ViewChild('calendar') calendar: ElementRef;\n \n public inputRef: ElementRef;\n\n public locale = {\n firstDayOfWeek: 0,\n dayNames: [\n this.translateService.instant(\"platform.angular_components.sunday\"),\n this.translateService.instant(\"platform.angular_components.monday\"),\n this.translateService.instant(\"platform.angular_components.tuesday\"),\n this.translateService.instant(\"platform.angular_components.wednesday\"),\n this.translateService.instant(\"platform.angular_components.thursday\"),\n this.translateService.instant(\"platform.angular_components.friday\"),\n this.translateService.instant(\"platform.angular_components.saturday\"),\n ],\n dayNamesShort: [\n this.translateService.instant(\"platform.angular_components.sunday_short\"),\n this.translateService.instant(\"platform.angular_components.monday_short\"),\n this.translateService.instant(\"platform.angular_components.tuesday_short\"),\n this.translateService.instant(\"platform.angular_components.wednesday_short\"),\n this.translateService.instant(\"platform.angular_components.thursday_short\"),\n this.translateService.instant(\"platform.angular_components.friday_short\"),\n this.translateService.instant(\"platform.angular_components.saturday_short\"),\n ],\n dayNamesMin: [\n this.translateService.instant(\"platform.angular_components.sunday_min\"),\n this.translateService.instant(\"platform.angular_components.monday_min\"),\n this.translateService.instant(\"platform.angular_components.tuesday_min\"),\n this.translateService.instant(\"platform.angular_components.wednesday_min\"),\n this.translateService.instant(\"platform.angular_components.thursday_min\"),\n this.translateService.instant(\"platform.angular_components.friday_min\"),\n this.translateService.instant(\"platform.angular_components.saturday_min\"),\n ],\n monthNames: [\n this.translateService.instant(\"platform.angular_components.january\"),\n this.translateService.instant(\"platform.angular_components.february\"),\n this.translateService.instant(\"platform.angular_components.march\"),\n this.translateService.instant(\"platform.angular_components.april\"),\n this.translateService.instant(\"platform.angular_components.may\"),\n this.translateService.instant(\"platform.angular_components.june\"),\n this.translateService.instant(\"platform.angular_components.july\"),\n this.translateService.instant(\"platform.angular_components.august\"),\n this.translateService.instant(\"platform.angular_components.september\"),\n this.translateService.instant(\"platform.angular_components.october\"),\n this.translateService.instant(\"platform.angular_components.november\"),\n this.translateService.instant(\"platform.angular_components.december\"),\n ],\n monthNamesShort: [\n this.translateService.instant(\"platform.angular_components.january_short\"),\n this.translateService.instant(\"platform.angular_components.february_short\"),\n this.translateService.instant(\"platform.angular_components.march_short\"),\n this.translateService.instant(\"platform.angular_components.april_short\"),\n this.translateService.instant(\"platform.angular_components.may_short\"),\n this.translateService.instant(\"platform.angular_components.june_short\"),\n this.translateService.instant(\"platform.angular_components.july_short\"),\n this.translateService.instant(\"platform.angular_components.august_short\"),\n this.translateService.instant(\"platform.angular_components.september_short\"),\n this.translateService.instant(\"platform.angular_components.october_short\"),\n this.translateService.instant(\"platform.angular_components.november_short\"),\n this.translateService.instant(\"platform.angular_components.december_short\"),\n ],\n today: this.translateService.instant(\"platform.angular_components.today\"),\n clear: this.translateService.instant(\"platform.angular_components.clear\"),\n dateFormat: this.translateService.instant(\"platform.angular_components.date_format\"),\n hourFormat: this.translateService.instant(\"platform.angular_components.hour_format\"),\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Clipboard } from \"@angular/cdk/clipboard\";\n\nimport { ChipsField } from \"../../../configurations/fields/index\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"./chips-field.component.html\",\n styleUrls: [\"./chips-field.component.scss\"],\n})\nexport class ChipsFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: ChipsField;\n\n @Input()\n public formControl: FormControl;\n\n public feedbackMessageVisible = false;\n public copyButtonVisible = true;\n public inputRef: ElementRef;\n\n constructor(private readonly clipboard: Clipboard,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) { }\n\n public onCopyFieldContent(): void {\n if (this.formControl.value) {\n this.copyButtonVisible = false;\n this.feedbackMessageVisible = true;\n\n setTimeout(() => {\n this.feedbackMessageVisible = false;\n this.copyButtonVisible = true;\n }, 3000);\n\n const content = this.formControl.value.join(this.field.separator || \"\\n\");\n\n this.clipboard.copy(content);\n\n if (this.field.onCopy) {\n this.field.onCopy(content);\n }\n }\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\nimport { CountryPhonePickerField } from \"../../../configurations/fields/country-phone-picker-field\";\n\n@Component({\n templateUrl: \"./country-phone-picker-field.component.html\",\n})\nexport class CountryPhonePickerFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CountryPhonePickerField;\n\n @Input()\n public formControl: FormControl;\n\n public inputRef: ElementRef;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {}\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}","import { ChangeDetectorRef, Component, ElementRef, HostListener, Input, Renderer2 } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { BlobField } from \"../../../configurations/fields/blob-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { fromEvent } from \"rxjs\";\nimport { filter, take } from \"rxjs/operators\";\n\n@Component({\n templateUrl: \"file-upload.component.html\",\n})\nexport class FileUploadComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BlobField;\n @Input()\n public formControl: FormControl;\n\n public inputRef: HTMLInputElement;\n \n constructor(private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {\n super();\n }\n\n @HostListener('click')\n public onClick(): void {\n this.dispatchFocusInputRef();\n this.addEventOnBlur();\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private addEventOnBlur(): void {\n fromEvent(document, 'click')\n .pipe(\n filter((event: MouseEvent) => !this.elementRef.nativeElement.contains(event.target)),\n take(1)\n )\n .subscribe(() => this.inputRef.dispatchEvent(new Event('blur')));\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input') as HTMLInputElement;\n }\n\n private dispatchFocusInputRef(): void {\n this.inputRef.dispatchEvent(new Event('focus'));\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { LookupField } from \"../../../configurations/fields/lookup-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"lookup-field.component.html\",\n})\nexport class LookupFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: LookupField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { RadioButtonField } from \"../../../configurations/fields/radio-button-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"radion-button-field.component.html\",\n styles: [`\n s-button.horizontal-clear-option button {\n width: min-content !important;\n }\n\n .horizontal-radio-buttons-container {\n gap: 20px 40px;\n .radio-button-item {\n margin: 0;\n }\n }\n `],\n encapsulation: ViewEncapsulation.None,\n})\nexport class RadioButtonComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: RadioButtonField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n constructor() { }\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onClick.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onClick) this.field.onClick(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public onClear(): void {\n this.formControl.reset();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { SelectField } from \"../../../configurations/fields/select-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"select-field.component.html\",\n})\nexport class SelectFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: SelectField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { SliderField } from \"../../../configurations/fields/slider-field\";\n\n@Component({\n templateUrl: \"slider-field.component.html\",\n styleUrls: [\"./slider-field.component.scss\"]\n})\nexport class SliderFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: SliderField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onChange: EventEmitter<any> = new EventEmitter();\n @Output()\n public onSlideEnd: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n const defaultValue = this.field?.range ? [this.field.min, this.field.max] : this.field.min;\n if (!this.isValid(this.formControl.value)) {\n this.formControl.setValue(this.field.defaultValue ?? defaultValue);\n }\n this.subscribeToFormControlEvents();\n }\n\n private subscribeToFormControlEvents() {\n this.onChange.pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: FocusEvent) => {\n if (this.field.onChange) {\n this.field.onChange(event);\n }\n });\n\n this.onSlideEnd.pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: any) => {\n if (this.field.onSlideEnd) {\n this.field.onSlideEnd(event);\n }\n });\n }\n\n private isValid(value: any): boolean {\n if (this.field?.range) {\n return Array.isArray(value) && this.isValidRange(value);\n } else {\n return Number.isInteger(value) && this.isValidNoRange(value);\n }\n }\n\n private isValidRange(value: any[]): boolean {\n const [startValue, endValue] = value;\n return startValue >= this.field?.min && startValue <= this.field?.max &&\n endValue >= this.field?.min && endValue <= this.field?.max;\n }\n\n private isValidNoRange(value: number): boolean {\n return value >= this.field.min && value <= this.field.max;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get fieldType() {\n return FieldType;\n }\n\n private getRangeLabel(): string {\n let [value0, value1] = this.formControl.value ?? [0, 0];\n const prefix = this.field.prefix ?? '';\n const suffix = this.field.suffix ?? '';\n const separator = this.field.rangeSeparator ?? ' - ';\n\n if (!value0 || value0 < this.field.min) {\n value0 = this.field.min;\n }\n\n if (!value1 || value1 > this.field.max) {\n value1 = this.field.max;\n }\n\n return `${prefix}${value0}${suffix}${separator}${prefix}${value1}${suffix}`;\n }\n\n private getNonRangeLabel(): string {\n let value = this.formControl?.value;\n const prefix = this.field.prefix ?? '';\n const suffix = this.field.suffix ?? '';\n\n if (!value || value < this.field.min) {\n value = this.field.min;\n }\n\n if (value > this.field.max) {\n value = this.field.max;\n }\n\n return `${prefix}${value}${suffix}`;\n }\n\n public get label() {\n return this.field.range ? this.getRangeLabel() : this.getNonRangeLabel();\n }\n\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { LocaleService } from '../locale/locale.service';\nimport { ToastService } from '../toast/toast.service';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport type MicrophoneStatus = 'active' | 'inactive';\nexport interface SpeechResult {\n text: string;\n isFinal: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SpeechRecognitionService {\n hasSupportSpeechRecognition = false;\n isListening = false;\n readonly microphoneStatus$ = new Subject<MicrophoneStatus>();\n private recognition!: SpeechRecognition;\n private readonly TIMEOUT_NO_MESSAGE = 3000;\n\n constructor(\n private readonly localeService: LocaleService,\n private readonly ngZone: NgZone,\n private readonly toastService: ToastService,\n private translateService: TranslateService,\n ) {\n this.setRecognition();\n }\n\n listen() {\n const speechSubject = new Subject<SpeechResult>();\n if (this.isListening) {\n speechSubject.error('Already listening');\n }\n this.hasMicrophoneAccess.then((hasAccess) => {\n if (!hasAccess) {\n this.toastService.show({ severity: 'error', text: this.translateService.instant('platform.angular_components.no_microphone_permission') });\n speechSubject.error('Microphone access is disabled');\n return;\n }\n this.microphoneStatus$.next('active');\n\n this.isListening = true;\n this.recognition.continuous = true;\n this.recognition.interimResults = true;\n this.recognition.maxAlternatives = 1;\n let silenceTimer: any;\n const restartSilenceTimer = () => {\n if (silenceTimer !== undefined) {\n clearTimeout(silenceTimer);\n }\n\n silenceTimer = setTimeout(() => {\n this.recognition.stop();\n }, this.TIMEOUT_NO_MESSAGE);\n };\n let fullTranscript = '';\n let interimTranscript = '';\n\n this.recognition.onresult = (event: SpeechRecognitionEvent) => {\n this.ngZone.run(() => {\n restartSilenceTimer();\n let interimTranscript = '';\n for (let i = event.resultIndex; i < event.results.length; ++i) {\n const transcript = event.results[i][0].transcript;\n if (event.results[i].isFinal) {\n fullTranscript += transcript + '\\n';\n } else {\n interimTranscript += transcript;\n }\n }\n interimTranscript = interimTranscript;\n speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: false });\n })\n };\n this.recognition.onerror = () => {\n this.ngZone.run(() => {\n if (silenceTimer !== undefined) {\n clearTimeout(silenceTimer);\n }\n this.isListening = false;\n speechSubject.error('Speech recognition error');\n this.microphoneStatus$.next('inactive')\n })\n };\n\n this.recognition.onend = () => {\n this.ngZone.run(() => {\n if (silenceTimer !== undefined) {\n clearTimeout(silenceTimer);\n }\n speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: true });\n this.isListening = false;\n speechSubject.complete();\n this.microphoneStatus$.next('inactive')\n })\n };\n this.recognition.start();\n })\n return speechSubject;\n }\n\n\n stop() {\n this.recognition.stop();\n }\n\n private setRecognition() {\n const SpeechRecognitionConstructor =\n (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition;\n\n if (!SpeechRecognitionConstructor) {\n console.warn('Speech recognition is not supported in this browser.');\n return;\n }\n this.hasSupportSpeechRecognition = true;\n this.recognition = new SpeechRecognitionConstructor();\n this.recognition.lang = this.localeService.getLocaleOptions()?.locale || 'pt-BR';\n this.recognition.interimResults = false;\n this.recognition.maxAlternatives = 1;\n this.localeService.getLocale().subscribe(locale => this.recognition.lang = locale);\n }\n\n private get hasMicrophoneAccess() {\n return new Promise(async (resolve) => {\n const permission = await navigator.permissions.query({ name: 'microphone' });\n if (permission.state === 'denied') {\n resolve(false);\n } else if (permission.state === 'granted') {\n resolve(true)\n } else if (permission.state === 'prompt') {\n try {\n navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) => {\n stream.getTracks().forEach(t => t.stop());\n }).catch(() => {\n resolve(false);\n });\n permission.onchange = () => {\n this.ngZone.run(() => {\n resolve(permission.state === 'granted' ? true : false);\n })\n }\n } catch (error) {\n resolve(false);\n }\n }\n })\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormControl, FormGroup } from \"@angular/forms\";\n\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { TextAreaIAField } from \"../../../configurations/fields/text-area-ia-field\";\nimport { FormField } from \"../../../configurations/form-field\";\nimport { IAssistService } from \"../../../services/IAssist/iassist.service\";\nimport { IAssistResponse } from \"../../../services/IAssist/models/iassist-response\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\nimport { TextAreaFieldConfig } from \"../../../configurations/fields/text-area-field\";\nimport { SpeechRecognitionService } from \"../../../../speech-recognition/speech-recognition.service\"\n\n@Component({\n templateUrl: \"./text-area-ia-field.component.html\",\n styleUrls: [\"./text-area-ia-field.component.scss\"],\n})\nexport class TextAreaIAFieldComponent implements BaseFieldComponentConfig, OnInit {\n @Input()\n public field: TextAreaIAField;\n\n @Input()\n public formControl: FormControl;\n\n public fields: FormField[];\n public formGroup: FormGroup;\n public isVisible = false;\n public isLoading = false;\n\n constructor(\n private readonly _iassistService: IAssistService,\n private readonly _formBuilder: FormBuilder,\n private readonly _translateService: TranslateService,\n public speechRecognitionService: SpeechRecognitionService\n ) { }\n\n public ngOnInit(): void {\n this._createDialogFields();\n this._createDialogFormGroup();\n }\n\n public showDialog(): void {\n this.isVisible = true;\n }\n\n public onHideDialog(): void {\n this.formGroup.get(\"context\").setValue(\"\");\n }\n\n public hideDialog(): void {\n this.isVisible = false;\n }\n\n public submitContext(): void {\n const context = this.formGroup.get(\"context\");\n this.isLoading = true;\n\n this._iassistService\n .askIA(\n context.value,\n {\n id: this.field.id,\n label: this.field.label,\n placeholder: this.field.placeholder,\n prompt: this.field.prompt,\n },\n )\n .pipe(\n catchError((err: HttpErrorResponse) => {\n this.isLoading = false;\n return throwError(err);\n })\n )\n .subscribe((res: IAssistResponse) => {\n this.formControl.setValue(res.text);\n this.isLoading = false;\n });\n\n this.hideDialog();\n }\n\n private _createDialogFields(): void {\n this.fields = [\n new FormField({\n name: \"context\",\n type: FieldType.Text,\n label: this._translateService.instant(\"platform.angular_components.context\"),\n size: { sm: 12, md: 12, lg: 12, xl: 12 },\n speechRecognition: this.field.speechRecognition ?? false,\n keepContext: this.field.keepContext ?? false,\n maxLength: this.field.maxLength,\n } as TextAreaFieldConfig),\n ];\n }\n\n private _createDialogFormGroup(): void {\n this.formGroup = this._formBuilder.group({\n context: [\"\"],\n });\n }\n}\n","import { ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { TextAreaField } from \"../../../configurations/fields/text-area-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"text-area-field.component.html\",\n})\nexport class TextAreaFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: TextAreaField;\n @Input()\n public formControl: FormControl;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Fieldset } from \"../../../configurations/structure/fieldset\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n template: `\n <s-fieldset [toggleable]=\"true\" (beforeToggle)=\"config.beforeToggle ? config.beforeToggle($event) : 'null'\"\n (afterToggle)=\"config.afterToggle ? config.afterToggle($event) : 'null'\">\n <s-header>{{config.header}}</s-header>\n <ng-container *ngFor=\"let conf of config.configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n </s-fieldset>\n `,\n})\nexport class FieldsetComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Fieldset;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FormField } from \"../../../configurations/form-field\";\nimport { Grid } from \"../../../configurations/grid/grid\";\nimport { Section } from \"../../../configurations/structure/section\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n selector: 's-section',\n template: `\n <h3 *ngIf=\"config?.header\" class=\"sds-section-title\">{{config.header}}</h3>\n <section [class.flex-container]=\"flexContainer\" [style.justify-content]=\"config.justifyContent\" [style.align-items]=\"config.alignItems\">\n <ng-container *ngFor=\"let conf of configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n </section>\n `,\n styles: [`\n .flex-container {\n display: flex\n }\n\n :host {\n height: 100%\n }\n\n section {\n height: 100%;\n }\n `],\n})\nexport class SectionComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Section;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n\n get flexContainer() {\n return this.config.isFlex;\n }\n\n get configs() {\n const _configs: any[] = this.config?.configs || [];\n return _configs.filter((x: any) => x.visible === undefined || x.visible());\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { Row } from \"../../../configurations/grid/row\";\n\n@Component({\n selector: 's-row',\n template: `\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <ng-container *ngIf=\"field.type === FieldType.Custom && field.label\" >\n <label *sInfoSign=\"field.infoSign; displayTime: field.displayTimeInfoSign; useFocusedInputRef: field.useInfoSignFocusedInputRef\" [for]=\"field.name\" [ngClass]=\"{ required: field.required() }\" >\n {{ field.label }}\n </label>\n </ng-container>\n\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n\n <ng-container *ngIf=\"field.footer\">\n <ng-container *ngIf=\"field.footer.help\">\n <span *ngIf=\"field.footer.help.visible({ abstractControl: group.controls[field.name], formField: field })\" style=\"color: #888B99\">{{ field.footer.help.text }}</span>\n </ng-container>\n\n <ng-container *ngIf=\"field.footer.link\">\n <div\n *ngIf=\"field.footer.link.visible({ abstractControl: group.controls[field.name], formField: field })\"\n class=\"ui-g\"\n style=\"margin-left: -17px\"\n >\n <s-button\n [label]=\"field.footer.link.label\"\n priority=\"link\"\n (onClick)=\"field.footer.link.onClick({ abstractControl: group.controls[field.name], formField: field })\"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template *ngIf=\"field?.bottomTemplate\" [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n </div>\n </ng-container>\n </div>\n `,\n})\nexport class RowComponent {\n @Input()\n public id: string;\n @Input()\n public config: Row;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n\n FieldType = FieldType;\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages) return this.isFunction(errorMessages) ? errorMessages() : errorMessages;\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FormField } from \"../../configurations/form-field\";\nimport { FieldType } from \"../../configurations/field-type\";\n\n@Component({\n selector: \"s-dynamic-field\",\n templateUrl: \"./dynamic-field.component.html\",\n})\nexport class DynamicFieldComponent {\n @Input()\n public id: string;\n\n @Input()\n public fields: FormField[];\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public errorMessages?: any;\n\n FieldType = FieldType;\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages)\n return this.isFunction(errorMessages)\n ? { ...this.errorMessages, ...errorMessages() }\n : { ...this.errorMessages, ...errorMessages };\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { first, takeUntil } from \"rxjs/operators\";\n\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { BignumberField } from \"../../../configurations/fields/bignumber-field\";\nimport { LocaleService } from \"../../../../locale/locale.service\";\nimport { isNullOrUndefined } from \"../../../../utils/utils\";\n\n@Component({\n templateUrl: \"bignumber-field.component.html\",\n styleUrls: [\"./bignumber-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BignumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: BignumberField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"inputRef\") inputRef: ElementRef;\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private readonly localeService: LocaleService,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n }\n\n public ngOnInit() {\n this.onLocaleService();\n\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) {\n this.field.onFocus(event);\n }\n });\n\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) {\n this.field.onInput(event);\n }\n });\n\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) {\n this.field.onComplete(event);\n }\n });\n\n this.onScale();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get fieldType() {\n return FieldType;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.currencySymbol) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n currencySymbol: this.field.type === FieldType.Integer || this.field.type === FieldType.Double ? \"\" : \"R$\",\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: this.field.type === FieldType.Integer || this.field.type === FieldType.Double ? \"\" : \"R$\",\n }),\n });\n }\n\n private onScale(): void {\n // Currently, this component is used for the following types\n // FieldType.Number, FieldType.Integer and FieldType.Double\n if (isNullOrUndefined(this.field.scale)) {\n this.field.scale = this.field.type === FieldType.Integer ? 0 : 2;\n }\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input, OnInit, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { first } from \"rxjs/operators\";\nimport { LocaleService } from \"../../../../locale/locale.service\";\nimport { CurrencyField } from \"../../../configurations/fields/currency-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { CurrencyService } from \"../../../../../utils/currency/currency.service\";\n\n/**\n * @deprecated Should use bignumber instead\n */\n@Component({\n templateUrl: \"currency-field.component.html\",\n})\nexport class CurrencyFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig, OnInit {\n @Input()\n public field: CurrencyField;\n @Input()\n public formControl: FormControl;\n\n @ViewChild(\"inputRef\") inputRef: ElementRef;\n\n constructor(\n readonly currencyService: CurrencyService,\n private readonly localeService: LocaleService,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.onLocaleService();\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.currencySymbol) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n currencySymbol: \"R$\",\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: \"R$\",\n }),\n });\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\"\n\nimport { PasswordField } from \"../../../configurations/fields/password-field\";\n\n@Component({\n templateUrl: \"./password-field.component.html\",\n styleUrls: [\"./password-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PasswordFieldComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input()\n public field: PasswordField;\n\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('inputRef') inputRef: ElementRef;\n\n private ngUnsubscribe = new Subject();\n public passwordVisible = false;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this.onFocus\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: FocusEvent) => {\n if (this.field.onFocus) {\n this.field.onFocus(event);\n }\n });\n this.onInput\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: InputEvent) => {\n if (this.field.onInput) {\n this.field.onInput(event);\n }\n });\n this.onComplete\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: any) => {\n if (this.field.onComplete) {\n this.field.onComplete(event);\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public onChangeVisible(): void {\n this.passwordVisible = !this.passwordVisible;\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { TextField } from \"../../../configurations/fields/text-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { InputMask } from \"primeng/inputmask\";\n\n@Component({\n templateUrl: \"text-field.component.html\",\n styleUrls: [\"./text-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TextFieldComponent extends BaseFieldComponent implements OnInit, AfterViewInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: TextField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('inputRef') inputRef: ElementRef | InputMask;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) {\n super();\n }\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get inputElement() {\n if (this.inputRef instanceof InputMask) {\n return this.inputRef?.inputViewChild?.nativeElement;\n } else {\n return this.inputRef;\n }\n }\n\n getCharacterPattern(): string {\n return typeof this.field.characterPattern === \"function\"\n ? this.field.characterPattern()\n : this.field.characterPattern;\n }\n\n getUnmask(): boolean {\n return typeof this.field.unmask === \"function\"\n ? this.field.unmask()\n : this.field.unmask;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { CheckboxField } from \"../../../configurations/fields\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"checkbox-field.component.html\",\n})\nexport class CheckboxFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CheckboxField;\n\n @Input()\n public formControl: FormControl;\n}\n","import { Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { EditorField } from \"../../../configurations/fields/editor-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"./editor-field.component.html\",\n})\nexport class EditorFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: EditorField;\n\n @Input()\n public formControl: FormControl;\n}\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { first, takeUntil } from \"rxjs/operators\";\n\nimport { LocaleService } from \"../../../../locale/locale.service\";\nimport { NumberAlignmentOption } from \"../../../../number-input/index\";\nimport { DecimalField } from \"../../../configurations/fields/decimal-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"./../../../configurations/field-type\";\n\n@Component({\n templateUrl: \"number-field.component.html\",\n styleUrls: [\"./number-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: DecimalField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n public inputRef: ElementRef;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private readonly localeService: LocaleService,\n private readonly elementRef: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n }\n\n public ngOnInit() {\n this.onLocaleService();\n\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get numberAlignmentOption() {\n return NumberAlignmentOption;\n }\n\n public get fieldType() {\n return FieldType;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.currencySymbol) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n currencySymbol: \"R$\",\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: \"R$\",\n }),\n });\n }\n\n private setInputRef(): void {\n const input = this.elementRef.nativeElement.querySelector(\"input\");\n this.inputRef = input;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { ProfilePictureField } from \"../../../configurations/fields/profile-picture\";\n\n@Component({\n templateUrl: \"./profile-picture-field.component.html\",\n})\nexport class ProfilePictureFieldComponent {\n @Input()\n public field: ProfilePictureField;\n\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from '@angular/core';\nimport { ButtonField } from '../../../configurations/fields/button-field';\n\n@Component({\n selector: 's-button-field',\n templateUrl: './button-field.component.html',\n styleUrls: ['./button-field.component.scss']\n})\nexport class ButtonFieldComponent {\n\n @Input() field: ButtonField;\n\n clickedButton($event: Event) {\n if (this.field.onClick) {\n this.field.onClick($event);\n }\n }\n\n handleMouseEnter() {\n if (this.field.mouseEnter) {\n this.field.mouseEnter(this.field);\n }\n }\n\n handleMouseLeave() {\n if (this.field.mouseLeave) {\n this.field.mouseLeave(this.field);\n }\n }\n\n}\n","import { ComponentFactoryResolver, ComponentRef, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { Subscription } from \"rxjs\";\n\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { RowComponent } from \"./components/grid/row/row.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\n\n// fields\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BignumberFieldComponent } from \"./components/fields/bignumber/bignumber-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { BooleanSwitchFieldComponent } from \"./components/fields/boolean/boolean-switch-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CountryPhonePickerFieldComponent } from \"./components/fields/country-phone-picker/country-phone-picker-field.component\";\nimport { CurrencyFieldComponent } from \"./components/fields/currency/currency-field.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { PasswordFieldComponent } from \"./components/fields/password/password-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { SliderFieldComponent } from \"./components/fields/slider/slider-field.component\";\nimport { TextAreaIAFieldComponent } from \"./components/fields/text-area-ia/text-area-ia-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { TextFieldComponent } from \"./components/fields/text/text-field.component\";\n\nimport { CheckboxFieldComponent } from \"./components/fields\";\nimport { ButtonFieldComponent } from \"./components/fields/button-field/button-field.component\";\nimport { EditorFieldComponent } from \"./components/fields/editor/editor-field.component\";\nimport { ProfilePictureFieldComponent } from \"./components/fields/profile-picture/profile-picture-field.component\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Row } from \"./configurations/grid/row\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\n\nexport abstract class DynamicForm {\n group: FormGroup;\n errorMessages: any;\n abstract createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef): any;\n abstract updateVariables(component: ComponentRef<any>): void;\n abstract getComponent(): any;\n\n constructor({ group, errorMessages }: { group: FormGroup; errorMessages: any }) {\n this.group = group;\n this.errorMessages = errorMessages;\n }\n}\n\nexport class DynamicField extends DynamicForm {\n field: FormField;\n errorMessages: any;\n\n constructor({ group, field, errorMessages }: { group: FormGroup; field: FormField; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n\n this.field = field;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.field = this.field;\n // Must be this way because some teams use name like \"e070emp.codemp\"\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n\n this._switchEmptyStringToNull(component);\n\n component.instance.errorMessages = this.errorMessages;\n\n this.setVariablesByType(component);\n return component;\n }\n\n private _switchEmptyStringToNull(component: ComponentRef<any>) {\n switch (component.instance.field.type) {\n case FieldType.Password:\n case FieldType.String:\n case FieldType.Text:\n case FieldType.TextIA:\n const valueChanges$: Subscription = component.instance.formControl.valueChanges\n .subscribe((value: unknown) => {\n if (value === \"\") {\n component.instance.formControl.setValue(null, { emitEvent: false });\n }\n });\n\n component.onDestroy(() => {\n valueChanges$.unsubscribe();\n });\n\n return;\n }\n }\n\n public setVariablesByType(component: ComponentRef<any>) {\n if (this.field.type == FieldType.Time) {\n component.instance.timeOnly = true;\n }\n if ([FieldType.LocalDateTime, FieldType.DateTime, FieldType.Time].includes(this.field.type)) {\n component.instance.showTime = true;\n }\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.field = this.field;\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n this.setVariablesByType(component);\n }\n\n public getComponent(): any {\n switch (this.field.type) {\n case FieldType.Autocomplete:\n return AutocompleteFieldComponent;\n case FieldType.Binary:\n case FieldType.String:\n return TextFieldComponent;\n case FieldType.Boolean:\n return this.field.representedBy === \"switch\" ? BooleanSwitchFieldComponent : BooleanFieldComponent;\n case FieldType.Checkbox:\n return CheckboxFieldComponent;\n case FieldType.Chips:\n return ChipsFieldComponent;\n case FieldType.CountryPhonePicker:\n return CountryPhonePickerFieldComponent;\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.LocalDateTime:\n case FieldType.Time:\n return CalendarFieldComponent;\n case FieldType.Number:\n case FieldType.Integer:\n case FieldType.Double:\n return BignumberFieldComponent;\n case FieldType.Enum:\n return SelectFieldComponent;\n case FieldType.Lookup:\n return LookupFieldComponent;\n case FieldType.Money:\n return CurrencyFieldComponent;\n case FieldType.Radio:\n return RadioButtonComponent;\n case FieldType.Text:\n return TextAreaFieldComponent;\n case FieldType.TextIA:\n return TextAreaIAFieldComponent;\n case FieldType.Password:\n return PasswordFieldComponent;\n case FieldType.Blob:\n return FileUploadComponent;\n case FieldType.Slider:\n return SliderFieldComponent;\n case FieldType.ProfilePicture:\n return ProfilePictureFieldComponent;\n case FieldType.Editor:\n return EditorFieldComponent;\n case FieldType.Button:\n return ButtonFieldComponent;\n case FieldType.Custom:\n return this.field.CustomFieldComponentClass;\n default:\n throw new Error(`Trying to use an unsupported type (${this.field.type}).`);\n }\n }\n}\n\nexport class DynamicStructure extends DynamicForm {\n group: FormGroup;\n config: Structure;\n errorMessages: any;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Structure; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.config = this.config;\n component.instance.group = this.group;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.structure = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent(): any {\n switch (this.config.type) {\n case StructureType.Fieldset:\n return FieldsetComponent;\n case StructureType.Section:\n return SectionComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n\nexport class DynamicGrid extends DynamicForm {\n group: FormGroup;\n config: Row;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Row; errorMessages: any }) {\n super({ group, errorMessages });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory)\n component.instance.config = this.config;\n component.instance.group = this.group;\n component.instance.errorMessages = this.errorMessages;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.config = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent() {\n switch (this.config.type) {\n case GridType.Row:\n return RowComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnChanges, OnDestroy, OnInit, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Grid } from \"./configurations/grid/grid\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\nimport { DynamicField, DynamicForm, DynamicGrid, DynamicStructure } from \"./dynamic-form\";\nimport { Row } from \"./configurations/grid/row\";\n\n@Directive({ selector: \"[sDynamicForm]\" })\nexport class DynamicFormDirective implements OnInit, OnChanges, OnDestroy {\n private id: string;\n private config: Structure | FormField | Grid | Row;\n private group: FormGroup;\n private errorMessages: FormGroup;\n private directiveConfig: DynamicForm;\n\n @Input()\n set sDynamicForm(context: { id: string; config: FormField; structure: Structure; group: FormGroup; errorMessages: any }) {\n const { id, config, group, errorMessages } = context;\n this.id = id;\n this.config = config;\n this.group = group;\n this.errorMessages = errorMessages;\n }\n\n public component: ComponentRef<any>;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef) { }\n\n public ngOnInit() {\n if (this.isField()) {\n if (!((this.config as FormField).id) && this.id) {\n (this.config as FormField).id = this.id + \"-\" + (this.config as FormField).name;\n }\n\n this.directiveConfig = new DynamicField({\n group: this.group,\n field: this.config as FormField,\n errorMessages: this.errorMessages,\n });\n } else if (this.isStructure()) {\n this.directiveConfig = new DynamicStructure({\n group: this.group,\n config: this.config as Structure,\n errorMessages: this.errorMessages,\n });\n } else if (this.isGrid()) {\n this.directiveConfig = new DynamicGrid({\n group: this.group,\n config: this.config as Row,\n errorMessages: this.errorMessages,\n });\n } else throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n\n this.component = this.directiveConfig.createComponent(this.resolver, this.container);\n this.component.instance.id = this.id;\n this.component.instance.errorMessages = this.errorMessages;\n }\n\n public ngOnChanges() {\n if (this.component) {\n this.directiveConfig.updateVariables(this.component);\n this.component.instance.errorMessages = this.errorMessages;\n }\n }\n\n public ngOnDestroy(): void {\n this.component.destroy();\n }\n\n public isField() {\n return FieldType[this.config.type];\n }\n\n public isStructure() {\n return StructureType[this.config.type];\n }\n\n public isGrid() {\n return GridType[this.config.type];\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { Field } from \"../../configurations/fields/field\";\n\n@Component({\n selector: 's-field-label',\n templateUrl: './field-label.component.html',\n})\nexport class FieldLabelComponent {\n @Input()\n public field: Field;\n\n @Input()\n public fieldContainerRef: HTMLElement;\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FieldLabelComponent } from \"./field-label.component\";\nimport { InfoSignModule } from \"../../../info-sign/info-sign.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n InfoSignModule\n ],\n declarations: [FieldLabelComponent],\n exports: [FieldLabelComponent],\n})\nexport class FieldLabelModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { BignumberInputModule } from \"../../../../bignumber-input/bignumber-input.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { BignumberFieldComponent } from \"./bignumber-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n BignumberInputModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [BignumberFieldComponent],\n exports: [BignumberFieldComponent],\n})\nexport class BignumberFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { CheckboxModule } from \"../../../../checkbox/checkbox.module\";\nimport { CheckboxFieldComponent } from \"./checkbox-field.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, CheckboxModule],\n declarations: [CheckboxFieldComponent],\n exports: [CheckboxFieldComponent],\n})\nexport class CheckboxFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { NumberInputModule } from \"../../../../number-input/number-input.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { CurrencyFieldComponent } from \"./currency-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NumberInputModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [CurrencyFieldComponent],\n exports: [CurrencyFieldComponent],\n})\nexport class CurrencyFieldModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { EditorModule } from \"primeng/editor\";\n\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\nimport { EditorFieldComponent } from \"./editor-field.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, EditorModule, FieldLabelModule],\n declarations: [EditorFieldComponent],\n exports: [EditorFieldComponent],\n})\nexport class EditorFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { LocalizedNumberInputModule } from \"../../../../localized-number-input/localized-number-input.module\";\nimport { NumberInputModule } from \"../../../../number-input/number-input.module\";\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { NumberFieldComponent } from \"./number-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n LocalizedNumberInputModule,\n NumberInputModule,\n ButtonModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [NumberFieldComponent],\n exports: [NumberFieldComponent],\n})\nexport class NumberFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { PasswordStrengthModule } from \"../../../../password-strength/password-strength.module\";\nimport { PasswordFieldComponent } from \"./password-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n TooltipModule,\n PasswordStrengthModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [PasswordFieldComponent],\n exports: [PasswordFieldComponent],\n})\nexport class PasswordFieldModule {}","import { Component, TemplateRef, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"s-header\",\n template: `\n <ng-template #headerTemplate>\n <ng-content></ng-content>\n </ng-template>`,\n})\nexport class HeaderComponent {\n @ViewChild('headerTemplate', { static: true })\n public readonly template: TemplateRef<any>;\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-footer\",\n template: `<ng-content></ng-content>`,\n})\nexport class FooterComponent {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { HeaderComponent } from \"./header.component\";\nimport { FooterComponent } from \"./footer.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [HeaderComponent, FooterComponent],\n exports: [HeaderComponent, FooterComponent],\n})\nexport class StructureModule {}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport Cropper from \"cropperjs\";\nimport { FooterComponent } from \"../structure/footer.component\";\nimport { HeaderComponent } from \"../structure/header.component\";\n\n@Component({\n selector: \"s-image-cropper\",\n templateUrl: \"./image-cropper.component.html\",\n styleUrls: [\"../../../../node_modules/cropperjs/dist/cropper.min.css\", \"./image-cropper.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImageCropperComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public id = `s-image-cropper-${ImageCropperComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header = \"Recortar imagem\";\n\n @Input()\n public cropLabel = \"Recortar\";\n\n @Input()\n public selectAnotherLabel = \"Trocar\";\n\n @Input()\n public removeLabel = \"Remover\";\n\n @Input()\n public cancelLabel = \"Cancelar\";\n\n @Input()\n public emptyStateTitle = \"Selecione uma foto, em seguida você poderá ajustá-la\";\n\n @Input()\n public emptyStateActionLabel = \"Escolher imagem\";\n\n @Input()\n public emptyStateIconClass = \"fa fa-picture-o\";\n\n @Input()\n public aspectRatio = NaN;\n\n @Input()\n public rounded = false;\n\n @Input()\n public allowSelectAnother = true;\n\n @Input()\n public allowRemove = true;\n\n @Input()\n public allowCancel = true;\n\n @Input()\n public imageSource?: string;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @Output()\n public changeImage = new EventEmitter();\n\n @Output()\n public croppedImage = new EventEmitter<string>();\n\n @Output()\n public croppedCanvas = new EventEmitter<HTMLCanvasElement>();\n\n @Output()\n public removedImage = new EventEmitter();\n\n @Output()\n public cancel = new EventEmitter();\n\n @ViewChild(\"image\", { static: true })\n public image: ElementRef;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n public cropper: Cropper;\n\n public ngOnInit() {\n if (this.imageSource) this.initCropper();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.imageSource && changes.imageSource.currentValue) {\n this.initCropper();\n }\n }\n\n private initCropper() {\n if (this.cropper) {\n this.cropper.destroy();\n }\n\n this.image.nativeElement.src = this.imageSource;\n this.cropper = new Cropper(this.image.nativeElement, {\n aspectRatio: this.rounded ? 1 : this.aspectRatio,\n guides: false,\n dragMode: \"move\" as Cropper.DragMode,\n minCropBoxHeight: 2,\n minCropBoxWidth: 2,\n toggleDragModeOnDblclick: false,\n });\n }\n\n public getRoundedCanvas(sourceCanvas: HTMLCanvasElement) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n const width = sourceCanvas.width;\n const height = sourceCanvas.height;\n canvas.width = width;\n canvas.height = height;\n context.imageSmoothingEnabled = true;\n context.drawImage(sourceCanvas, 0, 0, width, height);\n context.globalCompositeOperation = \"destination-in\";\n context.beginPath();\n context.arc(width / 2, height / 2, Math.min(width, height) / 2, 0, 2 * Math.PI, true);\n context.fill();\n return canvas;\n }\n\n public onCropImage() {\n if (!this.imageSource) {\n this.croppedImage.emit();\n this.croppedCanvas.emit();\n } else {\n const _croppedCanvas = this.rounded ? this.getRoundedCanvas(this.cropper.getCroppedCanvas()) : this.cropper.getCroppedCanvas();\n\n this.croppedCanvas.emit(_croppedCanvas);\n this.croppedImage.emit(_croppedCanvas.toDataURL());\n }\n\n this.visibleChange.emit(false);\n }\n\n public onChangeImage() {\n this.changeImage.emit();\n }\n\n public onRemoveImage() {\n this.imageSource = undefined;\n this.removedImage.emit();\n }\n\n public onCancel() {\n this.visibleChange.emit(false);\n this.cancel.emit();\n }\n\n public onModalVisibleChange(visible: boolean) {\n if (!visible) this.onCancel();\n this.visibleChange.emit(visible);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { DialogModule } from \"primeng/dialog\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\n\n@NgModule({\n imports: [CommonModule, DialogModule, ButtonModule, EmptyStateModule, StructureModule],\n declarations: [ImageCropperComponent],\n exports: [ImageCropperComponent, StructureModule],\n entryComponents: [ImageCropperComponent],\n})\nexport class ImageCropperModule {}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, EmbeddedViewRef, ComponentRef } from \"@angular/core\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil, delay } from \"rxjs/operators\";\n\n@Injectable()\nexport class ImageCropperService {\n public activeCropper: ActiveCropper;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public show(config?: ImageCropperConfig) {\n if (this.activeCropper) this.destroy(this.activeCropper);\n\n const activeCropper = {\n componentRef: this.componentFactoryResolver.resolveComponentFactory(ImageCropperComponent).create(this.injector),\n ngUnsubscribe: new Subject(),\n };\n\n this.activeCropper = activeCropper;\n\n this.appRef.attachView(activeCropper.componentRef.hostView);\n const domElem = (activeCropper.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.configureInstance(activeCropper, config);\n activeCropper.componentRef.instance.visible = true;\n\n activeCropper.componentRef.instance.visibleChange\n .pipe(\n takeUntil(this.activeCropper.ngUnsubscribe),\n delay(1000)\n )\n .subscribe(visible => {\n if (!visible) this.destroy(activeCropper);\n });\n }\n\n private configureInstance(activeCropper: ActiveCropper, config?: ImageCropperConfig) {\n const instance = activeCropper.componentRef.instance;\n\n if (config) {\n Object.keys(config).forEach(key => {\n const value = config[key];\n if (typeof value !== \"function\") instance[key] = value;\n else if (typeof value === \"function\") {\n instance[key].pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe((...param: any[]) => config[key](...param));\n }\n });\n }\n\n instance.visibleChange.pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe(visible => (instance.visible = visible));\n }\n\n private destroy(activeCropper: ActiveCropper) {\n activeCropper.ngUnsubscribe.next();\n activeCropper.ngUnsubscribe.complete();\n\n this.appRef.detachView(activeCropper.componentRef.hostView);\n activeCropper.componentRef.destroy();\n }\n}\n\nexport interface ActiveCropper {\n componentRef?: ComponentRef<ImageCropperComponent>;\n ngUnsubscribe?: Subject<any>;\n}\n\nexport interface ImageCropperConfig {\n id?: any;\n header?: string;\n cropLabel?: string;\n selectAnotherLabel?: string;\n removeLabel?: string;\n cancelLabel?: string;\n emptyStateTitle?: string;\n emptyStateActionLabel?: string;\n emptyStateIconClass?: string;\n aspectRatio?: number;\n rounded?: boolean;\n allowSelectAnother?: boolean;\n allowRemove?: boolean;\n allowCancel?: boolean;\n imageSource?: string;\n\n cancel?: () => any;\n changeImage?: () => any;\n removedImage?: () => any;\n croppedImage?: (imageSource: string) => any;\n croppedCanvas?: (imageSource: HTMLCanvasElement) => any;\n}\n","export enum ThumbnailSize {\n Small = \"small\",\n Medium = \"medium\",\n Large = \"large\",\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ThumbnailService {\n public getBinaryFile(img: HTMLImageElement) {\n return new Promise(resolve => {\n const getOrientation = this.getOrientation.bind(this);\n\n let http = new XMLHttpRequest();\n http.addEventListener(\"load\", () => {\n if (http.readyState === 4 && (http.status == 200 || http.status === 0)) {\n const orientation = getOrientation(http.response);\n http = null;\n resolve(orientation);\n }\n });\n\n http.addEventListener(\"error\", () => {\n http = null;\n throw new Error(\"Não foi possÃvel carregar a imagem\");\n });\n\n http.open(\"GET\", img.src, true);\n http.responseType = \"arraybuffer\";\n http.send(null);\n });\n }\n\n /**\n * Retorna a tag da orientação EXIF {-1} Não definido, {-2} Não é formato JPEG, {1, 2, 3, 4, 5, 6, 7, 8} valores da orientação.\n */\n private getOrientation(file: ArrayBuffer): number {\n const view = new DataView(file);\n\n if (view.getUint16(0, false) != 0xffd8) return -2; // not jpeg\n\n const length = view.byteLength;\n let offset = 2;\n\n while (offset < length) {\n const marker = view.getUint16(offset, false);\n offset += 2;\n\n if (marker == 0xffe1) {\n if (view.getUint32((offset += 2), false) != 0x45786966) {\n return -1; // not defined\n }\n const little = view.getUint16((offset += 6), false) == 0x4949;\n offset += view.getUint32(offset + 4, little);\n const tags = view.getUint16(offset, little);\n offset += 2;\n\n for (let i = 0; i < tags; i++)\n if (view.getUint16(offset + i * 12, little) == 0x0112) return view.getUint16(offset + i * 12 + 8, little);\n // tslint:disable-next-line: no-bitwise\n } else if ((marker & 0xff00) != 0xff00) break;\n else offset += view.getUint16(offset, false);\n }\n return -1; // not defined\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n OnDestroy,\n Output,\n EventEmitter,\n} from \"@angular/core\";\n\nimport { from, Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { ThumbnailSize } from \"./thumbnail-size\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@Component({\n selector: \"s-thumbnail\",\n templateUrl: \"./thumbnail.component.html\",\n styleUrls: [\"./thumbnail.component.scss\"],\n})\nexport class ThumbnailComponent implements AfterViewInit, OnDestroy {\n public static nextId = 0;\n public fallback = false;\n public orientation: number;\n\n @ViewChild(\"img\", { static: false })\n public imgEl: ElementRef;\n\n @Input()\n public id = `s-thumbnail-${ThumbnailComponent.nextId++}`;\n\n @Input()\n public size: ThumbnailSize = ThumbnailSize.Medium;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public iconClass = \"far fa-image\";\n\n @Input()\n public hasAction = false;\n\n @Input()\n public actionIconClass = \"fas fa-camera\";\n\n @Input()\n public isTile = false;\n\n @Input()\n public isBrand = false;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private thumbnailService: ThumbnailService) { }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public ngAfterViewInit(): void {\n if (this.imgEl) {\n this.imgEl.nativeElement.addEventListener(\"load\", () => {\n from(this.thumbnailService.getBinaryFile(this.imgEl.nativeElement))\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((orientation: number) => (this.orientation = orientation));\n });\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"./thumbnail.component\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ThumbnailComponent],\n exports: [ThumbnailComponent],\n providers: [ThumbnailService],\n})\nexport class ThumbnailModule {}\n","export interface FileValidationErrors {\n file: File;\n validation: FileValidation,\n}\n\nexport enum FileValidation {\n MaxFileSize = \"maxFileSize\",\n MaxFileLimit = \"maxFileLimit\",\n TypeInvalid = \"typeInvalid\",\n UnsupportedExtension = \"unsupportedExtension\",\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { ConfirmationService } from \"primeng/api\";\n\nimport { ImageCropperService } from \"../image-cropper/image-cropper.service\";\nimport { ConfirmationTexts, CropperLabelsConfig, FileValidation, FileValidationErrors, ProfilePicturePickerData } from \"./models/index\";\n\n@Component({\n selector: \"s-profile-picture-picker\",\n templateUrl: \"profile-picture-picker.component.html\",\n styleUrls: [\"profile-picture-picker.component.scss\"],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ProfilePicturePickerComponent),\n multi: true,\n }],\n})\nexport class ProfilePicturePickerComponent implements OnInit, ControlValueAccessor {\n @Input()\n public simpleTitle: string;\n\n @Input()\n public actionTitle: string;\n\n @Input()\n public subtitle: string;\n\n @Input()\n public aspectRatio = 1;\n\n @Input()\n public cropperLabelsConfig: CropperLabelsConfig;\n\n @Input()\n public removeButtonLabel: string;\n\n @Input()\n public changeButtonLabel: string;\n\n @Input()\n public confirmationTexts: ConfirmationTexts;\n\n @Input()\n public maxFileSize: number;\n\n @Input()\n public accept: string;\n\n @Input()\n public supportedExtensions: string[] = [];\n\n @Input()\n public image: string | ProfilePicturePickerData;\n\n @ViewChild(\"uploadPicture\")\n public uploadPicture: ElementRef;\n\n @ViewChild(\"info\")\n public info: ElementRef;\n\n @ViewChild(\"thumbnail\", { read: ElementRef })\n public thumbnail: ElementRef;\n\n @ViewChild(\"fileInput\", { read: ElementRef })\n public fileInput: ElementRef;\n\n /**\n * @deprecated Use imageChange instead.\n */\n @Output()\n public changedImage: EventEmitter<string> = new EventEmitter();\n\n @Output()\n public imageChange = new EventEmitter<string | ProfilePicturePickerData>()\n\n @Output()\n public removedImage = new EventEmitter();\n\n @Output()\n public invalidFile: EventEmitter<FileValidationErrors> = new EventEmitter();\n\n public get imageBase64(): string {\n return typeof this.image === \"string\" ? this.image : this.image?.base64;\n }\n\n private _onChange: (value: string | ProfilePicturePickerData) => void;\n private _onTouched: () => void;\n\n constructor(\n private readonly imageCropperService: ImageCropperService,\n private readonly confirmationService: ConfirmationService,\n private readonly translateService: TranslateService,\n ) { }\n\n public writeValue(value: string | ProfilePicturePickerData): void {\n this.image = value;\n }\n\n public registerOnChange(onChange: (value: ProfilePicturePickerData) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public ngOnInit(): void {\n this._normalizeSuportedExtensions();\n }\n\n @HostListener(\"dragover\", [\"$event\"])\n public onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener(\"dragleave\", [\"$event\"])\n public onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener(\"drop\", [\"$event\"])\n public onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this._onTouched?.();\n\n const files: File[] = [];\n const dataTransferFiles = event.dataTransfer.files;\n\n for (let i = 0; i < dataTransferFiles.length; i++) {\n files.push(dataTransferFiles.item(i));\n }\n\n this._showImageCropper(files);\n }\n\n // Verificando o redimensionamento para ajustar o design para ficar responsivo.\n @HostListener(\"window:resize\")\n public onResize(): void {\n if (this.uploadPicture && this.info && this.thumbnail) {\n const uploadPictureWidth = this._getWidthElement(this.uploadPicture);\n const infoWidth = this._getWidthElement(this.info);\n const thumbnailWidth = this._getWidthElement(this.thumbnail);\n\n if (thumbnailWidth + infoWidth > uploadPictureWidth) {\n this.uploadPicture.nativeElement.classList.add(\"upload-picture--small\");\n } else {\n this.uploadPicture.nativeElement.classList.remove(\"upload-picture--small\");\n }\n }\n }\n\n public selectPhoto(): void {\n const fileInputElement = this.fileInput.nativeElement;\n fileInputElement.value = \"\";\n fileInputElement.click();\n\n this._onTouched?.();\n }\n\n public removePhoto(): void {\n this.confirmationService.confirm({\n message: this.confirmationTexts?.removalMessage ?? this.translateService.instant(\"platform.angular_components.confirmation_remove_image\"),\n acceptLabel: this.confirmationTexts?.removalAcceptLabel ?? this.translateService.instant(\"platform.angular_components.remove\"),\n rejectLabel: this.confirmationTexts?.removalRejectLabel ?? this.translateService.instant(\"platform.angular_components.cancel\"),\n header: this.confirmationTexts?.removalHeader ?? this.translateService.instant(\"platform.angular_components.remove_image\"),\n rejectButtonStyleClass: \"ui-button-secondary\",\n accept: () => {\n const fileInputElement = this.fileInput.nativeElement;\n fileInputElement.value = \"\";\n this.image = null;\n this.removedImage.emit();\n },\n });\n }\n\n public photoSelected(event: any): void {\n this._showImageCropper(event.srcElement.files);\n }\n\n private _showImageCropper(files: File[]): void {\n if (!this._validateData(files)) {\n return;\n }\n\n const file = files[0];\n\n const fileReader = new FileReader();\n fileReader.readAsDataURL(file);\n fileReader.onloadend = (fileEvent: any) => {\n this.imageCropperService.show({\n imageSource: fileEvent.target.result,\n croppedImage: image => {\n this.changedImage.emit(image);\n\n const data: ProfilePicturePickerData = { source: file, base64: image};\n \n // Se o tipo do image for string eu preciso atualizar e mandar para o imageChange uma string.\n // Se for ProfilePicturePickerData eu preciso mandar o data completo.\n if (typeof this.image === \"string\") {\n this.image = image;\n this.imageChange.emit(image);\n } else {\n this.image = data;\n this.imageChange.emit(data);\n }\n \n this._onChange?.(this.image);\n },\n changeImage: () => this.selectPhoto(),\n allowSelectAnother: false,\n aspectRatio: this.aspectRatio,\n ...this.cropperLabelsConfig,\n });\n };\n }\n\n private _normalizeSuportedExtensions(): void {\n this.supportedExtensions = this.supportedExtensions\n ?.map(extension => extension.replace(\".\", \"\").toLocaleLowerCase());\n }\n\n private _validateData(files: File[]): boolean {\n if (!files.length) {\n return false;\n }\n\n if (files.length > 1) {\n this.invalidFile.emit({ file: null, validation: FileValidation.MaxFileLimit });\n return false;\n }\n\n const file = files[0];\n\n if (!file.type.includes(\"image\")) {\n this.invalidFile.emit({ file, validation: FileValidation.TypeInvalid });\n return false;\n }\n\n if (!this._validateFileExtension(file)) {\n this.invalidFile.emit({ file, validation: FileValidation.UnsupportedExtension });\n return false;\n }\n\n if (!this._validateFileSize(file)) {\n this.invalidFile.emit({ file, validation: FileValidation.MaxFileSize });\n return false;\n }\n\n return true;\n }\n\n private _validateFileExtension(file: File): boolean {\n if (this.supportedExtensions?.length) {\n const extension = file.name.split(\".\").pop().toLowerCase();\n return this.supportedExtensions.includes(extension);\n }\n return true;\n }\n\n private _validateFileSize(file: File): boolean {\n if (this.maxFileSize) {\n return file.size <= this.maxFileSize;\n }\n return true;\n }\n\n private _getWidthElement(element: ElementRef): number {\n const { left, right } = element.nativeElement.getBoundingClientRect();\n return right - left;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { ConfirmationService } from \"primeng/api\";\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\n\nimport { ButtonModule } from '../button/button.module';\nimport { ImageCropperModule } from '../image-cropper/image-cropper.module';\nimport { ImageCropperService } from '../image-cropper/image-cropper.service';\nimport { ThumbnailModule } from '../thumbnail/thumbnail.module';\nimport { ProfilePicturePickerComponent } from \"./profile-picture-picker.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ButtonModule,\n ThumbnailModule,\n ImageCropperModule,\n ConfirmDialogModule,\n ],\n declarations: [ProfilePicturePickerComponent],\n exports: [ProfilePicturePickerComponent],\n providers: [\n ImageCropperService,\n ConfirmationService,\n ],\n})\nexport class ProfilePicturePickerModule { }","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ProfilePicturePickerModule } from \"../../../../profile-picture-picker/profile-picture-picker.module\";\nimport { ProfilePictureFieldComponent } from \"./profile-picture-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ProfilePicturePickerModule,\n FieldLabelModule\n ],\n declarations: [ProfilePictureFieldComponent],\n exports: [ProfilePictureFieldComponent],\n})\nexport class ProfilePictureModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\n\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { TextFieldComponent } from \"./text-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n KeyFilterModule,\n FieldLabelModule\n ],\n declarations: [TextFieldComponent],\n exports: [TextFieldComponent],\n})\nexport class TextFieldModule {}\n","import { ChangeDetectorRef, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 's-textarea',\n templateUrl: './text-area.component.html',\n styleUrls: ['./text-area.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextAreaComponent),\n multi: true,\n },\n ],\n})\nexport class TextAreaComponent implements ControlValueAccessor {\n onChange: (value: string) => void = () => { };\n onTouched: (value: string) => void = () => { };\n disabled = false;\n value = '';\n private _textAreaElement: ElementRef<HTMLTextAreaElement>;\n\n @ViewChild('textArea', { read: ElementRef })\n public get textAreaElement(): ElementRef<HTMLTextAreaElement> {\n return this._textAreaElement;\n }\n\n public set textAreaElement(value: ElementRef<HTMLTextAreaElement>) {\n this._textAreaElement = value;\n setTimeout(() => {\n this.renderTextArea = true;\n this.cdr.detectChanges();\n })\n }\n\n @Input() inputId = `textarea-${Math.random()}`;\n @Input() rows = 5;\n @Input() speechRecognition = false;\n @Input() keyFilter: string | RegExp;\n @Input() keepContext = false;\n @Input() speechRecognitionPlaceholder = '';\n @Input() maxLength: number;\n @Input() placeholder: string;\n private _inputStyle: Partial<CSSStyleDeclaration> = {\n resize: 'vertical'\n }\n @Input() get inputStyle(): Partial<CSSStyleDeclaration> {\n return this._inputStyle;\n }\n set inputStyle(value: Partial<CSSStyleDeclaration>) {\n this._inputStyle = {\n ...value,\n ...this._inputStyle,\n };\n }\n @Input() readOnly = false;\n\n renderTextArea = false;\n\n constructor(private readonly cdr: ChangeDetectorRef) { }\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n setValue(value: string) {\n if (this.disabled) {\n return;\n }\n this.value = value;\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n\n handleRecognizedText(recognizedText: string) {\n this.setValue(recognizedText);\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { LocaleService } from '../locale/locale.service';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TextToSpeechService {\n private readonly utterance = new SpeechSynthesisUtterance();\n private activeVoice: SpeechSynthesisVoice;\n voices: SpeechSynthesisVoice[] = [];\n constructor(private readonly locale: LocaleService, private readonly ngZone: NgZone) {\n this.setVoices();\n }\n\n private setVoices() {\n let _voices = speechSynthesis.getVoices();\n\n if (!_voices.length) {\n speechSynthesis.onvoiceschanged = () => {\n this.ngZone.run(() => {\n _voices = speechSynthesis.getVoices();\n const currentLang = this.locale.getLocaleOptions()?.locale || 'pt-BR';\n this.setActiveVoice(_voices, currentLang);\n this.locale.getLocale().subscribe((locale) => {\n this.setActiveVoice(_voices, locale);\n })\n })\n }\n }\n }\n\n /**\n * Updates the active voice\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/voiceURI)\n * @param voiceUri\n */\n updateVoice(voiceUri: string) {\n this.activeVoice = this.voices.find((voice) => voice.voiceURI === voiceUri);\n }\n\n\n speak(text: string, speed: number = 1) {\n if (!this.activeVoice) {\n return;\n }\n return new Promise((resolve) => {\n this.utterance.text = text;\n this.utterance.voice = this.activeVoice;\n this.utterance.rate = speed;\n speechSynthesis.speak(this.utterance);\n this.utterance.onend = () => {\n this.ngZone.run(() => {\n resolve(true);\n })\n }\n })\n }\n\n pause() {\n speechSynthesis.pause();\n }\n\n resume() {\n speechSynthesis.resume();\n }\n\n cancel() {\n speechSynthesis.cancel();\n }\n\n get hasVoice() {\n return !!this.activeVoice;\n }\n\n private setActiveVoice(voices: SpeechSynthesisVoice[], lang: string) {\n const _voice = voices.find((voice) => voice.lang === lang);\n if (_voice) {\n this.activeVoice = _voice;\n }\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SpeechRecognitionService } from '../speech-recognition.service';\nimport { TextToSpeechService } from '../text-to-speech.service';\n\n@Component({\n selector: 's-speech-recognition',\n templateUrl: './speech-recognition.component.html',\n styleUrls: ['./speech-recognition.component.scss']\n})\nexport class SpeechRecognitionComponent implements OnInit, OnDestroy {\n private static TOOLBAR_ACTIVE = false;\n @Input() textAreaElement: HTMLTextAreaElement;\n @Input() keepContext = false;\n @Input() speechRecognitionPlaceholder = '';\n private _recognizedText = '';\n private originalTextAreaElementText = '';\n private isDoneTextToSpeech = false;\n private readonly onDestroy$ = new Subject<void>();\n private readonly VOICE_SPEEDS = [0.5, 1, 1.5, 2];\n private readonly keydownEventListener = (event: KeyboardEvent) => {\n if (this.disabled) {\n event.preventDefault();\n }\n }\n\n disabled = false;\n isListeningUserVoice = false;\n voiceSpeed = 1;\n isDisabledMicrophone = false;\n\n canRenderMicrophone = true;\n canRenderTextToSpeech = true;\n canRenderListeningText = false;\n canRenderDiscard = false;\n canRenderAprove = false;\n canRenderTextToSpeechToolbar = false;\n\n isPlayingTextToSpeech = false;\n\n @Output() recognizedText = new EventEmitter<string>();\n constructor(\n private readonly speechRecognitionService: SpeechRecognitionService,\n private readonly textToSpeechService: TextToSpeechService,\n private readonly translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n if (!this.hasSpeechRecognitionBrowserApi) {\n return;\n }\n if (!this.textAreaElement) {\n throw new Error('textAreaElement is required');\n }\n this.textAreaElement.placeholder = this.speechRecognitionPlaceholder ? this.speechRecognitionPlaceholder : this.translateService.instant(\"platform.angular_components.text_area_speech_recognition_placeholder\");\n this.textAreaElement.addEventListener('keydown', this.keydownEventListener)\n this.speechRecognitionService.microphoneStatus$.pipe(takeUntil(this.onDestroy$)).subscribe((status) => {\n if (status === 'active') {\n this.onCloseToolbar();\n }\n })\n }\n\n onListen() {\n if (this.isDisabledMicrophone || this.isListening) {\n return;\n }\n this.disabled = true;\n this.canRenderMicrophone = false;\n this.canRenderListeningText = true;\n this.originalTextAreaElementText = this.textAreaElement.value;\n this.textAreaElement.value = '';\n this.isListeningUserVoice = true;\n this.speechRecognitionService.listen()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(({ text, isFinal }) => {\n this._recognizedText = text;\n this.setTextAreaValue(text);\n this.scrollTextAreaBottom();\n if (isFinal) {\n this.canRenderAprove = true;\n this.canRenderDiscard = true;\n this.canRenderListeningText = false;\n this.isListeningUserVoice = false;\n }\n }, () => {\n this.isListeningUserVoice = false;\n this.canRenderMicrophone = true;\n this.isDisabledMicrophone = false;\n this.canRenderListeningText = false;\n this.disabled = false;\n })\n }\n\n private scrollTextAreaBottom() {\n setTimeout(() => {\n this.textAreaElement.scrollTop = this.textAreaElement.scrollHeight;\n }, 120)\n }\n\n onOpenToolbar() {\n if (this.isDisabledTextToSpeech) {\n return;\n }\n this.canRenderTextToSpeechToolbar = true;\n this.canRenderTextToSpeech = false;\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = true;\n this.speak();\n }\n\n onCloseToolbar() {\n this.canRenderTextToSpeechToolbar = false;\n this.canRenderTextToSpeech = true;\n this.stopTextToSpeech();\n this.voiceSpeed = 1;\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = false;\n }\n onDiscard() {\n this.canRenderAprove = false;\n this.canRenderDiscard = false;\n this.canRenderMicrophone = true;\n this.canRenderTextToSpeechToolbar = false;\n this.canRenderTextToSpeech = true;\n this._recognizedText = '';\n this.setTextAreaValue(this.originalTextAreaElementText);\n this.disabled = false;\n this.stopTextToSpeech();\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = false;\n }\n\n onAprove() {\n this.canRenderAprove = false;\n this.canRenderDiscard = false;\n this.canRenderMicrophone = true;\n this.canRenderTextToSpeechToolbar = false;\n this.canRenderTextToSpeech = true;\n if (this.keepContext) {\n const breakLine = this.originalTextAreaElementText.length > 0 ? '\\n' : '';\n this.originalTextAreaElementText += `${breakLine}${this._recognizedText}`\n } else {\n this.originalTextAreaElementText = this._recognizedText\n }\n this.recognizedText.emit(this.keepContext ? this.originalTextAreaElementText : this._recognizedText);\n this.scrollTextAreaBottom();\n this._recognizedText = '';\n this.disabled = false;\n this.textToSpeechService.cancel();\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = false;\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n toggleTextToSpeech() {\n if (this.isPlayingTextToSpeech) {\n this.textToSpeechService.pause();\n } else {\n if (this.isDoneTextToSpeech) {\n this.speak();\n } else {\n this.textToSpeechService.resume();\n }\n }\n this.isPlayingTextToSpeech = !this.isPlayingTextToSpeech;\n }\n\n restartTextToSpeech() {\n this.textToSpeechService.cancel();\n this.speak();\n }\n\n updateVoiceSpeed() {\n const voiceSpeedIndex = this.VOICE_SPEEDS.indexOf(this.voiceSpeed);\n const nextVoiceSpeedIndex = this.VOICE_SPEEDS[voiceSpeedIndex + 1] ? voiceSpeedIndex + 1 : 0;\n this.voiceSpeed = this.VOICE_SPEEDS[nextVoiceSpeedIndex];\n this.textToSpeechService.cancel();\n this.speak()\n }\n\n stopListening() {\n this.speechRecognitionService.stop();\n }\n\n get isListening() {\n return this.speechRecognitionService.isListening\n }\n\n get hasSpeechRecognitionBrowserApi() {\n return this.speechRecognitionService.hasSupportSpeechRecognition;\n }\n\n get isDisabledTextToSpeech() {\n const hasTextToSpeechVoice = this.textToSpeechService.hasVoice;\n return !this.textToSpeech || !hasTextToSpeechVoice || this.isListening || SpeechRecognitionComponent.TOOLBAR_ACTIVE;\n }\n\n private setTextAreaValue(value: string) {\n this.textAreaElement.value = value;\n }\n\n private stopTextToSpeech() {\n this.isPlayingTextToSpeech = false;\n this.textToSpeechService.cancel();\n }\n\n private speak() {\n this.isDoneTextToSpeech = false;\n this.isPlayingTextToSpeech = true;\n this.textToSpeechService.speak(this.textToSpeech, this.voiceSpeed).then(() => {\n this.isPlayingTextToSpeech = false;\n this.isDoneTextToSpeech = true;\n });\n }\n\n private get textToSpeech() {\n return this.textAreaElement.value;\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SpeechRecognitionComponent } from './speech-recognition/speech-recognition.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [SpeechRecognitionComponent],\n imports: [\n CommonModule,\n TranslateModule\n ],\n exports: [SpeechRecognitionComponent]\n})\nexport class SpeechRecognitionModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextAreaComponent } from './text-area/text-area.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpeechRecognitionModule } from '../speech-recognition/speech-recognition.module';\nimport { KeyFilterModule } from 'primeng/keyfilter';\n\n\n\n@NgModule({\n declarations: [TextAreaComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpeechRecognitionModule,\n KeyFilterModule\n ],\n exports: [TextAreaComponent]\n})\nexport class TextAreaModule { }\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, ContentChild, EventEmitter, Input, Output } from \"@angular/core\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { FieldSetToggle } from \"./fieldset.models\";\n\n@Component({\n selector: \"s-fieldset\",\n templateUrl: \"./fieldset.component.html\",\n styleUrls: [\"./fieldset.component.scss\"],\n animations: [\n trigger('toggleAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('300ms ease-out', style({ opacity: 1, height: '*' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '*' }),\n animate('300ms ease-in', style({ opacity: 0, height: 0 })),\n ]),\n state('open', style({ opacity: 1, height: '*' })),\n state('closed', style({ opacity: 0, height: 0 })),\n transition('open <=> closed', animate('300ms ease')),\n ]),\n ],\n})\nexport class FieldsetComponent {\n @Input() legend = '';\n @Input() toggleable = false;\n @Input() icon = '';\n @Input() destroyOnHide = true;\n @ContentChild(HeaderComponent) readonly headerTemplate: HeaderComponent;\n\n @Output() beforeToggle = new EventEmitter<FieldSetToggle>();\n @Output() afterToggle = new EventEmitter<FieldSetToggle>();\n active = true;\n\n toggleActive(originalEvent: PointerEvent | KeyboardEvent) {\n if (!this.toggleable) {\n return;\n }\n this.beforeToggle.next({ collapsed: this.active, originalEvent })\n this.active = !this.active;\n this.afterToggle.next({ collapsed: this.active, originalEvent })\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\n@Directive({\n selector: '[sActivatedContent]'\n})\nexport class AccessibilityEventDirective implements OnDestroy, OnInit {\n @Output() sActivatedContent = new EventEmitter<PointerEvent | KeyboardEvent>();\n @Input() tabindex = 0;\n @Input() disabled = false;\n private readonly EVENT_LISTENER = (event: PointerEvent | KeyboardEvent) => {\n if (event instanceof KeyboardEvent) {\n const key = event.key;\n const validKeys = ['Enter', ' '];\n if (!validKeys.includes(key)) {\n return;\n }\n }\n this.sActivatedContent.next(event);\n }\n constructor(private readonly elementRef: ElementRef<HTMLElement>) { }\n\n ngOnInit() {\n this.setTabIndex();\n this.checkAccessbilityEvents();\n }\n\n\n private setTabIndex() {\n const hasTabIndex = this.element.tabIndex !== 0;\n if (hasTabIndex) {\n return;\n }\n this.element.tabIndex = this.tabindex;\n }\n\n private checkAccessbilityEvents() {\n this.element.addEventListener('click', this.EVENT_LISTENER);\n this.element.addEventListener('keydown', this.EVENT_LISTENER);\n }\n\n private get element() {\n return this.elementRef.nativeElement;\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('click', this.EVENT_LISTENER);\n this.element.removeEventListener('keydown', this.EVENT_LISTENER);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AccessibilityEventDirective } from './directives/accessibility-event.directive';\n\n\n\n@NgModule({\n declarations: [AccessibilityEventDirective],\n imports: [\n CommonModule\n ],\n exports: [AccessibilityEventDirective]\n})\nexport class AccessibilityEventsModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FieldsetComponent } from \"./fieldset.component\";\nimport { AccessibilityEventsModule } from \"../accessibility-events/accessibility-events.module\";\n\n@NgModule({\n imports: [CommonModule, AccessibilityEventsModule],\n declarations: [FieldsetComponent],\n exports: [FieldsetComponent],\n})\nexport class FieldsetModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { HotkeyModule, HotkeysService } from \"angular2-hotkeys\";\nimport { AutoCompleteModule } from \"primeng/autocomplete\";\nimport { ButtonModule as PrimeButtonModule } from \"primeng/button\";\nimport { CalendarModule } from \"primeng/calendar\";\nimport { CheckboxModule } from \"primeng/checkbox\";\nimport { ChipsModule } from \"primeng/chips\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\nimport { MultiSelectModule } from \"primeng/multiselect\";\nimport { PanelModule } from \"primeng/panel\";\nimport { RadioButtonModule } from \"primeng/radiobutton\";\nimport { SliderModule } from 'primeng/slider';\nimport { TableModule as PrimeNGTableModule } from \"primeng/table\";\n\nimport { MouseEventsModule } from \"../mouse-events/mouse-events.module\";\nimport { IAssistService } from \"./services/IAssist/iassist.service\";\n\n// Modules\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { BignumberInputModule } from \"../bignumber-input/bignumber-input.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { CalendarMaskModule } from \"../calendar-mask/calendar-mask.module\";\nimport { ControlErrorsModule } from \"../control-errors/control-errors.module\";\nimport { CountryPhonePickerModule } from \"../country-phone-picker/country-phone-picker.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\nimport { FileUploadModule } from \"../file-upload/file-upload.module\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { LocaleModule } from \"../locale/locale.module\";\nimport { LocalizedNumberInputModule } from \"../localized-number-input/localized-number-input.module\";\nimport { MaskFormatterModule } from \"../mask/mask-formatter.module\";\nimport { NumberInputModule } from \"../number-input/number-input.module\";\nimport { PasswordStrengthModule } from \"../password-strength/password-strength.module\";\nimport { SwitchModule } from \"../switch/switch.module\";\nimport { TableHeaderCheckboxModule } from \"../table-header/table-header-checkox.module\";\nimport { TableModule } from \"../table/table.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n// Components\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { BooleanSwitchFieldComponent } from \"./components/fields/boolean/boolean-switch-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CountryPhonePickerFieldComponent } from \"./components/fields/country-phone-picker/country-phone-picker-field.component\";\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { SliderFieldComponent } from \"./components/fields/slider/slider-field.component\";\nimport { TextAreaIAFieldComponent } from \"./components/fields/text-area-ia/text-area-ia-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\n\n// Grid\nimport { RowComponent } from \"./components/grid/row/row.component\";\n// Lookup\nimport { LookupComponent } from \"./components/lookup/lookup.component\";\n\n// Dynamic-form\nimport { DynamicFieldComponent } from \"./components/dynamic-field/dynamic-field.component\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { DynamicFormDirective } from \"./dynamic-form.directive\";\n\nimport { FieldLabelModule } from \"./components/field-label/field-label.module\";\nimport { BignumberFieldModule } from \"./components/fields/bignumber/bignumber-field.module\";\nimport { CheckboxFieldModule } from \"./components/fields/checkbox/checkbox-field.module\";\nimport { CurrencyFieldModule } from \"./components/fields/currency/currency-field.module\";\nimport { EditorFieldModule } from \"./components/fields/editor/editor-field.module\";\nimport { NumberFieldModule } from \"./components/fields/number/number-field.module\";\nimport { PasswordFieldModule } from \"./components/fields/password/password-field.module\";\nimport { ProfilePictureModule } from \"./components/fields/profile-picture/profile-picture-field.module\";\nimport { TextFieldModule } from \"./components/fields/text/text-field.module\";\nimport { ButtonFieldComponent } from \"./components/fields/button-field/button-field.component\";\nimport { TextAreaModule } from \"../text-area/text-area.module\";\nimport { FieldsetModule } from \"../fieldset/fieldset.module\";\nimport { StructureModule } from \"../structure/structure.module\";\n\n@NgModule({\n imports: [\n AutoCompleteModule,\n BadgeModule,\n BignumberInputModule,\n ButtonModule,\n CalendarMaskModule,\n CalendarModule,\n CheckboxModule,\n ChipsModule,\n CommonModule,\n ControlErrorsModule,\n CountryPhonePickerModule,\n DialogModule,\n DropdownModule,\n EmptyStateModule,\n FormsModule,\n HotkeyModule,\n InputMaskModule,\n InputTextareaModule,\n InputTextModule,\n KeyFilterModule,\n LoadingStateModule,\n LocaleModule,\n LocalizedNumberInputModule,\n PanelModule,\n PrimeButtonModule,\n PrimeNGTableModule,\n MultiSelectModule,\n NumberInputModule,\n RadioButtonModule,\n ReactiveFormsModule,\n TooltipModule,\n\n FieldsetModule,\n StructureModule,\n TableHeaderCheckboxModule,\n FileUploadModule,\n TableModule,\n InfoSignModule,\n MaskFormatterModule,\n HotkeyModule.forRoot(),\n MouseEventsModule,\n SwitchModule,\n PasswordStrengthModule,\n SliderModule,\n TranslateModule.forChild(),\n\n PasswordFieldModule,\n TextFieldModule,\n NumberFieldModule,\n CurrencyFieldModule,\n BignumberFieldModule,\n CheckboxFieldModule,\n ProfilePictureModule,\n EditorFieldModule,\n FieldLabelModule,\n TextAreaModule\n ],\n declarations: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n BooleanSwitchFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CountryPhonePickerFieldComponent,\n DynamicFieldComponent,\n DynamicFormComponent,\n DynamicFormDirective,\n FieldsetComponent,\n FileUploadComponent,\n LookupComponent,\n LookupFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n SliderFieldComponent,\n TextAreaFieldComponent,\n TextAreaIAFieldComponent,\n ButtonFieldComponent\n ],\n exports: [DynamicFormComponent, LookupComponent],\n entryComponents: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n BooleanSwitchFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CountryPhonePickerFieldComponent,\n FieldsetComponent,\n FileUploadComponent,\n LookupFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n SliderFieldComponent,\n TextAreaFieldComponent,\n TextAreaIAFieldComponent,\n ],\n providers: [\n HotkeysService,\n IAssistService,\n ]\n})\nexport class DynamicFormModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\n\n@Injectable()\nexport class CustomFieldsService {\n constructor(private http: HttpClient) {\n }\n\n public getCustomFields(domain: string, service: string, entity: string, endpoint: string): Observable<any> {\n const entityDto = { entityId: { domain_: domain, service_: service, id: entity } };\n return this.http.post(endpoint, entityDto);\n }\n\n public getFileLocationUrl(dto: {\n domain: string;\n service: string;\n entityName: string;\n field: string;\n fileName: string;\n }, endpoint: string): Observable<any> {\n return this.http.post(endpoint, dto);\n }\n\n public uploadTempFile(location: string, file: File) {\n return this.http.put(location, file, {\n reportProgress: true,\n observe: \"events\",\n headers: { \"Content-Type\": file.type }\n });\n }\n\n public requestAccess(objectId: string, endpoint: string) {\n return this.http.post(endpoint, { objectId });\n }\n\n public getFile(permanentUrl: string) {\n return this.http.get(permanentUrl, { responseType: \"blob\" });\n }\n}\n","export enum CustomFieldType {\n String = \"String\",\n Boolean = \"Boolean\",\n Integer = \"Integer\",\n Double = \"Double\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n LocalDateTime = \"LocalDateTime\",\n Time = \"Time\",\n Money = \"Money\",\n Blob = \"Blob\",\n Binary = \"Binary\",\n Any = \"Any\",\n Enum = \"Enum\",\n}\n","import { HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n SimpleChanges\n} from \"@angular/core\";\nimport {\n ControlContainer,\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n ValidatorFn,\n Validators,\n} from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport BigNumber from \"bignumber.js\";\nimport * as moment_ from \"moment\";\nimport { BehaviorSubject, Observable, Subject, forkJoin, of, throwError } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\n\nimport { NumberFieldComponent } from \"../dynamic-form/components/fields\";\nimport { FieldType, FormField, NumberField } from \"../dynamic-form/index\";\nimport { FileDto } from \"../file-upload/index\";\nimport { LocaleOptions } from \"../locale\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { CustomFieldType } from \"./models/custom-field-type\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Component({\n selector: \"s-custom-fields\",\n templateUrl: \"./custom-fields.component.html\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n ],\n})\nexport class CustomFieldsComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator, OnChanges, AfterViewInit {\n @Input()\n public domain: string;\n\n @Input()\n public service: string;\n\n @Input()\n public entity: string;\n\n @Input()\n public invalidErrorLabel = this.translateService.instant(\"platform.angular_components.invalid_value\");\n\n @Input()\n public entityObject: any;\n\n @Input()\n public customFieldsEndpoint = \"platform/field_customization/queries/getEntity\";\n\n @Input()\n public fileLocationEndpoint = \"platform/field_customization/actions/requestUpload\";\n\n @Input()\n public requestAccessEndpoint = \"platform/field_customization/actions/requestAccess\";\n\n @Input()\n public requiredErrorMessage: string;\n\n @Input()\n public displayTimeInfoSign: number;\n\n @Input()\n public showFileUploadDate: boolean = false;\n\n @Input()\n public ready$: BehaviorSubject<boolean>;\n\n @Input()\n public disableFields: boolean;\n\n public fields: FormField[] = [];\n public formGroup: FormGroup;\n private ready = false;\n private onChange: any;\n private onTouched: any;\n private value: any;\n private ngUsubscribe: Subject<void> = new Subject();\n private uploadCanceled: boolean;\n private hasBlob: boolean;\n private hasUploaded: boolean;\n\n constructor(\n private readonly customFieldsService: CustomFieldsService,\n private readonly localeService: LocaleService,\n private readonly sanitizer: DomSanitizer,\n private readonly translateService: TranslateService,\n @Optional() private controlContainer: ControlContainer\n ) { }\n\n public get hasCustomFields(): boolean {\n return !!this.fields?.length;\n }\n\n public get parentForm(): FormGroup {\n return this.controlContainer.control as FormGroup;\n }\n\n public get parentControl(): FormControl {\n return this.parentForm.get(\"custom\") as FormControl;\n }\n\n public ngOnInit(): void {\n this._validateInputs();\n this._createForm();\n this.addDisplayTimeInfoSignToFields();\n }\n\n public ngAfterViewInit(): void {\n this.enableOrDisableFields(this.disableFields);\n\n this.formGroup.valueChanges.subscribe(() => this.onChange?.(this.parseFieldsValues()));\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.disableFields) {\n this.enableOrDisableFields(changes.disableFields.currentValue);\n }\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public registerOnChange(fn: Function) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n public writeValue(value: any) {\n if (this.ready) {\n const newValue = this.parseValuesForFields(value);\n this.formGroup.patchValue(newValue);\n this.value = newValue;\n this.createFilesIfSetFormValuesAfterInit();\n } else {\n this.formGroup.patchValue(value || {});\n this.value = value;\n }\n }\n\n public setDisabledState(isDisabled: boolean) {\n if (isDisabled) this.formGroup.disable({ emitEvent: false });\n else this.formGroup.enable({ emitEvent: false });\n }\n\n public getCustomFields(): Observable<any> {\n if (this.entityObject && this.entityObject.entity_) {\n return of(this.entityObject);\n }\n return this.customFieldsService.getCustomFields(this.domain, this.service, this.entity, this.customFieldsEndpoint);\n }\n\n public validate() {\n const errors: any = {};\n Object.keys(this.formGroup.controls).forEach((field) => {\n const { errors: controlErrors } = this.formGroup.get(field);\n if (controlErrors) errors[field] = controlErrors;\n });\n return errors;\n }\n\n public cleanFields() {\n this.formGroup.reset();\n }\n\n private enableOrDisableFields(disabled: boolean): void {\n if (!this.formGroup) {\n return;\n }\n\n for (const controlName of Object.keys(this.formGroup.value)) {\n disabled ? this.formGroup.get(controlName).disable() : this.formGroup.get(controlName).enable();\n }\n }\n\n private _validateInputs(): void {\n if (!this.domain) throw new Error(\"You need to specify the custom-fields domain!\");\n if (!this.service) throw new Error(\"You need to specify the custom-fields service!\");\n if (!this.entity) throw new Error(\"You need to specify the custom-fields entity!\");\n }\n\n private _createForm(): void {\n this.formGroup = new FormGroup({});\n const observables = [this.getCustomFields(), this.localeService.get()];\n forkJoin(observables)\n .pipe(\n takeUntil(this.ngUsubscribe),\n finalize(() => {\n this.formGroup.markAsPristine();\n this.parentControl?.markAsPristine();\n\n if (this.ready$) this.ready$.next(true);\n })\n )\n .subscribe((response: any[]) => {\n const [customFieldsResponse, localeOptions] = response;\n const defaults: any = {};\n defaults[CustomFieldType.String] = {};\n defaults[CustomFieldType.Boolean] = { defaultValue: false };\n defaults[CustomFieldType.Integer] = {};\n defaults[CustomFieldType.Double] = { defaultMask: \"\" };\n defaults[CustomFieldType.Money] = {};\n defaults[CustomFieldType.Date] = {};\n defaults[CustomFieldType.DateTime] = {};\n defaults[CustomFieldType.LocalDateTime] = {};\n defaults[CustomFieldType.Time] = {};\n defaults[CustomFieldType.Blob] = {};\n defaults[CustomFieldType.Enum] = {};\n defaults[CustomFieldType.Binary] = {};\n defaults[CustomFieldType.Any] = {};\n\n if (!customFieldsResponse || !customFieldsResponse.entity_) return;\n const { active, fields } = customFieldsResponse.entity_;\n if (!active) return;\n\n fields\n .filter((field: any) => field.customizable && field.customization && field.customization.active)\n .forEach((field: any) => {\n const formField = this.getFormField(field, localeOptions);\n\n const fieldType = field.type;\n\n if (field.type === CustomFieldType.Blob && this.value && this.value[formField.name])\n this.createBlobToFileUpload(formField);\n\n const { validationRegex } = field.customization;\n\n const asIsTypes = [\n CustomFieldType.Boolean,\n CustomFieldType.Money,\n CustomFieldType.Date,\n CustomFieldType.DateTime,\n CustomFieldType.LocalDateTime,\n CustomFieldType.Time,\n ];\n\n const validators = [];\n if (validationRegex && !asIsTypes.includes(fieldType)) validators.push(Validators.pattern(validationRegex));\n if (fieldType === CustomFieldType.Integer && !formField.mask) validators.push(Validators.pattern(/^\\-?\\d*$/));\n\n if (formField.required?.()) {\n validators.push(Validators.required);\n }\n\n const control = new FormControl(\n { value: defaults[fieldType].defaultValue, disabled: this.formGroup.disabled },\n validators\n );\n\n this.formGroup.addControl(formField.name, control);\n\n this.fields.push(formField);\n });\n\n this.createFieldCustomization(fields);\n this.formGroup.patchValue(this.parseValuesForFields(this.value));\n this.ready = true;\n });\n }\n\n private parseValuesForFields(values: any) {\n const parsedValues = { ...values };\n\n this.fields.forEach((field) => {\n const { type, name } = field;\n const value = values && values[name];\n\n /**\n * Tratamento exclusivo para campos boolean que tem o status Empty\n * Essa condicional necessita estar antes do if (!value) return;\n * Pois ela tem um status que usa null no valor do campo radio boolean\n */\n if (type === FieldType.Boolean) {\n const isString = typeof value === \"string\";\n const notValid = !isString && typeof value !== \"boolean\";\n if (notValid) {\n parsedValues[name] = null;\n } else {\n // Condicional para campos que retornam string de boolen do backand\n if (isString) {\n parsedValues[name] = value === \"true\" ? true : false;\n } else {\n parsedValues[name] = value;\n }\n }\n }\n\n if (!value) return;\n\n switch (type) {\n case FieldType.Date:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.DateTime:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.LocalDateTime:\n parsedValues[name] = moment(value, \"YYYY-MM-DD[T]HH:mm:ss.SSS\").toDate();\n break;\n case FieldType.Time:\n parsedValues[name] = moment(value, \"HH:mm:ss\").toDate();\n break;\n }\n });\n\n return parsedValues;\n }\n\n /**\n * Algumas equipes só setam valor no formulário, após o carregamento da tela\n * Como é bem padrão isso, foi necessário criar esse método para gerar o file\n * após setar o valor no formulário\n */\n private createFilesIfSetFormValuesAfterInit() {\n if (!this.hasUploaded) {\n this.fields\n .filter((field: FormField) => field.type === FieldType.Blob)\n .forEach((field) => {\n if (this.formGroup.get(field.name).value) this.createBlobToFileUpload(field);\n });\n }\n }\n\n private parseFieldsValues() {\n const parsedValues: any = {};\n\n this.fields.forEach((field) => {\n const { type, name, mask, scale } = field;\n let value = this.formGroup.get(name).value;\n\n if (value) {\n switch (type) {\n case FieldType.Number:\n if (mask) value = new BigNumber(value).toFixed(scale as number).toString();\n break;\n case FieldType.Date:\n value = moment(value).format(\"YYYY-MM-DD\");\n break;\n case FieldType.DateTime:\n value = moment(value).format();\n break;\n case FieldType.LocalDateTime:\n value = moment(value).format(\"YYYY-MM-DD[T]HH:mm:ss.SSS\");\n break;\n case FieldType.Time:\n value = moment(value).format(\"HH:mm:ss\");\n break;\n }\n }\n\n if ((value === null || value === undefined) && this.isTypeNumberOrEnum(type)) {\n parsedValues[name] = field.multiple ? [] : null;\n } else {\n parsedValues[name] = value;\n }\n });\n\n if (this.hasBlob) parsedValues[\"fieldCustomization\"] = this.formGroup.get(\"fieldCustomization\").value;\n return parsedValues;\n }\n\n private isTypeNumberOrEnum(type: FieldType): boolean {\n const numberOrEnum = [FieldType.Number, FieldType.Enum];\n return numberOrEnum.includes(type);\n }\n\n private getFormField(field: any, localeOptions: LocaleOptions): FormField {\n let parameters: Partial<FormField>;\n\n switch (field.type) {\n case CustomFieldType.Blob:\n parameters = this.getBlobParameters();\n break;\n case CustomFieldType.Boolean:\n parameters = this.getBooleanParameters();\n break;\n case \"Enumeration\":\n case CustomFieldType.Enum:\n field.type = FieldType.Enum;\n parameters = this.getEnumParameters(field);\n break;\n case CustomFieldType.Money:\n parameters = {\n type: FieldType.Custom,\n CustomFieldComponentClass: NumberFieldComponent,\n CustomFieldClass: NumberField,\n precision: 15,\n scale: 2,\n leftAddon: {\n label: localeOptions?.number?.currencySymbol ?? \"R$\",\n },\n ignoreLabel: true,\n };\n break;\n case CustomFieldType.Double:\n parameters = {\n type: FieldType.Custom,\n CustomFieldComponentClass: NumberFieldComponent,\n CustomFieldClass: NumberField,\n precision: 15,\n scale: 2,\n ignoreLabel: true,\n };\n break;\n case CustomFieldType.Integer:\n parameters = {\n type: FieldType.Custom,\n CustomFieldComponentClass: NumberFieldComponent,\n CustomFieldClass: NumberField,\n precision: 15,\n scale: 0,\n ignoreLabel: true,\n };\n break;\n case CustomFieldType.Any:\n field.type = FieldType.String;\n break;\n }\n\n return new FormField({\n name: field.id,\n label: field.customization.label,\n tooltip: field.customization.tooltip,\n infoSign: field.customization.infoSign,\n type: field.type,\n mask: field.customization.mask,\n required: () => field.customization.mandatory,\n calendarOptions: localeOptions.calendar,\n currencyOptions: localeOptions.number,\n ...parameters,\n });\n }\n\n private getEnumParameters(field: any): object {\n return {\n showClear: true,\n multiple: field.customization.customEnumeration.multiple,\n options: field.customization.customEnumeration.values.map((e: any) => ({ label: e.value, value: e.key })),\n };\n }\n\n private getBooleanParameters(): object {\n return {\n optionsLabel: {\n true: this.getTranslateLabel(`true_label`),\n false: this.getTranslateLabel(`false_label`),\n empty: this.getTranslateLabel(`empty_label`),\n },\n };\n }\n\n private getBlobParameters(): object {\n return {\n size: {\n sm: 12,\n md: 12,\n lg: 12,\n xl: 12,\n },\n accept: \"image/*, application/*, text/*\",\n chooseLabel: this.getTranslateLabel(`choose_label`),\n removeLabel: this.getTranslateLabel(`remove_label`),\n cancelLabel: this.getTranslateLabel(`cancel_label`),\n successTooltip: this.getTranslateLabel(`success_tooltip`),\n multiple: false,\n onUploadFile: (event: { files: FileDto[] }, formfield: FormField) => {\n this.hasUploaded = true;\n this.uploadFile(event, formfield);\n },\n onRemoveFile: (event: { file: FileDto }, formfield: FormField) => {\n this.removeFile(event, formfield);\n },\n onCancelUpload: (event: number, formfield: FormField) => {\n this.cancelUpload(event, formfield);\n },\n onDownloadFile: (event: { index: number; anchor: ElementRef }, formfield: FormField) => {\n this.downloadFile(event, formfield);\n },\n showFileUploadDate: this.showFileUploadDate,\n };\n }\n\n /**\n * à necessário criar o fieldCustomization quando há um Blob na entidade para gerar o\n * com os fields inseridos e deletados.\n */\n private createFieldCustomization(fields: any[]): void {\n this.hasBlob = !!fields.filter((field: any) => field.type === CustomFieldType.Blob).length;\n if (this.hasBlob) {\n this.formGroup.addControl(\n \"fieldCustomization\",\n new FormArray([\n new FormGroup({\n domain: new FormControl(this.domain),\n service: new FormControl(this.service),\n entity: new FormControl(this.entity),\n toDelete: new FormControl({ value: {}, disabled: false }),\n toInsert: new FormControl({ value: {}, disabled: false }),\n }),\n ])\n );\n }\n }\n\n private createBlobToFileUpload(field: FormField) {\n const objectId = this.value[field.name] ? this.value[field.name] : this.formGroup.get(field.name).value;\n const fileName = objectId.substring(objectId.lastIndexOf(\"/\") + 1);\n const file: Partial<FileDto> = { name: fileName, objectId, savedFile: true };\n field.files = [file as FileDto];\n }\n\n private downloadFile(event: { index: number; anchor: ElementRef }, field: FormField) {\n const { index, anchor } = event;\n const currentFile = field.files[index];\n if (currentFile.objectURL) {\n anchor.nativeElement.click();\n } else {\n this.customFieldsService\n .requestAccess(currentFile.objectId, this.requestAccessEndpoint)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((data: { fileName: string; uri: string }) => {\n const { fileName, uri } = data;\n this.customFieldsService\n .getFile(uri)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((blob: any) => {\n const newFile = <FileDto>new File([blob], fileName);\n newFile.objectURL = this.sanitizer.bypassSecurityTrustUrl(uri);\n anchor.nativeElement.setAttribute(\"href\", uri);\n newFile.objectId = currentFile.objectId;\n newFile.savedFile = true;\n field.files[index] = newFile;\n field.files = [...field.files];\n anchor.nativeElement.click();\n });\n });\n }\n }\n\n private uploadFile(event: { files: FileDto[] }, formField: any): void {\n const { files } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n\n // Se ocorrer um upload, já existindo um arquivo com upload feito. à necessário excluir o mesmo.\n if (field.files && field.files.length) {\n this.removeFile({ file: field.files[0] }, field);\n }\n field.files = files;\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (!file.savedFile && !file.progress) {\n file.isUploading = true;\n this.formGroup.get(field.name).setValidators(isUploading(file));\n this.formGroup.get(field.name).updateValueAndValidity();\n this.customFieldsService\n .getFileLocationUrl(\n {\n domain: this.domain,\n service: this.service,\n entityName: this.entity,\n field: field.name,\n fileName: file.name,\n },\n this.fileLocationEndpoint\n )\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i)))\n )\n .subscribe((data: any) => {\n const { location, version, objectId } = data;\n file.version = version;\n file.objectId = objectId;\n file[\"uploadSubscribe\"] = this.customFieldsService\n .uploadTempFile(location, file)\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\n finalize(() => {\n file.isUploading = false;\n })\n )\n .subscribe((response: any) => {\n const { type } = response;\n if (!this.uploadCanceled) {\n if (type === HttpEventType.UploadProgress)\n file.progress = Math.round(response.loaded / response.total) * 100;\n else if (type === HttpEventType.Response) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n\n const value = { objectId, name: file.name, version: file.version };\n const toInsert = this.formGroup.get(\"fieldCustomization\").value[0].toInsert;\n this.formGroup.get(\"fieldCustomization\").value[0].toInsert = {\n ...toInsert,\n [field.name]: value,\n };\n this.formGroup.get(field.name).setValue(`${file.objectId}/${file.name}`);\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).updateValueAndValidity();\n field.files = [file];\n }\n } else if (this.uploadCanceled && type === HttpEventType.Response) this.uploadCanceled = false;\n });\n field.files = [file];\n });\n }\n }\n }\n\n private removeFile(event: { file: FileDto }, formField: any): void {\n const { file } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files = [];\n if (file.objectId) {\n // Quando é um arquivo já salvo o objectId já é no formato \"objectId/name\"\n const value = file.savedFile ? `${file.objectId}` : `${file.objectId}/${file.name}`;\n const toDelete = this.formGroup.get(\"fieldCustomization\").value[0].toDelete;\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\n this.formGroup.get(\"fieldCustomization\").value[0].toDelete = {\n ...toDelete,\n [field.name]: [...(toDelete[field.name] || []), value],\n };\n }\n\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).setValue(\"\");\n this.formGroup.get(field.name).updateValueAndValidity();\n }\n\n private cancelUpload(index: number, formField: any): void {\n this.uploadCanceled = true;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files[index][\"uploadSubscribe\"].unsubscribe();\n field.files = [];\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).setValue(\"\");\n this.formGroup.get(field.name).updateValueAndValidity();\n }\n\n private defaltCatchError(field: FormField, err: HttpErrorResponse, index: number): Observable<never> {\n const { files } = field;\n files[index].error = err;\n files[index].isUploading = false;\n field.files = [...files];\n this.formGroup.get(field.name).setValidators([errorOnUpload(files[index])]);\n this.formGroup.get(field.name).updateValueAndValidity();\n return throwError(new Error(\"error in upload file. Details: \" + err.message));\n }\n\n private getTranslateLabel(label: string): string {\n return this.translateService.instant(`${this.domain}.${this.service}.${label}`);\n }\n\n private addDisplayTimeInfoSignToFields(): void {\n this.fields.forEach((field) => {\n field.displayTimeInfoSign = this.displayTimeInfoSign;\n });\n }\n}\n\nfunction isUploading(file: FileDto): ValidatorFn {\n return () => (file.isUploading ? { isUploading: true } : null);\n}\n\nfunction errorOnUpload(file: FileDto): ValidatorFn {\n return () => (file.error ? { uploadError: true } : null);\n}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormModule } from \"../dynamic-form/index\";\nimport { LocaleModule } from \"../locale/index\";\nimport { CustomFieldsComponent } from \"./custom-fields.component\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateModule, TranslateService } from \"@ngx-translate/core\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n LocaleModule,\n DynamicFormModule,\n TranslateModule\n ],\n declarations: [CustomFieldsComponent],\n exports: [CustomFieldsComponent],\n providers: [CustomFieldsService, TranslateService]\n})\nexport class CustomFieldsModule {\n}\n","import { AfterViewInit, Directive, Input } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Directive({\n selector: \"p-table[sEditableOverlay]\",\n})\nexport class EditableOverlayDirective implements AfterViewInit {\n @Input()\n public table: any;\n\n constructor() {}\n\n ngAfterViewInit() {\n this.table.bindDocumentEditListener = this.bindDocument.bind(this);\n }\n\n public isFromOverlayTrigger(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"ng-trigger-overlayAnimation\"));\n }\n\n public isFromModal(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"s-lookup\"));\n }\n\n private bindDocument() {\n if (!this.table.documentEditListener) {\n this.table.documentEditListener = (event: any) => {\n if (\n !this.isFromOverlayTrigger(event) &&\n !this.isFromModal(event) &&\n this.table.editingCell &&\n !this.table.editingCellClick &&\n this.table.isEditingCellValid()\n ) {\n DomHandler.removeClass(this.table.editingCell, \"ui-editing-cell\");\n this.table.editingCell = null;\n this.table.unbindDocumentEditListener();\n }\n\n this.table.editingCellClick = false;\n };\n\n document.addEventListener(\"click\", this.table.documentEditListener);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { EditableOverlayDirective } from \"./editable-overlay.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EditableOverlayDirective],\n exports: [EditableOverlayDirective],\n})\nexport class EditableOverlayModule {}\n","import * as moment_ from \"moment\";\n\nconst moment = moment_;\n\nconst YEAR = \"year\";\nconst MONTH = \"month\";\nconst DAY = \"day\";\nconst HOUR = \"hour\";\nconst MINUTE = \"minute\";\nconst SECOND = \"second\";\nconst MILLISECOND = \"millisecond\";\n\nexport abstract class DateUtils {\n public static parse(date: Date | string): Date {\n return moment(date).toDate();\n }\n\n public static toString(date: Date, with_time = false) {\n let result = with_time ? moment(date, \"YYYY-MM-DD hh:mm:ss.SSS\") : moment(date, \"YYYY-MM-DD\");\n\n return result.toString();\n }\n\n public static format(date: any, formatString: string = \"YYYY-MM-DD HH:mm:ss.SSS\", lang: string = \"en\"): string {\n const monthName = moment(date)\n .locale(lang)\n .startOf(\"month\")\n .format(\"MMMM\");\n \n const monthNameCapitalized = monthName.charAt(0).toUpperCase() + monthName.slice(1);\n const dateToFormat = moment(date).locale(lang);\n const format_map = {\n YYYY: dateToFormat.format(\"YYYY\"),\n MM: dateToFormat.format(\"MM\"),\n DD: dateToFormat.format(\"DD\"),\n ddd: dateToFormat.format(\"ddd\").toUpperCase().replace(\".\", \"\"), // Removendo alterações nas traduções que acontecem nos diferentes idiomas\n HH: dateToFormat.format(\"HH\"),\n mm: dateToFormat.format(\"mm\"),\n ss: dateToFormat.format(\"ss\"),\n SSS: dateToFormat.format(\"SSS\"),\n D: dateToFormat.format(\"D\"),\n MMMM: monthNameCapitalized,\n MMM: monthNameCapitalized,\n };\n\n let str = formatString;\n const formattedValues: any[] = [];\n\n Object.keys(format_map)\n .sort((a, b) => b.length - a.length)\n .forEach(key => {\n if (str.includes(key)) {\n str = str.replace(key, `$${formattedValues.length}`);\n formattedValues.push(format_map[key]);\n }\n });\n\n formattedValues.forEach((value, i) => {\n str = str.replace(`$${i}`, value);\n });\n\n return str;\n }\n\n public static diff(fistDate: Date, secondDate: Date, scale: string) {\n const milliseconds = moment(fistDate).diff(secondDate, MILLISECOND);\n const seconds = moment(fistDate).diff(secondDate, SECOND);\n const minutes = moment(fistDate).diff(secondDate, MINUTE);\n const hours = moment(fistDate).diff(secondDate, HOUR);\n const days = moment(fistDate).diff(secondDate, DAY);\n const months = moment(fistDate).diff(secondDate, MONTH);\n const years = moment(fistDate).diff(secondDate, YEAR);\n \n if (!scale.endsWith(\"s\")) {\n scale += \"s\";\n }\n \n return Math.floor(\n {\n milliseconds,\n seconds,\n minutes,\n hours,\n days,\n months,\n years,\n }[scale]\n );\n }\n\n public static today(): Date {\n const dateStr = moment().format(\"YYY-MM-DD\");\n return new Date(dateStr);\n }\n\n public static now(): Date {\n return moment().toDate();\n }\n\n public static add(date: Date, quantity: any, scale: any): Date {\n return moment(date).add(quantity, scale).toDate();\n }\n\n public static startOf(date: Date, scale: string): Date {\n const scores = {\n [YEAR]: 6,\n [MONTH]: 5,\n [DAY]: 4,\n [HOUR]: 3,\n [MINUTE]: 2,\n [SECOND]: 1,\n [MILLISECOND]: 0,\n };\n\n function shouldReset(_scale: any) {\n const max_score = scores[scale];\n return scores[_scale] <= max_score;\n }\n\n const vals: any = [\n date.getFullYear(),\n shouldReset(YEAR) ? 0 : date.getMonth(),\n shouldReset(MONTH) ? 1 : date.getDate(),\n shouldReset(DAY) ? 0 : date.getHours(),\n shouldReset(HOUR) ? 0 : date.getMinutes(),\n shouldReset(MINUTE) ? 0 : date.getSeconds(),\n shouldReset(SECOND) ? 0 : date.getMilliseconds(),\n ];\n\n return new Date(vals[0], vals[1], vals[2], vals[3], vals[4], vals[5], vals[6]);\n }\n\n public static clone(date: Date): Date {\n return moment(date).toDate();\n }\n\n public static getDateValues(date: Date) {\n return [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n ];\n }\n\n public static getDaysInMonth(date: Date) {\n return moment(date, \"YYYY-MM\").daysInMonth();\n }\n}\n","\n\nexport const $ = (expr: any, con: any) => {\n return typeof expr === 'string'\n ? (con || document).querySelector(expr)\n : expr || null;\n}\n\nexport const createSVG = (tag: any, attrs: any) => {\n const elem = document.createElementNS(\"http://www.w3.org/2000/svg\", tag);\n for (let attr in attrs) {\n if (attr === \"append_to\") {\n const parent = attrs.append_to;\n parent.appendChild(elem);\n } else if (attr === \"innerHTML\") {\n elem.innerHTML = attrs.innerHTML;\n } else {\n elem.setAttribute(attr, attrs[attr]);\n }\n }\n return elem;\n}\n\nexport const animateSVG = (svgElement: any, attr: any, from: any, to: any) => {\n const animatedSvgElement = getAnimationElement(svgElement, attr, from, to);\n\n if (animatedSvgElement === svgElement) {\n // triggered 2nd time programmatically\n // trigger artificial click event\n const event = document.createEvent(\"HTMLEvents\");\n event.initEvent(\"click\", true, true);\n // event.eventName = 'click'; TODO: Ver porque esta propriedade não existe\n animatedSvgElement.dispatchEvent(event);\n }\n}\n\nconst getAnimationElement = (svgElement: any, attr: any, from: any, to: any, dur = \"0.4s\", begin = \"0.1s\") => {\n const animEl = svgElement.querySelector(\"animate\");\n if (animEl) {\n $.attr(animEl, {\n attributeName: attr,\n from,\n to,\n dur,\n begin: \"click + \" + begin, // artificial click\n }, null);\n return svgElement;\n }\n\n const animateElement = createSVG(\"animate\", {\n attributeName: attr,\n from,\n to,\n dur,\n begin,\n calcMode: \"spline\",\n values: from + \";\" + to,\n keyTimes: \"0; 1\",\n keySplines: cubic_bezier(\"ease-out\"),\n });\n svgElement.appendChild(animateElement);\n\n return svgElement;\n}\n\nconst cubic_bezier = (name: any) => {\n return {\n ease: \".25 .1 .25 1\",\n linear: \"0 0 1 1\",\n \"ease-in\": \".42 0 1 1\",\n \"ease-out\": \"0 0 .58 1\",\n \"ease-in-out\": \".42 0 .58 1\",\n }[name];\n}\n\n$.on = (element: any, event: any, selector: any, callback: any) => {\n if (!callback) {\n callback = selector;\n $.bind(element, event, callback);\n } else {\n $.delegate(element, event, selector, callback);\n }\n};\n\n$.off = (element: any, event: any, handler: any) => {\n element.removeEventListener(event, handler);\n};\n\n$.bind = (element: any, event: any, callback: any) => {\n event.split(/\\s+/).forEach(function (event: any) {\n element.addEventListener(event, callback);\n });\n};\n\n$.delegate = (element: any, event: any, selector: any, callback: any) => {\n element.addEventListener(event, function (e: any) {\n const delegatedTarget = e.target.closest(selector);\n if (delegatedTarget) {\n e.delegatedTarget = delegatedTarget;\n callback.call(this, e, delegatedTarget);\n }\n });\n};\n\n$.closest = (selector: any, element: any) => {\n if (!element) { \n return null;\n }\n\n if (element.matches(selector)) {\n return element;\n }\n\n // TODO: Corrigir este problema\n // return $.closest(selector, element.parentNode);\n};\n\n$.attr = (element: any, attr: any, value: any) => {\n if (!value && typeof attr === \"string\") {\n return element.getAttribute(attr);\n }\n\n if (typeof attr === \"object\") {\n for (let key in attr) {\n $.attr(element, key, attr[key]);\n }\n return;\n }\n\n element.setAttribute(attr, value);\n};\n","export enum ViewMode {\n QuarterHour = \"quarterHour\",\n Hour = \"hour\",\n QuarterDay = \"quarterDay\",\n HalfDay = \"halfDay\",\n Day = \"day\",\n Week = \"week\",\n Month = \"month\",\n Year = \"year\",\n}\n","import { DateUtils } from './utils/date-utils';\nimport { $, createSVG, animateSVG } from './utils/svg-utils';\nimport { ViewMode } from \"../../models/view-mode\";\n\nimport { Gantt } from \"./gantt\";\nimport { EnrichedTask } from \"../../models/task\";\nimport { Arrow } from \"./arrow\";\n\nexport class Bar {\n private _actionCompleted: boolean;\n private _gantt: Gantt;\n private _invalid: boolean;\n private _height: number;\n private _x: number;\n private _y: number;\n private _cornerRadius: number;\n private _duration: number;\n private _width: number;\n private _barGroup: any;\n\n private _arrows: Arrow[];\n private _group: any;\n private _task: EnrichedTask;\n private _element: any;\n\n private _isPopUpOpen = false;\n\n public get arrows(): Arrow[] {\n return this._arrows;\n }\n\n public set arrows(arrows: Arrow[]) {\n this._arrows = arrows;\n }\n\n public get task(): EnrichedTask {\n return this._task;\n }\n\n public get element() {\n return this._element;\n }\n\n public get group() {\n return this._group;\n }\n\n constructor(gantt: any, task: any) {\n this._setDefaults(gantt, task);\n this._prepare();\n this._draw();\n this._bind();\n }\n\n public updateBarPosition({ x, width }: any): void {\n const bar = this.element;\n if (x) {\n // get all x values of parent task\n const xs = this.task.dependencies.map((dep: any) => {\n return this._gantt.get_bar(dep).element.getX();\n });\n // child task must not go before parent\n const valid_x = xs.reduce((prev: any, curr: any) => {\n return x >= curr;\n }, x);\n if (!valid_x) {\n width = null;\n return;\n }\n this._updateAttr(bar, \"x\", x);\n }\n if (width && width >= this._gantt.options.columnWidth) {\n this._updateAttr(bar, \"width\", width);\n }\n this._updateLabelPosition();\n this._updateArrowPosition();\n }\n\n public dateChanged(): void {\n let changed = false;\n const { newStartDate, newEndDate } = this._computeStartEndDate();\n\n if (this.task.start !== newStartDate) {\n changed = true;\n this.task.start = newStartDate;\n }\n\n if (this.task.end !== newEndDate) {\n changed = true;\n this.task.end = newEndDate;\n }\n\n if (changed) {\n this._gantt.trigger_event(\"onDateChange\", [\n this.task,\n newStartDate,\n DateUtils.add(newEndDate, -1, \"second\"),\n ]);\n };\n }\n\n public setActionCompleted(): void {\n this._actionCompleted = true;\n setTimeout(() => {\n this._actionCompleted = false;\n }, 1000);\n }\n\n private _setDefaults(gantt: any, task: any) {\n this._actionCompleted = false;\n this._gantt = gantt;\n this._task = task;\n }\n\n private _prepare() {\n this._prepareValues();\n this._prepareHelpers();\n }\n\n private _prepareValues(): void {\n this._invalid = this.task.invalid;\n this._height = this._gantt.options.barHeight;\n this._x = this._computeX();\n this._y = this._computeY();\n this._cornerRadius = this._gantt.options.barCornerRadius;\n this._duration = DateUtils.diff(this.task.end, this.task.start, \"minute\") / this._gantt.options.step / 60.0;\n this._width = this._gantt.options.columnWidth * this._duration;\n this._group = createSVG(\"g\", {\n class: \"bar-wrapper \" + (this.task.custom_class || \"\"),\n \"data-id\": this.task.id,\n });\n this._barGroup = createSVG(\"g\", {\n class: \"bar-group\",\n append_to: this.group,\n });\n }\n\n private _prepareHelpers(): void {\n (SVGElement.prototype as any).getX = function () {\n return +this.getAttribute(\"x\");\n };\n (SVGElement.prototype as any).getY = function () {\n return +this.getAttribute(\"y\");\n };\n (SVGElement.prototype as any).getWidth = function () {\n return +this.getAttribute(\"width\");\n };\n (SVGElement.prototype as any).getHeight = function () {\n return +this.getAttribute(\"height\");\n };\n (SVGElement.prototype as any).getEndX = function () {\n return this.getX() + this.getWidth();\n };\n }\n\n private _draw(): void {\n this._drawBar();\n this._drawLabel();\n }\n\n private _drawBar(): void {\n this._element = createSVG(\"rect\", {\n x: this._x,\n y: this._y,\n width: this._width,\n height: this._height,\n rx: this._cornerRadius,\n ry: this._cornerRadius,\n class: \"bar\",\n append_to: this._barGroup,\n fill: this.task.color,\n });\n\n animateSVG(this.element, \"width\", 0, this._width);\n\n if (this._invalid) {\n this.element.classList.add(\"bar-invalid\");\n }\n }\n\n private _drawLabel(): void {\n createSVG(\"text\", {\n x: this._x + this._width / 2,\n y: this._y + this._height / 2,\n innerHTML: this.task.showTaskName ? this.task.name : \"\",\n class: \"bar-label\",\n append_to: this._barGroup,\n });\n // labels get BBox in the next tick\n requestAnimationFrame(() => this._updateLabelPosition());\n }\n\n private _bind(): void {\n if (!this._invalid) {\n this._setupClickEvent();\n }\n }\n\n private _setupClickEvent(): void {\n //TODO\n\n if(this._gantt.options.hasPopup) {\n $.on(this.group, \"focus \" + this._gantt.options.popupTrigger, (e: any) => {\n // just finished a move action, wait for a few seconds\n if (!this._actionCompleted) {\n this._showPopup();\n this._gantt.unselect_all();\n this.group.classList.add(\"active\");\n }\n }, null);\n\n $.on(this.group, \"dblclick\", (e: any) => {\n // just finished a move action, wait for a few seconds\n\n if (!this._actionCompleted) {\n this._gantt.trigger_event(\"onClick\", [this.task]);\n }\n }, null);\n } else {\n $.on(this.group, \"mouseenter\", (e: any) => {\n if(!this._isPopUpOpen) {\n this._showPopup({\n x: e.clientX,\n y: this.group.getBoundingClientRect().top + 30,\n position: 'middle'\n });\n this._isPopUpOpen = true;\n }\n }, null);\n\n $.on(this.group, \"mouseleave\", (e: any) => {\n this._gantt.hide_popup();\n this._isPopUpOpen = false;\n }, null);\n\n\n $.on(this.group, \"focus click\", (e: any) => {\n if (!this._actionCompleted) {\n this._gantt.unselect_all();\n this.group.classList.add(\"active\");\n this._gantt.trigger_event(\"onClick\", [this.task]);\n }\n }, null);\n }\n }\n\n private _showPopup(args?: any) {\n if (this._gantt.bar_being_dragged) {\n return;\n }\n\n const subtitle: any = {};\n\n if (!this._gantt.options.showOnlyHours) {\n subtitle.startDate = DateUtils.format(\n this.task.start,\n 'DD/MM/YYYY',\n this._gantt.options.language\n );\n subtitle.endDate = DateUtils.format(\n this.task.end,\n 'DD/MM/YYYY',\n this._gantt.options.language\n );\n }\n\n if (!this._gantt.options.showOnlyDays) {\n subtitle.startHour = DateUtils.format(\n this.task.start,\n 'HH:mm:ss',\n this._gantt.options.language\n );\n subtitle.endHour = DateUtils.format(\n this.task.end,\n 'HH:mm:ss',\n this._gantt.options.language\n );\n }\n\n this._gantt.show_popup({\n target_element: this.element,\n title: this.task.name,\n subtitle: subtitle,\n task: this.task,\n ...args\n });\n }\n\n private _computeStartEndDate(): { newStartDate: Date, newEndDate: Date } {\n const bar = this.element;\n const xInUnits = bar.getX() / this._gantt.options.columnWidth;\n const newStartDate = DateUtils.add(\n this._gantt.minDate,\n xInUnits * this._gantt.options.step,\n \"hour\"\n );\n const width_in_units = bar.getWidth() / this._gantt.options.columnWidth;\n const newEndDate = DateUtils.add(\n newStartDate,\n width_in_units * this._gantt.options.step,\n \"hour\"\n );\n\n return { newStartDate, newEndDate };\n }\n\n private _computeX() {\n const { step, columnWidth } = this._gantt.options;\n\n let x;\n if (this._gantt.view_is([ViewMode.QuarterHour, ViewMode.Hour, ViewMode.QuarterDay, ViewMode.HalfDay, ViewMode.Day])) {\n const diff = DateUtils.diff(this.task.start, this._gantt.minDate, \"minutes\");\n x = (diff / step) * (columnWidth / 60);\n } else {\n const diff = DateUtils.diff(this.task.start, this._gantt.minDate, \"hour\");\n x = (diff / step) * (columnWidth);\n }\n\n return x;\n }\n\n private _computeY() {\n return (\n this._gantt.options.headerHeight +\n this._gantt.options.padding +\n this.task._index * (this._height + this._gantt.options.padding)\n );\n }\n\n private _updateAttr(element: any, attr: any, value: any) {\n value = +value;\n if (!isNaN(value)) {\n element.setAttribute(attr, value);\n }\n return element;\n }\n\n private _updateLabelPosition(): void {\n const bar = this.element,\n label = this.group.querySelector(\".bar-label\");\n\n if (label.getBBox().width > bar.getWidth()) {\n label.classList.add(\"big\");\n label.setAttribute(\"x\", bar.getX() + bar.getWidth() + 5);\n } else {\n label.classList.remove(\"big\");\n label.setAttribute(\"x\", bar.getX() + bar.getWidth() / 2);\n }\n }\n\n private _updateArrowPosition(): void {\n this._arrows = this._arrows || [];\n for (let arrow of this._arrows) {\n arrow.update();\n }\n }\n}\n","export class Popup {\n private parent: any;\n private customHtml: any;\n private title: any;\n private startDate: any;\n private startHour: any;\n private endDate: any;\n private endHour: any;\n\n private pointer: any;\n\n constructor(parent: any, customHtml: any) {\n this.parent = parent;\n this.customHtml = customHtml;\n this.make();\n }\n\n public show(options: any) {\n if (!options.target_element) {\n throw new Error(\"target_element is required to show popup\");\n }\n if (!options.position) {\n options.position = \"left\";\n }\n const target_element = options.target_element;\n this.parent.style.display = 'block';\n\n if (this.customHtml) {\n let html = this.customHtml(options.task);\n html += '<div class=\"pointer\"></div>';\n this.parent.innerHTML = html;\n this.pointer = this.parent.querySelector(\".pointer\");\n } else {\n // set data\n this.title.innerHTML = options.title;\n this.startDate.innerHTML = options.subtitle.startDate ?? '';\n this.startHour.innerHTML = options.subtitle.startHour ?? '';\n this.endDate.innerHTML = options.subtitle.endDate ?? '';\n this.endHour.innerHTML = options.subtitle.endHour ?? '';\n\n this.parent.style.width = this.parent.clientWidth + \"px\";\n }\n\n // set position\n let positionMeta;\n if (target_element instanceof HTMLElement) {\n positionMeta = target_element.getBoundingClientRect();\n } else if (target_element instanceof SVGElement) {\n positionMeta = options.target_element.getBBox();\n }\n\n if (options.position === 'middle') {\n this.parent.style.position = 'fixed';\n this.parent.style.top = options.y + \"px\";\n\n this.pointer.style.transform = \"rotateZ(180deg)\";\n this.pointer.style.top = \"-10px\";\n\n if ((options.x - 17) + this.parent.offsetWidth > window.innerWidth) {\n this.parent.style.left = (options.x - this.parent.offsetWidth + 17) + \"px\";\n this.pointer.style.right = \"16px\";\n this.pointer.style.left = \"auto\";\n\n } else {\n this.parent.style.left = (options.x - 17) + \"px\";\n this.pointer.style.left = \"16px\";\n this.pointer.style.right = \"auto\";\n }\n\n } else if (options.position === 'left') {\n this.parent.style.left = positionMeta.x + (positionMeta.width + 10) + \"px\";\n this.parent.style.top = positionMeta.y + \"px\";\n\n this.pointer.style.transform = \"rotateZ(90deg)\";\n this.pointer.style.left = \"-7px\";\n this.pointer.style.top = \"2px\";\n }\n\n // show\n this.parent.style.opacity = 1;\n }\n\n private make() {\n this.parent.innerHTML = `\n <div class=\"popup\">\n <div class=\"wrp-title\">\n <span class=\"title\"></span>\n </div>\n <div class=\"wrp-subtitle\">\n <span class=\"icon fas fa-calendar-alt\"></span>\n <div style=\"margin-right: 15px\">\n <p class=\"startDate\"></p>\n <p class=\"startHour\"></p>\n </div>\n <div>\n <p class=\"endDate\"></p>\n <p class=\"endHour\"></p>\n </div>\n </div>\n <div class=\"pointer\"></div>\n </div>\n `;\n\n this.hide();\n\n this.title = this.parent.querySelector(\".title\");\n this.startDate = this.parent.querySelector(\".startDate\");\n this.startHour = this.parent.querySelector(\".startHour\");\n this.endDate = this.parent.querySelector(\".endDate\");\n this.endHour = this.parent.querySelector(\".endHour\");\n\n this.pointer = this.parent.querySelector(\".pointer\");\n }\n\n private hide() {\n this.parent.style.opacity = 0;\n this.parent.style.display = 'none';\n this.parent.style.left = 0;\n }\n}\n","import { createSVG } from './utils/svg-utils';\nimport { Gantt } from \"./gantt\";\nimport { Bar } from \"./bar\";\n\nexport class Arrow {\n private _gantt: Gantt;\n private _fromTask: Bar;\n private _toTask: Bar;\n private _path: any;\n private _element: any;\n\n constructor(gantt: Gantt, fromTask: Bar, toTask: Bar) {\n this._gantt = gantt;\n this._fromTask = fromTask;\n this._toTask = toTask;\n\n this.calculatePath();\n this.draw();\n }\n\n public get fromTask(): Bar {\n return this._fromTask;\n }\n\n public get toTask(): Bar {\n return this._toTask;\n }\n\n public get element() {\n return this._element;\n }\n\n public update() {\n this.calculatePath();\n this._element.setAttribute(\"d\", this._path);\n }\n\n private calculatePath() {\n let startX = this.fromTask.element.getX() + this.fromTask.element.getWidth() / 2;\n\n const condition = () =>\n this.toTask.element.getX() < startX + this._gantt.options.padding &&\n startX > this.fromTask.element.getX() + this._gantt.options.padding;\n\n while (condition()) {\n startX -= 10;\n }\n\n const startY = this._gantt.options.headerHeight +\n this._gantt.options.barHeight +\n (this._gantt.options.padding + this._gantt.options.barHeight) *\n this.fromTask.task._index +\n this._gantt.options.padding;\n const endX = this.toTask.element.getX() - this._gantt.options.padding / 2;\n const endY = this._gantt.options.headerHeight +\n this._gantt.options.barHeight / 2 +\n (this._gantt.options.padding + this._gantt.options.barHeight) *\n this.toTask.task._index +\n this._gantt.options.padding;\n const fromIsBelowTo = this.fromTask.task._index > this.toTask.task._index;\n const curve = this._gantt.options.arrowCurve;\n const clockwise = fromIsBelowTo ? 1 : 0;\n const curveY = fromIsBelowTo ? -curve : curve;\n const offset = fromIsBelowTo\n ? endY + this._gantt.options.arrowCurve\n : endY - this._gantt.options.arrowCurve;\n\n this._path = `\n M ${startX} ${startY}\n V ${offset}\n a ${curve} ${curve} 0 0 ${clockwise} ${curve} ${curveY}\n L ${endX} ${endY}\n m -5 -5\n l 5 5\n l -5 5`;\n\n if (this.toTask.element.getX() < this.fromTask.element.getX() + this._gantt.options.padding) {\n const down1 = this._gantt.options.padding / 2 - curve;\n const down2 = this.toTask.element.getY() + this.toTask.element.getHeight() / 2 - curveY;\n const left = this.toTask.element.getX() - this._gantt.options.padding;\n\n this._path = `\n M ${startX} ${startY}\n v ${down1}\n a ${curve} ${curve} 0 0 1 -${curve} ${curve}\n H ${left}\n a ${curve} ${curve} 0 0 ${clockwise} -${curve} ${curveY}\n V ${down2}\n a ${curve} ${curve} 0 0 ${clockwise} ${curve} ${curveY}\n L ${endX} ${endY}\n m -5 -5\n l 5 5\n l -5 5`;\n }\n }\n\n private draw() {\n this._element = createSVG(\"path\", {\n d: this._path,\n \"data-from\": this.fromTask.task.id,\n \"data-to\": this.toTask.task.id,\n });\n }\n}\n","import { Options } from \"../../models/options\";\nimport { ViewMode } from \"../../models/view-mode\";\n\nexport const defaultOptions: Options = {\n headerHeight: 94,\n columnWidth: 30,\n step: 24,\n barHeight: 20,\n barCornerRadius: 0,\n arrowCurve: 4,\n padding: 24,\n viewMode: ViewMode.Day,\n dateFormat: \"YYYY-MM-DD\",\n popupTrigger: \"click\",\n customPopupHtml: null,\n language: \"en\",\n allowMovement: true,\n hasPopup: true,\n showOnlyHours: false,\n showOnlyDays: false,\n};\n","import { DateUtils } from \"./utils/date-utils\";\nimport { $, createSVG } from \"./utils/svg-utils\";\nimport { Bar } from \"./bar\";\nimport { Popup } from \"./popup\";\nimport { Arrow } from \"./arrow\";\nimport { Options } from \"../../models/options\";\nimport { defaultOptions } from \"./gantt-options\";\nimport { ViewMode } from \"../../models/view-mode\";\nimport { Task, EnrichedTask } from \"../../models\";\n\nexport class Gantt {\n public options: Options;\n public tasks: EnrichedTask[];\n public dependency_map: any;\n\n private _minDate: Date;\n private _maxDate: Date;\n\n public dates: Date[];\n public layers: any;\n public bars: Bar[];\n public arrows: Arrow[];\n public bar_being_dragged: any;\n public $svg: any;\n public $container: HTMLDivElement;\n public popup_wrapper: HTMLDivElement;\n public popup: any;\n\n public get minDate(): Date {\n return this._minDate;\n }\n\n public get maxDate(): Date {\n return this._maxDate;\n }\n\n constructor(wrapper: any, tasks: Task[], options?: Options) {\n this.setup_options(options);\n this.setup_wrapper(wrapper);\n this.setup_tasks(tasks);\n // initialize with default view mode\n this.change_view_mode();\n this.bind_events();\n }\n\n private setup_wrapper(element: any) {\n let svg_element, wrapper_element;\n\n // CSS Selector is passed\n if (typeof element === \"string\") {\n element = document.querySelector(element);\n }\n\n // get the SVGElement\n if (element instanceof HTMLElement) {\n wrapper_element = element;\n svg_element = element.querySelector(\"svg\");\n } else if (element instanceof SVGElement) {\n svg_element = element;\n } else {\n throw new TypeError(\n \"Frappé Gantt only supports usage of a string CSS selector, HTML DOM element or SVG DOM element for the \\'element\\' parameter\"\n );\n }\n\n // svg element\n if (!svg_element) {\n // create it\n this.$svg = createSVG(\"svg\", {\n append_to: wrapper_element,\n class: \"gantt\",\n });\n } else {\n this.$svg = svg_element;\n this.$svg.classList.add(\"gantt\");\n }\n\n // wrapper element\n this.$container = document.createElement(\"div\");\n this.$container.classList.add(\"gantt-container\");\n if (this.options.containerWidth) {\n this.$container.style.width = this.options.containerWidth + 'px';\n }\n\n const parent_element = this.$svg.parentElement;\n parent_element.appendChild(this.$container);\n this.$container.appendChild(this.$svg);\n\n // popup wrapper\n this.popup_wrapper = document.createElement(\"div\");\n this.popup_wrapper.classList.add(\"popup-wrapper\");\n this.$container.appendChild(this.popup_wrapper);\n }\n\n private setup_options(options: any) {\n this.options = Object.assign({}, defaultOptions, options);\n }\n\n public setup_tasks(tasks: any) {\n // prepare tasks\n this.tasks = tasks.map((task: any, i: any) => {\n //standard colors if needed\n task.color = task.color || '#7892A1';\n\n // convert to Date objects\n task._start = DateUtils.parse(task.start);\n task._end = DateUtils.parse(task.end);\n\n // make task invalid if duration too large\n if (DateUtils.diff(task._end, task._start, \"year\") > 10) {\n task.end = null;\n }\n\n // cache index\n task._index = i;\n\n if (typeof task._row_id === \"number\") {\n task._index = task._row_id;\n }\n\n // invalid dates\n if (!task.start && !task.end) {\n const today = DateUtils.today();\n task._start = today;\n task._end = DateUtils.add(today, 2, \"day\");\n }\n\n if (!task.start && task.end) {\n task._start = DateUtils.add(task._end, -2, 'day');\n }\n\n if (task.start && !task.end) {\n task._end = DateUtils.add(task._start, 2, \"day\");\n }\n\n // if hours is not set, assume the last day is full day\n // e.g: 2018-09-09 becomes 2018-09-09 23:59:59\n const task_end_values = DateUtils.getDateValues(task._end);\n if (task_end_values.slice(3).every((d) => d === 0)) {\n task._end = DateUtils.add(task._end, 24, \"hour\");\n }\n\n // invalid flag\n if (!task.start || !task.end) {\n task.invalid = true;\n }\n\n // dependencies\n if (typeof task.dependencies === \"string\" || !task.dependencies) {\n let deps = [];\n if (task.dependencies) {\n deps = task.dependencies\n .split(',')\n .map((d: any) => d.trim())\n .filter((d: any) => d);\n }\n task.dependencies = deps;\n }\n\n // uids\n if (!task.id) {\n task.id = generate_id(task);\n }\n\n return task;\n });\n\n this.setup_dependencies();\n }\n\n private setup_dependencies() {\n this.dependency_map = {};\n for (let t of this.tasks) {\n for (let d of t.dependencies) {\n this.dependency_map[d] = this.dependency_map[d] || [];\n this.dependency_map[d].push(t.id);\n }\n }\n }\n\n public refresh(tasks: Task[]) {\n this.setup_tasks(tasks);\n this.change_view_mode();\n }\n\n public change_view_mode(mode = this.options.viewMode) {\n this.setup_gantt_dates();\n this.update_view_scale(mode);\n this.setup_dates();\n this.render();\n // fire viewmode_change event\n this.trigger_event(\"onViewChange\", [mode]);\n }\n\n private update_view_scale(view_mode: any) {\n this.options.viewMode = view_mode;\n // this.isHourView = false;\n if (view_mode === ViewMode.QuarterHour) {\n this.options.step = 24 / 24 / 4;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.Hour) {\n this.options.step = 24 / 24;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.Day) {\n this.options.step = 24;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.HalfDay) {\n this.options.step = 24 / 2;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.QuarterDay) {\n this.options.step = 24 / 4;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.Week) {\n this.options.step = 24 * 7;\n this.options.columnWidth = 140;\n } else if (view_mode === ViewMode.Month) {\n this.options.step = 24 * 30;\n this.options.columnWidth = 120;\n } else if (view_mode === ViewMode.Year) {\n this.options.step = 24 * 365;\n this.options.columnWidth = 120;\n }\n }\n\n private setup_dates() {\n this.setup_date_values();\n }\n\n private setup_gantt_dates() {\n this._minDate = null;\n this._maxDate = null;\n\n for (let task of this.tasks) {\n // set global start and end date\n if (!this.minDate || task.start < this.minDate) {\n this._minDate = DateUtils.startOf(task.start, 'day');\n }\n if (!this.maxDate || task.end > this.maxDate) {\n this._maxDate = task.end;\n }\n }\n\n switch (this.options.viewMode) {\n case ViewMode.QuarterHour:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 15), \"minutes\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 15, \"minutes\");\n case ViewMode.Hour:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"hour\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"hour\");\n break;\n case ViewMode.QuarterDay:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 6), \"hour\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 6, \"hour\");\n break;\n case ViewMode.HalfDay:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 12), \"hour\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 12, \"hour\");\n break;\n case ViewMode.Day:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"day\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"day\");\n break;\n case ViewMode.Week:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"week\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"week\");\n break;\n case ViewMode.Month:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"month\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"month\");\n break;\n case ViewMode.Year:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"year\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"year\");\n break;\n }\n }\n\n private setup_date_values() {\n this.dates = [];\n let cur_date = null;\n\n while (cur_date === null || cur_date < this.maxDate) {\n if (!cur_date) {\n cur_date = DateUtils.clone(this.minDate);\n } else {\n if (this.view_is(ViewMode.Year)) {\n cur_date = DateUtils.add(cur_date, 1, \"year\");\n } else if (this.view_is(ViewMode.Month)) {\n cur_date = DateUtils.add(cur_date, 1, \"month\");\n } else {\n cur_date = DateUtils.add(\n cur_date,\n this.options.step,\n 'hour'\n );\n }\n }\n this.dates.push(cur_date);\n }\n\n if (this.options.containerWidth) {\n const columnWidth = (this.options.containerWidth - 1) / this.dates.length\n this.options.columnWidth = columnWidth < 45 ? 45 : columnWidth;\n }\n }\n\n private bind_events() {\n this.bind_grid_click();\n this.bind_bar_events();\n }\n\n private render() {\n this.clear();\n this.setup_layers();\n this.make_grid();\n this.make_dates();\n this.make_bars();\n this.make_arrows();\n this.map_arrows_on_bars();\n this.set_width();\n this.set_scroll_position();\n }\n\n private setup_layers() {\n this.layers = {};\n const layers = [\"grid\", \"date\", \"arrow\", \"progress\", \"bar\", \"details\"];\n // make group layers\n for (let layer of layers) {\n this.layers[layer] = createSVG('g', {\n class: layer,\n append_to: this.$svg,\n });\n }\n }\n\n private make_grid() {\n this.make_grid_background();\n this.make_grid_rows();\n this.make_grid_header();\n this.make_grid_highlights();\n this.make_grid_ticks();\n }\n\n private make_grid_background() {\n let grid_width = this.dates.length * this.options.columnWidth;\n\n if (this.options.containerWidth) {\n grid_width = this.options.containerWidth;\n }\n\n const distinct_rows = [...new Set(this.tasks.map((x: any) => x._row_id))];\n const grid_height = this.options.headerHeight +\n this.options.padding / 2 +\n (this.options.barHeight + this.options.padding) *\n distinct_rows.length;\n\n createSVG(\"rect\", {\n x: 0,\n y: 0,\n width: grid_width,\n height: grid_height,\n class: \"grid-background\",\n append_to: this.layers.grid,\n });\n\n $.attr(this.$svg, {\n height: grid_height,\n width: \"100%\",\n }, null);\n }\n\n private make_grid_rows() {\n const rows_layer = createSVG(\"g\", { append_to: this.layers.grid });\n const lines_layer = createSVG(\"g\", { append_to: this.layers.grid });\n\n const row_width = this.dates.length * this.options.columnWidth;\n const row_height = this.options.barHeight + this.options.padding;\n //TODO: ajustar o posicionamento das linhas\n let row_y = this.options.headerHeight + this.options.padding / 2;\n\n this.tasks.forEach(_ => {\n createSVG(\"rect\", {\n x: 0,\n y: row_y,\n width: row_width,\n height: row_height,\n class: \"grid-row\",\n append_to: rows_layer,\n });\n\n createSVG(\"line\", {\n x1: 0,\n y1: row_y + row_height,\n x2: row_width,\n y2: row_y + row_height,\n class: \"row-line\",\n append_to: lines_layer,\n });\n\n row_y += this.options.barHeight + this.options.padding;\n });\n }\n\n private make_grid_header() {\n // const addIsHourView = this.isHourView ? 25 : 10\n const header_width = this.dates.length * this.options.columnWidth;\n const header_height = this.options.headerHeight + 10;\n createSVG(\"rect\", {\n x: 0,\n y: 0,\n width: header_width,\n height: header_height,\n class: \"grid-header\",\n append_to: this.layers.grid,\n });\n }\n\n private make_grid_ticks() {\n let tick_x = 0;\n let tick_y = this.options.headerHeight + this.options.padding / 2;\n let tick_height =\n (this.options.barHeight + this.options.padding) *\n this.tasks.length;\n\n for (let date of this.dates) {\n let tick_class = \"tick\";\n\n if (this.view_is(ViewMode.QuarterHour) && date.getHours() === 0 && date.getMinutes() === 0) {\n // thick tick for first hour of day.\n tick_class += \" thick\";\n } else if (this.view_is([ViewMode.Hour, ViewMode.QuarterDay, ViewMode.HalfDay]) && date.getHours() === 0) {\n // thick tick for first hour of day.\n tick_class += \" thick\";\n } else if (this.view_is(ViewMode.Day) && date.getDate() === 1) {\n // thick tick for monday\n tick_class += \" thick\";\n } else if (this.view_is(ViewMode.Week) && date.getDate() >= 1 && date.getDate() < 8) {\n // thick tick for first week\n tick_class += \" thick\";\n } else if (this.view_is(ViewMode.Month) && date.getMonth() % 3 === 0) {\n // thick ticks for quarters\n tick_class += \" thick\";\n }\n\n createSVG(\"path\", {\n d: `M ${tick_x} ${tick_y} v ${tick_height}`,\n class: tick_class,\n append_to: this.layers.grid,\n });\n\n if (this.view_is(ViewMode.Month)) {\n tick_x +=\n (DateUtils.getDaysInMonth(date) *\n this.options.columnWidth) /\n 30;\n } else {\n tick_x += this.options.columnWidth;\n }\n }\n }\n\n make_grid_highlights() {\n if (this.view_is(ViewMode.Day)) {\n const width = this.options.columnWidth;\n const height = (this.options.barHeight + this.options.padding) *\n this.tasks.length +\n this.options.headerHeight +\n this.options.padding / 2;\n\n let x = 0;\n\n for (let date of this.dates) {\n\n let y = (this.options.headerHeight + this.options.padding) / 2;\n\n let isToday = date == DateUtils.today();\n let isWeekend = (date.getDay() == 0 || date.getDay() == 6);\n let className;\n\n if (isToday) {\n className = \"today-highlight\";\n y = (this.options.headerHeight + this.options.padding) / 2;\n } else if (isWeekend) {\n className = \"weekend-highlight\";\n }\n\n const rx = 3;\n const ry = 3;\n\n if (isToday || isWeekend) {\n createSVG(\"rect\", {\n x,\n y,\n rx,\n ry,\n width,\n height,\n class: className,\n append_to: this.layers.grid\n });\n }\n\n x += this.options.columnWidth;\n }\n }\n }\n\n private make_dates() {\n const dates = this.get_dates_to_draw();\n\n for (let i = 0; i < dates.length; i++) {\n const date = dates[i];\n\n createSVG(\"text\", {\n x: date.lower_x,\n y: date.lower_y + 20,\n innerHTML: date.lower_text,\n class: \"title-2\",\n append_to: this.layers.date,\n });\n\n if (date.middle_text) {\n createSVG(\"text\", {\n x: date.middle_x,\n y: date.middle_y,\n innerHTML: date.middle_text,\n class: \"middle-text\",\n append_to: this.layers.date,\n });\n }\n\n if (date.upper_text) {\n const $upper_text = createSVG(\"text\", {\n x: date.upper_x,\n y: date.upper_y,\n innerHTML: date.upper_text,\n class: \"upper-text\",\n append_to: this.layers.date,\n });\n\n // remove out-of-bound dates\n if (\n $upper_text.getBBox().x2 > this.layers.grid.getBBox().width\n ) {\n $upper_text.remove();\n }\n }\n }\n }\n\n private get_dates_to_draw() {\n let last_date: any = null;\n const dates = this.dates.map((date: any, i: any) => {\n const d = this.get_date_info(date, last_date, i);\n last_date = date;\n return d;\n });\n return dates;\n }\n\n private get_date_info(date: Date, last_date: Date, i: any) {\n if (!last_date) {\n last_date = DateUtils.add(date, 1, \"year\");\n }\n\n const date_text = {\n // quarter hour\n quarterHourUpper: date.getDate() !== last_date.getDate()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : \"\",\n\n quarterHourLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // hour\n hourUpper: date.getDate() !== last_date.getDate()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : \"\",\n\n hourLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // quarter day\n quarterDayUpper: date.getDate() !== last_date.getDate()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : \"\",\n\n quarterDayLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // half day\n halfDayUpper: (date.getDate() !== last_date.getDate())\n ? (((date.getMonth() !== last_date.getMonth()) || i < 2)\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : DateUtils.format(date, \"D\", this.options.language))\n : \"\",\n\n halfDayLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // day\n dayUpper: ((date.getMonth() !== last_date.getMonth()) || i === 0)\n ? DateUtils.format(date, \"MMMM\", this.options.language)\n : \"\",\n\n dayMiddle: DateUtils.format(date, \"ddd\", this.options.language),\n\n dayLower: DateUtils.format(date, \"D\", this.options.language),\n\n // week\n weekUpper: date.getMonth() !== last_date.getMonth()\n ? DateUtils.format(date, \"MMMM\", this.options.language)\n : \"\",\n\n weekLower: date.getMonth() !== last_date.getMonth()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : DateUtils.format(date, \"D\", this.options.language),\n\n // month\n monthUpper: date.getFullYear() !== last_date.getFullYear()\n ? DateUtils.format(date, \"YYYY\", this.options.language)\n : \"\",\n\n monthLower: DateUtils.format(date, \"MMMM\", this.options.language),\n\n // year\n yearUpper: date.getFullYear() !== last_date.getFullYear() \n ? DateUtils.format(date, \"YYYY\", this.options.language)\n : \"\",\n\n yearLower: DateUtils.format(date, \"YYYY\", this.options.language),\n };\n\n // Descontando 20 para adcionar uma segunda linha de informação no cabeçalho\n const base_pos = {\n x: i * this.options.columnWidth,\n upper_y: this.options.headerHeight - 20 - 25,\n middle_y: this.options.headerHeight - 20,\n lower_y: this.options.headerHeight - 20,\n };\n const x_pos = {\n quarterHourUpper: (this.dates.length < 14) ? (this.options.columnWidth) : (this.options.columnWidth * 24 / 2),\n quarterHourMiddle: this.options.columnWidth / 2,\n quarterHourLower: this.options.columnWidth / 2,\n\n hourUpper: (this.dates.length < 14) ? (this.options.columnWidth) : (this.options.columnWidth * 24 / 2),\n hourMiddle: this.options.columnWidth / 2,\n hourLower: this.options.columnWidth / 2,\n\n quarterDayUpper: this.options.columnWidth * 4 / 2,\n quarterDayMiddle: this.options.columnWidth / 2,\n quarterDayLower: this.options.columnWidth / 2,\n \n halfDayUpper: this.options.columnWidth * 2 / 2,\n halfDayMiddle: this.options.columnWidth / 2,\n halfDayLower: this.options.columnWidth / 2,\n \n dayUpper: (this.dates.length < 15) ? (this.options.columnWidth) : ((this.options.columnWidth * 30) / 2),\n dayMiddle: this.options.columnWidth / 2 - 12,\n dayLower: this.options.columnWidth / 2,\n \n weekUpper: (this.options.columnWidth * 4) / 2,\n weekMiddle: 0,\n weekLower: 0,\n \n monthUpper: (this.dates.length < 15) ? (this.options.columnWidth) : ((this.options.columnWidth * 12) / 2),\n monthMiddle: 0,\n monthLower: this.options.columnWidth / 2,\n \n yearUpper: (this.options.columnWidth * 30) / 2,\n yearMiddle: this.options.columnWidth / 2,\n yearLower: this.options.columnWidth / 2,\n };\n\n return {\n upper_text: date_text[`${this.options.viewMode}Upper`],\n middle_text: date_text[`${this.options.viewMode}Middle`],\n lower_text: date_text[`${this.options.viewMode}Lower`],\n upper_x: base_pos.x + x_pos[`${this.options.viewMode}Upper`],\n upper_y: base_pos.upper_y,\n middle_x: base_pos.x + x_pos[`${this.options.viewMode}Middle`],\n middle_y: base_pos.middle_y,\n lower_x: base_pos.x + x_pos[`${this.options.viewMode}Lower`],\n lower_y: base_pos.lower_y,\n date,\n };\n }\n\n private make_bars() {\n this.bars = this.tasks.map((task: any) => {\n const bar = new Bar(this, task);\n this.layers.bar.appendChild(bar.group);\n return bar;\n });\n }\n\n private make_arrows() {\n this.arrows = [];\n for (let task of this.tasks) {\n let arrows = [];\n arrows = task.dependencies\n .map((task_id: any) => {\n const dependency = this.get_task(task_id);\n if (!dependency) return;\n const arrow = new Arrow(\n this,\n this.bars[dependency._index], // from_task\n this.bars[task._index] // to_task\n );\n this.layers.arrow.appendChild(arrow.element);\n return arrow;\n })\n .filter(Boolean); // filter falsy values\n this.arrows = this.arrows.concat(arrows);\n }\n }\n\n private map_arrows_on_bars() {\n for (let bar of this.bars) {\n bar.arrows = this.arrows.filter((arrow: Arrow) => {\n return (\n arrow.fromTask.task.id === bar.task.id ||\n arrow.toTask.task.id === bar.task.id\n );\n });\n }\n }\n\n private set_width() {\n const cur_width = this.$svg.getBoundingClientRect().width;\n const actual_width = this.$svg\n .querySelector(\".grid .grid-row\")\n .getAttribute(\"width\");\n if (cur_width < actual_width) {\n this.$svg.setAttribute(\"width\", actual_width);\n }\n }\n\n private set_scroll_position() {\n const parent_element = this.$svg.parentElement;\n if (!parent_element) return;\n\n const hours_before_first_task = DateUtils.diff(\n this.get_oldest_starting_date(),\n this.minDate,\n \"hour\"\n );\n\n const scroll_pos =\n (hours_before_first_task / this.options.step) *\n this.options.columnWidth -\n this.options.columnWidth;\n\n parent_element.scrollLeft = scroll_pos;\n }\n\n private bind_grid_click() {\n $.on(\n this.$svg,\n this.options.popupTrigger,\n \".grid-row, .grid-header\",\n () => {\n this.unselect_all();\n this.hide_popup();\n }\n );\n }\n\n private bind_bar_events() {\n let is_dragging = false;\n let x_on_start = 0;\n let is_resizing_left = false;\n let is_resizing_right = false;\n let parent_bar_id: any = null;\n let bars: Bar[] = [];\n this.bar_being_dragged = null;\n\n function action_in_progress() {\n return is_dragging || is_resizing_left || is_resizing_right;\n }\n\n $.on(this.$svg, \"mousedown\", \".bar-wrapper, .handle\", (e: any, element: any) => {\n const bar_wrapper = $.closest(\".bar-wrapper\", element);\n\n if (element.classList.contains(\"left\")) {\n is_resizing_left = true;\n } else if (element.classList.contains(\"right\")) {\n is_resizing_right = true;\n } else if (element.classList.contains(\"bar-wrapper\") && this.options.allowMovement) {\n is_dragging = true;\n }\n\n bar_wrapper.classList.add(\"active\");\n\n x_on_start = e.offsetX;\n\n parent_bar_id = bar_wrapper.getAttribute(\"data-id\");\n const ids = [\n parent_bar_id,\n ...this.get_all_dependent_tasks(parent_bar_id),\n ];\n bars = ids.map((id) => this.get_bar(id));\n\n this.bar_being_dragged = parent_bar_id;\n\n bars.forEach((bar) => {\n const $bar = bar.element;\n $bar.ox = $bar.getX();\n $bar.oy = $bar.getY();\n $bar.owidth = $bar.getWidth();\n $bar.finaldx = 0;\n });\n });\n\n\n $.on(this.$svg, \"mousemove\", (e: any) => {\n if (!action_in_progress()) {\n return;\n }\n\n const dx = e.offsetX - x_on_start;\n\n bars.forEach((bar) => {\n const $bar = bar.element;\n $bar.finaldx = this.get_snap_position(dx);\n this.hide_popup();\n if (is_resizing_left) {\n if (parent_bar_id === bar.task.id) {\n bar.updateBarPosition({\n x: $bar.ox + $bar.finaldx,\n width: $bar.owidth - $bar.finaldx,\n });\n } else {\n bar.updateBarPosition({\n x: $bar.ox + $bar.finaldx,\n });\n }\n } else if (is_resizing_right) {\n if (parent_bar_id === bar.task.id) {\n bar.updateBarPosition({\n width: $bar.owidth + $bar.finaldx,\n });\n }\n } else if (is_dragging) {\n bar.updateBarPosition({ x: $bar.ox + $bar.finaldx });\n }\n });\n }, null);\n\n\n document.addEventListener(\"mouseup\", (e: any) => {\n if (is_dragging || is_resizing_left || is_resizing_right || !this.options.allowMovement) {\n bars.forEach((bar) => bar.group.classList.remove(\"active\"));\n }\n\n is_dragging = false;\n is_resizing_left = false;\n is_resizing_right = false;\n });\n\n $.on(this.$svg, \"mouseup\", (e: any) => {\n this.bar_being_dragged = null;\n bars.forEach((bar) => {\n const $bar = bar.element;\n if (!$bar.finaldx) return;\n bar.dateChanged();\n bar.setActionCompleted();\n });\n }, null);\n }\n\n private get_all_dependent_tasks(task_id: any) {\n let out: any[] = [];\n let to_process = [task_id];\n while (to_process.length) {\n const deps = to_process.reduce((acc, curr) => {\n acc = acc.concat(this.dependency_map[curr]);\n return acc;\n }, []);\n\n out = out.concat(deps);\n to_process = deps.filter((d: any) => !to_process.includes(d));\n }\n\n return out.filter(Boolean);\n }\n\n private get_snap_position(dx: any) {\n let odx = dx,\n rem,\n position;\n\n if (this.view_is(ViewMode.Hour)) {\n rem = dx % (this.options.columnWidth / 6);\n position = odx - rem + (rem < this.options.columnWidth / 12 ? 0 : this.options.columnWidth / 6);\n } else if (this.view_is(ViewMode.Week)) {\n rem = dx % (this.options.columnWidth / 7);\n position = odx - rem + (rem < this.options.columnWidth / 14 ? 0 : this.options.columnWidth / 7);\n } else if (this.view_is(ViewMode.Month)) {\n rem = dx % (this.options.columnWidth / 30);\n position = odx - rem + (rem < this.options.columnWidth / 60 ? 0 : this.options.columnWidth / 30);\n } else {\n rem = dx % this.options.columnWidth;\n position = odx - rem + (rem < this.options.columnWidth / 2 ? 0 : this.options.columnWidth);\n }\n return position;\n }\n\n public unselect_all() {\n [...this.$svg.querySelectorAll(\".bar-wrapper\")].forEach((el) => {\n el.classList.remove(\"active\");\n });\n }\n\n public view_is(modes: ViewMode | ViewMode[]) {\n if (Array.isArray(modes)) {\n return modes.some((mode) => this.options.viewMode === mode);\n }\n\n return this.options.viewMode === modes;\n }\n\n private get_task(id: any) {\n return this.tasks.find((task: any) => {\n return task.id === id;\n });\n }\n\n public get_bar(id: any): Bar {\n return this.bars.find((bar: any) => {\n return bar.task.id === id;\n });\n }\n\n public show_popup(options: any) {\n if (!this.popup) {\n this.popup = new Popup(\n this.popup_wrapper,\n this.options.customPopupHtml\n );\n }\n this.popup.show(options);\n }\n\n public hide_popup() {\n this.popup && this.popup.hide();\n }\n\n public trigger_event(event: string, args: any) {\n if (this.options[event]) {\n this.options[event].apply(null, args);\n }\n }\n\n private get_oldest_starting_date() {\n return this.tasks\n .map((task: any) => task._start)\n .reduce((prev_date: any, cur_date: any) =>\n cur_date <= prev_date ? cur_date : prev_date\n );\n }\n\n private clear() {\n this.$svg.innerHTML = '';\n }\n}\n\nfunction generate_id(task: any) {\n return task.name + \"_\" + Math.random().toString(36).slice(2, 12);\n}\n","import { AfterViewInit, Component, Input, OnChanges, OnInit, Output, ViewEncapsulation, EventEmitter, SimpleChanges, ElementRef, ViewChild } from \"@angular/core\";\n\nimport { Gantt } from \"./components/gantt/gantt\";\nimport { TaskGroup, Task, EnrichedTask } from \"./models/task\"\nimport { ViewMode } from \"./models/view-mode\";\n\n@Component({\n selector: \"s-gantt\",\n templateUrl: \"./gantt.component.html\",\n styleUrls: [\n \"./gantt.component.scss\",\n \"./components/gantt/gantt.scss\",\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class GanttComponent implements AfterViewInit, OnChanges, OnInit {\n @Input()\n public columnTitle: string;\n\n @Input()\n public multipleTaskPerLine = false;\n\n @Input()\n public showSideTable = true;\n\n @Input()\n public viewMode = ViewMode.Day;\n\n @Input()\n public tasks: TaskGroup[];\n\n @Input()\n public marginBeforeStart?: number;\n\n @Input()\n public marginAfterEnd?: number;\n\n @Input()\n public allowMovement = true;\n\n @Input()\n public hasPopup = true;\n\n @Input()\n public containerWidth: number;\n\n @Input()\n public fullWidth = false;\n\n @Input()\n public showOnlyHours = false;\n\n @Input()\n public showOnlyDays = false;\n\n @Output()\n public taskClicked: EventEmitter<Task> = new EventEmitter();\n\n @Output()\n public taskDateChanged: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public viewChanged: EventEmitter<ViewMode> = new EventEmitter();\n\n private _gantt: Gantt;\n\n public ngOnInit(): void {\n this._validateViewMode();\n this._validateTasks();\n }\n\n @ViewChild('outer')\n outer: ElementRef;\n\n @ViewChild('side')\n side: ElementRef;\n\n public ngAfterViewInit(): void {\n if (this.fullWidth) {\n this.containerWidth = this.outer.nativeElement.offsetWidth - this.side.nativeElement.offsetWidth;\n }\n\n this._gantt = new Gantt(\"#gantt\", this._filterTask(this.tasks), {\n viewMode: this.viewMode,\n marginBeforeStart: this.marginBeforeStart,\n marginAfterEnd: this.marginAfterEnd,\n language: \"pt-br\",\n allowMovement: this.allowMovement,\n hasPopup: this.hasPopup,\n containerWidth: this.containerWidth,\n showOnlyHours: this.showOnlyHours,\n showOnlyDays: this.showOnlyDays,\n onClick: (task: Task) => this.taskClicked.emit(task),\n onDateChange: (task: Task, start: any, end: any) => this.taskDateChanged.emit({ task, start, end }),\n onViewChange: (viewMode: ViewMode) => this.viewChanged.emit(viewMode),\n });\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (!this._gantt) {\n return;\n }\n\n if (changes.viewMode) {\n this._gantt.options.viewMode = changes.viewMode.currentValue;\n this._gantt.change_view_mode();\n }\n\n if (changes.tasks) {\n this._gantt.refresh(this._filterTask(changes.tasks.currentValue));\n }\n }\n\n private _filterTask(tasksGroups: TaskGroup[]): Task[] {\n const tasks: Task[] = [];\n\n if (this.multipleTaskPerLine) {\n tasksGroups.forEach((group: any, index: number) => {\n tasks.push(...group.tasks.map((task: EnrichedTask) => {\n return { ...task, _row_id: index };\n }));\n }, []);\n } else {\n let i = 0;\n tasksGroups.forEach((group: any) => {\n tasks.push(...group.tasks.map((task: EnrichedTask) => {\n return { ...task, _row_id: i++ };\n }));\n }, []);\n }\n\n return tasks;\n }\n\n private _validateViewMode(): void {\n if (![\n ViewMode.QuarterHour,\n ViewMode.Hour,\n ViewMode.QuarterDay,\n ViewMode.HalfDay,\n ViewMode.Day,\n ViewMode.Week,\n ViewMode.Month,\n ViewMode.Year,\n ].includes(this.viewMode)) {\n throw new Error(\"Invalid gantt view mode\");\n }\n }\n\n private _validateTasks(): void {\n this.tasks.forEach(group => {\n group.tasks.forEach(task => {\n if (task.start > task.end) {\n throw new Error(\"invalid task. The start date must be less than the end date.\");\n }\n });\n });\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { TaskGroup } from '../../models/task';\n\n@Component({\n selector: 'gantt-side-table',\n templateUrl: './side-table.component.html',\n styleUrls: ['./side-table.component.scss']\n})\nexport class SideTableComponent implements OnInit {\n public ROW_HEIGHT = 44;\n\n @Input()\n public columnTitle: string;\n\n @Input()\n public tasks: TaskGroup[];\n\n @Input()\n public multipleTaskPerLine = false;\n\n public ngOnInit(): void {\n this._removeEmptyTasks();\n }\n\n private _removeEmptyTasks(): void {\n this.tasks = this.tasks.filter(task => task.tasks.length);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { GanttComponent } from \"./gantt.component\";\nimport { SideTableComponent } from \"./components/side-table/side-table.component\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [\n GanttComponent,\n SideTableComponent,\n ],\n exports: [GanttComponent],\n})\nexport class GanttModule { }\n","export enum GlobalSearchSizeEnum {\n STANDARD = \"STANDARD\",\n MEDIUM = \"MEDIUM\",\n SMALL = \"SMALL\"\n}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ElementRef\n} from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { GlobalSearchSizeEnum } from \"../../global-search-size.enum\";\n\n@Component({\n selector: \"s-global-search-dropdown-item\",\n templateUrl: \"./global-search-dropdown-item.component.html\",\n styleUrls: [\"./global-search-dropdown-item.component.scss\"]\n})\nexport class GlobalSearchDropdownItemComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-global-search-dropdown-item-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public primaryLabel: string;\n\n @Input()\n public secondaryEmptyLabel: string;\n\n @Input()\n public tertiaryEmptyLabel: string;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public secondaryLabel?: string;\n\n @Input()\n public tertiaryLabel?: string;\n\n @Input()\n public size = GlobalSearchSizeEnum.STANDARD;\n\n @Input()\n public template: ElementRef;\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n\n private isStandardSize() {\n return this.size === GlobalSearchSizeEnum.STANDARD;\n }\n\n public isMediumSize() {\n return this.size === GlobalSearchSizeEnum.MEDIUM;\n }\n\n public isSmallSize() {\n return this.size === GlobalSearchSizeEnum.SMALL;\n }\n\n public getImageSize() {\n return this.isStandardSize() ? \"medium\" : \"small\";\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ContentChildren,\n QueryList,\n ChangeDetectorRef\n} from \"@angular/core\";\nimport { trigger, state, style, transition, animate } from \"@angular/animations\";\n\nimport { ExportUtils } from \"../utils\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\n\n@Component({\n selector: \"s-global-search\",\n templateUrl: \"./global-search.component.html\",\n styleUrls: [\"./global-search.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n ]\n})\nexport class GlobalSearchComponent {\n\n public static nextId = 0;\n\n @ViewChild(\"globalSearch\", { static: false }) globalSearch: ElementRef;\n\n @Input()\n public id = `s-global-search-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public delay = 500;\n\n @Input()\n public totalItensLabel: string;\n\n @Input()\n public showMoreLabel: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public isLoading = false;\n\n @Input()\n public totalElements: number;\n\n @Input()\n public emptyTitle: string;\n\n @Input()\n public emptyDescription: string;\n\n @Input()\n public emptyIcon: string;\n\n @Input() showFooter = true;\n\n @ContentChildren(GlobalSearchDropdownItemComponent)\n public dropdownItens: QueryList<GlobalSearchDropdownItemComponent>;\n\n @Output() onSearch = new EventEmitter<string>();\n @Output() onFocus = new EventEmitter<boolean>();\n @Output() onShowMore = new EventEmitter();\n\n public search: string;\n public wasSearched = false;\n public isModalLoading = false;\n public expanded = true;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n public onChange() {\n const search = this.search;\n setTimeout(() => {\n if (this.search === search) {\n this.canShowGlobalSearchActive();\n this.onSearch.emit(this.search);\n }\n }, this.delay);\n }\n\n public focusIn() {\n this.onFocus.emit(true);\n }\n\n public focusOut() {\n this.onFocus.emit(false);\n }\n\n public showMore() {\n this.onShowMore.emit();\n }\n\n private removeActiveClassByGlobalSearch() {\n ExportUtils.removeClass(this.globalSearch, \"global-search__input-active\");\n }\n\n public close() {\n this.search = null;\n this.wasSearched = false;\n this.dropdownItens = null;\n this.isModalLoading = false;\n this.removeActiveClassByGlobalSearch();\n }\n\n private canShowGlobalSearchActive() {\n this.wasSearched = !!this.search;\n if (this.search) {\n ExportUtils.addClass(this.globalSearch, \"global-search__input-active\");\n } else {\n this.removeActiveClassByGlobalSearch();\n this.close();\n }\n this.cdr.detectChanges();\n }\n\n}\n","import {\n ElementRef,\n EventEmitter,\n Directive,\n HostListener\n} from \"@angular/core\";\nimport { Output } from \"@angular/core\";\n\n@Directive({\n selector: \"[sInfiniteScroll]\"\n})\nexport class InfiniteScrollDirective {\n\n @Output() onScroll = new EventEmitter<number>();\n\n constructor(private el: ElementRef) {}\n\n @HostListener(\"scroll\")\n scroll() {\n if (this.el.nativeElement.scrollTop > (this.el.nativeElement.scrollHeight - this.el.nativeElement.offsetHeight - 2)) {\n this.onScroll.emit();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { InfiniteScrollDirective } from \"./infinite-scroll.directive\";\n\n@NgModule({\n declarations: [\n InfiniteScrollDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n InfiniteScrollDirective\n ]\n})\nexport class InfiniteScrollModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { GlobalSearchComponent } from \"./global-search.component\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { InfiniteScrollModule } from \"../infinite-scroll/infinite-scroll.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\n\n@NgModule({\n declarations: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ],\n imports: [\n CommonModule,\n InputTextModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n InfiniteScrollModule,\n EmptyStateModule\n ],\n exports: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n EmptyStateModule\n ],\n entryComponents: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ]\n})\nexport class GlobalSearchModule { }\n","import { Clipboard } from \"@angular/cdk/clipboard\";\nimport { Component, Input } from \"@angular/core\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { finalize, first } from \"rxjs/operators\";\n\nimport { ToastService } from \"../../../toast/toast.service\";\nimport { IAInsightItem } from \"../../models/ia-insight-item\";\n\nconst marked = require(\"marked\");\n\n@Component({\n selector: \"s-ia-insight-card\",\n templateUrl: \"./ia-insight-card.component.html\",\n styleUrls: [\"./ia-insight-card.component.scss\"],\n})\nexport class IAInsightCardComponent {\n @Input()\n public insight: IAInsightItem;\n\n public open = false;\n public isLoading = false;\n public content: string;\n\n public likeSelected = false;\n public dislikeSelected = false;\n\n constructor(\n private readonly clipboard: Clipboard,\n private readonly toastService: ToastService,\n private readonly translateService: TranslateService,\n ) { }\n\n public toggle(): void {\n const newOpenState = !this.open;\n this.open = newOpenState;\n if (newOpenState === true && this.insight.onOpenSidebar) {\n this.insight.onOpenSidebar();\n } else if (newOpenState === false && this.insight.onCloseSideBar) {\n this.insight.onCloseSideBar();\n }\n if (newOpenState === true) {\n this._requestInsight();\n }\n }\n\n public onLikeSelected(): void {\n if (this.likeSelected) {\n this.likeSelected = false;\n } else {\n this.likeSelected = true;\n this.dislikeSelected = false;\n this.insight.onLikeSelected?.();\n }\n }\n\n public onDislikeSelected(): void {\n if (this.dislikeSelected) {\n this.dislikeSelected = false;\n } else {\n this.dislikeSelected = true;\n this.likeSelected = false;\n this.insight.onDislikeSelected?.();\n }\n }\n\n public copyContent(): void {\n this.insight.onCopy?.(this.content);\n\n if (this.clipboard.copy(this.content)) {\n this.toastService.show({\n severity: \"info\",\n title: this.translateService.instant(\"platform.angular_components.copied_to_clipboard\"),\n });\n }\n }\n\n public reloadContent(): void {\n this._requestInsight();\n }\n\n private _requestInsight(): void {\n this.isLoading = true;\n\n this.insight.request$\n .pipe(\n first(),\n finalize(() => (this.isLoading = false))\n )\n .subscribe((content: string) => {\n this.content = marked.marked(content);\n if (this.insight.onContentLoaded) {\n this.insight.onContentLoaded()\n }\n });\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from \"@angular/core\";\n\nimport { IAInsightItem } from \"../../models/index\";\n\n@Component({\n selector: \"s-ia-insight-sidebar\",\n templateUrl: \"./ia-insight-sidebar.component.html\",\n styleUrls: [\"./ia-insight-sidebar.component.scss\"],\n})\nexport class IAInsightSidebarComponent {\n @Input()\n public insights: IAInsightItem[] = [];\n\n @Input()\n public hasPermission: boolean;\n\n @Input()\n public introText: string;\n\n @Input()\n public introTemplate: TemplateRef<any>;\n\n @Input()\n public emptyText: string;\n\n @Input()\n public emptyTemplate: TemplateRef<any>;\n\n @Input()\n public noPermissionText: string;\n\n @Input()\n public noPermissionTemplate: TemplateRef<any>;\n\n @Output()\n public closedSidebar = new EventEmitter<void>();\n\n @Output()\n public openedSidebar = new EventEmitter<void>();\n\n public opened = false;\n\n public toggle(): void {\n this.opened = !this.opened;\n }\n\n public open(): void {\n this.opened = true;\n this.openedSidebar.emit();\n }\n\n public close(): void {\n this.opened = false;\n this.closedSidebar.emit();\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-ia-insight-card-loader\",\n templateUrl: \"./ia-insight-card-loader.component.html\",\n styleUrls: [\"./ia-insight-card-loader.component.scss\"],\n})\nexport class IAInsightCardLoaderComponent {}\n","export enum IAInsightTemplateTypes {\n Empty = \"empty\",\n Intro = \"intro\",\n NoPermission = \"noPermission\",\n}\n","import { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, ViewChild } from \"@angular/core\";\n\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { IAInsightSidebarComponent } from \"./components/ia-insight-sidebar/ia-insight-sidebar.component\";\nimport { IAInsightItem } from \"./models/ia-insight-item\";\nimport { IAInsightTemplateTypes } from \"./models/ia-insight-template-types\";\n\n@Component({\n selector: \"s-ia-insight\",\n templateUrl: \"./ia-insight.component.html\",\n styleUrls: [\"./ia-insight.component.scss\"],\n})\nexport class IAInsightComponent implements AfterContentInit {\n @Input()\n public insights: IAInsightItem[] = [];\n\n @Input()\n public hasPermission = true;\n\n @Input()\n public introText: string;\n\n @Input()\n public emptyText: string;\n\n @Input()\n public noPermissionText: string;\n\n @Output()\n public openIAInsight = new EventEmitter<void>();\n\n @Output()\n public closedIAInsight = new EventEmitter<void>();\n\n @ViewChild(IAInsightSidebarComponent)\n public sidebar: IAInsightSidebarComponent;\n\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective>;\n\n public introTemplate: TemplateRef<any>;\n public emptyTemplate: TemplateRef<any>;\n public noPermissionTemplate: TemplateRef<any>;\n\n public ngAfterContentInit(): void {\n this._getTemplates();\n }\n\n public open(): void {\n this.sidebar.open();\n }\n\n public close(): void {\n this.sidebar.close();\n }\n public onOpenSidebar() {\n this.openIAInsight.emit();\n }\n public onCloseSidebar() {\n this.closedIAInsight.emit();\n }\n\n public getIntroTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(IAInsightTemplateTypes.Intro);\n }\n\n public getNoPermissionTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(IAInsightTemplateTypes.NoPermission);\n }\n\n public getEmptyTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(IAInsightTemplateTypes.Empty);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _getTemplates(): void {\n this.introTemplate = this.getIntroTemplate();\n this.emptyTemplate = this.getEmptyTemplate();\n this.noPermissionTemplate = this.getNoPermissionTemplate();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { SVGFactoryModule } from \"../../utils/svg-factory/svg-factory.module\";\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TemplateModule } from \"../template/template.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { IAInsightCardComponent } from \"./components/ia-insight-card/ia-insight-card.component\";\nimport { IAInsightSidebarComponent } from \"./components/ia-insight-sidebar/ia-insight-sidebar.component\";\nimport { IAInsightCardLoaderComponent } from \"./components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component\";\nimport { IAInsightComponent } from \"./ia-insight.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n BadgeModule,\n ButtonModule,\n TooltipModule,\n TemplateModule,\n SVGFactoryModule,\n ],\n declarations: [\n IAInsightComponent,\n IAInsightCardComponent,\n IAInsightSidebarComponent,\n IAInsightCardLoaderComponent,\n ],\n exports: [\n IAInsightComponent,\n TemplateModule,\n ],\n})\nexport class IAInsightModule {}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\n\nimport { GridMenuItem } from \"./types/grid-menu-item\";\nimport { isNullOrUndefined } from \"../utils/utils\";\n\n@Component({\n selector: \"s-grid-menu\",\n templateUrl: \"./grid-menu.component.html\",\n styleUrls: [\"./grid-menu.component.scss\"],\n})\nexport class GridMenuComponent implements OnChanges {\n private previousGridMenuItemClicked: GridMenuItem | undefined;\n @Input()\n public set items(items: GridMenuItem[] | GridMenuItem) {\n if (isNullOrUndefined(items)) {\n this.itemsArray = [];\n } else {\n this.itemsArray = Array.isArray(items) ? items as GridMenuItem[] : [items];\n }\n }\n\n @Input() useFontAwesomeIcons = false;\n\n public itemsArray: GridMenuItem[] = [];\n\n @Input() selectable = false;\n\n @Input() selected: GridMenuItem;\n\n @Output() selectedChange = new EventEmitter<GridMenuItem>();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected && changes.selected.isFirstChange()) {\n if (this.selectable) {\n this.selected.active = true;\n }\n }\n }\n\n onClickGridMenuItem(gridMenuItem: GridMenuItem) {\n if (!this.selectable) {\n return;\n }\n if (this.previousGridMenuItemClicked) {\n this.previousGridMenuItemClicked.active = false;\n }\n gridMenuItem.active = !gridMenuItem.active;\n this.previousGridMenuItemClicked = gridMenuItem;\n this.selectedChange.next(gridMenuItem);\n }\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nimport { GridMenuItem } from \"../../types/grid-menu-item\";\n\n@Component({\n selector: \"s-grid-menu-item\",\n templateUrl: \"./grid-menu-item.component.html\",\n styleUrls: [\"./grid-menu-item.component.scss\"],\n})\nexport class GridMenuItemComponent {\n @Input()\n public item: GridMenuItem;\n\n @Input()\n public iconIsFromFontAwesome = false;\n\n @Output() clickedGridMenuItem = new EventEmitter<GridMenuItem>();\n\n public fontAwesomePrefix: 'fal' | 'fas' = 'fal';\n\n public onClick(): void {\n if (this.disabled) {\n return\n }\n this.item.action?.();\n this.clickedGridMenuItem.emit(this.item)\n }\n\n public onMouseEnter() {\n if (this.disabled) {\n return\n }\n this.fontAwesomePrefix = 'fas'\n }\n\n public onMouseLeave() {\n if (this.disabled) {\n return\n }\n this.fontAwesomePrefix = 'fal';\n }\n\n public get iconFontAwesomeClassName() {\n const prefix = this.item.active ? 'fas' : this.fontAwesomePrefix;\n return `${prefix} ${this.item.icon}`\n }\n\n public get initialLetter(): string {\n let initialLetter = \"\";\n if (this.item.label) {\n const words = this.item.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 public get disabled(): boolean {\n return typeof this.item?.disabled === \"function\" ? !!this.item.disabled() : !!this.item?.disabled;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { GridMenuItemComponent } from \"./components/grid-menu-item/grid-menu-item.component\";\nimport { GridMenuComponent } from \"./grid-menu.component\";\nimport { AccessibilityEventsModule } from \"../accessibility-events/accessibility-events.module\";\n\n\n@NgModule({\n imports: [CommonModule, AccessibilityEventsModule],\n declarations: [GridMenuItemComponent, GridMenuComponent],\n exports: [GridMenuItemComponent, GridMenuComponent],\n})\nexport class GridMenuModule { }\n","export interface InlineEditFieldOptions {\n label: string;\n name: string;\n tooltip?: string;\n errorMessages?: () => ({}) | {};\n}\n\nexport abstract class InlineEditField {\n public label: string;\n public name: string;\n public tooltip?: string;\n public errorMessages: () => ({}) | {};\n\n constructor(options: InlineEditFieldOptions) {\n this.label = options.label;\n this.name = options.name;\n this.tooltip = options.tooltip;\n this.errorMessages = options.errorMessages;\n }\n}","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n view?: string;\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: string;\n rangeSeparator?: string;\n showSeconds?: boolean;\n placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField {\n public view?: string;\n public appendTo: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public showOnFocus?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: string;\n public rangeSeparator?: string;\n public showSeconds: boolean;\n public placeholder?: string;\n\n constructor(options: InlineEditCalendarFieldOptions) {\n super(options);\n\n this.view = options.view || \"date\";\n this.minDate = options.minDate;\n this.maxDate = options.maxDate;\n this.defaultDate = options.defaultDate;\n this.appendTo = options.appendTo;\n this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onSelect = options.onSelect;\n this.onInput = options.onInput;\n this.onClose = options.onClose;\n this.onTodayClick = options.onTodayClick;\n this.onClearClick = options.onClearClick;\n this.onMonthChange = options.onMonthChange;\n this.onYearChange = options.onYearChange;\n this.selectionMode = options.selectionMode || \"single\";\n this.rangeSeparator = options.rangeSeparator || \"-\";\n this.showSeconds = options.showSeconds;\n this.placeholder = options.placeholder;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\n\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\nimport { DefaultFilter } from \"../../dynamic-form/index\";\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions?: any[];\n suggestionsObservable: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterTitle?: string;\n emptyMessage?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n showAddOption?: boolean;\n showEditOption?: boolean;\n showRemoveOption?: boolean;\n placeholder?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[];\n public searchGridFields: any[];\n public lookupSuggestions: any[];\n public suggestionsObservable: Observable<any[]>;\n public searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n public dataKey: string;\n public lookupDisplayField: string;\n public searchTitle: string;\n public searchEmptyTitle: string;\n public filterTitle: string;\n public emptyMessage: string;\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[];\n public onLookupRequest: (query: string) => void;\n public onSearchRequest: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n\n public placeholder?: string;\n\n private _gridData: any[];\n private _searchTotalRecords: number;\n private _searchTotalRecordsLabel: string;\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n \n constructor(options: InlineEditLookupFieldOptions) {\n super(options);\n Object.assign(this, options);\n\n this.suggestionsObservable.subscribe(suggestions => (this.lookupSuggestions = suggestions));\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel;\n });\n }\n}","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\n\nimport { AddonConfig } from \"../../dynamic-form/index\";\nimport { NumberLocaleOptions } from \"../../locale/options/number\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n allowNegative?: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n placeholder?: string;\n autoClear?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n public allowNegative?: boolean;\n public numberLocaleOptions?: NumberLocaleOptions;\n public browserAutocomplete?: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: AlignmentOptions;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public placeholder?: string;\n public autoClear?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(options: InlineEditNumberFieldOptions) {\n super(options);\n\n this.allowNegative = options.allowNegative ?? true;\n this.numberLocaleOptions = options.numberLocaleOptions;\n this.browserAutocomplete = options.browserAutocomplete;\n this.precision = options.precision;\n this.scale = options.scale ?? 2;\n this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;\n this.mask = options.mask;\n this.leftAddon = options.leftAddon;\n this.rightAddon = options.rightAddon;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onComplete = options.onComplete;\n this.onInput = options.onInput;\n this.autoClear = options.autoClear ?? true;\n this.placeholder = options.placeholder ?? \"\";\n }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public readonly?: () => boolean;\n\n constructor(options: InlineEditTextAreaFieldOptions) {\n super(options);\n\n this.cols = options.cols;\n this.rows = options.rows;\n this.keyFilter = options.keyFilter;\n this.readonly = options.readonly;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n constructor(options: InlineEditTextFieldOptions) {\n super(options);\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaIAFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextAreaIAField extends InlineEditField {\n constructor(options: InlineEditTextAreaIAFieldOptions) {\n super(options);\n }\n}\n","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { first } from \"rxjs/operators\";\n\nimport { LocaleOptions, LocaleService } from \"../../../locale/index\";\nimport { InlineEditCalendarField, InlineEditLookupField } from \"../../fields/index\";\nimport { InlineEditField } from \"../../fields/inline-edit-field\";\nimport { InlineEditCalendarComponent } from \"../fields/inline-edit-calendar/inline-edit-calendar.component\";\n\n@Component({\n selector: \"s-inline-edit-item\",\n templateUrl: \"./inline-edit-item.component.html\",\n styleUrls: [\"./inline-edit-item.component.scss\"],\n})\nexport class InlineEditItemComponent implements OnInit {\n @ViewChild(\"formContainer\", { read: ViewContainerRef, static: true })\n public viewContainerRef: ViewContainerRef;\n\n @Input()\n public label: string;\n\n @Input()\n public formGroup: FormGroup;\n\n @Input()\n public field: InlineEditField;\n\n @Input()\n public errorMessages?: any;\n\n public isEditing = false;\n private _locale: string;\n private dynamicComponentRef: ComponentRef<any>;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit(): void {\n this._getCalendarLocaleOptions();\n }\n\n public get showEmptyValueButton() {\n return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\n }\n\n public get showEditButton() {\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\n }\n\n public get showValue() {\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\n }\n\n public onEdit(): void {\n this.isEditing = !this.isEditing;\n }\n\n public onCancel(): void {\n this.isEditing = !this.isEditing;\n }\n\n public onSave(): void {\n if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\n const control = this.formGroup.get(this.field.name);\n control.markAsDirty({ onlySelf: true });\n\n this.dynamicComponentRef.instance.saveValue();\n }\n if (this.formGroup.get(this.field.name).valid) {\n this.isEditing = !this.isEditing;\n }\n }\n\n public setDynamicComponentRef(ref: ComponentRef<any>): void {\n this.dynamicComponentRef = ref;\n }\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages)\n return errorMessages instanceof Function\n ? { ...this.errorMessages, ...errorMessages() }\n : { ...this.errorMessages, ...errorMessages };\n return this.errorMessages;\n }\n\n public getFormattedValue(value: any): string {\n if (this.field instanceof InlineEditCalendarField) {\n return (this.dynamicComponentRef.instance as InlineEditCalendarComponent).getValueAsText();\n }\n if (this.field instanceof InlineEditLookupField) {\n const lookupField = this.field as InlineEditLookupField;\n return this.field.multiple\n ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(\" - \")\n : value[lookupField.lookupDisplayField];\n }\n\n return value;\n }\n\n private _getCalendarLocaleOptions(): void {\n this.localeService\n .get()\n .pipe(first())\n .subscribe((localeOptions: LocaleOptions) => {\n this._locale = localeOptions.locale;\n });\n }\n}\n","import { Component, Input, ViewChild } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { Calendar } from \"primeng/calendar\";\n\nimport { InlineEditCalendarField } from \"../../../fields/inline-edit-calendar-field\";\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from \"../../../../locale/index\";\nimport { first } from \"rxjs/operators\";\n\n@Component({\n templateUrl: \"./inline-edit-calendar.component.html\",\n styleUrls: [\"./inline-edit-calendar.component.scss\"],\n})\nexport class InlineEditCalendarComponent {\n @Input()\n public field: InlineEditCalendarField;\n\n @Input()\n public formGroup: FormGroup;\n\n @ViewChild(Calendar)\n calendar: Calendar;\n\n public tempValue: string;\n public calendarLocaleOptions: CalendarLocaleOptions;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit(): void {\n this._getLocaleOptions();\n\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n\n public getValueAsText(): string {\n return this.calendar.el.nativeElement.querySelector('input').value;\n }\n\n private _getLocaleOptions(): void {\n this.localeService.get().pipe(first()).subscribe((locale: LocaleOptions) => {\n this.calendarLocaleOptions = locale.calendar;\n });\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditLookupField } from \"../../../fields/inline-edit-lookup-field\";\n\n@Component({\n templateUrl: \"./inline-edit-lookup.component.html\",\n styleUrls: [\"./inline-edit-lookup.component.scss\"],\n})\nexport class InlineEditLookupComponent implements OnInit {\n @Input()\n public field: InlineEditLookupField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || \"\";\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { first } from \"rxjs/operators\";\n\nimport { InlineEditNumberField } from \"../../../fields/inline-edit-number-field\";\nimport { LocaleService } from \"../../../../locale/index\";\n\n@Component({\n templateUrl: \"./inline-edit-number.component.html\",\n styleUrls: [\"./inline-edit-number.component.scss\"],\n})\nexport class InlineEditNumberComponent {\n @Input()\n public field: InlineEditNumberField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit(): void {\n this._onLocaleService();\n\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n\n public get mask(): string {\n return typeof this.field.mask === 'function' ? this.field.mask() : this.field.mask;\n }\n\n public get leftAddonDisabled(): boolean {\n return typeof this.field.leftAddon.disabled === 'function' ? this.field.leftAddon.disabled() : this.field.leftAddon.disabled;\n }\n\n public get rightAddonDisabled(): boolean {\n return typeof this.field.rightAddon.disabled === 'function' ? this.field.rightAddon.disabled() : this.field.rightAddon.disabled;\n }\n\n public get precision(): number {\n return typeof this.field.precision === 'function' ? this.field.precision() : this.field.precision;\n }\n\n public get scale(): number {\n return typeof this.field.scale === 'function' ? this.field.scale() : this.field.scale;\n }\n\n private _onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: \"\",\n }),\n });\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextAreaField } from \"../../../fields/inline-edit-text-area-field\";\n\n@Component({\n templateUrl: \"./inline-edit-text-area.component.html\",\n styleUrls: [\"./inline-edit-text-area.component.scss\"],\n})\nexport class InlineEditTextAreaComponent implements OnInit {\n @Input()\n public field: InlineEditTextAreaField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextField } from \"../../../fields/inline-edit-text-field\";\n\n@Component({\n templateUrl: \"./inline-edit-text.component.html\",\n styleUrls: [\"./inline-edit-text.component.scss\"],\n})\nexport class InlineEditTextComponent {\n @Input()\n public field: InlineEditTextField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextAreaIAField } from \"../../../fields/inline-edit-text-area-ia-field\";\n\n@Component({\n templateUrl: \"./inline-edit-text-area-ia.component.html\",\n styleUrls: [\"./inline-edit-text-area-ia.component.scss\"],\n})\nexport class InlineEditTextAreaIAComponent {\n @Input()\n public field: InlineEditTextAreaIAField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, ComponentFactoryResolver, Input, OnInit, ViewChild, ViewContainerRef, ComponentRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport {\n InlineEditCalendarComponent,\n InlineEditItemComponent,\n InlineEditLookupComponent,\n InlineEditNumberComponent,\n InlineEditTextAreaComponent,\n InlineEditTextComponent,\n InlineEditTextAreaIAComponent,\n} from \"./components/index\";\nimport {\n InlineEditField,\n InlineEditCalendarField,\n InlineEditLookupField,\n InlineEditNumberField,\n InlineEditTextAreaField,\n InlineEditTextField,\n InlineEditTextAreaIAField,\n} from \"./fields/index\";\n\n@Component({\n selector: \"s-inline-edit\",\n templateUrl: \"./inline-edit.component.html\",\n styleUrls: [\"./inline-edit.component.scss\"],\n})\nexport class InlineEditComponent implements OnInit {\n @Input()\n public formGroup: FormGroup;\n\n @Input()\n public fields: InlineEditField[] = [];\n\n @Input()\n public errorMessages?: any;\n\n @ViewChild(\"formContainer\", { read: ViewContainerRef, static: true })\n public container: ViewContainerRef;\n\n constructor(private resolver: ComponentFactoryResolver) {}\n\n public ngOnInit(): void {\n this._createFields();\n }\n\n private _componentMap = {\n [InlineEditCalendarField.name]: InlineEditCalendarComponent,\n [InlineEditLookupField.name]: InlineEditLookupComponent,\n [InlineEditTextField.name]: InlineEditTextComponent,\n [InlineEditNumberField.name]: InlineEditNumberComponent,\n [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\n [InlineEditTextAreaIAField.name]: InlineEditTextAreaIAComponent,\n };\n\n private _createFields(): void {\n this.container.clear();\n\n const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\n const componentFactory = this.resolver.resolveComponentFactory(componentClass);\n const componentRef = this.container.createComponent(componentFactory);\n (componentRef.instance as any).field = field;\n (componentRef.instance as any).formGroup = this.formGroup;\n return componentRef;\n };\n\n for (let field of this.fields) {\n let componentClass = this._componentMap[field.constructor.name];\n\n if (componentClass) {\n const inlineEditItemFactory = this.resolver.resolveComponentFactory(InlineEditItemComponent);\n const inlineEditItemRef = this.container.createComponent(inlineEditItemFactory);\n inlineEditItemRef.instance.label = field.label;\n inlineEditItemRef.instance.formGroup = this.formGroup;\n inlineEditItemRef.instance.field = field;\n inlineEditItemRef.instance.errorMessages = this.errorMessages;\n const dynamicComponentRef = createComponent(componentClass, field);\n\n const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\n inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\n inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\n }\n }\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Component, forwardRef, Input, OnInit } from \"@angular/core\";\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\n\nimport { FieldType, FormField } from \"../dynamic-form\";\nimport { IAssistService } from \"../dynamic-form/services/IAssist/iassist.service\";\nimport { IAssistResponse } from \"../dynamic-form/services/IAssist/models\";\nimport { SpeechRecognitionService } from \"../speech-recognition/speech-recognition.service\";\n\n@Component({\n selector: \"s-text-area-ia\",\n templateUrl: \"./text-area-ia.component.html\",\n styleUrls: [\"./text-area-ia.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextAreaIAComponent),\n multi: true,\n },\n ],\n})\nexport class TextAreaIAComponent implements OnInit, ControlValueAccessor {\n @Input()\n public id: string;\n\n @Input()\n public label: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public prompt: string;\n\n @Input()\n public readonly: boolean;\n\n @Input()\n public rows: number;\n\n @Input()\n public cols: number;\n\n @Input()\n speechRecognition = false\n\n @Input()\n keepContext = false;\n\n @Input()\n speechRecognitionPlaceholder = '';\n\n public fields: FormField[];\n public formGroup: FormGroup;\n public isVisible = false;\n public isLoading = false;\n public value: string;\n\n private _isDisabled: boolean;\n private _onChange: (value: string) => void;\n private _onTouched: () => void;\n\n constructor(\n private readonly _iassistService: IAssistService, // Mover pra uma pasta global\n private readonly _formBuilder: FormBuilder,\n private readonly _translateService: TranslateService,\n public speechRecognitionService: SpeechRecognitionService\n ) { }\n\n public ngOnInit(): void {\n this._createDialogFields();\n this._createDialogFormGroup();\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n this._onChange?.(value);\n }\n\n public showDialog(): void {\n this.isVisible = true;\n this._onTouched();\n }\n\n public hideDialog(): void {\n this.isVisible = false;\n }\n\n public onHideDialog(): void {\n this.formGroup.get(\"context\").setValue(\"\");\n }\n\n public submitContext(): void {\n const context = this.formGroup.get(\"context\");\n this.isLoading = true;\n\n this._iassistService\n .askIA(context.value, {\n id: this.id,\n label: this.label,\n placeholder: this.placeholder,\n prompt: this.prompt,\n })\n .pipe(\n catchError((err: HttpErrorResponse) => {\n this.isLoading = false;\n return throwError(err);\n })\n )\n .subscribe((res: IAssistResponse) => {\n this.value = res.text;\n this._onChange(this.value);\n this.isLoading = false;\n });\n\n this.hideDialog();\n }\n\n private _createDialogFields(): void {\n this.fields = [\n new FormField({\n name: \"context\",\n type: FieldType.Text,\n label: this._translateService.instant(\"platform.angular_components.context\"),\n size: { sm: 12, md: 12, lg: 12, xl: 12 },\n speechRecognition: this.speechRecognition\n }),\n ];\n }\n\n private _createDialogFormGroup(): void {\n this.formGroup = this._formBuilder.group({\n context: [\"\"],\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { DialogModule } from \"primeng/dialog\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { DynamicFormModule } from \"../dynamic-form/dynamic-form.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { TextAreaIAComponent } from \"./text-area-ia.component\";\nimport { TextAreaModule } from \"../text-area/text-area.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n DialogModule,\n ButtonModule,\n DynamicFormModule,\n LoadingStateModule,\n TextAreaModule\n ],\n declarations: [TextAreaIAComponent],\n exports: [TextAreaIAComponent],\n})\nexport class TextAreaIAModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { CalendarModule } from \"primeng/calendar\";\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\n\nimport { BignumberInputModule } from \"../bignumber-input/bignumber-input.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { ControlErrorsModule } from \"../control-errors/control-errors.module\";\nimport { DynamicFormModule } from \"../dynamic-form/dynamic-form.module\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\nimport { TextAreaIAModule } from \"../text-area-ia/text-area-ia.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\nimport { InlineEditCalendarComponent } from \"./components/fields/inline-edit-calendar/inline-edit-calendar.component\";\nimport { InlineEditLookupComponent } from \"./components/fields/inline-edit-lookup/inline-edit-lookup.component\";\nimport { InlineEditNumberComponent } from \"./components/fields/inline-edit-number/inline-edit-number.component\";\nimport { InlineEditTextComponent } from \"./components/fields/inline-edit-text/inline-edit-text.component\";\nimport { InlineEditTextAreaComponent } from \"./components/fields/inline-edit-text-area/inline-edit-text-area.component\";\nimport { InlineEditTextAreaIAComponent } from \"./components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component\";\nimport { InlineEditItemComponent } from \"./components/inline-edit-item/inline-edit-item.component\";\n\nimport { InlineEditComponent } from \"./inline-edit.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n BignumberInputModule,\n ButtonModule,\n ControlErrorsModule,\n InfoSignModule,\n DynamicFormModule, // Só por causa do Lookup\n TextAreaIAModule,\n TooltipModule,\n CalendarModule,\n InputMaskModule,\n InputTextModule,\n InputTextareaModule,\n KeyFilterModule,\n ],\n declarations: [\n InlineEditComponent,\n InlineEditItemComponent,\n InlineEditCalendarComponent,\n InlineEditLookupComponent,\n InlineEditNumberComponent,\n InlineEditTextComponent,\n InlineEditTextAreaComponent,\n InlineEditTextAreaIAComponent,\n ],\n exports: [InlineEditComponent],\n})\nexport class InlineEditModule {}\n","import { EventEmitter, Injectable } from \"@angular/core\";\n\nimport { KanbanColumn, KanbanItem } from \"./models\";\n\n@Injectable()\nexport class KanbanEventService {\n public selectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public unselectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public selectItemEvent = new EventEmitter<KanbanItem>();\n public unselectItemEvent = new EventEmitter<KanbanItem>();\n\n public emitSelectAllColumnItemsEvent(column: KanbanColumn): void {\n this.selectAllColumnItemsEvent.emit(column);\n }\n\n public emitUnselectAllColumnItemsEvent(column: KanbanColumn): void {\n this.unselectAllColumnItemsEvent.emit(column);\n }\n\n public emitSelectItemEvent(item: KanbanItem): void {\n this.selectItemEvent.emit(item);\n }\n\n public emitUnselectItemEvent(item: KanbanItem): void {\n this.unselectItemEvent.emit(item);\n }\n}\n","export enum KanbanTemplateTypes {\n ColumnHeader = \"column-header\",\n ColumnEmptyMessage = \"column-empty-message\",\n ItemHeader = \"item-header\",\n ItemBody = \"item-body\",\n ItemFooter = \"item-footer\",\n}\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n} from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { KanbanEventService } from \"./kanban-event.service\";\nimport { KanbanColumn, KanbanData, KanbanItem, KanbanItemMovedData, KanbanTemplateTypes } from \"./models/index\";\n\n@Component({\n selector: \"s-kanban\",\n templateUrl: \"./kanban.component.html\",\n styleUrls: [\"./kanban.component.scss\"],\n})\nexport class KanbanComponent implements OnInit, AfterContentInit, OnDestroy {\n @Input()\n public data: KanbanData;\n\n @Input()\n public showItemCheckboxes = true;\n\n @Input()\n public showColumnCheckboxes = true;\n\n @Output()\n public itemsMoved = new EventEmitter<KanbanItemMovedData>();\n\n @Output()\n public dataUpdated = new EventEmitter<KanbanData>();\n\n @Output()\n public itemsSelected = new EventEmitter<KanbanItem[]>();\n\n public selectedColumn: KanbanColumn;\n public selectedItems = new Set<KanbanItem>();\n public draggingItems = new Set<KanbanItem>();\n\n public columnHeaderTemplate: TemplateRef<any>;\n public columnEmptyMessageTemplate: TemplateRef<any>;\n public itemHeaderTemplate: TemplateRef<any>;\n public itemBodyTemplate: TemplateRef<any>;\n public itemFooterTemplate: TemplateRef<any>;\n\n private _unsubscribe$ = new Subject<void>();\n\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective>;\n\n constructor(private readonly kanbanEventService: KanbanEventService) {}\n\n public ngOnInit(): void {\n this._subscribeEvents();\n this._normalizeData();\n this._validateInputs();\n }\n\n ngAfterContentInit() {\n this._getTemplates();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public drop(event: CdkDragDrop<KanbanItem[]>): void {\n const previousColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.previousContainer.id);\n const targetColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.container.id);\n\n if (!previousColumn || !targetColumn) {\n throw new Error(\"Unable to obtain information about columns when performing drag and drop\");\n }\n\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n\n this.selectedItems.forEach((item: KanbanItem) => {\n const previousIndex = event.previousContainer.data.indexOf(item);\n if (previousIndex !== -1 && item !== event.item.data) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, previousIndex, event.currentIndex);\n }\n }\n });\n\n this.selectedItems.add(event.item.data);\n\n this.itemsMoved.emit({\n items: [...this.selectedItems],\n previousColumn,\n targetColumn,\n });\n\n if (this.dataUpdated.observers?.length) {\n this.dataUpdated.emit({ ...this.data });\n }\n\n this.data.columns.forEach((column: KanbanColumn) => {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(column);\n });\n this.selectedItems.clear();\n }\n\n public selectItem(event: MouseEvent, item: KanbanItem, column: KanbanColumn): void {\n if (item.disabled || item.frozen) return;\n\n if (event.ctrlKey) {\n if (this.selectedItems.delete(item)) {\n this.kanbanEventService.emitUnselectItemEvent(item);\n } else {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n } else {\n if (this.selectedItems.delete(item)) return;\n\n this.selectedItems.clear();\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n }\n\n public dragStarted(): void {\n this.selectedItems.forEach((item: KanbanItem) => {\n this.draggingItems.add(item);\n });\n }\n\n public dragReleased(): void {\n this.draggingItems.clear();\n }\n\n public getLinkedColumns(currentColumn: KanbanColumn) {\n return this.data.columns.filter((column: KanbanColumn) => column != currentColumn).map((column: KanbanColumn) => column.id);\n }\n\n public getColumnHeaderTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ColumnHeader);\n }\n\n public getColumnEmptyMessageTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ColumnEmptyMessage);\n }\n\n public getItemHeaderTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ItemHeader);\n }\n\n public getItemBodyTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ItemBody);\n }\n\n public getItemFooterTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ItemFooter);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _subscribeEvents(): void {\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n column.items\n .filter((item: KanbanItem) => !item.disabled && !item.frozen)\n .forEach((item: KanbanItem) => {\n this.selectedItems.add(item);\n });\n this.selectedColumn = column;\n this.itemsSelected.emit([...this.selectedItems]);\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectedItems.clear();\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n this.selectedItems.add(item);\n this.itemsSelected.emit([...this.selectedItems]);\n\n // Finding the item column and setting selectedColumn.\n this.data.columns.forEach((column: KanbanColumn) => {\n column.items.forEach((currentItem: KanbanItem) => {\n if (currentItem === item) {\n this.selectedColumn = column;\n return;\n }\n });\n });\n });\n\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\n this.selectedItems.delete(item);\n });\n }\n\n private _normalizeData(): void {\n this.data.columns.forEach((column: KanbanColumn) => {\n column.id = column.id || `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;\n });\n }\n\n private _validateInputs(): void {\n const columns = this.data.columns;\n const columnIds = this.data.columns.map((column: KanbanColumn) => column.id);\n\n if (new Set(columnIds).size !== columns.length) {\n throw new Error(\"Repeated IDs are not accepted.\");\n }\n }\n\n private _getTemplates(): void {\n this.columnHeaderTemplate = this.getColumnHeaderTemplate();\n this.columnEmptyMessageTemplate = this.getColumnEmptyMessageTemplate();\n this.itemHeaderTemplate = this.getItemHeaderTemplate();\n this.itemBodyTemplate = this.getItemBodyTemplate();\n this.itemFooterTemplate = this.getItemFooterTemplate();\n }\n}\n","import { Component, Input, OnDestroy, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { KanbanColumn, KanbanItem } from \"../../models\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { FormControl } from \"@angular/forms\";\nimport { KanbanColumnOption } from \"../../models/kanban-data\";\n\n@Component({\n selector: \"s-kanban-column\",\n templateUrl: \"./kanban-column.component.html\",\n styleUrls: [\"./kanban-column.component.scss\"],\n})\nexport class KanbanColumnComponent implements OnInit, OnDestroy {\n @Input()\n public data: KanbanColumn;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any>;\n\n public selectionControl = new FormControl(false);\n\n private _unsubscribe$ = new Subject<void>();\n\n constructor(\n private readonly kanbanEventService: KanbanEventService,\n ) { }\n\n public ngOnInit(): void {\n this._validateInputs();\n this._subscriveEvents();\n\n this._createTieredOptions();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _createTieredOptions(): void {\n if (!this.data.options) return;\n\n const options: KanbanColumnOption[] = [];\n\n this.data.options.forEach((option: KanbanColumnOption) => {\n options.push({\n ...option,\n command: () => { option.command(this.data) },\n });\n });\n\n this.data.options = options;\n }\n\n private _subscriveEvents(): void {\n this.selectionControl.valueChanges\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((value: boolean) => {\n if (value) {\n this.kanbanEventService.emitSelectAllColumnItemsEvent(this.data);\n } else {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(this.data);\n }\n });\n\n this.kanbanEventService.unselectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectionControl.setValue(false, { emitEvent: false });\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (!this.data.items.includes(item)) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n })\n }\n\n private _validateInputs(): void {\n if (!this.data) {\n throw new Error(\"data parameter is required\");\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-kanban-item-dragging\",\n templateUrl: \"./kanban-item-dragging.component.html\",\n styleUrls: [\"./kanban-item-dragging.component.scss\"],\n})\nexport class KanbanItemDraggingComponent {\n @Input()\n public quantityItems = 0;\n}\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { KanbanItem } from \"../../models\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { KanbanItemOption } from \"../../models/kanban-data\";\n\n@Component({\n selector: \"s-kanban-item\",\n templateUrl: \"./kanban-item.component.html\",\n styleUrls: [\"./kanban-item.component.scss\"],\n})\nexport class KanbanItemComponent implements OnInit {\n @Input()\n public item: KanbanItem;\n\n @Input()\n public selected = false;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any>;\n\n @Input()\n public bodyTemplate: TemplateRef<any>;\n\n @Input()\n public footerTemplate: TemplateRef<any>;\n\n constructor(private readonly _kanbanEventService: KanbanEventService) {}\n\n public ngOnInit(): void {\n this._createTieredOptions();\n }\n\n public onSelectedChange(value: any): void {\n if (value) {\n this._kanbanEventService.emitSelectItemEvent(this.item);\n } else {\n this._kanbanEventService.emitUnselectItemEvent(this.item);\n }\n }\n\n private _createTieredOptions(): void {\n if (!this.item.options) return;\n\n const options: KanbanItemOption[] = [];\n\n this.item.options.forEach((option: KanbanItemOption) => {\n options.push({\n ...option,\n command: () => { option.command(this.item) },\n });\n });\n\n this.item.options = options;\n }\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { TieredMenuModule } from \"primeng/tieredmenu\";\n\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TemplateModule } from \"../template/template.module\";\nimport { KanbanColumnComponent } from \"./components/kanban-column/kanban-column.component\";\nimport { KanbanItemDraggingComponent } from \"./components/kanban-item-dragging/kanban-item-dragging.component\";\nimport { KanbanItemComponent } from \"./components/kanban-item/kanban-item.component\";\nimport { KanbanEventService } from \"./kanban-event.service\";\nimport { KanbanComponent } from \"./kanban.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n DragDropModule,\n BadgeModule,\n ButtonModule,\n TieredMenuModule,\n TemplateModule,\n ],\n declarations: [\n KanbanComponent,\n KanbanItemComponent,\n KanbanColumnComponent,\n KanbanItemDraggingComponent,\n ],\n exports: [\n KanbanComponent,\n TemplateModule,\n ],\n providers: [KanbanEventService],\n})\nexport class KanbanModule { }\n","import { Component, Input, Output, EventEmitter, forwardRef, OnInit, AfterViewInit, ChangeDetectorRef } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { NavigationButtonItem } from \"./models/navigation-button-item\";\nimport { TieredMenuItemData } from \"../tiered-menu\";\nimport { NavigationButtonStepChangedInfo } from \"./models\";\n\n@Component({\n selector: \"s-navigation-button\",\n templateUrl: \"./navigation-button.component.html\",\n styleUrls: [\"./navigation-button.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NavigationButtonComponent),\n multi: true,\n },\n ],\n})\nexport class NavigationButtonComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n @Input()\n public steps: NavigationButtonItem[];\n\n @Input()\n public defaultValue: unknown;\n\n @Input()\n public tooltip: string;\n\n @Input()\n public changeOnInit = false;\n\n @Output()\n public stepChanged: EventEmitter<NavigationButtonStepChangedInfo> = new EventEmitter();\n\n public currentIndex = 0;\n public isDisabled = false;\n public tieredMenuItems: TieredMenuItemData[] = [];\n\n private _onChange: (value: unknown) => void;\n private _onTouched: () => void;\n private _value: unknown;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this._createTieredMenuItems();\n\n if (this.changeOnInit) {\n this.stepChanged.emit({\n previous: undefined,\n current: this.steps[this.currentIndex],\n });\n }\n }\n\n public ngAfterViewInit(): void {\n this._setDefaultValue();\n }\n\n private _setDefaultValue(): void {\n if (this.defaultValue) {\n this._value = this.defaultValue;\n\n const index = this.steps.findIndex((step) => step.value === this._value);\n this.currentIndex = index !== -1 ? index : 0;\n this.stepChanged.emit({\n previous: undefined,\n current: this.steps[this.currentIndex],\n });\n\n this.changeDetectorRef.detectChanges();\n }\n }\n\n public writeValue(value: unknown): void {\n this._value = value;\n\n const index = this.steps.findIndex((step) => step.value === this._value);\n this.currentIndex = index !== -1 ? index : 0;\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public onNext(): void {\n if (this.isDisabled) return;\n\n const previous = this.steps[this.currentIndex];\n\n if (this.currentIndex < this.steps.length - 1) {\n this.currentIndex++;\n\n const current = this.steps[this.currentIndex];\n\n this._onChange && this._onChange(current.value);\n this.stepChanged.emit({ previous, current });\n }\n\n this._onTouched && this._onTouched();\n }\n\n public onPrevious(): void {\n if (this.isDisabled) return;\n\n const previous = this.steps[this.currentIndex];\n\n if (this.currentIndex > 0) {\n this.currentIndex--;\n\n const current = this.steps[this.currentIndex];\n\n this._onChange && this._onChange(current.value);\n this.stepChanged.emit({ previous, current });\n }\n\n this._onTouched && this._onTouched();\n }\n\n private _createTieredMenuItems() {\n this.steps.forEach((step: NavigationButtonItem) => {\n this.tieredMenuItems.push({\n label: step.label,\n command: () => {\n const index = this.steps.findIndex((s) => s === step);\n if (this.currentIndex !== index) {\n this._onChange && this._onChange(step.value);\n this.stepChanged.emit({ previous: this.steps[this.currentIndex], current: step });\n this.currentIndex = index;\n }\n\n this._onTouched && this._onTouched();\n },\n });\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TieredMenuModule } from \"../tiered-menu/tiered-menu.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { NavigationButtonComponent } from \"./navigation-button.component\";\n\n@NgModule({\n imports: [CommonModule, TieredMenuModule, TooltipModule],\n declarations: [NavigationButtonComponent],\n exports: [NavigationButtonComponent],\n})\nexport class NavigationButtonModule {}\n","export enum EnumSeverity {\n Default = \"Default\",\n Info = \"Info\",\n Warn = \"Warn\",\n Error = \"Error\",\n Success = \"Success\",\n}\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\n\n@Component({\n selector: \"s-object-card-field\",\n templateUrl: \"./object-card-field.component.html\",\n styleUrls: [\"./object-card-field.component.scss\"],\n})\nexport class ObjectCardFieldComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-field-${ObjectCardFieldComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n}\n","import { AfterContentInit, Component, ContentChild, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailSize } from \"../../../thumbnail/thumbnail-size\";\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { Breakpoints } from \"../../../utils\";\n\n@Component({\n selector: \"s-object-card-main\",\n templateUrl: \"./object-card-main.component.html\",\n styleUrls: [\"./object-card-main.component.scss\"],\n})\nexport class ObjectCardMainComponent implements AfterContentInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-main-${ObjectCardMainComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass = \"fa fa-picture-o\";\n\n @Input()\n public hasThumbnail = true;\n\n @Input()\n public hasDescription = true;\n\n @Input()\n public isBrand = false;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n private _thumbnailSize = ThumbnailSize.Medium;\n\n public set thumbnailSize(value: ThumbnailSize) {\n this._thumbnailSize = value;\n if (this.thumbnailComponent) this.thumbnailComponent.size = value;\n }\n\n public get thumbnailSize() {\n return this._thumbnailSize;\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n public update() {\n const windowWidth = window.innerWidth;\n\n if (windowWidth <= Breakpoints.SM_MAX) this.thumbnailSize = ThumbnailSize.Small;\n else this.thumbnailSize = ThumbnailSize.Medium;\n }\n}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterContentChecked,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChild\n} from \"@angular/core\";\n\nimport { BorderButtonOptions } from \"../shared/models/border-button-options\";\nimport { EnumSeverity } from \"../shared/models/enum-severity\";\nimport { Breakpoints } from \"../utils/breakpoints\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\n\n@Component({\n selector: \"s-object-card\",\n templateUrl: \"./object-card.component.html\",\n styleUrls: [\"./object-card.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n trigger(\"BorderButtonAnimation\", [\n transition(\":enter\", [\n style({ transform: \"scaleY(0)\", opacity: 0 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(1)\", opacity: 1 })),\n ]),\n transition(\":leave\", [\n style({ transform: \"scaleY(1)\", opacity: 1 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(0)\", opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class ObjectCardComponent implements AfterContentChecked {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-${ObjectCardComponent.nextId++}`;\n\n @Input()\n public expanded = false;\n\n @Input()\n public expandTooltip = \"Abrir painel\";\n\n @Input()\n public collapseTooltip = \"Fechar painel\";\n\n @Input()\n public fieldsMinWidth = 200;\n\n @Output()\n public expandedChange = new EventEmitter<boolean>();\n\n @ContentChild(ObjectCardMainComponent, { static: true })\n public main: ObjectCardMainComponent;\n\n @ContentChildren(ObjectCardFieldComponent, { descendants: true })\n public fields?: QueryList<ObjectCardFieldComponent>;\n\n public maxVisibleFields = 0;\n\n @Input()\n severity = EnumSeverity.Default;\n\n @Input()\n borderButtonOptions: BorderButtonOptions;\n\n readonly EnumSeverity = EnumSeverity;\n\n @ViewChild('contentContainer', { static: true })\n private readonly container: ElementRef<HTMLElement>;\n\n @ViewChild('cardMainContainer', { static: true })\n private readonly cardMainContainer: ElementRef<HTMLElement>\n\n @ViewChild('iconContainer', { static: true })\n private readonly iconContainer: ElementRef<HTMLElement>\n\n public ngAfterContentChecked(): void {\n this.update();\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n const containerWidth = this.container.nativeElement.getBoundingClientRect().width;\n const mainFieldWidth = this.cardMainContainer.nativeElement.getBoundingClientRect().width;\n let remainingSpace = containerWidth - mainFieldWidth;\n const fieldsMinWidth = this.fieldsMinWidth;\n const expandIconWidth = this.iconContainer.nativeElement.getBoundingClientRect().width;\n\n let maxFieldQtd: number;\n\n if (windowWidth <= Breakpoints.SM_MAX) {\n maxFieldQtd = 0\n } else {\n maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);\n }\n\n const hasExpandIcon = maxFieldQtd && maxFieldQtd < this.fields.length\n\n if (hasExpandIcon) {\n this.iconContainer.nativeElement.style.display = 'flex';\n remainingSpace = remainingSpace - expandIconWidth;\n maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);\n }else {\n this.iconContainer.nativeElement.style.display = 'none';\n }\n\n this.maxVisibleFields = maxFieldQtd;\n\n if (maxFieldQtd >= this.fields.length && this.expanded) {\n this.collapse();\n }\n }\n\n public toggle() {\n this.expanded ? this.collapse() : this.expand();\n }\n\n public expand() {\n this.expanded = true;\n this.expandedChange.emit(this.expanded);\n }\n\n public collapse() {\n this.expanded = false;\n this.expandedChange.emit(this.expanded);\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { BorderButtonOptions } from \"../models/border-button-options\";\nimport { EnumSeverity } from \"../models/enum-severity\";\nimport { TooltipPosition } from \"../../tooltip/models/tooltip-position\";\n\n@Component({\n selector: \"s-border-button\",\n templateUrl: \"./border-button.component.html\",\n styleUrls: [\"./border-button.component.scss\"],\n})\nexport class BorderButtonComponent {\n @Input()\n severity = EnumSeverity.Default;\n\n @Input()\n options: BorderButtonOptions;\n\n readonly EnumSeverity = EnumSeverity;\n\n readonly TooltipPosition = TooltipPosition;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"../../tooltip/tooltip.module\";\nimport { BorderButtonComponent } from \"./border-button.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [BorderButtonComponent],\n exports: [BorderButtonComponent]\n})\nexport class BorderButtonModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ObjectCardComponent } from \"./object-card.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\nimport { BorderButtonModule } from \"../shared/border-button/border-button.module\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule, ButtonModule, BorderButtonModule],\n declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n})\nexport class ObjectCardModule {}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef } from \"@angular/core\";\n\nimport { BorderButtonOptions } from \"../shared\";\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { EnumSeverity } from \"../shared/models/enum-severity\";\n\n@Component({\n selector: \"s-panel\",\n templateUrl: \"./panel.component.html\",\n styleUrls: [\"./panel.component.scss\"],\n animations: [\n trigger(\"BorderButtonAnimation\", [\n transition(\":enter\", [\n style({ transform: \"scaleY(0)\", opacity: 0 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(1)\", opacity: 1 })),\n ]),\n transition(\":leave\", [\n style({ transform: \"scaleY(1)\", opacity: 1 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(0)\", opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class PanelComponent implements AfterContentInit {\n @Input()\n header: string;\n\n @Input()\n toggleable = false;\n\n @Input()\n collapsed = false;\n\n @Input()\n severity = EnumSeverity.Default;\n\n @Input()\n borderButtonOptions: BorderButtonOptions;\n\n @Input()\n class: string;\n\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n @ContentChildren(TemplateDirective)\n templates: QueryList<TemplateDirective>;\n\n readonly EnumSeverity = EnumSeverity;\n\n headerTemplate: TemplateRef<unknown>;\n\n bodyTemplate: TemplateRef<unknown>;\n\n footerTemplate: TemplateRef<unknown>;\n\n ngAfterContentInit(): void {\n this._getTemplates();\n }\n\n toggleCollapsed(): void {\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private getHeaderTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(\"header\");\n }\n\n private getBodyTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(\"body\");\n }\n\n private getFooterTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(\"footer\");\n }\n\n private _getTemplates(): void {\n this.headerTemplate = this.getHeaderTemplate();\n this.bodyTemplate = this.getBodyTemplate();\n this.footerTemplate = this.getFooterTemplate();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PanelComponent } from \"./panel.component\";\nimport { BorderButtonModule } from \"../shared/border-button/border-button.module\";\nimport { TemplateModule } from \"../template/template.module\";\n\n@NgModule({\n imports: [CommonModule, BorderButtonModule],\n declarations: [PanelComponent],\n exports: [PanelComponent, TemplateModule],\n})\nexport class PanelModule {}\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-product-header\",\n templateUrl: \"./product-header.component.html\",\n styleUrls: [\"./product-header.component.scss\"],\n})\nexport class ProductHeaderComponent implements AfterViewInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-product-header-${ProductHeaderComponent.nextId++}`;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public isHeaderFrame = true;\n\n @ViewChild(\"headerContainer\", { static: false })\n public container: ElementRef;\n\n public ngAfterViewInit() {\n this.container.nativeElement.style.zIndex = String(this.baseZIndex + ++DomHandler.zindex);\n if (this.isHeaderFrame) {\n this.container.nativeElement.style.borderBottom = \"1px solid $default-secondary-color\";\n } else {\n this.container.nativeElement.style.borderTop = \"1px solid $default-secondary-color\";\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ProductHeaderComponent } from \"./product-header.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [ProductHeaderComponent],\n exports: [ProductHeaderComponent, ThumbnailModule],\n})\nexport class ProductHeaderModule {}\n","export enum ProgressBarColors {\n Blue = \"blue\",\n Green = \"green\",\n Red = \"red\",\n Yellow = \"yellow\",\n}","export enum ProgressBarMode {\n Determinate = \"determinate\",\n Indeterminate = \"indeterminate\",\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport { ProgressBarColors, ProgressBarMode } from \"./models\";\n\n@Component({\n selector: \"s-progressbar\",\n templateUrl: \"./progressbar.component.html\",\n styleUrls: [\"./progressbar.component.scss\"],\n})\nexport class ProgressBarComponent implements OnInit {\n @Input()\n public value: number;\n\n @Input()\n public numberFormatOptions: Intl.NumberFormatOptions = {\n style: \"decimal\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n roundingMode: \"trunc\",\n } as unknown as Intl.NumberFormatOptions;\n\n @Input()\n public targetValue: number;\n\n @Input()\n public label: string;\n\n @Input()\n public targetLabel: string;\n\n @Input()\n public activeColor: ProgressBarColors;\n\n @Input()\n public showValue = true;\n\n @Input()\n public mode = ProgressBarMode.Determinate;\n\n constructor() {}\n\n public ngOnInit() {\n this.validateInputs();\n }\n\n private validateInputs(): void {\n if (this.value < 0 || this.value > 100) {\n throw new Error(\"Invalid value for value\");\n }\n\n if (this.targetValue < 0 || this.targetValue > 100) {\n throw new Error(\"Invalid value for targetValue\");\n }\n\n if (this.mode === ProgressBarMode.Indeterminate && (this.value || this.targetValue || this.targetLabel)) {\n throw new Error(\"When the mode is indeterminate, the value, targetValue and targetLabel parameters are not expected.\");\n }\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport { ProgressBarColors } from \"../../models\";\nimport { LocaleService } from \"../../../locale/locale.service\";\n\n@Component({\n selector: \"s-progressbar-determinate\",\n templateUrl: \"./progressbar-determinate.component.html\",\n styleUrls: [\"./progressbar-determinate.component.scss\"],\n})\nexport class ProgressBarDeterminateComponent implements OnInit {\n @Input()\n public value: number;\n\n @Input()\n public numberFormatOptions: Intl.NumberFormatOptions;\n\n @Input()\n public targetValue: number;\n\n @Input()\n public targetLabel: string;\n\n @Input()\n public activeColor: ProgressBarColors;\n\n @Input()\n public showValue = true;\n\n numberFormat: Intl.NumberFormat;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit() {\n this.validateValues();\n\n this.onGetLocale();\n }\n\n private onGetLocale(): void {\n this.localeService.getLocale().subscribe({\n next: (locale) => {\n this.numberFormat = new Intl.NumberFormat(locale ?? \"pt-BR\", this.numberFormatOptions);\n },\n error: () => {\n this.numberFormat = new Intl.NumberFormat(\"pt-BR\", this.numberFormatOptions);\n },\n });\n }\n\n private validateValues(): void {\n if (this.value < 0 || this.value > 100) {\n throw new Error(\"Invalid value for value\");\n }\n if (this.targetValue < 0 || this.targetValue > 100) {\n throw new Error(\"Invalid value for targetValue\");\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { ProgressBarColors } from \"../../models\";\n\n@Component({\n selector: \"s-progressbar-indeterminate\",\n templateUrl: \"./progressbar-indeterminate.component.html\",\n styleUrls: [\"./progressbar-indeterminate.component.scss\"],\n})\nexport class ProgressBarIndeterminateComponent {\n @Input()\n public activeColor: ProgressBarColors;\n\n @Input()\n public label: string;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ProgressBarComponent } from \"./progressbar.component\";\nimport { ProgressBarDeterminateComponent } from \"./components/progressbar-determinate/progressbar-determinate.component\";\nimport { ProgressBarIndeterminateComponent } from \"./components/progressbar-indeterminate/progressbar-indeterminate.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n ProgressBarComponent,\n ProgressBarDeterminateComponent,\n ProgressBarIndeterminateComponent,\n ],\n exports: [ProgressBarComponent],\n})\nexport class ProgressBarModule { }","import { Component, Input, forwardRef } from \"@angular/core\";\n\nimport { RatingScaleNode } from \"./models/rating-scale-node\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n selector: \"s-rating-scale\",\n templateUrl: \"./rating-scale.component.html\",\n styleUrls: [\"./rating-scale.component.scss\"],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RatingScaleComponent),\n multi: true,\n }],\n})\nexport class RatingScaleComponent implements ControlValueAccessor {\n @Input()\n public nodes: RatingScaleNode[];\n\n @Input()\n public startLabel: string;\n\n @Input()\n public endLabel: string;\n\n @Input()\n public disabled = false;\n\n public value: RatingScaleNode;\n private _onChange: (value: RatingScaleNode) => void;\n private _onTouched: (value: RatingScaleNode) => void;\n\n public writeValue(value: RatingScaleNode): void {\n if (!this.disabled) {\n this.value = value;\n }\n }\n public registerOnChange(onChange: (value: RatingScaleNode) => void): void {\n this._onChange = onChange;\n }\n public registerOnTouched(onTouched: (value: RatingScaleNode) => void): void {\n this._onTouched = onTouched;\n }\n\n public onSelect(rating: RatingScaleNode) {\n this.value = rating;\n if (this._onChange) {\n this._onChange(this.value);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\nimport { RatingScaleComponent } from \"./rating-scale.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n ],\n declarations: [RatingScaleComponent],\n exports: [RatingScaleComponent],\n})\nexport class RatingScaleModule { }\n","import { Component, EventEmitter, Input, Output, forwardRef } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { SelectButtonItem } from \"./models\";\n\n@Component({\n selector: \"s-select-button\",\n templateUrl: \"./select-button.component.html\",\n styleUrls: [\"./select-button.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButtonComponent),\n multi: true,\n },\n ],\n})\nexport class SelectButtonComponent implements ControlValueAccessor {\n @Input()\n public items: SelectButtonItem[];\n\n @Input()\n public multiple = false;\n\n @Output()\n public itemSelected = new EventEmitter<SelectButtonItem[]>();\n\n @Output()\n public itemClicked = new EventEmitter<SelectButtonItem>();\n\n public disabled = false;\n public activeItems = new Set<SelectButtonItem>();\n public onChange: (value: SelectButtonItem[]) => void;\n public onTouched: (value: SelectButtonItem[]) => void;\n\n public writeValue(value?: SelectButtonItem | SelectButtonItem[]): void {\n if (!value) return;\n\n this.activeItems.clear();\n\n if (Array.isArray(value)) {\n value.forEach((item: SelectButtonItem) => {\n this.items.forEach((iItem: SelectButtonItem) => {\n if (this._compareItems(item, iItem)) {\n this.activeItems.add(iItem);\n }\n });\n });\n } else {\n this.items.forEach((iItem: SelectButtonItem) => {\n if (this._compareItems(value, iItem)) {\n this.activeItems.add(iItem);\n }\n });\n }\n }\n\n public registerOnChange(onChange: (value: SelectButtonItem[]) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: SelectButtonItem[]) => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public onItemSelect(item: SelectButtonItem): void {\n if (this.disabled || item.disabled) return;\n\n this.itemClicked.emit(item);\n\n if (!this.multiple) {\n this.activeItems.clear();\n }\n this.activeItems.add(item);\n this.itemSelected.emit([...this.activeItems]);\n\n this.onChange?.([...this.activeItems]);\n this.onTouched?.([...this.activeItems]);\n }\n\n private _compareItems(item1: SelectButtonItem, item2: SelectButtonItem): boolean {\n const _compare = (a: any, b: any): boolean => {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined || typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) {\n return false;\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) {\n return false;\n }\n\n let keysA = Object.keys(a);\n let keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n for (let key of keysA) {\n if (!keysB.includes(key) || !_compare(a[key], b[key])) {\n return false;\n }\n }\n\n for (let key in a) {\n if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {\n return false;\n }\n }\n\n return true;\n };\n\n return _compare(item1, item2);\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-select-button-item\",\n templateUrl: \"./select-button-item.component.html\",\n styleUrls: [\"./select-button-item.component.scss\"],\n})\nexport class SelectButtonItemComponent {\n @Input()\n public label: string;\n\n @Input()\n public active = false;\n\n @Input()\n public first = false;\n\n @Input()\n public last = false;\n\n @Input()\n public disabled = false;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SelectButtonComponent } from \"./select-button.component\";\nimport { SelectButtonItemComponent } from \"./components/select-button-item/select-button-item.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n SelectButtonComponent,\n SelectButtonItemComponent,\n ],\n exports: [SelectButtonComponent],\n})\nexport class SelectButtonModule { }","/**\n * A decorator that can be used to disable functions based on a boolean property on the component.\n *\n * @param disabledField The name of the boolean property that will be used to determine if the decorated\n * function should be disabled. Defaults to 'disabled'.\n * @returns A decorator function that can be used to decorate a function.\n *\n * @example\n * class MyComponent {\n * disabled = true;\n *\n * @CheckDisabled()\n * onClick() {\n * console.log('Button was clicked');\n * }\n * }\n */\nexport function CheckDisabled(disabledField = 'disabled') {\n return function (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n\n descriptor.value = function (...args: any[]) {\n if (this[disabledField]) {\n return;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n","import { FocusTrapFactory } from \"@angular/cdk/a11y\";\nimport { Component, ContentChild, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { Sidebar } from \"primeng/sidebar\";\nimport { FooterComponent } from \"../structure/footer.component\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-sidebar\",\n templateUrl: \"./sidebar.component.html\",\n styleUrls: [\"./sidebar.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SidebarComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-sidebar-${SidebarComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public largeSized = false;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @ViewChild(Sidebar, { static: true })\n public innerSidebar: Sidebar;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n constructor(private focusTrapFactory: FocusTrapFactory) {}\n\n public onShow() {\n DomHandler.addClass(document.body, \"ui-overflow-hidden-sidebar\");\n const focusTrap = this.focusTrapFactory.create(this.innerSidebar.containerViewChild.nativeElement, false);\n focusTrap.focusInitialElementWhenReady();\n }\n\n public onHide() {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n }\n\n public close(event: Event) {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n}\n","import { A11yModule } from \"@angular/cdk/a11y\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ScrollPanelModule } from \"primeng/scrollpanel\";\nimport { SidebarModule as PrimeSidebar } from \"primeng/sidebar\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { SidebarComponent } from \"./sidebar.component\";\n\n@NgModule({\n imports: [CommonModule, A11yModule, PrimeSidebar, ScrollPanelModule, StructureModule],\n declarations: [SidebarComponent],\n exports: [StructureModule, SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Injectable } from \"@angular/core\";\n\nimport { Observable, Subject } from \"rxjs\";\n\n@Injectable()\nexport class SlidePanelService {\n private modalCloseMap = new Map<string, Subject<void>>();\n\n public createSlidePanel(id: string): Observable<void> {\n const panelSubject = new Subject<void>();\n\n this.modalCloseMap.set(id, panelSubject);\n return panelSubject.asObservable();\n }\n\n public getModalCloseObservable(id: string): Observable<void> {\n return this.modalCloseMap.get(id).asObservable();\n }\n\n public closeModal(id: string): void {\n const subject = this.modalCloseMap.get(id);\n if (subject) {\n subject.next();\n }\n }\n}","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n AfterViewChecked,\n Output,\n ViewChild,\n OnDestroy,\n AfterViewInit,\n} from \"@angular/core\";\n\nimport { SlidePanelService } from \"./slide-panel.service\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { Subject } from \"rxjs\";\n\nconst SMALL_DEVICE_BREAKPOINT = 420;\n\n@Component({\n selector: \"s-slide-panel\",\n templateUrl: \"./slide-panel.component.html\",\n styleUrls: [\"./slide-panel.component.scss\"],\n animations: [\n trigger(\"cachelessAnimation\", [\n transition(\":enter\", [\n style({ width: \"0\" }),\n animate(\"200ms linear\", style({ width: \"*\" })),\n ]),\n transition(\":leave\", [\n style({ width: \"*\" }),\n animate(\"200ms linear\", style({ width: \"0\" })),\n ]),\n ]),\n trigger(\"cacheAnimation\", [\n state(\"true\", style({ width: \"*\", padding: '0 16px' })),\n state(\"false\", style({ width: '0px', padding: '0' })),\n transition(\"* => *\", animate(\"200ms\")),\n ]),\n ],\n})\nexport class SlidePanelComponent implements OnInit, AfterViewChecked, AfterViewInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `slide-panel-${++SlidePanelComponent.nextId}`;\n\n @Input()\n public openIcon = \"fas fa-chevron-right\";\n\n @Input()\n public closeIcon = \"fas fa-chevron-left\";\n\n @Input()\n public cache = false;\n\n @Input()\n public createOpen = false;\n\n @Input()\n public noOverlap = false;\n\n @Output()\n public panelOpened = new EventEmitter<void>();\n\n @Output()\n public panelClosed = new EventEmitter<void>();\n\n @ViewChild(\"sideContent\")\n private _sideContentRef: ElementRef;\n\n public isOpen = false;\n public isSlideOver = false;\n public isAnimating = false;\n public isContentAnimationDisabled = true;\n public slideHeight = 0;\n\n private _unsubscribe$ = new Subject<void>();\n\n @HostListener(\"window:resize\")\n public onResize(): void {\n this._checkOverBehavior();\n }\n\n constructor(\n private readonly slidePanelService: SlidePanelService,\n ) { }\n\n public ngOnInit(): void {\n this._checkOverBehavior();\n this.slidePanelService.createSlidePanel(this.id)\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this.isOpen = false;\n });\n }\n\n public ngAfterViewInit(): void {\n queueMicrotask(() => {\n if (this.createOpen) {\n this.isOpen = true;\n }\n });\n }\n\n public ngAfterViewChecked() {\n // to executed at a safe time prior to control returning to the browser's event loop\n queueMicrotask(() => {\n this._calculateSlideHeight();\n this.isContentAnimationDisabled = false;\n });\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public onClickButton() {\n if (this.isAnimating) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.panelOpened.emit();\n } else {\n this.panelClosed.emit();\n }\n }\n\n public onContentAnimationStart() {\n this.isAnimating = true;\n }\n\n public onContentAnimationDone() {\n this.isAnimating = false;\n }\n\n private _checkOverBehavior() {\n this.isSlideOver = window.innerWidth <= SMALL_DEVICE_BREAKPOINT;\n }\n\n private _calculateSlideHeight() {\n this.slideHeight = this._sideContentRef.nativeElement.clientHeight;\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SlidePanelComponent } from \"./slide-panel.component\";\nimport { SlidePanelService } from \"./slide-panel.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SlidePanelComponent],\n exports: [SlidePanelComponent],\n providers: [SlidePanelService],\n})\nexport class SlidePanelModule { }","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n selector: \"s-slider\",\n templateUrl: \"./slider.component.html\",\n styleUrls: [\"./slider.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n})\nexport class SliderComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnChanges {\n private readonly MAX_RANGE_VALUE = 100;\n private readonly MIN_RANGE_VALUE = 0;\n @ViewChild(\"track\")\n public track!: ElementRef;\n\n @Input()\n public multiple = false;\n\n @Input()\n public value: number | [number, number] = 0;\n\n @Output()\n public valueChange = new EventEmitter<number | [number, number]>();\n\n @Input()\n public step = 1;\n\n @Input()\n public hiddenThumb = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public min = this.MIN_RANGE_VALUE;\n\n @Input()\n public max = this.MAX_RANGE_VALUE;\n\n @Input()\n public minValueLabel: string;\n\n @Input()\n public maxValueLabel: string;\n\n @Input()\n public tabindex = 0;\n\n public startValue = 0;\n public endValue = 0;\n public movingProgressBar = false;\n public progressLeft = 0;\n public progressWidth = \"\";\n\n public onChange: (value: number | [number, number]) => void = () => { };\n public onTouched: (value: number | [number, number]) => void = () => { };\n\n private draggingThumb: \"start\" | \"end\" | null = null;\n private progressBarEventPositionStart = -1;\n private startValueBeforeProgressBarEvent = -1;\n private rangeBetweenElementsBeforeProgressBarEvent = -1;\n private totalRangeBeforeProgressBarEvent = -1;\n /**\n * Map of valid values for values in range.\n * @example\n * with min = -10 and max = 10 will have this map.\n * {\n * -10: { 0 },\n * -9: { 10 },\n * ...\n * 10: { 10 }\n * }\n */\n private mapRangeValuesForSlider: Map<number, number> = new Map();\n private activeMouseDown = false;\n private focusActive = false;\n\n constructor() { }\n\n public ngOnInit(): void {\n this.setUserRangeMapValues();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const hasChangesOnMin = changes.min && !changes.min.firstChange;\n const hasChangesOnMax = changes.max && !changes.max.firstChange;\n const hasChanges = hasChangesOnMin || hasChangesOnMax;\n if (hasChanges) {\n this.setUserRangeMapValues();\n setTimeout(() => {\n this.setRangeValues();\n })\n }\n }\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this.setRangeValues();\n })\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n public onKeydown($event: KeyboardEvent) {\n if (this.focusActive && !this.disabled) {\n const isArrowKeyLeft = $event.key === \"ArrowLeft\";\n const isArrowKeyRight = $event.key === \"ArrowRight\";\n if (isArrowKeyLeft) {\n this.handleArrowKeyLeft();\n } else if (isArrowKeyRight) {\n this.handleArrowKeyRight();\n }\n }\n }\n\n public get tooltipStartText() {\n return Array.isArray(this.value) ? this.value[0]?.toString() : this.value?.toString();\n }\n\n public get tooltipEndText() {\n return Array.isArray(this.value) ? this.value[1]?.toString() : this.value?.toString();\n }\n\n public writeValue(obj: number | [number, number]): void {\n this.value = obj;\n this.setRangeValues();\n }\n\n public registerOnChange(fn: (value: number | [number, number]) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public onFocusIn() {\n this.focusActive = true;\n }\n\n public onBlur() {\n this.focusActive = false;\n }\n\n public onTrackClick(evt: PointerEvent) {\n if (this.disabled || this.movingProgressBar || this.activeMouseDown) {\n return;\n }\n const trackClickPercentage = this.getPercentageByEvent(evt);\n const trackClickToUserRange = this.getValueFromMapByValue(trackClickPercentage);\n const _trackClickValid = this.needParseValues ? trackClickToUserRange : trackClickPercentage;\n const _setEndValue = () => {\n const _endValueUserValue = this.getValueFromMapByValue(this.endValue);\n const _endValue = this.needParseValues ? this.mapRangeValuesForSlider.get(trackClickToUserRange) : trackClickPercentage;\n if (this.needParseValues && _endValueUserValue !== trackClickToUserRange) {\n this.endValue = _endValue;\n } else if (!this.needParseValues) {\n this.endValue = trackClickPercentage;\n }\n };\n\n const _setStartValue = () => {\n const _startValueUserValue = this.getValueFromMapByValue(this.startValue);\n if (this.needParseValues && _startValueUserValue !== trackClickToUserRange) {\n const _startValue = this.needParseValues\n ? this.mapRangeValuesForSlider.get(trackClickToUserRange)\n : trackClickPercentage;\n this.startValue = _startValue;\n } else if (!this.needParseValues) {\n this.startValue = trackClickPercentage;\n }\n };\n if (this.multiple) {\n const [start, end] = this.value as [number, number];\n const validStart = this.needParseValues ? this.mapRangeValuesForSlider.get(start) : start;\n const validEnd = this.needParseValues ? this.mapRangeValuesForSlider.get(end) : end;\n const _updateStart = () => {\n _setStartValue();\n this.setValue([trackClickPercentage, validEnd]);\n };\n\n const _updateEnd = () => {\n _setEndValue();\n this.setValue([validStart, trackClickPercentage]);\n };\n const clickPercentageBetweenRange = isInRange(_trackClickValid, start, end);\n if (_trackClickValid < start) {\n _updateStart();\n } else if (_trackClickValid > end) {\n _updateEnd();\n } else if (clickPercentageBetweenRange) {\n const middle = (start + end) / 2;\n const trackClickPercentageIsExactiddle = _trackClickValid === middle;\n if (trackClickPercentageIsExactiddle) {\n _updateStart();\n } else {\n const setStart = _trackClickValid < middle;\n const setEnd = _trackClickValid > middle;\n if (setStart) {\n _updateStart();\n } else if (setEnd) {\n _updateEnd();\n }\n }\n }\n } else {\n this.setValue(trackClickPercentage);\n _setEndValue();\n }\n\n this.setProgress();\n }\n\n public onProgressMouseDown(evt: PointerEvent) {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.progressBarEventPositionStart = this.getPercentageByEvent(evt);\n this.startValueBeforeProgressBarEvent = this.startValue;\n this.rangeBetweenElementsBeforeProgressBarEvent = this.endValue - this.startValue;\n if (this.multiple) {\n const [start, end] = this.value as [number, number];\n this.totalRangeBeforeProgressBarEvent = end - start;\n }\n document.addEventListener(\"mousemove\", this.handleProgressBarMove);\n document.addEventListener(\"mouseup\", this.handleProgressBarMoveEnd);\n }\n\n public onMouseDown(_: MouseEvent, thumb: \"start\" | \"end\"): void {\n if (this.disabled) return;\n\n this.draggingThumb = thumb;\n this.activeMouseDown = true;\n document.addEventListener(\"mousemove\", this.onThumbMove);\n document.addEventListener(\"mouseup\", this.onMouseUp);\n }\n\n private setRangeValues(): void {\n const _setStartAndEndValue = (startValue: number, endValue: number) => {\n this.startValue = this.getClosestValueFromMapSlider(startValue);\n this.endValue = this.getClosestValueFromMapSlider(endValue);\n }\n if (this.value === null || this.value === undefined) {\n return;\n }\n if (Array.isArray(this.value) && !this.multiple) {\n throw new Error('You must use \"multiple\" with value as array');\n }\n if (this.multiple && Array.isArray(this.value)) {\n this.startValue = this.value[0];\n this.endValue = this.value[1];\n } else if (!this.multiple) {\n this.startValue = this.value as number;\n this.endValue = this.value as number;\n }\n _setStartAndEndValue(this.startValue, this.endValue);\n if (this.multiple) {\n let [_startValue, _endValue] = this.value as [number, number];\n const difference = getDifference(_endValue, _startValue);\n const endValueIsGreatherThanMax = _endValue > this.max;\n const startValueIsLessThanMin = _startValue < this.min;\n const needUpdateValues = endValueIsGreatherThanMax || startValueIsLessThanMin;\n if (endValueIsGreatherThanMax) {\n _endValue = this.max;\n _startValue = _endValue - difference;\n } else if (startValueIsLessThanMin) {\n _startValue = this.min;\n _endValue = _startValue + difference;\n }\n if (needUpdateValues) {\n _setStartAndEndValue(_startValue, _endValue);\n this.setValue([this.startValue, this.endValue]);\n }\n } else {\n let _value = this.value as number;\n const valueGreatherThanMax = _value > this.max;\n const valueLessThanMin = _value < this.min;\n const needUpdateValue = valueGreatherThanMax || valueLessThanMin;\n if (valueGreatherThanMax) {\n _value = this.max;\n } else if (valueLessThanMin) {\n _value = this.min;\n }\n if (needUpdateValue) {\n this.setValue(_value, false);\n }\n }\n this.setProgress();\n }\n\n private onThumbMove = (event: MouseEvent) => {\n if (this.movingProgressBar || !this.draggingThumb) return;\n\n let newPosition = this.getPercentageByEvent(event);\n if (\n (this.multiple && this.draggingThumb === \"start\" && newPosition > this.endValue) ||\n (this.multiple && this.draggingThumb === \"end\" && newPosition < this.startValue)\n ) {\n return;\n }\n\n const positionInUserRange = this.getValueFromMapByValue(newPosition);\n\n if (this.multiple) {\n if (this.draggingThumb === \"start\") {\n this.startValue = this.needParseValues\n ? this.mapRangeValuesForSlider.get(positionInUserRange)\n : newPosition;\n } else if (this.draggingThumb === \"end\") {\n this.endValue = this.needParseValues\n ? this.mapRangeValuesForSlider.get(positionInUserRange)\n : newPosition;\n }\n\n this.setValue([this.startValue, this.endValue]);\n\n const [start, end] = this.value as [number, number];\n\n if (start === end && this.draggingThumb === \"start\") {\n this.startValue = this.endValue;\n } else if (start === end && this.draggingThumb === \"end\") {\n this.endValue = this.startValue;\n }\n } else {\n const currentValue = this.value as number;\n const _value = this.needParseValues ? positionInUserRange : newPosition;\n const isAtSameValue = this.needParseValues ? positionInUserRange === this.value : false;\n const hasStep = this.step !== 0;\n const newValueIsValidByStep = hasStep ? currentValue + this.step === _value || currentValue - this.step === _value : false;\n if (isAtSameValue && !newValueIsValidByStep) {\n return;\n }\n this.endValue = this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition;\n this.startValue = this.endValue;\n this.setValue(this.endValue);\n }\n this.setProgress();\n };\n\n private onMouseUp = () => {\n this.draggingThumb = null;\n document.removeEventListener(\"mousemove\", this.onThumbMove);\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n setTimeout(() => {\n this.activeMouseDown = false;\n }, 150);\n };\n\n private handleProgressBarMove = (event: MouseEvent) => {\n this.movingProgressBar = true;\n const newCenter = this.getPercentageByEvent(event);\n const startPositionBeforeEvent = this.progressBarEventPositionStart;\n const startValueBeforeEvent = this.startValueBeforeProgressBarEvent;\n const range = this.rangeBetweenElementsBeforeProgressBarEvent;\n let { newStart, newEnd } = calculateNewRange(\n startValueBeforeEvent,\n startValueBeforeEvent + range,\n startPositionBeforeEvent,\n newCenter\n );\n if (newStart < this.MIN_RANGE_VALUE || newEnd > this.MAX_RANGE_VALUE) {\n return;\n }\n if (this.needParseValues) {\n const startValueBeforeEventUserRange = this.getValueFromMapByValue(startValueBeforeEvent);\n const startPositionBeforeEventUserRange = this.getValueFromMapByValue(startPositionBeforeEvent);\n const centerUserRange = this.getValueFromMapByValue(newCenter);\n const valueRange = this.totalRangeBeforeProgressBarEvent;\n let { newStart, newEnd } = calculateNewRange(\n startValueBeforeEventUserRange,\n startValueBeforeEventUserRange + valueRange,\n startPositionBeforeEventUserRange,\n centerUserRange\n );\n if (newStart < this.min || newEnd > this.max) {\n return;\n }\n this.startValue = this.mapRangeValuesForSlider.get(newStart);\n this.endValue = this.mapRangeValuesForSlider.get(newEnd);\n } else {\n this.startValue = newStart;\n this.endValue = newEnd;\n }\n this.setValue([this.startValue, this.endValue]);\n this.setProgress();\n };\n\n private handleProgressBarMoveEnd = () => {\n this.progressBarEventPositionStart = -1;\n this.startValueBeforeProgressBarEvent = -1;\n this.rangeBetweenElementsBeforeProgressBarEvent = -1;\n this.totalRangeBeforeProgressBarEvent = -1;\n document.removeEventListener(\"mousemove\", this.handleProgressBarMove);\n document.removeEventListener(\"mouseup\", this.handleProgressBarMoveEnd);\n setTimeout(() => {\n this.movingProgressBar = false;\n }, 150);\n };\n\n private setProgress(): void {\n if (this.multiple) {\n this.progressLeft = this.startValue;\n this.progressWidth = `calc(${this.endValue - this.startValue}% + 10px)`;\n } else {\n this.progressLeft = 0;\n this.progressWidth = `calc(${this.endValue}% + 10px)`;\n }\n }\n\n /**\n * Get the percentage of a mouse event from the track's left edge\n * @param mouseEvent mouse event\n * @returns percentage from the left edge\n */\n private getPercentageByEvent(mouseEvent: MouseEvent | PointerEvent): number {\n const trackRect = this.track.nativeElement.getBoundingClientRect();\n let newLeft = Math.round(((mouseEvent.clientX - trackRect.left) / trackRect.width) * this.MAX_RANGE_VALUE);\n newLeft = Math.max(0, Math.min(newLeft, this.MAX_RANGE_VALUE));\n return newLeft;\n }\n\n private setValue(value: number | [number, number], parse = true) {\n if (this.disabled) {\n return;\n }\n\n if (this.needParseValues && parse) {\n if (Array.isArray(value)) {\n value = value.map((x) => this.getValueFromMapByValue(x)) as [number, number];\n } else {\n value = this.getValueFromMapByValue(value);\n }\n }\n this.value = value;\n this.valueChange.emit(value);\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n\n private setUserRangeMapValues() {\n const start = this.min;\n const end = this.max;\n if (start > end) {\n throw new Error('Max value must be greater than min value');\n }\n this.mapRangeValuesForSlider.clear();\n const range = end - start;\n const decimalPlaces = 2;\n const stepCount = Math.floor(range / this.step);\n const values: number[] = [];\n for (let value = start; value <= end; value += this.step) {\n values.push(value);\n }\n if (values[values.length - 1] !== end) {\n values.push(end);\n }\n const mappedValues = values.map((value) => {\n let mapped = ((value - start) / range) * this.MAX_RANGE_VALUE;\n return parseFloat(mapped.toFixed(decimalPlaces));\n });\n mappedValues[0] = 0;\n mappedValues[mappedValues.length - 1] = this.MAX_RANGE_VALUE;\n const error = this.MAX_RANGE_VALUE - mappedValues[mappedValues.length - 1];\n const errorPerStep = error / stepCount;\n for (let i = 1; i < mappedValues.length - 1; i++) {\n mappedValues[i] += errorPerStep;\n mappedValues[i] = parseFloat(mappedValues[i].toFixed(decimalPlaces));\n }\n values.forEach((value, index) => {\n this.mapRangeValuesForSlider.set(value, mappedValues[index]);\n });\n }\n\n /**\n * Returns the user value from the given slider value by using the map of range values.\n * @example\n * If the map is 0: { 0 }, 1: { 10 }, 2: { 30 }, 3: { 40 }, 4: { 50 }\n * and the sliderValue is 37, the function returns 3\n * or the slider value is 40, the function returns 4\n * @param sliderValue the value of the slider (values only between range MIN and MAX)\n * @returns the user value from the given slider value\n */\n private getValueFromMapByValue(sliderValue: number) {\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\n const exactValue = mapToArray.find((x) => x.mapped == sliderValue);\n const closest = mapToArray.reduce((prev, curr) => Math.abs(curr.mapped - sliderValue) < Math.abs(prev.mapped - sliderValue) ? curr : prev);\n return exactValue ? exactValue.value : closest.value;\n }\n\n /**\n * Retrieves the key from the map that is closest to the given slider value.\n * @param userValue - The value to find the closest key for. (values only between 0 - 100)\n * @returns The key that corresponds to the closest mapped value.\n */\n private getClosestValueFromMapSlider(userValue: number): number {\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\n if (userValue >= this.max) {\n return mapToArray[mapToArray.length - 1].mapped\n } else if (userValue <= this.min) {\n return mapToArray[0].mapped\n }\n const exactValue = mapToArray.find((x) => x.value == userValue);\n const closestValue = mapToArray.reduce((prev, curr) => Math.abs(curr.value - userValue) < Math.abs(prev.value - userValue) ? curr : prev);\n const item = exactValue || closestValue;\n const isFirstItem = mapToArray[0] === item;\n const isLastItem = mapToArray[mapToArray.length - 1] === item;\n if (isFirstItem && userValue > this.min) {\n return getMidpoint(item.mapped, mapToArray[1].mapped);\n } else if (isLastItem && userValue < this.max) {\n return getMidpoint(item.mapped, mapToArray[mapToArray.length - 2].mapped);\n } else {\n return item.mapped;\n }\n }\n\n\n private handleArrowKeyLeft() {\n if (this.multiple) {\n this._incrementOrDecrementStartAndEndValue(false);\n } else {\n this._incrementOrDecrementEndValue(false);\n }\n this.setProgress();\n }\n\n private handleArrowKeyRight() {\n if (this.multiple) {\n this._incrementOrDecrementStartAndEndValue(true);\n } else {\n this._incrementOrDecrementEndValue(true);\n }\n this.setProgress();\n }\n\n private _incrementOrDecrementStartAndEndValue(increment: boolean) {\n let [start, end] = this.value as [number, number];\n const difference = getDifference(end, start);\n if (increment) {\n start += this.step;\n end += this.step;\n } else {\n start -= this.step;\n end -= this.step;\n }\n const startLessThanMin = start < this.min;\n const endGreaterThanMax = end > this.max;\n if (startLessThanMin || endGreaterThanMax) {\n if (startLessThanMin) {\n start = this.min;\n end = start + difference;\n } else if (endGreaterThanMax) {\n end = this.max;\n start = end - difference;\n }\n }\n if (start < this.min || end > this.max) {\n return;\n }\n this.setValue([start, end], false);\n if (this.needParseValues) {\n start = this.getClosestValueFromMapSlider(start);\n end = this.getClosestValueFromMapSlider(end);\n }\n this.startValue = start;\n this.endValue = end;\n }\n\n private _incrementOrDecrementEndValue(increment: boolean) {\n let value = this.value as number;\n if (increment) {\n value += this.step;\n } else {\n value -= this.step;\n }\n let _newEndValue = value;\n if (this.needParseValues) {\n _newEndValue = this.getClosestValueFromMapSlider(_newEndValue);\n }\n if (_newEndValue < this.MIN_RANGE_VALUE || _newEndValue > this.MAX_RANGE_VALUE) {\n return;\n }\n this.endValue = _newEndValue;\n this.startValue = this.endValue;\n this.setValue(_newEndValue);\n }\n\n private get needParseValues() {\n return this.max !== this.MAX_RANGE_VALUE || this.min !== this.MIN_RANGE_VALUE;\n }\n}\n\n/**\n * Calculates a new range based on the old range and the positions clicked and finalized.\n *\n * @param oldStart - The starting value of the old range.\n * @param oldEnd - The ending value of the old range.\n * @param clickedPosition - The position where the click occurred.\n * @param finalPosition - The position where the range should end.\n * @returns An object containing the new start and end values of the range.\n */\nconst calculateNewRange = (oldStart: number, oldEnd: number, clickedPosition: number, finalPosition: number) => {\n const range = oldEnd - oldStart;\n const newStart = finalPosition - (clickedPosition - oldStart);\n const newEnd = newStart + range;\n return { newStart, newEnd };\n};\n\nconst isInRange = (value: number, rangeStart: number, rangeEnd: number): boolean => {\n const [min, max] = rangeStart < rangeEnd ? [rangeStart, rangeEnd] : [rangeEnd, rangeStart];\n return value >= min && value <= max;\n};\n\nconst getMidpoint = (start: number, end: number) => {\n const midpoint = (start + end) / 2;\n return parseFloat(midpoint.toFixed(2));\n}\nconst getDifference = (end: number, start: number) => {\n return Math.abs(end - start);\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SliderComponent } from \"./slider.component\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [SliderComponent],\n exports: [SliderComponent],\n})\nexport class SliderModule {}\n","export enum SplitButtonType {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Default = \"default\",\n}","import { Component, Input, Output, EventEmitter, HostListener, ElementRef } from \"@angular/core\";\n\nimport { SplitButtonOption } from \"./models/split-button-option\";\nimport { SplitButtonType } from \"./models/split-button-type\";\n\n@Component({\n selector: \"s-split-button\",\n templateUrl: \"./split-button.component.html\",\n styleUrls: [\"./split-button.component.scss\"],\n})\nexport class SplitButtonComponent {\n @Input()\n public disabled = false;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public label: string;\n\n @Input()\n public type = SplitButtonType.Primary;\n\n @Input()\n public options: SplitButtonOption[];\n\n @Output()\n public buttonClicked = new EventEmitter();\n\n constructor(private readonly eRef: ElementRef) { }\n\n @HostListener(\"document:click\", [\"$event\"])\n public onClickout(event: MouseEvent) {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.closeDropdown();\n }\n }\n\n public open = false;\n\n public onButtonClick() {\n if (!this.disabled) {\n this.buttonClicked.emit();\n this.closeDropdown();\n }\n }\n\n public onDropdownClick() {\n if (!this.disabled) {\n this.open = !this.open;\n }\n }\n\n public onOptionClick(option: SplitButtonOption) {\n option.action && option.action();\n this.closeDropdown();\n }\n\n private closeDropdown() {\n this.open = false;\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SplitButtonComponent } from \"./split-button.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SplitButtonComponent],\n exports: [SplitButtonComponent],\n})\nexport class SplitButtonModule { }","import { Component, Input, ViewEncapsulation, Output, EventEmitter } from \"@angular/core\";\nimport { BigNumber } from \"bignumber.js\";\n\n@Component({\n selector: \"s-stats-card\",\n templateUrl: \"./stats-card.component.html\",\n styleUrls: [\"./stats-card.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class StatsCardComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-stats-card-${StatsCardComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public alwaysWithBorder = false;\n\n @Input()\n public lightVersion = false;\n\n @Input()\n public lightMode = true;\n\n @Input()\n public iconClass = \"fa fa-bar-chart\";\n\n @Input()\n public color = \"#339966\";\n\n @Input()\n public animateNumbers = true;\n\n @Input()\n public clickable = false;\n\n @Input()\n public set value(value: string) {\n this.previousValue = this._value;\n this._value = String(value);\n if (this.animateNumbers) this.updateDisplayValue();\n else this.displayValue = this.value;\n }\n\n @Input()\n public tooltip = \"\";\n\n public get value() {\n return this._value;\n }\n\n @Output()\n public onClick: EventEmitter<MouseEvent> = new EventEmitter();\n\n public displayValue: string;\n\n private ANIMATION_DURATION_MS = 200;\n private STEP_DURATION_MS = 20;\n private previousValue = \"0\";\n private intervalId: any;\n private _value = \"0\";\n\n private updateDisplayValue() {\n const animationDuration = new BigNumber(this.ANIMATION_DURATION_MS);\n const stepDuration = new BigNumber(this.STEP_DURATION_MS);\n const animationCount = animationDuration.dividedBy(stepDuration);\n\n const previousRawValue = new BigNumber(this.previousValue.replace(/\\D/g, \"\"));\n const rawValue = new BigNumber(this.value.replace(/\\D/g, \"\"));\n\n const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);\n const incremental = previousRawValue.isLessThan(rawValue);\n\n clearInterval(this.intervalId);\n\n this.displayValue = this.replaceNumericPositions(this.value);\n\n let counter = previousRawValue;\n\n this.intervalId = setInterval(() => {\n if (incremental && counter.isLessThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.plus(incrementValue);\n } else if (!incremental && counter.isGreaterThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.minus(incrementValue);\n } else {\n this.displayValue = this.value;\n\n clearInterval(this.intervalId);\n }\n }, this.STEP_DURATION_MS);\n }\n\n public replaceNumericPositions(value: string, newValue?: BigNumber) {\n const rawValue = value.replace(/[^\\d]/g, \"\");\n const newValueString = newValue ? newValue.toString() : \"\";\n const formattedNewValue = newValueString\n .toString()\n .replace(/\\D/g, \"\")\n .padStart(rawValue.length, \"0\");\n let newValueIndex = 0;\n\n return value\n .split(\"\")\n .map(char => {\n const number = Number(char);\n if (number || char === \"0\") return formattedNewValue[newValueIndex++];\n return char;\n })\n .join(\"\");\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StatsCardComponent } from \"./stats-card.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n ],\n declarations: [\n StatsCardComponent,\n ],\n exports: [\n StatsCardComponent,\n ],\n})\nexport class StatsCardModule { }\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nexport enum StepState {\n Default = \"default\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport interface Step {\n id: any;\n label: string;\n ariaLabel?: string;\n ariaControls?: string;\n /**\n * @deprecated\n * @todo remover propriedade deprecada\n */\n description?: string;\n state?: StepState;\n disabled?: boolean;\n hidden?: boolean;\n tooltip?: string;\n}\n\nexport interface StepSelectionEvent {\n step: Step;\n index: number;\n event: any;\n}\n\n@Component({\n selector: \"s-steps\",\n templateUrl: \"./steps.component.html\",\n styleUrls: [\"./steps.component.scss\"],\n host: {\n \"aria-orientation\": \"horizontal\",\n role: \"tablist\",\n \"tab-index\": \"0\",\n },\n animations: [\n trigger(\"beforeActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 100ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 250ms linear\")]),\n ]),\n trigger(\"activeDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"100ms 150ms linear\")]),\n transition(\"desactive => active\", [animate(\"100ms 150ms linear\")]),\n ]),\n trigger(\"afterActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 250ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 100ms linear\")]),\n ]),\n ],\n})\nexport class StepsComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-steps-${StepsComponent.nextId++}`;\n @Input()\n public steps: Step[];\n @Input()\n public activeIndex = 0;\n\n @Output()\n public stepSelected: EventEmitter<StepSelectionEvent> = new EventEmitter();\n\n public stepClick(step: Step, index: number, event: any) {\n if (step.disabled || index == this.activeIndex) return;\n this.stepSelected.emit({ step, index, event });\n }\n\n public get stepState() {\n return StepState;\n }\n\n public barAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex;\n return visited || activated;\n }\n\n public afterBarAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex - 1;\n return visited || activated;\n }\n\n get visibledStep() {\n return this.steps.filter((step: Step) => !step.hidden);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StepsComponent } from \"./steps.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [StepsComponent],\n exports: [StepsComponent],\n})\nexport class StepsModule {}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nimport { ThumbnailsItem } from \"./models/thumbnails-item\";\n\n@Component({\n selector: \"s-thumbnails\",\n templateUrl: \"./thumbnails.component.html\",\n styleUrls: [\"./thumbnails.component.scss\"],\n})\nexport class ThumbnailsComponent {\n @Input()\n public items: ThumbnailsItem[];\n\n @Input()\n public selectable = true;\n\n @Input() combineCheckboxEvent = true;\n\n @Input()\n public set selection(items: ThumbnailsItem[]) {\n this._selection = [...items];\n }\n\n @Output()\n public selectionChange = new EventEmitter<ThumbnailsItem[]>();\n\n @Output()\n public itemOpened = new EventEmitter<ThumbnailsItem>();\n\n private _selection: ThumbnailsItem[] = [];\n\n public onItemOpened(item: ThumbnailsItem): void {\n this.itemOpened.emit(item);\n }\n\n public onItemSelected(item: { item: ThumbnailsItem; selected: boolean }): void {\n if (item.selected) {\n this._selection.push(item.item);\n } else {\n this._selection.splice(\n this._selection.findIndex((_item) => _item === item.item),\n 1\n );\n }\n this.selectionChange.emit(this._selection);\n }\n\n public isSelected(item: ThumbnailsItem) {\n return this._selection.some((i: ThumbnailsItem) => i.id === item.id);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\n\nimport { CheckboxState } from \"../../../checkbox/models/checkbox-state\";\nimport { isNullOrUndefined } from \"../../../utils/utils\";\nimport { ThumbnailsItem } from \"../../models/thumbnails-item\";\n\n@Component({\n selector: \"s-thumbnail-item\",\n templateUrl: \"./thumbnail-item.component.html\",\n styleUrls: [\"./thumbnail-item.component.scss\"],\n})\nexport class ThumbnailItemComponent implements OnInit {\n @Input()\n public itemData: ThumbnailsItem;\n\n @Input()\n public isCheckable = true;\n\n @Input()\n public isChecked = false;\n\n @Input() combineCheckboxEvent = true;\n\n @Output()\n public checked = new EventEmitter<{ item: ThumbnailsItem, selected: boolean }>();\n\n @Output()\n public opened = new EventEmitter<ThumbnailsItem>();\n\n public checkboxFormGroup: FormGroup;\n\n public ngOnInit(): void {\n this._validateItemData();\n this._createFormGroup();\n }\n\n public onClick() {\n this.opened.emit(this.itemData);\n }\n\n public checkboxClick(event: Event): void {\n if (this.combineCheckboxEvent) {\n return;\n }\n\n event.stopPropagation();\n }\n\n private _createFormGroup(): void {\n this.checkboxFormGroup = new FormGroup({\n checkbox: new FormControl({ checked: this.isChecked }),\n });\n\n this.checkboxFormGroup.get(\"checkbox\").valueChanges.subscribe((value: CheckboxState) => {\n this.checked.emit({ item: this.itemData, selected: value.checked });\n });\n }\n\n private _validateItemData(): void {\n if (isNullOrUndefined(this.itemData)) {\n throw new Error(\"itemData is required\");\n }\n }\n}\n","import { Component, Input, ElementRef, ViewChild, HostListener } from \"@angular/core\";\n\n@Component({\n selector: \"s-thumbnail-item-video\",\n templateUrl: \"./thumbnail-item-video.component.html\",\n styleUrls: [\"./thumbnail-item-video.component.scss\"],\n})\nexport class ThumbnailItemVideoComponent {\n @Input()\n public imageUrl: string;\n \n @Input()\n public videoUrl: string;\n \n @ViewChild(\"videoPlayer\") videoPlayer!: ElementRef;\n\n @HostListener(\"mouseenter\") onMouseEnter(): void {\n if (this.videoPlayer?.nativeElement) {\n this.videoPlayer.nativeElement.play();\n }\n }\n\n @HostListener(\"mouseleave\") onMouseLeave(): void {\n if (this.videoPlayer?.nativeElement) {\n this.videoPlayer.nativeElement.pause();\n this.videoPlayer.nativeElement.currentTime = 0;\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-thumbnail-item-image\",\n templateUrl: \"./thumbnail-item-image.component.html\",\n styleUrls: [\"./thumbnail-item-image.component.scss\"],\n})\nexport class ThumbnailItemImageComponent {\n @Input()\n public imageUrl: string;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { CheckboxModule } from \"../checkbox/checkbox.module\";\nimport { ThumbnailItemComponent } from \"./components/thumbnail-item/thumbnail-item.component\";\nimport { ThumbnailItemVideoComponent } from \"./components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component\";\nimport { ThumbnailItemImageComponent } from \"./components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component\";\nimport { ThumbnailsComponent } from \"./thumbnails.component\";\n\n@NgModule({\n imports: [CommonModule, ReactiveFormsModule, TranslateModule, CheckboxModule],\n declarations: [ThumbnailsComponent, ThumbnailItemComponent, ThumbnailItemVideoComponent, ThumbnailItemImageComponent],\n exports: [ThumbnailsComponent],\n})\nexport class ThumbnailsModule {}\n","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()\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 useThumbnail = true;\n\n @Output()\n public onClick = 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.onClick.emit();\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { TileComponent } from \"./tile.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n ThumbnailModule,\n ],\n declarations: [TileComponent],\n exports: [\n TileComponent,\n ThumbnailModule,\n ],\n})\nexport class TileModule { }\n","import { Component, HostListener, Input, OnInit } from \"@angular/core\";\n\nimport { TimelineItem } from \"./models/timeline-item\";\n\nconst HORIZONTAL = \"horizontal\";\nconst VERTICAL = \"vertical\";\nconst MIN_ITEM_SIZE = 200;\n\n@Component({\n selector: \"s-timeline\",\n templateUrl: \"./timeline.component.html\",\n})\nexport class TimelineComponent implements OnInit {\n private _innerWidth: number;\n private _items: TimelineItem[];\n\n public get items(): TimelineItem[] {\n return this._items;\n }\n\n @Input()\n public set items(items: TimelineItem[]) {\n this._items = items;\n this.checkDuplicateIds();\n }\n\n @Input()\n public activeIndex: number;\n\n @Input()\n public highlightActiveItem = true;\n\n @Input()\n public direction: typeof HORIZONTAL | typeof VERTICAL = HORIZONTAL;\n\n @Input()\n public collapsable = true;\n\n @Input()\n public counterLabel = \"items\";\n\n public ngOnInit(): void {\n this._innerWidth = window.innerWidth;\n }\n\n @HostListener(\"window:resize\", [\"$event\"])\n public onResize(_: any): void {\n this._innerWidth = window.innerWidth;\n }\n\n public changeToVertical(): boolean {\n return this.direction === VERTICAL || this._innerWidth / this.items.length < MIN_ITEM_SIZE;\n }\n\n public checkDuplicateIds(): void {\n const ids = this.items.map(item => {\n return item.id;\n });\n\n if ((new Set(ids)).size !== ids.length) {\n throw new Error(\"A duplicate id was found in the items list\");\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../models\";\n\n@Component({\n selector: \"s-timeline-icon-item\",\n templateUrl: \"./timeline-icon-item.component.html\",\n styleUrls: [\"./timeline-icon-item.component.scss\"],\n})\nexport class TimelineIconItemComponent {\n @Input()\n public item: TimelineItem;\n\n @Input()\n public isActive: boolean;\n\n @Input()\n public highlightActive: boolean;\n\n @Input()\n public isComplete: boolean;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { TimelineIconItemComponent } from \"./timeline-icon-item.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n ],\n declarations: [TimelineIconItemComponent],\n exports: [TimelineIconItemComponent],\n})\nexport class TimelineItemModule { }\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../models/timeline-item\";\n\n@Component({\n selector: \"s-horizontal-timeline\",\n templateUrl: \"./horizontal-timeline.component.html\",\n styleUrls: [\"./horizontal-timeline.component.scss\"],\n})\nexport class HorizontalTimelineComponent {\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public activeIndex = 0;\n\n @Input()\n public highlightActiveItem: boolean;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { TimelineItemModule } from \"../timeline-icon-item/timeline-icon-item.module\";\nimport { HorizontalTimelineComponent } from \"./horizontal-timeline.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n TimelineItemModule,\n ],\n declarations: [HorizontalTimelineComponent],\n exports: [HorizontalTimelineComponent],\n})\nexport class HorizontalTimelineModule { }\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../models/timeline-item\";\n\n@Component({\n selector: \"s-vertical-timeline\",\n templateUrl: \"./vertical-timeline.component.html\",\n styleUrls: [\"./vertical-timeline.component.scss\"],\n})\nexport class VerticalTimelineComponent {\n public static nextId = 0;\n private _activeIndex: number;\n public isG1Collapsed = true;\n public isG2Collapsed = true;\n\n public firstItem: TimelineItem[];\n public g1Items: TimelineItem[];\n public activeItem: TimelineItem[];\n public g2Items: TimelineItem[];\n public lastItem: TimelineItem[];\n\n @Input()\n public set activeIndex(index: number) {\n this._activeIndex = index;\n this.groupItems();\n }\n\n public get activeIndex() {\n return this._activeIndex;\n }\n\n @Input()\n public highlightActiveItem: boolean;\n\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public counterLabel: string;\n\n @Input()\n public collapsable: boolean;\n\n public onChangeG1(event: boolean) {\n this.isG1Collapsed = event;\n }\n\n public onChangeG2(event: boolean) {\n this.isG2Collapsed = event;\n }\n\n public groupItems() {\n this.firstItem = this.activeIndex <= 0 ? [] : [this.items[0]];\n this.g1Items = this.items.slice(1, this.activeIndex < 0 ? 0 : this.activeIndex);\n this.activeItem = this.activeIndex >= 0 ? [this.items[this.activeIndex]] : [];\n this.g2Items = this.items.slice(this.activeIndex + 1, this.items.length - 1);\n this.lastItem = this.activeIndex === this.items.length - 1 ? [] : [this.items[this.items.length - 1]];\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-range-line\",\n templateUrl: \"./range-line.component.html\",\n styleUrls: [\"./range-line.component.scss\"],\n})\nexport class RangeLineComponent { }\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\n\n@Component({\n selector: \"s-collapse-option\",\n templateUrl: \"./collapse-option.component.html\",\n styleUrls: [\"./collapse-option.component.scss\"],\n})\nexport class CollapseOptionComponent {\n @Input()\n public isCollapsed = false;\n\n @Output()\n public change = new EventEmitter<boolean>();\n\n public onClick(): void {\n this.change.emit(!this.isCollapsed);\n }\n}\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../../../models/timeline-item\";\n\n@Component({\n selector: \"s-collapsed-items\",\n templateUrl: \"./collapsed-items.component.html\",\n styleUrls: [\"./collapsed-items.component.scss\"],\n})\nexport class CollapsedItemsComponent {\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public isCollapsed: boolean;\n\n @Input()\n public isCompleted: boolean;\n\n @Input()\n public counterLabel: string;\n\n @Output()\n public isCollapsedChange = new EventEmitter<boolean>();\n\n public onChange(event: boolean) {\n this.isCollapsed = !this.isCollapsed;\n this.isCollapsedChange.emit(this.isCollapsed);\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../../../models/timeline-item\";\n\n@Component({\n selector: \"s-vertical-items\",\n templateUrl: \"./vertical-items.component.html\",\n styleUrls: [\"./vertical-items.component.scss\"],\n})\nexport class VerticalItemsComponent {\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public isLast: boolean;\n\n @Input()\n public isActive: boolean;\n\n @Input()\n public highlightActive: boolean;\n\n @Input()\n public isCompleted: boolean;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TimelineItemModule } from \"../timeline-icon-item/timeline-icon-item.module\";\nimport { VerticalTimelineComponent } from \"./vertical-timeline.component\";\nimport { RangeLineComponent } from \"./components/range-line/range-line.component\";\nimport { CollapseOptionComponent } from \"./components/collapse-option/collapse-option.component\";\nimport { CollapsedItemsComponent } from \"./components/collapsed-items/collapsed-items.component\";\nimport { VerticalItemsComponent } from \"./components/vertical-items/vertical-items.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TimelineItemModule,\n ],\n declarations: [\n VerticalTimelineComponent,\n RangeLineComponent,\n CollapseOptionComponent,\n CollapsedItemsComponent,\n VerticalItemsComponent,\n ],\n exports: [VerticalTimelineComponent],\n})\nexport class VerticalTimelineModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TimelineComponent } from \"./timeline.component\";\nimport { TimelineItemModule } from \"./components/timeline-icon-item/timeline-icon-item.module\";\nimport { HorizontalTimelineModule } from \"./components/horizontal-timeline/horizontal-timeline.module\";\nimport { VerticalTimelineModule } from \"./components/vertical-timeline/vertical-timeline.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n TimelineItemModule,\n HorizontalTimelineModule,\n VerticalTimelineModule,\n ],\n declarations: [\n TimelineComponent,\n ],\n exports: [\n TimelineComponent,\n ],\n})\nexport class TimelineModule { }\n","export enum TimelineItemSeverity {\n Normal = \"normal\",\n Warning = \"warning\",\n Error = \"error\",\n}\n","export enum TimelineItemSize {\n Normal = \"normal\",\n Small = \"small\",\n}\n","import { TimelineItemSeverity } from \"./timeline-item-severity\";\nimport { TimelineItemSize } from \"./timeline-item-size\";\n\nconst LABEL_MAX_LENGTH = 3; \n\nexport class TimelineItem {\n public id: string;\n public title: string;\n public description: string;\n public icon?: string;\n public label?: string;\n public tooltip?: string;\n public size: TimelineItemSize;\n public severity: TimelineItemSeverity;\n public color?: string;\n\n constructor(params: {\n id: string,\n title: string,\n description: string,\n icon?: string,\n label?: string,\n size?: TimelineItemSize,\n severity?: TimelineItemSeverity,\n tooltip?: string,\n color?: string,\n }) {\n this.id = params.id;\n this.title = params.title;\n this.description = params.description;\n this.icon = params.icon;\n this.label = params.label;\n this.tooltip = params.tooltip;\n this.size = params.size || TimelineItemSize.Normal;\n this.severity = params.severity || TimelineItemSeverity.Normal;\n this.color = params.color;\n\n this.checkItemIconContent();\n }\n\n public checkItemIconContent() {\n if (!this.icon && !this.label) {\n throw new Error(\"No icon or label string was passed for the item. Enter an icon or label text\");\n }\n\n if (this.icon && this.label) {\n throw new Error(\"An icon and label string were passed to the item. Enter an icon or label text\");\n }\n\n if (this.label?.length > LABEL_MAX_LENGTH) {\n throw new Error(\"Label text is expected to be a maximum of three characters long\");\n }\n }\n\n public testSize(value: string) {\n return this.size.valueOf() === value;\n }\n\n public testSeverity(value: string) {\n return this.severity?.valueOf() === value;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n} from \"@angular/core\";\n\nimport { Workspace } from \"./models/workspace\";\n\n@Component({\n selector: \"s-workspace-switch\",\n templateUrl: \"./workspace-switch.component.html\",\n styleUrls: [\"./workspace-switch.component.scss\"],\n})\nexport class WorkspaceSwitchComponent implements OnInit {\n @Input()\n public workspaces: Workspace[];\n\n @Input()\n public footerButtonLabel = \"Adicionar\";\n\n @Input()\n public showFooterButton = true;\n\n @Input()\n public disabled = false;\n\n @Output()\n public footerButtonClicked = new EventEmitter();\n\n @Output()\n public selected: EventEmitter<Workspace> = new EventEmitter();\n\n @ViewChildren('listItem')\n public listItems: QueryList<ElementRef>;\n\n public get open() {\n return this._open;\n }\n\n public set open(open: boolean) {\n this._open = open;\n this.changeDetectorRef.detectChanges();\n\n if (open) {\n this._calculateListMaxHeight();\n }\n }\n\n public height = 0;\n public selectedItemIndex = 0;\n public currentItemIndex = 0;\n\n private _open = false;\n\n constructor(\n private readonly eRef: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {}\n\n @HostBinding(\"attr.tabindex\")\n public tabindex = 0;\n\n @HostListener(\"document:click\", [\"$event\"])\n public onClickout(event: MouseEvent): void {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.open = false;\n }\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent): void {\n if (event.key === \"Enter\" || event.key === \" \") {\n if (this.open) {\n const workspace = this.workspaces[this.selectedItemIndex];\n\n if (workspace.disabled) {\n return;\n }\n\n this.selectedItemIndex = this.currentItemIndex;\n this.selected.emit(this.workspaces[this.selectedItemIndex]);\n }\n this.open = !this.open;\n } else if (event.key === \"Escape\") {\n this.open = false;\n } else if (event.key === \"ArrowDown\") {\n if (this.currentItemIndex < this.workspaces.length - 1) {\n this.currentItemIndex++;\n this._scrollToCurrentItem();\n }\n } else if (event.key === \"ArrowUp\") {\n if (this.currentItemIndex > 0) {\n this.currentItemIndex--;\n this._scrollToCurrentItem();\n }\n }\n }\n\n public ngOnInit(): void {\n if (this.disabled) {\n this.tabindex = -1;\n }\n }\n\n public validations(): void {\n if (!this.workspaces.length) {\n throw new Error(\"Workspaces list is empty.\");\n }\n }\n\n public buttonOnBlur(): void {\n this.open = false;\n this.currentItemIndex = this.selectedItemIndex;\n }\n\n public onSelectItem(workspace: Workspace): void {\n if (workspace.disabled) {\n return;\n }\n\n this.open = false;\n this.selectedItemIndex = this.workspaces.indexOf(workspace);\n this.currentItemIndex = this.selectedItemIndex;\n this.selected.emit(workspace);\n }\n\n public onFooterButtonClick(): void {\n this.open = false;\n this.footerButtonClicked.emit();\n }\n\n private _calculateListMaxHeight(): void {\n const workspaceListRef = this.eRef.nativeElement.querySelector(\"#workspace-list\");\n const { top } = workspaceListRef.getBoundingClientRect();\n\n this.height = window.innerHeight - top - 20 - (this.showFooterButton ? 64 : 0);\n this.changeDetectorRef.detectChanges();\n }\n\n private _scrollToCurrentItem(): void {\n const currentItem = this.listItems.toArray()[this.currentItemIndex];\n if (currentItem) {\n currentItem.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { WorkspaceSwitchComponent } from \"./workspace-switch.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [WorkspaceSwitchComponent],\n exports: [WorkspaceSwitchComponent],\n})\nexport class WorkspaceSwitchModule { }\n","import { Component, Input } from \"@angular/core\";\nimport {\n BadgeConfiguration,\n CurrencyConfiguration,\n DateConfiguration,\n LabelValueConfiguration,\n NumberConfiguration,\n TextConfiguration,\n} from \"./types/label-value-configuration\";\n\n@Component({\n selector: \"s-label-value\",\n templateUrl: \"./label-value.component.html\",\n styleUrls: [\"./label-value.component.scss\"],\n})\nexport class LabelValueComponent {\n @Input()\n configuration: LabelValueConfiguration;\n\n isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\n return config.type === \"Badge\";\n }\n\n isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\n return config.type === \"Text\";\n }\n\n isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\n return config.type === \"Currency\";\n }\n\n isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\n return config.type === \"Number\";\n }\n\n isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\n return config.type === \"Date\";\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CookieService } from \"ngx-cookie-service\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { LabelValueComponent } from \"./label-value.component\";\n\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { LocaleModule } from \"../locale/locale.module\";\n\n@NgModule({\n imports: [CommonModule, TranslateModule, BadgeModule, LocaleModule],\n providers: [CookieService],\n declarations: [LabelValueComponent],\n exports: [LabelValueComponent],\n})\nexport class LabelValueModule {}\n","export interface PickListItem<T> {\n disabled?: boolean;\n data: T;\n}\n\nexport enum PicklistTemplateTypes {\n ItemToSelect = 'item-to-select',\n SelectedItem = 'selected-item'\n}\n","import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, OnChanges, Output, QueryList, SimpleChanges, TemplateRef } from '@angular/core';\nimport { pipe } from 'rxjs';\nimport { TemplateDirective } from './../../template/template.directive';\nimport { PicklistTemplateTypes, PickListItem } from './models/picklist-models';\n\ninterface InternalPicklistItem<T = any> extends PickListItem<T> {\n invisible?: boolean\n selected?: boolean\n}\n\ntype CdkDragEvent = { source: CdkDrag<InternalPicklistItem<any>> };\n\n@Component({\n selector: 's-picklist',\n templateUrl: './picklist.component.html',\n styleUrls: ['./picklist.component.scss']\n})\nexport class PicklistComponent implements AfterViewInit, OnChanges {\n @Input() itensToSelect: PickListItem<any>[] = [];\n @Input() selectedItens: PickListItem<any>[] = [];\n @Input() availableItensLabel: string;\n @Input() availableItensPlaceholder: string;\n @Input() addSelectedItensLabel: string;\n @Input() addAllItensLabel: string;\n @Input() selectedItensLabel: string;\n @Input() selectedItensPlaceholder: string;\n @Input() removeSelectedItemsLabel: string;\n @Input() removeAllItemsLabel: string;\n @Input() showCheckbox = false;\n @Input() filterBy = '';\n @Output() selectedItensChange = new EventEmitter<any[]>();\n @Output() itensToSelectChange = new EventEmitter<any[]>();\n availableItensFilter = '';\n selectedItensFilter = '';\n itemToSelectTemplate: TemplateRef<any>;\n itemSelectedTemplate: TemplateRef<any>;\n itensToSelectFilterUtil: {\n rawItensToSelect: InternalPicklistItem[],\n filteredItensToSelect: InternalPicklistItem[],\n } = {\n rawItensToSelect: [],\n filteredItensToSelect: [],\n }\n\n selectedItensFilterUtil: {\n rawSelectedItens: InternalPicklistItem[]\n filteredSelectedItens: InternalPicklistItem[],\n } = {\n rawSelectedItens: [],\n filteredSelectedItens: [],\n }\n selectedItensMap: Set<InternalPicklistItem> = new Set();\n itensToSelectId = randomHash('itensToSelect');\n selectedItensId = randomHash('selectedItens');\n private lastSelected: 'toSelect' | 'selected';\n\n @ContentChildren(TemplateDirective) private templates: QueryList<TemplateDirective>;\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit(): void {\n this.itemToSelectTemplate = this.templates.find(x => x.type === PicklistTemplateTypes.ItemToSelect)?.template;\n this.itemSelectedTemplate = this.templates.find(x => x.type === PicklistTemplateTypes.SelectedItem)?.template;\n if (!this.itemToSelectTemplate) {\n console.error(`Missing template for ${PicklistTemplateTypes.ItemToSelect} add this template using sTemplate directive.`);\n }\n if (!this.itemSelectedTemplate) {\n console.error(`Missing template for ${PicklistTemplateTypes.SelectedItem} add this template using sTemplate directive.`);\n }\n this.cdr.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.itensToSelect && changes.itensToSelect.firstChange) {\n this.itensToSelectFilterUtil = {\n rawItensToSelect: this.itensToSelect,\n filteredItensToSelect: this.itensToSelect,\n }\n }\n\n if (changes.selectedItens && changes.selectedItens.firstChange) {\n this.selectedItensFilterUtil = {\n filteredSelectedItens: this.selectedItens,\n rawSelectedItens: this.selectedItens\n }\n }\n }\n\n toggleSelected(internalPicklistItem: InternalPicklistItem, containerListId: string) {\n if (internalPicklistItem.disabled) {\n return;\n }\n this.unselectedItensByListId(this.getOppositiveId(containerListId));\n internalPicklistItem.selected = !internalPicklistItem.selected;\n if (internalPicklistItem.selected) {\n this.selectedItensMap.add(internalPicklistItem);\n } else {\n this.selectedItensMap.delete(internalPicklistItem);\n }\n this.cdr.detectChanges();\n }\n\n remove(all = false) {\n const itens = filterEnabled((all ? this.selectedItensFilterUtil.rawSelectedItens : this.selectedItensMap));\n if (!itens.length) {\n return;\n }\n itens.forEach((itemRemove) => {\n this.itensToSelect.push(itemRemove);\n itemRemove.selected = false;\n this.selectedItensMap.delete(itemRemove);\n })\n this.selectedItens = this.selectedItens.filter(x => !itens.includes(x));\n this.selectedItensFilterUtil.rawSelectedItens = this.selectedItens;\n this.filterSelectedItens();\n this.filterItensToSelect();\n this.emitData();\n this.cdr.detectChanges();\n }\n\n add(all = false) {\n const itens = filterEnabled((all ? this.itensToSelectFilterUtil.rawItensToSelect : this.selectedItensMap));\n if (!itens.length) {\n return;\n }\n itens.forEach((itemRemove) => {\n this.selectedItens.push(itemRemove);\n itemRemove.selected = false;\n this.selectedItensMap.delete(itemRemove);\n })\n this.itensToSelect = this.itensToSelect.filter(x => !itens.includes(x));\n this.itensToSelectFilterUtil.rawItensToSelect = this.itensToSelect;\n this.filterSelectedItens();\n this.filterItensToSelect();\n this.emitData();\n this.cdr.detectChanges();\n }\n\n filterItensToSelect() {\n let searchTerm = this.availableItensFilter;\n searchTerm = searchTerm.trim();\n if (searchTerm) {\n this.itensToSelectFilterUtil.filteredItensToSelect = this.itensToSelectFilterUtil.rawItensToSelect\n .filter((item) => compareStrings(item.data[this.filterBy], searchTerm));\n } else {\n this.itensToSelectFilterUtil.filteredItensToSelect = this.itensToSelectFilterUtil.rawItensToSelect;\n }\n this.cdr.detectChanges();\n }\n\n filterSelectedItens() {\n let searchTerm = this.selectedItensFilter;\n searchTerm = searchTerm.trim();\n if (searchTerm) {\n this.selectedItensFilterUtil.filteredSelectedItens = this.selectedItensFilterUtil.rawSelectedItens\n .filter((item) => compareStrings(item.data[this.filterBy], searchTerm));\n } else {\n this.selectedItensFilterUtil.filteredSelectedItens = this.selectedItensFilterUtil.rawSelectedItens;\n }\n }\n\n drop(event: CdkDragDrop<InternalPicklistItem[]>) {\n const isDifferentContainer = event.container !== event.previousContainer;\n if (!isDifferentContainer) {\n return;\n }\n\n const isRemovedItens = event.previousContainer.id === this.selectedItensId;\n if (isRemovedItens) {\n this.remove();\n } else {\n this.add();\n }\n this.cdr.detectChanges();\n }\n\n onDragStart(event: CdkDragEvent, dragListId: string) {\n this.unselectedItensByListId(this.getOppositiveId(dragListId));\n event.source.data.selected = true;\n this.selectedItensMap.add(event.source.data);\n this.selectedItensMap.forEach((x) => x.invisible = true);\n this.cdr.detectChanges();\n }\n\n onDragRelease() {\n this.selectedItensMap.forEach((item) => item.invisible = false);\n }\n\n checkAllAvailableItensChange(checked: boolean) {\n this._checkAllSelectedItensChange(checked, this.itensToSelectFilterUtil.filteredItensToSelect, this.itensToSelectId);\n }\n\n checkAllSelectedItensChange(checked: boolean) {\n this._checkAllSelectedItensChange(checked, this.selectedItensFilterUtil.filteredSelectedItens, this.selectedItensId);\n }\n\n get disableSelectedItensCheckbox() {\n return filterEnabled(this.selectedItensFilterUtil.filteredSelectedItens).length === 0;\n }\n\n get disableItensToSelectCheckbox() {\n return filterEnabled(this.itensToSelectFilterUtil.filteredItensToSelect).length === 0;\n }\n\n get itensToSelectAllSelected() {\n return this._checkAllSelectedByList(this.itensToSelectFilterUtil.filteredItensToSelect);\n }\n\n get selectedItensAllSelected() {\n return this._checkAllSelectedByList(this.selectedItensFilterUtil.filteredSelectedItens);\n }\n\n get canAddItens() {\n return (this.itensToSelect as InternalPicklistItem[]).filter((x) => x?.selected).length > 0;\n }\n\n get canRemoveItens() {\n return (this.selectedItens as InternalPicklistItem[]).filter((x) => x?.selected).length > 0;\n }\n\n private _checkAllSelectedByList(list: InternalPicklistItem[]) {\n const _listItens = filterEnabled(list);\n if (!_listItens.length) {\n return false;\n } else {\n return _listItens.every((x) => x.selected);\n }\n }\n\n private _checkAllSelectedItensChange(checked: boolean, list: InternalPicklistItem[], listId: string) {\n this.unselectedItensByListId(listId === this.selectedItensId ? this.itensToSelectId : this.selectedItensId);\n filterEnabled(list).forEach((item) => {\n item.selected = checked;\n this.selectedItensMap.add(item);\n })\n this.cdr.detectChanges();\n }\n\n private unselectedItensByListId(listId: string) {\n const clearList = this.getAllElementsByListId(listId);\n clearList.forEach((x) => {\n x.selected = false;\n this.selectedItensMap.delete(x);\n })\n this.cdr.detectChanges();\n }\n\n private getAllElementsByListId(listId: string) {\n return listId === this.selectedItensId ? this.selectedItensFilterUtil.rawSelectedItens : this.itensToSelectFilterUtil.rawItensToSelect;\n }\n\n private getOppositiveId(listId: string) {\n return listId === this.selectedItensId ? this.itensToSelectId : this.selectedItensId;\n }\n\n private emitData() {\n this.itensToSelectChange.emit(parseValueEmit(this.itensToSelect));\n this.selectedItensChange.emit(parseValueEmit(this.selectedItens));\n }\n}\n\nconst normalizeString = (str: string) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase();\n}\n\n/**\n * Compares two strings by normalizing them to a case-insensitive and accent-free form,\n * and checks if the main string contains the substring.\n *\n * @param mainString - The string to be searched.\n * @param substring - The string to search for within the main string.\n * @returns A boolean indicating whether the normalized main string contains the normalized substring.\n */\n\nconst compareStrings = (mainString: string, substring: string) => {\n return normalizeString(mainString).includes(normalizeString(substring));\n}\n\nconst randomHash = (prefix = 'id') => {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`\n}\n\nconst filterEnabled = (list: PickListItem<any>[] | Set<InternalPicklistItem>): InternalPicklistItem[] => {\n const _list = list instanceof Set ? Array.from(list) : list;\n return _list.filter((x) => !x.disabled);\n}\n\nconst mapData = (list: PickListItem<any>[]) => {\n return list.map((x) => x.data);\n}\n\nconst parseValueEmit = pipe(filterEnabled, mapData)\n\nexport const parseItensPickList = <T>(array: T[], disabledFn?: (item: T) => boolean): PickListItem<T>[] => {\n return array.map((x) => {\n return {\n data: x,\n disabled: disabledFn ? disabledFn(x) : false\n }\n })\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from '../button/button.module';\nimport { PicklistComponent } from './picklist/picklist.component';\n\n\n@NgModule({\n declarations: [PicklistComponent],\n imports: [\n CommonModule,\n TranslateModule,\n DragDropModule,\n FormsModule,\n ButtonModule,\n ],\n exports: [PicklistComponent]\n})\nexport class PicklistModule { }\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, QueryList, TemplateRef, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckDisabled } from '../../shared/helpers';\nimport { ChipAddEvent, ChipClickEvent, ChipRemoveEvent } from '../models/chip-models';\nimport { TemplateDirective } from './../../template/template.directive';\n\n@Component({\n selector: 's-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipsComponent),\n multi: true\n }\n ]\n})\nexport class ChipsComponent implements AfterViewInit, ControlValueAccessor {\n private static _id = 0;\n newItem = '';\n chipTemplate: TemplateRef<any>;\n\n @Input() disabled: boolean;\n @Input() field: string;\n @Input() value: any[] = [];\n @Input() placeholder = '';\n @Input() max: number;\n @Input() maxLength: number;\n @Input() inputId = `chips-${ChipsComponent._id++}`;\n @Input() allowDuplicated = true;\n @Input() caseSensitiveDuplication = false;\n @Input() addOnTab = true;\n @Input() addOnBlur = true;\n @Input() separator: string;\n @Input() autofocus = false;\n @Input() infoLabel = '';\n @Input() keyFilter: string | RegExp;\n @Input() showTooltip = true;\n @Input() maxLengthRenderWithoutTooltip = 20;\n\n @Output() onAdd = new EventEmitter<ChipAddEvent>();\n @Output() onRemove = new EventEmitter<ChipRemoveEvent>();\n @Output() onFocus = new EventEmitter<FocusEvent>();\n @Output() onBlur = new EventEmitter<FocusEvent>();\n @Output() onChipClick = new EventEmitter<ChipClickEvent>();\n @Output() valueChange = new EventEmitter<string[] | any[]>();\n\n @ContentChildren(TemplateDirective) private templates: QueryList<TemplateDirective>;\n\n @ViewChild('input', { read: ElementRef }) private input: ElementRef<HTMLElement>;\n private isTabEventActive = false;\n onChange: (value: string[] | any[]) => void = () => { };\n onTouched: (value: string[] | any[]) => void = () => { };\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit(): void {\n if (this.autofocus && this.input) {\n this.input.nativeElement.focus();\n }\n this.chipTemplate = this.templates.find((x) => x.type === 'chip-container')?.template;\n this.cdr.detectChanges();\n }\n\n\n writeValue(obj: string[] | any[]): void {\n this.value = obj;\n }\n\n registerOnChange(fn: (value: string[] | any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n @CheckDisabled()\n onKeydown($event: KeyboardEvent) {\n const isEnter = $event.key === 'Enter';\n const isSeparator = this.separator && $event.key === this.separator;\n const eventKeyIsTab = $event.key === 'Tab';\n if (eventKeyIsTab) {\n this.isTabEventActive = true;\n setTimeout(() => {\n this.isTabEventActive = false;\n }, 50);\n }\n const isTab = this.addOnTab && eventKeyIsTab;\n if (isEnter || isSeparator || isTab) {\n $event.preventDefault();\n this.addItem();\n }\n }\n\n onInputFocus($event: FocusEvent) {\n this.onFocus.emit($event);\n }\n\n @CheckDisabled()\n onInputLostFocus($event: FocusEvent) {\n if (!this.addOnBlur || this.isTabEventActive) {\n return;\n }\n this.addItem();\n this.onBlur.emit($event);\n }\n\n removeItem({ itemIndex, event }: { itemIndex: number, event: Event }) {\n const _removedItem = this.value[itemIndex];\n this.value.splice(itemIndex, 1)\n this.onRemove.emit({ value: _removedItem, originalEvent: event });\n }\n\n chipClicked({ event, data }: { event: Event, data: string | Object }) {\n this.onChipClick.emit({ value: data, originalEvent: event });\n }\n\n private addItem() {\n const hasValue = !!this.newItem;\n if (!hasValue) {\n return;\n }\n if (this.max && this.value.length === this.max) {\n return;\n }\n\n const validItemLength = this.maxLength ? this.newItem.length <= this.maxLength : true;\n if (!validItemLength) {\n return;\n }\n const hasField = !!this.field;\n const _mappedValues: string[] = this.field ? this.value.map((x) => x[this.field]) : this.value;\n const valueToAdd = hasField ? { [this.field]: this.newItem } : this.newItem;\n const duplicatedItem = _mappedValues.find((x) => {\n if (this.caseSensitiveDuplication) {\n return x === this.newItem;\n } else {\n return x.toLowerCase() === this.newItem.toLowerCase();\n }\n })\n let hasDuplicatedItem = false\n if (!this.allowDuplicated) {\n hasDuplicatedItem = duplicatedItem ? Boolean(duplicatedItem) : false;\n }\n if (!hasDuplicatedItem) {\n this.storeValue(valueToAdd);\n }\n this.newItem = '';\n }\n\n private storeValue(value: any) {\n this.value = [...this.value, value];\n this.onAdd.emit({ value });\n this.valueChange.emit(this.value);\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CheckDisabled } from '../../shared/helpers';\n@Component({\n selector: 's-chip-item',\n templateUrl: './chip-item.component.html',\n styleUrls: ['./chip-item.component.scss']\n})\nexport class ChipItemComponent {\n @Input() dataRender: string | Object;\n @Input() objectField: string;\n @Input() disabled = false;\n @Input() templateRef: TemplateRef<any>\n @Input() itemIndex = -1;\n @Input() showTooltip = true;\n @Input() maxLengthRenderWithoutTooltip = 20;\n\n @Output() clickRemove = new EventEmitter<{ index: number, event: Event }>();\n @Output() chipClicked = new EventEmitter<{ event: Event, data: string | Object }>();\n\n @CheckDisabled()\n clickedRemove($event: Event) {\n this.clickRemove.emit({ index: this.itemIndex, event: $event });\n }\n @CheckDisabled()\n onChipClicked($event: Event) {\n this.chipClicked.emit({ event: $event, data: this.dataRender });\n }\n\n get _text() {\n const _text = this._rawText;\n return _text.substring(0, _text.length > this.maxLengthRenderWithoutTooltip ? this.maxLengthRenderWithoutTooltip : _text.length) + (_text.length > this.maxLengthRenderWithoutTooltip ? '...' : '');\n }\n\n get _rawText() {\n return this.objectField ? (this.dataRender as any)[this.objectField] || '' : this.dataRender || '';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChipsComponent } from './chips/chips.component';\nimport { ChipItemComponent } from './chip-item/chip-item.component';\nimport { FormsModule } from '@angular/forms';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { TooltipModule } from '../tooltip/tooltip.module';\n\n\n\n@NgModule({\n declarations: [ChipsComponent, ChipItemComponent],\n imports: [\n CommonModule,\n FormsModule,\n TooltipModule,\n KeyFilterModule\n ],\n exports: [ChipsComponent]\n})\nexport class ChipsModule { }\n","import { Component, ElementRef, EventEmitter, OnDestroy, TemplateRef, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HelpPopoverArrowPosition, HelpPopoverPosition } from '../models/help-popover.models';\n\n@Component({\n selector: 's-help-popover',\n templateUrl: './help-popover.component.html',\n styleUrls: ['./help-popover.component.scss']\n})\nexport class HelpPopoverComponent implements OnDestroy {\n private readonly VALID_POSITIONS: HelpPopoverPosition[] = ['top', 'bottom', 'left', 'right'];\n private readonly VALID_ARROW_POSITIONS: HelpPopoverArrowPosition[] = ['beginning', 'end', 'middle'];\n private _position: HelpPopoverPosition = 'bottom';\n popoverContent: string | TemplateRef<any> | null = null;\n closeButton = true;\n icon = '';\n header = '';\n footer = '';\n button = '';\n visible = false;\n @ViewChild('arrowElement', { read: ElementRef, static: true }) arrowElement: ElementRef<HTMLElement> | null = null;\n public get position(): HelpPopoverPosition {\n return this._position;\n }\n public set position(value: HelpPopoverPosition) {\n if (!this.VALID_POSITIONS.includes(value)) {\n throw new Error(`Invalid position: ${value}. Valid positions: ${this.VALID_POSITIONS}`);\n }\n this._position = value;\n }\n\n private _arrowPosition: HelpPopoverArrowPosition = 'beginning';\n public get arrowPosition(): HelpPopoverArrowPosition {\n return this._arrowPosition;\n }\n public set arrowPosition(value: HelpPopoverArrowPosition) {\n if (!this.VALID_ARROW_POSITIONS.includes(value)) {\n throw new Error(`Invalid arrow position: ${value}. Valid arrow positions: ${this.VALID_ARROW_POSITIONS}`);\n }\n this._arrowPosition = value;\n }\n\n buttonClicked!: EventEmitter<void>;\n\n closed = new Subject<void>();\n get contentIsString() {\n return typeof this.popoverContent === 'string';\n }\n\n get hasHeaderContainer() {\n const _hasHeader = this.hasHeaderText;\n const hasIcon = this.hasIcon;\n const hasCloseButton = this.closeButton;\n return _hasHeader || hasIcon || hasCloseButton;\n }\n\n get hasFooter() {\n const _hasFooterText = this.hasFooterText;\n const hasButtonText = this.button && this.button.length > 0;\n return _hasFooterText || hasButtonText;\n }\n\n get hasHeaderText() {\n return this.header && this.header.length > 0;\n }\n\n get hasFooterText() {\n return this.footer && this.footer.length > 0;\n }\n\n get hasIcon() {\n return this.icon && this.icon.length > 0;\n }\n\n close() {\n this.closed.next();\n }\n\n clickButton() {\n this.buttonClicked!.emit();\n }\n\n\n ngOnDestroy(): void {\n this.closed.complete();\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EventEmitter, HostListener, Injector, Input, OnDestroy, OnInit, Output, TemplateRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { ElementLeftoverPosition, ElementPosition, getElementLeftoverContentAvailable, getElementPositionInfo, isMousePositionOutsideOfElement } from '../utils';\nimport { HelpPopoverComponent } from './help-popover/help-popover.component';\nimport { HelpPopoverArrowPosition, HelpPopoverPosition } from './models/help-popover.models';\n\n@Directive({\n selector: '[sHelpPopover]',\n exportAs: 'sHelpPopover'\n})\nexport class HelpPopoverDirective implements OnDestroy, OnInit {\n private readonly MUTATION_OBSERVER_CONFIG: MutationObserverInit = { attributes: true, childList: true, subtree: true };\n private readonly OBSERVER_CALLBACK = () => {\n if (!this.componentRef) {\n return;\n }\n this.applyPositionIntoElement();\n }\n private readonly RESIZE_OBSERVER = () => {\n this.onResize$.next();\n }\n @Input() sHelpPopover: string | TemplateRef<any> | null = null;\n @Input() closeButton = true;\n @Input() popoverIcon = '';\n @Input() popoverHeader = '';\n @Input() popoverFooter = '';\n @Input() popoverButtonText = '';\n @Input() popoverArrowPosition: HelpPopoverArrowPosition = 'beginning';\n private _popoverPosition: HelpPopoverPosition = 'bottom';\n public get popoverPosition(): HelpPopoverPosition {\n return this._popoverPosition;\n }\n @Input()\n public set popoverPosition(value: HelpPopoverPosition) {\n this._popoverPosition = value;\n this.internalPosition = value;\n }\n @Output() buttonClicked = new EventEmitter<void>();\n\n private onDestroy$ = new Subject<void>();\n private componentRef: ComponentRef<HelpPopoverComponent> | null = null\n private mutationObserverPopoverElement: MutationObserver | null = null;\n private mutationObserverPopoverContent: MutationObserver | null = null;\n private internalPosition: HelpPopoverPosition = 'bottom';\n private onResize$ = new Subject<void>();\n private manualTrigger = false;\n private listener = (event: PointerEvent) => {\n const totalElementArea = this.componentRef.location.nativeElement.getBoundingClientRect();\n if (isMousePositionOutsideOfElement(event, totalElementArea)) {\n this.destroy();\n }\n }\n constructor(\n private readonly element: ElementRef<HTMLElement>,\n private readonly injector: Injector,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly appRef: ApplicationRef,\n ) { }\n\n ngOnInit(): void {\n const popoverElementObserver = new MutationObserver(this.OBSERVER_CALLBACK);\n this.mutationObserverPopoverElement = popoverElementObserver;\n popoverElementObserver.observe(this.element.nativeElement, this.MUTATION_OBSERVER_CONFIG);\n window.addEventListener('resize', this.RESIZE_OBSERVER);\n window.addEventListener('scrollend', this.OBSERVER_CALLBACK);\n this.onResize$.pipe(takeUntil(this.onDestroy$), debounceTime(100)).subscribe(this.OBSERVER_CALLBACK)\n }\n\n show() {\n this.manualTrigger = true;\n this._createComponent();\n }\n\n @HostListener('click')\n doClick() {\n if (this.manualTrigger) {\n return;\n }\n this._createComponent();\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n this.destroy();\n if (this.mutationObserverPopoverElement) {\n this.mutationObserverPopoverElement.disconnect();\n }\n window.removeEventListener('resize', this.RESIZE_OBSERVER);\n window.removeEventListener('scrollend', this.OBSERVER_CALLBACK);\n }\n\n private _createComponent() {\n if (!this.sHelpPopover) {\n return;\n }\n if (this.componentRef) {\n this.destroy();\n }\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(HelpPopoverComponent);\n const componentRef = componentFactory.create(this.injector);\n this.componentRef = componentRef;\n if (this.mutationObserverPopoverContent) {\n this.mutationObserverPopoverContent.disconnect();\n }\n this.mutationObserverPopoverContent = new MutationObserver(this.OBSERVER_CALLBACK);\n this.mutationObserverPopoverContent.observe((this.componentRef.location.nativeElement as HTMLElement).querySelector('.popover-content'), this.MUTATION_OBSERVER_CONFIG);\n document.body.appendChild(componentRef.location.nativeElement);\n this.appRef.attachView(componentRef.hostView);\n setTimeout(() => {\n document.addEventListener('click', this.listener);\n })\n const component = componentRef.instance;\n component.popoverContent = this.sHelpPopover;\n component.closeButton = this.closeButton;\n component.icon = this.popoverIcon;\n component.header = this.popoverHeader;\n component.footer = this.popoverFooter;\n component.button = this.popoverButtonText;\n component.position = this.internalPosition;\n component.arrowPosition = this.popoverArrowPosition;\n component.buttonClicked = this.buttonClicked;\n component.closed.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\n this.destroy();\n })\n this.applyPositionIntoElement();\n }\n\n private destroy() {\n document.removeEventListener('click', this.listener);\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n\n this.internalPosition = this.popoverPosition;\n\n if (this.mutationObserverPopoverContent) {\n this.mutationObserverPopoverContent.disconnect();\n }\n }\n\n private applyPositionIntoElement() {\n const popoverElementPosition = getElementPositionInfo(this.element.nativeElement);\n const position = this.validPosition;\n this.internalPosition = position;\n this.popoverComponentInstance.position = this.internalPosition;\n setTimeout(() => {\n switch (this.internalPosition) {\n case 'bottom': {\n this.applyPopoverPositionBottom(popoverElementPosition);\n break;\n }\n case 'top': {\n this.applyPopoverPositionTop(popoverElementPosition);\n break;\n }\n case 'left': {\n this.applyPopoverPositionLeft(popoverElementPosition);\n break;\n }\n case 'right': {\n this.applyPopoverPositionRight(popoverElementPosition);\n break;\n }\n }\n this.popoverComponentInstance.visible = true;\n })\n\n }\n\n private applyPopoverPositionBottom(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const leftPopover = this.getHorizontalLeft(popoverElementPosition)\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `${leftPopover}px`;\n popoverElement.style.top = `calc(${popoverElementPosition.top}px + ${popoverElementPosition.elementHeight}px)`\n }\n\n private applyPopoverPositionTop(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const leftPopover = this.getHorizontalLeft(popoverElementPosition)\n const popoverHeight = popoverElement.getBoundingClientRect().height;\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `${leftPopover}px`;\n popoverElement.style.top = `calc(${popoverElementPosition.top}px - ${popoverHeight}px)`;\n }\n\n private applyPopoverPositionLeft(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const popoverWidth = popoverElement.getBoundingClientRect().width;\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `calc(${popoverElementPosition.right}px - ${popoverWidth + popoverElementPosition.elementWidth}px)`;\n popoverElement.style.top = this.getVerticalTop(popoverElementPosition);\n }\n\n private applyPopoverPositionRight(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `calc(${popoverElementPosition.right}px)`;\n popoverElement.style.top = this.getVerticalTop(popoverElementPosition);\n }\n\n private getHorizontalLeft(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const popoverWidth = popoverElement.getBoundingClientRect().width;\n let _horizontalLeft = popoverElementPosition.left;\n if (this.popoverArrowPosition === 'end') {\n _horizontalLeft = popoverElementPosition.right - popoverWidth;\n } else if (this.popoverArrowPosition === 'middle') {\n _horizontalLeft = (popoverElementPosition.left + popoverElementPosition.elementWidth / 2) - (popoverWidth / 2);\n }\n return _horizontalLeft;\n }\n\n private getVerticalTop(popoverElementPosition: ElementPosition) {\n const arrowElementPosition = getElementPositionInfo(this.componentRef.instance.arrowElement.nativeElement);\n const popoverContentPosition = getElementPositionInfo(this.componentRef.location.nativeElement);\n const popoverElement = this.getPopoverElement;\n const popoverHeight = popoverElement.getBoundingClientRect().height;\n let top = `calc(${popoverElementPosition.top}px - ${popoverHeight / 2}px + ${popoverElementPosition.elementHeight / 2}px)`;\n\n const arrowMiddle = arrowElementPosition.elementHeight / 2;\n if (this.popoverArrowPosition === 'beginning') {\n const distanceArrowFromStart = arrowElementPosition.top - popoverContentPosition.top;\n top = `calc(${popoverElementPosition.top}px + ${popoverElementPosition.elementHeight / 2}px - ${distanceArrowFromStart + arrowMiddle}px)`;\n } else if (this.popoverArrowPosition === 'end') {\n const distanceArrowFromEnd = (popoverContentPosition.top + popoverContentPosition.elementHeight) - (arrowElementPosition.top + arrowElementPosition.elementHeight);\n top = `calc(${popoverElementPosition.top}px - ${popoverContentPosition.elementHeight}px + ${popoverElementPosition.elementHeight / 2}px + ${distanceArrowFromEnd + arrowMiddle}px)`;\n }\n return top;\n }\n\n private getLeftoverContentAvailableForPopover(): ElementLeftoverPosition {\n return getElementLeftoverContentAvailable(this.element.nativeElement);\n }\n\n private get getPopoverElement(): HTMLElement {\n return this.componentRef.location.nativeElement;\n }\n\n private get popoverComponentInstance() {\n return this.componentRef.instance;\n }\n\n /**\n * Given the current position of the popover and the available space around\n * the trigger element, this function will return the position that the popover\n * will be set at.\n *\n * If the popover will fit at the given position, it will return the same\n * position.\n *\n * If the popover will not fit at the given position, it will return the position\n * that has the most available space (top or bottom).\n *\n * If there is no position with available space, it will return the given\n * position.\n *\n * @returns The position that the popover will be set at.\n */\n private get validPosition(): HelpPopoverPosition {\n const { freeDistanceToBottom, freeDistanceToTop, freeDistanceToLeft, freeDistanceToRight } = this.getLeftoverContentAvailableForPopover();\n\n const popoverElementPosition = getElementPositionInfo(this.componentRef.location.nativeElement);\n const popoverElementWidth = popoverElementPosition.elementWidth;\n const popoverElementHeight = popoverElementPosition.elementHeight;\n\n const remainingSpaceBottom = freeDistanceToBottom - popoverElementHeight;\n const remainingSpaceTop = freeDistanceToTop - popoverElementHeight;\n const remainingSpaceLeft = freeDistanceToLeft - popoverElementWidth;\n const remainingSpaceRight = freeDistanceToRight - popoverElementWidth;\n\n const canSetAtBottom = remainingSpaceBottom > 0;\n const canSetAtTop = remainingSpaceTop > 0;\n const canSetAtLeft = remainingSpaceLeft > 0;\n const canSetAtRight = remainingSpaceRight > 0;\n\n let validPosition: HelpPopoverPosition;\n if (canSetAtBottom && this.popoverPosition === 'bottom') {\n validPosition = 'bottom';\n } else if (canSetAtTop && this.popoverPosition === 'top') {\n validPosition = 'top';\n } else if (canSetAtLeft && this.popoverPosition === 'left') {\n validPosition = 'left';\n } else if (canSetAtRight && this.popoverPosition === 'right') {\n validPosition = 'right';\n }\n\n const needUseOtherPosition = !validPosition;\n if (needUseOtherPosition) {\n const freePositions: { position: HelpPopoverPosition, freeDistance: number }[] = [\n {\n position: 'bottom' as HelpPopoverPosition,\n freeDistance: remainingSpaceBottom,\n },\n {\n position: 'top' as HelpPopoverPosition,\n freeDistance: remainingSpaceTop,\n }\n ].filter((x) => x.freeDistance > 0);\n\n if (freePositions.length === 0) {\n return this.popoverPosition;\n }\n const itemWithMaxFreeDistance = freePositions.sort((a, b) => b.freeDistance - a.freeDistance)[0];\n return itemWithMaxFreeDistance.position;\n } else {\n return this.popoverPosition;\n }\n }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '../button/button.module';\nimport { HelpPopoverDirective } from './help-popover.directive';\nimport { HelpPopoverComponent } from './help-popover/help-popover.component';\n\n@NgModule({\n declarations: [HelpPopoverComponent, HelpPopoverDirective],\n imports: [\n CommonModule,\n ButtonModule,\n ],\n exports: [HelpPopoverDirective]\n})\nexport class HelpPopoverModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ToastComponent } from \"./toast.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ToastComponent],\n})\nexport class ToastModule {}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\n\nimport { InternalTreeNodeItem, TreeNodeEdit, TreeNodeItem } from \"./Models/tree.models\";\n\n@Component({\n selector: \"s-tree\",\n templateUrl: \"./tree.component.html\",\n styleUrls: [\"./tree.component.scss\"],\n})\nexport class TreeComponent implements OnChanges {\n @Input()\n public treeData: TreeNodeItem[] = [];\n\n private _selected: TreeNodeItem[] = [];\n @Input()\n public get selected(): TreeNodeItem[] {\n return this._selected;\n }\n public set selected(value: TreeNodeItem[]) {\n if (!value) {\n value = [];\n }\n if (!Array.isArray(value)) {\n value = [value];\n }\n this._selected = value;\n }\n\n @Input()\n public loading = false;\n\n @Input()\n public selectionMode: \"single\" | \"multiple\" = \"single\";\n\n @Input()\n public showCheckbox = false;\n\n @Input()\n public allExpanded = false;\n\n @Output()\n public selectedChange: EventEmitter<TreeNodeItem[] | TreeNodeItem> = new EventEmitter();\n\n @Output()\n public treeNodeItemClicked: EventEmitter<TreeNodeItem> = new EventEmitter();\n\n @Output()\n public treeNodeEdit: EventEmitter<TreeNodeEdit> = new EventEmitter();\n\n @Output()\n public nodeExpanded: EventEmitter<TreeNodeItem> = new EventEmitter();\n\n @Output()\n public nodeCollapsed: EventEmitter<TreeNodeItem> = new EventEmitter();\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.onChanges(changes);\n }\n\n public onTreeNodeItemClicked({ item }: { item: InternalTreeNodeItem }) {\n this.treeNodeItemClicked.emit(parseInternalTreeNodeItem(item));\n this.toggleChecked(item);\n }\n\n public onTreeNodeEdit(payload: TreeNodeEdit) {\n const { revertAction, item, newValue, previousValue } = payload;\n this.treeNodeEdit.emit({\n revertAction,\n item: parseInternalTreeNodeItem(item),\n newValue,\n previousValue,\n });\n }\n\n public onNodeExpanded(item: InternalTreeNodeItem) {\n this.nodeExpanded.emit(parseInternalTreeNodeItem(item));\n }\n\n public onNodeCollapsed(item: InternalTreeNodeItem) {\n this.nodeCollapsed.emit(parseInternalTreeNodeItem(item));\n }\n\n private toggleChecked(treeNodeItem: TreeNodeItem) {\n const elementCheckState = !treeNodeItem.checked;\n if (!this.multiple) {\n flattenTree(this.treeData).forEach((x) => (x.checked = false));\n this.selected = [treeNodeItem];\n }\n treeNodeItem.checked = elementCheckState;\n if (this.multiple) {\n this.checkTreeDataChildren(treeNodeItem);\n }\n this.setSelected();\n }\n\n private checkTreeDataChildren(selectedTreeNode: TreeNodeItem) {\n const parentChecked = selectedTreeNode.checked;\n if (selectedTreeNode.children) {\n selectedTreeNode.children.forEach((item) => {\n const childrens = flattenTree(item.children || []);\n item.checked = parentChecked;\n childrens.forEach((child) => (child.checked = parentChecked));\n });\n }\n\n const getNodeChildrenSummary = (node: TreeNodeItem) => {\n const allChildrenChecked = node.children.every((y) => y.checked === true);\n const someChildrenChecked = node.children.some((y) => y.checked === true || y.checked === null);\n const allChildrenUnchecked = node.children.every((y) => y.checked === false || y.checked === undefined);\n return { allChildrenChecked, someChildrenChecked, allChildrenUnchecked };\n };\n const updateCheckedStateRecursively = (node: TreeNodeItem): void => {\n if (!node.children?.length) return;\n\n node.children.forEach(updateCheckedStateRecursively);\n\n const { allChildrenChecked, someChildrenChecked, allChildrenUnchecked } = getNodeChildrenSummary(node);\n if (allChildrenChecked) {\n node.checked = true;\n } else if (someChildrenChecked) {\n node.checked = null;\n } else if (allChildrenUnchecked) {\n node.checked = false;\n }\n };\n this.treeData.forEach(updateCheckedStateRecursively);\n }\n\n private setSelected() {\n const selected = this.selectedElements;\n this.selected = [...selected];\n this.selectedChange.emit(selected);\n }\n\n private onChanges(changes: SimpleChanges) {\n const allExpandedChanges = changes.allExpanded;\n const _checkIsFirstChangeWithValue = (value: Extract<keyof TreeComponent, 'selected' | 'treeData'>) => {\n if (!changes[value]) {\n return;\n }\n return (!changes[value].previousValue || changes[value].previousValue.length === 0) && changes[value].currentValue?.length > 0\n }\n\n if (_checkIsFirstChangeWithValue('selected')) {\n this.syncSelectedChanges();\n\n }\n\n if (_checkIsFirstChangeWithValue('treeData')) {\n const isAllExpanded = this.allExpanded;\n if (isAllExpanded) {\n this.expandAll();\n }\n }\n\n if (allExpandedChanges) {\n if (this.allExpanded) {\n this.expandAll();\n } else {\n this.collapseAll();\n }\n }\n }\n\n private syncSelectedChanges() {\n const treeFlatten = flattenTree(this.treeData);\n this.selected.forEach((selectedItem) => {\n const item = treeFlatten.find((item) => item.id === selectedItem.id);\n if (item) {\n item.checked = true;\n }\n if (item.children && this.multiple) {\n item.children.forEach((child) => {\n child.checked = true;\n const existChildInSelectedList = this.selected.some((item) => item.id === child.id);\n if (!existChildInSelectedList) {\n this.selected.push(child);\n }\n });\n }\n });\n const selectedElements = this.selectedElements;\n const selectedElementsNotInSelectedList = selectedElements.filter((x) => !this.selected.some((y) => y.id === x.id));\n selectedElementsNotInSelectedList.forEach((item) => {\n this.checkTreeDataChildren(item);\n });\n this.setSelected();\n }\n\n private collapseAll() {\n const flatten = flattenTree(this.treeData);\n flatten.forEach((item) => {\n item.isExpanded = false;\n });\n }\n\n private expandAll() {\n const flatten = flattenTree(this.treeData);\n flatten.forEach((item) => {\n item.isExpanded = true;\n });\n }\n\n private get selectedElements() {\n return flattenTree(this.treeData)\n .filter((x) => x.checked)\n .filter((x) => x.leaf !== true && !x.children?.length);\n }\n\n private get multiple() {\n return this.selectionMode === \"multiple\";\n }\n}\n\nconst flattenTree = <T = any>(tree: TreeNodeItem<T>[]): TreeNodeItem<T>[] => {\n const result: TreeNodeItem<T>[] = [];\n\n function traverse(nodes: TreeNodeItem<T>[]) {\n for (const node of nodes) {\n result.push(node);\n if (node.children && node.children.length) {\n traverse(node.children);\n }\n }\n }\n\n traverse(tree);\n return result;\n};\n\nconst parseInternalTreeNodeItem = <T = any>(internalTreeNodeItem: InternalTreeNodeItem<T>): TreeNodeItem<T> => {\n const { id, label, icon, checked, isExpanded, payload, editable, children } = internalTreeNodeItem;\n const object = {\n id,\n label,\n icon,\n checked,\n isExpanded,\n payload,\n editable,\n _children: children?.map(parseInternalTreeNodeItem),\n get children() {\n return this._children;\n },\n set children(value) {\n this._children = value;\n internalTreeNodeItem.children = value;\n },\n };\n Object.defineProperty(object, \"_children\", {\n enumerable: false,\n });\n return object as TreeNodeItem<T>;\n};\n","import {\n animate,\n query,\n stagger,\n style,\n transition,\n trigger\n} from '@angular/animations';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { InternalTreeNodeItem, TreeNodeEdit } from '../../Models/tree.models';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 's-tree-node-item',\n templateUrl: './tree-node-item.component.html',\n styleUrls: ['./tree-node-item.component.scss'],\n animations: [\n trigger('fadeExpand', [\n transition(':enter', [\n style({ height: '0px', opacity: 0, overflow: 'hidden' }),\n animate('200ms ease-out', style({ height: '*', opacity: 1 }))\n ]),\n transition(':leave', [\n animate('150ms ease-in', style({ height: '0px', opacity: 0 }))\n ])\n ]),\n trigger('childrenAnimation', [\n transition(':enter', [\n query(':enter', [\n style({ opacity: 0, transform: 'translateY(-10px)' }),\n stagger(60, [\n animate('200ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))\n ])\n ], { optional: true })\n ])\n ])\n ],\n})\nexport class TreeNodeItemComponent {\n @Input() ariaLevel = 0;\n @Input() showCheckbox = false;\n @Input() treeNodeItem!: InternalTreeNodeItem;\n @Output() treeNodeItemClicked = new EventEmitter<{ item: InternalTreeNodeItem, event: Event }>();\n @Output() treeNodeEdit = new EventEmitter<TreeNodeEdit>();\n @Output() nodeExpanded = new EventEmitter<InternalTreeNodeItem>();\n @Output() nodeCollapsed = new EventEmitter<InternalTreeNodeItem>();\n\n @ViewChild('input', { read: ElementRef }) input!: ElementRef<HTMLInputElement>;\n\n constructor(private readonly cdr: ChangeDetectorRef, private readonly translateService: TranslateService) { }\n\n get hasChildren(): boolean {\n return this.treeNodeItem.children && this.treeNodeItem.children.length > 0;\n }\n\n get editable() {\n return this.treeNodeItem?.editable || false;\n }\n\n get ariaLabel() {\n return `${this.translateService.instant('platform.angular_components.select')} ${this.treeNodeItem.label}`;\n }\n\n expandNode() {\n if (this.hasChildren && !this.treeNodeItem.isExpanded) {\n this.toggleExpanded(this.treeNodeItem);\n }\n }\n\n collapseNode() {\n if (this.hasChildren && this.treeNodeItem.isExpanded) {\n this.toggleExpanded(this.treeNodeItem);\n }\n }\n\n onCheckboxEnter(node: InternalTreeNodeItem) {\n const newState = node.checked === true ? false : true;\n node.checked = newState;\n this.treeNodeItemClicked.emit({ item: node, event: new KeyboardEvent('keydown', { key: 'Enter' }) });\n }\n\n handleTreeNodeItemClick(event: Event, treeNodeItem?: InternalTreeNodeItem) {\n const item = treeNodeItem || this.treeNodeItem;\n this.treeNodeItemClicked.emit({ item, event });\n }\n\n handleTreeNodeItemClicked({ event, item }: { event: Event, item: InternalTreeNodeItem }) {\n if (item.isEditing) {\n return;\n }\n this.handleTreeNodeItemClick(event, item);\n }\n\n toggleExpanded(treeNodeItem: InternalTreeNodeItem) {\n treeNodeItem.isExpanded = !treeNodeItem.isExpanded;\n if (treeNodeItem.isExpanded) {\n this.nodeExpanded.emit(treeNodeItem);\n } else {\n this.nodeCollapsed.emit(treeNodeItem);\n }\n }\n\n toggleEditing($event: Event) {\n $event.stopPropagation();\n this.treeNodeItem.isEditing = !this.treeNodeItem.isEditing;\n this.cdr.detectChanges();\n if (this.treeNodeItem.isEditing) {\n this.treeNodeItem.editNewValue = this.treeNodeItem.label;\n const input = this.input?.nativeElement;\n input?.focus();\n }\n }\n\n cancelEdit($event: Event) {\n $event.stopPropagation();\n this.treeNodeItem.isEditing = false;\n this.treeNodeItem.editNewValue = '';\n this.treeNodeItem.editPreviousValue = '';\n this.cdr.detectChanges();\n }\n\n\n saveEdit($event: Event) {\n $event.stopPropagation();\n this.treeNodeItem.isEditing = false;\n if (!this.treeNodeItem.editNewValue) {\n return;\n }\n\n this.treeNodeItem.editPreviousValue = this.treeNodeItem.label;\n this.treeNodeItem.label = this.treeNodeItem.editNewValue;\n\n const revertAction = () => {\n this.treeNodeItem.label = this.treeNodeItem.editPreviousValue;\n this.treeNodeItem.isEditing = false;\n this.cdr.detectChanges();\n }\n this.treeNodeEdit.emit({ revertAction, item: this.treeNodeItem, newValue: this.treeNodeItem.editNewValue, previousValue: this.treeNodeItem.editPreviousValue });\n }\n\n treeNodeEditChildEvent(payload: TreeNodeEdit) {\n this.treeNodeEdit.emit(payload);\n }\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { LoadingStateModule } from \"../loading-state/index\";\nimport { TreeNodeItemComponent } from \"./components/tree-node-item/tree-node-item.component\";\nimport { TreeComponent } from \"./tree.component\";\n\n@NgModule({\n declarations: [TreeNodeItemComponent, TreeComponent],\n imports: [CommonModule, FormsModule, InputTextModule, LoadingStateModule, TranslateModule],\n exports: [TreeComponent],\n})\nexport class TreeModule {}\n","export const fallback: any = {\n \"platform.angular_components.attachment\": \"anexo\",\n \"platform.angular_components.watch\": \"assistir\",\n \"platform.angular_components.view\": \"visualizar\",\n \"platform.angular_components.listen\": \"ouvir\",\n \"platform.angular_components.drag_your_photo_or\": \"Arraste sua foto ou\",\n \"platform.angular_components.select_a_file\": \"selecione um arquivo\",\n \"platform.angular_components.change_photo\": \"Alterar foto\",\n \"platform.angular_components.remove_image\": \"Remover imagem\",\n \"platform.angular_components.confirmation_remove_image\": \"Deseja remover a imagem? Não pode ser revertida.\",\n \"platform.angular_components.strong\": \"Forte\",\n \"platform.angular_components.medium\": \"Média\",\n \"platform.angular_components.weak\": \"Fraca\",\n \"platform.angular_components.invalid_value\": \"Valor inválido\",\n \"platform.angular_components.insight_intro\": \"Olá! Aqui você encontrará insights valiosos a partir dos seus dados\",\n \"platform.angular_components.insight_empty\": \"Ainda não há Insights na página\",\n \"platform.angular_components.error_loading_insight_alt\": \"Não foi possÃvel carregar o insight no momento. Por favor, verifique sua conexão com a internet e tente novamente.\",\n \"platform.angular_components.loading_insight\": \"Carregando insight valioso...\",\n \"platform.angular_components.insight_no_permission\": \"Olá! Você não possui acesso à página de insights. Entre em contato com o administrador para saber mais\",\n \"platform.angular_components.count_items_in_target\": \"{{ count }} itens em {{ target }}\",\n \"platform.angular_components.count_items_selected\": \"{{ count }} itens selecionados\",\n \"platform.angular_components.january\": \"Janeiro\",\n \"platform.angular_components.february\": \"Fevereiro\",\n \"platform.angular_components.march\": \"Março\",\n \"platform.angular_components.april\": \"Abril\",\n \"platform.angular_components.may\": \"Maio\",\n \"platform.angular_components.june\": \"Junho\",\n \"platform.angular_components.july\": \"Julho\",\n \"platform.angular_components.august\": \"Agosto\",\n \"platform.angular_components.september\": \"Setembro\",\n \"platform.angular_components.october\": \"Outubro\",\n \"platform.angular_components.november\": \"Novembro\",\n \"platform.angular_components.december\": \"Dezembro\",\n \"platform.angular_components.january_short\": \"Jan\",\n \"platform.angular_components.february_short\": \"Fev\",\n \"platform.angular_components.march_short\": \"Mar\",\n \"platform.angular_components.april_short\": \"Abr\",\n \"platform.angular_components.may_short\": \"Mai\",\n \"platform.angular_components.june_short\": \"Jun\",\n \"platform.angular_components.july_short\": \"Jul\",\n \"platform.angular_components.august_short\": \"Ago\",\n \"platform.angular_components.september_short\": \"Set\",\n \"platform.angular_components.october_short\": \"Out\",\n \"platform.angular_components.november_short\": \"Nov\",\n \"platform.angular_components.december_short\": \"Dez\",\n \"platform.angular_components.sunday\": \"Domingo\",\n \"platform.angular_components.monday\": \"Segunda-feira\",\n \"platform.angular_components.tuesday\": \"Terça-feira\",\n \"platform.angular_components.wednesday\": \"Quarta-feira\",\n \"platform.angular_components.thursday\": \"Quinta-feira\",\n \"platform.angular_components.friday\": \"Sexta-feira\",\n \"platform.angular_components.saturday\": \"Sábado\",\n \"platform.angular_components.sunday_short\": \"Dom\",\n \"platform.angular_components.monday_short\": \"Seg\",\n \"platform.angular_components.tuesday_short\": \"Ter\",\n \"platform.angular_components.wednesday_short\": \"Qua\",\n \"platform.angular_components.thursday_short\": \"Qui\",\n \"platform.angular_components.friday_short\": \"Sex\",\n \"platform.angular_components.saturday_short\": \"Sáb\",\n \"platform.angular_components.sunday_min\": \"D\",\n \"platform.angular_components.monday_min\": \"S\",\n \"platform.angular_components.tuesday_min\": \"T\",\n \"platform.angular_components.wednesday_min\": \"Q\",\n \"platform.angular_components.thursday_min\": \"Q\",\n \"platform.angular_components.friday_min\": \"S\",\n \"platform.angular_components.saturday_min\": \"S\",\n \"platform.angular_components.today\": \"Hoje\",\n \"platform.angular_components.hour_format\": \"24\",\n \"platform.angular_components.date_format\": \"dd/mm/yy\",\n \"platform.angular_components.ia_text_generator\": \"Gerador de texto por IA\",\n \"platform.angular_components.attach_files\": \"Anexar arquivos\",\n \"platform.angular_components.add_information\": \"Adicionar informação\",\n \"platform.angular_components.add\": \"Adicionar\",\n \"platform.angular_components.edit\": \"Editar\",\n \"platform.angular_components.remove\": \"Remover\",\n \"platform.angular_components.save\": \"Salvar\",\n \"platform.angular_components.file_attached_successfully\": \"Arquivo anexado com sucesso\",\n \"platform.angular_components.loading_file\": \"Carregando arquivo\",\n \"platform.angular_components.iassist_text_generator\": \"IAssist Gerador de texto\",\n \"platform.angular_components.copied_to_clipboard\": \"Copiado para área de transferência\",\n \"platform.angular_components.copy_field_content\": \"Copiar conteúdo preenchido\",\n \"platform.angular_components.generate_text\": \"Gerar texto\",\n \"platform.angular_components.context\": \"Contexto\",\n \"platform.angular_components.filters\": \"Filtros\",\n \"platform.angular_components.filter\": \"Filtrar\",\n \"platform.angular_components.clear\": \"Limpar\",\n \"platform.angular_components.cancel\": \"Cancelar\",\n \"platform.angular_components.select\": \"Selecionar\",\n \"platform.angular_components.not_informed\": \"Não informado\",\n \"platform.angular_components.advanced_search\": \"Pesquisa avançada\",\n \"platform.angular_components.no_records_found\": \"Nenhum registro encontrado\",\n \"platform.angular_components.total_record\": \"{{ count }} registro encontrado\",\n \"platform.angular_components.total_records\": \"{{ count }} registros encontrados\",\n \"platform.angular_components.total_records_selected\": \"{0} registros selecionados\",\n \"platform.angular_components.country_name_br\": \"Brasil\",\n \"platform.angular_components.country_name_us\": \"Estados Unidos\",\n \"platform.angular_components.country_name_co\": \"Colômbia\",\n \"platform.angular_components.country_name_ar\": \"Argentina\",\n \"platform.angular_components.country_name_cl\": \"Chile\",\n \"platform.angular_components.country_name_py\": \"Paraguai\",\n \"platform.angular_components.country_name_uy\": \"Uruguai\",\n \"platform.angular_components.country_name_cn\": \"China\",\n \"platform.angular_components.country_name_ca\": \"Canadá\",\n \"platform.angular_components.country_name_as\": \"Samoa Americana\",\n \"platform.angular_components.country_name_ai\": \"Anguilla\",\n \"platform.angular_components.country_name_ag\": \"AntÃgua e Barbuda\",\n \"platform.angular_components.country_name_bs\": \"Bahamas\",\n \"platform.angular_components.country_name_bb\": \"Barbados\",\n \"platform.angular_components.country_name_bm\": \"Bermuda\",\n \"platform.angular_components.country_name_vg\": \"Ilhas Virgens Britânicas\",\n \"platform.angular_components.country_name_ky\": \"Ilhas Cayman\",\n \"platform.angular_components.country_name_dm\": \"Dominica\",\n \"platform.angular_components.country_name_do\": \"República Dominicana\",\n \"platform.angular_components.country_name_gd\": \"Granada\",\n \"platform.angular_components.country_name_gu\": \"Guam\",\n \"platform.angular_components.country_name_jm\": \"Jamaica\",\n \"platform.angular_components.country_name_ms\": \"Montserrat\",\n \"platform.angular_components.country_name_mp\": \"Ilhas Mariana do Norte\",\n \"platform.angular_components.country_name_pr\": \"Porto Rico\",\n \"platform.angular_components.country_name_kn\": \"Saint Kitts and Nevis\",\n \"platform.angular_components.country_name_lc\": \"Saint Lucia\",\n \"platform.angular_components.country_name_vc\": \"Saint Vincent and the Grenadines\",\n \"platform.angular_components.country_name_tt\": \"Trinidad e Tobago\",\n \"platform.angular_components.country_name_tc\": \"Ilhas Turcas e Caicos\",\n \"platform.angular_components.country_name_fi\": \"Finlândia\",\n \"platform.angular_components.country_name_rs\": \"Sérvia\",\n \"platform.angular_components.country_name_zm\": \"Zâmbia\",\n \"platform.angular_components.country_name_af\": \"Afghanistão\",\n \"platform.angular_components.country_name_al\": \"Albânia\",\n \"platform.angular_components.country_name_hr\": \"Croácia\",\n \"platform.angular_components.country_name_ec\": \"Equador\",\n \"platform.angular_components.country_name_et\": \"Etiópia\",\n \"platform.angular_components.country_name_gh\": \"Gana\",\n \"platform.angular_components.country_name_gr\": \"Grécia\",\n \"platform.angular_components.country_name_ie\": \"Irlanda\",\n \"platform.angular_components.country_name_it\": \"Itália\",\n \"platform.angular_components.country_name_lr\": \"Libéria\",\n \"platform.angular_components.country_name_na\": \"NamÃbia\",\n \"platform.angular_components.country_name_nz\": \"Nova Zelândia\",\n \"platform.angular_components.country_name_sa\": \"Arábia Saudita\",\n \"platform.angular_components.country_name_za\": \"Ãfrica do Sul\",\n \"platform.angular_components.country_name_lk\": \"Sri Lanka\",\n \"platform.angular_components.country_name_sd\": \"Sudão\",\n \"platform.angular_components.country_name_th\": \"Tailândia\",\n \"platform.angular_components.country_name_ua\": \"Ucrânia\",\n \"platform.angular_components.country_name_ae\": \"Emirados Ãrabes Unidos\",\n \"platform.angular_components.country_name_va\": \"Vaticano\",\n \"platform.angular_components.country_name_zw\": \"Zimbábue\",\n \"platform.angular_components.country_name_dz\": \"Argélia\",\n \"platform.angular_components.country_name_be\": \"Bélgica\",\n \"platform.angular_components.country_name_yt\": \"Mayotte\",\n \"platform.angular_components.country_name_bl\": \"Saint Barthelemy\",\n \"platform.angular_components.country_name_mf\": \"Saint Martin\",\n \"platform.angular_components.country_name_ad\": \"Andora\",\n \"platform.angular_components.country_name_ao\": \"Angola\",\n \"platform.angular_components.country_name_ba\": \"Bósnia e Herzegovina\",\n \"platform.angular_components.country_name_bg\": \"Bulgária\",\n \"platform.angular_components.country_name_kh\": \"Camboja\",\n \"platform.angular_components.country_name_cz\": \"República Checa\",\n \"platform.angular_components.country_name_gq\": \"Guiné Equatorial\",\n \"platform.angular_components.country_name_gw\": \"Guiné-Bissau\",\n \"platform.angular_components.country_name_li\": \"Liechtenstein\",\n \"platform.angular_components.country_name_lu\": \"Luxemburgo\",\n \"platform.angular_components.country_name_mk\": \"Macedónia\",\n \"platform.angular_components.country_name_me\": \"Montenegro\",\n \"platform.angular_components.country_name_pe\": \"Peru\",\n \"platform.angular_components.country_name_pl\": \"Polónia\",\n \"platform.angular_components.country_name_pt\": \"Portugal\",\n \"platform.angular_components.country_name_si\": \"Slovenia\",\n \"platform.angular_components.country_name_am\": \"Arménia\",\n \"platform.angular_components.country_name_aw\": \"Aruba\",\n \"platform.angular_components.country_name_bn\": \"Brunei\",\n \"platform.angular_components.country_name_fj\": \"Fiji\",\n \"platform.angular_components.country_name_gm\": \"Gâmbia\",\n \"platform.angular_components.country_name_gy\": \"Guiana\",\n \"platform.angular_components.country_name_is\": \"Islândia\",\n \"platform.angular_components.country_name_fm\": \"Micronésia\",\n \"platform.angular_components.country_name_nr\": \"Nauru\",\n \"platform.angular_components.country_name_nu\": \"Niue\",\n \"platform.angular_components.country_name_pw\": \"Palau\",\n \"platform.angular_components.country_name_st\": \"Sao Tome e Principe\",\n \"platform.angular_components.country_name_to\": \"Tonga\",\n \"platform.angular_components.country_name_vu\": \"Vanuatu\",\n \"platform.angular_components.country_name_fk\": \"Ilhas Falkland (Malvinas)\",\n \"platform.angular_components.country_name_fo\": \"Ilhas Feroé\",\n \"platform.angular_components.country_name_sh\": \"Saint Helena\",\n \"platform.angular_components.country_name_au\": \"Austrália\",\n \"platform.angular_components.country_name_cx\": \"Christmas Island\",\n \"platform.angular_components.country_name_cc\": \"Ilhas Cocos (Keeling)\",\n \"platform.angular_components.country_name_cd\": \"República Democrática do Congo\",\n \"platform.angular_components.country_name_kg\": \"Quirguistão\",\n \"platform.angular_components.country_name_ro\": \"Roménia\",\n \"platform.angular_components.country_name_rw\": \"Ruanda\",\n \"platform.angular_components.country_name_sk\": \"Slovakia\",\n \"platform.angular_components.country_name_sy\": \"Syria\",\n \"platform.angular_components.country_name_tw\": \"Taiwan\",\n \"platform.angular_components.country_name_tz\": \"Tanzânia\",\n \"platform.angular_components.country_name_ye\": \"Iémen (Iémen, Yemen)\",\n \"platform.angular_components.country_name_at\": \"Ãustria\",\n \"platform.angular_components.country_name_ke\": \"Quénia (Kenya)\",\n \"platform.angular_components.country_name_ug\": \"Uganda\",\n \"platform.angular_components.country_name_az\": \"Azerbaijão\",\n \"platform.angular_components.country_name_ch\": \"Suiça\",\n \"platform.angular_components.country_name_vn\": \"Vietnã (Vietname)\",\n \"platform.angular_components.country_name_bh\": \"Bahrein\",\n \"platform.angular_components.country_name_cr\": \"Costa Rica\",\n \"platform.angular_components.country_name_sv\": \"El Salvador\",\n \"platform.angular_components.country_name_ee\": \"Estónia\",\n \"platform.angular_components.country_name_sz\": \"Suazilândia\",\n \"platform.angular_components.country_name_gt\": \"Guatemala\",\n \"platform.angular_components.country_name_hk\": \"Hong Kong\",\n \"platform.angular_components.country_name_ls\": \"Lesoto\",\n \"platform.angular_components.country_name_mo\": \"Macau\",\n \"platform.angular_components.country_name_mt\": \"Malta\",\n \"platform.angular_components.country_name_mu\": \"MaurÃcia\",\n \"platform.angular_components.country_name_mn\": \"Mongólia\",\n \"platform.angular_components.country_name_ni\": \"Nicaragua\",\n \"platform.angular_components.country_name_om\": \"Omã\",\n \"platform.angular_components.country_name_pg\": \"Papua-Nova Guiné\",\n \"platform.angular_components.country_name_qa\": \"Catar\",\n \"platform.angular_components.country_name_sg\": \"Cingapura\",\n \"platform.angular_components.country_name_tl\": \"Timor-Leste\",\n \"platform.angular_components.country_name_bd\": \"Bangladesh\",\n \"platform.angular_components.country_name_im\": \"Ilha de Man\",\n \"platform.angular_components.country_name_by\": \"Bielorrússia\",\n \"platform.angular_components.country_name_bz\": \"Belize\",\n \"platform.angular_components.country_name_mv\": \"Maldivas\",\n \"platform.angular_components.country_name_mh\": \"Ilhas Marshall\",\n \"platform.angular_components.country_name_sr\": \"Suriname\",\n \"platform.angular_components.country_name_bj\": \"Benim\",\n \"platform.angular_components.country_name_bt\": \"Butão\",\n \"platform.angular_components.country_name_bf\": \"Burkina Faso\",\n \"platform.angular_components.country_name_bi\": \"Burundi\",\n \"platform.angular_components.country_name_cf\": \"República Centro-Africana\",\n \"platform.angular_components.country_name_td\": \"Chad\",\n \"platform.angular_components.country_name_ci\": \"Costa do Marfim\",\n \"platform.angular_components.country_name_dk\": \"Dinamarca\",\n \"platform.angular_components.country_name_dj\": \"Djibouti\",\n \"platform.angular_components.country_name_fr\": \"França\",\n \"platform.angular_components.country_name_pf\": \"Polinésia Francesa\",\n \"platform.angular_components.country_name_ga\": \"Gabão\",\n \"platform.angular_components.country_name_ml\": \"Mali\",\n \"platform.angular_components.country_name_mr\": \"Mauritânia\",\n \"platform.angular_components.country_name_ne\": \"NÃger\",\n \"platform.angular_components.country_name_sm\": \"San Marino\",\n \"platform.angular_components.country_name_tg\": \"Togo\",\n \"platform.angular_components.country_name_bo\": \"BolÃvia\",\n \"platform.angular_components.country_name_gi\": \"Gibraltar\",\n \"platform.angular_components.country_name_ki\": \"Kiribati\",\n \"platform.angular_components.country_name_tv\": \"Tuvalu\",\n \"platform.angular_components.country_name_bw\": \"Botswana\",\n \"platform.angular_components.country_name_er\": \"Eritreia\",\n \"platform.angular_components.country_name_lv\": \"Letônia\",\n \"platform.angular_components.country_name_lb\": \"LÃbano\",\n \"platform.angular_components.country_name_tn\": \"TunÃsia\",\n \"platform.angular_components.country_name_cm\": \"Camarões\",\n \"platform.angular_components.country_name_cv\": \"Cabo Verde\",\n \"platform.angular_components.country_name_km\": \"Comores\",\n \"platform.angular_components.country_name_pm\": \"Saint Pierre and Miquelon\",\n \"platform.angular_components.country_name_cg\": \"República do Congo\",\n \"platform.angular_components.country_name_mz\": \"Moçambique\",\n \"platform.angular_components.country_name_mm\": \"Myanmar (Burma)\",\n \"platform.angular_components.country_name_ck\": \"Ilhas Cook\",\n \"platform.angular_components.country_name_cu\": \"Cuba\",\n \"platform.angular_components.country_name_cy\": \"Chipre\",\n \"platform.angular_components.country_name_eg\": \"Egito\",\n \"platform.angular_components.country_name_ir\": \"Irã\",\n \"platform.angular_components.country_name_iq\": \"Iraque\",\n \"platform.angular_components.country_name_ng\": \"Nigéria\",\n \"platform.angular_components.country_name_kp\": \"Coreia do Norte\",\n \"platform.angular_components.country_name_ph\": \"Filipinas\",\n \"platform.angular_components.country_name_ge\": \"Geórgia\",\n \"platform.angular_components.country_name_gn\": \"Guiné\",\n \"platform.angular_components.country_name_es\": \"Espanha\",\n \"platform.angular_components.country_name_de\": \"Alemanha\",\n \"platform.angular_components.country_name_gl\": \"Groelândia\",\n \"platform.angular_components.country_name_wf\": \"Wallis e Futuna\",\n \"platform.angular_components.country_name_ht\": \"Haiti\",\n \"platform.angular_components.country_name_hn\": \"Honduras\",\n \"platform.angular_components.country_name_pa\": \"Panamá\",\n \"platform.angular_components.country_name_hu\": \"Hungria\",\n \"platform.angular_components.country_name_in\": \"India\",\n \"platform.angular_components.country_name_id\": \"Indonésia\",\n \"platform.angular_components.country_name_il\": \"Israel\",\n \"platform.angular_components.country_name_jp\": \"Japão\",\n \"platform.angular_components.country_name_jo\": \"Jordânia\",\n \"platform.angular_components.country_name_kz\": \"Cazaquistão\",\n \"platform.angular_components.country_name_kw\": \"Kuwait\",\n \"platform.angular_components.country_name_la\": \"Laos\",\n \"platform.angular_components.country_name_ly\": \"LÃbia\",\n \"platform.angular_components.country_name_lt\": \"Lituânia\",\n \"platform.angular_components.country_name_np\": \"Nepal\",\n \"platform.angular_components.country_name_mg\": \"Madagáscar\",\n \"platform.angular_components.country_name_mw\": \"Malawi\",\n \"platform.angular_components.country_name_my\": \"Malásia\",\n \"platform.angular_components.country_name_mx\": \"México\",\n \"platform.angular_components.country_name_md\": \"Moldávia\",\n \"platform.angular_components.country_name_mc\": \"Monaco\",\n \"platform.angular_components.country_name_ma\": \"Marrocos\",\n \"platform.angular_components.country_name_nl\": \"PaÃses Baixos\",\n \"platform.angular_components.country_name_nc\": \"Nova Caledônia\",\n \"platform.angular_components.country_name_no\": \"Noruega\",\n \"platform.angular_components.country_name_pk\": \"Paquistão\",\n \"platform.angular_components.country_name_ru\": \"Rússia\",\n \"platform.angular_components.country_name_ws\": \"Samoa\",\n \"platform.angular_components.country_name_sb\": \"Ilhas Salomão\",\n \"platform.angular_components.country_name_sn\": \"Senegal\",\n \"platform.angular_components.country_name_sc\": \"Seychelles\",\n \"platform.angular_components.country_name_sl\": \"Serra Leoa\",\n \"platform.angular_components.country_name_so\": \"Somalia\",\n \"platform.angular_components.country_name_kr\": \"Coreia do Sul\",\n \"platform.angular_components.country_name_se\": \"Suécia\",\n \"platform.angular_components.country_name_tj\": \"Tajiquistão\",\n \"platform.angular_components.country_name_tk\": \"Tokelau\",\n \"platform.angular_components.country_name_tr\": \"Turquia\",\n \"platform.angular_components.country_name_tm\": \"Turquemenistão\",\n \"platform.angular_components.country_name_uz\": \"Uzbequistão\",\n \"platform.angular_components.country_name_ve\": \"Venezuela\",\n \"platform.angular_components.date_modified_custom_blob\": \"Enviado à s {{hour}}:{{minutes}} de {{day}}/{{month}}/{{fullYear}}\",\n \"platform.angular_components.available-items\": \"Itens disponÃveis\",\n \"platform.angular_components.selected-items\": \"Itens selecionados\",\n \"platform.angular_components.picklist-placeholder\": \"Busque pelo nome ou termo\",\n \"platform.angular_components.add_all\": \"Adicionar todos\",\n \"platform.angular_components.remove_all\": \"Remover todos\",\n \"platform.angular_components.country_name_gb\": \"Reino Unido\",\n \"platform.angular_components.insight_footer\": \"Conteúdo gerado por inteligência artificial. Sujeito a imprecisões.\",\n \"platform.angular_components.text_area_speech_recognition_placeholder\": \"Preencha o campo com, pelo menos, uma frase\",\n \"platform.angular_components.text_area_before_speech\": \"Grave ou ouça o texto clicando nos Ãcones\",\n \"platform.angular_components.text_area_while_speech\": \"Clique novamente no Ãcone para finalizar\",\n \"platform.angular_components.text_area_end_speech\": \"Gravação finalizada\",\n \"platform.angular_components.no_microphone_permission\": \"O acesso ao microfone está bloqueado. Ative a permissão nas configurações do navegador para continuar usando este recurso.\"\n};\n"],"names":["EventEmitter","Input","Output","Component","trigger","transition","style","animate","state","Subject","takeUntil","ContentChildren","ViewChild","HostListener","NG_VALUE_ACCESSOR","forwardRef","NgModule","CommonModule","TooltipPosition","Injectable","ElementRef","ApplicationRef","ComponentFactoryResolver","Injector","Renderer2","Directive","FormsModule","ReactiveFormsModule","BadgeColors","TemplateRef","ViewContainerRef","RouterModule","of","tap","from","map","user","switchMap","catchError","HttpClient","CookieService","BigNumber","applyMask","Pipe","moment","AlignmentOptions","first","HostBinding","CurrencyMaskDirective","router","filter","NavigationEnd","PRIMARY_OUTLET","ActivatedRoute","Router","PrimeBreadcrumbModule","ButtonAnimation","ButtonPriority","ButtonSize","DomHandler","TieredMenu","ChangeDetectorRef","PrimengTieredMenu","Calendar","CardTemplateTypes","ViewChildren","TranslateModule","Languages","Themes","ReplaySubject","take","LRLanguage","buildParser","styleTags","tags","service","InjectionToken","TranslateService","Inject","EditorView","StateField","showTooltip","autocompletion","startCompletion","pickedCompletion","LanguageSupport","HighlightStyle","lineNumbers","StateEffect","setDiagnostics","EditorState","Ordination","FormControl","isPlatformBrowser","DomPortalOutlet","portal","TemplatePortal","PLATFORM_ID","NgxMaskModule","PortalModule","FieldType","NumberAlignmentOption","KeyValueDiffers","delay","FormGroup","Hotkey","HotkeysService","Table","Dialog","AutoComplete","ViewEncapsulation","group","query","animateChild","DynamicType","GridType","StructureType","debounceTime","repeat","throwError","ValidateErrors","FileUploadPermissions","DomSanitizer","TooltipModule","ProgressBarModule","NG_VALIDATORS","PasswordStrengths","PasswordStrengthPositions","TableService","RowToggler","EnumColumnFieldType","EnumBadgeColors","Clipboard","fromEvent","NgZone","FormBuilder","InputMask","FileUploadComponent","InputMaskModule","InputTextModule","EditorModule","ContentChild","DialogModule","ThumbnailSize","FileValidation","ConfirmationService","ConfirmDialogModule","KeyFilterModule","FieldsetComponent","AutoCompleteModule","CalendarModule","CheckboxModule","ChipsModule","DropdownModule","HotkeyModule","InputTextareaModule","PanelModule","PrimeButtonModule","PrimeNGTableModule","MultiSelectModule","RadioButtonModule","SliderModule","forkJoin","finalize","Validators","FormArray","HttpEventType","ControlContainer","Optional","HttpClientModule","ViewMode","GlobalSearchSizeEnum","IAInsightTemplateTypes","KanbanTemplateTypes","moveItemInArray","transferArrayItem","DragDropModule","TieredMenuModule","EnumSeverity","ProgressBarColors","FocusTrapFactory","Sidebar","A11yModule","PrimeSidebar","ScrollPanelModule","SplitButtonType","StepState","TimelineItemSeverity","TimelineItemSize","PicklistTemplateTypes","pipe","stagger"],"mappings":"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C,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBACjC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC/B,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,S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"}
|