@tetacom/ng-components 1.1.2 → 1.1.4
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/color-icons.svg +374 -697
- package/assets/file-icons.svg +0 -1
- package/assets/icons.svg +205 -138
- package/common/contract/auto-close-ignore-case.d.ts +1 -1
- package/common/contract/constructor-type.d.ts +1 -1
- package/common/model/public-api.d.ts +1 -0
- package/common/model/view-type.model.d.ts +1 -0
- package/common/public-api.d.ts +1 -0
- package/component/accordion/accordion/accordion.component.d.ts +1 -1
- package/component/accordion/accordion-content.directive.d.ts +1 -1
- package/component/accordion/accordion-head/accordion-head.component.d.ts +1 -1
- package/component/accordion/accordion-item/accordion-item.component.d.ts +4 -1
- package/component/autocomplete/autocomplete/autocomplete.component.d.ts +1 -1
- package/component/avatar/avatar/avatar.component.d.ts +17 -0
- package/component/avatar/avatar.module.d.ts +9 -0
- package/component/avatar/model/avatar-color.enum.d.ts +20 -0
- package/component/avatar/public-api.d.ts +2 -0
- package/component/button/button/button.component.d.ts +5 -2
- package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -1
- package/component/checkbox/checkbox/checkbox.component.d.ts +2 -1
- package/component/date-picker/base-calendar.d.ts +49 -0
- package/component/date-picker/base-picker.d.ts +60 -0
- package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +20 -0
- package/component/date-picker/date-picker/date-picker.component.d.ts +38 -66
- package/component/date-picker/date-picker.module.d.ts +19 -16
- package/component/date-picker/date-range/date-range.component.d.ts +46 -0
- package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +39 -0
- package/component/date-picker/day-picker/day-item/day-item.component.d.ts +9 -0
- package/component/date-picker/day-picker/day-picker.component.d.ts +30 -0
- package/component/date-picker/model/from-to.model.d.ts +4 -0
- package/component/date-picker/model/min-max-date.model.d.ts +4 -0
- package/component/date-picker/model/public-api.d.ts +5 -0
- package/component/date-picker/month-picker/month-picker.component.d.ts +16 -50
- package/component/date-picker/public-api.d.ts +6 -5
- package/component/date-picker/year-picker/scroll-to-selected-year.directive.d.ts +11 -0
- package/component/date-picker/year-picker/year-picker.component.d.ts +24 -0
- package/component/delimiter/delimiter/delimiter.component.d.ts +1 -1
- package/component/divider/divider/divider.component.d.ts +10 -0
- package/component/divider/divider.module.d.ts +8 -0
- package/component/divider/public-api.d.ts +2 -0
- package/component/dropdown/dropdown/dropdown.component.d.ts +1 -1
- package/component/dropdown/dropdown-base.d.ts +3 -1
- package/component/dropdown/dropdown-content.directive.d.ts +1 -1
- package/component/dropdown/dropdown-head.directive.d.ts +1 -1
- package/component/dropdown/dropdown.directive.d.ts +1 -1
- package/component/dynamic-component/popup-content/popup-content.component.d.ts +1 -1
- package/component/expand-card/expand-card/expand-card.component.d.ts +1 -1
- package/component/expand-card/expand-item/expand-item.component.d.ts +1 -1
- package/component/expand-panel/expand-panel/expand-panel.component.d.ts +1 -1
- package/component/expand-panel/expand-panel-content.directive.d.ts +1 -1
- package/component/expand-panel/expand-panel-head.directive.d.ts +1 -1
- package/component/file-upload/file-item/file-item.component.d.ts +1 -1
- package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +1 -1
- package/component/filter/base/filter-base.d.ts +2 -2
- package/component/filter/base/filter-component-base.d.ts +1 -1
- package/component/filter/boolean-filter/boolean-filter.component.d.ts +2 -2
- package/component/filter/contarct/boolean-filter.d.ts +1 -2
- package/component/filter/contarct/date-filter.d.ts +1 -2
- package/component/filter/contarct/i-filter.d.ts +2 -2
- package/component/filter/contarct/list-filter.d.ts +1 -2
- package/component/filter/contarct/numeric-filter.d.ts +1 -2
- package/component/filter/contarct/string-filter.d.ts +1 -2
- package/component/filter/date-filter/date-filter.component.d.ts +3 -2
- package/component/filter/filter-host/filter-host.component.d.ts +2 -2
- package/component/filter/list-filter/list-filter.component.d.ts +2 -2
- package/component/filter/numeric-filter/numeric-filter.component.d.ts +3 -2
- package/component/filter/string-filter/string-filter.component.d.ts +2 -2
- package/component/icon/icon/icon.component.d.ts +1 -1
- package/component/icon/icon-file/icon-file.component.d.ts +9 -3
- package/component/icon/icon-file/icon-file.module.d.ts +9 -0
- package/component/icon/icon-sprite.directive.d.ts +1 -1
- package/component/icon/icon.module.d.ts +4 -5
- package/component/icon/public-api.d.ts +1 -0
- package/component/input/color-input/color-input.component.d.ts +1 -1
- package/component/input/form-group-title/form-group-title.component.d.ts +1 -1
- package/component/input/input/input.component.d.ts +3 -1
- package/component/input/text-field/text-field.component.d.ts +1 -1
- package/component/message/message/message.component.d.ts +1 -1
- package/component/message/message-host/message-host.component.d.ts +1 -1
- package/component/message/model/message.d.ts +3 -0
- package/component/modal/dialog/dialog.component.d.ts +1 -1
- package/component/modal/modal-container/modal-container.component.d.ts +1 -1
- package/component/pager/pager/pager.component.d.ts +1 -1
- package/component/panel/panel/panel.component.d.ts +1 -1
- package/component/progress-bar/progress-bar/progress-bar.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-item-description.directive.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid.component.d.ts +1 -1
- package/component/public-api.d.ts +2 -0
- package/component/radio/radio/radio.component.d.ts +1 -1
- package/component/radio/radio-button/radio-button.component.d.ts +1 -1
- package/component/resize-panel/resize-panel/resize-panel.component.d.ts +1 -1
- package/component/select/select/select.component.d.ts +4 -1
- package/component/select/select-option.directive.d.ts +1 -1
- package/component/select/select-value.directive.d.ts +1 -1
- package/component/sidebar/sidebar/sidebar.component.d.ts +1 -1
- package/component/switch/switch/switch.component.d.ts +4 -1
- package/component/switch/switch-button/switch-button.component.d.ts +1 -1
- package/component/table/base/cell-component-base.d.ts +1 -1
- package/component/table/base/head-cell-component-base.d.ts +1 -1
- package/component/table/cell/cell.component.d.ts +1 -1
- package/component/table/cell-host/cell-host.component.d.ts +1 -1
- package/component/table/contract/table-column.d.ts +0 -2
- package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -4
- package/component/table/default/date-cell/date-cell.component.d.ts +1 -4
- package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -4
- package/component/table/default/default-head-cell/default-head-cell.component.d.ts +1 -1
- package/component/table/default/list-cell/list-cell.component.d.ts +1 -5
- package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -4
- package/component/table/default/string-cell/string-cell.component.d.ts +1 -4
- package/component/table/head-cell/head-cell.component.d.ts +1 -1
- package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +1 -1
- package/component/table/head-cell-host/head-cell-host.component.d.ts +1 -1
- package/component/table/selection-cell/selection-cell.component.d.ts +1 -1
- package/component/table/selection-head-cell/selection-head-cell.component.d.ts +1 -1
- package/component/table/table/table.component.d.ts +1 -1
- package/component/table/table-body/table-body.component.d.ts +1 -1
- package/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head/table-head.component.d.ts +1 -1
- package/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head-group/table-head-group.component.d.ts +1 -1
- package/component/tabs/tab/tab.component.d.ts +1 -1
- package/component/tabs/tab-content.directive.d.ts +1 -1
- package/component/tabs/tab-title.directive.d.ts +1 -1
- package/component/tabs/tabs/tabs.component.d.ts +1 -1
- package/component/theme-switch/theme-switch/theme-switch.component.d.ts +1 -1
- package/component/toggle/toggle/toggle.component.d.ts +1 -1
- package/component/toolbar/toolbar/toolbar.component.d.ts +1 -1
- package/component/tree/tree/tree.component.d.ts +1 -1
- package/component/tree/tree-item/tree-item.component.d.ts +1 -1
- package/component/tree/tree-item-toggle/tree-item-toggle.component.d.ts +1 -1
- package/directive/auto-position/auto-position.directive.d.ts +1 -1
- package/directive/click-outside/click-outside.directive.d.ts +1 -1
- package/directive/context-menu/context-menu.directive.d.ts +1 -1
- package/directive/disable-control/disable-control.directive.d.ts +1 -1
- package/directive/drag-drop/drag-container.directive.d.ts +1 -1
- package/directive/drag-drop/drag-placeholder.directive.d.ts +1 -1
- package/directive/drag-drop/drag-preview.directive.d.ts +1 -1
- package/directive/drag-drop/drag.directive.d.ts +1 -1
- package/directive/drag-drop/model/drop-target.d.ts +1 -1
- package/directive/drag-sort/drag-sort-container.directive.d.ts +1 -1
- package/directive/drag-sort/drag-sort-item.directive.d.ts +1 -1
- package/directive/dynamic-content-base.directive.d.ts +1 -1
- package/directive/highlight/highlight.directive.d.ts +1 -1
- package/directive/hint/hint.directive.d.ts +3 -1
- package/directive/let/let.directive.d.ts +1 -1
- package/directive/loader/loader.directive.d.ts +1 -1
- package/directive/no-autofill/no-autofill.directive.d.ts +1 -1
- package/directive/only-number/only-number.directive.d.ts +1 -1
- package/directive/resize-drag/resize-drag.directive.d.ts +1 -1
- package/directive/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
- package/directive/scrollable/scrollable/scrollable.component.d.ts +1 -1
- package/directive/scrollable/scrollable.directive.d.ts +1 -1
- package/directive/teta-template/teta-template.directive.d.ts +1 -1
- package/directive/tooltip/tooltip.directive.d.ts +1 -1
- package/esm2022/common/contract/teta-content-ref.mjs +11 -0
- package/esm2022/common/model/public-api.mjs +2 -0
- package/esm2022/common/model/view-type.model.mjs +2 -0
- package/esm2022/common/public-api.mjs +6 -0
- package/esm2022/common/service/click.service.mjs +26 -0
- package/esm2022/common/service/dynamic-component.service.mjs +97 -0
- package/esm2022/common/service/overlay-container.service.mjs +43 -0
- package/esm2022/component/accordion/accordion/accordion.component.mjs +19 -0
- package/esm2022/component/accordion/accordion-content.directive.mjs +17 -0
- package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +54 -0
- package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +58 -0
- package/{esm2020 → esm2022}/component/accordion/accordion.module.mjs +7 -7
- package/{esm2020 → esm2022}/component/autocomplete/autocomplete/autocomplete.component.mjs +4 -4
- package/{esm2020 → esm2022}/component/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/component/avatar/avatar/avatar.component.mjs +60 -0
- package/esm2022/component/avatar/avatar.module.mjs +28 -0
- package/esm2022/component/avatar/model/avatar-color.enum.mjs +22 -0
- package/esm2022/component/avatar/public-api.mjs +3 -0
- package/esm2022/component/button/button/button.component.mjs +57 -0
- package/{esm2020 → esm2022}/component/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/component/chart-3d/chart-3d.module.mjs +5 -5
- package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +255 -0
- package/esm2022/component/chart-3d/model/chart-3d-options.mjs +9 -0
- package/esm2022/component/chart-3d/model/series-3d.mjs +9 -0
- package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +154 -0
- package/{esm2020 → esm2022}/component/checkbox/checkbox.module.mjs +7 -7
- package/esm2022/component/date-picker/base-calendar.mjs +100 -0
- package/esm2022/component/date-picker/base-picker.mjs +107 -0
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +56 -0
- package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +214 -0
- package/esm2022/component/date-picker/date-picker.module.mjs +65 -0
- package/esm2022/component/date-picker/date-range/date-range.component.mjs +218 -0
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +119 -0
- package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +16 -0
- package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +120 -0
- package/esm2022/component/date-picker/model/date-period.mjs +9 -0
- package/esm2022/component/date-picker/model/day-model.mjs +19 -0
- package/esm2022/component/date-picker/model/from-to.model.mjs +2 -0
- package/esm2022/component/date-picker/model/min-max-date.model.mjs +2 -0
- package/esm2022/component/date-picker/model/public-api.mjs +6 -0
- package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +53 -0
- package/esm2022/component/date-picker/public-api.mjs +7 -0
- package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +27 -0
- package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +53 -0
- package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +63 -0
- package/{esm2020 → esm2022}/component/delimiter/delimiter.module.mjs +5 -5
- package/esm2022/component/divider/divider/divider.component.mjs +20 -0
- package/esm2022/component/divider/divider.module.mjs +20 -0
- package/esm2022/component/divider/public-api.mjs +3 -0
- package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +36 -0
- package/esm2022/component/dropdown/dropdown-base.mjs +238 -0
- package/esm2022/component/dropdown/dropdown-content.directive.mjs +19 -0
- package/esm2022/component/dropdown/dropdown-head.directive.mjs +19 -0
- package/esm2022/component/dropdown/dropdown.directive.mjs +43 -0
- package/{esm2020 → esm2022}/component/dropdown/dropdown.module.mjs +11 -11
- package/{esm2020 → esm2022}/component/dynamic-component/dynamic-component.module.mjs +5 -5
- package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +59 -0
- package/{esm2020 → esm2022}/component/expand-card/expand-card/expand-card.component.mjs +8 -8
- package/{esm2020 → esm2022}/component/expand-card/expand-card.module.mjs +15 -15
- package/{esm2020 → esm2022}/component/expand-card/expand-item/expand-item.component.mjs +6 -6
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +68 -0
- package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +17 -0
- package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +17 -0
- package/{esm2020 → esm2022}/component/expand-panel/expand-panel.module.mjs +17 -17
- package/{esm2020 → esm2022}/component/file-upload/file-item/file-item.component.mjs +4 -4
- package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +87 -0
- package/{esm2020 → esm2022}/component/file-upload/file-upload.module.mjs +5 -5
- package/esm2022/component/filter/base/filter-base.mjs +13 -0
- package/{esm2020 → esm2022}/component/filter/base/filter-component-base.mjs +1 -1
- package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +67 -0
- package/esm2022/component/filter/contarct/boolean-filter.mjs +8 -0
- package/esm2022/component/filter/contarct/date-filter-value.mjs +17 -0
- package/esm2022/component/filter/contarct/date-filter.mjs +11 -0
- package/esm2022/component/filter/contarct/filter-item.mjs +78 -0
- package/esm2022/component/filter/contarct/filter-state.mjs +145 -0
- package/{esm2020 → esm2022}/component/filter/contarct/i-filter.mjs +1 -1
- package/esm2022/component/filter/contarct/list-filter.mjs +13 -0
- package/esm2022/component/filter/contarct/numeric-filter-value.mjs +22 -0
- package/esm2022/component/filter/contarct/numeric-filter.mjs +10 -0
- package/esm2022/component/filter/contarct/sort-param.mjs +26 -0
- package/esm2022/component/filter/contarct/string-filter.mjs +13 -0
- package/esm2022/component/filter/date-filter/date-filter.component.mjs +67 -0
- package/esm2022/component/filter/filter-host/filter-host.component.mjs +85 -0
- package/{esm2020 → esm2022}/component/filter/filter.module.mjs +31 -31
- package/esm2022/component/filter/list-filter/list-filter.component.mjs +103 -0
- package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +67 -0
- package/esm2022/component/filter/string-filter/string-filter.component.mjs +68 -0
- package/esm2022/component/icon/icon/icon.component.mjs +39 -0
- package/esm2022/component/icon/icon-file/icon-file.component.mjs +30 -0
- package/esm2022/component/icon/icon-file/icon-file.module.mjs +28 -0
- package/esm2022/component/icon/icon-sprite.directive.mjs +34 -0
- package/esm2022/component/icon/icon.module.mjs +33 -0
- package/esm2022/component/icon/icon.service.mjs +64 -0
- package/{esm2020 → esm2022}/component/icon/public-api.mjs +2 -1
- package/esm2022/component/input/color-input/color-input.component.mjs +75 -0
- package/{esm2020 → esm2022}/component/input/form-group-title/form-group-title.component.mjs +6 -7
- package/esm2022/component/input/input/input.component.mjs +41 -0
- package/esm2022/component/input/input.module.mjs +26 -0
- package/esm2022/component/input/text-field/text-field.component.mjs +102 -0
- package/esm2022/component/message/message/message.component.mjs +79 -0
- package/esm2022/component/message/message-host/message-host.component.mjs +91 -0
- package/{esm2020 → esm2022}/component/message/message.module.mjs +9 -9
- package/esm2022/component/message/message.service.mjs +37 -0
- package/esm2022/component/message/model/message.mjs +29 -0
- package/esm2022/component/modal/dialog/dialog.component.mjs +51 -0
- package/esm2022/component/modal/dialog.service.mjs +40 -0
- package/esm2022/component/modal/modal-container/modal-container.component.mjs +86 -0
- package/esm2022/component/modal/modal.module.mjs +50 -0
- package/esm2022/component/modal/modal.service.mjs +125 -0
- package/{esm2020 → esm2022}/component/modal/model/current-modal.mjs +2 -1
- package/esm2022/component/modal/model/modal-instance.mjs +37 -0
- package/esm2022/component/pager/model/pager-state.mjs +70 -0
- package/{esm2020 → esm2022}/component/pager/pager/pager.component.mjs +4 -4
- package/{esm2020 → esm2022}/component/pager/pager.module.mjs +7 -7
- package/esm2022/component/panel/panel/panel.component.mjs +50 -0
- package/{esm2020 → esm2022}/component/panel/panel.module.mjs +5 -5
- package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +139 -0
- package/{esm2020 → esm2022}/component/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +45 -0
- package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +141 -0
- package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +21 -0
- package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +105 -0
- package/esm2022/component/property-grid/property-grid.module.mjs +87 -0
- package/esm2022/component/public-api.mjs +68 -0
- package/esm2022/component/radio/radio/radio.component.mjs +250 -0
- package/esm2022/component/radio/radio-button/radio-button.component.mjs +69 -0
- package/{esm2020 → esm2022}/component/radio/radio.module.mjs +5 -5
- package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +176 -0
- package/{esm2020 → esm2022}/component/resize-panel/resize-panel.module.mjs +5 -5
- package/esm2022/component/select/select/select.component.mjs +284 -0
- package/esm2022/component/select/select-option.directive.mjs +17 -0
- package/esm2022/component/select/select-value.directive.mjs +17 -0
- package/{esm2020 → esm2022}/component/select/select.module.mjs +21 -21
- package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +56 -0
- package/{esm2020 → esm2022}/component/sidebar/sidebar.module.mjs +9 -9
- package/esm2022/component/switch/switch/switch.component.mjs +67 -0
- package/esm2022/component/switch/switch-button/switch-button.component.mjs +52 -0
- package/{esm2020 → esm2022}/component/switch/switch.module.mjs +5 -5
- package/esm2022/component/switch/switch.service.mjs +22 -0
- package/esm2022/component/table/base/cell-component-base.mjs +108 -0
- package/{esm2020 → esm2022}/component/table/base/head-cell-component-base.mjs +4 -4
- package/esm2022/component/table/cell/cell.component.mjs +38 -0
- package/esm2022/component/table/cell-host/cell-host.component.mjs +56 -0
- package/esm2022/component/table/contract/column-reorder-event.mjs +9 -0
- package/esm2022/component/table/contract/column-resize-event.mjs +9 -0
- package/esm2022/component/table/contract/sort-event.mjs +9 -0
- package/esm2022/component/table/contract/table-column-store.mjs +17 -0
- package/esm2022/component/table/contract/table-column.mjs +112 -0
- package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +44 -0
- package/esm2022/component/table/default/date-cell/date-cell.component.mjs +46 -0
- package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +45 -0
- package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +51 -0
- package/esm2022/component/table/default/list-cell/list-cell.component.mjs +71 -0
- package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +53 -0
- package/esm2022/component/table/default/string-cell/string-cell.component.mjs +53 -0
- package/esm2022/component/table/head-cell/head-cell.component.mjs +207 -0
- package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +59 -0
- package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +66 -0
- package/esm2022/component/table/selection-cell/selection-cell.component.mjs +49 -0
- package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +47 -0
- package/esm2022/component/table/service/table.service.mjs +672 -0
- package/esm2022/component/table/table/table.component.mjs +491 -0
- package/esm2022/component/table/table-body/table-body.component.mjs +224 -0
- package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +66 -0
- package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +97 -0
- package/esm2022/component/table/table-head/table-head.component.mjs +85 -0
- package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +153 -0
- package/esm2022/component/table/table-head-group/table-head-group.component.mjs +82 -0
- package/{esm2020 → esm2022}/component/table/table.module.mjs +74 -74
- package/esm2022/component/tabs/tab/tab.component.mjs +46 -0
- package/esm2022/component/tabs/tab-content.directive.mjs +17 -0
- package/esm2022/component/tabs/tab-title.directive.mjs +17 -0
- package/esm2022/component/tabs/tabs/tabs.component.mjs +74 -0
- package/{esm2020 → esm2022}/component/tabs/tabs.module.mjs +11 -11
- package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +30 -0
- package/{esm2020 → esm2022}/component/theme-switch/theme-switch.module.mjs +9 -9
- package/esm2022/component/theme-switch/theme-switch.service.mjs +36 -0
- package/esm2022/component/toggle/toggle/toggle.component.mjs +89 -0
- package/{esm2020 → esm2022}/component/toggle/toggle.module.mjs +5 -5
- package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +28 -0
- package/{esm2020 → esm2022}/component/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/component/tree/tree/tree.component.mjs +150 -0
- package/esm2022/component/tree/tree-item/tree-item.component.mjs +90 -0
- package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +32 -0
- package/{esm2020 → esm2022}/component/tree/tree.module.mjs +5 -5
- package/esm2022/component/tree/tree.service.mjs +42 -0
- package/esm2022/directive/auto-position/auto-position.directive.mjs +72 -0
- package/{esm2020 → esm2022}/directive/auto-position/auto-position.module.mjs +5 -5
- package/esm2022/directive/click-outside/click-outside.directive.mjs +67 -0
- package/{esm2020 → esm2022}/directive/click-outside/click-outside.module.mjs +5 -5
- package/esm2022/directive/context-menu/context-menu.directive.mjs +132 -0
- package/{esm2020 → esm2022}/directive/context-menu/context-menu.module.mjs +7 -7
- package/esm2022/directive/disable-control/disable-control.directive.mjs +30 -0
- package/{esm2020 → esm2022}/directive/disable-control/disable-control.module.mjs +5 -5
- package/esm2022/directive/drag-drop/drag-container.directive.mjs +101 -0
- package/{esm2020 → esm2022}/directive/drag-drop/drag-drop.module.mjs +11 -11
- package/esm2022/directive/drag-drop/drag-drop.service.mjs +152 -0
- package/{esm2020 → esm2022}/directive/drag-drop/drag-placeholder.directive.mjs +4 -4
- package/esm2022/directive/drag-drop/drag-preview.directive.mjs +17 -0
- package/esm2022/directive/drag-drop/drag.directive.mjs +143 -0
- package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +11 -0
- package/esm2022/directive/drag-drop/model/drag-instance.mjs +9 -0
- package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +68 -0
- package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +121 -0
- package/{esm2020 → esm2022}/directive/drag-sort/drag-sort.module.mjs +5 -5
- package/esm2022/directive/dynamic-content-base.directive.mjs +91 -0
- package/esm2022/directive/highlight/highlight.directive.mjs +73 -0
- package/{esm2020 → esm2022}/directive/highlight/highlight.module.mjs +5 -5
- package/esm2022/directive/hint/hint.directive.mjs +118 -0
- package/{esm2020 → esm2022}/directive/hint/hint.module.mjs +7 -7
- package/esm2022/directive/let/let.directive.mjs +40 -0
- package/{esm2020 → esm2022}/directive/let/let.module.mjs +5 -5
- package/esm2022/directive/loader/loader.directive.mjs +93 -0
- package/{esm2020 → esm2022}/directive/loader/loader.module.mjs +5 -5
- package/esm2022/directive/no-autofill/no-autofill.directive.mjs +32 -0
- package/{esm2020 → esm2022}/directive/no-autofill/no-autofill.module.mjs +5 -5
- package/esm2022/directive/only-number/only-number.directive.mjs +200 -0
- package/{esm2020 → esm2022}/directive/only-number/only-number.module.mjs +5 -5
- package/esm2022/directive/resize-drag/resize-drag.directive.mjs +73 -0
- package/{esm2020 → esm2022}/directive/resize-drag/resize-drag.module.mjs +5 -5
- package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +43 -0
- package/{esm2020 → esm2022}/directive/scroll-into-view/scroll-into-view.module.mjs +5 -5
- package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +107 -0
- package/esm2022/directive/scrollable/scrollable.directive.mjs +17 -0
- package/{esm2020 → esm2022}/directive/scrollable/scrollable.module.mjs +9 -9
- package/esm2022/directive/teta-template/teta-template.directive.mjs +24 -0
- package/{esm2020 → esm2022}/directive/teta-template/teta-template.module.mjs +5 -5
- package/esm2022/directive/tooltip/tooltip.directive.mjs +88 -0
- package/{esm2020 → esm2022}/directive/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/locale/en.mjs +62 -0
- package/esm2022/locale/ru.mjs +62 -0
- package/esm2022/locale/teta-config.service.mjs +28 -0
- package/{esm2020 → esm2022}/locale/teta-localisation.mjs +1 -1
- package/{esm2020 → esm2022}/pipe/date-pipe/teta-date-pipe.module.mjs +5 -5
- package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +35 -0
- package/{esm2020 → esm2022}/pipe/number-pipe/number-pipe.module.mjs +5 -5
- package/{esm2020 → esm2022}/pipe/number-pipe/number.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/util/forms-util.mjs +9 -9
- package/{fesm2020 → fesm2022}/tetacom-ng-components.mjs +7290 -6537
- package/fesm2022/tetacom-ng-components.mjs.map +1 -0
- package/locale/teta-localisation.d.ts +2 -0
- package/package.json +13 -14
- package/style/accordion.scss +28 -6
- package/style/assembly-library.scss +4 -1
- package/style/assembly-presets.scss +0 -1
- package/style/badge.scss +28 -0
- package/style/border.scss +2 -1
- package/style/bottombar.scss +5 -0
- package/style/button.scss +16 -13
- package/style/checkbox.scss +26 -13
- package/style/chips.scss +10 -10
- package/style/color.scss +1 -36
- package/style/datepicker.scss +139 -24
- package/style/divider.scss +15 -0
- package/style/drag.scss +1 -1
- package/style/dropdown.scss +6 -4
- package/style/hint.scss +5 -5
- package/style/icon.scss +2 -1
- package/style/input.scss +32 -23
- package/style/layout.scss +6 -2
- package/style/list.scss +11 -8
- package/style/loader.scss +2 -2
- package/style/message.scss +15 -7
- package/style/modal.scss +3 -2
- package/style/navigation.scss +4 -1
- package/style/presets/color-presets.scss +8 -160
- package/style/presets/font-presets.scss +26 -25
- package/style/presets/view-types.scss +17 -0
- package/style/progress.scss +3 -3
- package/style/radio.scss +21 -7
- package/style/reset.scss +1 -0
- package/style/resize-panel.scss +2 -2
- package/style/scroll.scss +3 -3
- package/style/select.scss +26 -21
- package/style/shadow.scss +0 -20
- package/style/sidebar.scss +1 -1
- package/style/skeleton.scss +1 -1
- package/style/switch.scss +15 -10
- package/style/table.scss +15 -15
- package/style/tabs.scss +11 -11
- package/style/tag.scss +37 -0
- package/style/toggle.scss +20 -18
- package/style/toolbar.scss +1 -1
- package/style/tooltip.scss +8 -6
- package/style/tree.scss +4 -4
- package/util/export-dom-image.d.ts +1 -1
- package/component/date-picker/day-select/day-select.component.d.ts +0 -51
- package/component/date-picker/month-select/month-select.component.d.ts +0 -40
- package/component/date-picker/service/picker-touch.service.d.ts +0 -12
- package/component/date-picker/time-part-control/time-part-control.component.d.ts +0 -26
- package/component/date-picker/util/date-picker-util.d.ts +0 -15
- package/component/date-picker/year-select/year-select.component.d.ts +0 -45
- package/esm2020/common/contract/teta-content-ref.mjs +0 -8
- package/esm2020/common/public-api.mjs +0 -5
- package/esm2020/common/service/click.service.mjs +0 -23
- package/esm2020/common/service/dynamic-component.service.mjs +0 -93
- package/esm2020/common/service/overlay-container.service.mjs +0 -41
- package/esm2020/component/accordion/accordion/accordion.component.mjs +0 -18
- package/esm2020/component/accordion/accordion-content.directive.mjs +0 -16
- package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +0 -52
- package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +0 -43
- package/esm2020/component/button/button/button.component.mjs +0 -40
- package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +0 -244
- package/esm2020/component/chart-3d/model/chart-3d-options.mjs +0 -7
- package/esm2020/component/chart-3d/model/series-3d.mjs +0 -7
- package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +0 -134
- package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +0 -289
- package/esm2020/component/date-picker/date-picker.module.mjs +0 -69
- package/esm2020/component/date-picker/day-select/day-select.component.mjs +0 -184
- package/esm2020/component/date-picker/model/date-period.mjs +0 -7
- package/esm2020/component/date-picker/model/day-model.mjs +0 -13
- package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +0 -253
- package/esm2020/component/date-picker/month-select/month-select.component.mjs +0 -148
- package/esm2020/component/date-picker/public-api.mjs +0 -6
- package/esm2020/component/date-picker/service/picker-touch.service.mjs +0 -34
- package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +0 -73
- package/esm2020/component/date-picker/util/date-picker-util.mjs +0 -142
- package/esm2020/component/date-picker/year-select/year-select.component.mjs +0 -189
- package/esm2020/component/delimiter/delimiter/delimiter.component.mjs +0 -63
- package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +0 -30
- package/esm2020/component/dropdown/dropdown-base.mjs +0 -225
- package/esm2020/component/dropdown/dropdown-content.directive.mjs +0 -17
- package/esm2020/component/dropdown/dropdown-head.directive.mjs +0 -18
- package/esm2020/component/dropdown/dropdown.directive.mjs +0 -38
- package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +0 -59
- package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +0 -65
- package/esm2020/component/expand-panel/expand-panel-content.directive.mjs +0 -16
- package/esm2020/component/expand-panel/expand-panel-head.directive.mjs +0 -16
- package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +0 -82
- package/esm2020/component/filter/base/filter-base.mjs +0 -10
- package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +0 -60
- package/esm2020/component/filter/contarct/boolean-filter.mjs +0 -10
- package/esm2020/component/filter/contarct/date-filter-value.mjs +0 -9
- package/esm2020/component/filter/contarct/date-filter.mjs +0 -11
- package/esm2020/component/filter/contarct/filter-item.mjs +0 -34
- package/esm2020/component/filter/contarct/filter-state.mjs +0 -145
- package/esm2020/component/filter/contarct/list-filter.mjs +0 -12
- package/esm2020/component/filter/contarct/numeric-filter-value.mjs +0 -10
- package/esm2020/component/filter/contarct/numeric-filter.mjs +0 -11
- package/esm2020/component/filter/contarct/sort-param.mjs +0 -14
- package/esm2020/component/filter/contarct/string-filter.mjs +0 -12
- package/esm2020/component/filter/date-filter/date-filter.component.mjs +0 -60
- package/esm2020/component/filter/filter-host/filter-host.component.mjs +0 -78
- package/esm2020/component/filter/list-filter/list-filter.component.mjs +0 -95
- package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +0 -60
- package/esm2020/component/filter/string-filter/string-filter.component.mjs +0 -61
- package/esm2020/component/icon/icon/icon.component.mjs +0 -37
- package/esm2020/component/icon/icon-file/icon-file.component.mjs +0 -14
- package/esm2020/component/icon/icon-sprite.directive.mjs +0 -32
- package/esm2020/component/icon/icon.module.mjs +0 -38
- package/esm2020/component/icon/icon.service.mjs +0 -59
- package/esm2020/component/input/color-input/color-input.component.mjs +0 -73
- package/esm2020/component/input/input/input.component.mjs +0 -36
- package/esm2020/component/input/input.module.mjs +0 -26
- package/esm2020/component/input/text-field/text-field.component.mjs +0 -96
- package/esm2020/component/message/message/message.component.mjs +0 -74
- package/esm2020/component/message/message-host/message-host.component.mjs +0 -88
- package/esm2020/component/message/message.service.mjs +0 -35
- package/esm2020/component/message/model/message.mjs +0 -21
- package/esm2020/component/modal/dialog/dialog.component.mjs +0 -44
- package/esm2020/component/modal/dialog.service.mjs +0 -39
- package/esm2020/component/modal/modal-container/modal-container.component.mjs +0 -84
- package/esm2020/component/modal/modal.module.mjs +0 -50
- package/esm2020/component/modal/modal.service.mjs +0 -121
- package/esm2020/component/modal/model/modal-instance.mjs +0 -34
- package/esm2020/component/pager/model/pager-state.mjs +0 -50
- package/esm2020/component/panel/panel/panel.component.mjs +0 -51
- package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +0 -131
- package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +0 -38
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +0 -130
- package/esm2020/component/property-grid/property-grid/property-grid-item-description.directive.mjs +0 -19
- package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +0 -97
- package/esm2020/component/property-grid/property-grid.module.mjs +0 -87
- package/esm2020/component/public-api.mjs +0 -65
- package/esm2020/component/radio/radio/radio.component.mjs +0 -245
- package/esm2020/component/radio/radio-button/radio-button.component.mjs +0 -63
- package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +0 -168
- package/esm2020/component/select/select/select.component.mjs +0 -260
- package/esm2020/component/select/select-option.directive.mjs +0 -16
- package/esm2020/component/select/select-value.directive.mjs +0 -16
- package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +0 -54
- package/esm2020/component/switch/switch/switch.component.mjs +0 -52
- package/esm2020/component/switch/switch-button/switch-button.component.mjs +0 -47
- package/esm2020/component/switch/switch.service.mjs +0 -21
- package/esm2020/component/table/base/cell-component-base.mjs +0 -97
- package/esm2020/component/table/cell/cell.component.mjs +0 -33
- package/esm2020/component/table/cell-host/cell-host.component.mjs +0 -50
- package/esm2020/component/table/contract/column-reorder-event.mjs +0 -7
- package/esm2020/component/table/contract/column-resize-event.mjs +0 -7
- package/esm2020/component/table/contract/sort-event.mjs +0 -7
- package/esm2020/component/table/contract/table-column-store.mjs +0 -12
- package/esm2020/component/table/contract/table-column.mjs +0 -38
- package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +0 -45
- package/esm2020/component/table/default/date-cell/date-cell.component.mjs +0 -47
- package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +0 -46
- package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +0 -47
- package/esm2020/component/table/default/list-cell/list-cell.component.mjs +0 -76
- package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +0 -55
- package/esm2020/component/table/default/string-cell/string-cell.component.mjs +0 -54
- package/esm2020/component/table/head-cell/head-cell.component.mjs +0 -189
- package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +0 -50
- package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +0 -60
- package/esm2020/component/table/selection-cell/selection-cell.component.mjs +0 -46
- package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +0 -45
- package/esm2020/component/table/service/table.service.mjs +0 -648
- package/esm2020/component/table/table/table.component.mjs +0 -472
- package/esm2020/component/table/table-body/table-body.component.mjs +0 -203
- package/esm2020/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +0 -55
- package/esm2020/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +0 -86
- package/esm2020/component/table/table-head/table-head.component.mjs +0 -77
- package/esm2020/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +0 -141
- package/esm2020/component/table/table-head-group/table-head-group.component.mjs +0 -76
- package/esm2020/component/tabs/tab/tab.component.mjs +0 -42
- package/esm2020/component/tabs/tab-content.directive.mjs +0 -16
- package/esm2020/component/tabs/tab-title.directive.mjs +0 -16
- package/esm2020/component/tabs/tabs/tabs.component.mjs +0 -70
- package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +0 -28
- package/esm2020/component/theme-switch/theme-switch.service.mjs +0 -34
- package/esm2020/component/toggle/toggle/toggle.component.mjs +0 -79
- package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +0 -26
- package/esm2020/component/tree/tree/tree.component.mjs +0 -138
- package/esm2020/component/tree/tree-item/tree-item.component.mjs +0 -85
- package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +0 -28
- package/esm2020/component/tree/tree.service.mjs +0 -40
- package/esm2020/directive/auto-position/auto-position.directive.mjs +0 -69
- package/esm2020/directive/click-outside/click-outside.directive.mjs +0 -65
- package/esm2020/directive/context-menu/context-menu.directive.mjs +0 -120
- package/esm2020/directive/disable-control/disable-control.directive.mjs +0 -29
- package/esm2020/directive/drag-drop/drag-container.directive.mjs +0 -92
- package/esm2020/directive/drag-drop/drag-drop.service.mjs +0 -142
- package/esm2020/directive/drag-drop/drag-preview.directive.mjs +0 -16
- package/esm2020/directive/drag-drop/drag.directive.mjs +0 -135
- package/esm2020/directive/drag-drop/model/drag-container-instance.mjs +0 -8
- package/esm2020/directive/drag-drop/model/drag-instance.mjs +0 -7
- package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +0 -64
- package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +0 -115
- package/esm2020/directive/dynamic-content-base.directive.mjs +0 -80
- package/esm2020/directive/highlight/highlight.directive.mjs +0 -72
- package/esm2020/directive/hint/hint.directive.mjs +0 -103
- package/esm2020/directive/let/let.directive.mjs +0 -38
- package/esm2020/directive/loader/loader.directive.mjs +0 -85
- package/esm2020/directive/no-autofill/no-autofill.directive.mjs +0 -30
- package/esm2020/directive/only-number/only-number.directive.mjs +0 -198
- package/esm2020/directive/resize-drag/resize-drag.directive.mjs +0 -71
- package/esm2020/directive/scroll-into-view/scroll-into-view.directive.mjs +0 -40
- package/esm2020/directive/scrollable/scrollable/scrollable.component.mjs +0 -96
- package/esm2020/directive/scrollable/scrollable.directive.mjs +0 -19
- package/esm2020/directive/teta-template/teta-template.directive.mjs +0 -22
- package/esm2020/directive/tooltip/tooltip.directive.mjs +0 -76
- package/esm2020/locale/en.mjs +0 -60
- package/esm2020/locale/ru.mjs +0 -60
- package/esm2020/locale/teta-config.service.mjs +0 -28
- package/esm2020/pipe/date-pipe/teta-date.pipe.mjs +0 -34
- package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +0 -18
- package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +0 -21
- package/fesm2015/tetacom-ng-components.mjs +0 -13042
- package/fesm2015/tetacom-ng-components.mjs.map +0 -1
- package/fesm2020/tetacom-ng-components.mjs.map +0 -1
- package/pipe/prepend-zero/prepend-zero.module.d.ts +0 -8
- package/pipe/prepend-zero/prepend-zero.pipe.d.ts +0 -7
- package/style/presets/shadow-presets.scss +0 -16
- package/style/tokens/basedark.tokens.css +0 -77
- package/style/tokens/baselight.tokens.css +0 -61
- package/style/tokens/global.tokens.css +0 -235
- package/style/tokens/utility.tokens.css +0 -1119
- package/style/util/button-util.scss +0 -58
- /package/{esm2020 → esm2022}/common/contract/auto-close-ignore-case.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/constructor-type.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/dynamic-data.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-dictionary.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-id-name.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-id.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-rect.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-tree-data.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/align.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/teta-size.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/vertical-align.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/common/service/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/array-util.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/dom-util.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/position-util.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/accordion/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/autocomplete/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/chart-3d/model/base-3d-point.mjs +0 -0
- /package/{esm2020 → esm2022}/component/chart-3d/model/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/chart-3d/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/checkbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/date-picker/model/date-picker-mode.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/delimiter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/dropdown/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/dynamic-component/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/expand-card/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/expand-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/file-upload/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/contarct/filter-component-map.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/enum/filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/enum/list-filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/enum/string-filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/message/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/model/i-modal-config.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/model/i-modal-result.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/model/modal-close-reason.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/pager/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/pager/util/pager-util.mjs +0 -0
- /package/{esm2020 → esm2022}/component/panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/progress-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/property-grid/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/radio/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/resize-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/select/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/sidebar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/sidebar/sidebar-position.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/switch/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/base/detail-component-base.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/cell-components-map.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/head-dropdown-tab.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-coordinates.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-event.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-instance.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-value.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/aggregation-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/edit-event.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/edit-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/select-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/util/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/util/state-util.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/util/table-util.mjs +0 -0
- /package/{esm2020 → esm2022}/component/tabs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/theme-switch/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/toggle/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/toolbar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/tree/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/auto-position/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/click-outside/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/context-menu/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/disable-control/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drag-process.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drag-selection.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drop-event.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drop-target.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/point.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-sort/drag-sort-event.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-sort/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/highlight/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/hint/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/let/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/loader/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/no-autofill/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/only-number/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/resize-drag/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/scroll-into-view/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/scrollable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/teta-template/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/tooltip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/locale/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/observable/animation-frame.mjs +0 -0
- /package/{esm2020 → esm2022}/observable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/observable/zoneObservable.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/date-pipe/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/number-pipe/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/util/number-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tetacom-ng-components.mjs +0 -0
- /package/{esm2020 → esm2022}/util/date-util.mjs +0 -0
- /package/{esm2020 → esm2022}/util/export-dom-image.mjs +0 -0
- /package/{esm2020 → esm2022}/util/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/util/string-util.mjs +0 -0
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, forwardRef, HostBinding, HostListener, } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RadioComponent {
|
|
5
|
-
constructor(_cdr) {
|
|
6
|
-
this._cdr = _cdr;
|
|
7
|
-
this.tabindex = 0;
|
|
8
|
-
this.radioClass = true;
|
|
9
|
-
this.checkChangeSelected = true;
|
|
10
|
-
this.buttons$ = [];
|
|
11
|
-
this.disabled$ = false;
|
|
12
|
-
/** model callback вызовется когда модель измениться из ui */
|
|
13
|
-
this._onChange = () => { };
|
|
14
|
-
this._onTouched = () => { };
|
|
15
|
-
}
|
|
16
|
-
set disabled(val) {
|
|
17
|
-
this.disabled$ = val;
|
|
18
|
-
this.buttons$.forEach((b) => (b.disabled = this.disabled));
|
|
19
|
-
}
|
|
20
|
-
get disabled() {
|
|
21
|
-
return this.disabled$;
|
|
22
|
-
}
|
|
23
|
-
get value() {
|
|
24
|
-
if (this.checkedButton$) {
|
|
25
|
-
return this.checkedButton$.value;
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
set value(val) {
|
|
30
|
-
this.writeValue(val);
|
|
31
|
-
}
|
|
32
|
-
focusHandler(event) {
|
|
33
|
-
this.selectFirst();
|
|
34
|
-
}
|
|
35
|
-
focusoutHandler(event) {
|
|
36
|
-
if (this.selectedButton$) {
|
|
37
|
-
this.selectedButton$.selected = false;
|
|
38
|
-
this.selectedButton$ = null;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
keyEvent(event) {
|
|
42
|
-
const key = event.code || event.key;
|
|
43
|
-
switch (key) {
|
|
44
|
-
case 'Space':
|
|
45
|
-
case 'Enter':
|
|
46
|
-
case 'Spacebar':
|
|
47
|
-
this.checkSelected();
|
|
48
|
-
break;
|
|
49
|
-
case 'ArrowUp':
|
|
50
|
-
case 'Up':
|
|
51
|
-
case 'ArrowLeft':
|
|
52
|
-
case 'Left':
|
|
53
|
-
this.selectPrevious();
|
|
54
|
-
break;
|
|
55
|
-
case 'ArrowDown':
|
|
56
|
-
case 'Down':
|
|
57
|
-
case 'ArrowRight':
|
|
58
|
-
case 'Right':
|
|
59
|
-
this.selectNext();
|
|
60
|
-
break;
|
|
61
|
-
default:
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
event.cancelBubble = true;
|
|
65
|
-
if (event.stopPropagation) {
|
|
66
|
-
event.stopPropagation();
|
|
67
|
-
}
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
ngOnInit() { }
|
|
71
|
-
selectFirst() {
|
|
72
|
-
if (!this.selectedButton$) {
|
|
73
|
-
if (this.checkedButton$) {
|
|
74
|
-
this.selectedButton$ = this.checkedButton$;
|
|
75
|
-
this.selectedButton$.selected = true;
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
for (const btn of this.buttons$) {
|
|
79
|
-
if (!btn.disabled) {
|
|
80
|
-
this.selectedButton$ = btn;
|
|
81
|
-
this.selectedButton$.selected = true;
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
_setChecked(btn) {
|
|
89
|
-
if (this.checkedButton$) {
|
|
90
|
-
this.checkedButton$.checked = false;
|
|
91
|
-
}
|
|
92
|
-
this.checkedButton$ = btn;
|
|
93
|
-
this.checkedButton$.checked = true;
|
|
94
|
-
if (this.selectedButton$) {
|
|
95
|
-
this.selectedButton$.selected = false;
|
|
96
|
-
}
|
|
97
|
-
this.selectedButton$ = btn;
|
|
98
|
-
this.selectedButton$.selected = true;
|
|
99
|
-
this._onChange(this.value);
|
|
100
|
-
this._cdr.markForCheck();
|
|
101
|
-
}
|
|
102
|
-
_addButton(btn) {
|
|
103
|
-
if (this.disabled) {
|
|
104
|
-
btn.disabled = this.disabled;
|
|
105
|
-
}
|
|
106
|
-
return this.buttons$.push(btn) - 1;
|
|
107
|
-
}
|
|
108
|
-
_removeButton(btn) {
|
|
109
|
-
const index = this.buttons$.indexOf(btn);
|
|
110
|
-
if (index > -1) {
|
|
111
|
-
this.buttons$.splice(index, 1);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/** Writes a new value to the element. */
|
|
115
|
-
writeValue(obj) {
|
|
116
|
-
if (this.checkedButton$) {
|
|
117
|
-
this.checkedButton$.checked = false;
|
|
118
|
-
}
|
|
119
|
-
this.checkedButton$ = this.buttons$.find((b) => b.value === obj);
|
|
120
|
-
if (this.checkedButton$) {
|
|
121
|
-
this.checkedButton$.checked = true;
|
|
122
|
-
}
|
|
123
|
-
this._cdr.markForCheck();
|
|
124
|
-
}
|
|
125
|
-
/** Registers a callback function that should be called when the control's value changes in the UI */
|
|
126
|
-
registerOnChange(fn) {
|
|
127
|
-
this._onChange = fn;
|
|
128
|
-
}
|
|
129
|
-
/** Registers a callback function that should be called when the control receives a blur event. */
|
|
130
|
-
registerOnTouched(fn) {
|
|
131
|
-
this._onTouched = fn;
|
|
132
|
-
}
|
|
133
|
-
/** This function is called by the forms API when the control status changes to or from "DISABLED". */
|
|
134
|
-
setDisabledState(isDisabled) {
|
|
135
|
-
this.disabled = isDisabled;
|
|
136
|
-
this._cdr.markForCheck();
|
|
137
|
-
}
|
|
138
|
-
selectBtn(btn) {
|
|
139
|
-
if (this.selectedButton$) {
|
|
140
|
-
this.selectedButton$.selected = false;
|
|
141
|
-
}
|
|
142
|
-
this.selectedButton$ = btn;
|
|
143
|
-
this.selectedButton$.selected = true;
|
|
144
|
-
if (this.checkChangeSelected) {
|
|
145
|
-
this.checkSelected();
|
|
146
|
-
}
|
|
147
|
-
this._cdr.markForCheck();
|
|
148
|
-
}
|
|
149
|
-
selectNext() {
|
|
150
|
-
if (this.selectFirst()) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
const length = this.buttons$.length;
|
|
154
|
-
let newIndex = this.selectedButton$
|
|
155
|
-
? this.buttons$.indexOf(this.selectedButton$)
|
|
156
|
-
: 0;
|
|
157
|
-
let firstCycle = true;
|
|
158
|
-
do {
|
|
159
|
-
newIndex++;
|
|
160
|
-
if (firstCycle && newIndex === length) {
|
|
161
|
-
newIndex = 0;
|
|
162
|
-
firstCycle = false;
|
|
163
|
-
}
|
|
164
|
-
const btn = this.buttons$[newIndex];
|
|
165
|
-
if (btn && !btn.disabled) {
|
|
166
|
-
this.selectBtn(btn);
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
} while (newIndex < length);
|
|
170
|
-
}
|
|
171
|
-
selectPrevious() {
|
|
172
|
-
if (this.selectFirst()) {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
let newIndex = this.selectedButton$
|
|
176
|
-
? this.buttons$.indexOf(this.selectedButton$)
|
|
177
|
-
: 0;
|
|
178
|
-
let firstCycle = true;
|
|
179
|
-
do {
|
|
180
|
-
newIndex--;
|
|
181
|
-
if (firstCycle && newIndex === -1) {
|
|
182
|
-
newIndex = this.buttons$.length - 1;
|
|
183
|
-
firstCycle = false;
|
|
184
|
-
}
|
|
185
|
-
const btn = this.buttons$[newIndex];
|
|
186
|
-
if (btn && !btn.disabled) {
|
|
187
|
-
this.selectBtn(btn);
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
} while (newIndex >= 0);
|
|
191
|
-
}
|
|
192
|
-
checkSelected() {
|
|
193
|
-
if (this.selectFirst()) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
if (this.selectedButton$) {
|
|
197
|
-
this._setChecked(this.selectedButton$);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: RadioComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
-
RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: RadioComponent, selector: "teta-radio", inputs: { inline: "inline", checkChangeSelected: "checkChangeSelected", disabled: "disabled", value: "value" }, host: { listeners: { "focus": "focusHandler($event)", "focusout": "focusoutHandler($event)", "keydown": "keyEvent($event)" }, properties: { "tabindex": "this.tabindex", "class.radio": "this.radioClass", "class.radio_inline": "this.inline" } }, providers: [
|
|
203
|
-
{
|
|
204
|
-
provide: NG_VALUE_ACCESSOR,
|
|
205
|
-
useExisting: forwardRef(() => RadioComponent),
|
|
206
|
-
multi: true,
|
|
207
|
-
},
|
|
208
|
-
], ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: RadioComponent, decorators: [{
|
|
210
|
-
type: Component,
|
|
211
|
-
args: [{ selector: 'teta-radio', providers: [
|
|
212
|
-
{
|
|
213
|
-
provide: NG_VALUE_ACCESSOR,
|
|
214
|
-
useExisting: forwardRef(() => RadioComponent),
|
|
215
|
-
multi: true,
|
|
216
|
-
},
|
|
217
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
|
|
218
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabindex: [{
|
|
219
|
-
type: HostBinding,
|
|
220
|
-
args: ['tabindex']
|
|
221
|
-
}], radioClass: [{
|
|
222
|
-
type: HostBinding,
|
|
223
|
-
args: ['class.radio']
|
|
224
|
-
}], inline: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}, {
|
|
227
|
-
type: HostBinding,
|
|
228
|
-
args: ['class.radio_inline']
|
|
229
|
-
}], checkChangeSelected: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], disabled: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}], value: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}], focusHandler: [{
|
|
236
|
-
type: HostListener,
|
|
237
|
-
args: ['focus', ['$event']]
|
|
238
|
-
}], focusoutHandler: [{
|
|
239
|
-
type: HostListener,
|
|
240
|
-
args: ['focusout', ['$event']]
|
|
241
|
-
}], keyEvent: [{
|
|
242
|
-
type: HostListener,
|
|
243
|
-
args: ['keydown', ['$event']]
|
|
244
|
-
}] } });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9yYWRpby9yYWRpby9yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3JhZGlvL3JhZGlvL3JhZGlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsdUJBQXVCLEVBRXZCLEtBQUssRUFDTCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBa0J6RSxNQUFNLE9BQU8sY0FBYztJQW9DekIsWUFBb0IsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFuQ2xCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDVixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBT3JDLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQXNCNUIsYUFBUSxHQUEyQixFQUFFLENBQUM7UUFHdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWlIMUIsNkRBQTZEO1FBQzdELGNBQVMsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBTzNDLGVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUF2SHdCLENBQUM7SUF6Qi9DLElBQWEsUUFBUSxDQUFDLEdBQVk7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxD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dEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQzs7MkdBMU9VLGNBQWM7K0ZBQWQsY0FBYyx5WUFUZDtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDekJILDJCQUF5QjsyRkQ0QlosY0FBYztrQkFiMUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDOzRCQUM3QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEIsUUFBUTtzQkFBaEMsV0FBVzt1QkFBQyxVQUFVO2dCQUNLLFVBQVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFLMUIsTUFBTTtzQkFGTCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFHeEIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBU08sS0FBSztzQkFBakIsS0FBSztnQkFtQk4sWUFBWTtzQkFEWCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNakMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTcEMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuXG50eXBlIEJ1dHRvbk9yTnVsbE9yVW5kZWZpbmVkID0gUmFkaW9CdXR0b25Db21wb25lbnQgfCB1bmRlZmluZWQgfCBudWxsO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXJhZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHRhYmluZGV4ID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yYWRpbycpIHJhZGlvQ2xhc3MgPSB0cnVlO1xuXG4gIC8qKiDQnNC10L3Rj9GC0Ywg0LfQvdCw0YfQtdC90LjQtSDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNC4INCy0YvQsdGA0LDQvdC90L7Qs9C+ICovXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MucmFkaW9faW5saW5lJylcbiAgaW5saW5lOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGNoZWNrQ2hhbmdlU2VsZWN0ZWQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkJCA9IHZhbDtcbiAgICB0aGlzLmJ1dHRvbnMkLmZvckVhY2goKGIpID0+IChiLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCkpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJDtcbiAgfVxuXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLmNoZWNrZWRCdXR0b24kKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGVja2VkQnV0dG9uJC52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsOiBhbnkpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgYnV0dG9ucyQ6IFJhZGlvQnV0dG9uQ29tcG9uZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBjaGVja2VkQnV0dG9uJDogQnV0dG9uT3JOdWxsT3JVbmRlZmluZWQ7XG4gIHByaXZhdGUgc2VsZWN0ZWRCdXR0b24kOiBCdXR0b25Pck51bGxPclVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBkaXNhYmxlZCQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcbiAgZm9jdXNIYW5kbGVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RGaXJzdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnLCBbJyRldmVudCddKVxuICBmb2N1c291dEhhbmRsZXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEJ1dHRvbiQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRCdXR0b24kLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdGVkQnV0dG9uJCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGtleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQuY29kZSB8fCBldmVudC5rZXk7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ1NwYWNlYmFyJzpcbiAgICAgICAgdGhpcy5jaGVja1NlbGVjdGVkKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgIGNhc2UgJ1VwJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICBjYXNlICdMZWZ0JzpcbiAgICAgICAgdGhpcy5zZWxlY3RQcmV2aW91cygpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Rvd24nOlxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICBjYXNlICdSaWdodCc6XG4gICAgICAgIHRoaXMuc2VsZWN0TmV4dCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1xuICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgc2VsZWN0Rmlyc3QoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQnV0dG9uJCkge1xuICAgICAgaWYgKHRoaXMuY2hlY2tlZEJ1dHRvbiQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEJ1dHRvbiQgPSB0aGlzLmNoZWNrZWRCdXR0b24kO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQnV0dG9uJC5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGJ0biBvZiB0aGlzLmJ1dHRvbnMkKSB7XG4gICAgICAgIGlmICghYnRuLmRpc2FibGVkKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEJ1dHRvbiQgPSBidG47XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEJ1dHRvbiQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBfc2V0Q2hlY2tlZChidG46IFJhZGlvQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuY2hlY2tlZEJ1dHRvbiQpIHtcbiAgICAgIHRoaXMuY2hlY2tlZEJ1dHRvbiQuY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWRCdXR0b24kID0gYnRuO1xuICAgIHRoaXMuY2hlY2tlZEJ1dHRvbiQuY2hlY2tlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRCdXR0b24kKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQnV0dG9uJC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQnV0dG9uJCA9IGJ0bjtcbiAgICB0aGlzLnNlbGVjdGVkQnV0dG9uJC5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgX2FkZEJ1dHRvbihidG46IFJhZGlvQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGJ0bi5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJ1dHRvbnMkLnB1c2goYnRuKSAtIDE7XG4gIH1cblxuICBfcmVtb3ZlQnV0dG9uKGJ0bjogUmFkaW9CdXR0b25Db21wb25lbnQpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYnV0dG9ucyQuaW5kZXhPZihidG4pO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLmJ1dHRvbnMkLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdyaXRlcyBhIG5ldyB2YWx1ZSB0byB0aGUgZWxlbWVudC4gKi9cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoZWNrZWRCdXR0b24kKSB7XG4gICAgICB0aGlzLmNoZWNrZWRCdXR0b24kLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrZWRCdXR0b24kID0gdGhpcy5idXR0b25zJC5maW5kKChiKSA9PiBiLnZhbHVlID09PSBvYmopO1xuICAgIGlmICh0aGlzLmNoZWNrZWRCdXR0b24kKSB7XG4gICAgICB0aGlzLmNoZWNrZWRCdXR0b24kLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogbW9kZWwgY2FsbGJhY2sg0LLRi9C30L7QstC10YLRgdGPINC60L7Qs9C00LAg0LzQvtC00LXQu9GMINC40LfQvNC10L3QuNGC0YzRgdGPINC40LcgdWkgKi9cbiAgX29uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIC8qKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCdzIHZhbHVlIGNoYW5nZXMgaW4gdGhlIFVJICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAvKiogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgcmVjZWl2ZXMgYSBibHVyIGV2ZW50LiAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBmb3JtcyBBUEkgd2hlbiB0aGUgY29udHJvbCBzdGF0dXMgY2hhbmdlcyB0byBvciBmcm9tIFwiRElTQUJMRURcIi4gKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0QnRuKGJ0bjogUmFkaW9CdXR0b25Db21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEJ1dHRvbiQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRCdXR0b24kLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRCdXR0b24kID0gYnRuO1xuICAgIHRoaXMuc2VsZWN0ZWRCdXR0b24kLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jaGVja0NoYW5nZVNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmNoZWNrU2VsZWN0ZWQoKTtcbiAgICB9XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3ROZXh0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdEZpcnN0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmJ1dHRvbnMkLmxlbmd0aDtcbiAgICBsZXQgbmV3SW5kZXggPSB0aGlzLnNlbGVjdGVkQnV0dG9uJFxuICAgICAgPyB0aGlzLmJ1dHRvbnMkLmluZGV4T2YodGhpcy5zZWxlY3RlZEJ1dHRvbiQpXG4gICAgICA6IDA7XG4gICAgbGV0IGZpcnN0Q3ljbGUgPSB0cnVlO1xuICAgIGRvIHtcbiAgICAgIG5ld0luZGV4Kys7XG4gICAgICBpZiAoZmlyc3RDeWNsZSAmJiBuZXdJbmRleCA9PT0gbGVuZ3RoKSB7XG4gICAgICAgIG5ld0luZGV4ID0gMDtcbiAgICAgICAgZmlyc3RDeWNsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgYnRuID0gdGhpcy5idXR0b25zJFtuZXdJbmRleF07XG4gICAgICBpZiAoYnRuICYmICFidG4uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RCdG4oYnRuKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKG5ld0luZGV4IDwgbGVuZ3RoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0UHJldmlvdXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0Rmlyc3QoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuc2VsZWN0ZWRCdXR0b24kXG4gICAgICA/IHRoaXMuYnV0dG9ucyQuaW5kZXhPZih0aGlzLnNlbGVjdGVkQnV0dG9uJClcbiAgICAgIDogMDtcbiAgICBsZXQgZmlyc3RDeWNsZSA9IHRydWU7XG4gICAgZG8ge1xuICAgICAgbmV3SW5kZXgtLTtcbiAgICAgIGlmIChmaXJzdEN5Y2xlICYmIG5ld0luZGV4ID09PSAtMSkge1xuICAgICAgICBuZXdJbmRleCA9IHRoaXMuYnV0dG9ucyQubGVuZ3RoIC0gMTtcbiAgICAgICAgZmlyc3RDeWNsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgYnRuID0gdGhpcy5idXR0b25zJFtuZXdJbmRleF07XG4gICAgICBpZiAoYnRuICYmICFidG4uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RCdG4oYnRuKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKG5ld0luZGV4ID49IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1NlbGVjdGVkKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdEZpcnN0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRCdXR0b24kKSB7XG4gICAgICB0aGlzLl9zZXRDaGVja2VkKHRoaXMuc2VsZWN0ZWRCdXR0b24kKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Component, Host, Input, HostListener, HostBinding, ViewEncapsulation, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../radio/radio.component";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class RadioButtonComponent {
|
|
6
|
-
constructor(container, radio) {
|
|
7
|
-
this.container = container;
|
|
8
|
-
this.radio = radio;
|
|
9
|
-
this.radioButton = true;
|
|
10
|
-
}
|
|
11
|
-
set value(val) {
|
|
12
|
-
this._value = val;
|
|
13
|
-
}
|
|
14
|
-
get value() {
|
|
15
|
-
if (this._value === undefined) {
|
|
16
|
-
if (this.container.element.nativeElement instanceof HTMLElement) {
|
|
17
|
-
return this.container.element.nativeElement.innerText;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return this._value;
|
|
21
|
-
}
|
|
22
|
-
hostClick() {
|
|
23
|
-
if (!this.disabled) {
|
|
24
|
-
this.radio._setChecked(this);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this.radio._addButton(this);
|
|
29
|
-
}
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
this.radio._removeButton(this);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.RadioComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: RadioButtonComponent, selector: "teta-radio-button", inputs: { checked: "checked", disabled: "disabled", value: "value" }, host: { listeners: { "click": "hostClick()" }, properties: { "class.radio-button": "this.radioButton", "class.radio-button-selected": "this.selected", "class.radio-button-checked": "this.checked", "class.radio-button_disabled": "this.disabled" } }, ngImport: i0, template: "<div class=\"radio-button-icon\">\n <div *ngIf=\"checked\" class=\"radio-button-small-icon\"></div>\n</div>\n<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: 'teta-radio-button', encapsulation: ViewEncapsulation.None, template: "<div class=\"radio-button-icon\">\n <div *ngIf=\"checked\" class=\"radio-button-small-icon\"></div>\n</div>\n<ng-content></ng-content>\n" }]
|
|
39
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.RadioComponent, decorators: [{
|
|
40
|
-
type: Host
|
|
41
|
-
}] }]; }, propDecorators: { radioButton: [{
|
|
42
|
-
type: HostBinding,
|
|
43
|
-
args: ['class.radio-button']
|
|
44
|
-
}], selected: [{
|
|
45
|
-
type: HostBinding,
|
|
46
|
-
args: ['class.radio-button-selected']
|
|
47
|
-
}], checked: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}, {
|
|
50
|
-
type: HostBinding,
|
|
51
|
-
args: ['class.radio-button-checked']
|
|
52
|
-
}], disabled: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}, {
|
|
55
|
-
type: HostBinding,
|
|
56
|
-
args: ['class.radio-button_disabled']
|
|
57
|
-
}], value: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], hostClick: [{
|
|
60
|
-
type: HostListener,
|
|
61
|
-
args: ['click']
|
|
62
|
-
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcmFkaW8vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3JhZGlvL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxJQUFJLEVBR0osS0FBSyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsaUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxvQkFBb0I7SUE4Qi9CLFlBQ1UsU0FBMkIsRUFDcEIsS0FBcUI7UUFENUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUE5QnRDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0lBK0JoQixDQUFDO0lBbEJKLElBQWEsS0FBSyxDQUFDLEdBQVE7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLFlBQVksV0FBVyxFQUFFO2dCQUMvRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7YUFDdkQ7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBVUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O2lIQWhEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3WENyQmpDLDJJQUlBOzJGRGlCYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUk7OzBCQW1DbEMsSUFBSTs0Q0E5QlAsV0FBVztzQkFEVixXQUFXO3VCQUFDLG9CQUFvQjtnQkFJakMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLDZCQUE2QjtnQkFLMUMsT0FBTztzQkFGTixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFLekMsUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDZCQUE2QjtnQkFHN0IsS0FBSztzQkFBakIsS0FBSztnQkFxQk4sU0FBUztzQkFEUixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSG9zdCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBJbnB1dCxcbiAgSG9zdExpc3RlbmVyLFxuICBIb3N0QmluZGluZyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1yYWRpby1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yYWRpby1idXR0b24nKVxuICByYWRpb0J1dHRvbiA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yYWRpby1idXR0b24tc2VsZWN0ZWQnKVxuICBzZWxlY3RlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJhZGlvLWJ1dHRvbi1jaGVja2VkJylcbiAgY2hlY2tlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJhZGlvLWJ1dHRvbl9kaXNhYmxlZCcpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2YWw6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5jb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lclRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgQEhvc3QoKSBwdWJsaWMgcmFkaW86IFJhZGlvQ29tcG9uZW50XG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIGhvc3RDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucmFkaW8uX3NldENoZWNrZWQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yYWRpby5fYWRkQnV0dG9uKHRoaXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yYWRpby5fcmVtb3ZlQnV0dG9uKHRoaXMpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmFkaW8tYnV0dG9uLWljb25cIj5cbiAgPGRpdiAqbmdJZj1cImNoZWNrZWRcIiBjbGFzcz1cInJhZGlvLWJ1dHRvbi1zbWFsbC1pY29uXCI+PC9kaXY+XG48L2Rpdj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "../../icon/icon/icon.component";
|
|
6
|
-
import * as i3 from "../../../directive/resize-drag/resize-drag.directive";
|
|
7
|
-
export class ResizePanelComponent {
|
|
8
|
-
constructor(_elementRef, _renderer, _document) {
|
|
9
|
-
this._elementRef = _elementRef;
|
|
10
|
-
this._renderer = _renderer;
|
|
11
|
-
this._document = _document;
|
|
12
|
-
this.size = 8;
|
|
13
|
-
this.resizePanelClass = true;
|
|
14
|
-
this._direction = 'horizontal';
|
|
15
|
-
this._grabPosition = 'left';
|
|
16
|
-
this._positionMap = new Map()
|
|
17
|
-
.set('left', 'resize-grab_left')
|
|
18
|
-
.set('right', 'resize-grab_right')
|
|
19
|
-
.set('top', 'resize-grab_top')
|
|
20
|
-
.set('bottom', 'resize-grab_bottom');
|
|
21
|
-
}
|
|
22
|
-
set direction(val) {
|
|
23
|
-
this._direction = val;
|
|
24
|
-
}
|
|
25
|
-
get direction() {
|
|
26
|
-
return this._direction;
|
|
27
|
-
}
|
|
28
|
-
get icon() {
|
|
29
|
-
return this.direction === "horizontal" ? 'moreHorizontal' : 'moreVertical';
|
|
30
|
-
}
|
|
31
|
-
set grabPosition(val) {
|
|
32
|
-
this._grabPosition = val;
|
|
33
|
-
}
|
|
34
|
-
get grabPosition() {
|
|
35
|
-
if (this.direction === 'vertical') {
|
|
36
|
-
if (['left', 'right'].includes(this._grabPosition)) {
|
|
37
|
-
return this._grabPosition;
|
|
38
|
-
}
|
|
39
|
-
return 'left';
|
|
40
|
-
}
|
|
41
|
-
if (['top', 'bottom'].includes(this._grabPosition)) {
|
|
42
|
-
return this._grabPosition;
|
|
43
|
-
}
|
|
44
|
-
return 'bottom';
|
|
45
|
-
}
|
|
46
|
-
resizeStart(event) {
|
|
47
|
-
this.setStartPosition();
|
|
48
|
-
if (this.direction === 'vertical') {
|
|
49
|
-
this._startSize = this._elementRef.nativeElement.clientWidth;
|
|
50
|
-
this._startPosition = event.clientX;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this._startSize = this._elementRef.nativeElement.clientHeight;
|
|
54
|
-
this._startPosition = event.clientY;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
resizeProcess(event) {
|
|
58
|
-
event.preventDefault();
|
|
59
|
-
if (this.direction === 'vertical') {
|
|
60
|
-
this.manageVertical(event);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
this.manageHorizontal(event);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
resizeEnd(event) {
|
|
67
|
-
window.dispatchEvent(new Event('resize'));
|
|
68
|
-
}
|
|
69
|
-
ngOnInit() {
|
|
70
|
-
this.restorePosition();
|
|
71
|
-
}
|
|
72
|
-
ngOnDestroy() {
|
|
73
|
-
}
|
|
74
|
-
getClassName() {
|
|
75
|
-
return this._positionMap.get(this.grabPosition) || '';
|
|
76
|
-
}
|
|
77
|
-
setStartPosition() {
|
|
78
|
-
if (this.direction === 'vertical') {
|
|
79
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'width', `${this._elementRef.nativeElement.offsetWidth}px`);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'height', `${this._elementRef.nativeElement.offsetHeight}px`);
|
|
83
|
-
}
|
|
84
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'flex-grow', `0`);
|
|
85
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'flex-shrink', `0`);
|
|
86
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'flex', `none`);
|
|
87
|
-
}
|
|
88
|
-
manageHorizontal(event) {
|
|
89
|
-
let newSize = this.grabPosition === 'bottom'
|
|
90
|
-
? this._startSize + (event.clientY - this._startPosition)
|
|
91
|
-
: this._startSize - (event.clientY - this._startPosition);
|
|
92
|
-
if (this.maxSize && newSize > this.maxSize) {
|
|
93
|
-
newSize = this.maxSize;
|
|
94
|
-
}
|
|
95
|
-
if (this.minSize && newSize < this.minSize) {
|
|
96
|
-
newSize = this.minSize;
|
|
97
|
-
}
|
|
98
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'height', `${newSize}px`);
|
|
99
|
-
this.save();
|
|
100
|
-
}
|
|
101
|
-
manageVertical(event) {
|
|
102
|
-
let newSize = this.grabPosition === 'right'
|
|
103
|
-
? this._startSize + (event.clientX - this._startPosition)
|
|
104
|
-
: this._startSize - (event.clientX - this._startPosition);
|
|
105
|
-
if (this.maxSize && newSize > this.maxSize) {
|
|
106
|
-
newSize = this.maxSize;
|
|
107
|
-
}
|
|
108
|
-
if (this.minSize && newSize < this.minSize) {
|
|
109
|
-
newSize = this.minSize;
|
|
110
|
-
}
|
|
111
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'width', `${newSize}px`);
|
|
112
|
-
this.save();
|
|
113
|
-
}
|
|
114
|
-
restore() {
|
|
115
|
-
if (this.name?.length > 0) {
|
|
116
|
-
return JSON.parse(localStorage.getItem(`resize-panel${this.name}`));
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
restorePosition() {
|
|
120
|
-
const savedSize = this.restore();
|
|
121
|
-
if (savedSize) {
|
|
122
|
-
if (this.direction === 'vertical') {
|
|
123
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'width', `${savedSize}px`);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'height', `${savedSize}px`);
|
|
127
|
-
}
|
|
128
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'flex-grow', `0`);
|
|
129
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'flex-shrink', `0`);
|
|
130
|
-
this._renderer.setStyle(this._elementRef.nativeElement, 'flex', `none`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
save() {
|
|
134
|
-
if (this.name?.length > 0) {
|
|
135
|
-
if (this.direction === 'vertical') {
|
|
136
|
-
localStorage.setItem(`resize-panel${this.name}`, this._elementRef.nativeElement.clientWidth);
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
localStorage.setItem(`resize-panel${this.name}`, this._elementRef.nativeElement.clientHeight);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
ResizePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ResizePanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
145
|
-
ResizePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ResizePanelComponent, selector: "teta-resize-panel", inputs: { size: "size", direction: "direction", grabPosition: "grabPosition", name: "name", minSize: "minSize", maxSize: "maxSize" }, host: { properties: { "class.resize-panel": "this.resizePanelClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n<div #grab class=\"resize-grab\"\n [style.width.px]=\"direction === 'vertical' ? size : ''\"\n [style.height.px]=\"direction === 'horizontal' ? size : ''\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd($event)\"\n [tetaResizeDrag]=\"direction\"\n [ngClass]=\"getClassName()\">\n <teta-icon [name]=\"icon\"></teta-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i3.ResizeDragDirective, selector: "[tetaResizeDrag]", inputs: ["tetaResizeDrag"], outputs: ["resizeStart", "resizeProcess", "resizeEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ResizePanelComponent, decorators: [{
|
|
147
|
-
type: Component,
|
|
148
|
-
args: [{ selector: 'teta-resize-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<div #grab class=\"resize-grab\"\n [style.width.px]=\"direction === 'vertical' ? size : ''\"\n [style.height.px]=\"direction === 'horizontal' ? size : ''\"\n (resizeStart)=\"resizeStart($event)\"\n (resizeProcess)=\"resizeProcess($event)\"\n (resizeEnd)=\"resizeEnd($event)\"\n [tetaResizeDrag]=\"direction\"\n [ngClass]=\"getClassName()\">\n <teta-icon [name]=\"icon\"></teta-icon>\n</div>\n" }]
|
|
149
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
150
|
-
type: Inject,
|
|
151
|
-
args: [DOCUMENT]
|
|
152
|
-
}] }]; }, propDecorators: { size: [{
|
|
153
|
-
type: Input
|
|
154
|
-
}], direction: [{
|
|
155
|
-
type: Input
|
|
156
|
-
}], grabPosition: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], name: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], minSize: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], maxSize: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}], resizePanelClass: [{
|
|
165
|
-
type: HostBinding,
|
|
166
|
-
args: ['class.resize-panel']
|
|
167
|
-
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvcmVzaXplLXBhbmVsL3Jlc2l6ZS1wYW5lbC9yZXNpemUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9yZXNpemUtcGFuZWwvcmVzaXplLXBhbmVsL3Jlc2l6ZS1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBUXpDLE1BQU0sT0FBTyxvQkFBb0I7SUFpRC9CLFlBQ1UsV0FBdUIsRUFDdkIsU0FBb0IsRUFDRixTQUFjO1FBRmhDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDRixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBbkRqQyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBbUNrQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFcEUsZUFBVSxHQUE4QixZQUFZLENBQUM7UUFDckQsa0JBQWEsR0FBd0MsTUFBTSxDQUFDO1FBSTVELGlCQUFZLEdBQXdCLElBQUksR0FBRyxFQUFrQjthQUNsRSxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO2FBQy9CLEdBQUcsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7YUFDakMsR0FBRyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQzthQUM3QixHQUFHLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFPdkMsQ0FBQztJQW5ERCxJQUNJLFNBQVMsQ0FBQyxHQUE4QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxH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U0FBUztzQkFEWixLQUFLO2dCQWFGLFlBQVk7c0JBRGYsS0FBSztnQkFrQkcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQzhDLGdCQUFnQjtzQkFBbkUsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXJlc2l6ZS1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXNpemUtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZVBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzaXplID0gODtcblxuICBASW5wdXQoKVxuICBzZXQgZGlyZWN0aW9uKHZhbDogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJykge1xuICAgIHRoaXMuX2RpcmVjdGlvbiA9IHZhbDtcbiAgfVxuXG4gIGdldCBkaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RpcmVjdGlvbjtcbiAgfVxuXG4gIGdldCBpY29uKCkge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgPyAnbW9yZUhvcml6b250YWwnIDogJ21vcmVWZXJ0aWNhbCdcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgZ3JhYlBvc2l0aW9uKHZhbDogJ3RvcCcgfCAnbGVmdCcgfCAnYm90dG9tJyB8ICdyaWdodCcpIHtcbiAgICB0aGlzLl9ncmFiUG9zaXRpb24gPSB2YWw7XG4gIH1cblxuICBnZXQgZ3JhYlBvc2l0aW9uKCkge1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgaWYgKFsnbGVmdCcsICdyaWdodCddLmluY2x1ZGVzKHRoaXMuX2dyYWJQb3NpdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dyYWJQb3NpdGlvbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgfVxuICAgIGlmIChbJ3RvcCcsICdib3R0b20nXS5pbmNsdWRlcyh0aGlzLl9ncmFiUG9zaXRpb24pKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ3JhYlBvc2l0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gJ2JvdHRvbSc7XG4gIH1cblxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1pblNpemU6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4U2l6ZTogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlc2l6ZS1wYW5lbCcpIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplUGFuZWxDbGFzcyA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfZGlyZWN0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnID0gJ2hvcml6b250YWwnO1xuICBwcml2YXRlIF9ncmFiUG9zaXRpb246ICd0b3AnIHwgJ2xlZnQnIHwgJ2JvdHRvbScgfCAncmlnaHQnID0gJ2xlZnQnO1xuICBwcml2YXRlIF9zdGFydFNpemU6IG51bWJlcjtcbiAgcHJpdmF0ZSBfc3RhcnRQb3NpdGlvbjogbnVtYmVyO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKVxuICAgIC5zZXQoJ2xlZnQnLCAncmVzaXplLWdyYWJfbGVmdCcpXG4gICAgLnNldCgncmlnaHQnLCAncmVzaXplLWdyYWJfcmlnaHQnKVxuICAgIC5zZXQoJ3RvcCcsICdyZXNpemUtZ3JhYl90b3AnKVxuICAgIC5zZXQoJ2JvdHRvbScsICdyZXNpemUtZ3JhYl9ib3R0b20nKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IGFueVxuICApIHtcbiAgfVxuXG4gIHJlc2l6ZVN0YXJ0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zZXRTdGFydFBvc2l0aW9uKCk7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICB0aGlzLl9zdGFydFNpemUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICB0aGlzLl9zdGFydFBvc2l0aW9uID0gZXZlbnQuY2xpZW50WDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc3RhcnRTaXplID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgIHRoaXMuX3N0YXJ0UG9zaXRpb24gPSBldmVudC5jbGllbnRZO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZVByb2Nlc3MoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgdGhpcy5tYW5hZ2VWZXJ0aWNhbChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFuYWdlSG9yaXpvbnRhbChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgcmVzaXplRW5kKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc3RvcmVQb3NpdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gIH1cblxuICBnZXRDbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uTWFwLmdldCh0aGlzLmdyYWJQb3NpdGlvbikgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIHNldFN0YXJ0UG9zaXRpb24oKSB7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnd2lkdGgnLFxuICAgICAgICBgJHt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgYCR7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodH1weGBcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgtZ3JvdycsIGAwYCk7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1zaHJpbmsnLCBgMGApO1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgnLCBgbm9uZWApO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VIb3Jpem9udGFsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgbGV0IG5ld1NpemUgPVxuICAgICAgdGhpcy5ncmFiUG9zaXRpb24gPT09ICdib3R0b20nXG4gICAgICAgID8gdGhpcy5fc3RhcnRTaXplICsgKGV2ZW50LmNsaWVudFkgLSB0aGlzLl9zdGFydFBvc2l0aW9uKVxuICAgICAgICA6IHRoaXMuX3N0YXJ0U2l6ZSAtIChldmVudC5jbGllbnRZIC0gdGhpcy5fc3RhcnRQb3NpdGlvbik7XG4gICAgaWYgKHRoaXMubWF4U2l6ZSAmJiBuZXdTaXplID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBuZXdTaXplID0gdGhpcy5tYXhTaXplO1xuICAgIH1cbiAgICBpZiAodGhpcy5taW5TaXplICYmIG5ld1NpemUgPCB0aGlzLm1pblNpemUpIHtcbiAgICAgIG5ld1NpemUgPSB0aGlzLm1pblNpemU7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2hlaWdodCcsXG4gICAgICBgJHtuZXdTaXplfXB4YFxuICAgICk7XG4gICAgdGhpcy5zYXZlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hbmFnZVZlcnRpY2FsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgbGV0IG5ld1NpemUgPVxuICAgICAgdGhpcy5ncmFiUG9zaXRpb24gPT09ICdyaWdodCdcbiAgICAgICAgPyB0aGlzLl9zdGFydFNpemUgKyAoZXZlbnQuY2xpZW50WCAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pXG4gICAgICAgIDogdGhpcy5fc3RhcnRTaXplIC0gKGV2ZW50LmNsaWVudFggLSB0aGlzLl9zdGFydFBvc2l0aW9uKTtcbiAgICBpZiAodGhpcy5tYXhTaXplICYmIG5ld1NpemUgPiB0aGlzLm1heFNpemUpIHtcbiAgICAgIG5ld1NpemUgPSB0aGlzLm1heFNpemU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1pblNpemUgJiYgbmV3U2l6ZSA8IHRoaXMubWluU2l6ZSkge1xuICAgICAgbmV3U2l6ZSA9IHRoaXMubWluU2l6ZTtcbiAgICB9XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnd2lkdGgnLFxuICAgICAgYCR7bmV3U2l6ZX1weGBcbiAgICApO1xuICAgIHRoaXMuc2F2ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXN0b3JlKCkge1xuICAgIGlmICh0aGlzLm5hbWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGByZXNpemUtcGFuZWwke3RoaXMubmFtZX1gKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXN0b3JlUG9zaXRpb24oKSB7XG4gICAgY29uc3Qgc2F2ZWRTaXplID0gdGhpcy5yZXN0b3JlKCk7XG4gICAgaWYgKHNhdmVkU2l6ZSkge1xuICAgICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgIGAke3NhdmVkU2l6ZX1weGBcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICBgJHtzYXZlZFNpemV9cHhgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LWdyb3cnLCBgMGApO1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2ZsZXgtc2hyaW5rJyxcbiAgICAgICAgYDBgXG4gICAgICApO1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGBub25lYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlKCkge1xuICAgIGlmICh0aGlzLm5hbWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICBgcmVzaXplLXBhbmVsJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgIGByZXNpemUtcGFuZWwke3RoaXMubmFtZX1gLFxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxkaXYgI2dyYWIgY2xhc3M9XCJyZXNpemUtZ3JhYlwiXG4gICAgIFtzdHlsZS53aWR0aC5weF09XCJkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcgPyBzaXplIDogJydcIlxuICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gc2l6ZSA6ICcnXCJcbiAgICAgKHJlc2l6ZVN0YXJ0KT1cInJlc2l6ZVN0YXJ0KCRldmVudClcIlxuICAgICAocmVzaXplUHJvY2Vzcyk9XCJyZXNpemVQcm9jZXNzKCRldmVudClcIlxuICAgICAocmVzaXplRW5kKT1cInJlc2l6ZUVuZCgkZXZlbnQpXCJcbiAgICAgW3RldGFSZXNpemVEcmFnXT1cImRpcmVjdGlvblwiXG4gICAgIFtuZ0NsYXNzXT1cImdldENsYXNzTmFtZSgpXCI+XG4gIDx0ZXRhLWljb24gW25hbWVdPVwiaWNvblwiPjwvdGV0YS1pY29uPlxuPC9kaXY+XG4iXX0=
|