@datarailsshared/datarailsshared 1.4.569 → 1.5.3
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.3.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,185 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Inject, Input, Output, PLATFORM_ID, QueryList, } from '@angular/core';
|
|
2
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { from, fromEvent, merge, Subject } from 'rxjs';
|
|
5
|
+
import { filter, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { RadioButtonComponent } from './radio-button.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
const _c0 = [[["dr-radio-button"]]];
|
|
9
|
+
const _c1 = ["dr-radio-button"];
|
|
10
|
+
export class RadioGroupComponent {
|
|
11
|
+
get value() {
|
|
12
|
+
return this._value;
|
|
13
|
+
}
|
|
14
|
+
set value(value) {
|
|
15
|
+
this._value = value;
|
|
16
|
+
this.updateValues();
|
|
17
|
+
}
|
|
18
|
+
get name() {
|
|
19
|
+
return this._name;
|
|
20
|
+
}
|
|
21
|
+
set name(name) {
|
|
22
|
+
this._name = name;
|
|
23
|
+
this.updateNames();
|
|
24
|
+
}
|
|
25
|
+
get disabled() {
|
|
26
|
+
return this._disabled;
|
|
27
|
+
}
|
|
28
|
+
set disabled(disabled) {
|
|
29
|
+
this._disabled = !!disabled;
|
|
30
|
+
this.updateDisabled();
|
|
31
|
+
}
|
|
32
|
+
constructor(hostElement, platformId, document) {
|
|
33
|
+
this.hostElement = hostElement;
|
|
34
|
+
this.platformId = platformId;
|
|
35
|
+
this.document = document;
|
|
36
|
+
this.destroy$ = new Subject();
|
|
37
|
+
this.valueChange = new EventEmitter();
|
|
38
|
+
this.onChange = (value) => { };
|
|
39
|
+
this.onTouched = () => { };
|
|
40
|
+
}
|
|
41
|
+
ngAfterContentInit() {
|
|
42
|
+
// In case option 'name' isn't set on dr-radio component,
|
|
43
|
+
// we need to set it's name right away, so it won't overlap with options
|
|
44
|
+
// without names from other radio groups. Otherwise they all would have
|
|
45
|
+
// same name and will be considered as options from one group so only the
|
|
46
|
+
// last option will stay selected.
|
|
47
|
+
this.updateNames();
|
|
48
|
+
this.radios.changes
|
|
49
|
+
.pipe(startWith(this.radios),
|
|
50
|
+
// 'changes' emit during change detection run and we can't update
|
|
51
|
+
// option properties right of since they already was initialized.
|
|
52
|
+
// Instead we schedule microtask to update radios after change detection
|
|
53
|
+
// run is finished and trigger one more change detection run.
|
|
54
|
+
switchMap((radios) => from(Promise.resolve(radios))), takeUntil(this.destroy$))
|
|
55
|
+
.subscribe(() => this.updateAndSubscribeToRadios());
|
|
56
|
+
}
|
|
57
|
+
ngOnDestroy() {
|
|
58
|
+
this.destroy$.next();
|
|
59
|
+
this.destroy$.complete();
|
|
60
|
+
}
|
|
61
|
+
registerOnChange(fn) {
|
|
62
|
+
this.onChange = fn;
|
|
63
|
+
}
|
|
64
|
+
registerOnTouched(fn) {
|
|
65
|
+
this.onTouched = fn;
|
|
66
|
+
}
|
|
67
|
+
writeValue(value) {
|
|
68
|
+
this.value = value;
|
|
69
|
+
}
|
|
70
|
+
setDisabledState(isDisabled) {
|
|
71
|
+
this.disabled = isDisabled;
|
|
72
|
+
}
|
|
73
|
+
updateAndSubscribeToRadios() {
|
|
74
|
+
this.updateValueFromCheckedOption();
|
|
75
|
+
this.updateNames();
|
|
76
|
+
this.updateValues();
|
|
77
|
+
this.updateDisabled();
|
|
78
|
+
this.subscribeOnRadiosValueChange();
|
|
79
|
+
this.subscribeOnRadiosBlur();
|
|
80
|
+
}
|
|
81
|
+
updateNames() {
|
|
82
|
+
if (this.radios) {
|
|
83
|
+
this.radios.forEach((radio) => radio._setName(this.name));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
updateValues() {
|
|
87
|
+
this.updateAndMarkForCheckRadios((radio) => {
|
|
88
|
+
radio.modelValue = this.value;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
updateDisabled() {
|
|
92
|
+
if (typeof this.disabled !== 'undefined') {
|
|
93
|
+
this.updateAndMarkForCheckRadios((radio) => (radio.disabled = this.disabled));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
subscribeOnRadiosValueChange() {
|
|
97
|
+
if (!this.radios || !this.radios.length) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
merge(...this.radios.map((radio) => radio.valueChange))
|
|
101
|
+
.pipe(takeUntil(merge(this.radios.changes, this.destroy$)))
|
|
102
|
+
.subscribe((value) => {
|
|
103
|
+
this.writeValue(value);
|
|
104
|
+
this.propagateValue(value);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
propagateValue(value) {
|
|
108
|
+
this.valueChange.emit(value);
|
|
109
|
+
this.onChange(value);
|
|
110
|
+
}
|
|
111
|
+
subscribeOnRadiosBlur() {
|
|
112
|
+
const hasNoRadios = !this.radios || !this.radios.length;
|
|
113
|
+
if (!isPlatformBrowser(this.platformId) || hasNoRadios) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const hostElement = this.hostElement.nativeElement;
|
|
117
|
+
fromEvent(hostElement, 'focusin')
|
|
118
|
+
.pipe(filter((event) => hostElement.contains(event.target)), switchMap(() => merge(fromEvent(this.document, 'focusin'), fromEvent(this.document, 'click'))), filter((event) => !hostElement.contains(event.target)), takeUntil(merge(this.radios.changes, this.destroy$)))
|
|
119
|
+
.subscribe(() => this.onTouched());
|
|
120
|
+
}
|
|
121
|
+
updateAndMarkForCheckRadios(updateFn) {
|
|
122
|
+
if (this.radios) {
|
|
123
|
+
this.radios.forEach((radio) => {
|
|
124
|
+
updateFn(radio);
|
|
125
|
+
radio._markForCheck();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
updateValueFromCheckedOption() {
|
|
130
|
+
const checkedRadio = this.radios.find((radio) => radio.modelValue);
|
|
131
|
+
const isValueMissing = this.value === undefined || this.value === null;
|
|
132
|
+
if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {
|
|
133
|
+
this.value = checkedRadio.value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** @nocollapse */ static { this.ɵfac = function RadioGroupComponent_Factory(t) { return new (t || RadioGroupComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(DOCUMENT)); }; }
|
|
137
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: RadioGroupComponent, selectors: [["dr-radio-group"]], contentQueries: function RadioGroupComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
138
|
+
i0.ɵɵcontentQuery(dirIndex, RadioButtonComponent, 5);
|
|
139
|
+
} if (rf & 2) {
|
|
140
|
+
let _t;
|
|
141
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.radios = _t);
|
|
142
|
+
} }, inputs: { value: "value", name: "name", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, features: [i0.ɵɵProvidersFeature([
|
|
143
|
+
{
|
|
144
|
+
provide: NG_VALUE_ACCESSOR,
|
|
145
|
+
useExisting: forwardRef((() => RadioGroupComponent)),
|
|
146
|
+
multi: true,
|
|
147
|
+
},
|
|
148
|
+
])], ngContentSelectors: _c1, decls: 1, vars: 0, template: function RadioGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
149
|
+
i0.ɵɵprojectionDef(_c0);
|
|
150
|
+
i0.ɵɵprojection(0);
|
|
151
|
+
} }, encapsulation: 2, changeDetection: 0 }); }
|
|
152
|
+
}
|
|
153
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RadioGroupComponent, [{
|
|
154
|
+
type: Component,
|
|
155
|
+
args: [{
|
|
156
|
+
selector: 'dr-radio-group',
|
|
157
|
+
template: ` <ng-content select="dr-radio-button"></ng-content>`,
|
|
158
|
+
providers: [
|
|
159
|
+
{
|
|
160
|
+
provide: NG_VALUE_ACCESSOR,
|
|
161
|
+
useExisting: forwardRef((() => RadioGroupComponent)),
|
|
162
|
+
multi: true,
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
166
|
+
}]
|
|
167
|
+
}], function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
168
|
+
type: Inject,
|
|
169
|
+
args: [PLATFORM_ID]
|
|
170
|
+
}] }, { type: undefined, decorators: [{
|
|
171
|
+
type: Inject,
|
|
172
|
+
args: [DOCUMENT]
|
|
173
|
+
}] }]; }, { value: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], name: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], disabled: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], radios: [{
|
|
180
|
+
type: ContentChildren,
|
|
181
|
+
args: [RadioButtonComponent, { descendants: true }]
|
|
182
|
+
}], valueChange: [{
|
|
183
|
+
type: Output
|
|
184
|
+
}] }); })();
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQWNoRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBWTtR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QW9CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBRWxELFdBQVc7a0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbSwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXJhZGlvLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCBzZWxlY3Q9XCJkci1yYWRpby1idXR0b25cIj48L25nLWNvbnRlbnQ+YCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0dyb3VwQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKVxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICAgIH1cblxuICAgIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy51cGRhdGVOYW1lcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gISFkaXNhYmxlZDtcbiAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZCgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcm90ZWN0ZWQgcGxhdGZvcm1JZCxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIGRvY3VtZW50LFxuICAgICkge31cblxuICAgIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJvdGVjdGVkIF92YWx1ZTogYW55O1xuICAgIHByb3RlY3RlZCBfbmFtZTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFJhZGlvQnV0dG9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHJhZGlvczogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50PjtcblxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgLy8gSW4gY2FzZSBvcHRpb24gJ25hbWUnIGlzbid0IHNldCBvbiBkci1yYWRpbyBjb21wb25lbnQsXG4gICAgICAgIC8vIHdlIG5lZWQgdG8gc2V0IGl0J3MgbmFtZSByaWdodCBhd2F5LCBzbyBpdCB3b24ndCBvdmVybGFwIHdpdGggb3B0aW9uc1xuICAgICAgICAvLyB3aXRob3V0IG5hbWVzIGZyb20gb3RoZXIgcmFkaW8gZ3JvdXBzLiBPdGhlcndpc2UgdGhleSBhbGwgd291bGQgaGF2ZVxuICAgICAgICAvLyBzYW1lIG5hbWUgYW5kIHdpbGwgYmUgY29uc2lkZXJlZCBhcyBvcHRpb25zIGZyb20gb25lIGdyb3VwIHNvIG9ubHkgdGhlXG4gICAgICAgIC8vIGxhc3Qgb3B0aW9uIHdpbGwgc3RheSBzZWxlY3RlZC5cbiAgICAgICAgdGhpcy51cGRhdGVOYW1lcygpO1xuXG4gICAgICAgIHRoaXMucmFkaW9zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnJhZGlvcyksXG4gICAgICAgICAgICAgICAgLy8gJ2NoYW5nZXMnIGVtaXQgZHVyaW5nIGNoYW5nZSBkZXRlY3Rpb24gcnVuIGFuZCB3ZSBjYW4ndCB1cGRhdGVcbiAgICAgICAgICAgICAgICAvLyBvcHRpb24gcHJvcGVydGllcyByaWdodCBvZiBzaW5jZSB0aGV5IGFscmVhZHkgd2FzIGluaXRpYWxpemVkLlxuICAgICAgICAgICAgICAgIC8vIEluc3RlYWQgd2Ugc2NoZWR1bGUgbWljcm90YXNrIHRvIHVwZGF0ZSByYWRpb3MgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvblxuICAgICAgICAgICAgICAgIC8vIHJ1biBpcyBmaW5pc2hlZCBhbmQgdHJpZ2dlciBvbmUgbW9yZSBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bi5cbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHJhZGlvczogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50PikgPT4gZnJvbShQcm9taXNlLnJlc29sdmUocmFkaW9zKSkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVBbmRTdWJzY3JpYmVUb1JhZGlvcygpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlQW5kU3Vic2NyaWJlVG9SYWRpb3MoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVGcm9tQ2hlY2tlZE9wdGlvbigpO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hbWVzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRGlzYWJsZWQoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPblJhZGlvc1ZhbHVlQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25SYWRpb3NCbHVyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZU5hbWVzKCkge1xuICAgICAgICBpZiAodGhpcy5yYWRpb3MpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9zLmZvckVhY2goKHJhZGlvOiBSYWRpb0J1dHRvbkNvbXBvbmVudCkgPT4gcmFkaW8uX3NldE5hbWUodGhpcy5uYW1lKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWVzKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUFuZE1hcmtGb3JDaGVja1JhZGlvcygocmFkaW86IFJhZGlvQnV0dG9uQ29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICByYWRpby5tb2RlbFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZURpc2FibGVkKCkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFuZE1hcmtGb3JDaGVja1JhZGlvcygocmFkaW86IFJhZGlvQnV0dG9uQ29tcG9uZW50KSA9PiAocmFkaW8uZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlT25SYWRpb3NWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhZGlvcyB8fCAhdGhpcy5yYWRpb3MubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZSguLi50aGlzLnJhZGlvcy5tYXAoKHJhZGlvOiBSYWRpb0J1dHRvbkNvbXBvbmVudCkgPT4gcmFkaW8udmFsdWVDaGFuZ2UpKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMucmFkaW9zLmNoYW5nZXMsIHRoaXMuZGVzdHJveSQpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHByb3BhZ2F0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN1YnNjcmliZU9uUmFkaW9zQmx1cigpIHtcbiAgICAgICAgY29uc3QgaGFzTm9SYWRpb3MgPSAhdGhpcy5yYWRpb3MgfHwgIXRoaXMucmFkaW9zLmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8IGhhc05vUmFkaW9zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pihob3N0RWxlbWVudCwgJ2ZvY3VzaW4nKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gaG9zdEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbWVyZ2UoZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmRvY3VtZW50LCAnZm9jdXNpbicpLCBmcm9tRXZlbnQ8RXZlbnQ+KHRoaXMuZG9jdW1lbnQsICdjbGljaycpKSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gIWhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKG1lcmdlKHRoaXMucmFkaW9zLmNoYW5nZXMsIHRoaXMuZGVzdHJveSQpKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblRvdWNoZWQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUFuZE1hcmtGb3JDaGVja1JhZGlvcyh1cGRhdGVGbjogKFJhZGlvQnV0dG9uQ29tcG9uZW50KSA9PiB2b2lkKSB7XG4gICAgICAgIGlmICh0aGlzLnJhZGlvcykge1xuICAgICAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaCgocmFkaW8pID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGVGbihyYWRpbyk7XG4gICAgICAgICAgICAgICAgcmFkaW8uX21hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWVGcm9tQ2hlY2tlZE9wdGlvbigpIHtcbiAgICAgICAgY29uc3QgY2hlY2tlZFJhZGlvID0gdGhpcy5yYWRpb3MuZmluZCgocmFkaW8pID0+IHJhZGlvLm1vZGVsVmFsdWUpO1xuICAgICAgICBjb25zdCBpc1ZhbHVlTWlzc2luZyA9IHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlID09PSBudWxsO1xuICAgICAgICBpZiAoY2hlY2tlZFJhZGlvICYmIGlzVmFsdWVNaXNzaW5nICYmIGNoZWNrZWRSYWRpby52YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGNoZWNrZWRSYWRpby52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = ["*"];
|
|
4
|
+
export class DrLayoutBodyComponent {
|
|
5
|
+
constructor() { }
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = function DrLayoutBodyComponent_Factory(t) { return new (t || DrLayoutBodyComponent)(); }; }
|
|
7
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrLayoutBodyComponent, selectors: [["dr-layout-body"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function DrLayoutBodyComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵprojectionDef();
|
|
9
|
+
i0.ɵɵprojection(0);
|
|
10
|
+
} }, encapsulation: 2 }); }
|
|
11
|
+
}
|
|
12
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrLayoutBodyComponent, [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'dr-layout-body',
|
|
16
|
+
template: '<ng-content></ng-content>',
|
|
17
|
+
}]
|
|
18
|
+
}], function () { return []; }, null); })();
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixnQkFBZSxDQUFDO3lHQURQLHFCQUFxQjttR0FBckIscUJBQXFCOztZQUZuQixrQkFBeUI7Ozt1RkFFM0IscUJBQXFCO2NBSmpDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUUsMkJBQTJCO2FBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItbGF5b3V0LWJvZHknLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIERyTGF5b3V0Qm9keUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = ["*"];
|
|
4
|
+
export class DrLayoutHeaderComponent {
|
|
5
|
+
constructor() { }
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = function DrLayoutHeaderComponent_Factory(t) { return new (t || DrLayoutHeaderComponent)(); }; }
|
|
7
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrLayoutHeaderComponent, selectors: [["dr-layout-header"]], ngContentSelectors: _c0, decls: 2, vars: 0, template: function DrLayoutHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵprojectionDef();
|
|
9
|
+
i0.ɵɵelementStart(0, "nav");
|
|
10
|
+
i0.ɵɵprojection(1);
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
} }, encapsulation: 2 }); }
|
|
13
|
+
}
|
|
14
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrLayoutHeaderComponent, [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: 'dr-layout-header',
|
|
18
|
+
template: `
|
|
19
|
+
<nav>
|
|
20
|
+
<ng-content></ng-content>
|
|
21
|
+
</nav>
|
|
22
|
+
`,
|
|
23
|
+
}]
|
|
24
|
+
}], function () { return []; }, null); })();
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVTFDLE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsZ0JBQWUsQ0FBQzsyR0FEUCx1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7WUFMNUIsMkJBQUs7WUFDRCxrQkFBeUI7WUFDN0IsaUJBQU07Ozt1RkFHRCx1QkFBdUI7Y0FSbkMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7OztLQUlUO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1sYXlvdXQtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmF2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25hdj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBEckxheW91dEhlYWRlckNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = [[["dr-layout-header"]], [["dr-layout-body"]]];
|
|
4
|
+
const _c1 = ["dr-layout-header", "dr-layout-body"];
|
|
5
|
+
export class DrLayoutComponent {
|
|
6
|
+
constructor() { }
|
|
7
|
+
/** @nocollapse */ static { this.ɵfac = function DrLayoutComponent_Factory(t) { return new (t || DrLayoutComponent)(); }; }
|
|
8
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrLayoutComponent, selectors: [["dr-layout"]], ngContentSelectors: _c1, decls: 6, vars: 0, consts: [[1, "dr-layout"], [1, "dr-layout__container"], [1, "content"], [1, "columns"]], template: function DrLayoutComponent_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵprojectionDef(_c0);
|
|
10
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
11
|
+
i0.ɵɵprojection(1);
|
|
12
|
+
i0.ɵɵelementStart(2, "div", 1)(3, "div", 2)(4, "div", 3);
|
|
13
|
+
i0.ɵɵprojection(5, 1);
|
|
14
|
+
i0.ɵɵelementEnd()()()();
|
|
15
|
+
} }, styles: ["[_nghost-%COMP%]{font-size:16px;font-weight:400;font-family:Poppins,sans-serif;line-height:1.25rem;-webkit-font-smoothing:antialiased}[_nghost-%COMP%] .dr-layout[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh;font-size:16px;font-weight:400;line-height:1.4rem}[_nghost-%COMP%] .dr-layout[_ngcontent-%COMP%] dr-layout-header{display:block;position:fixed;top:0;left:0;right:0;z-index:1040}[_nghost-%COMP%] .dr-layout[_ngcontent-%COMP%] dr-layout-header nav{align-items:center;justify-content:flex-start;display:flex}[_nghost-%COMP%] .dr-layout__container[_ngcontent-%COMP%]{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row}[_nghost-%COMP%] .dr-layout__container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:column;min-width:0}[_nghost-%COMP%] .dr-layout__container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%]{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row;width:100%}[_nghost-%COMP%] .dr-layout__container[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .columns[_ngcontent-%COMP%] dr-layout-body{flex:1 0;min-width:0}"] }); }
|
|
16
|
+
}
|
|
17
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrLayoutComponent, [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'dr-layout', template: "<div class=\"dr-layout\">\n <ng-content select=\"dr-layout-header\"></ng-content>\n <div class=\"dr-layout__container\">\n <div class=\"content\">\n <div class=\"columns\">\n <ng-content select=\"dr-layout-body\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font-size:16px;font-weight:400;font-family:Poppins,sans-serif;line-height:1.25rem;-webkit-font-smoothing:antialiased}:host .dr-layout{display:flex;flex-direction:column;min-height:100vh;font-size:16px;font-weight:400;line-height:1.4rem}:host .dr-layout ::ng-deep dr-layout-header{display:block;position:fixed;top:0;left:0;right:0;z-index:1040}:host .dr-layout ::ng-deep dr-layout-header nav{align-items:center;justify-content:flex-start;display:flex}:host .dr-layout__container{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row}:host .dr-layout__container .content{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:column;min-width:0}:host .dr-layout__container .content .columns{display:flex;flex:1;-ms-flex:1 1 auto;flex-direction:row;width:100%}:host .dr-layout__container .content .columns ::ng-deep dr-layout-body{flex:1 0;min-width:0}\n"] }]
|
|
20
|
+
}], function () { return []; }, null); })();
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWxheW91dC9kci1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzFDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsZ0JBQWUsQ0FBQztxR0FEUCxpQkFBaUI7bUdBQWpCLGlCQUFpQjs7WUNQOUIsOEJBQXVCO1lBQ25CLGtCQUFtRDtZQUNuRCw4QkFBa0MsYUFBQSxhQUFBO1lBR3RCLHFCQUFpRDtZQUNyRCxpQkFBTSxFQUFBLEVBQUEsRUFBQTs7O3VGRENMLGlCQUFpQjtjQUw3QixTQUFTOzJCQUNJLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1sYXlvdXQnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBEckxheW91dENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImRyLWxheW91dFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWxheW91dC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImRyLWxheW91dF9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWxheW91dC1ib2R5XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DrLayoutComponent } from './dr-layout.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { DrLayoutHeaderComponent } from './dr-layout-header.component';
|
|
5
|
+
import { DrLayoutBodyComponent } from './dr-layout-body.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
const components = [DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutBodyComponent];
|
|
8
|
+
export class DrLayoutModule {
|
|
9
|
+
/** @nocollapse */ static { this.ɵfac = function DrLayoutModule_Factory(t) { return new (t || DrLayoutModule)(); }; }
|
|
10
|
+
/** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrLayoutModule }); }
|
|
11
|
+
/** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
|
|
12
|
+
}
|
|
13
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrLayoutModule, [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
imports: [CommonModule],
|
|
17
|
+
exports: [...components],
|
|
18
|
+
declarations: [...components],
|
|
19
|
+
}]
|
|
20
|
+
}], null, null); })();
|
|
21
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrLayoutModule, { declarations: [DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutBodyComponent], imports: [CommonModule], exports: [DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutBodyComponent] }); })();
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWxheW91dC9kci1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxNQUFNLFVBQVUsR0FBRyxDQUFDLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFPdkYsTUFBTSxPQUFPLGNBQWM7a0dBQWQsY0FBYztrR0FBZCxjQUFjO3NHQUpiLFlBQVk7O3VGQUliLGNBQWM7Y0FMMUIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQ3hCLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2FBQ2hDOzt3RkFDWSxjQUFjLG1CQVBQLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixhQUd2RSxZQUFZLGFBSE4saUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9kci1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEckxheW91dEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJMYXlvdXRCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi9kci1sYXlvdXQtYm9keS5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW0RyTGF5b3V0Q29tcG9uZW50LCBEckxheW91dEhlYWRlckNvbXBvbmVudCwgRHJMYXlvdXRCb2R5Q29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c10sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG59KVxuZXhwb3J0IGNsYXNzIERyTGF5b3V0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
export class DrPopoverRef {
|
|
3
|
+
get instance() {
|
|
4
|
+
return this.componentRef.instance.componentRef.instance;
|
|
5
|
+
}
|
|
6
|
+
constructor(overlayRef) {
|
|
7
|
+
this.overlayRef = overlayRef;
|
|
8
|
+
this.onClose$ = new Subject();
|
|
9
|
+
// FIXME: this decision was made because of the incompatible rxjs version
|
|
10
|
+
/**
|
|
11
|
+
* Correct type is @type {Observable<any>}
|
|
12
|
+
*/
|
|
13
|
+
this.onClose = this.onClose$.asObservable();
|
|
14
|
+
this.onBackdropClick = this.overlayRef.backdropClick();
|
|
15
|
+
}
|
|
16
|
+
close(res) {
|
|
17
|
+
this.overlayRef.detach();
|
|
18
|
+
this.overlayRef.dispose();
|
|
19
|
+
this.onClose$.next(res);
|
|
20
|
+
this.onClose$.complete();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFHckIsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQzVELENBQUM7SUFXRCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGhDLGFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqRCx5RUFBeUU7UUFDekU7O1dBRUc7UUFDTSxZQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUtqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFTO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1wb3BvdmVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJSZWY8VCA9IGFueT4ge1xuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPERyUG9wb3ZlckNvbXBvbmVudDxUPj47XG5cbiAgICBnZXQgaW5zdGFuY2UoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xvc2UkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIC8vIEZJWE1FOiB0aGlzIGRlY2lzaW9uIHdhcyBtYWRlIGJlY2F1c2Ugb2YgdGhlIGluY29tcGF0aWJsZSByeGpzIHZlcnNpb25cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHR5cGUgaXMgQHR5cGUge09ic2VydmFibGU8YW55Pn1cbiAgICAgKi9cbiAgICByZWFkb25seSBvbkNsb3NlOiBhbnkgPSB0aGlzLm9uQ2xvc2UkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcmVhZG9ubHkgb25CYWNrZHJvcENsaWNrOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmKSB7XG4gICAgICAgIHRoaXMub25CYWNrZHJvcENsaWNrID0gdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKTtcbiAgICB9XG5cbiAgICBjbG9zZShyZXM/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLm9uQ2xvc2UkLm5leHQocmVzKTtcbiAgICAgICAgdGhpcy5vbkNsb3NlJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { trigger } from '@angular/animations';
|
|
3
|
+
import { POPUP_ANIMATION } from '../models/constants';
|
|
4
|
+
import { DrPopoverRef } from './dr-popover-ref';
|
|
5
|
+
import { getAlignmentDimension } from '../models/popover';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./dr-popover-ref";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
const _c0 = ["popoverContainer"];
|
|
10
|
+
function DrPopoverComponent_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
i0.ɵɵelementContainer(0);
|
|
12
|
+
} }
|
|
13
|
+
function DrPopoverComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementContainerStart(0);
|
|
15
|
+
i0.ɵɵtemplate(1, DrPopoverComponent_ng_container_2_ng_container_1_Template, 1, 0, "ng-container", 3);
|
|
16
|
+
i0.ɵɵelementContainerEnd();
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
19
|
+
i0.ɵɵadvance(1);
|
|
20
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1._contentAsTemplate)("ngTemplateOutletContext", ctx_r1.contentContext);
|
|
21
|
+
} }
|
|
22
|
+
export class DrPopoverComponent {
|
|
23
|
+
set content(value) {
|
|
24
|
+
this.isContentTemplate = value instanceof TemplateRef;
|
|
25
|
+
if (this.isContentTemplate) {
|
|
26
|
+
this._contentAsTemplate = value;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this._contentAsType = value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
clickOutside(e) {
|
|
33
|
+
const isTargetHTML = e.target.tagName === 'HTML';
|
|
34
|
+
const isTargetHost = this.hostRef instanceof ElementRef &&
|
|
35
|
+
(this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
|
|
36
|
+
const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);
|
|
37
|
+
const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
|
|
38
|
+
const isTargetInSelect = e.target.closest('ng-dropdown-panel');
|
|
39
|
+
const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
|
|
40
|
+
if (!isTargetHost &&
|
|
41
|
+
!isTargetInPopover &&
|
|
42
|
+
!isTargetInDatepicker &&
|
|
43
|
+
!isTargetInSelect &&
|
|
44
|
+
!isTargetInDatepickerContent &&
|
|
45
|
+
!isTargetHTML &&
|
|
46
|
+
!this.manualClosing.enabled) {
|
|
47
|
+
this.popoverRef.close();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
constructor(cdr, viewContainerRef, elementRef, popoverRef) {
|
|
51
|
+
this.cdr = cdr;
|
|
52
|
+
this.viewContainerRef = viewContainerRef;
|
|
53
|
+
this.elementRef = elementRef;
|
|
54
|
+
this.popoverRef = popoverRef;
|
|
55
|
+
this.popoverOpened = new EventEmitter();
|
|
56
|
+
this.class = '';
|
|
57
|
+
this.isContentTemplate = false;
|
|
58
|
+
this.popover = true;
|
|
59
|
+
}
|
|
60
|
+
ngOnInit() {
|
|
61
|
+
if (!this.isContentTemplate) {
|
|
62
|
+
this.componentRef = this.viewContainerRef.createComponent(this._contentAsType);
|
|
63
|
+
Object.assign(this.componentRef.instance, this.contentContext);
|
|
64
|
+
this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);
|
|
65
|
+
}
|
|
66
|
+
if (this.alignment === 'host') {
|
|
67
|
+
this[getAlignmentDimension(this.position)] = '100%';
|
|
68
|
+
}
|
|
69
|
+
this.popoverOpened.emit();
|
|
70
|
+
this.repositionToNewContainerAndFreeze();
|
|
71
|
+
this.cdr.detectChanges();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Removing popover element from cdk-overlay and attach to provided container after element is positioned
|
|
75
|
+
* is required for specific case of preserving popover at same position on document while scroll (not fixed)
|
|
76
|
+
*
|
|
77
|
+
* TODO: implement more neat, transparent and Angular way solution: i.e. create another service (or extend existiong one)
|
|
78
|
+
* without attaching component to cdk Overlay and instead positioning it to element passed in directive input parameter
|
|
79
|
+
*/
|
|
80
|
+
repositionToNewContainerAndFreeze() {
|
|
81
|
+
const newContainer = !!this.freezeToContainerSelector && document.querySelector(this.freezeToContainerSelector);
|
|
82
|
+
if (newContainer) {
|
|
83
|
+
// waiting until element is positioned on overlay
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
const element = this.elementRef.nativeElement;
|
|
86
|
+
if (!element.closest('.cdk-overlay-container'))
|
|
87
|
+
return;
|
|
88
|
+
const position = element.getBoundingClientRect();
|
|
89
|
+
const newContainerPosition = newContainer.getBoundingClientRect();
|
|
90
|
+
element.style.position = 'absolute';
|
|
91
|
+
element.style.top = `${newContainer.scrollTop + position.top - newContainerPosition.top}px`;
|
|
92
|
+
element.style.left = `${newContainerPosition.left + position.left}px`;
|
|
93
|
+
newContainer.appendChild(element);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** @nocollapse */ static { this.ɵfac = function DrPopoverComponent_Factory(t) { return new (t || DrPopoverComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DrPopoverRef)); }; }
|
|
98
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrPopoverComponent, selectors: [["dr-popover"]], viewQuery: function DrPopoverComponent_Query(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵviewQuery(_c0, 7, ElementRef);
|
|
100
|
+
} if (rf & 2) {
|
|
101
|
+
let _t;
|
|
102
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popoverContainer = _t.first);
|
|
103
|
+
} }, hostVars: 5, hostBindings: function DrPopoverComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵlistener("mouseup", function DrPopoverComponent_mouseup_HostBindingHandler($event) { return ctx.clickOutside($event); }, false, i0.ɵɵresolveDocument);
|
|
105
|
+
} if (rf & 2) {
|
|
106
|
+
i0.ɵɵsyntheticHostProperty("@popover", ctx.popover);
|
|
107
|
+
i0.ɵɵstyleProp("width", ctx.width)("height", ctx.height);
|
|
108
|
+
} }, inputs: { content: "content", contentContext: "contentContext", class: "class", hostRef: "hostRef", manualClosing: "manualClosing", alignment: "alignment", position: "position", freezeToContainerSelector: "freezeToContainerSelector" }, outputs: { popoverOpened: "popoverOpened" }, decls: 3, vars: 3, consts: [[1, "dr-popover"], ["popoverContainer", ""], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function DrPopoverComponent_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
110
|
+
i0.ɵɵtemplate(2, DrPopoverComponent_ng_container_2_Template, 2, 2, "ng-container", 2);
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
112
|
+
} if (rf & 2) {
|
|
113
|
+
i0.ɵɵclassMap(ctx.class);
|
|
114
|
+
i0.ɵɵadvance(2);
|
|
115
|
+
i0.ɵɵproperty("ngIf", ctx.isContentTemplate);
|
|
116
|
+
} }, dependencies: [i2.NgIf, i2.NgTemplateOutlet], styles: [".dr-popover[_ngcontent-%COMP%]{display:flex;background:#fff;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto} .dr-popover-transparent-backdrop{background-color:transparent}"], data: { animation: [trigger('popover', POPUP_ANIMATION)] }, changeDetection: 0 }); }
|
|
117
|
+
}
|
|
118
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrPopoverComponent, [{
|
|
119
|
+
type: Component,
|
|
120
|
+
args: [{ selector: 'dr-popover', animations: [trigger('popover', POPUP_ANIMATION)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dr-popover\" [class]=\"class\" #popoverContainer>\n <ng-container *ngIf=\"isContentTemplate\">\n <ng-container *ngTemplateOutlet=\"_contentAsTemplate; context: contentContext\"></ng-container>\n </ng-container>\n</div>\n", styles: [".dr-popover{display:flex;background:#fff;border:1px solid #e5e5e5;border-radius:5px;box-sizing:border-box;box-shadow:0 4px 14px #0003;font-size:12px;color:#545a6b;max-height:100vh;max-width:100vw;overflow:auto}::ng-deep .dr-popover-transparent-backdrop{background-color:transparent}\n"] }]
|
|
121
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i1.DrPopoverRef }]; }, { popoverOpened: [{
|
|
122
|
+
type: Output
|
|
123
|
+
}], content: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], contentContext: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], class: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], hostRef: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], manualClosing: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], alignment: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], position: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], freezeToContainerSelector: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], popoverContainer: [{
|
|
140
|
+
type: ViewChild,
|
|
141
|
+
args: ['popoverContainer', { read: ElementRef, static: true }]
|
|
142
|
+
}], width: [{
|
|
143
|
+
type: HostBinding,
|
|
144
|
+
args: ['style.width']
|
|
145
|
+
}], height: [{
|
|
146
|
+
type: HostBinding,
|
|
147
|
+
args: ['style.height']
|
|
148
|
+
}], popover: [{
|
|
149
|
+
type: HostBinding,
|
|
150
|
+
args: ['@popover']
|
|
151
|
+
}], clickOutside: [{
|
|
152
|
+
type: HostListener,
|
|
153
|
+
args: ['document:mouseup', ['$event']]
|
|
154
|
+
}] }); })();
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBRVgsU0FBUyxFQUNULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQXNCLHFCQUFxQixFQUFnQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7SUNsQnBHLHdCQUE2Rjs7O0lBRGpHLDZCQUF3QztJQUNwQyxvR0FBNkY7SUFDakcsMEJBQWU7OztJQURJLGVBQXNDO0lBQXRDLDREQUFzQyxrREFBQTs7QUQyQjdELE1BQU0sT0FBTyxrQkFBa0I7SUFLM0IsSUFBYSxPQUFPLENBQUMsS0FBaUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssWUFBWSxXQUFXLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQXlCLENBQUM7U0FDdkQ7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBZ0IsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFtQkQsWUFBWSxDQUFDLENBQUM7UUFDVixNQUFNLFlBQVksR0FBSSxDQUFDLENBQUMsTUFBc0IsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDO1FBQ2xFLE1BQU0sWUFBWSxHQUNkLElBQUksQ0FBQyxPQUFPLFlBQVksVUFBVTtZQUNsQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLENBQUMsQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoSCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0UsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMvRCxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFL0UsSUFDSSxDQUFDLFlBQVk7WUFDYixDQUFDLGlCQUFpQjtZQUNsQixDQUFDLG9CQUFvQjtZQUNyQixDQUFDLGdCQUFnQjtZQUNqQixDQUFDLDJCQUEyQjtZQUM1QixDQUFDLFlBQVk7WUFDYixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUM3QjtZQUNFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsWUFDWSxHQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsVUFBMkI7UUFIM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBekQ3QixrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBYTlELFVBQUssR0FBRyxFQUFFLENBQUM7UUFRcEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTU0sWUFBTyxHQUFHLElBQUksQ0FBQztJQStCNUMsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDN0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlDQUFpQztRQUNyQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDaEgsSUFBSSxZQUFZLEVBQUU7WUFDZCxpREFBaUQ7WUFDakQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixNQUFNLE9BQU8sR0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7Z0JBRTNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDO29CQUFFLE9BQU87Z0JBRXZELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNqRCxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUVsRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7Z0JBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUM1RixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLG9CQUFvQixDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBRXRFLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7c0dBdEdRLGtCQUFrQjttR0FBbEIsa0JBQWtCO21DQXFCWSxVQUFVOzs7Ozs2R0FyQnhDLHdCQUFvQjs7Ozs7WUM3QmpDLGlDQUEwRDtZQUN0RCxxRkFFZTtZQUNuQixpQkFBTTs7WUFKa0Isd0JBQWU7WUFDcEIsZUFBdUI7WUFBdkIsNENBQXVCO2lZRHlCMUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDOzt1RkFHeEMsa0JBQWtCO2NBUDlCLFNBQVM7MkJBQ0ksWUFBWSxjQUdWLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQyxtQkFDaEMsdUJBQXVCLENBQUMsTUFBTTt1SkFHckMsYUFBYTtrQkFBdEIsTUFBTTtZQUlNLE9BQU87a0JBQW5CLEtBQUs7WUFRRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0cseUJBQXlCO2tCQUFqQyxLQUFLO1lBRTZELGdCQUFnQjtrQkFBbEYsU0FBUzttQkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUlyQyxLQUFLO2tCQUFoQyxXQUFXO21CQUFDLGFBQWE7WUFDRyxNQUFNO2tCQUFsQyxXQUFXO21CQUFDLGNBQWM7WUFFSyxPQUFPO2tCQUF0QyxXQUFXO21CQUFDLFVBQVU7WUFHdkIsWUFBWTtrQkFEWCxZQUFZO21CQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUE9QVVBfQU5JTUFUSU9OIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcbmltcG9ydCB7IERyUG9wb3ZlckFsaWdubWVudCwgZ2V0QWxpZ25tZW50RGltZW5zaW9uLCBJUG9wb3Zlck1hbnVhbENsb3NpbmcsIFBvaW50IH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ3BvcG92ZXInLCBQT1BVUF9BTklNQVRJT04pXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAT3V0cHV0KCkgcG9wb3Zlck9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgX2NvbnRlbnRBc1R5cGU6IFR5cGU8VD47XG4gICAgX2NvbnRlbnRBc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHNldCBjb250ZW50KHZhbHVlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPikge1xuICAgICAgICB0aGlzLmlzQ29udGVudFRlbXBsYXRlID0gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgICAgICAgaWYgKHRoaXMuaXNDb250ZW50VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRBc1RlbXBsYXRlID0gdmFsdWUgYXMgVGVtcGxhdGVSZWY8YW55PjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRBc1R5cGUgPSB2YWx1ZSBhcyBUeXBlPFQ+O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIGNvbnRlbnRDb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgY2xhc3MgPSAnJztcbiAgICBASW5wdXQoKSBob3N0UmVmOiBFbGVtZW50UmVmPHVua25vd24+IHwgSFRNTEVsZW1lbnQgfCBQb2ludDtcbiAgICBASW5wdXQoKSBtYW51YWxDbG9zaW5nOiBJUG9wb3Zlck1hbnVhbENsb3Npbmc7XG4gICAgQElucHV0KCkgYWxpZ25tZW50OiBEclBvcG92ZXJBbGlnbm1lbnQ7XG4gICAgQElucHV0KCkgcG9zaXRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgcG9wb3ZlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgaXNDb250ZW50VGVtcGxhdGUgPSBmYWxzZTtcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSB3aWR0aDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ0Bwb3BvdmVyJykgcHVibGljIHBvcG92ZXIgPSB0cnVlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gICAgY2xpY2tPdXRzaWRlKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRIVE1MID0gKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS50YWdOYW1lID09PSAnSFRNTCc7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SG9zdCA9XG4gICAgICAgICAgICB0aGlzLmhvc3RSZWYgaW5zdGFuY2VvZiBFbGVtZW50UmVmICYmXG4gICAgICAgICAgICAodGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQgPT09IGUudGFyZ2V0IHx8ICh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZS50YXJnZXQpKTtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRJblBvcG92ZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyID0gZS50YXJnZXQuY2xvc2VzdCgnbWF0LWRhdGVwaWNrZXItcG9wdXAnKTtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRJblNlbGVjdCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyQ29udGVudCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hdC1kYXRlcGlja2VyLWNvbnRlbnQnKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaXNUYXJnZXRIb3N0ICYmXG4gICAgICAgICAgICAhaXNUYXJnZXRJblBvcG92ZXIgJiZcbiAgICAgICAgICAgICFpc1RhcmdldEluRGF0ZXBpY2tlciAmJlxuICAgICAgICAgICAgIWlzVGFyZ2V0SW5TZWxlY3QgJiZcbiAgICAgICAgICAgICFpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnQgJiZcbiAgICAgICAgICAgICFpc1RhcmdldEhUTUwgJiZcbiAgICAgICAgICAgICF0aGlzLm1hbnVhbENsb3NpbmcuZW5hYmxlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+LFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNDb250ZW50VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLl9jb250ZW50QXNUeXBlKTtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMuY29udGVudENvbnRleHQpO1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWxpZ25tZW50ID09PSAnaG9zdCcpIHtcbiAgICAgICAgICAgIHRoaXNbZ2V0QWxpZ25tZW50RGltZW5zaW9uKHRoaXMucG9zaXRpb24pXSA9ICcxMDAlJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucG9wb3Zlck9wZW5lZC5lbWl0KCk7XG4gICAgICAgIHRoaXMucmVwb3NpdGlvblRvTmV3Q29udGFpbmVyQW5kRnJlZXplKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmluZyBwb3BvdmVyIGVsZW1lbnQgZnJvbSBjZGstb3ZlcmxheSBhbmQgYXR0YWNoIHRvIHByb3ZpZGVkIGNvbnRhaW5lciBhZnRlciBlbGVtZW50IGlzIHBvc2l0aW9uZWRcbiAgICAgKiBpcyByZXF1aXJlZCBmb3Igc3BlY2lmaWMgY2FzZSBvZiBwcmVzZXJ2aW5nIHBvcG92ZXIgYXQgc2FtZSBwb3NpdGlvbiBvbiBkb2N1bWVudCB3aGlsZSBzY3JvbGwgKG5vdCBmaXhlZClcbiAgICAgKlxuICAgICAqIFRPRE86IGltcGxlbWVudCBtb3JlIG5lYXQsIHRyYW5zcGFyZW50IGFuZCBBbmd1bGFyIHdheSBzb2x1dGlvbjogaS5lLiBjcmVhdGUgYW5vdGhlciBzZXJ2aWNlIChvciBleHRlbmQgZXhpc3Rpb25nIG9uZSlcbiAgICAgKiB3aXRob3V0IGF0dGFjaGluZyBjb21wb25lbnQgdG8gY2RrIE92ZXJsYXkgYW5kIGluc3RlYWQgcG9zaXRpb25pbmcgaXQgdG8gZWxlbWVudCBwYXNzZWQgaW4gZGlyZWN0aXZlIGlucHV0IHBhcmFtZXRlclxuICAgICAqL1xuICAgIHByaXZhdGUgcmVwb3NpdGlvblRvTmV3Q29udGFpbmVyQW5kRnJlZXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdDb250YWluZXIgPSAhIXRoaXMuZnJlZXplVG9Db250YWluZXJTZWxlY3RvciAmJiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuZnJlZXplVG9Db250YWluZXJTZWxlY3Rvcik7XG4gICAgICAgIGlmIChuZXdDb250YWluZXIpIHtcbiAgICAgICAgICAgIC8vIHdhaXRpbmcgdW50aWwgZWxlbWVudCBpcyBwb3NpdGlvbmVkIG9uIG92ZXJsYXlcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQuY2xvc2VzdCgnLmNkay1vdmVybGF5LWNvbnRhaW5lcicpKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q29udGFpbmVyUG9zaXRpb24gPSBuZXdDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IGAke25ld0NvbnRhaW5lci5zY3JvbGxUb3AgKyBwb3NpdGlvbi50b3AgLSBuZXdDb250YWluZXJQb3NpdGlvbi50b3B9cHhgO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9IGAke25ld0NvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBwb3NpdGlvbi5sZWZ0fXB4YDtcblxuICAgICAgICAgICAgICAgIG5ld0NvbnRhaW5lci5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRyLXBvcG92ZXJcIiBbY2xhc3NdPVwiY2xhc3NcIiAjcG9wb3ZlckNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50VGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIl9jb250ZW50QXNUZW1wbGF0ZTsgY29udGV4dDogY29udGVudENvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|