@datarailsshared/datarailsshared 1.4.569 → 1.5.1
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/assets/styles/_storybook-styles.scss +37 -0
- package/assets/styles/_styles.scss +9 -2
- package/assets/styles/colors.scss +88 -74
- package/assets/styles/dataRailsFont.scss +1 -1
- package/assets/styles/dialog.scss +22 -0
- package/assets/styles/icons.scss +1 -1
- package/assets/styles/mixins.scss +106 -6
- package/assets/styles/vars.scss +6 -4
- package/datarailsshared-datarailsshared-1.5.1.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +42 -0
- package/esm2022/lib/date-tags/date-tag.component.mjs +126 -0
- package/esm2022/lib/date-tags/date-tag.module.mjs +53 -0
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +95 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +222 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +87 -0
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +98 -0
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +126 -0
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +102 -0
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +96 -0
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +92 -0
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +19 -0
- package/esm2022/lib/directives/dr-shine-animation/dr-shine-animation.directive.mjs +63 -0
- package/esm2022/lib/directives/let/let.directive.mjs +35 -0
- package/esm2022/lib/directives/ng-track-by-property/ng-track-by-property.directive.mjs +23 -0
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +61 -0
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +154 -0
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +143 -0
- package/esm2022/lib/dr-accordion/accordion.component.mjs +55 -0
- package/esm2022/lib/dr-accordion/accordion.module.mjs +35 -0
- package/esm2022/lib/dr-alert/dr-alert.component.mjs +64 -0
- package/esm2022/lib/dr-alert/dr-alert.module.mjs +20 -0
- package/{esm2015/lib/dr-alert/enums/dr-alert-theme.enum.js → esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs} +1 -2
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +142 -0
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +21 -0
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
- package/esm2022/lib/dr-avatar/services/dr-avatar.service.mjs +17 -0
- package/esm2022/lib/dr-avatar/types.mjs +2 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +53 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +21 -0
- package/esm2022/lib/dr-chat/chat.component.mjs +202 -0
- package/esm2022/lib/dr-chat/chat.module.mjs +81 -0
- package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +31 -0
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +273 -0
- package/esm2022/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.mjs +380 -0
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +185 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +47 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +26 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +78 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +30 -0
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +187 -0
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +14 -0
- package/esm2022/lib/dr-chip/dr-chip.component.mjs +58 -0
- package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +19 -0
- package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +204 -0
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +326 -0
- package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +29 -0
- package/esm2022/lib/dr-code-editor/models/code-editor-hint.mjs +6 -0
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +106 -0
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +20 -0
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +339 -0
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +238 -0
- package/esm2022/lib/dr-dialog/dialog.module.mjs +27 -0
- package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +27 -0
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +77 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +248 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +142 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +41 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +62 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +203 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +21 -0
- package/esm2022/lib/dr-error/dr-error.component.mjs +90 -0
- package/esm2022/lib/dr-error/dr-error.module.mjs +22 -0
- package/esm2022/lib/dr-inputs/button/button.component.mjs +101 -0
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +110 -0
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +55 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +400 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +157 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +269 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +326 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +224 -0
- package/esm2022/lib/dr-inputs/date-pickers/services/week-selection-strategy.mjs +34 -0
- package/esm2022/lib/dr-inputs/date-pickers/week-selector/week-selector.component.mjs +91 -0
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +336 -0
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +128 -0
- package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +43 -0
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +37 -0
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +391 -0
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +138 -0
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +53 -0
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +108 -0
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +108 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +88 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +185 -0
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +19 -0
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +25 -0
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +21 -0
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +22 -0
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +155 -0
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +137 -0
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +20 -0
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +117 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +104 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +100 -0
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +87 -0
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +27 -0
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +195 -0
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +27 -0
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +22 -0
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +47 -0
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +252 -0
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +25 -0
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +235 -0
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +23 -0
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +161 -0
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +24 -0
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +71 -0
- package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +73 -0
- package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +31 -0
- package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +44 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +31 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +82 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +86 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +194 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +24 -0
- package/esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs +14 -0
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +407 -0
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +97 -0
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +31 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +108 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +82 -0
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +25 -0
- package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
- package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +155 -0
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
- package/esm2022/lib/drawer/drawer-animation.mjs +18 -0
- package/esm2022/lib/drawer/drawer-config.mjs +35 -0
- package/esm2022/lib/drawer/drawer-container.component.mjs +179 -0
- package/esm2022/lib/drawer/drawer-position-strategy.mjs +14 -0
- package/esm2022/lib/drawer/drawer-ref.mjs +106 -0
- package/esm2022/lib/drawer/drawer.module.mjs +19 -0
- package/esm2022/lib/drawer/drawer.service.mjs +140 -0
- package/esm2022/lib/drawer/public-api.mjs +6 -0
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +78 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +133 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.types.mjs +6 -0
- package/esm2022/lib/list-tags/list-tag.component.mjs +82 -0
- package/esm2022/lib/list-tags/list-tag.module.mjs +22 -0
- package/esm2022/lib/models/chat.mjs +36 -0
- package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +17 -22
- package/{esm2015/lib/models/datePicker.js → esm2022/lib/models/datePicker.mjs} +2 -2
- package/esm2022/lib/models/datePickerRange.mjs +2 -0
- package/esm2022/lib/models/dropdown.mjs +2 -0
- package/{esm2015/lib/models/feedback.js → esm2022/lib/models/feedback.mjs} +1 -2
- package/esm2022/lib/models/popover.mjs +27 -0
- package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +1 -1
- package/esm2022/lib/models/spinnerOptions.mjs +2 -0
- package/esm2022/lib/models/toastr.mjs +14 -0
- package/esm2022/lib/pipes/filter/filter.pipe.mjs +48 -0
- package/esm2022/lib/pipes/img/img.pipe.mjs +19 -0
- package/esm2022/lib/stepper/stepper.component.mjs +270 -0
- package/esm2022/lib/stepper/stepper.module.mjs +20 -0
- package/esm2022/lib/utils/data-analytics.service.mjs +21 -0
- package/esm2022/lib/utils/decorators.mjs +12 -0
- package/esm2022/lib/utils/dr-shared-utils.mjs +85 -0
- package/esm2022/public-api.mjs +156 -0
- package/esm2022/src/lib/drawer/drDrawer.mjs +5 -0
- package/esm2022/src/lib/drawer/drawer-animation.mjs +18 -0
- package/esm2022/src/lib/drawer/drawer-config.mjs +35 -0
- package/esm2022/src/lib/drawer/drawer-container.component.mjs +179 -0
- package/esm2022/src/lib/drawer/drawer-position-strategy.mjs +14 -0
- package/esm2022/src/lib/drawer/drawer-ref.mjs +106 -0
- package/esm2022/src/lib/drawer/drawer.module.mjs +19 -0
- package/esm2022/src/lib/drawer/drawer.service.mjs +140 -0
- package/esm2022/src/lib/drawer/public-api.mjs +6 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs +13716 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
- package/fesm2022/drDrawer.mjs +496 -0
- package/fesm2022/drDrawer.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/date-tags/any-tag.component.d.ts +20 -0
- package/lib/date-tags/date-tag.component.d.ts +4 -16
- package/lib/date-tags/date-tag.module.d.ts +19 -2
- package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +4 -1
- package/lib/date-tags/forecast-tag/forecast-tag.service.d.ts +11 -8
- package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
- package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
- package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
- package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
- package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
- package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
- package/lib/directives/dr-shine-animation/dr-shine-animation.directive.d.ts +18 -0
- package/lib/directives/let/let.directive.d.ts +19 -0
- package/lib/directives/ng-track-by-property/ng-track-by-property.directive.d.ts +8 -0
- package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
- package/lib/dr-accordion/accordion-item-header.component.d.ts +14 -1
- package/lib/dr-accordion/accordion-item.component.d.ts +4 -1
- package/lib/dr-accordion/accordion.component.d.ts +5 -0
- package/lib/dr-accordion/accordion.module.d.ts +9 -0
- package/lib/dr-alert/dr-alert.component.d.ts +3 -0
- package/lib/dr-alert/dr-alert.module.d.ts +6 -0
- package/lib/dr-avatar/dr-avatar.component.d.ts +15 -13
- package/lib/dr-avatar/dr-avatar.module.d.ts +8 -0
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +5 -1
- package/lib/dr-avatar/services/dr-avatar.service.d.ts +1 -1
- package/lib/dr-avatar/types.d.ts +8 -0
- package/lib/dr-badge-status/dr-badge-status.component.d.ts +5 -4
- package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
- package/lib/dr-chat/chat.component.d.ts +6 -7
- package/lib/dr-chat/chat.module.d.ts +20 -0
- package/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.d.ts +8 -0
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +11 -1
- package/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.d.ts +81 -0
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +4 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +15 -2
- package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
- package/lib/dr-chip/dr-chip.component.d.ts +10 -0
- package/lib/dr-code-editor/components/code-editor-hint-wrapper.component.d.ts +7 -0
- package/lib/dr-code-editor/components/dr-codemirror.component.d.ts +47 -0
- package/lib/dr-code-editor/dr-code-editor.component.d.ts +45 -0
- package/lib/dr-code-editor/dr-code-editor.module.d.ts +17 -0
- package/lib/dr-code-editor/models/code-editor-hint.d.ts +14 -0
- package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
- package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
- package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +6 -5
- package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +6 -5
- package/lib/dr-dialog/dialog.module.d.ts +12 -0
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +13 -9
- package/lib/dr-dialog/services/dialog.service.d.ts +10 -3
- package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +28 -21
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +21 -14
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +11 -0
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +26 -8
- package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
- package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
- package/lib/dr-error/dr-error.component.d.ts +12 -8
- package/lib/dr-error/dr-error.module.d.ts +8 -0
- package/lib/dr-inputs/button/button.component.d.ts +6 -8
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +10 -2
- package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +29 -9
- package/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.d.ts +40 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +18 -11
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +11 -10
- package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
- package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +22 -5
- package/lib/dr-inputs/date-pickers/services/week-selection-strategy.d.ts +12 -0
- package/lib/dr-inputs/date-pickers/week-selector/week-selector.component.d.ts +23 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +35 -20
- package/lib/dr-inputs/dr-inputs.module.d.ts +30 -0
- package/lib/dr-inputs/dr-link/dr-link.component.d.ts +16 -0
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +4 -0
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +20 -3
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +4 -0
- package/lib/dr-inputs/dr-slider/dr-slider.component.d.ts +18 -0
- package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
- package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +6 -1
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
- package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout.module.d.ts +8 -0
- package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
- package/lib/dr-popover/dr-popover.component.d.ts +8 -4
- package/lib/dr-popover/dr-popover.directive.d.ts +9 -5
- package/lib/dr-popover/dr-popover.module.d.ts +7 -0
- package/lib/dr-popover/dr-popover.service.d.ts +5 -1
- package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -4
- package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
- package/lib/dr-scenario/dr-scenario.module.d.ts +11 -0
- package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
- package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
- package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
- package/lib/dr-spinner/dr-spinner.directive.d.ts +4 -2
- package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
- package/lib/dr-tabs/dr-tab.component.d.ts +5 -0
- package/lib/dr-tabs/dr-tabs.component.d.ts +21 -4
- package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
- package/lib/dr-tags/dr-tag.component.d.ts +3 -0
- package/lib/dr-tags/dr-tag.module.d.ts +9 -0
- package/lib/dr-tags-constructor/dr-tags-constructor.component.d.ts +33 -0
- package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +10 -0
- package/lib/dr-tags-constructor/tags-constructor.service.d.ts +12 -0
- package/lib/dr-toastr/default-toastr/default-toastr.component.d.ts +15 -0
- package/lib/dr-toastr/dr-toastr.module.d.ts +9 -0
- package/lib/dr-toastr/dr-toastr.service.d.ts +14 -0
- package/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.d.ts +9 -0
- package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -1
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +7 -0
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +9 -0
- package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +18 -2
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
- package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
- package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
- package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
- package/lib/dr-treeview/models/treeview-item.d.ts +2 -1
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
- package/lib/drawer/drawer-animation.d.ts +5 -0
- package/lib/drawer/drawer-config.d.ts +68 -0
- package/lib/drawer/drawer-container.component.d.ts +45 -0
- package/lib/drawer/drawer-position-strategy.d.ts +10 -0
- package/lib/drawer/drawer-ref.d.ts +55 -0
- package/lib/drawer/drawer.module.d.ts +7 -0
- package/lib/drawer/drawer.service.d.ts +62 -0
- package/lib/drawer/public-api.d.ts +5 -0
- package/lib/image-cropper/dr-image-cropper-canvas.service.d.ts +20 -0
- package/lib/image-cropper/dr-image-cropper.component.d.ts +28 -0
- package/lib/image-cropper/dr-image-cropper.types.d.ts +9 -0
- package/lib/list-tags/list-tag.component.d.ts +3 -0
- package/lib/list-tags/list-tag.module.d.ts +8 -0
- package/lib/models/chat.d.ts +3 -3
- package/lib/models/datePicker.d.ts +10 -3
- package/lib/models/datePickerRange.d.ts +4 -0
- package/lib/models/dropdown.d.ts +15 -21
- package/lib/models/popover.d.ts +7 -4
- package/lib/models/serverTags.d.ts +4 -4
- package/lib/models/spinnerOptions.d.ts +2 -10
- package/lib/models/toastr.d.ts +18 -0
- package/lib/pipes/filter/filter.pipe.d.ts +7 -0
- package/lib/pipes/img/img.pipe.d.ts +7 -0
- package/lib/stepper/interfaces/stepper.d.ts +1 -1
- package/lib/stepper/stepper.component.d.ts +13 -8
- package/lib/stepper/stepper.module.d.ts +7 -0
- package/lib/utils/data-analytics.service.d.ts +8 -0
- package/lib/utils/decorators.d.ts +1 -0
- package/lib/utils/dr-shared-utils.d.ts +9 -0
- package/package.json +41 -15
- package/public-api.d.ts +59 -6
- package/src/lib/drawer/drawer-animation.d.ts +5 -0
- package/src/lib/drawer/drawer-config.d.ts +68 -0
- package/src/lib/drawer/drawer-container.component.d.ts +45 -0
- package/src/lib/drawer/drawer-position-strategy.d.ts +10 -0
- package/src/lib/drawer/drawer-ref.d.ts +55 -0
- package/src/lib/drawer/drawer.module.d.ts +7 -0
- package/src/lib/drawer/drawer.service.d.ts +62 -0
- package/src/lib/drawer/index.d.ts +5 -0
- package/src/lib/drawer/public-api.d.ts +5 -0
- package/styles.css +749 -0
- package/_datarailsshared.styles.css +0 -4
- package/assets/styles/img/dr-icon-info.svg +0 -4
- package/bundles/datarailsshared-datarailsshared.umd.js +0 -8372
- package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
- package/datarailsshared-datarailsshared-1.4.569.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +0 -34
- package/datarailsshared-datarailsshared.metadata.json +0 -1
- package/esm2015/datarailsshared-datarailsshared.js +0 -35
- package/esm2015/lib/date-tags/date-tag.component.js +0 -74
- package/esm2015/lib/date-tags/date-tag.module.js +0 -36
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -164
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.service.js +0 -83
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -114
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
- package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
- package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
- package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
- package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
- package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
- package/esm2015/lib/dr-alert/dr-alert.component.js +0 -35
- package/esm2015/lib/dr-alert/dr-alert.module.js +0 -18
- package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -54
- package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
- package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
- package/esm2015/lib/dr-avatar/services/dr-avatar.service.js +0 -17
- package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
- package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
- package/esm2015/lib/dr-chat/chat.component.js +0 -119
- package/esm2015/lib/dr-chat/chat.module.js +0 -41
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
- package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
- package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
- package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
- package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -84
- package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
- package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
- package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
- package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -120
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
- package/esm2015/lib/dr-error/dr-error.component.js +0 -56
- package/esm2015/lib/dr-error/dr-error.module.js +0 -22
- package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -66
- package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -234
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -182
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
- package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
- package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -68
- package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -123
- package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
- package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
- package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -67
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
- package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
- package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
- package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
- package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
- package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
- package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
- package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
- package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
- package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
- package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
- package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -104
- package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -75
- package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -79
- package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
- package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -196
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -58
- package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
- package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
- package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
- package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
- package/esm2015/lib/dr-tags/dr-tag.component.js +0 -183
- package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
- package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
- package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
- package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
- package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -41
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -151
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -38
- package/esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js +0 -2
- package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
- package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
- package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
- package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
- package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +0 -82
- package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
- package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
- package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
- package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
- package/esm2015/lib/list-tags/list-tag.component.js +0 -37
- package/esm2015/lib/list-tags/list-tag.module.js +0 -23
- package/esm2015/lib/models/chat.js +0 -38
- package/esm2015/lib/models/dropdown.js +0 -2
- package/esm2015/lib/models/popover.js +0 -27
- package/esm2015/lib/models/spinnerOptions.js +0 -13
- package/esm2015/lib/stepper/stepper.component.js +0 -55
- package/esm2015/lib/stepper/stepper.module.js +0 -17
- package/esm2015/lib/utils/dr-shared-utils.js +0 -47
- package/esm2015/public-api.js +0 -101
- package/fesm2015/datarailsshared-datarailsshared.js +0 -7194
- package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -12
- package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -5
- package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -6
- package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -4
- /package/{esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js → esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs} +0 -0
- /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
- /package/{esm2015/lib/dr-tags/dr-tag.types.js → esm2022/lib/dr-tags/dr-tag.types.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/enums/tooltip-theme.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-theme.enum.mjs} +0 -0
- /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
- /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
- /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import { DrSharedUtils } from '../../utils/dr-shared-utils';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "../../dr-inputs/button/button.component";
|
|
9
|
+
const _c0 = ["suggestionsContainer"];
|
|
10
|
+
function DrChatSuggestionsComponent_ng_container_2_div_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
i0.ɵɵelementContainer(0);
|
|
12
|
+
} }
|
|
13
|
+
function DrChatSuggestionsComponent_ng_container_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
15
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "dr-button", 6);
|
|
16
|
+
i0.ɵɵlistener("click", function DrChatSuggestionsComponent_ng_container_2_div_1_Template_dr_button_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r6.toggleSuggestedMenu()); });
|
|
17
|
+
i0.ɵɵtext(2, " Suggested chats ");
|
|
18
|
+
i0.ɵɵelementEnd();
|
|
19
|
+
i0.ɵɵtemplate(3, DrChatSuggestionsComponent_ng_container_2_div_1_ng_container_3_Template, 1, 0, "ng-container", 7);
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
} if (rf & 2) {
|
|
22
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
23
|
+
const _r2 = i0.ɵɵreference(4);
|
|
24
|
+
i0.ɵɵclassProp("chat-suggestions__container--opened", ctx_r4.isSuggestedMenuOpen);
|
|
25
|
+
i0.ɵɵadvance(3);
|
|
26
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r2);
|
|
27
|
+
} }
|
|
28
|
+
function DrChatSuggestionsComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵelementContainerStart(0);
|
|
30
|
+
i0.ɵɵtemplate(1, DrChatSuggestionsComponent_ng_container_2_div_1_Template, 4, 3, "div", 4);
|
|
31
|
+
i0.ɵɵelementContainerEnd();
|
|
32
|
+
} if (rf & 2) {
|
|
33
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
34
|
+
i0.ɵɵadvance(1);
|
|
35
|
+
i0.ɵɵproperty("ngIf", ctx_r1.visibleValues.length);
|
|
36
|
+
} }
|
|
37
|
+
function DrChatSuggestionsComponent_ng_template_3_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
39
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
40
|
+
i0.ɵɵlistener("click", function DrChatSuggestionsComponent_ng_template_3_div_1_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const item_r9 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.onItemClick(item_r9)); });
|
|
41
|
+
i0.ɵɵtext(1);
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
} if (rf & 2) {
|
|
44
|
+
const item_r9 = ctx.$implicit;
|
|
45
|
+
i0.ɵɵadvance(1);
|
|
46
|
+
i0.ɵɵtextInterpolate1(" ", item_r9, " ");
|
|
47
|
+
} }
|
|
48
|
+
const _c1 = function (a0, a1, a2) { return { "chat-suggestions__items--three-cols": a0, "chat-suggestions__items--two-cols": a1, "chat-suggestions__items--one-col": a2 }; };
|
|
49
|
+
function DrChatSuggestionsComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
51
|
+
i0.ɵɵtemplate(1, DrChatSuggestionsComponent_ng_template_3_div_1_Template, 2, 1, "div", 9);
|
|
52
|
+
i0.ɵɵelementEnd();
|
|
53
|
+
} if (rf & 2) {
|
|
54
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
55
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(2, _c1, ctx_r3.colsCount === 3, ctx_r3.colsCount === 2, ctx_r3.colsCount === 1));
|
|
56
|
+
i0.ɵɵadvance(1);
|
|
57
|
+
i0.ɵɵproperty("ngForOf", ctx_r3.visibleValues);
|
|
58
|
+
} }
|
|
59
|
+
const _c2 = function (a0, a1, a2, a3) { return { "chat-suggestions--three-cols": a0, "chat-suggestions--two-cols": a1, "chat-suggestions--one-col": a2, "chat-suggestions--button-mode": a3 }; };
|
|
60
|
+
export class DrChatSuggestionsComponent {
|
|
61
|
+
get hiddenValues() {
|
|
62
|
+
return JSON.parse(localStorage.getItem('aiChatSuggestions')) || [];
|
|
63
|
+
}
|
|
64
|
+
set hiddenValues(values) {
|
|
65
|
+
localStorage.setItem('aiChatSuggestions', JSON.stringify(values));
|
|
66
|
+
}
|
|
67
|
+
constructor(cdr) {
|
|
68
|
+
this.cdr = cdr;
|
|
69
|
+
this._nonHiddenValues = [];
|
|
70
|
+
this.visibleValues = [];
|
|
71
|
+
this.isSuggestedMenuOpen = false;
|
|
72
|
+
this.colsCount = 1;
|
|
73
|
+
this.destroy$ = new Subject();
|
|
74
|
+
this.values = [];
|
|
75
|
+
this.fullScreen = false;
|
|
76
|
+
this.buttonMode = false;
|
|
77
|
+
/**
|
|
78
|
+
* Parameter to check is send message function available
|
|
79
|
+
*
|
|
80
|
+
* @type {boolean}
|
|
81
|
+
*/
|
|
82
|
+
this.waitForReply = false;
|
|
83
|
+
this.suggestionSelect = new EventEmitter();
|
|
84
|
+
this.colWidth = 300;
|
|
85
|
+
this.colGap = 28;
|
|
86
|
+
}
|
|
87
|
+
ngOnInit() {
|
|
88
|
+
this.filterValues();
|
|
89
|
+
}
|
|
90
|
+
ngAfterViewInit() {
|
|
91
|
+
this.onResize$ = DrSharedUtils.fromResizeObserver(this.suggestionContainer?.nativeElement);
|
|
92
|
+
this.onResize$.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
93
|
+
this.recalculateColsCount();
|
|
94
|
+
});
|
|
95
|
+
this.recalculateColsCount();
|
|
96
|
+
}
|
|
97
|
+
onItemClick(item) {
|
|
98
|
+
if (this.waitForReply) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.isSuggestedMenuOpen = false;
|
|
102
|
+
this.suggestionSelect.emit(item);
|
|
103
|
+
this.hiddenValues = [...this.hiddenValues, item];
|
|
104
|
+
this.filterValues();
|
|
105
|
+
}
|
|
106
|
+
filterValues() {
|
|
107
|
+
const hiddenValues = this.hiddenValues;
|
|
108
|
+
this._nonHiddenValues = _.filter(this.values, (val) => !hiddenValues.includes(val));
|
|
109
|
+
this.fillVisibleValues();
|
|
110
|
+
}
|
|
111
|
+
fillVisibleValues() {
|
|
112
|
+
const maxItemsCount = this.fullScreen ? 6 : 3;
|
|
113
|
+
const nonHiddenValues = _.clone(this._nonHiddenValues);
|
|
114
|
+
this.visibleValues.length = 0;
|
|
115
|
+
for (let i = 0; i < maxItemsCount; i++) {
|
|
116
|
+
if (!nonHiddenValues.length) {
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
const randomIndex = Math.floor(Math.random() * nonHiddenValues.length);
|
|
120
|
+
const item = nonHiddenValues.splice(randomIndex, 1)[0];
|
|
121
|
+
this.visibleValues.push(item);
|
|
122
|
+
}
|
|
123
|
+
this.cdr.markForCheck();
|
|
124
|
+
}
|
|
125
|
+
clearHidden() {
|
|
126
|
+
localStorage.setItem('aiChatSuggestions', null);
|
|
127
|
+
this.filterValues();
|
|
128
|
+
}
|
|
129
|
+
recalculateColsCount() {
|
|
130
|
+
if (this.suggestionContainer?.nativeElement?.offsetWidth >= this.colWidth * 3 + this.colGap * 2) {
|
|
131
|
+
this.colsCount = 3;
|
|
132
|
+
}
|
|
133
|
+
else if (this.suggestionContainer?.nativeElement?.offsetWidth > this.colWidth * 2 + this.colGap) {
|
|
134
|
+
this.colsCount = 2;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.colsCount = 1;
|
|
138
|
+
}
|
|
139
|
+
this.cdr.markForCheck();
|
|
140
|
+
}
|
|
141
|
+
toggleSuggestedMenu() {
|
|
142
|
+
this.isSuggestedMenuOpen = !this.isSuggestedMenuOpen;
|
|
143
|
+
if (this.isSuggestedMenuOpen) {
|
|
144
|
+
this.fillVisibleValues();
|
|
145
|
+
}
|
|
146
|
+
this.cdr.markForCheck();
|
|
147
|
+
}
|
|
148
|
+
ngOnDestroy() {
|
|
149
|
+
this.destroy$.next();
|
|
150
|
+
this.destroy$.complete();
|
|
151
|
+
}
|
|
152
|
+
/** @nocollapse */ static { this.ɵfac = function DrChatSuggestionsComponent_Factory(t) { return new (t || DrChatSuggestionsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
153
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChatSuggestionsComponent, selectors: [["dr-chat-suggestions"]], viewQuery: function DrChatSuggestionsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
154
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
155
|
+
} if (rf & 2) {
|
|
156
|
+
let _t;
|
|
157
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.suggestionContainer = _t.first);
|
|
158
|
+
} }, inputs: { values: "values", fullScreen: "fullScreen", buttonMode: "buttonMode", waitForReply: "waitForReply" }, outputs: { suggestionSelect: "suggestionSelect" }, decls: 5, vars: 8, consts: [[1, "chat-suggestions", 3, "ngClass"], ["suggestionsContainer", ""], [4, "ngIf", "ngIfElse"], ["suggestionCards", ""], ["class", "chat-suggestions__container", 3, "chat-suggestions__container--opened", 4, "ngIf"], [1, "chat-suggestions__container"], ["theme", "secondary", 1, "chat-suggestions__container__button", 3, "click"], [4, "ngTemplateOutlet"], [1, "chat-suggestions__items", 3, "ngClass"], ["class", "chat-suggestions__items__item", 3, "click", 4, "ngFor", "ngForOf"], [1, "chat-suggestions__items__item", 3, "click"]], template: function DrChatSuggestionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
159
|
+
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
160
|
+
i0.ɵɵtemplate(2, DrChatSuggestionsComponent_ng_container_2_Template, 2, 1, "ng-container", 2);
|
|
161
|
+
i0.ɵɵelementEnd();
|
|
162
|
+
i0.ɵɵtemplate(3, DrChatSuggestionsComponent_ng_template_3_Template, 2, 6, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
163
|
+
} if (rf & 2) {
|
|
164
|
+
const _r2 = i0.ɵɵreference(4);
|
|
165
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction4(3, _c2, ctx.colsCount === 3, ctx.colsCount === 2, ctx.colsCount === 1, ctx.buttonMode));
|
|
166
|
+
i0.ɵɵadvance(2);
|
|
167
|
+
i0.ɵɵproperty("ngIf", ctx.buttonMode)("ngIfElse", _r2);
|
|
168
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2.DrButtonComponent], styles: ["[_nghost-%COMP%]{display:flex;align-items:flex-start;justify-content:center}[_nghost-%COMP%] .chat-suggestions[_ngcontent-%COMP%]{display:flex;width:100%;justify-content:center;max-width:956px}[_nghost-%COMP%] .chat-suggestions--button-mode[_ngcontent-%COMP%]{justify-content:flex-start}[_nghost-%COMP%] .chat-suggestions--button-mode[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{padding-top:32px}[_nghost-%COMP%] .chat-suggestions--one-col[_ngcontent-%COMP%]{padding-left:0;grid-template-columns:repeat(1,300px)}[_nghost-%COMP%] .chat-suggestions--one-col[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{grid-template-columns:repeat(1,300px)}[_nghost-%COMP%] .chat-suggestions--two-cols[_ngcontent-%COMP%]{padding-left:0;grid-template-columns:repeat(2,300px)}[_nghost-%COMP%] .chat-suggestions--two-cols[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{grid-template-columns:repeat(2,300px)}[_nghost-%COMP%] .chat-suggestions--three-cols[_ngcontent-%COMP%]{padding-left:0;grid-template-columns:repeat(3,300px)}[_nghost-%COMP%] .chat-suggestions--three-cols[_ngcontent-%COMP%] .chat-suggestions__container[_ngcontent-%COMP%]{padding-left:0}[_nghost-%COMP%] .chat-suggestions--three-cols[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{grid-template-columns:repeat(3,300px)}[_nghost-%COMP%] .chat-suggestions__container[_ngcontent-%COMP%]{display:flex;position:relative;width:auto;margin-top:12px;padding:0 16px}[_nghost-%COMP%] .chat-suggestions__container__button[_ngcontent-%COMP%]{z-index:3;background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box;border-radius:2em;border:1.5px solid transparent}[_nghost-%COMP%] .chat-suggestions__container__button[_ngcontent-%COMP%] button{background:#fff;border-radius:24px;color:#4646ce;border:none;cursor:pointer}[_nghost-%COMP%] .chat-suggestions__container[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:56px;z-index:2}[_nghost-%COMP%] .chat-suggestions__container--opened[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .chat-suggestions__container--opened[_ngcontent-%COMP%] .chat-suggestions__container__button[_ngcontent-%COMP%] button{color:#4646ce;background:#f2f2fb}[_nghost-%COMP%] .chat-suggestions__container--opened[_ngcontent-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{display:grid;align-items:center;justify-content:center}[_nghost-%COMP%] .chat-suggestions__items[_ngcontent-%COMP%]{padding:0 16px;display:grid;gap:28px;grid-auto-rows:minmax(86px,auto);background:#ffffffb3}[_nghost-%COMP%] .chat-suggestions__items__item[_ngcontent-%COMP%]{display:inline-flex;min-height:86px;width:300px;align-items:center;justify-content:center;text-align:center;padding:16px;border-radius:8px;background:#f2f2fb;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}[_nghost-%COMP%] .chat-suggestions__items__item[_ngcontent-%COMP%]:hover{cursor:pointer;background:#eaeaff}"], changeDetection: 0 }); }
|
|
169
|
+
}
|
|
170
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChatSuggestionsComponent, [{
|
|
171
|
+
type: Component,
|
|
172
|
+
args: [{ selector: 'dr-chat-suggestions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"chat-suggestions\"\n #suggestionsContainer\n [ngClass]=\"{\n 'chat-suggestions--three-cols': colsCount === 3,\n 'chat-suggestions--two-cols': colsCount === 2,\n 'chat-suggestions--one-col': colsCount === 1,\n 'chat-suggestions--button-mode': buttonMode\n }\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div\n class=\"chat-suggestions__container\"\n [class.chat-suggestions__container--opened]=\"isSuggestedMenuOpen\"\n *ngIf=\"visibleValues.length\">\n <dr-button theme=\"secondary\" class=\"chat-suggestions__container__button\" (click)=\"toggleSuggestedMenu()\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div\n class=\"chat-suggestions__items\"\n [ngClass]=\"{\n 'chat-suggestions__items--three-cols': colsCount === 3,\n 'chat-suggestions__items--two-cols': colsCount === 2,\n 'chat-suggestions__items--one-col': colsCount === 1\n }\">\n <div *ngFor=\"let item of visibleValues\" class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;justify-content:center;max-width:956px}:host .chat-suggestions--button-mode{justify-content:flex-start}:host .chat-suggestions--button-mode .chat-suggestions__items{padding-top:32px}:host .chat-suggestions--one-col{padding-left:0;grid-template-columns:repeat(1,300px)}:host .chat-suggestions--one-col .chat-suggestions__items{grid-template-columns:repeat(1,300px)}:host .chat-suggestions--two-cols{padding-left:0;grid-template-columns:repeat(2,300px)}:host .chat-suggestions--two-cols .chat-suggestions__items{grid-template-columns:repeat(2,300px)}:host .chat-suggestions--three-cols{padding-left:0;grid-template-columns:repeat(3,300px)}:host .chat-suggestions--three-cols .chat-suggestions__container{padding-left:0}:host .chat-suggestions--three-cols .chat-suggestions__items{grid-template-columns:repeat(3,300px)}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 16px}:host .chat-suggestions__container__button{z-index:3;background:linear-gradient(-90deg,#6969ff,#4eb7df) border-box;border-radius:2em;border:1.5px solid transparent}:host .chat-suggestions__container__button::ng-deep button{background:#fff;border-radius:24px;color:#4646ce;border:none;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:56px;z-index:2}:host .chat-suggestions__container--opened{width:100%}:host .chat-suggestions__container--opened .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#f2f2fb}:host .chat-suggestions__container--opened .chat-suggestions__items{display:grid;align-items:center;justify-content:center}:host .chat-suggestions__items{padding:0 16px;display:grid;gap:28px;grid-auto-rows:minmax(86px,auto);background:#ffffffb3}:host .chat-suggestions__items__item{display:inline-flex;min-height:86px;width:300px;align-items:center;justify-content:center;text-align:center;padding:16px;border-radius:8px;background:#f2f2fb;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#eaeaff}\n"] }]
|
|
173
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { values: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], fullScreen: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], buttonMode: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], waitForReply: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], suggestionSelect: [{
|
|
182
|
+
type: Output
|
|
183
|
+
}], suggestionContainer: [{
|
|
184
|
+
type: ViewChild,
|
|
185
|
+
args: ['suggestionsContainer', { static: false }]
|
|
186
|
+
}] }); })();
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFFWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztJQ0QvQix3QkFBaUU7Ozs7SUFQckUsOEJBR2lDLG1CQUFBO0lBQzRDLDBMQUFTLGVBQUEsNEJBQXFCLENBQUEsSUFBQztJQUNwRyxpQ0FDSjtJQUFBLGlCQUFZO0lBQ1osa0hBQWlFO0lBQ3JFLGlCQUFNOzs7O0lBTkYsaUZBQWlFO0lBS2xELGVBQWlDO0lBQWpDLHNDQUFpQzs7O0lBUnhELDZCQUF1RDtJQUNuRCwwRkFRTTtJQUNWLDBCQUFlOzs7SUFOTixlQUEwQjtJQUExQixrREFBMEI7Ozs7SUFpQi9CLCtCQUEwRztJQUE1QixnUEFBUyxlQUFBLDRCQUFpQixDQUFBLElBQUM7SUFDckcsWUFDSjtJQUFBLGlC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QUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0ExR1EsMEJBQTBCO21HQUExQiwwQkFBMEI7Ozs7OztZQzFCdkMsaUNBUU87WUFDSCw2RkFVZTtZQUNuQixpQkFBTTtZQUVOLDRIQVljOzs7WUEvQlYsbUlBS0U7WUFDYSxlQUFrQjtZQUFsQixxQ0FBa0IsaUJBQUE7Ozt1RkRpQnhCLDBCQUEwQjtjQU50QyxTQUFTOzJCQUNJLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO29FQVN0QyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQU9HLFlBQVk7a0JBQXBCLEtBQUs7WUFFSSxnQkFBZ0I7a0JBQXpCLE1BQU07WUFFK0MsbUJBQW1CO2tCQUF4RSxTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNoYXQtc3VnZ2VzdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRTdWdnZXN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBfbm9uSGlkZGVuVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHZpc2libGVWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgaXNTdWdnZXN0ZWRNZW51T3BlbiA9IGZhbHNlO1xuICAgIGNvbHNDb3VudCA9IDE7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKSB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgQElucHV0KCkgZnVsbFNjcmVlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGJ1dHRvbk1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRlciB0byBjaGVjayBpcyBzZW5kIG1lc3NhZ2UgZnVuY3Rpb24gYXZhaWxhYmxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB3YWl0Rm9yUmVwbHkgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzdWdnZXN0aW9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc3VnZ2VzdGlvbnNDb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgc3VnZ2VzdGlvbkNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIGdldCBoaWRkZW5WYWx1ZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWlDaGF0U3VnZ2VzdGlvbnMnKSkgfHwgW107XG4gICAgfVxuICAgIHNldCBoaWRkZW5WYWx1ZXModmFsdWVzKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycsIEpTT04uc3RyaW5naWZ5KHZhbHVlcykpO1xuICAgIH1cblxuICAgIG9uUmVzaXplJDogT2JzZXJ2YWJsZTxSZXNpemVPYnNlcnZlckVudHJ5W10+O1xuXG4gICAgY29sV2lkdGggPSAzMDA7XG4gICAgY29sR2FwID0gMjg7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMub25SZXNpemUkID0gRHJTaGFyZWRVdGlscy5mcm9tUmVzaXplT2JzZXJ2ZXIodGhpcy5zdWdnZXN0aW9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQ29sc0NvdW50KCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQ29sc0NvdW50KCk7XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLndhaXRGb3JSZXBseSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25TZWxlY3QuZW1pdChpdGVtKTtcbiAgICAgICAgdGhpcy5oaWRkZW5WYWx1ZXMgPSBbLi4udGhpcy5oaWRkZW5WYWx1ZXMsIGl0ZW1dO1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cblxuICAgIGZpbHRlclZhbHVlcygpIHtcbiAgICAgICAgY29uc3QgaGlkZGVuVmFsdWVzID0gdGhpcy5oaWRkZW5WYWx1ZXM7XG4gICAgICAgIHRoaXMuX25vbkhpZGRlblZhbHVlcyA9IF8uZmlsdGVyKHRoaXMudmFsdWVzLCAodmFsKSA9PiAhaGlkZGVuVmFsdWVzLmluY2x1ZGVzKHZhbCkpO1xuICAgICAgICB0aGlzLmZpbGxWaXNpYmxlVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgZmlsbFZpc2libGVWYWx1ZXMoKSB7XG4gICAgICAgIGNvbnN0IG1heEl0ZW1zQ291bnQgPSB0aGlzLmZ1bGxTY3JlZW4gPyA2IDogMztcbiAgICAgICAgY29uc3Qgbm9uSGlkZGVuVmFsdWVzID0gXy5jbG9uZSh0aGlzLl9ub25IaWRkZW5WYWx1ZXMpO1xuICAgICAgICB0aGlzLnZpc2libGVWYWx1ZXMubGVuZ3RoID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhJdGVtc0NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIGlmICghbm9uSGlkZGVuVmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBub25IaWRkZW5WYWx1ZXMubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBub25IaWRkZW5WYWx1ZXMuc3BsaWNlKHJhbmRvbUluZGV4LCAxKVswXTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZVZhbHVlcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGNsZWFySGlkZGVuKCkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYWlDaGF0U3VnZ2VzdGlvbnMnLCBudWxsKTtcbiAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICByZWNhbGN1bGF0ZUNvbHNDb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3VnZ2VzdGlvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0V2lkdGggPj0gdGhpcy5jb2xXaWR0aCAqIDMgKyB0aGlzLmNvbEdhcCAqIDIpIHtcbiAgICAgICAgICAgIHRoaXMuY29sc0NvdW50ID0gMztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN1Z2dlc3Rpb25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoID4gdGhpcy5jb2xXaWR0aCAqIDIgKyB0aGlzLmNvbEdhcCkge1xuICAgICAgICAgICAgdGhpcy5jb2xzQ291bnQgPSAyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb2xzQ291bnQgPSAxO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVN1Z2dlc3RlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbiA9ICF0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW47XG4gICAgICAgIGlmICh0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbFZpc2libGVWYWx1ZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zXCJcbiAgICAjc3VnZ2VzdGlvbnNDb250YWluZXJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjaGF0LXN1Z2dlc3Rpb25zLS10aHJlZS1jb2xzJzogY29sc0NvdW50ID09PSAzLFxuICAgICAgICAnY2hhdC1zdWdnZXN0aW9ucy0tdHdvLWNvbHMnOiBjb2xzQ291bnQgPT09IDIsXG4gICAgICAgICdjaGF0LXN1Z2dlc3Rpb25zLS1vbmUtY29sJzogY29sc0NvdW50ID09PSAxLFxuICAgICAgICAnY2hhdC1zdWdnZXN0aW9ucy0tYnV0dG9uLW1vZGUnOiBidXR0b25Nb2RlXG4gICAgfVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25Nb2RlOyBlbHNlIHN1Z2dlc3Rpb25DYXJkc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNoYXQtc3VnZ2VzdGlvbnNfX2NvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuY2hhdC1zdWdnZXN0aW9uc19fY29udGFpbmVyLS1vcGVuZWRdPVwiaXNTdWdnZXN0ZWRNZW51T3BlblwiXG4gICAgICAgICAgICAqbmdJZj1cInZpc2libGVWYWx1ZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICA8ZHItYnV0dG9uIHRoZW1lPVwic2Vjb25kYXJ5XCIgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zX19jb250YWluZXJfX2J1dHRvblwiIChjbGljayk9XCJ0b2dnbGVTdWdnZXN0ZWRNZW51KClcIj5cbiAgICAgICAgICAgICAgICBTdWdnZXN0ZWQgY2hhdHNcbiAgICAgICAgICAgIDwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Z2dlc3Rpb25DYXJkc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3N1Z2dlc3Rpb25DYXJkcz5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY2hhdC1zdWdnZXN0aW9uc19faXRlbXNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnY2hhdC1zdWdnZXN0aW9uc19faXRlbXMtLXRocmVlLWNvbHMnOiBjb2xzQ291bnQgPT09IDMsXG4gICAgICAgICAgICAnY2hhdC1zdWdnZXN0aW9uc19faXRlbXMtLXR3by1jb2xzJzogY29sc0NvdW50ID09PSAyLFxuICAgICAgICAgICAgJ2NoYXQtc3VnZ2VzdGlvbnNfX2l0ZW1zLS1vbmUtY29sJzogY29sc0NvdW50ID09PSAxXG4gICAgICAgIH1cIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2aXNpYmxlVmFsdWVzXCIgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zX19pdGVtc19faXRlbVwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiPlxuICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DrDotFlashingComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
/** @nocollapse */ static { this.ɵfac = function DrDotFlashingComponent_Factory(t) { return new (t || DrDotFlashingComponent)(); }; }
|
|
6
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDotFlashingComponent, selectors: [["dr-dot-flashing"]], decls: 1, vars: 0, consts: [[1, "dot-flashing"]], template: function DrDotFlashingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
i0.ɵɵelement(0, "div", 0);
|
|
8
|
+
} }, styles: ["[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]{position:relative;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:_ngcontent-%COMP%_dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:11px}[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:before, [_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:after{content:\"\";display:inline-block;position:absolute;top:0}[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:before{left:-10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:_ngcontent-%COMP%_dot-flashing 1s infinite alternate;animation-delay:0s}[_nghost-%COMP%] .dot-flashing[_ngcontent-%COMP%]:after{left:10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:_ngcontent-%COMP%_dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes _ngcontent-%COMP%_dot-flashing{0%{background-color:#25258c}50%,to{background-color:#9880ff33}}"], changeDetection: 0 }); }
|
|
9
|
+
}
|
|
10
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDotFlashingComponent, [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'dr-dot-flashing', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dot-flashing\"></div>\n", styles: [":host .dot-flashing{position:relative;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:11px}:host .dot-flashing:before,:host .dot-flashing:after{content:\"\";display:inline-block;position:absolute;top:0}:host .dot-flashing:before{left:-10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:0s}:host .dot-flashing:after{left:10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes dot-flashing{0%{background-color:#25258c}50%,to{background-color:#9880ff33}}\n"] }]
|
|
13
|
+
}], function () { return []; }, null); })();
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbkUsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixnQkFBZSxDQUFDOzBHQURQLHNCQUFzQjttR0FBdEIsc0JBQXNCO1lDUm5DLHlCQUFnQzs7O3VGRFFuQixzQkFBc0I7Y0FObEMsU0FBUzsyQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kb3QtZmxhc2hpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJEb3RGbGFzaGluZ0NvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImRvdC1mbGFzaGluZ1wiPjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
function DrChipComponent_i_0_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
i0.ɵɵelement(0, "i", 4);
|
|
7
|
+
} if (rf & 2) {
|
|
8
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
9
|
+
i0.ɵɵclassMap(ctx_r0.icon);
|
|
10
|
+
} }
|
|
11
|
+
function DrChipComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
+
i0.ɵɵelementContainerStart(0);
|
|
13
|
+
i0.ɵɵprojection(1);
|
|
14
|
+
i0.ɵɵelementContainerEnd();
|
|
15
|
+
} }
|
|
16
|
+
function DrChipComponent_i_4_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "i", 5);
|
|
19
|
+
i0.ɵɵlistener("click", function DrChipComponent_i_4_Template_i_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.remove.next(null)); });
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
} }
|
|
22
|
+
const _c0 = ["*"];
|
|
23
|
+
export class DrChipComponent {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.remove = new EventEmitter();
|
|
26
|
+
}
|
|
27
|
+
/** @nocollapse */ static { this.ɵfac = function DrChipComponent_Factory(t) { return new (t || DrChipComponent)(); }; }
|
|
28
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrChipComponent, selectors: [["dr-chip"]], inputs: { label: "label", icon: "icon", removable: "removable" }, outputs: { remove: "remove" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 5, vars: 4, consts: [["class", "chip__icon", 3, "class", 4, "ngIf"], [1, "chip__label"], [4, "ngIf"], ["class", "chip__remove dr-icon-exit", 3, "click", 4, "ngIf"], [1, "chip__icon"], [1, "chip__remove", "dr-icon-exit", 3, "click"]], template: function DrChipComponent_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵprojectionDef();
|
|
30
|
+
i0.ɵɵtemplate(0, DrChipComponent_i_0_Template, 1, 2, "i", 0);
|
|
31
|
+
i0.ɵɵelementStart(1, "div", 1);
|
|
32
|
+
i0.ɵɵtemplate(2, DrChipComponent_ng_container_2_Template, 2, 0, "ng-container", 2);
|
|
33
|
+
i0.ɵɵtext(3);
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
i0.ɵɵtemplate(4, DrChipComponent_i_4_Template, 1, 0, "i", 3);
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
i0.ɵɵproperty("ngIf", ctx.icon);
|
|
38
|
+
i0.ɵɵadvance(2);
|
|
39
|
+
i0.ɵɵproperty("ngIf", !ctx.label);
|
|
40
|
+
i0.ɵɵadvance(1);
|
|
41
|
+
i0.ɵɵtextInterpolate1(" ", ctx.label, "\n");
|
|
42
|
+
i0.ɵɵadvance(1);
|
|
43
|
+
i0.ɵɵproperty("ngIf", ctx.removable);
|
|
44
|
+
} }, dependencies: [CommonModule, i1.NgIf], styles: ["[_nghost-%COMP%]{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}[_nghost-%COMP%] .chip__icon[_ngcontent-%COMP%]{margin-left:4px;font-size:20px;color:#6d6e6f}[_nghost-%COMP%] .chip__label[_ngcontent-%COMP%]{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]{border-radius:50%;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}[_nghost-%COMP%] .chip__remove[_ngcontent-%COMP%]:hover{background-color:#f5f5f5;color:#333}"], changeDetection: 0 }); }
|
|
45
|
+
}
|
|
46
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrChipComponent, [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'dr-chip', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<i *ngIf=\"icon\" [class]=\"icon\" class=\"chip__icon\"></i>\n<div class=\"chip__label\">\n <ng-container *ngIf=\"!label\">\n <ng-content></ng-content>\n </ng-container>\n {{ label }}\n</div>\n<i *ngIf=\"removable\" class=\"chip__remove dr-icon-exit\" (click)=\"remove.next(null)\"></i>\n", styles: [":host{display:inline-flex;align-items:center;height:24px;border-radius:12px;padding:0 4px;background-color:#f0f1f4}:host .chip__icon{margin-left:4px;font-size:20px;color:#6d6e6f}:host .chip__label{margin:0 4px;flex-grow:1;color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:Poppins,sans-serif;font-size:12px;line-height:20px;font-weight:500;font-weight:400}:host .chip__remove{border-radius:50%;color:#6d6e6f;font-size:20px;cursor:pointer;flex-shrink:0}:host .chip__remove:hover{background-color:#f5f5f5;color:#333}\n"] }]
|
|
49
|
+
}], null, { label: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], icon: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], removable: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], remove: [{
|
|
56
|
+
type: Output
|
|
57
|
+
}] }); })();
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGlwL2RyLWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hpcC9kci1jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0lDRC9DLHVCQUFzRDs7O0lBQXRDLDBCQUFjOzs7SUFFMUIsNkJBQTZCO0lBQ3pCLGtCQUF5QjtJQUM3QiwwQkFBZTs7OztJQUduQiw0QkFBbUY7SUFBNUIscUpBQVMsZUFBQSxtQkFBWSxJQUFJLENBQUMsQ0FBQSxJQUFDO0lBQUMsaUJBQUk7OztBREl2RixNQUFNLE9BQU8sZUFBZTtJQVI1QjtRQWVjLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBQy9DO21HQVJZLGVBQWU7bUdBQWYsZUFBZTs7WUNYNUIsNERBQXNEO1lBQ3RELDhCQUF5QjtZQUNyQixrRkFFZTtZQUNmLFlBQ0o7WUFBQSxpQkFBTTtZQUNOLDREQUF1Rjs7WUFQbkYsK0JBQVU7WUFFSyxlQUFZO1lBQVosaUNBQVk7WUFHM0IsZUFDSjtZQURJLDJDQUNKO1lBQ0ksZUFBZTtZQUFmLG9DQUFlOzRCREVMLFlBQVk7O3VGQUViLGVBQWU7Y0FSM0IsU0FBUzsyQkFDSSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDO2dCQUdkLEtBQUs7a0JBQWIsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWNoaXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWNoaXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoaXBDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSByZW1vdmFibGU6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPGkgKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb25cIiBjbGFzcz1cImNoaXBfX2ljb25cIj48L2k+XG48ZGl2IGNsYXNzPVwiY2hpcF9fbGFiZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhYmVsXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICB7eyBsYWJlbCB9fVxuPC9kaXY+XG48aSAqbmdJZj1cInJlbW92YWJsZVwiIGNsYXNzPVwiY2hpcF9fcmVtb3ZlIGRyLWljb24tZXhpdFwiIChjbGljayk9XCJyZW1vdmUubmV4dChudWxsKVwiPjwvaT5cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../dr-tooltip/dr-tooltip.directive";
|
|
4
|
+
export class CodeEditorHintWrapperComponent {
|
|
5
|
+
/** @nocollapse */ static { this.ɵfac = function CodeEditorHintWrapperComponent_Factory(t) { return new (t || CodeEditorHintWrapperComponent)(); }; }
|
|
6
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: CodeEditorHintWrapperComponent, selectors: [["dr-code-editor-hint-wrapper"]], decls: 1, vars: 2, consts: [[3, "innerHTML", "drTooltip"]], template: function CodeEditorHintWrapperComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
i0.ɵɵelement(0, "span", 0);
|
|
8
|
+
} if (rf & 2) {
|
|
9
|
+
i0.ɵɵproperty("innerHTML", ctx.content, i0.ɵɵsanitizeHtml)("drTooltip", ctx.tooltip);
|
|
10
|
+
} }, dependencies: [i1.DrTooltipDirective], encapsulation: 2 }); }
|
|
11
|
+
}
|
|
12
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CodeEditorHintWrapperComponent, [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'dr-code-editor-hint-wrapper',
|
|
16
|
+
template: ` <span [innerHTML]="content" [drTooltip]="tooltip"></span> `,
|
|
17
|
+
}]
|
|
18
|
+
}], null, null); })();
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1lZGl0b3ItaGludC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvY29kZS1lZGl0b3ItaGludC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLDhCQUE4QjtrSEFBOUIsOEJBQThCO21HQUE5Qiw4QkFBOEI7WUFGM0IsMEJBQXlEOztZQUFuRCwwREFBcUIsMEJBQUE7Ozt1RkFFOUIsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxRQUFRLEVBQUUsNkRBQTZEO2FBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY29kZS1lZGl0b3ItaGludC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZTogYCA8c3BhbiBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIiBbZHJUb29sdGlwXT1cInRvb2x0aXBcIj48L3NwYW4+IGAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JIaW50V3JhcHBlckNvbXBvbmVudCB7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIHRvb2x0aXA6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, Input, KeyValueDiffers, NgZone, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as CodeMirror from 'codemirror';
|
|
4
|
+
import { DrSharedUtils } from '../../utils/dr-shared-utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
const _c0 = ["ref"];
|
|
7
|
+
export class DrCodemirrorComponent {
|
|
8
|
+
set options(value) {
|
|
9
|
+
this._options = value;
|
|
10
|
+
if (!this._differ && value) {
|
|
11
|
+
this._differ = this._differs.find(value).create();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
constructor(_differs, _ngZone) {
|
|
15
|
+
this._differs = _differs;
|
|
16
|
+
this._ngZone = _ngZone;
|
|
17
|
+
this.className = '';
|
|
18
|
+
this.name = 'codemirror';
|
|
19
|
+
this.autoFocus = false;
|
|
20
|
+
this.preserveScrollPosition = false;
|
|
21
|
+
this.cursorActivity = new EventEmitter();
|
|
22
|
+
this.focusChange = new EventEmitter();
|
|
23
|
+
this.scroll = new EventEmitter();
|
|
24
|
+
this.drop = new EventEmitter();
|
|
25
|
+
this.codeMirrorLoaded = new EventEmitter();
|
|
26
|
+
this.value = '';
|
|
27
|
+
this.disabled = false;
|
|
28
|
+
this.isFocused = false;
|
|
29
|
+
this.onChange = (_) => { };
|
|
30
|
+
this.onTouched = () => { };
|
|
31
|
+
}
|
|
32
|
+
get codeMirrorGlobal() {
|
|
33
|
+
if (this._codeMirror) {
|
|
34
|
+
return this._codeMirror;
|
|
35
|
+
}
|
|
36
|
+
this._codeMirror = CodeMirror;
|
|
37
|
+
return this._codeMirror;
|
|
38
|
+
}
|
|
39
|
+
ngAfterViewInit() {
|
|
40
|
+
this._ngZone.runOutsideAngular(async () => {
|
|
41
|
+
const codeMirrorObj = await this.codeMirrorGlobal;
|
|
42
|
+
const codeMirror = codeMirrorObj?.default ? codeMirrorObj.default : codeMirrorObj;
|
|
43
|
+
this.codeMirror = codeMirror.fromTextArea(this.ref.nativeElement, this._options);
|
|
44
|
+
this.codeMirror.on('cursorActivity', (cm) => this._ngZone.run(() => this.cursorActive(cm)));
|
|
45
|
+
this.codeMirror.on('scroll', this.scrollChanged.bind(this));
|
|
46
|
+
this.codeMirror.on('blur', () => this._ngZone.run(() => this.focusChanged(false)));
|
|
47
|
+
this.codeMirror.on('focus', () => this._ngZone.run(() => this.focusChanged(true)));
|
|
48
|
+
this.codeMirror.on('change', (cm, change) => this._ngZone.run(() => this.codemirrorValueChanged(cm, change)));
|
|
49
|
+
this.codeMirror.on('drop', (cm, e) => {
|
|
50
|
+
this._ngZone.run(() => this.dropFiles(cm, e));
|
|
51
|
+
});
|
|
52
|
+
this.codeMirror.setValue(this.value);
|
|
53
|
+
this.codeMirrorLoaded.emit(this);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
ngDoCheck() {
|
|
57
|
+
if (!this._differ) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// check options have not changed
|
|
61
|
+
const changes = this._differ.diff(this._options);
|
|
62
|
+
if (changes) {
|
|
63
|
+
changes.forEachChangedItem((option) => this.setOptionIfChanged(option.key, option.currentValue));
|
|
64
|
+
changes.forEachAddedItem((option) => this.setOptionIfChanged(option.key, option.currentValue));
|
|
65
|
+
changes.forEachRemovedItem((option) => this.setOptionIfChanged(option.key, option.currentValue));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
// is there a lighter-weight way to remove the cm instance?
|
|
70
|
+
if (this.codeMirror) {
|
|
71
|
+
this.codeMirror.toTextArea();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
codemirrorValueChanged(cm, change) {
|
|
75
|
+
const cmVal = cm.getValue();
|
|
76
|
+
if (this.value !== cmVal) {
|
|
77
|
+
this.value = cmVal;
|
|
78
|
+
this.onChange(this.value);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
setOptionIfChanged(optionName, newValue) {
|
|
82
|
+
if (!this.codeMirror) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// cast to any to handle strictly typed option names
|
|
86
|
+
// could possibly import settings strings available in the future
|
|
87
|
+
this.codeMirror.setOption(optionName, newValue);
|
|
88
|
+
}
|
|
89
|
+
focusChanged(focused) {
|
|
90
|
+
this.onTouched();
|
|
91
|
+
this.isFocused = focused;
|
|
92
|
+
this.focusChange.emit(focused);
|
|
93
|
+
}
|
|
94
|
+
scrollChanged(cm) {
|
|
95
|
+
this.scroll.emit(cm.getScrollInfo());
|
|
96
|
+
}
|
|
97
|
+
cursorActive(cm) {
|
|
98
|
+
this.cursorActivity.emit(cm);
|
|
99
|
+
}
|
|
100
|
+
dropFiles(cm, e) {
|
|
101
|
+
this.drop.emit([cm, e]);
|
|
102
|
+
}
|
|
103
|
+
writeValue(value) {
|
|
104
|
+
if (value === null || value === undefined) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (!this.codeMirror) {
|
|
108
|
+
this.value = value;
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const cur = this.codeMirror.getValue();
|
|
112
|
+
if (value !== cur && DrSharedUtils.normalizeLineEndings(cur) !== DrSharedUtils.normalizeLineEndings(value)) {
|
|
113
|
+
this.value = value;
|
|
114
|
+
if (this.preserveScrollPosition) {
|
|
115
|
+
const prevScrollPosition = this.codeMirror.getScrollInfo();
|
|
116
|
+
this.codeMirror.setValue(this.value);
|
|
117
|
+
this.codeMirror.scrollTo(prevScrollPosition.left, prevScrollPosition.top);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.codeMirror.setValue(this.value);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
registerOnChange(fn) {
|
|
125
|
+
this.onChange = fn;
|
|
126
|
+
}
|
|
127
|
+
registerOnTouched(fn) {
|
|
128
|
+
this.onTouched = fn;
|
|
129
|
+
}
|
|
130
|
+
setDisabledState(isDisabled) {
|
|
131
|
+
this.disabled = isDisabled;
|
|
132
|
+
this.setOptionIfChanged('readOnly', this.disabled);
|
|
133
|
+
}
|
|
134
|
+
/** @nocollapse */ static { this.ɵfac = function DrCodemirrorComponent_Factory(t) { return new (t || DrCodemirrorComponent)(i0.ɵɵdirectiveInject(i0.KeyValueDiffers), i0.ɵɵdirectiveInject(i0.NgZone)); }; }
|
|
135
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrCodemirrorComponent, selectors: [["dr-codemirror"]], viewQuery: function DrCodemirrorComponent_Query(rf, ctx) { if (rf & 1) {
|
|
136
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
137
|
+
} if (rf & 2) {
|
|
138
|
+
let _t;
|
|
139
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ref = _t.first);
|
|
140
|
+
} }, inputs: { className: "className", name: "name", autoFocus: "autoFocus", options: "options", preserveScrollPosition: "preserveScrollPosition" }, outputs: { cursorActivity: "cursorActivity", focusChange: "focusChange", scroll: "scroll", drop: "drop", codeMirrorLoaded: "codeMirrorLoaded" }, features: [i0.ɵɵProvidersFeature([
|
|
141
|
+
{
|
|
142
|
+
provide: NG_VALUE_ACCESSOR,
|
|
143
|
+
useExisting: forwardRef((() => DrCodemirrorComponent)),
|
|
144
|
+
multi: true,
|
|
145
|
+
},
|
|
146
|
+
])], decls: 3, vars: 7, consts: [["autocomplete", "off", 3, "name", "autofocus"], ["ref", ""]], template: function DrCodemirrorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
147
|
+
i0.ɵɵelementStart(0, "textarea", 0, 1);
|
|
148
|
+
i0.ɵɵtext(2, " ");
|
|
149
|
+
i0.ɵɵelementEnd();
|
|
150
|
+
} if (rf & 2) {
|
|
151
|
+
i0.ɵɵclassMapInterpolate1("dr-codemirror ", ctx.className, "");
|
|
152
|
+
i0.ɵɵclassProp("dr-codemirror--focused", ctx.isFocused);
|
|
153
|
+
i0.ɵɵproperty("name", ctx.name)("autofocus", ctx.autoFocus);
|
|
154
|
+
} }, encapsulation: 2, changeDetection: 0 }); }
|
|
155
|
+
}
|
|
156
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrCodemirrorComponent, [{
|
|
157
|
+
type: Component,
|
|
158
|
+
args: [{
|
|
159
|
+
selector: 'dr-codemirror',
|
|
160
|
+
template: `
|
|
161
|
+
<textarea
|
|
162
|
+
[name]="name"
|
|
163
|
+
class="dr-codemirror {{ className }}"
|
|
164
|
+
[class.dr-codemirror--focused]="isFocused"
|
|
165
|
+
autocomplete="off"
|
|
166
|
+
[autofocus]="autoFocus"
|
|
167
|
+
#ref>
|
|
168
|
+
</textarea>
|
|
169
|
+
`,
|
|
170
|
+
providers: [
|
|
171
|
+
{
|
|
172
|
+
provide: NG_VALUE_ACCESSOR,
|
|
173
|
+
useExisting: forwardRef((() => DrCodemirrorComponent)),
|
|
174
|
+
multi: true,
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
preserveWhitespaces: false,
|
|
178
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
179
|
+
}]
|
|
180
|
+
}], function () { return [{ type: i0.KeyValueDiffers }, { type: i0.NgZone }]; }, { className: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], name: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], autoFocus: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], options: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], preserveScrollPosition: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], cursorActivity: [{
|
|
191
|
+
type: Output
|
|
192
|
+
}], focusChange: [{
|
|
193
|
+
type: Output
|
|
194
|
+
}], scroll: [{
|
|
195
|
+
type: Output
|
|
196
|
+
}], drop: [{
|
|
197
|
+
type: Output
|
|
198
|
+
}], codeMirrorLoaded: [{
|
|
199
|
+
type: Output
|
|
200
|
+
}], ref: [{
|
|
201
|
+
type: ViewChild,
|
|
202
|
+
args: ['ref']
|
|
203
|
+
}] }); })();
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItY29kZW1pcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jb2RlLWVkaXRvci9jb21wb25lbnRzL2RyLWNvZGVtaXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxlQUFlLEVBQ2YsTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBd0I1RCxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLElBQ0ksT0FBTyxDQUFDLEtBQTZCO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQWlCRCxZQUNZLFFBQXlCLEVBQ3pCLE9BQWU7UUFEZixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBN0JsQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBSSxHQUFHLFlBQVksQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBU2xCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUM5QixtQkFBYyxH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QUUsQ0FBQyxxQkFBcUIsRUFBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtZQWZHLHNDQU1TO1lBQ1Qsd0JBQUE7WUFBQSxpQkFBVzs7WUFMUCw4REFBcUM7WUFDckMsdURBQTBDO1lBRjFDLCtCQUFhLDRCQUFBOzs7dUZBa0JaLHFCQUFxQjtjQXRCakMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO2dCQUNELFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxzQkFBc0IsRUFBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7aUJBQ0o7Z0JBQ0QsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7dUZBRVksU0FBUztrQkFBakIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFHRixPQUFPO2tCQURWLEtBQUs7WUFPRyxzQkFBc0I7a0JBQTlCLEtBQUs7WUFDSSxjQUFjO2tCQUF2QixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQUNHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUNXLEdBQUc7a0JBQXBCLFNBQVM7bUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIEtleVZhbHVlRGlmZmVyLFxuICAgIEtleVZhbHVlRGlmZmVycyxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWRpdG9yLCBFZGl0b3JDaGFuZ2UsIEVkaXRvckZyb21UZXh0QXJlYSwgU2Nyb2xsSW5mbyB9IGZyb20gJ2NvZGVtaXJyb3InO1xuaW1wb3J0ICogYXMgQ29kZU1pcnJvciBmcm9tICdjb2RlbWlycm9yJztcbmltcG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWNvZGVtaXJyb3InLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyLWNvZGVtaXJyb3Ige3sgY2xhc3NOYW1lIH19XCJcbiAgICAgICAgICAgIFtjbGFzcy5kci1jb2RlbWlycm9yLS1mb2N1c2VkXT1cImlzRm9jdXNlZFwiXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvRm9jdXNcIlxuICAgICAgICAgICAgI3JlZj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICBgLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyQ29kZW1pcnJvckNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNvZGVtaXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgICBASW5wdXQoKSBuYW1lID0gJ2NvZGVtaXJyb3InO1xuICAgIEBJbnB1dCgpIGF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgb3B0aW9ucyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICghdGhpcy5fZGlmZmVyICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9kaWZmZXIgPSB0aGlzLl9kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIHByZXNlcnZlU2Nyb2xsUG9zaXRpb24gPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgY3Vyc29yQWN0aXZpdHkgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRvcj4oKTtcbiAgICBAT3V0cHV0KCkgZm9jdXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIHNjcm9sbCA9IG5ldyBFdmVudEVtaXR0ZXI8U2Nyb2xsSW5mbz4oKTtcbiAgICBAT3V0cHV0KCkgZHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8W0VkaXRvciwgRHJhZ0V2ZW50XT4oKTtcbiAgICBAT3V0cHV0KCkgY29kZU1pcnJvckxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJDb2RlbWlycm9yQ29tcG9uZW50PigpO1xuICAgIEBWaWV3Q2hpbGQoJ3JlZicpIHJlZiE6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XG4gICAgdmFsdWUgPSAnJztcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIGlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIGNvZGVNaXJyb3I/OiBFZGl0b3JGcm9tVGV4dEFyZWE7XG5cbiAgICBwcml2YXRlIF9jb2RlTWlycm9yOiBhbnk7XG4gICAgcHJpdmF0ZSBfZGlmZmVyPzogS2V5VmFsdWVEaWZmZXI8c3RyaW5nLCBhbnk+O1xuICAgIHByaXZhdGUgX29wdGlvbnM6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgICkge31cblxuICAgIGdldCBjb2RlTWlycm9yR2xvYmFsKCk6IGFueSB7XG4gICAgICAgIGlmICh0aGlzLl9jb2RlTWlycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvZGVNaXJyb3IgPSBDb2RlTWlycm9yO1xuICAgICAgICByZXR1cm4gdGhpcy5fY29kZU1pcnJvcjtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2RlTWlycm9yT2JqID0gYXdhaXQgdGhpcy5jb2RlTWlycm9yR2xvYmFsO1xuICAgICAgICAgICAgY29uc3QgY29kZU1pcnJvciA9IGNvZGVNaXJyb3JPYmo/LmRlZmF1bHQgPyBjb2RlTWlycm9yT2JqLmRlZmF1bHQgOiBjb2RlTWlycm9yT2JqO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yID0gY29kZU1pcnJvci5mcm9tVGV4dEFyZWEodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fb3B0aW9ucykgYXMgRWRpdG9yRnJvbVRleHRBcmVhO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLm9uKCdjdXJzb3JBY3Rpdml0eScsIChjbSkgPT4gdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmN1cnNvckFjdGl2ZShjbSkpKTtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5vbignc2Nyb2xsJywgdGhpcy5zY3JvbGxDaGFuZ2VkLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLm9uKCdibHVyJywgKCkgPT4gdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmZvY3VzQ2hhbmdlZChmYWxzZSkpKTtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5vbignZm9jdXMnLCAoKSA9PiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuZm9jdXNDaGFuZ2VkKHRydWUpKSk7XG4gICAgICAgICAgICB0aGlzLmNvZGVNaXJyb3Iub24oJ2NoYW5nZScsIChjbSwgY2hhbmdlKSA9PiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuY29kZW1pcnJvclZhbHVlQ2hhbmdlZChjbSwgY2hhbmdlKSkpO1xuICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLm9uKCdkcm9wJywgKGNtLCBlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmRyb3BGaWxlcyhjbSwgZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvZGVNaXJyb3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmNvZGVNaXJyb3JMb2FkZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2RpZmZlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoZWNrIG9wdGlvbnMgaGF2ZSBub3QgY2hhbmdlZFxuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fb3B0aW9ucyk7XG4gICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICBjaGFuZ2VzLmZvckVhY2hDaGFuZ2VkSXRlbSgob3B0aW9uKSA9PiB0aGlzLnNldE9wdGlvbklmQ2hhbmdlZChvcHRpb24ua2V5LCBvcHRpb24uY3VycmVudFZhbHVlKSk7XG4gICAgICAgICAgICBjaGFuZ2VzLmZvckVhY2hBZGRlZEl0ZW0oKG9wdGlvbikgPT4gdGhpcy5zZXRPcHRpb25JZkNoYW5nZWQob3B0aW9uLmtleSwgb3B0aW9uLmN1cnJlbnRWYWx1ZSkpO1xuICAgICAgICAgICAgY2hhbmdlcy5mb3JFYWNoUmVtb3ZlZEl0ZW0oKG9wdGlvbikgPT4gdGhpcy5zZXRPcHRpb25JZkNoYW5nZWQob3B0aW9uLmtleSwgb3B0aW9uLmN1cnJlbnRWYWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIGlzIHRoZXJlIGEgbGlnaHRlci13ZWlnaHQgd2F5IHRvIHJlbW92ZSB0aGUgY20gaW5zdGFuY2U/XG4gICAgICAgIGlmICh0aGlzLmNvZGVNaXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci50b1RleHRBcmVhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlbWlycm9yVmFsdWVDaGFuZ2VkKGNtOiBFZGl0b3IsIGNoYW5nZTogRWRpdG9yQ2hhbmdlKSB7XG4gICAgICAgIGNvbnN0IGNtVmFsID0gY20uZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGNtVmFsKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gY21WYWw7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0T3B0aW9uSWZDaGFuZ2VkKG9wdGlvbk5hbWU6IHN0cmluZywgbmV3VmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoIXRoaXMuY29kZU1pcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2FzdCB0byBhbnkgdG8gaGFuZGxlIHN0cmljdGx5IHR5cGVkIG9wdGlvbiBuYW1lc1xuICAgICAgICAvLyBjb3VsZCBwb3NzaWJseSBpbXBvcnQgc2V0dGluZ3Mgc3RyaW5ncyBhdmFpbGFibGUgaW4gdGhlIGZ1dHVyZVxuICAgICAgICB0aGlzLmNvZGVNaXJyb3Iuc2V0T3B0aW9uKG9wdGlvbk5hbWUgYXMgYW55LCBuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgZm9jdXNDaGFuZ2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmb2N1c2VkO1xuICAgICAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgc2Nyb2xsQ2hhbmdlZChjbTogRWRpdG9yKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsLmVtaXQoY20uZ2V0U2Nyb2xsSW5mbygpKTtcbiAgICB9XG5cbiAgICBjdXJzb3JBY3RpdmUoY206IEVkaXRvcikge1xuICAgICAgICB0aGlzLmN1cnNvckFjdGl2aXR5LmVtaXQoY20pO1xuICAgIH1cblxuICAgIGRyb3BGaWxlcyhjbTogRWRpdG9yLCBlOiBEcmFnRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wLmVtaXQoW2NtLCBlXSk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNvZGVNaXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXIgPSB0aGlzLmNvZGVNaXJyb3IuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHZhbHVlICE9PSBjdXIgJiYgRHJTaGFyZWRVdGlscy5ub3JtYWxpemVMaW5lRW5kaW5ncyhjdXIpICE9PSBEclNoYXJlZFV0aWxzLm5vcm1hbGl6ZUxpbmVFbmRpbmdzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJlc2VydmVTY3JvbGxQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZTY3JvbGxQb3NpdGlvbiA9IHRoaXMuY29kZU1pcnJvci5nZXRTY3JvbGxJbmZvKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2RlTWlycm9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5zY3JvbGxUbyhwcmV2U2Nyb2xsUG9zaXRpb24ubGVmdCwgcHJldlNjcm9sbFBvc2l0aW9uLnRvcCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvci5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5zZXRPcHRpb25JZkNoYW5nZWQoJ3JlYWRPbmx5JywgdGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcbn1cbiJdfQ==
|