@naniteninja/dashboard-components-lib 1.0.0
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/esm2022/lib/components/auto-delegation/animations.mjs +20 -0
- package/esm2022/lib/components/auto-delegation/auto-delegation-modal.component.mjs +106 -0
- package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.mjs +6 -0
- package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.mjs +7 -0
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation-data.interface.mjs +2 -0
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation.event.interface.mjs +2 -0
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.mjs +2 -0
- package/esm2022/lib/components/auto-delegation/interface/preferences.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.mjs +37 -0
- package/esm2022/lib/components/calendar/agenda/agenda.component.mjs +98 -0
- package/esm2022/lib/components/calendar/agenda/agenda.module.mjs +24 -0
- package/esm2022/lib/components/calendar/agenda/interfaces/agenda.day.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.mjs +2 -0
- package/esm2022/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.mjs +40 -0
- package/esm2022/lib/components/calendar/components/event-form/event-form.component.mjs +275 -0
- package/esm2022/lib/components/calendar/components/event-form/event-form.module.mjs +89 -0
- package/esm2022/lib/components/calendar/components/event-info/event-info.component.mjs +40 -0
- package/esm2022/lib/components/calendar/enums/calendar.account.enum.mjs +6 -0
- package/esm2022/lib/components/calendar/enums/calendar.account.icons.enum.mjs +6 -0
- package/esm2022/lib/components/calendar/enums/event-type.enum.mjs +10 -0
- package/esm2022/lib/components/calendar/enums/recurring.edit.options.enum.mjs +7 -0
- package/esm2022/lib/components/calendar/enums/recurring.type.enum.mjs +8 -0
- package/esm2022/lib/components/calendar/interfaces/calendar.account.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/calendar.account.theme.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/event.form.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/event.form.output.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/event.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/event.time.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/recurring.event.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/recurring.exception.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/interfaces/recurring.pattern.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/lookups/recurring.options.lookup.mjs +30 -0
- package/esm2022/lib/components/calendar/scheduler/enums/schedule-date-status.enum.mjs +7 -0
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.mjs +2 -0
- package/esm2022/lib/components/calendar/scheduler/mock-schedule.mjs +80 -0
- package/esm2022/lib/components/calendar/scheduler/scheduler.component.mjs +144 -0
- package/esm2022/lib/components/calendar/services/calendar-utils.service.mjs +211 -0
- package/esm2022/lib/components/chat/chat.component.mjs +307 -0
- package/esm2022/lib/components/chat/chat.component.module.mjs +85 -0
- package/esm2022/lib/components/chat/chat.service.mjs +63 -0
- package/esm2022/lib/components/chat/enums/sender-types.enum.mjs +6 -0
- package/esm2022/lib/components/chat/gif-selector/gif-selector.component.mjs +77 -0
- package/esm2022/lib/components/chat/gif-selector/gif-selector.service.mjs +41 -0
- package/esm2022/lib/components/chat/gif-selector/tenor-media-format.interface.mjs +2 -0
- package/esm2022/lib/components/chat/gif-selector/tenor-object.interface.mjs +2 -0
- package/esm2022/lib/components/chat/gif-selector/tenor-result.interface.mjs +2 -0
- package/esm2022/lib/components/chat/interfaces/date-messages.interface.mjs +2 -0
- package/esm2022/lib/components/chat/interfaces/message-attachment.interface.mjs +2 -0
- package/esm2022/lib/components/chat/interfaces/message.interface.mjs +2 -0
- package/esm2022/lib/components/chat/interfaces/send-options-message.interface.mjs +2 -0
- package/esm2022/lib/components/chat/interfaces/type-send-message.enum.mjs +7 -0
- package/esm2022/lib/components/chat-suggestion/chat-suggestion.component.mjs +21 -0
- package/esm2022/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.mjs +2 -0
- package/esm2022/lib/components/circle-progress/circle-progress.component.mjs +143 -0
- package/esm2022/lib/components/circle-progress/circle-progress.module.mjs +18 -0
- package/esm2022/lib/components/circle-progress/enums/circle-variable.enum.mjs +6 -0
- package/esm2022/lib/components/circle-progress/interfaces/circle-progress-config.interface.mjs +2 -0
- package/esm2022/lib/components/client-home/client-home.component.mjs +123 -0
- package/esm2022/lib/components/client-home/enums/client-home-component.enum.mjs +9 -0
- package/esm2022/lib/components/client-home/interfaces/chat-meta.interface.mjs +2 -0
- package/esm2022/lib/components/client-home/interfaces/home-dashboard-inputs.interface.mjs +2 -0
- package/esm2022/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.mjs +2 -0
- package/esm2022/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.mjs +2 -0
- package/esm2022/lib/components/client-home/lookup/client-home.config.mjs +30 -0
- package/esm2022/lib/components/client-home/lookup/inner-progress-default-colors.config.mjs +6 -0
- package/esm2022/lib/components/client-home/lookup/inner-progress-pink-colors.config.mjs +6 -0
- package/esm2022/lib/components/client-home/lookup/inner-progress-purple-colors.config.mjs +6 -0
- package/esm2022/lib/components/client-home/lookup/inner-progress-teal-colors.config.mjs +6 -0
- package/esm2022/lib/components/client-home/lookup/inner-progress-white-colors.config.mjs +10 -0
- package/esm2022/lib/components/client-home/lookup/progress-default-colors.config.mjs +10 -0
- package/esm2022/lib/components/client-home/lookup/progress-white-colors.config.mjs +10 -0
- package/esm2022/lib/components/client-home/pipes/chat-meta.pipe.mjs +60 -0
- package/esm2022/lib/components/client-home/pipes/get-color-by-matcher.pipe.mjs +33 -0
- package/esm2022/lib/components/client-match-overview/client-match-overview.component.mjs +300 -0
- package/esm2022/lib/components/client-match-overview/enums/conversation-flag.enum.mjs +6 -0
- package/esm2022/lib/components/client-match-overview/enums/counter-flag-base.enum.mjs +6 -0
- package/esm2022/lib/components/client-match-overview/enums/inner-circle-state.enum.mjs +8 -0
- package/esm2022/lib/components/client-match-overview/interfaces/client-match-overview.interface.mjs +2 -0
- package/esm2022/lib/components/client-match-overview/interfaces/conversation-flag.interface.mjs +2 -0
- package/esm2022/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.mjs +2 -0
- package/esm2022/lib/components/client-match-overview/interfaces/progress-decision.interface.mjs +2 -0
- package/esm2022/lib/components/client-match-overview/interfaces/progress-facts.interface.mjs +2 -0
- package/esm2022/lib/components/client-match-overview/lookups/computer-inner-state.lookup.mjs +81 -0
- package/esm2022/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.mjs +8 -0
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-gap.config.mjs +4 -0
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.config.mjs +3 -0
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.service.mjs +43 -0
- package/esm2022/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.mjs +113 -0
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.mjs +11 -0
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.mjs +27 -0
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.mjs +19 -0
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.mjs +21 -0
- package/esm2022/lib/components/lib-client-dashboard/client-dashboard.component.mjs +170 -0
- package/esm2022/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.mjs +11 -0
- package/esm2022/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.mjs +7 -0
- package/esm2022/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.mjs +2 -0
- package/esm2022/lib/components/lib-client-dashboard/lookups/client-dashboard.config.mjs +15 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.mjs +146 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.mjs +2 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.mjs +2 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.mjs +2 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.mjs +2 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.mjs +2 -0
- package/esm2022/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.mjs +21 -0
- package/esm2022/lib/components/matcher-statuses/enums/matcher-statuses.enum.mjs +15 -0
- package/esm2022/lib/components/matcher-statuses/interfaces/status.interface.mjs +2 -0
- package/esm2022/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.mjs +54 -0
- package/esm2022/lib/components/matcher-statuses/matcher-statuses.component.mjs +58 -0
- package/esm2022/lib/components/matcher-statuses/pipes/is-status-included.pipe.mjs +19 -0
- package/esm2022/lib/components/profile-card/profile-card.component.mjs +35 -0
- package/esm2022/lib/components/profile-card/profile-card.module.mjs +19 -0
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-circle.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/config.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/dataset.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/polygon-color.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.mjs +2 -0
- package/esm2022/lib/components/spider-chart/lookup/default-spider-config.lookup.mjs +18 -0
- package/esm2022/lib/components/spider-chart/lookup/default-spider-config.mjs +67 -0
- package/esm2022/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.mjs +11 -0
- package/esm2022/lib/components/spider-chart/lookup/svg-config.lookup.mjs +277 -0
- package/esm2022/lib/components/spider-chart/spider-chart.component.mjs +235 -0
- package/esm2022/lib/enums/direction.enum.mjs +6 -0
- package/esm2022/lib/enums/form-field-type.mjs +30 -0
- package/esm2022/lib/enums/local-storage-keys.enum.mjs +5 -0
- package/esm2022/lib/enums/status-types.mjs +8 -0
- package/esm2022/lib/model/select-option-template.mjs +2 -0
- package/esm2022/lib/operations/operations.mjs +19 -0
- package/esm2022/lib/pipes/array-sort/array.sort.pipe.mjs +49 -0
- package/esm2022/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.mjs +17 -0
- package/esm2022/lib/pipes/date-localization/date-localization.pipe.mjs +31 -0
- package/esm2022/lib/pipes/fallback-translate/fallback-translate.pipe.mjs +28 -0
- package/esm2022/lib/pipes/get-display-value/get-display-value.pipe.mjs +59 -0
- package/esm2022/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.mjs +22 -0
- package/esm2022/lib/pipes/initials/initials.pipe.mjs +25 -0
- package/esm2022/lib/pipes/round/round.pipe.mjs +17 -0
- package/esm2022/lib/pipes/update-llm-preference/update-llm-preference.pipe.mjs +25 -0
- package/esm2022/lib/services/abstract-cache.service.mjs +10 -0
- package/esm2022/lib/shared/shared/alert-popup/alert-popup.component.mjs +38 -0
- package/esm2022/lib/shared/shared/message-modal/message-modal.component.mjs +95 -0
- package/esm2022/lib/shared/shared/status-icon/status-icon.component.mjs +14 -0
- package/esm2022/lib/shared/shared.module.mjs +23 -0
- package/esm2022/naniteninja-dashboard-components-lib.mjs +5 -0
- package/esm2022/public-api.mjs +122 -0
- package/fesm2022/naniteninja-dashboard-components-lib.mjs +4334 -0
- package/fesm2022/naniteninja-dashboard-components-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/auto-delegation/animations.d.ts +1 -0
- package/lib/components/auto-delegation/auto-delegation-modal.component.d.ts +29 -0
- package/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.d.ts +4 -0
- package/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.d.ts +5 -0
- package/lib/components/auto-delegation/interface/auto-delegation-data.interface.d.ts +31 -0
- package/lib/components/auto-delegation/interface/auto-delegation.event.interface.d.ts +6 -0
- package/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.d.ts +8 -0
- package/lib/components/auto-delegation/interface/preferences.interface.d.ts +17 -0
- package/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.d.ts +12 -0
- package/lib/components/calendar/agenda/agenda.component.d.ts +22 -0
- package/lib/components/calendar/agenda/agenda.module.d.ts +12 -0
- package/lib/components/calendar/agenda/interfaces/agenda.day.interface.d.ts +7 -0
- package/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.d.ts +9 -0
- package/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.d.ts +19 -0
- package/lib/components/calendar/components/event-form/event-form.component.d.ts +67 -0
- package/lib/components/calendar/components/event-form/event-form.module.d.ts +20 -0
- package/lib/components/calendar/components/event-info/event-info.component.d.ts +24 -0
- package/lib/components/calendar/enums/calendar.account.enum.d.ts +4 -0
- package/lib/components/calendar/enums/calendar.account.icons.enum.d.ts +4 -0
- package/lib/components/calendar/enums/event-type.enum.d.ts +8 -0
- package/lib/components/calendar/enums/recurring.edit.options.enum.d.ts +5 -0
- package/lib/components/calendar/enums/recurring.type.enum.d.ts +6 -0
- package/lib/components/calendar/interfaces/calendar.account.interface.d.ts +14 -0
- package/lib/components/calendar/interfaces/calendar.account.theme.interface.d.ts +5 -0
- package/lib/components/calendar/interfaces/event.form.interface.d.ts +22 -0
- package/lib/components/calendar/interfaces/event.form.output.interface.d.ts +10 -0
- package/lib/components/calendar/interfaces/event.interface.d.ts +33 -0
- package/lib/components/calendar/interfaces/event.time.interface.d.ts +4 -0
- package/lib/components/calendar/interfaces/recurring.event.interface.d.ts +16 -0
- package/lib/components/calendar/interfaces/recurring.exception.interface.d.ts +14 -0
- package/lib/components/calendar/interfaces/recurring.pattern.interface.d.ts +16 -0
- package/lib/components/calendar/lookups/recurring.options.lookup.d.ts +2 -0
- package/lib/components/calendar/scheduler/enums/schedule-date-status.enum.d.ts +5 -0
- package/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.d.ts +10 -0
- package/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.d.ts +5 -0
- package/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.d.ts +26 -0
- package/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.d.ts +13 -0
- package/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.d.ts +6 -0
- package/lib/components/calendar/scheduler/mock-schedule.d.ts +9 -0
- package/lib/components/calendar/scheduler/scheduler.component.d.ts +36 -0
- package/lib/components/calendar/services/calendar-utils.service.d.ts +39 -0
- package/lib/components/chat/chat.component.d.ts +70 -0
- package/lib/components/chat/chat.component.module.d.ts +22 -0
- package/lib/components/chat/chat.service.d.ts +15 -0
- package/lib/components/chat/enums/sender-types.enum.d.ts +4 -0
- package/lib/components/chat/gif-selector/gif-selector.component.d.ts +25 -0
- package/lib/components/chat/gif-selector/gif-selector.service.d.ts +15 -0
- package/lib/components/chat/gif-selector/tenor-media-format.interface.d.ts +7 -0
- package/lib/components/chat/gif-selector/tenor-object.interface.d.ts +5 -0
- package/lib/components/chat/gif-selector/tenor-result.interface.d.ts +16 -0
- package/lib/components/chat/interfaces/date-messages.interface.d.ts +6 -0
- package/lib/components/chat/interfaces/message-attachment.interface.d.ts +6 -0
- package/lib/components/chat/interfaces/message.interface.d.ts +11 -0
- package/lib/components/chat/interfaces/send-options-message.interface.d.ts +5 -0
- package/lib/components/chat/interfaces/type-send-message.enum.d.ts +5 -0
- package/lib/components/chat-suggestion/chat-suggestion.component.d.ts +9 -0
- package/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.d.ts +4 -0
- package/lib/components/circle-progress/circle-progress.component.d.ts +31 -0
- package/lib/components/circle-progress/circle-progress.module.d.ts +8 -0
- package/lib/components/circle-progress/enums/circle-variable.enum.d.ts +4 -0
- package/lib/components/circle-progress/interfaces/circle-progress-config.interface.d.ts +29 -0
- package/lib/components/client-home/client-home.component.d.ts +44 -0
- package/lib/components/client-home/enums/client-home-component.enum.d.ts +7 -0
- package/lib/components/client-home/interfaces/chat-meta.interface.d.ts +7 -0
- package/lib/components/client-home/interfaces/home-dashboard-inputs.interface.d.ts +45 -0
- package/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.d.ts +5 -0
- package/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.d.ts +9 -0
- package/lib/components/client-home/lookup/client-home.config.d.ts +2 -0
- package/lib/components/client-home/lookup/inner-progress-default-colors.config.d.ts +2 -0
- package/lib/components/client-home/lookup/inner-progress-pink-colors.config.d.ts +2 -0
- package/lib/components/client-home/lookup/inner-progress-purple-colors.config.d.ts +2 -0
- package/lib/components/client-home/lookup/inner-progress-teal-colors.config.d.ts +2 -0
- package/lib/components/client-home/lookup/inner-progress-white-colors.config.d.ts +2 -0
- package/lib/components/client-home/lookup/progress-default-colors.config.d.ts +2 -0
- package/lib/components/client-home/lookup/progress-white-colors.config.d.ts +2 -0
- package/lib/components/client-home/pipes/chat-meta.pipe.d.ts +10 -0
- package/lib/components/client-home/pipes/get-color-by-matcher.pipe.d.ts +10 -0
- package/lib/components/client-match-overview/client-match-overview.component.d.ts +55 -0
- package/lib/components/client-match-overview/enums/conversation-flag.enum.d.ts +4 -0
- package/lib/components/client-match-overview/enums/counter-flag-base.enum.d.ts +4 -0
- package/lib/components/client-match-overview/enums/inner-circle-state.enum.d.ts +6 -0
- package/lib/components/client-match-overview/interfaces/client-match-overview.interface.d.ts +19 -0
- package/lib/components/client-match-overview/interfaces/conversation-flag.interface.d.ts +8 -0
- package/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.d.ts +7 -0
- package/lib/components/client-match-overview/interfaces/progress-decision.interface.d.ts +10 -0
- package/lib/components/client-match-overview/interfaces/progress-facts.interface.d.ts +11 -0
- package/lib/components/client-match-overview/lookups/computer-inner-state.lookup.d.ts +7 -0
- package/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.d.ts +5 -0
- package/lib/components/client-match-overview/progress-ticker/progress-gap.config.d.ts +2 -0
- package/lib/components/client-match-overview/progress-ticker/progress-ticker.config.d.ts +2 -0
- package/lib/components/client-match-overview/progress-ticker/progress-ticker.service.d.ts +11 -0
- package/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.d.ts +29 -0
- package/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.d.ts +2 -0
- package/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.d.ts +2 -0
- package/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.d.ts +2 -0
- package/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.d.ts +2 -0
- package/lib/components/lib-client-dashboard/client-dashboard.component.d.ts +73 -0
- package/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.d.ts +9 -0
- package/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.d.ts +5 -0
- package/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.d.ts +29 -0
- package/lib/components/lib-client-dashboard/lookups/client-dashboard.config.d.ts +2 -0
- package/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.d.ts +48 -0
- package/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.d.ts +5 -0
- package/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.d.ts +5 -0
- package/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.d.ts +26 -0
- package/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.d.ts +8 -0
- package/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.d.ts +24 -0
- package/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.d.ts +9 -0
- package/lib/components/matcher-statuses/enums/matcher-statuses.enum.d.ts +13 -0
- package/lib/components/matcher-statuses/interfaces/status.interface.d.ts +6 -0
- package/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.d.ts +2 -0
- package/lib/components/matcher-statuses/matcher-statuses.component.d.ts +23 -0
- package/lib/components/matcher-statuses/pipes/is-status-included.pipe.d.ts +8 -0
- package/lib/components/profile-card/profile-card.component.d.ts +11 -0
- package/lib/components/profile-card/profile-card.module.d.ts +9 -0
- package/lib/components/spider-chart/interfaces/chart-data-circle.interface.d.ts +10 -0
- package/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.d.ts +11 -0
- package/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.d.ts +11 -0
- package/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.d.ts +10 -0
- package/lib/components/spider-chart/interfaces/config.interface.d.ts +19 -0
- package/lib/components/spider-chart/interfaces/dataset.interface.d.ts +7 -0
- package/lib/components/spider-chart/interfaces/polygon-color.interface.d.ts +4 -0
- package/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.d.ts +6 -0
- package/lib/components/spider-chart/lookup/default-spider-config.d.ts +2 -0
- package/lib/components/spider-chart/lookup/default-spider-config.lookup.d.ts +2 -0
- package/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.d.ts +2 -0
- package/lib/components/spider-chart/lookup/svg-config.lookup.d.ts +8 -0
- package/lib/components/spider-chart/spider-chart.component.d.ts +52 -0
- package/lib/enums/direction.enum.d.ts +4 -0
- package/lib/enums/form-field-type.d.ts +28 -0
- package/lib/enums/local-storage-keys.enum.d.ts +3 -0
- package/lib/enums/status-types.d.ts +6 -0
- package/lib/model/select-option-template.d.ts +5 -0
- package/lib/operations/operations.d.ts +19 -0
- package/lib/pipes/array-sort/array.sort.pipe.d.ts +7 -0
- package/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.d.ts +7 -0
- package/lib/pipes/date-localization/date-localization.pipe.d.ts +8 -0
- package/lib/pipes/fallback-translate/fallback-translate.pipe.d.ts +11 -0
- package/lib/pipes/get-display-value/get-display-value.pipe.d.ts +13 -0
- package/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.d.ts +8 -0
- package/lib/pipes/initials/initials.pipe.d.ts +7 -0
- package/lib/pipes/round/round.pipe.d.ts +7 -0
- package/lib/pipes/update-llm-preference/update-llm-preference.pipe.d.ts +8 -0
- package/lib/services/abstract-cache.service.d.ts +9 -0
- package/lib/shared/shared/alert-popup/alert-popup.component.d.ts +14 -0
- package/lib/shared/shared/message-modal/message-modal.component.d.ts +29 -0
- package/lib/shared/shared/status-icon/status-icon.component.d.ts +7 -0
- package/lib/shared/shared.module.d.ts +13 -0
- package/naniteninja-dashboard-components-lib-1.0.0.tgz +0 -0
- package/package.json +69 -0
- package/public-api.d.ts +121 -0
- package/src/assets/auto-delegation-modal/cross.svg +17 -0
- package/src/assets/auto-delegation-modal/menu.svg +3 -0
- package/src/assets/auto-delegation-modal/timer-center-dot.svg +25 -0
- package/src/assets/auto-delegation-modal/user-profile.svg +9 -0
- package/src/assets/circle-progress/circle-progress-1.svg +159 -0
- package/src/assets/circle-progress/circle-progress-2.svg +155 -0
- package/src/assets/circle-progress/circle-progress-3.svg +25 -0
- package/src/assets/circle-progress/circle-progress.svg +159 -0
- package/src/assets/client-match-overview/background-eclipse.svg +13 -0
- package/src/assets/fonts/calistoga/Calistoga-Regular.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Black.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-BlackItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Bold.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-BoldItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-ExtraBold.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-ExtraBoldItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Heavy.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-HeavyItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Light.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-LightItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Medium.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-MediumItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Regular.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-RegularItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-SemiBold.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-SemiBoldItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-Thin.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-ThinItalic.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-UltraLight.ttf +0 -0
- package/src/assets/fonts/gilroy/Gilroy-UltraLightItalic.ttf +0 -0
- package/src/assets/grid/icons/filter-button.svg +47 -0
- package/src/assets/grid/images/chips-background-shadow.svg +34 -0
- package/src/assets/icons/back-v2.svg +14 -0
- package/src/assets/icons/checkbox/checkbox-off.svg +72 -0
- package/src/assets/icons/checkbox/checkbox-on.svg +113 -0
- package/src/assets/icons/checkmark-button.svg +72 -0
- package/src/assets/icons/checkmark.svg +7 -0
- package/src/assets/icons/close-icon.svg +3 -0
- package/src/assets/icons/compose-matcher/notes.svg +4 -0
- package/src/assets/icons/compose-matcher/profile.svg +4 -0
- package/src/assets/icons/compose-matcher/suggest.svg +3 -0
- package/src/assets/icons/compose-matcher/visual.svg +3 -0
- package/src/assets/icons/default-profile.svg +23 -0
- package/src/assets/icons/defualt.svg +5 -0
- package/src/assets/icons/first-page.svg +7 -0
- package/src/assets/icons/incrementer/minus.svg +3 -0
- package/src/assets/icons/incrementer/plus.svg +3 -0
- package/src/assets/icons/info.svg +5 -0
- package/src/assets/icons/last-page.svg +7 -0
- package/src/assets/icons/minus.svg +3 -0
- package/src/assets/icons/next-page.svg +6 -0
- package/src/assets/icons/plus.svg +3 -0
- package/src/assets/icons/popup-defualt.svg +34 -0
- package/src/assets/icons/prev-page.svg +6 -0
- package/src/assets/icons/send-icon.svg +4 -0
- package/src/assets/icons/shake.svg +74 -0
- package/src/assets/icons/thumbs-up.svg +28 -0
- package/src/assets/nsfw/blazeface.bundle.js +2 -0
- package/src/assets/nsfw/model/group1-shard1of1 +0 -0
- package/src/assets/nsfw/model/model.json +4085 -0
- package/src/assets/nsfw/nsfwjs.bundle.js +2 -0
- package/src/assets/nsfw/tf.bundle.js +2 -0
- package/src/assets/scheduler/accept.svg +3 -0
- package/src/assets/scheduler/accept_active.svg +3 -0
- package/src/assets/scheduler/arrow.svg +13 -0
- package/src/assets/scheduler/cancel.svg +3 -0
- package/src/assets/scheduler/cancel_active.svg +3 -0
- package/src/assets/scheduler/heart.svg +18 -0
- package/src/assets/trait-visual/force-directed-graph.png +0 -0
- package/src/lib/shared-styles/common/_colors.scss +30 -0
- package/src/lib/shared-styles/common/animations.scss +48 -0
- package/src/lib/shared-styles/common/base-input-field.scss +132 -0
- package/src/lib/shared-styles/common/buttons.scss +152 -0
- package/src/lib/shared-styles/common/cards.scss +163 -0
- package/src/lib/shared-styles/common/client-dash.scss +5 -0
- package/src/lib/shared-styles/common/date-picker.scss +179 -0
- package/src/lib/shared-styles/common/draggable-scroll-and-marquee.scss +34 -0
- package/src/lib/shared-styles/common/feedback.scss +157 -0
- package/src/lib/shared-styles/common/fonts.scss +3 -0
- package/src/lib/shared-styles/common/information-card.scss +56 -0
- package/src/lib/shared-styles/common/input.scss +110 -0
- package/src/lib/shared-styles/common/lib-styles-utils.scss +157 -0
- package/src/lib/shared-styles/common/lists.scss +91 -0
- package/src/lib/shared-styles/common/login.scss +32 -0
- package/src/lib/shared-styles/common/maps.scss +10 -0
- package/src/lib/shared-styles/common/matcher-dash.scss +49 -0
- package/src/lib/shared-styles/common/modal_styles.scss +32 -0
- package/src/lib/shared-styles/common/notifications-list.scss +9 -0
- package/src/lib/shared-styles/common/overrides.scss +6 -0
- package/src/lib/shared-styles/common/pulse.scss +26 -0
- package/src/lib/shared-styles/common/swiper.scss +5 -0
- package/src/lib/shared-styles/common/tab-menu.scss +74 -0
- package/src/lib/shared-styles/common/theme.scss +55 -0
- package/src/lib/shared-styles/common/typography.scss +121 -0
- package/src/lib/shared-styles/common/user-menu.scss +129 -0
- package/src/lib/shared-styles/fonts/calistoga.font.scss +6 -0
- package/src/lib/shared-styles/fonts/gilroy.font.scss +160 -0
- package/src/lib/shared-styles/images/compress.png +0 -0
- package/src/lib/shared-styles/images/expand.png +0 -0
- package/src/lib/shared-styles/styles.scss +25 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
+
import { MatInputModule } from '@angular/material/input';
|
|
6
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
7
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
+
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
9
|
+
// import { DirectiveModule } from '../../directives/directive.module';
|
|
10
|
+
import { SharedModule } from '../../shared/shared.module';
|
|
11
|
+
import { ChatComponent } from '../chat/chat.component';
|
|
12
|
+
import { InputFieldModule, LibModalModule, ImageCardModule } from '@naniteninja/ionic-lib';
|
|
13
|
+
import { ChatService } from './chat.service';
|
|
14
|
+
import { GifSelectorComponent } from './gif-selector/gif-selector.component';
|
|
15
|
+
import { GifSelectorService } from './gif-selector/gif-selector.service';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
export class LibChatComponentModule {
|
|
18
|
+
static forRoot(config) {
|
|
19
|
+
return {
|
|
20
|
+
ngModule: LibChatComponentModule,
|
|
21
|
+
providers: [
|
|
22
|
+
{
|
|
23
|
+
provide: GifSelectorService,
|
|
24
|
+
useFactory: () => {
|
|
25
|
+
const gifService = new GifSelectorService();
|
|
26
|
+
gifService.setTenorKey(config.tenorKey);
|
|
27
|
+
gifService.setTenorURL(config.tenorURL);
|
|
28
|
+
return gifService;
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibChatComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
35
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: LibChatComponentModule, declarations: [ChatComponent], imports: [CommonModule,
|
|
36
|
+
ImageCardModule,
|
|
37
|
+
MatInputModule,
|
|
38
|
+
MatSelectModule,
|
|
39
|
+
MatFormFieldModule,
|
|
40
|
+
InputFieldModule,
|
|
41
|
+
FormsModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
GifSelectorComponent,
|
|
44
|
+
LibModalModule,
|
|
45
|
+
SharedModule,
|
|
46
|
+
InfiniteScrollModule,
|
|
47
|
+
TranslateModule], exports: [ChatComponent] }); }
|
|
48
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibChatComponentModule, providers: [ChatService], imports: [CommonModule,
|
|
49
|
+
ImageCardModule,
|
|
50
|
+
MatInputModule,
|
|
51
|
+
MatSelectModule,
|
|
52
|
+
MatFormFieldModule,
|
|
53
|
+
InputFieldModule,
|
|
54
|
+
FormsModule,
|
|
55
|
+
ReactiveFormsModule,
|
|
56
|
+
GifSelectorComponent,
|
|
57
|
+
LibModalModule,
|
|
58
|
+
SharedModule,
|
|
59
|
+
InfiniteScrollModule,
|
|
60
|
+
TranslateModule] }); }
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibChatComponentModule, decorators: [{
|
|
63
|
+
type: NgModule,
|
|
64
|
+
args: [{
|
|
65
|
+
declarations: [ChatComponent],
|
|
66
|
+
imports: [
|
|
67
|
+
CommonModule,
|
|
68
|
+
ImageCardModule,
|
|
69
|
+
MatInputModule,
|
|
70
|
+
MatSelectModule,
|
|
71
|
+
MatFormFieldModule,
|
|
72
|
+
InputFieldModule,
|
|
73
|
+
FormsModule,
|
|
74
|
+
ReactiveFormsModule,
|
|
75
|
+
GifSelectorComponent,
|
|
76
|
+
LibModalModule,
|
|
77
|
+
SharedModule,
|
|
78
|
+
InfiniteScrollModule,
|
|
79
|
+
TranslateModule,
|
|
80
|
+
],
|
|
81
|
+
exports: [ChatComponent],
|
|
82
|
+
providers: [ChatService],
|
|
83
|
+
}]
|
|
84
|
+
}] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NoYXQuY29tcG9uZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELHVFQUF1RTtBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQXNCekUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQThDO1FBQzNELE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixVQUFVLEVBQUUsR0FBRyxFQUFFO3dCQUNmLE1BQU0sVUFBVSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQzt3QkFDNUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3hDLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUN4QyxPQUFPLFVBQVUsQ0FBQztvQkFDcEIsQ0FBQztpQkFDRjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBaEJVLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQW5CbEIsYUFBYSxhQUUxQixZQUFZO1lBQ1osZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixlQUFlLGFBRVAsYUFBYTtnSEFHWixzQkFBc0IsYUFGdEIsQ0FBQyxXQUFXLENBQUMsWUFmdEIsWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsZUFBZTs7NEZBS04sc0JBQXNCO2tCQXBCbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQzdCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcclxuLy8gaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGF0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2hhdC9jaGF0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RmllbGRNb2R1bGUsIExpYk1vZGFsTW9kdWxlLCBJbWFnZUNhcmRNb2R1bGUgfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJztcclxuaW1wb3J0IHsgQ2hhdFNlcnZpY2UgfSBmcm9tICcuL2NoYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IEdpZlNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9naWYtc2VsZWN0b3IvZ2lmLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdpZlNlbGVjdG9yU2VydmljZSB9IGZyb20gJy4vZ2lmLXNlbGVjdG9yL2dpZi1zZWxlY3Rvci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQ2hhdENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSW1hZ2VDYXJkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBJbnB1dEZpZWxkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgR2lmU2VsZWN0b3JDb21wb25lbnQsXHJcbiAgICBMaWJNb2RhbE1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0NoYXRDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW0NoYXRTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYkNoYXRDb21wb25lbnRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogeyB0ZW5vcktleTogc3RyaW5nOyB0ZW5vclVSTDogc3RyaW5nIH0pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPExpYkNoYXRDb21wb25lbnRNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBMaWJDaGF0Q29tcG9uZW50TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBHaWZTZWxlY3RvclNlcnZpY2UsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGdpZlNlcnZpY2UgPSBuZXcgR2lmU2VsZWN0b3JTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgIGdpZlNlcnZpY2Uuc2V0VGVub3JLZXkoY29uZmlnLnRlbm9yS2V5KTtcclxuICAgICAgICAgICAgZ2lmU2VydmljZS5zZXRUZW5vclVSTChjb25maWcudGVub3JVUkwpO1xyXG4gICAgICAgICAgICByZXR1cm4gZ2lmU2VydmljZTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { startOfDay } from 'date-fns';
|
|
3
|
+
import { map } from 'rxjs';
|
|
4
|
+
import { LocalStorageKeys } from '../../enums/local-storage-keys.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services/abstract-cache.service";
|
|
7
|
+
export class ChatService {
|
|
8
|
+
constructor(cacheService) {
|
|
9
|
+
this.cacheService = cacheService;
|
|
10
|
+
}
|
|
11
|
+
setLongPressForSendImmediately(enabled) {
|
|
12
|
+
this.cacheService.saveLocalStorage(LocalStorageKeys.LongPressForSendImmediately, enabled ? '1' : '0');
|
|
13
|
+
}
|
|
14
|
+
isLongPressForSendImmediately() {
|
|
15
|
+
return this.cacheService.getLocalStorage(LocalStorageKeys.LongPressForSendImmediately).pipe(map((value) => value === '1'));
|
|
16
|
+
}
|
|
17
|
+
// transforms |messages| into |DateMessages| array
|
|
18
|
+
transformMessages(messages) {
|
|
19
|
+
const sorted = [...messages].sort((a, b) => a.timestamp?.getTime() - b.timestamp?.getTime());
|
|
20
|
+
const seen = new Set();
|
|
21
|
+
return sorted.map((msg) => {
|
|
22
|
+
const dayStart = startOfDay(msg.timestamp); // midnight *local*
|
|
23
|
+
if (dayStart) {
|
|
24
|
+
const key = dayStart.getTime(); // epoch ms as the bucket id
|
|
25
|
+
const isFirst = !seen.has(String(key));
|
|
26
|
+
if (isFirst)
|
|
27
|
+
seen.add(String(key));
|
|
28
|
+
return { date: dayStart, isFirstMessage: isFirst, message: msg };
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// updates |isFirstMessage| property of |DateMessages| array
|
|
36
|
+
updateDateMessages(dateMessages) {
|
|
37
|
+
const byDay = new Map();
|
|
38
|
+
dateMessages.forEach((dm) => {
|
|
39
|
+
const dayStart = startOfDay(dm.message.timestamp).getTime(); // epoch-ms key
|
|
40
|
+
if (!byDay.has(dayStart))
|
|
41
|
+
byDay.set(dayStart, []);
|
|
42
|
+
byDay.get(dayStart).push(dm);
|
|
43
|
+
});
|
|
44
|
+
// 2️⃣ Within each bucket, sort and flag the first message
|
|
45
|
+
const result = [];
|
|
46
|
+
byDay.forEach((list) => {
|
|
47
|
+
// ✨ clone so we don’t mutate callers’ state
|
|
48
|
+
const sorted = [...list].sort((a, b) => a.message.timestamp.getTime() - b.message.timestamp.getTime());
|
|
49
|
+
sorted.forEach((dm, idx) => (dm.isFirstMessage = idx === 0));
|
|
50
|
+
result.push(...sorted);
|
|
51
|
+
});
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatService, deps: [{ token: i1.AbstractCacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatService, providedIn: 'root' }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatService, decorators: [{
|
|
58
|
+
type: Injectable,
|
|
59
|
+
args: [{
|
|
60
|
+
providedIn: 'root',
|
|
61
|
+
}]
|
|
62
|
+
}], ctorParameters: () => [{ type: i1.AbstractCacheService }] });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2NoYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBUXZFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW1CLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtJQUFHLENBQUM7SUFFbEQsOEJBQThCLENBQUMsT0FBZ0I7UUFDcEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLDZCQUE2QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFTLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckksQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxpQkFBaUIsQ0FBQyxRQUFvQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CO1lBQy9ELElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsNEJBQTRCO2dCQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksT0FBTztvQkFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUVuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNERBQTREO0lBQzVELGtCQUFrQixDQUFDLFlBQTZCO1FBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBRWpELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGVBQWU7WUFDNUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsMkRBQTJEO1FBQzNELE1BQU0sTUFBTSxHQUFvQixFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLDZDQUE2QztZQUM3QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUV2RyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBbkRVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlS2V5cyB9IGZyb20gJy4uLy4uL2VudW1zL2xvY2FsLXN0b3JhZ2Uta2V5cy5lbnVtJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hYnN0cmFjdC1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSURhdGVNZXNzYWdlcyB9IGZyb20gJy4vaW50ZXJmYWNlcy9kYXRlLW1lc3NhZ2VzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL21lc3NhZ2UuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGF0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNhY2hlU2VydmljZTogQWJzdHJhY3RDYWNoZVNlcnZpY2UpIHt9XHJcblxyXG4gIHB1YmxpYyBzZXRMb25nUHJlc3NGb3JTZW5kSW1tZWRpYXRlbHkoZW5hYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2F2ZUxvY2FsU3RvcmFnZShMb2NhbFN0b3JhZ2VLZXlzLkxvbmdQcmVzc0ZvclNlbmRJbW1lZGlhdGVseSwgZW5hYmxlZCA/ICcxJyA6ICcwJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNMb25nUHJlc3NGb3JTZW5kSW1tZWRpYXRlbHkoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlPHN0cmluZz4oTG9jYWxTdG9yYWdlS2V5cy5Mb25nUHJlc3NGb3JTZW5kSW1tZWRpYXRlbHkpLnBpcGUobWFwKCh2YWx1ZSkgPT4gdmFsdWUgPT09ICcxJykpO1xyXG4gIH1cclxuXHJcbiAgLy8gdHJhbnNmb3JtcyB8bWVzc2FnZXN8IGludG8gfERhdGVNZXNzYWdlc3wgYXJyYXlcclxuICB0cmFuc2Zvcm1NZXNzYWdlcyhtZXNzYWdlczogSU1lc3NhZ2VbXSk6IElEYXRlTWVzc2FnZXNbXSB7XHJcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4ubWVzc2FnZXNdLnNvcnQoKGEsIGIpID0+IGEudGltZXN0YW1wPy5nZXRUaW1lKCkgLSBiLnRpbWVzdGFtcD8uZ2V0VGltZSgpKTtcclxuICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgICByZXR1cm4gc29ydGVkLm1hcCgobXNnKSA9PiB7XHJcbiAgICAgIGNvbnN0IGRheVN0YXJ0ID0gc3RhcnRPZkRheShtc2cudGltZXN0YW1wKTsgLy8gbWlkbmlnaHQgKmxvY2FsKlxyXG4gICAgICBpZiAoZGF5U3RhcnQpIHtcclxuICAgICAgICBjb25zdCBrZXkgPSBkYXlTdGFydC5nZXRUaW1lKCk7IC8vIGVwb2NoIG1zIGFzIHRoZSBidWNrZXQgaWRcclxuICAgICAgICBjb25zdCBpc0ZpcnN0ID0gIXNlZW4uaGFzKFN0cmluZyhrZXkpKTtcclxuICAgICAgICBpZiAoaXNGaXJzdCkgc2Vlbi5hZGQoU3RyaW5nKGtleSkpO1xyXG5cclxuICAgICAgICByZXR1cm4geyBkYXRlOiBkYXlTdGFydCwgaXNGaXJzdE1lc3NhZ2U6IGlzRmlyc3QsIG1lc3NhZ2U6IG1zZyB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHVwZGF0ZXMgfGlzRmlyc3RNZXNzYWdlfCBwcm9wZXJ0eSBvZiB8RGF0ZU1lc3NhZ2VzfCBhcnJheVxyXG4gIHVwZGF0ZURhdGVNZXNzYWdlcyhkYXRlTWVzc2FnZXM6IElEYXRlTWVzc2FnZXNbXSk6IElEYXRlTWVzc2FnZXNbXSB7XHJcbiAgICBjb25zdCBieURheSA9IG5ldyBNYXA8bnVtYmVyLCBJRGF0ZU1lc3NhZ2VzW10+KCk7XHJcblxyXG4gICAgZGF0ZU1lc3NhZ2VzLmZvckVhY2goKGRtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGRheVN0YXJ0ID0gc3RhcnRPZkRheShkbS5tZXNzYWdlLnRpbWVzdGFtcCkuZ2V0VGltZSgpOyAvLyBlcG9jaC1tcyBrZXlcclxuICAgICAgaWYgKCFieURheS5oYXMoZGF5U3RhcnQpKSBieURheS5zZXQoZGF5U3RhcnQsIFtdKTtcclxuICAgICAgYnlEYXkuZ2V0KGRheVN0YXJ0KSEucHVzaChkbSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAy77iP4oOjICBXaXRoaW4gZWFjaCBidWNrZXQsIHNvcnQgYW5kIGZsYWcgdGhlIGZpcnN0IG1lc3NhZ2VcclxuICAgIGNvbnN0IHJlc3VsdDogSURhdGVNZXNzYWdlc1tdID0gW107XHJcbiAgICBieURheS5mb3JFYWNoKChsaXN0KSA9PiB7XHJcbiAgICAgIC8vIOKcqCAgY2xvbmUgc28gd2UgZG9u4oCZdCBtdXRhdGUgY2FsbGVyc+KAmSBzdGF0ZVxyXG4gICAgICBjb25zdCBzb3J0ZWQgPSBbLi4ubGlzdF0uc29ydCgoYSwgYikgPT4gYS5tZXNzYWdlLnRpbWVzdGFtcC5nZXRUaW1lKCkgLSBiLm1lc3NhZ2UudGltZXN0YW1wLmdldFRpbWUoKSk7XHJcblxyXG4gICAgICBzb3J0ZWQuZm9yRWFjaCgoZG0sIGlkeCkgPT4gKGRtLmlzRmlyc3RNZXNzYWdlID0gaWR4ID09PSAwKSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnNvcnRlZCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var SenderTypes;
|
|
2
|
+
(function (SenderTypes) {
|
|
3
|
+
SenderTypes["USER"] = "user";
|
|
4
|
+
SenderTypes["OTHER"] = "other";
|
|
5
|
+
})(SenderTypes || (SenderTypes = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZGVyLXR5cGVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvZW51bXMvc2VuZGVyLXR5cGVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsOEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZW5kZXJUeXBlcyB7XHJcbiAgVVNFUiA9ICd1c2VyJyxcclxuICBPVEhFUiA9ICdvdGhlcicsXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, Output } from '@angular/core';
|
|
3
|
+
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
5
|
+
import { debounceTime, distinctUntilChanged, Subject, switchMap, takeUntil } from 'rxjs';
|
|
6
|
+
import { GifSelectorService } from './gif-selector.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "ngx-infinite-scroll";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
export class GifSelectorComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
14
|
+
this.gifService = inject(GifSelectorService);
|
|
15
|
+
this.destroy$ = new Subject();
|
|
16
|
+
this.pos = '';
|
|
17
|
+
this.gifs = [];
|
|
18
|
+
this.throttle = 150;
|
|
19
|
+
this.distance = 2;
|
|
20
|
+
this.selectGif = new EventEmitter();
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.buildForm();
|
|
24
|
+
this.getGifs('popular').subscribe((gifs) => {
|
|
25
|
+
this.gifs = gifs.results;
|
|
26
|
+
this.pos = gifs.next;
|
|
27
|
+
this.cdr.markForCheck();
|
|
28
|
+
});
|
|
29
|
+
this.form
|
|
30
|
+
.get('gifTerm')
|
|
31
|
+
.valueChanges.pipe(debounceTime(800), // Waits 800ms after the user stops typing
|
|
32
|
+
distinctUntilChanged(), // Prevents emiting repetitive consecutive values
|
|
33
|
+
switchMap((value) => {
|
|
34
|
+
return this.getGifs(value);
|
|
35
|
+
}), takeUntil(this.destroy$))
|
|
36
|
+
.subscribe({
|
|
37
|
+
next: (gifs) => {
|
|
38
|
+
this.gifs = gifs.results;
|
|
39
|
+
this.pos = gifs.next;
|
|
40
|
+
this.cdr.markForCheck();
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
onScrollGifs() {
|
|
45
|
+
const term = this.form.get('gifTerm').value;
|
|
46
|
+
const searchTerm = term?.trim() || 'popular';
|
|
47
|
+
this.getGifs(searchTerm).subscribe((gifs) => {
|
|
48
|
+
this.gifs.push(...gifs.results);
|
|
49
|
+
this.pos = gifs.next;
|
|
50
|
+
this.cdr.markForCheck();
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
ngOnDestroy() {
|
|
54
|
+
this.destroy$.next();
|
|
55
|
+
this.destroy$.complete();
|
|
56
|
+
}
|
|
57
|
+
getGifs(term) {
|
|
58
|
+
return this.gifService.getGifs(term, this.pos);
|
|
59
|
+
}
|
|
60
|
+
buildForm() {
|
|
61
|
+
this.form = new FormGroup({
|
|
62
|
+
gifTerm: new FormControl(''),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
onGifClick(url) {
|
|
66
|
+
this.selectGif.emit(url);
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GifSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GifSelectorComponent, isStandalone: true, selector: "lib-gif-selector", outputs: { selectGif: "selectGif" }, ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\" libFocusInvalidInput *ngIf=\"form\">\r\n <input type=\"text\" formControlName=\"gifTerm\" />\r\n <div\r\n infiniteScroll\r\n [infiniteScrollDistance]=\"distance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n [scrollWindow]=\"false\"\r\n (scrolled)=\"onScrollGifs()\"\r\n class=\"gifs-container\"\r\n style=\"display: flex; gap: 1px; flex-wrap: wrap\"\r\n >\r\n <img [src]=\"gif.media_formats.nanogif.url\" class=\"gif\" *ngFor=\"let gif of gifs\" (click)=\"onGifClick(gif.media_formats.nanogif.url)\" />\r\n </div>\r\n</form>\r\n", styles: [":host{width:100%;height:100%;font-size:clamp(0px,3.2dvw,15px)}:host form{border-radius:1em 1em 0 0;background-color:#000;width:100%;height:100%}:host form input[type=text]{height:2em;margin:0;font-size:.8em}:host form .gifs-container{height:calc(100% - 3em);overflow-y:auto;display:flex;flex-wrap:wrap;align-items:center}:host form .gifs-container .gif{flex:2 1 auto;width:auto;max-width:33%;max-height:13em;height:fit-content;object-fit:contain;object-position:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InfiniteScrollModule }, { kind: "directive", type: i2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GifSelectorComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ selector: 'lib-gif-selector', standalone: true, imports: [CommonModule, InfiniteScrollModule, FormsModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" autocomplete=\"off\" libFocusInvalidInput *ngIf=\"form\">\r\n <input type=\"text\" formControlName=\"gifTerm\" />\r\n <div\r\n infiniteScroll\r\n [infiniteScrollDistance]=\"distance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n [scrollWindow]=\"false\"\r\n (scrolled)=\"onScrollGifs()\"\r\n class=\"gifs-container\"\r\n style=\"display: flex; gap: 1px; flex-wrap: wrap\"\r\n >\r\n <img [src]=\"gif.media_formats.nanogif.url\" class=\"gif\" *ngFor=\"let gif of gifs\" (click)=\"onGifClick(gif.media_formats.nanogif.url)\" />\r\n </div>\r\n</form>\r\n", styles: [":host{width:100%;height:100%;font-size:clamp(0px,3.2dvw,15px)}:host form{border-radius:1em 1em 0 0;background-color:#000;width:100%;height:100%}:host form input[type=text]{height:2em;margin:0;font-size:.8em}:host form .gifs-container{height:calc(100% - 3em);overflow-y:auto;display:flex;flex-wrap:wrap;align-items:center}:host form .gifs-container .gif{flex:2 1 auto;width:auto;max-width:33%;max-height:13em;height:fit-content;object-fit:contain;object-position:center}\n"] }]
|
|
74
|
+
}], propDecorators: { selectGif: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lmLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9naWYtc2VsZWN0b3IvZ2lmLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9naWYtc2VsZWN0b3IvZ2lmLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVk1RCxNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBU1UsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUloQyxRQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ2pCLFNBQUksR0FBbUIsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRVYsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0EwRGxEO0lBeERDLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSTthQUNOLEdBQUcsQ0FBQyxTQUFTLENBQUM7YUFDZCxZQUFZLENBQUMsSUFBSSxDQUNoQixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsMENBQTBDO1FBQzdELG9CQUFvQixFQUFFLEVBQUUsaURBQWlEO1FBQ3pFLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksU0FBUyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDeEIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FyRVUsb0JBQW9CO21HQUFwQixvQkFBb0IsaUhDakJqQyxnbUJBY0EsZ2hCREZZLFlBQVksK1BBQUUsb0JBQW9CLGthQUFFLFdBQVcsMnBCQUFFLG1CQUFtQjs7NEZBS25FLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHOUQsdUJBQXVCLENBQUMsTUFBTTs4QkFjckMsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2lmU2VsZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi9naWYtc2VsZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IElUZW5vck9iamVjdCB9IGZyb20gJy4vdGVub3Itb2JqZWN0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IElUZW5vclJlc3VsdCB9IGZyb20gJy4vdGVub3ItcmVzdWx0LmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1naWYtc2VsZWN0b3InLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW5maW5pdGVTY3JvbGxNb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2lmLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZ2lmLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdpZlNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwcml2YXRlIGdpZlNlcnZpY2UgPSBpbmplY3QoR2lmU2VsZWN0b3JTZXJ2aWNlKTtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgcHVibGljIHBvczogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGdpZnM6IElUZW5vclJlc3VsdFtdID0gW107XHJcbiAgcHVibGljIHRocm90dGxlID0gMTUwO1xyXG4gIHB1YmxpYyBkaXN0YW5jZSA9IDI7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RHaWYgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG5cclxuICAgIHRoaXMuZ2V0R2lmcygncG9wdWxhcicpLnN1YnNjcmliZSgoZ2lmcykgPT4ge1xyXG4gICAgICB0aGlzLmdpZnMgPSBnaWZzLnJlc3VsdHM7XHJcbiAgICAgIHRoaXMucG9zID0gZ2lmcy5uZXh0O1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZm9ybVxyXG4gICAgICAuZ2V0KCdnaWZUZXJtJylcclxuICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSg4MDApLCAvLyBXYWl0cyA4MDBtcyBhZnRlciB0aGUgdXNlciBzdG9wcyB0eXBpbmdcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCAvLyBQcmV2ZW50cyBlbWl0aW5nIHJlcGV0aXRpdmUgY29uc2VjdXRpdmUgdmFsdWVzXHJcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRHaWZzKHZhbHVlKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGdpZnMpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2lmcyA9IGdpZnMucmVzdWx0cztcclxuICAgICAgICAgIHRoaXMucG9zID0gZ2lmcy5uZXh0O1xyXG4gICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbEdpZnMoKTogdm9pZCB7XHJcbiAgICBjb25zdCB0ZXJtID0gdGhpcy5mb3JtLmdldCgnZ2lmVGVybScpLnZhbHVlO1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0/LnRyaW0oKSB8fCAncG9wdWxhcic7XHJcbiAgICB0aGlzLmdldEdpZnMoc2VhcmNoVGVybSkuc3Vic2NyaWJlKChnaWZzOiBJVGVub3JPYmplY3QpID0+IHtcclxuICAgICAgdGhpcy5naWZzLnB1c2goLi4uZ2lmcy5yZXN1bHRzKTtcclxuICAgICAgdGhpcy5wb3MgPSBnaWZzLm5leHQ7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdpZnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJVGVub3JPYmplY3Q+IHtcclxuICAgIHJldHVybiB0aGlzLmdpZlNlcnZpY2UuZ2V0R2lmcyh0ZXJtLCB0aGlzLnBvcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICBnaWZUZXJtOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkdpZkNsaWNrKHVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdEdpZi5lbWl0KHVybCk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGxpYkZvY3VzSW52YWxpZElucHV0ICpuZ0lmPVwiZm9ybVwiPlxyXG4gIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cImdpZlRlcm1cIiAvPlxyXG4gIDxkaXZcclxuICAgIGluZmluaXRlU2Nyb2xsXHJcbiAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCJkaXN0YW5jZVwiXHJcbiAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCJ0aHJvdHRsZVwiXHJcbiAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcclxuICAgIChzY3JvbGxlZCk9XCJvblNjcm9sbEdpZnMoKVwiXHJcbiAgICBjbGFzcz1cImdpZnMtY29udGFpbmVyXCJcclxuICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcHg7IGZsZXgtd3JhcDogd3JhcFwiXHJcbiAgPlxyXG4gICAgPGltZyBbc3JjXT1cImdpZi5tZWRpYV9mb3JtYXRzLm5hbm9naWYudXJsXCIgY2xhc3M9XCJnaWZcIiAqbmdGb3I9XCJsZXQgZ2lmIG9mIGdpZnNcIiAoY2xpY2spPVwib25HaWZDbGljayhnaWYubWVkaWFfZm9ybWF0cy5uYW5vZ2lmLnVybClcIiAvPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class GifSelectorService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.http = inject(HttpClient);
|
|
7
|
+
}
|
|
8
|
+
setTenorKey(key) {
|
|
9
|
+
this.tenorKey = key;
|
|
10
|
+
}
|
|
11
|
+
setTenorURL(url) {
|
|
12
|
+
this.tenorURL = url;
|
|
13
|
+
}
|
|
14
|
+
getTenorKey() {
|
|
15
|
+
return this.tenorKey;
|
|
16
|
+
}
|
|
17
|
+
getTenorURL() {
|
|
18
|
+
return this.tenorURL;
|
|
19
|
+
}
|
|
20
|
+
getGifs(term, pos) {
|
|
21
|
+
const formattedValue = term.replace(/ /g, '+');
|
|
22
|
+
const url = `${this.getTenorURL()}/search?q=` +
|
|
23
|
+
formattedValue +
|
|
24
|
+
'&prettyPrint=false' +
|
|
25
|
+
`&key=${this.getTenorKey()}` +
|
|
26
|
+
'&client_key=tenor_web' +
|
|
27
|
+
'&contentfilter=low' +
|
|
28
|
+
'&searchfilter=none' +
|
|
29
|
+
'&limit=' +
|
|
30
|
+
50 +
|
|
31
|
+
(pos !== '' ? '&pos=' + pos : '');
|
|
32
|
+
return this.http.get(url);
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GifSelectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GifSelectorService, providedIn: 'root' }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GifSelectorService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{ providedIn: 'root' }]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lmLXNlbGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvZ2lmLXNlbGVjdG9yL2dpZi1zZWxlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUtVLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FpQ25DO0lBL0JRLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBRU8sV0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0MsTUFBTSxHQUFHLEdBQ1AsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVk7WUFDakMsY0FBYztZQUNkLG9CQUFvQjtZQUNwQixRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUM1Qix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixTQUFTO1lBQ1QsRUFBRTtZQUNGLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZSxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQXBDVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURMLE1BQU07OzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVRlbm9yT2JqZWN0IH0gZnJvbSAnLi90ZW5vci1vYmplY3QuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBHaWZTZWxlY3RvclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdGVub3JLZXk6IHN0cmluZztcclxuICBwcml2YXRlIHRlbm9yVVJMOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuXHJcbiAgcHVibGljIHNldFRlbm9yS2V5KGtleTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRlbm9yS2V5ID0ga2V5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRlbm9yVVJMKHVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRlbm9yVVJMID0gdXJsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUZW5vcktleSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGVub3JLZXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFRlbm9yVVJMKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW5vclVSTDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHaWZzKHRlcm06IHN0cmluZywgcG9zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElUZW5vck9iamVjdD4ge1xyXG4gICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0ZXJtLnJlcGxhY2UoLyAvZywgJysnKTtcclxuICAgIGNvbnN0IHVybCA9XHJcbiAgICAgIGAke3RoaXMuZ2V0VGVub3JVUkwoKX0vc2VhcmNoP3E9YCArXHJcbiAgICAgIGZvcm1hdHRlZFZhbHVlICtcclxuICAgICAgJyZwcmV0dHlQcmludD1mYWxzZScgK1xyXG4gICAgICBgJmtleT0ke3RoaXMuZ2V0VGVub3JLZXkoKX1gICtcclxuICAgICAgJyZjbGllbnRfa2V5PXRlbm9yX3dlYicgK1xyXG4gICAgICAnJmNvbnRlbnRmaWx0ZXI9bG93JyArXHJcbiAgICAgICcmc2VhcmNoZmlsdGVyPW5vbmUnICtcclxuICAgICAgJyZsaW1pdD0nICtcclxuICAgICAgNTAgK1xyXG4gICAgICAocG9zICE9PSAnJyA/ICcmcG9zPScgKyBwb3MgOiAnJyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJVGVub3JPYmplY3Q+KHVybCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVub3ItbWVkaWEtZm9ybWF0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9naWYtc2VsZWN0b3IvdGVub3ItbWVkaWEtZm9ybWF0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJVGVub3JNZWRpYUZvcm1hdCB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgZHVyYXRpb246IG51bWJlcjtcclxuICBwcmV2aWV3OiBzdHJpbmc7XHJcbiAgZGltczogbnVtYmVyW107XHJcbiAgc2l6ZTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVub3Itb2JqZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9naWYtc2VsZWN0b3IvdGVub3Itb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlbm9yUmVzdWx0IH0gZnJvbSAnLi90ZW5vci1yZXN1bHQuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRlbm9yT2JqZWN0IHtcclxuICByZXN1bHRzOiBJVGVub3JSZXN1bHRbXTtcclxuICBuZXh0OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVub3ItcmVzdWx0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9naWYtc2VsZWN0b3IvdGVub3ItcmVzdWx0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlbm9yTWVkaWFGb3JtYXQgfSBmcm9tICcuL3Rlbm9yLW1lZGlhLWZvcm1hdC5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVGVub3JSZXN1bHQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBtZWRpYV9mb3JtYXRzOiB7IFtrZXk6IHN0cmluZ106IElUZW5vck1lZGlhRm9ybWF0IH07XHJcbiAgY3JlYXRlZDogbnVtYmVyO1xyXG4gIGNvbnRlbnRfZGVzY3JpcHRpb246IHN0cmluZztcclxuICBpdGVtdXJsOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgdGFnczogc3RyaW5nW107XHJcbiAgZmxhZ3M6IHN0cmluZ1tdO1xyXG4gIGhhc2F1ZGlvOiBib29sZWFuO1xyXG4gIGNvbnRlbnRfZGVzY3JpcHRpb25fc291cmNlOiAnR0VORVJBVElWRV9BSSc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tZXNzYWdlcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvaW50ZXJmYWNlcy9kYXRlLW1lc3NhZ2VzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVNZXNzYWdlcyB7XHJcbiAgZGF0ZTogRGF0ZTtcclxuICBpc0ZpcnN0TWVzc2FnZT86IGJvb2xlYW47XHJcbiAgbWVzc2FnZTogSU1lc3NhZ2U7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1hdHRhY2htZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9pbnRlcmZhY2VzL21lc3NhZ2UtYXR0YWNobWVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUF0dGFjaG1lbnQge1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIHR5cGU6ICdpbWFnZScgfCAnZ2lmJztcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgYmFzZTY0Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQvaW50ZXJmYWNlcy9tZXNzYWdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VuZGVyVHlwZXMgfSBmcm9tICcuLi9lbnVtcy9zZW5kZXItdHlwZXMuZW51bSc7XHJcbmltcG9ydCB7IElBdHRhY2htZW50IH0gZnJvbSAnLi9tZXNzYWdlLWF0dGFjaG1lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSVNlbmRPcHRpb25zTWVzc2FnZSB9IGZyb20gJy4vc2VuZC1vcHRpb25zLW1lc3NhZ2UuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU1lc3NhZ2Uge1xyXG4gIF9pZD86IHN0cmluZztcclxuICBzZW5kZXI6IFNlbmRlclR5cGVzO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICB0aW1lc3RhbXA6IERhdGU7XHJcbiAgYXR0YWNobWVudHM/OiBJQXR0YWNobWVudFtdO1xyXG4gIHNlbmRPcHRpb25zPzogSVNlbmRPcHRpb25zTWVzc2FnZTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcHRpb25zLW1lc3NhZ2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jaGF0L2ludGVyZmFjZXMvc2VuZC1vcHRpb25zLW1lc3NhZ2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZW5kTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGUtc2VuZC1tZXNzYWdlLmVudW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU2VuZE9wdGlvbnNNZXNzYWdlIHtcclxuICB0eXBlOiBTZW5kTWVzc2FnZVR5cGU7XHJcbiAgYXJyaXZhbERhdGU/OiBEYXRlO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var SendMessageType;
|
|
2
|
+
(function (SendMessageType) {
|
|
3
|
+
SendMessageType["INMEDIATELY"] = "send_immediately";
|
|
4
|
+
SendMessageType["AFTER"] = "send_after";
|
|
5
|
+
SendMessageType["SPECIFIC"] = "specify_time";
|
|
6
|
+
})(SendMessageType || (SendMessageType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zZW5kLW1lc3NhZ2UuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC9pbnRlcmZhY2VzL3R5cGUtc2VuZC1tZXNzYWdlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN6QixtREFBZ0MsQ0FBQTtJQUNoQyx1Q0FBb0IsQ0FBQTtJQUNwQiw0Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZW5kTWVzc2FnZVR5cGUge1xyXG4gIElOTUVESUFURUxZID0gJ3NlbmRfaW1tZWRpYXRlbHknLFxyXG4gIEFGVEVSID0gJ3NlbmRfYWZ0ZXInLFxyXG4gIFNQRUNJRklDID0gJ3NwZWNpZnlfdGltZScsXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { CircleProgressModule } from '../circle-progress/circle-progress.module';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../circle-progress/circle-progress.component";
|
|
5
|
+
export class ChatSuggestionComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.chatSuggestions = [];
|
|
8
|
+
this.suggestClicked = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatSuggestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ChatSuggestionComponent, isStandalone: true, selector: "lib-chat-suggestion", inputs: { chatSuggestions: "chatSuggestions" }, outputs: { suggestClicked: "suggestClicked" }, ngImport: i0, template: "<div class=\"contentWrapper\">\r\n <div class=\"content\">\r\n @for (suggestion of chatSuggestions; track suggestion.question; let idx = $index) {\r\n <div class=\"contentItem\" (click)=\"suggestClicked?.emit(suggestion?.question)\">\r\n <span>{{ idx + 1 }}</span>\r\n <div class=\"itemDescription\">{{ suggestion.question }}</div>\r\n <div class=\"progress_view\">\r\n <lib-circle-progress class=\"circle-progress-suggestion\" variable=\"complete\" [config]=\"{ prefix: '', suffix: '%', value: suggestion.percentage }\"></lib-circle-progress>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host{font-size:clamp(0px,3.2dvw,15px);--max-width-container: 27em}:host .contentWrapper{width:var(--max-width-container);padding:1.26em 1.416em;box-sizing:border-box;border-radius:.8772em;background:#28252d;box-shadow:0 0 1em #0003,0 0 1.5em #ffffff1a;font-family:Gilroy-Regular,serif}:host .contentWrapper .content{display:flex;flex-direction:column;gap:1.5em}:host .contentWrapper .content .contentItem{display:flex;justify-content:space-between}:host .contentWrapper .content .contentItem span{color:#a8a8a8;font-size:1.2em;margin-right:1.416em}:host .contentWrapper .content .contentItem .itemDescription{display:flex;width:16.2em;margin-right:.5em;color:#a8a8a8;font-size:1em;line-height:1.4em}:host .contentWrapper .content .contentItem .progress_view{width:min-content}:host .contentWrapper .content .contentItem .progress_view .circle-progress-suggestion{--max-diameter: calc(clamp(0px, 3.2dvw, 15px)*4.9) ;max-width:var(--max-diameter);max-height:var(--max-diameter);box-shadow:none;border-radius:100%;--font-family: \"Gilroy-Medium\", serif;--font-size-percentage: calc(clamp(0px, 3.2dvw, 15px)*.85) ;--color-text: #8d98aa}\n"], dependencies: [{ kind: "ngmodule", type: CircleProgressModule }, { kind: "component", type: i1.CircleProgressComponent, selector: "lib-circle-progress", inputs: ["variable", "config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChatSuggestionComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'lib-chat-suggestion', standalone: true, imports: [CircleProgressModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contentWrapper\">\r\n <div class=\"content\">\r\n @for (suggestion of chatSuggestions; track suggestion.question; let idx = $index) {\r\n <div class=\"contentItem\" (click)=\"suggestClicked?.emit(suggestion?.question)\">\r\n <span>{{ idx + 1 }}</span>\r\n <div class=\"itemDescription\">{{ suggestion.question }}</div>\r\n <div class=\"progress_view\">\r\n <lib-circle-progress class=\"circle-progress-suggestion\" variable=\"complete\" [config]=\"{ prefix: '', suffix: '%', value: suggestion.percentage }\"></lib-circle-progress>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host{font-size:clamp(0px,3.2dvw,15px);--max-width-container: 27em}:host .contentWrapper{width:var(--max-width-container);padding:1.26em 1.416em;box-sizing:border-box;border-radius:.8772em;background:#28252d;box-shadow:0 0 1em #0003,0 0 1.5em #ffffff1a;font-family:Gilroy-Regular,serif}:host .contentWrapper .content{display:flex;flex-direction:column;gap:1.5em}:host .contentWrapper .content .contentItem{display:flex;justify-content:space-between}:host .contentWrapper .content .contentItem span{color:#a8a8a8;font-size:1.2em;margin-right:1.416em}:host .contentWrapper .content .contentItem .itemDescription{display:flex;width:16.2em;margin-right:.5em;color:#a8a8a8;font-size:1em;line-height:1.4em}:host .contentWrapper .content .contentItem .progress_view{width:min-content}:host .contentWrapper .content .contentItem .progress_view .circle-progress-suggestion{--max-diameter: calc(clamp(0px, 3.2dvw, 15px)*4.9) ;max-width:var(--max-diameter);max-height:var(--max-diameter);box-shadow:none;border-radius:100%;--font-family: \"Gilroy-Medium\", serif;--font-size-percentage: calc(clamp(0px, 3.2dvw, 15px)*.85) ;--color-text: #8d98aa}\n"] }]
|
|
16
|
+
}], propDecorators: { chatSuggestions: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], suggestClicked: [{
|
|
19
|
+
type: Output
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC1zdWdnZXN0aW9uL2NoYXQtc3VnZ2VzdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQtc3VnZ2VzdGlvbi9jaGF0LXN1Z2dlc3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBV2pGLE1BQU0sT0FBTyx1QkFBdUI7SUFScEM7UUFTVyxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFDdkMsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUN0RTsrR0FIWSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4S0NacEMsNm9CQWFBLHlxQ0ROWSxvQkFBb0I7OzRGQUtuQix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLG9CQUFvQixDQUFDLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gJy4uL2NpcmNsZS1wcm9ncmVzcy9jaXJjbGUtcHJvZ3Jlc3MubW9kdWxlJztcclxuaW1wb3J0IHsgSUNoYXRTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NoYXQtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2hhdC1zdWdnZXN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDaXJjbGVQcm9ncmVzc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXQtc3VnZ2VzdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NoYXQtc3VnZ2VzdGlvbi5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGF0U3VnZ2VzdGlvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY2hhdFN1Z2dlc3Rpb25zOiBJQ2hhdFN1Z2dlc3Rpb25bXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBzdWdnZXN0Q2xpY2tlZD86IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250ZW50V3JhcHBlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICBAZm9yIChzdWdnZXN0aW9uIG9mIGNoYXRTdWdnZXN0aW9uczsgdHJhY2sgc3VnZ2VzdGlvbi5xdWVzdGlvbjsgbGV0IGlkeCA9ICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudEl0ZW1cIiAoY2xpY2spPVwic3VnZ2VzdENsaWNrZWQ/LmVtaXQoc3VnZ2VzdGlvbj8ucXVlc3Rpb24pXCI+XHJcbiAgICAgICAgPHNwYW4+e3sgaWR4ICsgMSB9fTwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbURlc2NyaXB0aW9uXCI+e3sgc3VnZ2VzdGlvbi5xdWVzdGlvbiB9fTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc192aWV3XCI+XHJcbiAgICAgICAgICA8bGliLWNpcmNsZS1wcm9ncmVzcyBjbGFzcz1cImNpcmNsZS1wcm9ncmVzcy1zdWdnZXN0aW9uXCIgdmFyaWFibGU9XCJjb21wbGV0ZVwiIFtjb25maWddPVwieyBwcmVmaXg6ICcnLCBzdWZmaXg6ICclJywgdmFsdWU6IHN1Z2dlc3Rpb24ucGVyY2VudGFnZSB9XCI+PC9saWItY2lyY2xlLXByb2dyZXNzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hhdC1zdWdnZXN0aW9uL2ludGVyZmFjZXMvY2hhdC1zdWdnZXN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ2hhdFN1Z2dlc3Rpb24ge1xyXG4gIHF1ZXN0aW9uOiBzdHJpbmc7XHJcbiAgcGVyY2VudGFnZTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
|