@datarailsshared/datarailsshared 1.4.195-rocket → 1.4.202
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/_datarailsshared.styles.css +4 -4
- package/assets/styles/_styles.scss +2 -2
- package/assets/styles/mixins.scss +7 -0
- package/bundles/datarailsshared-datarailsshared.umd.js +8041 -0
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -0
- package/datarailsshared-datarailsshared-1.4.202.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +34 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -0
- package/esm2015/datarailsshared-datarailsshared.js +35 -0
- package/esm2015/lib/date-tags/date-tag.component.js +73 -0
- package/esm2015/lib/date-tags/date-tag.module.js +36 -0
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +77 -0
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +153 -0
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +80 -0
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +105 -0
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +84 -0
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +78 -0
- package/esm2015/lib/dr-accordion/accordion-item-body.component.js +55 -0
- package/esm2015/lib/dr-accordion/accordion-item-header.component.js +77 -0
- package/esm2015/lib/dr-accordion/accordion-item.component.js +123 -0
- package/esm2015/lib/dr-accordion/accordion.component.js +43 -0
- package/esm2015/lib/dr-accordion/accordion.module.js +23 -0
- package/esm2015/lib/dr-avatar/dr-avatar.component.js +44 -0
- package/esm2015/lib/dr-avatar/dr-avatar.module.js +26 -0
- package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +16 -0
- package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +25 -0
- package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +20 -0
- package/esm2015/lib/dr-chat/chat.component.js +119 -0
- package/esm2015/lib/dr-chat/chat.module.js +41 -0
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +155 -0
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +71 -0
- package/{esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs → esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js} +21 -21
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +23 -0
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +47 -0
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +18 -0
- package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +87 -0
- package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +15 -0
- package/esm2015/lib/dr-details-list/dr-details-list.component.js +65 -0
- package/esm2015/lib/dr-details-list/dr-details-list.module.js +16 -0
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +70 -0
- package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +92 -0
- package/esm2015/lib/dr-dialog/dialog.module.js +34 -0
- package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +25 -0
- package/esm2015/lib/dr-dialog/services/dialog.service.js +78 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +104 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +114 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +104 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -0
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +103 -0
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +19 -0
- package/esm2015/lib/dr-error/dr-error.component.js +64 -0
- package/esm2015/lib/dr-error/dr-error.module.js +22 -0
- package/esm2015/lib/dr-inputs/button/button.component.js +39 -0
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +65 -0
- package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +47 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +216 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +180 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +183 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +12 -0
- package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +194 -0
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +194 -0
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +66 -0
- package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +29 -0
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +119 -0
- package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +74 -0
- package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +68 -0
- package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +63 -0
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +73 -0
- package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +157 -0
- package/esm2015/lib/dr-layout/dr-layout-body.component.js +13 -0
- package/esm2015/lib/dr-layout/dr-layout-header.component.js +17 -0
- package/esm2015/lib/dr-layout/dr-layout.component.js +14 -0
- package/esm2015/lib/dr-layout/dr-layout.module.js +20 -0
- package/esm2015/lib/dr-popover/dr-popover-ref.js +20 -0
- package/esm2015/lib/dr-popover/dr-popover.component.js +106 -0
- package/esm2015/lib/dr-popover/dr-popover.directive.js +84 -0
- package/esm2015/lib/dr-popover/dr-popover.module.js +23 -0
- package/esm2015/lib/dr-popover/dr-popover.service.js +106 -0
- package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +102 -0
- package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +74 -0
- package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +73 -0
- package/esm2015/lib/dr-scenario/dr-scenario.module.js +28 -0
- package/esm2015/lib/dr-scenario/services/scenario.service.js +167 -0
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +18 -0
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +56 -0
- package/esm2015/lib/dr-spinner/dr-spinner.module.js +18 -0
- package/esm2015/lib/dr-tabs/dr-tab.component.js +26 -0
- package/esm2015/lib/dr-tabs/dr-tabs.component.js +35 -0
- package/esm2015/lib/dr-tabs/dr-tabs.module.js +32 -0
- package/esm2015/lib/dr-tags/dr-tag.component.js +177 -0
- package/esm2015/lib/dr-tags/dr-tag.module.js +24 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +19 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +18 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +20 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +34 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +40 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +147 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +35 -0
- package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +210 -0
- package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +58 -0
- package/esm2015/lib/dr-treeview/dr-tree-view.module.js +38 -0
- package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +97 -0
- package/esm2015/lib/dr-treeview/models/treeview-config.js +22 -0
- package/esm2015/lib/dr-treeview/models/treeview-i18n.js +42 -0
- package/esm2015/lib/dr-treeview/models/treeview-item.js +155 -0
- package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +17 -0
- package/esm2015/lib/list-tags/list-tag.component.js +37 -0
- package/esm2015/lib/list-tags/list-tag.module.js +23 -0
- package/esm2015/lib/models/chat.js +36 -0
- package/esm2015/lib/models/datePicker.js +73 -0
- package/esm2015/lib/models/popover.js +27 -0
- package/esm2015/lib/stepper/stepper.component.js +55 -0
- package/esm2015/lib/stepper/stepper.module.js +17 -0
- package/esm2015/public-api.js +93 -0
- package/fesm2015/datarailsshared-datarailsshared.js +6885 -0
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -0
- package/lib/date-tags/date-tag.component.d.ts +16 -4
- package/lib/date-tags/date-tag.module.d.ts +2 -19
- package/lib/date-tags/day-tag/day-tag.component.d.ts +1 -4
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +2 -5
- package/lib/date-tags/month-tag/month-tag.component.d.ts +1 -4
- package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +1 -4
- package/lib/date-tags/week-tag/week-tag.component.d.ts +1 -4
- package/lib/date-tags/year-tag/year-tag.component.d.ts +1 -4
- package/lib/dr-accordion/accordion-item-body.component.d.ts +0 -3
- package/lib/dr-accordion/accordion-item-header.component.d.ts +0 -3
- package/lib/dr-accordion/accordion-item.component.d.ts +0 -3
- package/lib/dr-accordion/accordion.component.d.ts +0 -3
- package/lib/dr-accordion/accordion.module.d.ts +0 -9
- package/lib/dr-avatar/dr-avatar.component.d.ts +0 -3
- package/lib/dr-avatar/dr-avatar.module.d.ts +0 -9
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +0 -3
- package/lib/dr-badge-status/dr-badge-status.component.d.ts +0 -3
- package/lib/dr-badge-status/dr-badge-status.module.d.ts +0 -7
- package/lib/dr-chat/chat.component.d.ts +0 -3
- package/lib/dr-chat/chat.module.d.ts +0 -17
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +0 -3
- package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +0 -3
- package/lib/dr-details-list/dr-details-list.component.d.ts +0 -3
- package/lib/dr-details-list/dr-details-list.module.d.ts +0 -6
- package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +1 -4
- package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +1 -4
- package/lib/dr-dialog/dialog.module.d.ts +0 -12
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
- package/lib/dr-dialog/services/dialog.service.d.ts +1 -4
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +0 -10
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +0 -3
- package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +0 -3
- package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -8
- package/lib/dr-error/dr-error.component.d.ts +0 -3
- package/lib/dr-error/dr-error.module.d.ts +0 -8
- package/lib/dr-inputs/button/button.component.d.ts +1 -4
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +8 -4
- package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +2 -4
- package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +0 -3
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +0 -3
- package/lib/dr-inputs/dr-inputs.module.d.ts +0 -25
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +0 -3
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +0 -3
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +0 -3
- package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +0 -3
- package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +0 -3
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +0 -3
- package/lib/dr-inputs/radio-button/radio-group.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout-body.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout-header.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout.module.d.ts +0 -8
- package/lib/dr-popover/dr-popover.component.d.ts +4 -8
- package/lib/dr-popover/dr-popover.directive.d.ts +0 -3
- package/lib/dr-popover/dr-popover.module.d.ts +0 -7
- package/lib/dr-popover/dr-popover.service.d.ts +0 -3
- package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +0 -3
- package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -3
- package/lib/dr-scenario/dr-scenario.module.d.ts +0 -10
- package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
- package/lib/dr-scenario/services/scenario.service.d.ts +0 -3
- package/lib/dr-spinner/dr-spinner.component.d.ts +0 -3
- package/lib/dr-spinner/dr-spinner.directive.d.ts +0 -3
- package/lib/dr-spinner/dr-spinner.module.d.ts +0 -7
- package/lib/dr-tabs/dr-tab.component.d.ts +0 -3
- package/lib/dr-tabs/dr-tabs.component.d.ts +0 -3
- package/lib/dr-tabs/dr-tabs.module.d.ts +0 -11
- package/lib/dr-tags/dr-tag.component.d.ts +0 -3
- package/lib/dr-tags/dr-tag.module.d.ts +0 -9
- package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +0 -3
- package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -3
- package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -3
- package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -3
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +1 -4
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +0 -3
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +0 -11
- package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +0 -3
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +0 -3
- package/lib/dr-treeview/dr-tree-view.module.d.ts +0 -9
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +0 -9
- package/lib/dr-treeview/models/treeview-config.d.ts +0 -3
- package/lib/dr-treeview/models/treeview-i18n.d.ts +0 -5
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +0 -3
- package/lib/list-tags/list-tag.component.d.ts +0 -3
- package/lib/list-tags/list-tag.module.d.ts +0 -8
- package/lib/models/chat.d.ts +2 -2
- package/lib/models/datePicker.d.ts +3 -10
- package/lib/models/dropdown.d.ts +1 -1
- package/lib/models/popover.d.ts +1 -1
- package/lib/models/serverTags.d.ts +4 -4
- package/lib/stepper/interfaces/stepper.d.ts +1 -1
- package/lib/stepper/stepper.component.d.ts +0 -3
- package/lib/stepper/stepper.module.d.ts +0 -7
- package/package.json +15 -27
- package/public-api.d.ts +0 -27
- package/datarailsshared-datarailsshared-1.4.195-rocket.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +0 -5
- package/esm2022/lib/date-tags/any-tag.component.mjs +0 -45
- package/esm2022/lib/date-tags/date-tag.component.mjs +0 -48
- package/esm2022/lib/date-tags/date-tag.module.mjs +0 -66
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -83
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -161
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -88
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -106
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -90
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -84
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -94
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -18
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +0 -59
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +0 -109
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +0 -142
- package/esm2022/lib/dr-accordion/accordion.component.mjs +0 -41
- package/esm2022/lib/dr-accordion/accordion.module.mjs +0 -34
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +0 -48
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +0 -37
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +0 -20
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +0 -30
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +0 -27
- package/esm2022/lib/dr-chat/chat.component.mjs +0 -147
- package/esm2022/lib/dr-chat/chat.module.mjs +0 -68
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +0 -169
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +0 -108
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +0 -24
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +0 -57
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +0 -23
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +0 -89
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +0 -13
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +0 -78
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +0 -21
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +0 -79
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +0 -102
- package/esm2022/lib/dr-dialog/dialog.module.mjs +0 -51
- package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +0 -25
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +0 -78
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +0 -16
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -108
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +0 -124
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +0 -125
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +0 -49
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +0 -26
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -119
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -28
- package/esm2022/lib/dr-error/dr-error.component.mjs +0 -69
- package/esm2022/lib/dr-error/dr-error.module.mjs +0 -31
- package/esm2022/lib/dr-inputs/button/button.component.mjs +0 -70
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +0 -67
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +0 -67
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +0 -233
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +0 -194
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +0 -194
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +0 -16
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +0 -196
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +0 -232
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +0 -108
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +0 -32
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +0 -182
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +0 -82
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +0 -77
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +0 -69
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +0 -82
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +0 -180
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +0 -16
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +0 -24
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +0 -13
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +0 -29
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +0 -23
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +0 -141
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +0 -115
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +0 -30
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +0 -110
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -110
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -85
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -81
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -41
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -166
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +0 -18
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +0 -66
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +0 -23
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +0 -42
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +0 -51
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +0 -49
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -201
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -35
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +0 -20
- package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +0 -17
- package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +0 -19
- package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +0 -20
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +0 -53
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +0 -165
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +0 -48
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +0 -224
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +0 -62
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +0 -48
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +0 -103
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +0 -23
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +0 -47
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +0 -158
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +0 -21
- package/esm2022/lib/list-tags/list-tag.component.mjs +0 -45
- package/esm2022/lib/list-tags/list-tag.module.mjs +0 -34
- package/esm2022/lib/models/chat.mjs +0 -49
- package/esm2022/lib/models/datePicker.mjs +0 -71
- package/esm2022/lib/models/popover.mjs +0 -27
- package/esm2022/lib/stepper/stepper.component.mjs +0 -66
- package/esm2022/lib/stepper/stepper.module.mjs +0 -24
- package/esm2022/public-api.mjs +0 -120
- package/fesm2022/datarailsshared-datarailsshared.mjs +0 -7879
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/date-tags/any-tag.component.d.ts +0 -20
- package/lib/directives/click-outside/click-outside.directive.d.ts +0 -23
- package/lib/directives/click-outside/click-outside.module.d.ts +0 -8
- /package/{esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs → esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js} +0 -0
- /package/{esm2022/lib/dr-scenario/interfaces/scenario.mjs → esm2015/lib/dr-scenario/interfaces/scenario.js} +0 -0
- /package/{esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs → esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js} +0 -0
- /package/{esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs → esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js} +0 -0
- /package/{esm2022/lib/dr-treeview/helpers/treeview-helper.mjs → esm2015/lib/dr-treeview/helpers/treeview-helper.js} +0 -0
- /package/{esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-header-template-context.js} +0 -0
- /package/{esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-item-template-context.js} +0 -0
- /package/{esm2022/lib/models/badgeStatus.mjs → esm2015/lib/models/badgeStatus.js} +0 -0
- /package/{esm2022/lib/models/constants.mjs → esm2015/lib/models/constants.js} +0 -0
- /package/{esm2022/lib/models/dropdown.mjs → esm2015/lib/models/dropdown.js} +0 -0
- /package/{esm2022/lib/models/serverTags.mjs → esm2015/lib/models/serverTags.js} +0 -0
- /package/{esm2022/lib/models/spinnerOptions.mjs → esm2015/lib/models/spinnerOptions.js} +0 -0
- /package/{esm2022/lib/models/validationError.mjs → esm2015/lib/models/validationError.js} +0 -0
- /package/{esm2022/lib/stepper/interfaces/stepper.mjs → esm2015/lib/stepper/interfaces/stepper.js} +0 -0
- /package/{esm2022/lib/utils/dr-shared-utils.mjs → esm2015/lib/utils/dr-shared-utils.js} +0 -0
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
export class RadioButtonComponent {
|
|
6
|
-
cdr;
|
|
7
|
-
name;
|
|
8
|
-
_value;
|
|
9
|
-
valueChange = new EventEmitter();
|
|
10
|
-
get disabled() {
|
|
11
|
-
return this._disabled;
|
|
12
|
-
}
|
|
13
|
-
set disabled(disabled) {
|
|
14
|
-
this._disabled = disabled;
|
|
15
|
-
}
|
|
16
|
-
_disabled = false;
|
|
17
|
-
modelValue;
|
|
18
|
-
get value() {
|
|
19
|
-
return this._value;
|
|
20
|
-
}
|
|
21
|
-
onChange = (onchanges => {
|
|
22
|
-
});
|
|
23
|
-
onTouched = () => {
|
|
24
|
-
};
|
|
25
|
-
constructor(cdr) {
|
|
26
|
-
this.cdr = cdr;
|
|
27
|
-
}
|
|
28
|
-
registerOnChange(fn) {
|
|
29
|
-
this.onChange = fn;
|
|
30
|
-
}
|
|
31
|
-
registerOnTouched(fn) {
|
|
32
|
-
this.onTouched = fn;
|
|
33
|
-
}
|
|
34
|
-
writeValue(value) {
|
|
35
|
-
this.modelValue = value;
|
|
36
|
-
this.cdr.markForCheck();
|
|
37
|
-
}
|
|
38
|
-
toggleChange(event) {
|
|
39
|
-
if (event.target.checked) {
|
|
40
|
-
this.modelValue = this.value;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
valueChanged(event) {
|
|
44
|
-
this.onChange(this.modelValue);
|
|
45
|
-
this.valueChange.emit(this.value);
|
|
46
|
-
}
|
|
47
|
-
_setName(name) {
|
|
48
|
-
this.name = name;
|
|
49
|
-
this.cdr.markForCheck();
|
|
50
|
-
}
|
|
51
|
-
_markForCheck() {
|
|
52
|
-
this.cdr.markForCheck();
|
|
53
|
-
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: RadioButtonComponent, selector: "dr-radio-button", inputs: { name: "name", _value: ["value", "_value"], disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
56
|
-
{
|
|
57
|
-
provide: NG_VALUE_ACCESSOR,
|
|
58
|
-
useExisting: RadioButtonComponent,
|
|
59
|
-
multi: true
|
|
60
|
-
}
|
|
61
|
-
], ngImport: i0, template: "<label>\n <input\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"valueChanged(value)\"\n [(ngModel)]=\"modelValue\"\n [disabled]=\"disabled\"\n (click)=\"toggleChange($event)\">\n <span>\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [":host{display:flex;line-height:22px;font-size:14px}label input[type=radio].radiobox+span{vertical-align:middle;line-height:20px}input+span,input+span:after,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute;width:18px;height:18px}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;height:12px;line-height:13px;width:12px;margin-right:5px;border:1px solid #8f929e;background-color:#fff;font-weight:400;margin-top:-1px}label input+span:before{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}label input:checked+span:before,label:hover input:checked+span:before{font-family:DataRails!important;background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%234646CE\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#4646ce;color:#4646ce}label input:disabled+span:before{border-color:#8f929e}label input[disabled]:checked+span:before{background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%238F929E\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#8f929e!important;color:#8f929e}label span:hover:before{border-color:#4e566c}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
64
|
-
type: Component,
|
|
65
|
-
args: [{ selector: 'dr-radio-button', providers: [
|
|
66
|
-
{
|
|
67
|
-
provide: NG_VALUE_ACCESSOR,
|
|
68
|
-
useExisting: RadioButtonComponent,
|
|
69
|
-
multi: true
|
|
70
|
-
}
|
|
71
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<label>\n <input\n type=\"radio\"\n [name]=\"name\"\n [value]=\"value\"\n (change)=\"valueChanged(value)\"\n [(ngModel)]=\"modelValue\"\n [disabled]=\"disabled\"\n (click)=\"toggleChange($event)\">\n <span>\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [":host{display:flex;line-height:22px;font-size:14px}label input[type=radio].radiobox+span{vertical-align:middle;line-height:20px}input+span,input+span:after,input+span:before{box-sizing:content-box!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important}input{visibility:hidden;position:absolute;width:18px;height:18px}label input+span{position:relative;z-index:19;display:inline-block;margin:0 5px 0 0;line-height:17px;min-height:14px;min-width:14px}label input+span:hover{cursor:pointer}label input+span:before{content:\"\";font-size:14px;border-radius:0;display:inline-block;text-align:center;vertical-align:middle;padding:1px;height:12px;line-height:13px;width:12px;margin-right:5px;border:1px solid #8f929e;background-color:#fff;font-weight:400;margin-top:-1px}label input+span:before{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}label input:checked+span:before,label:hover input:checked+span:before{font-family:DataRails!important;background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%234646CE\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#4646ce;color:#4646ce}label input:disabled+span:before{border-color:#8f929e}label input[disabled]:checked+span:before{background-image:url('data:image/svg+xml; utf8, <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"5\" cy=\"5\" r=\"4.5\" fill=\"%238F929E\"/></svg> ');background-repeat:no-repeat;background-position:center;border-color:#8f929e!important;color:#8f929e}label span:hover:before{border-color:#4e566c}\n"] }]
|
|
72
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], _value: [{
|
|
75
|
-
type: Input,
|
|
76
|
-
args: ['value']
|
|
77
|
-
}], valueChange: [{
|
|
78
|
-
type: Output
|
|
79
|
-
}], disabled: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBZXpFLE1BQU0sT0FBTyxvQkFBb0I7SUEyQlQ7SUExQlgsSUFBSSxDQUFTO0lBQ04sTUFBTSxDQUFNO0lBQ2xCLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU5RCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWlCO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFTyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTFCLFVBQVUsQ0FBTTtJQUVoQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVEsR0FBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsU0FBUyxHQUFRLEdBQUcsRUFBRTtJQUN0QixDQUFDLENBQUM7SUFFRixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFFO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSztRQUNkLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO3VHQTdEUSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnS0FUbEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDYkwsMlZBYUE7OzJGREdhLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDSSxpQkFBaUIsYUFHaEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSzt1QkFBQyxPQUFPO2dCQUNKLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0gsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1yYWRpby1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCd2YWx1ZScpIF92YWx1ZTogYW55O1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICBtb2RlbFZhbHVlOiBhbnk7XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZTogYW55ID0gKG9uY2hhbmdlcyA9PiB7XG4gICAgfSk7XG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICB0b2dnbGVDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsdWVDaGFuZ2VkKGV2ZW50KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5tb2RlbFZhbHVlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIF9zZXROYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBfbWFya0ZvckNoZWNrKCkge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bGFiZWw+XG4gICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQodmFsdWUpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxWYWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPHNwYW4+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, forwardRef, Inject, Input, Output, PLATFORM_ID, } 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
|
-
export class RadioGroupComponent {
|
|
9
|
-
hostElement;
|
|
10
|
-
platformId;
|
|
11
|
-
document;
|
|
12
|
-
get value() {
|
|
13
|
-
return this._value;
|
|
14
|
-
}
|
|
15
|
-
set value(value) {
|
|
16
|
-
this._value = value;
|
|
17
|
-
this.updateValues();
|
|
18
|
-
}
|
|
19
|
-
get name() {
|
|
20
|
-
return this._name;
|
|
21
|
-
}
|
|
22
|
-
set name(name) {
|
|
23
|
-
this._name = name;
|
|
24
|
-
this.updateNames();
|
|
25
|
-
}
|
|
26
|
-
get disabled() {
|
|
27
|
-
return this._disabled;
|
|
28
|
-
}
|
|
29
|
-
set disabled(disabled) {
|
|
30
|
-
this._disabled = !!disabled;
|
|
31
|
-
this.updateDisabled();
|
|
32
|
-
}
|
|
33
|
-
constructor(hostElement, platformId, document) {
|
|
34
|
-
this.hostElement = hostElement;
|
|
35
|
-
this.platformId = platformId;
|
|
36
|
-
this.document = document;
|
|
37
|
-
}
|
|
38
|
-
destroy$ = new Subject();
|
|
39
|
-
_value;
|
|
40
|
-
_name;
|
|
41
|
-
_disabled;
|
|
42
|
-
radios;
|
|
43
|
-
valueChange = new EventEmitter();
|
|
44
|
-
onChange = (value) => {
|
|
45
|
-
};
|
|
46
|
-
onTouched = () => {
|
|
47
|
-
};
|
|
48
|
-
ngAfterContentInit() {
|
|
49
|
-
// In case option 'name' isn't set on dr-radio component,
|
|
50
|
-
// we need to set it's name right away, so it won't overlap with options
|
|
51
|
-
// without names from other radio groups. Otherwise they all would have
|
|
52
|
-
// same name and will be considered as options from one group so only the
|
|
53
|
-
// last option will stay selected.
|
|
54
|
-
this.updateNames();
|
|
55
|
-
this.radios.changes.pipe(startWith(this.radios),
|
|
56
|
-
// 'changes' emit during change detection run and we can't update
|
|
57
|
-
// option properties right of since they already was initialized.
|
|
58
|
-
// Instead we schedule microtask to update radios after change detection
|
|
59
|
-
// run is finished and trigger one more change detection run.
|
|
60
|
-
switchMap((radios) => from(Promise.resolve(radios))), takeUntil(this.destroy$)).subscribe(() => this.updateAndSubscribeToRadios());
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
this.destroy$.next();
|
|
64
|
-
this.destroy$.complete();
|
|
65
|
-
}
|
|
66
|
-
registerOnChange(fn) {
|
|
67
|
-
this.onChange = fn;
|
|
68
|
-
}
|
|
69
|
-
registerOnTouched(fn) {
|
|
70
|
-
this.onTouched = fn;
|
|
71
|
-
}
|
|
72
|
-
writeValue(value) {
|
|
73
|
-
this.value = value;
|
|
74
|
-
}
|
|
75
|
-
setDisabledState(isDisabled) {
|
|
76
|
-
this.disabled = isDisabled;
|
|
77
|
-
}
|
|
78
|
-
updateAndSubscribeToRadios() {
|
|
79
|
-
this.updateValueFromCheckedOption();
|
|
80
|
-
this.updateNames();
|
|
81
|
-
this.updateValues();
|
|
82
|
-
this.updateDisabled();
|
|
83
|
-
this.subscribeOnRadiosValueChange();
|
|
84
|
-
this.subscribeOnRadiosBlur();
|
|
85
|
-
}
|
|
86
|
-
updateNames() {
|
|
87
|
-
if (this.radios) {
|
|
88
|
-
this.radios.forEach((radio) => radio._setName(this.name));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
updateValues() {
|
|
92
|
-
this.updateAndMarkForCheckRadios((radio) => {
|
|
93
|
-
radio.modelValue = this.value;
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
updateDisabled() {
|
|
97
|
-
if (typeof this.disabled !== 'undefined') {
|
|
98
|
-
this.updateAndMarkForCheckRadios((radio) => radio.disabled = this.disabled);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
subscribeOnRadiosValueChange() {
|
|
102
|
-
if (!this.radios || !this.radios.length) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
merge(...this.radios.map((radio) => radio.valueChange)).pipe(takeUntil(merge(this.radios.changes, this.destroy$))).subscribe((value) => {
|
|
106
|
-
this.writeValue(value);
|
|
107
|
-
this.propagateValue(value);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
propagateValue(value) {
|
|
111
|
-
this.valueChange.emit(value);
|
|
112
|
-
this.onChange(value);
|
|
113
|
-
}
|
|
114
|
-
subscribeOnRadiosBlur() {
|
|
115
|
-
const hasNoRadios = !this.radios || !this.radios.length;
|
|
116
|
-
if (!isPlatformBrowser(this.platformId) || hasNoRadios) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const hostElement = this.hostElement.nativeElement;
|
|
120
|
-
fromEvent(hostElement, 'focusin').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$))).subscribe(() => this.onTouched());
|
|
121
|
-
}
|
|
122
|
-
updateAndMarkForCheckRadios(updateFn) {
|
|
123
|
-
if (this.radios) {
|
|
124
|
-
this.radios.forEach((radio) => {
|
|
125
|
-
updateFn(radio);
|
|
126
|
-
radio._markForCheck();
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
updateValueFromCheckedOption() {
|
|
131
|
-
const checkedRadio = this.radios.find((radio) => radio.modelValue);
|
|
132
|
-
const isValueMissing = this.value === undefined || this.value === null;
|
|
133
|
-
if (checkedRadio && isValueMissing && checkedRadio.value !== this.value) {
|
|
134
|
-
this.value = checkedRadio.value;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioGroupComponent, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
138
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: RadioGroupComponent, selector: "dr-radio-group", inputs: { value: "value", name: "name", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
139
|
-
{
|
|
140
|
-
provide: NG_VALUE_ACCESSOR,
|
|
141
|
-
useExisting: forwardRef(() => RadioGroupComponent),
|
|
142
|
-
multi: true,
|
|
143
|
-
},
|
|
144
|
-
], queries: [{ propertyName: "radios", predicate: RadioButtonComponent, descendants: true }], ngImport: i0, template: `
|
|
145
|
-
<ng-content select="dr-radio-button"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
146
|
-
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
148
|
-
type: Component,
|
|
149
|
-
args: [{
|
|
150
|
-
selector: 'dr-radio-group',
|
|
151
|
-
template: `
|
|
152
|
-
<ng-content select="dr-radio-button"></ng-content>`,
|
|
153
|
-
providers: [
|
|
154
|
-
{
|
|
155
|
-
provide: NG_VALUE_ACCESSOR,
|
|
156
|
-
useExisting: forwardRef(() => RadioGroupComponent),
|
|
157
|
-
multi: true,
|
|
158
|
-
},
|
|
159
|
-
],
|
|
160
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
161
|
-
}]
|
|
162
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
163
|
-
type: Inject,
|
|
164
|
-
args: [PLATFORM_ID]
|
|
165
|
-
}] }, { type: undefined, decorators: [{
|
|
166
|
-
type: Inject,
|
|
167
|
-
args: [DOCUMENT]
|
|
168
|
-
}] }]; }, propDecorators: { value: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], name: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], disabled: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], radios: [{
|
|
175
|
-
type: ContentChildren,
|
|
176
|
-
args: [RadioButtonComponent, { descendants: true }]
|
|
177
|
-
}], valueChange: [{
|
|
178
|
-
type: Output
|
|
179
|
-
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBZWhFLE1BQU0sT0FBTyxtQkFBbUI7SUFpQ2Q7SUFDcUI7SUFDSDtJQWpDaEMsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFZO1FBQ2pC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QkFEWCxLQUFLO2dCQXNCd0QsTUFBTTtzQkFBbkUsZUFBZTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRWxELFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbSwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXJhZGlvLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1yYWRpby1idXR0b25cIj48L25nLWNvbnRlbnQ+YCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0dyb3VwQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxuXG4gICAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hbWVzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSAhIWRpc2FibGVkO1xuICAgICAgICB0aGlzLnVwZGF0ZURpc2FibGVkKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBob3N0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByb3RlY3RlZCBwbGF0Zm9ybUlkLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcm90ZWN0ZWQgZG9jdW1lbnQsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlOiBhbnk7XG4gICAgcHJvdGVjdGVkIF9uYW1lOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUmFkaW9CdXR0b25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgcmFkaW9zOiBRdWVyeUxpc3Q8UmFkaW9CdXR0b25Db21wb25lbnQ+O1xuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwcm90ZWN0ZWQgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIH07XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAvLyBJbiBjYXNlIG9wdGlvbiAnbmFtZScgaXNuJ3Qgc2V0IG9uIGRyLXJhZGlvIGNvbXBvbmVudCxcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzZXQgaXQncyBuYW1lIHJpZ2h0IGF3YXksIHNvIGl0IHdvbid0IG92ZXJsYXAgd2l0aCBvcHRpb25zXG4gICAgICAgIC8vIHdpdGhvdXQgbmFtZXMgZnJvbSBvdGhlciByYWRpbyBncm91cHMuIE90aGVyd2lzZSB0aGV5IGFsbCB3b3VsZCBoYXZlXG4gICAgICAgIC8vIHNhbWUgbmFtZSBhbmQgd2lsbCBiZSBjb25zaWRlcmVkIGFzIG9wdGlvbnMgZnJvbSBvbmUgZ3JvdXAgc28gb25seSB0aGVcbiAgICAgICAgLy8gbGFzdCBvcHRpb24gd2lsbCBzdGF5IHNlbGVjdGVkLlxuICAgICAgICB0aGlzLnVwZGF0ZU5hbWVzKCk7XG5cbiAgICAgICAgdGhpcy5yYWRpb3MuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucmFkaW9zKSxcbiAgICAgICAgICAgIC8vICdjaGFuZ2VzJyBlbWl0IGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uIHJ1biBhbmQgd2UgY2FuJ3QgdXBkYXRlXG4gICAgICAgICAgICAvLyBvcHRpb24gcHJvcGVydGllcyByaWdodCBvZiBzaW5jZSB0aGV5IGFscmVhZHkgd2FzIGluaXRpYWxpemVkLlxuICAgICAgICAgICAgLy8gSW5zdGVhZCB3ZSBzY2hlZHVsZSBtaWNyb3Rhc2sgdG8gdXBkYXRlIHJhZGlvcyBhZnRlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgICAgICAvLyBydW4gaXMgZmluaXNoZWQgYW5kIHRyaWdnZXIgb25lIG1vcmUgY2hhbmdlIGRldGVjdGlvbiBydW4uXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHJhZGlvczogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50PikgPT4gZnJvbShQcm9taXNlLnJlc29sdmUocmFkaW9zKSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUFuZFN1YnNjcmliZVRvUmFkaW9zKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVBbmRTdWJzY3JpYmVUb1JhZGlvcygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUZyb21DaGVja2VkT3B0aW9uKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTmFtZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZCgpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZU9uUmFkaW9zVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPblJhZGlvc0JsdXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlTmFtZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLnJhZGlvcykge1xuICAgICAgICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaCgocmFkaW86IFJhZGlvQnV0dG9uQ29tcG9uZW50KSA9PiByYWRpby5fc2V0TmFtZSh0aGlzLm5hbWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZXMoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQW5kTWFya0ZvckNoZWNrUmFkaW9zKChyYWRpbzogUmFkaW9CdXR0b25Db21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIHJhZGlvLm1vZGVsVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRGlzYWJsZWQoKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQW5kTWFya0ZvckNoZWNrUmFkaW9zKChyYWRpbzogUmFkaW9CdXR0b25Db21wb25lbnQpID0+IHJhZGlvLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlT25SYWRpb3NWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhZGlvcyB8fCAhdGhpcy5yYWRpb3MubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZSguLi50aGlzLnJhZGlvcy5tYXAoKHJhZGlvOiBSYWRpb0J1dHRvbkNvbXBvbmVudCkgPT4gcmFkaW8udmFsdWVDaGFuZ2UpKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhZGlvcy5jaGFuZ2VzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvcGFnYXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlT25SYWRpb3NCbHVyKCkge1xuICAgICAgICBjb25zdCBoYXNOb1JhZGlvcyA9ICF0aGlzLnJhZGlvcyB8fCAhdGhpcy5yYWRpb3MubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgaGFzTm9SYWRpb3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBmcm9tRXZlbnQ8RXZlbnQ+KGhvc3RFbGVtZW50LCAnZm9jdXNpbicpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gaG9zdEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBtZXJnZShcbiAgICAgICAgICAgICAgICBmcm9tRXZlbnQ8RXZlbnQ+KHRoaXMuZG9jdW1lbnQsICdmb2N1c2luJyksXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50PEV2ZW50Pih0aGlzLmRvY3VtZW50LCAnY2xpY2snKSxcbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+ICFob3N0RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhZGlvcy5jaGFuZ2VzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uVG91Y2hlZCgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlQW5kTWFya0ZvckNoZWNrUmFkaW9zKHVwZGF0ZUZuOiAoUmFkaW9CdXR0b25Db21wb25lbnQpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKHRoaXMucmFkaW9zKSB7XG4gICAgICAgICAgICB0aGlzLnJhZGlvcy5mb3JFYWNoKChyYWRpbykgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZUZuKHJhZGlvKTtcbiAgICAgICAgICAgICAgICByYWRpby5fbWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZUZyb21DaGVja2VkT3B0aW9uKCkge1xuICAgICAgICBjb25zdCBjaGVja2VkUmFkaW8gPSB0aGlzLnJhZGlvcy5maW5kKChyYWRpbykgPT4gcmFkaW8ubW9kZWxWYWx1ZSk7XG4gICAgICAgIGNvbnN0IGlzVmFsdWVNaXNzaW5nID0gdGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT09IG51bGw7XG4gICAgICAgIGlmIChjaGVja2VkUmFkaW8gJiYgaXNWYWx1ZU1pc3NpbmcgJiYgY2hlY2tlZFJhZGlvLnZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gY2hlY2tlZFJhZGlvLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DrLayoutBodyComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
}
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrLayoutBodyComponent, selector: "dr-layout-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutBodyComponent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
args: [{
|
|
12
|
-
selector: 'dr-layout-body',
|
|
13
|
-
template: '<ng-content></ng-content>',
|
|
14
|
-
}]
|
|
15
|
-
}], ctorParameters: function () { return []; } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCO0lBQ0EsQ0FBQzt1R0FGUSxxQkFBcUI7MkZBQXJCLHFCQUFxQixzREFGcEIsMkJBQTJCOzsyRkFFNUIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItbGF5b3V0LWJvZHknLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIERyTGF5b3V0Qm9keUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DrLayoutHeaderComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
}
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrLayoutHeaderComponent, selector: "dr-layout-header", ngImport: i0, template: `
|
|
8
|
-
<nav>
|
|
9
|
-
<ng-content></ng-content>
|
|
10
|
-
</nav>
|
|
11
|
-
`, isInline: true });
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutHeaderComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{
|
|
16
|
-
selector: 'dr-layout-header',
|
|
17
|
-
template: `
|
|
18
|
-
<nav>
|
|
19
|
-
<ng-content></ng-content>
|
|
20
|
-
</nav>
|
|
21
|
-
`,
|
|
22
|
-
}]
|
|
23
|
-
}], ctorParameters: function () { return []; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQztJQUNBLENBQUM7dUdBRlEsdUJBQXVCOzJGQUF2Qix1QkFBdUIsd0RBTnRCOzs7O0tBSVQ7OzJGQUVRLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7S0FJVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWxheW91dC1oZWFkZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuYXY+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmF2PlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIERyTGF5b3V0SGVhZGVyQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DrLayoutComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
}
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrLayoutComponent, selector: "dr-layout", ngImport: i0, 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"] });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutComponent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
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"] }]
|
|
12
|
-
}], ctorParameters: function () { return []; } });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWxheW91dC9kci1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCO0lBQ0EsQ0FBQzt1R0FGUSxpQkFBaUI7MkZBQWpCLGlCQUFpQixpRENQOUIscVVBVUE7OzJGREhhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItbGF5b3V0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRHJMYXlvdXRDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkci1sYXlvdXRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1sYXlvdXQtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJkci1sYXlvdXRfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkci1sYXlvdXQtYm9keVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
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 = [
|
|
8
|
-
DrLayoutComponent,
|
|
9
|
-
DrLayoutHeaderComponent,
|
|
10
|
-
DrLayoutBodyComponent
|
|
11
|
-
];
|
|
12
|
-
export class DrLayoutModule {
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, declarations: [DrLayoutComponent,
|
|
15
|
-
DrLayoutHeaderComponent,
|
|
16
|
-
DrLayoutBodyComponent], imports: [CommonModule], exports: [DrLayoutComponent,
|
|
17
|
-
DrLayoutHeaderComponent,
|
|
18
|
-
DrLayoutBodyComponent] });
|
|
19
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, imports: [CommonModule] });
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrLayoutModule, decorators: [{
|
|
22
|
-
type: NgModule,
|
|
23
|
-
args: [{
|
|
24
|
-
imports: [CommonModule],
|
|
25
|
-
exports: [...components],
|
|
26
|
-
declarations: [...components],
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWxheW91dC9kci1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxNQUFNLFVBQVUsR0FBRztJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIscUJBQXFCO0NBQ3hCLENBQUM7QUFRRixNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBWHZCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIscUJBQXFCLGFBSVgsWUFBWSxhQU50QixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjt3R0FTWixjQUFjLFlBTGIsWUFBWTs7MkZBS2IsY0FBYztrQkFOMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2RyLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyTGF5b3V0SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1sYXlvdXQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckxheW91dEJvZHlDb21wb25lbnQgfSBmcm9tICcuL2RyLWxheW91dC1ib2R5LmNvbXBvbmVudCc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgRHJMYXlvdXRDb21wb25lbnQsXG4gICAgRHJMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gICAgRHJMYXlvdXRCb2R5Q29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBEckxheW91dE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
export class DrPopoverRef {
|
|
3
|
-
overlayRef;
|
|
4
|
-
componentRef;
|
|
5
|
-
onClose$ = new Subject();
|
|
6
|
-
// FIXME: this decision was made because of the incompatible rxjs version
|
|
7
|
-
/**
|
|
8
|
-
* Correct type is @type {Observable<any>}
|
|
9
|
-
*/
|
|
10
|
-
onClose = this.onClose$.asObservable();
|
|
11
|
-
onBackdropClick;
|
|
12
|
-
constructor(overlayRef) {
|
|
13
|
-
this.overlayRef = overlayRef;
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFhRDtJQVhwQixZQUFZLENBQXNDO0lBRXhDLFFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqRCx5RUFBeUU7SUFDekU7O09BRUc7SUFDTSxPQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU1QyxlQUFlLENBQXlCO0lBRWpELFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBUztRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyUmVmPFQgPSBhbnk+IHtcblxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPERyUG9wb3ZlckNvbXBvbmVudDxUPj47XG5cbiAgICBwcm90ZWN0ZWQgb25DbG9zZSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgLy8gRklYTUU6IHRoaXMgZGVjaXNpb24gd2FzIG1hZGUgYmVjYXVzZSBvZiB0aGUgaW5jb21wYXRpYmxlIHJ4anMgdmVyc2lvblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdHlwZSBpcyBAdHlwZSB7T2JzZXJ2YWJsZTxhbnk+fVxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uQ2xvc2U6IGFueSA9IHRoaXMub25DbG9zZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICByZWFkb25seSBvbkJhY2tkcm9wQ2xpY2s6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vbkJhY2tkcm9wQ2xpY2sgPSB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpO1xuICAgIH1cblxuICAgIGNsb3NlKHJlcz86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMub25DbG9zZSQubmV4dChyZXMpO1xuICAgICAgICB0aGlzLm9uQ2xvc2UkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
-
import { trigger } from '@angular/animations';
|
|
3
|
-
import { POPUP_ANIMATION } from '../models/constants';
|
|
4
|
-
import { getAlignmentDimension } from '../models/popover';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./dr-popover-ref";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
export class DrPopoverComponent {
|
|
9
|
-
cdr;
|
|
10
|
-
viewContainerRef;
|
|
11
|
-
elementRef;
|
|
12
|
-
popoverRef;
|
|
13
|
-
popoverOpened = new EventEmitter();
|
|
14
|
-
_contentAsType;
|
|
15
|
-
_contentAsTemplate;
|
|
16
|
-
set content(value) {
|
|
17
|
-
this.isContentTemplate = value instanceof TemplateRef;
|
|
18
|
-
if (this.isContentTemplate) {
|
|
19
|
-
this._contentAsTemplate = value;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this._contentAsType = value;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
;
|
|
26
|
-
contentContext;
|
|
27
|
-
class = '';
|
|
28
|
-
hostRef;
|
|
29
|
-
manualClosing;
|
|
30
|
-
alignment;
|
|
31
|
-
position;
|
|
32
|
-
freezeToContainerSelector;
|
|
33
|
-
popoverContainer;
|
|
34
|
-
isContentTemplate = false;
|
|
35
|
-
componentRef;
|
|
36
|
-
width;
|
|
37
|
-
height;
|
|
38
|
-
popover = true;
|
|
39
|
-
clickOutside(e) {
|
|
40
|
-
const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
|
|
41
|
-
const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);
|
|
42
|
-
const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
|
|
43
|
-
const isTargetInSelect = e.target.closest('ng-dropdown-panel');
|
|
44
|
-
const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
|
|
45
|
-
if (!isTargetHost
|
|
46
|
-
&& !isTargetInPopover
|
|
47
|
-
&& !isTargetInDatepicker
|
|
48
|
-
&& !isTargetInSelect
|
|
49
|
-
&& !isTargetInDatepickerContent
|
|
50
|
-
&& !this.manualClosing.enabled) {
|
|
51
|
-
this.popoverRef.close();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
constructor(cdr, viewContainerRef, elementRef, popoverRef) {
|
|
55
|
-
this.cdr = cdr;
|
|
56
|
-
this.viewContainerRef = viewContainerRef;
|
|
57
|
-
this.elementRef = elementRef;
|
|
58
|
-
this.popoverRef = popoverRef;
|
|
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
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrPopoverComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1.DrPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrPopoverComponent, selector: "dr-popover", inputs: { content: "content", contentContext: "contentContext", class: "class", hostRef: "hostRef", manualClosing: "manualClosing", alignment: "alignment", position: "position", freezeToContainerSelector: "freezeToContainerSelector" }, outputs: { popoverOpened: "popoverOpened" }, host: { listeners: { "document:mouseup": "clickOutside($event)" }, properties: { "style.width": "this.width", "style.height": "this.height", "@popover": "this.popover" } }, viewQueries: [{ propertyName: "popoverContainer", first: true, predicate: ["popoverContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, 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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
99
|
-
trigger('popover', POPUP_ANIMATION),
|
|
100
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrPopoverComponent, decorators: [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{ selector: 'dr-popover', animations: [
|
|
105
|
-
trigger('popover', POPUP_ANIMATION),
|
|
106
|
-
], 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"] }]
|
|
107
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i1.DrPopoverRef }]; }, propDecorators: { popoverOpened: [{
|
|
108
|
-
type: Output
|
|
109
|
-
}], content: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], contentContext: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], class: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], hostRef: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], manualClosing: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], alignment: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], position: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], freezeToContainerSelector: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], popoverContainer: [{
|
|
126
|
-
type: ViewChild,
|
|
127
|
-
args: ['popoverContainer', { read: ElementRef, static: true }]
|
|
128
|
-
}], width: [{
|
|
129
|
-
type: HostBinding,
|
|
130
|
-
args: ['style.width']
|
|
131
|
-
}], height: [{
|
|
132
|
-
type: HostBinding,
|
|
133
|
-
args: ['style.height']
|
|
134
|
-
}], popover: [{
|
|
135
|
-
type: HostBinding,
|
|
136
|
-
args: ['@popover']
|
|
137
|
-
}], clickOutside: [{
|
|
138
|
-
type: HostListener,
|
|
139
|
-
args: ['document:mouseup', ['$event']]
|
|
140
|
-
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFFWCxTQUFTLEdBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQXNCLHFCQUFxQixFQUFnQyxNQUFNLG1CQUFtQixDQUFDOzs7O0FBVzVHLE1BQU0sT0FBTyxrQkFBa0I7SUFtRGY7SUFDQTtJQUNBO0lBQ0E7SUFwREYsYUFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXZFLGNBQWMsQ0FBVTtJQUN4QixrQkFBa0IsQ0FBbUI7SUFDckMsSUFBYSxPQUFPLENBQUMsS0FBaUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssWUFBWSxXQUFXLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFJLEtBQTBCLENBQUM7U0FDekQ7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUksS0FBaUIsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFBQSxDQUFDO0lBQ08sY0FBYyxDQUFNO0lBQ3BCLEtBQUss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Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFNkQsZ0JBQWdCO3NCQUFsRixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyQyxLQUFLO3NCQUFoQyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ0csTUFBTTtzQkFBbEMsV0FBVzt1QkFBQyxjQUFjO2dCQUVLLE9BQU87c0JBQXRDLFdBQVc7dUJBQUMsVUFBVTtnQkFHdkIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUE9QVVBfQU5JTUFUSU9OIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcbmltcG9ydCB7IERyUG9wb3ZlckFsaWdubWVudCwgZ2V0QWxpZ25tZW50RGltZW5zaW9uLCBJUG9wb3Zlck1hbnVhbENsb3NpbmcsIFBvaW50IH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdwb3BvdmVyJywgUE9QVVBfQU5JTUFUSU9OKSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQE91dHB1dCgpIHBvcG92ZXJPcGVuZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIF9jb250ZW50QXNUeXBlOiBUeXBlPFQ+O1xuICAgIF9jb250ZW50QXNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBzZXQgY29udGVudCh2YWx1ZTogVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8VD4pIHtcbiAgICAgICAgdGhpcy5pc0NvbnRlbnRUZW1wbGF0ZSA9IHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gICAgICAgIGlmICh0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50QXNUZW1wbGF0ZSA9ICh2YWx1ZSBhcyBUZW1wbGF0ZVJlZjxhbnk+KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRBc1R5cGUgPSAodmFsdWUgYXMgVHlwZTxUPik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEBJbnB1dCgpIGNvbnRlbnRDb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgY2xhc3MgPSAnJztcbiAgICBASW5wdXQoKSBob3N0UmVmOiBFbGVtZW50UmVmPHVua25vd24+IHwgSFRNTEVsZW1lbnQgfCBQb2ludDtcbiAgICBASW5wdXQoKSBtYW51YWxDbG9zaW5nOiBJUG9wb3Zlck1hbnVhbENsb3Npbmc7XG4gICAgQElucHV0KCkgYWxpZ25tZW50OiBEclBvcG92ZXJBbGlnbm1lbnQ7XG4gICAgQElucHV0KCkgcG9zaXRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBmcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgcG9wb3ZlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgaXNDb250ZW50VGVtcGxhdGUgPSBmYWxzZTtcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSB3aWR0aDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ0Bwb3BvdmVyJykgcHVibGljIHBvcG92ZXIgPSB0cnVlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gICAgY2xpY2tPdXRzaWRlKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRIb3N0ID0gdGhpcy5ob3N0UmVmIGluc3RhbmNlb2YgRWxlbWVudFJlZiAmJiAodGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQgPT09IGUudGFyZ2V0IHx8ICh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZS50YXJnZXQpKTtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRJblBvcG92ZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlLnRhcmdldCk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyID0gZS50YXJnZXQuY2xvc2VzdCgnbWF0LWRhdGVwaWNrZXItcG9wdXAnKTtcbiAgICAgICAgY29uc3QgaXNUYXJnZXRJblNlbGVjdCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XG4gICAgICAgIGNvbnN0IGlzVGFyZ2V0SW5EYXRlcGlja2VyQ29udGVudCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hdC1kYXRlcGlja2VyLWNvbnRlbnQnKTtcblxuICAgICAgICBpZiAoIWlzVGFyZ2V0SG9zdFxuICAgICAgICAgICAgJiYgIWlzVGFyZ2V0SW5Qb3BvdmVyXG4gICAgICAgICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJcbiAgICAgICAgICAgICYmICFpc1RhcmdldEluU2VsZWN0XG4gICAgICAgICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJDb250ZW50XG4gICAgICAgICAgICAmJiAhdGhpcy5tYW51YWxDbG9zaW5nLmVuYWJsZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPixcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy5fY29udGVudEFzVHlwZSk7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLmNvbnRlbnRDb250ZXh0KTtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsaWdubWVudCA9PT0gJ2hvc3QnKSB7XG4gICAgICAgICAgICB0aGlzW2dldEFsaWdubWVudERpbWVuc2lvbih0aGlzLnBvc2l0aW9uKV0gPSAnMTAwJSc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQuZW1pdCgpO1xuICAgICAgICB0aGlzLnJlcG9zaXRpb25Ub05ld0NvbnRhaW5lckFuZEZyZWV6ZSgpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZpbmcgcG9wb3ZlciBlbGVtZW50IGZyb20gY2RrLW92ZXJsYXkgYW5kIGF0dGFjaCB0byBwcm92aWRlZCBjb250YWluZXIgYWZ0ZXIgZWxlbWVudCBpcyBwb3NpdGlvbmVkXG4gICAgICogaXMgcmVxdWlyZWQgZm9yIHNwZWNpZmljIGNhc2Ugb2YgcHJlc2VydmluZyBwb3BvdmVyIGF0IHNhbWUgcG9zaXRpb24gb24gZG9jdW1lbnQgd2hpbGUgc2Nyb2xsIChub3QgZml4ZWQpXG4gICAgICpcbiAgICAgKiBUT0RPOiBpbXBsZW1lbnQgbW9yZSBuZWF0LCB0cmFuc3BhcmVudCBhbmQgQW5ndWxhciB3YXkgc29sdXRpb246IGkuZS4gY3JlYXRlIGFub3RoZXIgc2VydmljZSAob3IgZXh0ZW5kIGV4aXN0aW9uZyBvbmUpXG4gICAgICogd2l0aG91dCBhdHRhY2hpbmcgY29tcG9uZW50IHRvIGNkayBPdmVybGF5IGFuZCBpbnN0ZWFkIHBvc2l0aW9uaW5nIGl0IHRvIGVsZW1lbnQgcGFzc2VkIGluIGRpcmVjdGl2ZSBpbnB1dCBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlcG9zaXRpb25Ub05ld0NvbnRhaW5lckFuZEZyZWV6ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGFpbmVyID0gISF0aGlzLmZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3IgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3IpO1xuICAgICAgICBpZiAobmV3Q29udGFpbmVyKSB7XG5cbiAgICAgICAgICAgIC8vIHdhaXRpbmcgdW50aWwgZWxlbWVudCBpcyBwb3NpdGlvbmVkIG9uIG92ZXJsYXlcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQuY2xvc2VzdCgnLmNkay1vdmVybGF5LWNvbnRhaW5lcicpKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q29udGFpbmVyUG9zaXRpb24gPSBuZXdDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IGAkeyBuZXdDb250YWluZXIuc2Nyb2xsVG9wICsgcG9zaXRpb24udG9wIC0gbmV3Q29udGFpbmVyUG9zaXRpb24udG9wIH1weGA7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7IG5ld0NvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBwb3NpdGlvbi5sZWZ0IH1weGA7XG5cbiAgICAgICAgICAgICAgICBuZXdDb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRyLXBvcG92ZXJcIiBbY2xhc3NdPVwiY2xhc3NcIiAjcG9wb3ZlckNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50VGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIl9jb250ZW50QXNUZW1wbGF0ZTsgY29udGV4dDogY29udGVudENvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|