@tetacom/ng-components 1.0.24 → 1.0.25
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/.browserslistrc +16 -0
- package/dist/README.md +24 -0
- package/dist/assets/color-icons.svg +339 -0
- package/dist/assets/icons.svg +669 -0
- package/dist/assets/intersect.svg +3 -0
- package/dist/assets/lithotype-icons.svg +429 -0
- package/{common → dist/common}/contract/auto-close-ignore-case.d.ts +0 -0
- package/{common → dist/common}/contract/constructor-type.d.ts +0 -0
- package/{common → dist/common}/contract/dynamic-data.d.ts +0 -0
- package/{common → dist/common}/contract/i-dictionary.d.ts +0 -0
- package/{common → dist/common}/contract/i-id-name.d.ts +0 -0
- package/{common → dist/common}/contract/i-rect.d.ts +0 -0
- package/{common → dist/common}/contract/i-tree-data.d.ts +0 -0
- package/{common → dist/common}/contract/public-api.d.ts +0 -0
- package/{common → dist/common}/contract/teta-content-ref.d.ts +0 -0
- package/{common → dist/common}/enum/align.enum.d.ts +0 -0
- package/{common → dist/common}/enum/public-api.d.ts +0 -0
- package/{common → dist/common}/enum/teta-size.enum.d.ts +0 -0
- package/{common → dist/common}/enum/vertical-align.enum.d.ts +0 -0
- package/{common → dist/common}/public-api.d.ts +0 -0
- package/{common → dist/common}/service/click.service.d.ts +0 -0
- package/{common → dist/common}/service/dynamic-component.service.d.ts +0 -0
- package/{common → dist/common}/service/overlay-container.service.d.ts +0 -0
- package/{common → dist/common}/service/public-api.d.ts +0 -0
- package/{common → dist/common}/util/array-util.d.ts +0 -0
- package/{common → dist/common}/util/dom-util.d.ts +0 -0
- package/{common → dist/common}/util/position-util.d.ts +0 -0
- package/{common → dist/common}/util/public-api.d.ts +0 -0
- package/{component → dist/component}/accordion/accordion/accordion.component.d.ts +0 -0
- package/{component → dist/component}/accordion/accordion-content.directive.d.ts +0 -0
- package/{component → dist/component}/accordion/accordion-head/accordion-head.component.d.ts +0 -0
- package/{component → dist/component}/accordion/accordion-item/accordion-item.component.d.ts +0 -0
- package/{component → dist/component}/accordion/accordion.module.d.ts +0 -0
- package/{component → dist/component}/accordion/public-api.d.ts +0 -0
- package/{component → dist/component}/button/button/button.component.d.ts +0 -0
- package/{component → dist/component}/button/button.module.d.ts +0 -0
- package/{component → dist/component}/button/public-api.d.ts +0 -0
- package/{component → dist/component}/chart/chart/chart.component.d.ts +0 -0
- package/{component → dist/component}/chart/chart.module.d.ts +0 -0
- package/dist/component/chart/core/axis-creator.d.ts +29 -0
- package/{component → dist/component}/chart/core/chart.d.ts +0 -0
- package/{component → dist/component}/chart/core/public-api.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/area-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/bar-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/contour-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/default-drawer-mapping.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/line-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/pie-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/public-api.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/scatter-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/drawer/spline-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/legend-drawer/default-drawer-legend-mapping.d.ts +0 -0
- package/{component → dist/component}/chart/legend-drawer/gradient-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/legend-drawer/swatch-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/model/annotation.d.ts +0 -0
- package/{component → dist/component}/chart/model/axis-options.d.ts +0 -0
- package/{component → dist/component}/chart/model/chart-bounds.d.ts +0 -0
- package/{component → dist/component}/chart/model/chart-options.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/axis-type.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/dispatch-type.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/drag-point-type.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/legend-type.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/public-api.d.ts +0 -0
- package/dist/component/chart/model/enum/scale-type.d.ts +7 -0
- package/{component → dist/component}/chart/model/enum/scale.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/series-type.d.ts +0 -0
- package/{component → dist/component}/chart/model/enum/zoom-type.d.ts +0 -0
- package/{component → dist/component}/chart/model/i-drag-event.d.ts +0 -0
- package/{component → dist/component}/chart/model/i-drawer-legend.d.ts +0 -0
- package/{component → dist/component}/chart/model/i-drawer.d.ts +0 -0
- package/{component → dist/component}/chart/model/i-zoom-event.d.ts +0 -0
- package/{component → dist/component}/chart/model/plot-band.d.ts +0 -0
- package/{component → dist/component}/chart/model/plot-line.d.ts +0 -0
- package/{component → dist/component}/chart/model/point/bar-point.d.ts +0 -0
- package/{component → dist/component}/chart/model/point/base-point.d.ts +0 -0
- package/{component → dist/component}/chart/model/point/contour-point.d.ts +0 -0
- package/{component → dist/component}/chart/model/point/marker-options.d.ts +0 -0
- package/{component → dist/component}/chart/model/point/public-api.d.ts +0 -0
- package/{component → dist/component}/chart/model/point/scatter-point.d.ts +0 -0
- package/{component → dist/component}/chart/model/public-api.d.ts +0 -0
- package/dist/component/chart/model/series.d.ts +62 -0
- package/{component → dist/component}/chart/model/tooltip-options.d.ts +0 -0
- package/{component → dist/component}/chart/public-api.d.ts +0 -0
- package/{component → dist/component}/chart-3d/chart-3d.module.d.ts +0 -0
- package/{component → dist/component}/chart-3d/chart3d/chart3d.component.d.ts +0 -0
- package/{component → dist/component}/chart-3d/model/base-3d-point.d.ts +0 -0
- package/{component → dist/component}/chart-3d/model/chart-3d-options.d.ts +0 -0
- package/{component → dist/component}/chart-3d/model/public-api.d.ts +0 -0
- package/{component → dist/component}/chart-3d/model/series-3d.d.ts +0 -0
- package/{component → dist/component}/chart-3d/public-api.d.ts +0 -0
- package/{component → dist/component}/checkbox/checkbox/checkbox.component.d.ts +0 -0
- package/{component → dist/component}/checkbox/checkbox.module.d.ts +0 -0
- package/{component → dist/component}/checkbox/public-api.d.ts +0 -0
- package/{component → dist/component}/date-picker/date-picker/date-picker.component.d.ts +0 -0
- package/{component → dist/component}/date-picker/date-picker.module.d.ts +0 -0
- package/{component → dist/component}/date-picker/day-select/day-select.component.d.ts +0 -0
- package/{component → dist/component}/date-picker/model/date-period.d.ts +0 -0
- package/{component → dist/component}/date-picker/model/date-picker-mode.enum.d.ts +0 -0
- package/{component → dist/component}/date-picker/model/day-model.d.ts +0 -0
- package/{component → dist/component}/date-picker/model/picker-locale-model.d.ts +0 -0
- package/{component → dist/component}/date-picker/month-picker/month-picker.component.d.ts +0 -0
- package/{component → dist/component}/date-picker/month-select/month-select.component.d.ts +0 -0
- package/{component → dist/component}/date-picker/public-api.d.ts +0 -0
- package/{component → dist/component}/date-picker/service/picker-locale.service.d.ts +0 -0
- package/{component → dist/component}/date-picker/service/picker-touch.service.d.ts +0 -0
- package/{component → dist/component}/date-picker/time-part-control/time-part-control.component.d.ts +0 -0
- package/{component → dist/component}/date-picker/util/date-picker-util.d.ts +0 -0
- package/{component → dist/component}/date-picker/year-select/year-select.component.d.ts +0 -0
- package/{component → dist/component}/delimiter/delimiter/delimiter.component.d.ts +0 -0
- package/{component → dist/component}/delimiter/delimiter.module.d.ts +0 -0
- package/{component → dist/component}/delimiter/public-api.d.ts +0 -0
- package/{component → dist/component}/dropdown/dropdown/dropdown.component.d.ts +0 -0
- package/{component → dist/component}/dropdown/dropdown-base.d.ts +0 -0
- package/{component → dist/component}/dropdown/dropdown-content.directive.d.ts +0 -0
- package/{component → dist/component}/dropdown/dropdown-head.directive.d.ts +0 -0
- package/{component → dist/component}/dropdown/dropdown.directive.d.ts +0 -0
- package/{component → dist/component}/dropdown/dropdown.module.d.ts +0 -0
- package/{component → dist/component}/dropdown/public-api.d.ts +0 -0
- package/{component → dist/component}/dynamic-component/dynamic-component.module.d.ts +0 -0
- package/{component → dist/component}/dynamic-component/popup-content/popup-content.component.d.ts +0 -0
- package/{component → dist/component}/dynamic-component/public-api.d.ts +0 -0
- package/{component → dist/component}/expand-panel/expand-panel/expand-panel.component.d.ts +0 -0
- package/{component → dist/component}/expand-panel/expand-panel-content.directive.d.ts +0 -0
- package/{component → dist/component}/expand-panel/expand-panel-head.directive.d.ts +0 -0
- package/{component → dist/component}/expand-panel/expand-panel.module.d.ts +0 -0
- package/{component → dist/component}/expand-panel/public-api.d.ts +0 -0
- package/{component → dist/component}/file-upload/file-item/file-item.component.d.ts +0 -0
- package/{component → dist/component}/file-upload/file-upload-area/file-upload-area.component.d.ts +0 -0
- package/{component → dist/component}/file-upload/file-upload.module.d.ts +0 -0
- package/{component → dist/component}/file-upload/public-api.d.ts +0 -0
- package/{component → dist/component}/filter/base/filter-base.d.ts +0 -0
- package/{component → dist/component}/filter/base/filter-component-base.d.ts +0 -0
- package/{component → dist/component}/filter/boolean-filter/boolean-filter.component.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/boolean-filter.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/date-filter-value.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/date-filter.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/filter-component-map.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/filter-item.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/filter-state.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/i-filter.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/list-filter.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/numeric-filter-value.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/numeric-filter.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/sort-param.d.ts +0 -0
- package/{component → dist/component}/filter/contarct/string-filter.d.ts +0 -0
- package/{component → dist/component}/filter/date-filter/date-filter.component.d.ts +0 -0
- package/{component → dist/component}/filter/enum/filter-type.enum.d.ts +0 -0
- package/{component → dist/component}/filter/enum/list-filter-type.enum.d.ts +0 -0
- package/{component → dist/component}/filter/enum/string-filter-type.enum.d.ts +0 -0
- package/{component → dist/component}/filter/filter-host/filter-host.component.d.ts +0 -0
- package/{component → dist/component}/filter/filter-panel/filter-panel.component.d.ts +0 -0
- package/{component → dist/component}/filter/filter.module.d.ts +0 -0
- package/{component → dist/component}/filter/list-filter/list-filter.component.d.ts +0 -0
- package/{component → dist/component}/filter/numeric-filter/numeric-filter.component.d.ts +0 -0
- package/{component → dist/component}/filter/public-api.d.ts +0 -0
- package/{component → dist/component}/filter/string-filter/string-filter.component.d.ts +0 -0
- package/{component → dist/component}/icon/icon/icon.component.d.ts +0 -0
- package/{component → dist/component}/icon/icon-sprite.directive.d.ts +0 -0
- package/{component → dist/component}/icon/icon.module.d.ts +0 -0
- package/{component → dist/component}/icon/icon.service.d.ts +0 -0
- package/{component → dist/component}/icon/public-api.d.ts +0 -0
- package/{component → dist/component}/input/form-group-title/form-group-title.component.d.ts +0 -0
- package/{component → dist/component}/input/input/input.component.d.ts +0 -0
- package/{component → dist/component}/input/input.module.d.ts +0 -0
- package/{component → dist/component}/input/public-api.d.ts +0 -0
- package/{component → dist/component}/input/text-field/text-field.component.d.ts +0 -0
- package/{component → dist/component}/message/message/message.component.d.ts +0 -0
- package/{component → dist/component}/message/message-host/message-host.component.d.ts +0 -0
- package/{component → dist/component}/message/message.module.d.ts +0 -0
- package/{component → dist/component}/message/message.service.d.ts +0 -0
- package/{component → dist/component}/message/model/message.d.ts +0 -0
- package/{component → dist/component}/message/public-api.d.ts +0 -0
- package/{component → dist/component}/modal/dialog/dialog.component.d.ts +0 -0
- package/{component → dist/component}/modal/dialog.service.d.ts +0 -0
- package/{component → dist/component}/modal/modal-container/modal-container.component.d.ts +0 -0
- package/{component → dist/component}/modal/modal.module.d.ts +0 -0
- package/{component → dist/component}/modal/modal.service.d.ts +0 -0
- package/{component → dist/component}/modal/model/current-modal.d.ts +0 -0
- package/{component → dist/component}/modal/model/i-modal-config.d.ts +0 -0
- package/{component → dist/component}/modal/model/i-modal-result.d.ts +0 -0
- package/{component → dist/component}/modal/model/modal-close-reason.enum.d.ts +0 -0
- package/{component → dist/component}/modal/model/modal-instance.d.ts +0 -0
- package/{component → dist/component}/modal/public-api.d.ts +0 -0
- package/{component → dist/component}/pager/model/pager-state.d.ts +0 -0
- package/{component → dist/component}/pager/pager/pager.component.d.ts +0 -0
- package/{component → dist/component}/pager/pager.module.d.ts +0 -0
- package/{component → dist/component}/pager/public-api.d.ts +0 -0
- package/{component → dist/component}/pager/util/pager-util.d.ts +0 -0
- package/{component → dist/component}/panel/panel/panel.component.d.ts +0 -0
- package/{component → dist/component}/panel/panel.module.d.ts +0 -0
- package/{component → dist/component}/panel/public-api.d.ts +0 -0
- package/{component → dist/component}/progress-bar/progress-bar/progress-bar.component.d.ts +0 -0
- package/{component → dist/component}/progress-bar/progress-bar.module.d.ts +0 -0
- package/{component → dist/component}/progress-bar/public-api.d.ts +0 -0
- package/{component → dist/component}/property-grid/default/date-item-default/date-item-default.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/default/list-item-default/list-item-default.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/default/numeric-item-default/numeric-item-default.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/default/string-item-default/string-item-default.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/property-grid/property-grid.component.d.ts +0 -0
- package/{component → dist/component}/property-grid/property-grid.module.d.ts +0 -0
- package/{component → dist/component}/property-grid/public-api.d.ts +0 -0
- package/{component → dist/component}/public-api.d.ts +0 -0
- package/{component → dist/component}/radio/public-api.d.ts +0 -0
- package/{component → dist/component}/radio/radio/radio.component.d.ts +0 -0
- package/{component → dist/component}/radio/radio-button/radio-button.component.d.ts +0 -0
- package/{component → dist/component}/radio/radio.module.d.ts +0 -0
- package/{component → dist/component}/resize-panel/public-api.d.ts +0 -0
- package/{component → dist/component}/resize-panel/resize-panel/resize-panel.component.d.ts +0 -0
- package/{component → dist/component}/resize-panel/resize-panel.module.d.ts +0 -0
- package/{component → dist/component}/select/public-api.d.ts +0 -0
- package/{component → dist/component}/select/select/select.component.d.ts +0 -0
- package/{component → dist/component}/select/select-option.directive.d.ts +0 -0
- package/{component → dist/component}/select/select-value.directive.d.ts +0 -0
- package/{component → dist/component}/select/select.module.d.ts +0 -0
- package/{component → dist/component}/sidebar/public-api.d.ts +0 -0
- package/{component → dist/component}/sidebar/sidebar/sidebar.component.d.ts +0 -0
- package/{component → dist/component}/sidebar/sidebar-position.enum.d.ts +0 -0
- package/{component → dist/component}/sidebar/sidebar.module.d.ts +0 -0
- package/{component → dist/component}/switch/public-api.d.ts +0 -0
- package/{component → dist/component}/switch/switch/switch.component.d.ts +0 -0
- package/{component → dist/component}/switch/switch-button/switch-button.component.d.ts +0 -0
- package/{component → dist/component}/switch/switch.module.d.ts +0 -0
- package/{component → dist/component}/switch/switch.service.d.ts +0 -0
- package/{component → dist/component}/table/base/cell-component-base.d.ts +0 -0
- package/{component → dist/component}/table/base/detail-component-base.d.ts +0 -0
- package/{component → dist/component}/table/base/group-row-component-base.d.ts +0 -0
- package/{component → dist/component}/table/base/head-cell-component-base.d.ts +0 -0
- package/{component → dist/component}/table/cell/cell.component.d.ts +0 -0
- package/{component → dist/component}/table/cell-host/cell-host.component.d.ts +0 -0
- package/{component → dist/component}/table/contract/cell-components-map.d.ts +0 -0
- package/{component → dist/component}/table/contract/column-reorder-event.d.ts +0 -0
- package/{component → dist/component}/table/contract/column-resize-event.d.ts +0 -0
- package/{component → dist/component}/table/contract/i-cell-coordinates.d.ts +0 -0
- package/{component → dist/component}/table/contract/i-cell-event.d.ts +0 -0
- package/{component → dist/component}/table/contract/i-cell-value.d.ts +0 -0
- package/{component → dist/component}/table/contract/public-api.d.ts +0 -0
- package/{component → dist/component}/table/contract/sort-event.d.ts +0 -0
- package/{component → dist/component}/table/contract/table-column-store.d.ts +0 -0
- package/dist/component/table/contract/table-column.d.ts +142 -0
- package/{component → dist/component}/table/contract/table-context-menu-config.d.ts +0 -0
- package/{component → dist/component}/table/contract/table-row.d.ts +0 -0
- package/{component → dist/component}/table/default/boolean-cell/boolean-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/default/date-cell/date-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/default/date-time-cell/date-time-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/default/default-head-cell/default-head-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/default/group-row/group-row.component.d.ts +0 -0
- package/{component → dist/component}/table/default/list-cell/list-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/default/numeric-cell/numeric-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/default/string-cell/string-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/enum/aggregation-type.enum.d.ts +0 -0
- package/{component → dist/component}/table/enum/edit-event.enum.d.ts +0 -0
- package/{component → dist/component}/table/enum/edit-type.enum.d.ts +0 -0
- package/{component → dist/component}/table/enum/public-api.d.ts +0 -0
- package/{component → dist/component}/table/enum/select-type.enum.d.ts +0 -0
- package/{component → dist/component}/table/head-cell/head-cell.component.d.ts +0 -0
- package/dist/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +59 -0
- package/{component → dist/component}/table/head-cell-host/head-cell-host.component.d.ts +0 -0
- package/{component → dist/component}/table/public-api.d.ts +0 -0
- package/{component → dist/component}/table/selection-cell/selection-cell.component.d.ts +0 -0
- package/{component → dist/component}/table/selection-head-cell/selection-head-cell.component.d.ts +0 -0
- package/dist/component/table/service/table.service.d.ts +118 -0
- package/dist/component/table/table/table.component.d.ts +98 -0
- package/{component → dist/component}/table/table-body/table-body.component.d.ts +0 -0
- package/{component → dist/component}/table/table-head/table-head.component.d.ts +0 -0
- package/{component → dist/component}/table/table-head-group/table-head-group.component.d.ts +0 -0
- package/{component → dist/component}/table/table.module.d.ts +0 -0
- package/{component → dist/component}/table/util/public-api.d.ts +0 -0
- package/{component → dist/component}/table/util/state-util.d.ts +0 -0
- package/{component → dist/component}/table/util/table-util.d.ts +0 -0
- package/{component → dist/component}/tabs/public-api.d.ts +0 -0
- package/{component → dist/component}/tabs/tab/tab.component.d.ts +0 -0
- package/{component → dist/component}/tabs/tab-content.directive.d.ts +0 -0
- package/{component → dist/component}/tabs/tab-title.directive.d.ts +0 -0
- package/{component → dist/component}/tabs/tabs/tabs.component.d.ts +0 -0
- package/{component → dist/component}/tabs/tabs.module.d.ts +0 -0
- package/{component → dist/component}/theme-switch/public-api.d.ts +0 -0
- package/{component → dist/component}/theme-switch/theme-switch/theme-switch.component.d.ts +0 -0
- package/{component → dist/component}/theme-switch/theme-switch.module.d.ts +0 -0
- package/{component → dist/component}/theme-switch/theme-switch.service.d.ts +0 -0
- package/{component → dist/component}/toggle/public-api.d.ts +0 -0
- package/{component → dist/component}/toggle/toggle/toggle.component.d.ts +0 -0
- package/{component → dist/component}/toggle/toggle.module.d.ts +0 -0
- package/{component → dist/component}/toolbar/public-api.d.ts +0 -0
- package/{component → dist/component}/toolbar/toolbar/toolbar.component.d.ts +0 -0
- package/{component → dist/component}/toolbar/toolbar.module.d.ts +0 -0
- package/{component → dist/component}/tree/public-api.d.ts +0 -0
- package/{component → dist/component}/tree/tree/tree.component.d.ts +0 -0
- package/{component → dist/component}/tree/tree-item/tree-item.component.d.ts +0 -0
- package/{component → dist/component}/tree/tree-item-toggle/tree-item-toggle.component.d.ts +0 -0
- package/{component → dist/component}/tree/tree.module.d.ts +0 -0
- package/{component → dist/component}/tree/tree.service.d.ts +0 -0
- package/{directive → dist/directive}/click-outside/click-outside.directive.d.ts +0 -0
- package/{directive → dist/directive}/click-outside/click-outside.module.d.ts +0 -0
- package/{directive → dist/directive}/click-outside/public-api.d.ts +0 -0
- package/{directive → dist/directive}/context-menu/context-menu.directive.d.ts +0 -0
- package/{directive → dist/directive}/context-menu/context-menu.module.d.ts +0 -0
- package/{directive → dist/directive}/context-menu/public-api.d.ts +0 -0
- package/{directive → dist/directive}/disable-control/disable-control.directive.d.ts +0 -0
- package/{directive → dist/directive}/disable-control/disable-control.module.d.ts +0 -0
- package/{directive → dist/directive}/disable-control/public-api.d.ts +0 -0
- package/{directive → dist/directive}/drag-sort/drag-sort-container.directive.d.ts +0 -0
- package/{directive → dist/directive}/drag-sort/drag-sort-event.d.ts +0 -0
- package/{directive → dist/directive}/drag-sort/drag-sort-item.directive.d.ts +0 -0
- package/{directive → dist/directive}/drag-sort/drag-sort.module.d.ts +0 -0
- package/{directive → dist/directive}/drag-sort/public-api.d.ts +0 -0
- package/{directive → dist/directive}/dynamic-content-base.directive.d.ts +0 -0
- package/{directive → dist/directive}/highlight/highlight.directive.d.ts +0 -0
- package/{directive → dist/directive}/highlight/highlight.module.d.ts +0 -0
- package/{directive → dist/directive}/highlight/public-api.d.ts +0 -0
- package/{directive → dist/directive}/hint/hint.directive.d.ts +0 -0
- package/{directive → dist/directive}/hint/hint.module.d.ts +0 -0
- package/{directive → dist/directive}/hint/public-api.d.ts +0 -0
- package/{directive → dist/directive}/loader/loader.directive.d.ts +0 -0
- package/{directive → dist/directive}/loader/loader.module.d.ts +0 -0
- package/{directive → dist/directive}/loader/public-api.d.ts +0 -0
- package/{directive → dist/directive}/no-autofill/no-autofill.directive.d.ts +0 -0
- package/{directive → dist/directive}/no-autofill/no-autofill.module.d.ts +0 -0
- package/{directive → dist/directive}/no-autofill/public-api.d.ts +0 -0
- package/{directive → dist/directive}/only-number/only-number.directive.d.ts +0 -0
- package/{directive → dist/directive}/only-number/only-number.module.d.ts +0 -0
- package/{directive → dist/directive}/only-number/public-api.d.ts +0 -0
- package/{directive → dist/directive}/public-api.d.ts +0 -0
- package/{directive → dist/directive}/resize-drag/public-api.d.ts +0 -0
- package/{directive → dist/directive}/resize-drag/resize-drag.directive.d.ts +0 -0
- package/{directive → dist/directive}/resize-drag/resize-drag.module.d.ts +0 -0
- package/{directive → dist/directive}/teta-template/public-api.d.ts +0 -0
- package/{directive → dist/directive}/teta-template/teta-template.directive.d.ts +0 -0
- package/{directive → dist/directive}/teta-template/teta-template.module.d.ts +0 -0
- package/{directive → dist/directive}/tooltip/public-api.d.ts +0 -0
- package/{directive → dist/directive}/tooltip/tooltip.directive.d.ts +0 -0
- package/{directive → dist/directive}/tooltip/tooltip.module.d.ts +0 -0
- package/dist/esm2020/common/contract/auto-close-ignore-case.mjs +2 -0
- package/dist/esm2020/common/contract/constructor-type.mjs +2 -0
- package/dist/esm2020/common/contract/dynamic-data.mjs +10 -0
- package/dist/esm2020/common/contract/i-dictionary.mjs +2 -0
- package/dist/esm2020/common/contract/i-id-name.mjs +2 -0
- package/dist/esm2020/common/contract/i-rect.mjs +2 -0
- package/dist/esm2020/common/contract/i-tree-data.mjs +2 -0
- package/dist/esm2020/common/contract/public-api.mjs +9 -0
- package/dist/esm2020/common/contract/teta-content-ref.mjs +8 -0
- package/dist/esm2020/common/enum/align.enum.mjs +10 -0
- package/dist/esm2020/common/enum/public-api.mjs +4 -0
- package/dist/esm2020/common/enum/teta-size.enum.mjs +9 -0
- package/dist/esm2020/common/enum/vertical-align.enum.mjs +8 -0
- package/dist/esm2020/common/public-api.mjs +5 -0
- package/dist/esm2020/common/service/click.service.mjs +23 -0
- package/dist/esm2020/common/service/dynamic-component.service.mjs +93 -0
- package/dist/esm2020/common/service/overlay-container.service.mjs +41 -0
- package/dist/esm2020/common/service/public-api.mjs +4 -0
- package/dist/esm2020/common/util/array-util.mjs +119 -0
- package/dist/esm2020/common/util/dom-util.mjs +16 -0
- package/dist/esm2020/common/util/position-util.mjs +96 -0
- package/dist/esm2020/common/util/public-api.mjs +4 -0
- package/dist/esm2020/component/accordion/accordion/accordion.component.mjs +18 -0
- package/dist/esm2020/component/accordion/accordion-content.directive.mjs +16 -0
- package/dist/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +52 -0
- package/dist/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +43 -0
- package/dist/esm2020/component/accordion/accordion.module.mjs +29 -0
- package/dist/esm2020/component/accordion/public-api.mjs +6 -0
- package/dist/esm2020/component/button/button/button.component.mjs +40 -0
- package/dist/esm2020/component/button/button.module.mjs +24 -0
- package/dist/esm2020/component/button/public-api.mjs +3 -0
- package/dist/esm2020/component/chart/chart/chart.component.mjs +164 -0
- package/dist/esm2020/component/chart/chart.module.mjs +18 -0
- package/dist/esm2020/component/chart/core/axis-creator.mjs +82 -0
- package/dist/esm2020/component/chart/core/chart.mjs +1339 -0
- package/dist/esm2020/component/chart/core/public-api.mjs +3 -0
- package/dist/esm2020/component/chart/drawer/area-drawer.mjs +20 -0
- package/dist/esm2020/component/chart/drawer/bar-drawer.mjs +23 -0
- package/dist/esm2020/component/chart/drawer/contour-drawer.mjs +29 -0
- package/dist/esm2020/component/chart/drawer/default-drawer-mapping.mjs +17 -0
- package/dist/esm2020/component/chart/drawer/line-drawer.mjs +152 -0
- package/dist/esm2020/component/chart/drawer/pie-drawer.mjs +4 -0
- package/dist/esm2020/component/chart/drawer/public-api.mjs +7 -0
- package/dist/esm2020/component/chart/drawer/scatter-drawer.mjs +93 -0
- package/dist/esm2020/component/chart/drawer/spline-drawer.mjs +23 -0
- package/dist/esm2020/component/chart/legend-drawer/default-drawer-legend-mapping.mjs +7 -0
- package/dist/esm2020/component/chart/legend-drawer/gradient-drawer.mjs +45 -0
- package/dist/esm2020/component/chart/legend-drawer/swatch-drawer.mjs +62 -0
- package/dist/esm2020/component/chart/model/annotation.mjs +30 -0
- package/dist/esm2020/component/chart/model/axis-options.mjs +26 -0
- package/dist/esm2020/component/chart/model/chart-bounds.mjs +13 -0
- package/dist/esm2020/component/chart/model/chart-options.mjs +37 -0
- package/dist/esm2020/component/chart/model/enum/axis-type.mjs +6 -0
- package/dist/esm2020/component/chart/model/enum/dispatch-type.mjs +6 -0
- package/dist/esm2020/component/chart/model/enum/drag-point-type.mjs +7 -0
- package/dist/esm2020/component/chart/model/enum/legend-type.mjs +6 -0
- package/dist/esm2020/component/chart/model/enum/public-api.mjs +8 -0
- package/dist/esm2020/component/chart/model/enum/scale-type.mjs +9 -0
- package/dist/esm2020/component/chart/model/enum/scale.mjs +7 -0
- package/dist/esm2020/component/chart/model/enum/series-type.mjs +12 -0
- package/dist/esm2020/component/chart/model/enum/zoom-type.mjs +7 -0
- package/dist/esm2020/component/chart/model/i-drag-event.mjs +2 -0
- package/dist/esm2020/component/chart/model/i-drawer-legend.mjs +2 -0
- package/dist/esm2020/component/chart/model/i-drawer.mjs +2 -0
- package/dist/esm2020/component/chart/model/i-zoom-event.mjs +2 -0
- package/dist/esm2020/component/chart/model/plot-band.mjs +18 -0
- package/dist/esm2020/component/chart/model/plot-line.mjs +13 -0
- package/dist/esm2020/component/chart/model/point/bar-point.mjs +2 -0
- package/dist/esm2020/component/chart/model/point/base-point.mjs +2 -0
- package/dist/esm2020/component/chart/model/point/contour-point.mjs +2 -0
- package/dist/esm2020/component/chart/model/point/marker-options.mjs +2 -0
- package/dist/esm2020/component/chart/model/point/public-api.mjs +4 -0
- package/dist/esm2020/component/chart/model/point/scatter-point.mjs +2 -0
- package/dist/esm2020/component/chart/model/public-api.mjs +16 -0
- package/dist/esm2020/component/chart/model/series.mjs +27 -0
- package/dist/esm2020/component/chart/model/tooltip-options.mjs +19 -0
- package/dist/esm2020/component/chart/public-api.mjs +6 -0
- package/dist/esm2020/component/chart-3d/chart-3d.module.mjs +18 -0
- package/dist/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +232 -0
- package/dist/esm2020/component/chart-3d/model/base-3d-point.mjs +2 -0
- package/dist/esm2020/component/chart-3d/model/chart-3d-options.mjs +7 -0
- package/dist/esm2020/component/chart-3d/model/public-api.mjs +3 -0
- package/dist/esm2020/component/chart-3d/model/series-3d.mjs +7 -0
- package/dist/esm2020/component/chart-3d/public-api.mjs +4 -0
- package/dist/esm2020/component/checkbox/checkbox/checkbox.component.mjs +134 -0
- package/dist/esm2020/component/checkbox/checkbox.module.mjs +28 -0
- package/dist/esm2020/component/checkbox/public-api.mjs +3 -0
- package/dist/esm2020/component/date-picker/date-picker/date-picker.component.mjs +279 -0
- package/dist/esm2020/component/date-picker/date-picker.module.mjs +67 -0
- package/dist/esm2020/component/date-picker/day-select/day-select.component.mjs +166 -0
- package/dist/esm2020/component/date-picker/model/date-period.mjs +7 -0
- package/dist/esm2020/component/date-picker/model/date-picker-mode.enum.mjs +7 -0
- package/dist/esm2020/component/date-picker/model/day-model.mjs +13 -0
- package/dist/esm2020/component/date-picker/model/picker-locale-model.mjs +13 -0
- package/dist/esm2020/component/date-picker/month-picker/month-picker.component.mjs +250 -0
- package/dist/esm2020/component/date-picker/month-select/month-select.component.mjs +147 -0
- package/dist/esm2020/component/date-picker/public-api.mjs +6 -0
- package/dist/esm2020/component/date-picker/service/picker-locale.service.mjs +30 -0
- package/dist/esm2020/component/date-picker/service/picker-touch.service.mjs +34 -0
- package/dist/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +73 -0
- package/dist/esm2020/component/date-picker/util/date-picker-util.mjs +142 -0
- package/dist/esm2020/component/date-picker/year-select/year-select.component.mjs +189 -0
- package/dist/esm2020/component/delimiter/delimiter/delimiter.component.mjs +63 -0
- package/dist/esm2020/component/delimiter/delimiter.module.mjs +22 -0
- package/dist/esm2020/component/delimiter/public-api.mjs +3 -0
- package/dist/esm2020/component/dropdown/dropdown/dropdown.component.mjs +29 -0
- package/dist/esm2020/component/dropdown/dropdown-base.mjs +204 -0
- package/dist/esm2020/component/dropdown/dropdown-content.directive.mjs +17 -0
- package/dist/esm2020/component/dropdown/dropdown-head.directive.mjs +18 -0
- package/dist/esm2020/component/dropdown/dropdown.directive.mjs +37 -0
- package/dist/esm2020/component/dropdown/dropdown.module.mjs +41 -0
- package/dist/esm2020/component/dropdown/public-api.mjs +6 -0
- package/dist/esm2020/component/dynamic-component/dynamic-component.module.mjs +22 -0
- package/dist/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +59 -0
- package/dist/esm2020/component/dynamic-component/public-api.mjs +3 -0
- package/dist/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +65 -0
- package/dist/esm2020/component/expand-panel/expand-panel-content.directive.mjs +16 -0
- package/dist/esm2020/component/expand-panel/expand-panel-head.directive.mjs +16 -0
- package/dist/esm2020/component/expand-panel/expand-panel.module.mjs +52 -0
- package/dist/esm2020/component/expand-panel/public-api.mjs +5 -0
- package/dist/esm2020/component/file-upload/file-item/file-item.component.mjs +13 -0
- package/dist/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +77 -0
- package/dist/esm2020/component/file-upload/file-upload.module.mjs +21 -0
- package/dist/esm2020/component/file-upload/public-api.mjs +4 -0
- package/dist/esm2020/component/filter/base/filter-base.mjs +9 -0
- package/dist/esm2020/component/filter/base/filter-component-base.mjs +3 -0
- package/dist/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +53 -0
- package/dist/esm2020/component/filter/contarct/boolean-filter.mjs +10 -0
- package/dist/esm2020/component/filter/contarct/date-filter-value.mjs +9 -0
- package/dist/esm2020/component/filter/contarct/date-filter.mjs +11 -0
- package/dist/esm2020/component/filter/contarct/filter-component-map.mjs +17 -0
- package/dist/esm2020/component/filter/contarct/filter-item.mjs +33 -0
- package/dist/esm2020/component/filter/contarct/filter-state.mjs +145 -0
- package/dist/esm2020/component/filter/contarct/i-filter.mjs +2 -0
- package/dist/esm2020/component/filter/contarct/list-filter.mjs +12 -0
- package/dist/esm2020/component/filter/contarct/numeric-filter-value.mjs +10 -0
- package/dist/esm2020/component/filter/contarct/numeric-filter.mjs +11 -0
- package/dist/esm2020/component/filter/contarct/sort-param.mjs +13 -0
- package/dist/esm2020/component/filter/contarct/string-filter.mjs +12 -0
- package/dist/esm2020/component/filter/date-filter/date-filter.component.mjs +54 -0
- package/dist/esm2020/component/filter/enum/filter-type.enum.mjs +10 -0
- package/dist/esm2020/component/filter/enum/list-filter-type.enum.mjs +6 -0
- package/dist/esm2020/component/filter/enum/string-filter-type.enum.mjs +20 -0
- package/dist/esm2020/component/filter/filter-host/filter-host.component.mjs +73 -0
- package/dist/esm2020/component/filter/filter-panel/filter-panel.component.mjs +13 -0
- package/dist/esm2020/component/filter/filter.module.mjs +80 -0
- package/dist/esm2020/component/filter/list-filter/list-filter.component.mjs +86 -0
- package/dist/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +53 -0
- package/dist/esm2020/component/filter/public-api.mjs +25 -0
- package/dist/esm2020/component/filter/string-filter/string-filter.component.mjs +54 -0
- package/dist/esm2020/component/icon/icon/icon.component.mjs +37 -0
- package/dist/esm2020/component/icon/icon-sprite.directive.mjs +32 -0
- package/dist/esm2020/component/icon/icon.module.mjs +35 -0
- package/dist/esm2020/component/icon/icon.service.mjs +59 -0
- package/dist/esm2020/component/icon/public-api.mjs +5 -0
- package/dist/esm2020/component/input/form-group-title/form-group-title.component.mjs +18 -0
- package/dist/esm2020/component/input/input/input.component.mjs +31 -0
- package/dist/esm2020/component/input/input.module.mjs +23 -0
- package/dist/esm2020/component/input/public-api.mjs +5 -0
- package/dist/esm2020/component/input/text-field/text-field.component.mjs +94 -0
- package/dist/esm2020/component/message/message/message.component.mjs +74 -0
- package/dist/esm2020/component/message/message-host/message-host.component.mjs +88 -0
- package/dist/esm2020/component/message/message.module.mjs +31 -0
- package/dist/esm2020/component/message/message.service.mjs +35 -0
- package/dist/esm2020/component/message/model/message.mjs +21 -0
- package/dist/esm2020/component/message/public-api.mjs +6 -0
- package/dist/esm2020/component/modal/dialog/dialog.component.mjs +44 -0
- package/dist/esm2020/component/modal/dialog.service.mjs +39 -0
- package/dist/esm2020/component/modal/modal-container/modal-container.component.mjs +84 -0
- package/dist/esm2020/component/modal/modal.module.mjs +52 -0
- package/dist/esm2020/component/modal/modal.service.mjs +121 -0
- package/dist/esm2020/component/modal/model/current-modal.mjs +3 -0
- package/dist/esm2020/component/modal/model/i-modal-config.mjs +2 -0
- package/dist/esm2020/component/modal/model/i-modal-result.mjs +2 -0
- package/dist/esm2020/component/modal/model/modal-close-reason.enum.mjs +8 -0
- package/dist/esm2020/component/modal/model/modal-instance.mjs +32 -0
- package/dist/esm2020/component/modal/public-api.mjs +11 -0
- package/dist/esm2020/component/pager/model/pager-state.mjs +50 -0
- package/dist/esm2020/component/pager/pager/pager.component.mjs +13 -0
- package/dist/esm2020/component/pager/pager.module.mjs +26 -0
- package/dist/esm2020/component/pager/public-api.mjs +5 -0
- package/dist/esm2020/component/pager/util/pager-util.mjs +6 -0
- package/dist/esm2020/component/panel/panel/panel.component.mjs +51 -0
- package/dist/esm2020/component/panel/panel.module.mjs +22 -0
- package/dist/esm2020/component/panel/public-api.mjs +3 -0
- package/dist/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +131 -0
- package/dist/esm2020/component/progress-bar/progress-bar.module.mjs +22 -0
- package/dist/esm2020/component/progress-bar/public-api.mjs +3 -0
- package/dist/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +13 -0
- package/dist/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +13 -0
- package/dist/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +13 -0
- package/dist/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +13 -0
- package/dist/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +34 -0
- package/dist/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +103 -0
- package/dist/esm2020/component/property-grid/property-grid/property-grid.component.mjs +59 -0
- package/dist/esm2020/component/property-grid/property-grid.module.mjs +94 -0
- package/dist/esm2020/component/property-grid/public-api.mjs +3 -0
- package/dist/esm2020/component/public-api.mjs +61 -0
- package/dist/esm2020/component/radio/public-api.mjs +4 -0
- package/dist/esm2020/component/radio/radio/radio.component.mjs +245 -0
- package/dist/esm2020/component/radio/radio-button/radio-button.component.mjs +63 -0
- package/dist/esm2020/component/radio/radio.module.mjs +20 -0
- package/dist/esm2020/component/resize-panel/public-api.mjs +3 -0
- package/dist/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +162 -0
- package/dist/esm2020/component/resize-panel/resize-panel.module.mjs +20 -0
- package/dist/esm2020/component/select/public-api.mjs +5 -0
- package/dist/esm2020/component/select/select/select.component.mjs +234 -0
- package/dist/esm2020/component/select/select-option.directive.mjs +16 -0
- package/dist/esm2020/component/select/select-value.directive.mjs +16 -0
- package/dist/esm2020/component/select/select.module.mjs +48 -0
- package/dist/esm2020/component/sidebar/public-api.mjs +4 -0
- package/dist/esm2020/component/sidebar/sidebar/sidebar.component.mjs +54 -0
- package/dist/esm2020/component/sidebar/sidebar-position.enum.mjs +8 -0
- package/dist/esm2020/component/sidebar/sidebar.module.mjs +30 -0
- package/dist/esm2020/component/switch/public-api.mjs +4 -0
- package/dist/esm2020/component/switch/switch/switch.component.mjs +52 -0
- package/dist/esm2020/component/switch/switch-button/switch-button.component.mjs +47 -0
- package/dist/esm2020/component/switch/switch.module.mjs +23 -0
- package/dist/esm2020/component/switch/switch.service.mjs +21 -0
- package/dist/esm2020/component/table/base/cell-component-base.mjs +103 -0
- package/dist/esm2020/component/table/base/detail-component-base.mjs +3 -0
- package/dist/esm2020/component/table/base/group-row-component-base.mjs +3 -0
- package/dist/esm2020/component/table/base/head-cell-component-base.mjs +17 -0
- package/dist/esm2020/component/table/cell/cell.component.mjs +33 -0
- package/dist/esm2020/component/table/cell-host/cell-host.component.mjs +50 -0
- package/dist/esm2020/component/table/contract/cell-components-map.mjs +17 -0
- package/dist/esm2020/component/table/contract/column-reorder-event.mjs +7 -0
- package/dist/esm2020/component/table/contract/column-resize-event.mjs +7 -0
- package/dist/esm2020/component/table/contract/i-cell-coordinates.mjs +2 -0
- package/dist/esm2020/component/table/contract/i-cell-event.mjs +2 -0
- package/dist/esm2020/component/table/contract/i-cell-value.mjs +2 -0
- package/dist/esm2020/component/table/contract/public-api.mjs +12 -0
- package/dist/esm2020/component/table/contract/sort-event.mjs +7 -0
- package/dist/esm2020/component/table/contract/table-column-store.mjs +12 -0
- package/dist/esm2020/component/table/contract/table-column.mjs +43 -0
- package/dist/esm2020/component/table/contract/table-context-menu-config.mjs +17 -0
- package/dist/esm2020/component/table/contract/table-row.mjs +40 -0
- package/dist/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +45 -0
- package/dist/esm2020/component/table/default/date-cell/date-cell.component.mjs +47 -0
- package/dist/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +46 -0
- package/dist/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +28 -0
- package/dist/esm2020/component/table/default/group-row/group-row.component.mjs +20 -0
- package/dist/esm2020/component/table/default/list-cell/list-cell.component.mjs +66 -0
- package/dist/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +46 -0
- package/dist/esm2020/component/table/default/string-cell/string-cell.component.mjs +44 -0
- package/dist/esm2020/component/table/enum/aggregation-type.enum.mjs +9 -0
- package/dist/esm2020/component/table/enum/edit-event.enum.mjs +7 -0
- package/dist/esm2020/component/table/enum/edit-type.enum.mjs +6 -0
- package/dist/esm2020/component/table/enum/public-api.mjs +5 -0
- package/dist/esm2020/component/table/enum/select-type.enum.mjs +7 -0
- package/dist/esm2020/component/table/head-cell/head-cell.component.mjs +136 -0
- package/dist/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +198 -0
- package/dist/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +36 -0
- package/dist/esm2020/component/table/public-api.mjs +43 -0
- package/dist/esm2020/component/table/selection-cell/selection-cell.component.mjs +46 -0
- package/dist/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +45 -0
- package/dist/esm2020/component/table/service/table.service.mjs +434 -0
- package/dist/esm2020/component/table/table/table.component.mjs +422 -0
- package/dist/esm2020/component/table/table-body/table-body.component.mjs +240 -0
- package/dist/esm2020/component/table/table-head/table-head.component.mjs +98 -0
- package/dist/esm2020/component/table/table-head-group/table-head-group.component.mjs +59 -0
- package/dist/esm2020/component/table/table.module.mjs +176 -0
- package/dist/esm2020/component/table/util/public-api.mjs +3 -0
- package/dist/esm2020/component/table/util/state-util.mjs +139 -0
- package/dist/esm2020/component/table/util/table-util.mjs +131 -0
- package/dist/esm2020/component/tabs/public-api.mjs +12 -0
- package/dist/esm2020/component/tabs/tab/tab.component.mjs +42 -0
- package/dist/esm2020/component/tabs/tab-content.directive.mjs +16 -0
- package/dist/esm2020/component/tabs/tab-title.directive.mjs +16 -0
- package/dist/esm2020/component/tabs/tabs/tabs.component.mjs +70 -0
- package/dist/esm2020/component/tabs/tabs.module.mjs +41 -0
- package/dist/esm2020/component/theme-switch/public-api.mjs +4 -0
- package/dist/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +28 -0
- package/dist/esm2020/component/theme-switch/theme-switch.module.mjs +30 -0
- package/dist/esm2020/component/theme-switch/theme-switch.service.mjs +34 -0
- package/dist/esm2020/component/toggle/public-api.mjs +3 -0
- package/dist/esm2020/component/toggle/toggle/toggle.component.mjs +79 -0
- package/dist/esm2020/component/toggle/toggle.module.mjs +19 -0
- package/dist/esm2020/component/toolbar/public-api.mjs +6 -0
- package/dist/esm2020/component/toolbar/toolbar/toolbar.component.mjs +26 -0
- package/dist/esm2020/component/toolbar/toolbar.module.mjs +22 -0
- package/dist/esm2020/component/tree/public-api.mjs +5 -0
- package/dist/esm2020/component/tree/tree/tree.component.mjs +76 -0
- package/dist/esm2020/component/tree/tree-item/tree-item.component.mjs +80 -0
- package/dist/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +28 -0
- package/dist/esm2020/component/tree/tree.module.mjs +22 -0
- package/dist/esm2020/component/tree/tree.service.mjs +35 -0
- package/dist/esm2020/directive/click-outside/click-outside.directive.mjs +60 -0
- package/dist/esm2020/directive/click-outside/click-outside.module.mjs +22 -0
- package/dist/esm2020/directive/click-outside/public-api.mjs +3 -0
- package/dist/esm2020/directive/context-menu/context-menu.directive.mjs +94 -0
- package/dist/esm2020/directive/context-menu/context-menu.module.mjs +26 -0
- package/dist/esm2020/directive/context-menu/public-api.mjs +3 -0
- package/dist/esm2020/directive/disable-control/disable-control.directive.mjs +29 -0
- package/dist/esm2020/directive/disable-control/disable-control.module.mjs +24 -0
- package/dist/esm2020/directive/disable-control/public-api.mjs +3 -0
- package/dist/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +64 -0
- package/dist/esm2020/directive/drag-sort/drag-sort-event.mjs +2 -0
- package/dist/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +115 -0
- package/dist/esm2020/directive/drag-sort/drag-sort.module.mjs +19 -0
- package/dist/esm2020/directive/drag-sort/public-api.mjs +5 -0
- package/dist/esm2020/directive/dynamic-content-base.directive.mjs +81 -0
- package/dist/esm2020/directive/highlight/highlight.directive.mjs +72 -0
- package/dist/esm2020/directive/highlight/highlight.module.mjs +22 -0
- package/dist/esm2020/directive/highlight/public-api.mjs +3 -0
- package/dist/esm2020/directive/hint/hint.directive.mjs +97 -0
- package/dist/esm2020/directive/hint/hint.module.mjs +26 -0
- package/dist/esm2020/directive/hint/public-api.mjs +3 -0
- package/dist/esm2020/directive/loader/loader.directive.mjs +63 -0
- package/dist/esm2020/directive/loader/loader.module.mjs +22 -0
- package/dist/esm2020/directive/loader/public-api.mjs +3 -0
- package/dist/esm2020/directive/no-autofill/no-autofill.directive.mjs +30 -0
- package/dist/esm2020/directive/no-autofill/no-autofill.module.mjs +18 -0
- package/dist/esm2020/directive/no-autofill/public-api.mjs +3 -0
- package/dist/esm2020/directive/only-number/only-number.directive.mjs +175 -0
- package/dist/esm2020/directive/only-number/only-number.module.mjs +18 -0
- package/dist/esm2020/directive/only-number/public-api.mjs +3 -0
- package/dist/esm2020/directive/public-api.mjs +15 -0
- package/dist/esm2020/directive/resize-drag/public-api.mjs +3 -0
- package/dist/esm2020/directive/resize-drag/resize-drag.directive.mjs +71 -0
- package/dist/esm2020/directive/resize-drag/resize-drag.module.mjs +18 -0
- package/dist/esm2020/directive/teta-template/public-api.mjs +3 -0
- package/dist/esm2020/directive/teta-template/teta-template.directive.mjs +22 -0
- package/dist/esm2020/directive/teta-template/teta-template.module.mjs +26 -0
- package/dist/esm2020/directive/tooltip/public-api.mjs +3 -0
- package/dist/esm2020/directive/tooltip/tooltip.directive.mjs +76 -0
- package/dist/esm2020/directive/tooltip/tooltip.module.mjs +20 -0
- package/dist/esm2020/pipe/number-pipe/number-pipe.module.mjs +24 -0
- package/dist/esm2020/pipe/number-pipe/number.pipe.mjs +24 -0
- package/dist/esm2020/pipe/number-pipe/public-api.mjs +3 -0
- package/dist/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +18 -0
- package/dist/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +21 -0
- package/dist/esm2020/pipe/public-api.mjs +2 -0
- package/dist/esm2020/pipe/util/number-helper.mjs +25 -0
- package/dist/esm2020/public-api.mjs +21 -0
- package/dist/esm2020/tetacom-ng-components.mjs +5 -0
- package/dist/esm2020/util/date-util.mjs +195 -0
- package/dist/esm2020/util/forms-util.mjs +61 -0
- package/dist/esm2020/util/public-api.mjs +4 -0
- package/dist/esm2020/util/string-util.mjs +7 -0
- package/dist/fesm2015/tetacom-ng-components.mjs +13342 -0
- package/dist/fesm2015/tetacom-ng-components.mjs.map +1 -0
- package/dist/fesm2020/tetacom-ng-components.mjs +13234 -0
- package/dist/fesm2020/tetacom-ng-components.mjs.map +1 -0
- package/dist/package.json +35 -0
- package/{pipe → dist/pipe}/number-pipe/number-pipe.module.d.ts +0 -0
- package/{pipe → dist/pipe}/number-pipe/number.pipe.d.ts +0 -0
- package/{pipe → dist/pipe}/number-pipe/public-api.d.ts +0 -0
- package/{pipe → dist/pipe}/prepend-zero/prepend-zero.module.d.ts +0 -0
- package/{pipe → dist/pipe}/prepend-zero/prepend-zero.pipe.d.ts +0 -0
- package/{pipe → dist/pipe}/public-api.d.ts +0 -0
- package/{pipe → dist/pipe}/util/number-helper.d.ts +0 -0
- package/{public-api.d.ts → dist/public-api.d.ts} +0 -0
- package/dist/style/accordion.scss +47 -0
- package/dist/style/assembly-library.scss +36 -0
- package/dist/style/assembly-presets.scss +5 -0
- package/dist/style/assembly.scss +4 -0
- package/dist/style/border.scss +24 -0
- package/dist/style/button.scss +43 -0
- package/dist/style/checkbox.scss +31 -0
- package/dist/style/chips.scss +23 -0
- package/dist/style/color.scss +42 -0
- package/dist/style/common.scss +1 -0
- package/dist/style/datepicker.scss +106 -0
- package/dist/style/drag.scss +40 -0
- package/dist/style/dropdown.scss +30 -0
- package/dist/style/font.scss +7 -0
- package/dist/style/hint.scss +13 -0
- package/dist/style/icon.scss +12 -0
- package/dist/style/input.scss +162 -0
- package/dist/style/layout.scss +109 -0
- package/dist/style/library.scss +208 -0
- package/dist/style/list.scss +70 -0
- package/dist/style/loader.scss +40 -0
- package/dist/style/message.scss +51 -0
- package/dist/style/modal.scss +29 -0
- package/dist/style/navigation.scss +26 -0
- package/dist/style/presets/color-presets.scss +151 -0
- package/dist/style/presets/font-presets.scss +132 -0
- package/dist/style/presets/layout-presets.scss +1 -0
- package/dist/style/presets/shadow-presets.scss +16 -0
- package/dist/style/presets/spacing-presets.scss +2 -0
- package/dist/style/progress.scss +28 -0
- package/dist/style/radio.scss +56 -0
- package/dist/style/reset.scss +35 -0
- package/dist/style/resize-panel.scss +58 -0
- package/dist/style/scroll.scss +60 -0
- package/dist/style/select.scss +108 -0
- package/dist/style/shadow.scss +23 -0
- package/dist/style/sidebar.scss +40 -0
- package/dist/style/sizing.scss +12 -0
- package/dist/style/spacing.scss +45 -0
- package/dist/style/switch.scss +36 -0
- package/dist/style/table.scss +226 -0
- package/dist/style/tabs.scss +64 -0
- package/dist/style/toggle.scss +70 -0
- package/dist/style/toolbar.scss +23 -0
- package/dist/style/tooltip.scss +60 -0
- package/dist/style/tree.scss +60 -0
- package/dist/style/util/button-util.scss +58 -0
- package/dist/style/util/color-util.scss +3 -0
- package/dist/style/util/font-util.scss +11 -0
- package/dist/style/util/scroll-util.scss +4 -0
- package/dist/style/util/shadow-util.scss +3 -0
- package/{tetacom-ng-components.d.ts → dist/tetacom-ng-components.d.ts} +0 -0
- package/{util → dist/util}/date-util.d.ts +0 -0
- package/{util → dist/util}/forms-util.d.ts +0 -0
- package/{util → dist/util}/public-api.d.ts +0 -0
- package/{util → dist/util}/string-util.d.ts +0 -0
- package/karma.conf.js +44 -0
- package/ng-package.json +11 -0
- package/package.json +2 -22
- package/src/Introduction.stories.mdx +178 -0
- package/src/common/contract/auto-close-ignore-case.ts +1 -0
- package/src/common/contract/constructor-type.ts +1 -0
- package/src/common/contract/dynamic-data.ts +11 -0
- package/src/common/contract/i-dictionary.ts +3 -0
- package/src/common/contract/i-id-name.ts +6 -0
- package/src/common/contract/i-rect.ts +8 -0
- package/src/common/contract/i-tree-data.ts +4 -0
- package/src/common/contract/public-api.ts +8 -0
- package/src/common/contract/teta-content-ref.ts +6 -0
- package/src/common/enum/align.enum.ts +8 -0
- package/src/common/enum/public-api.ts +3 -0
- package/src/common/enum/teta-size.enum.ts +7 -0
- package/src/common/enum/vertical-align.enum.ts +6 -0
- package/src/common/public-api.ts +4 -0
- package/src/common/service/click.service.spec.ts +16 -0
- package/src/common/service/click.service.ts +16 -0
- package/src/common/service/dynamic-component.service.spec.ts +16 -0
- package/src/common/service/dynamic-component.service.ts +134 -0
- package/src/common/service/overlay-container.service.spec.ts +16 -0
- package/src/common/service/overlay-container.service.ts +37 -0
- package/src/common/service/public-api.ts +3 -0
- package/src/common/util/array-util.ts +140 -0
- package/src/common/util/dom-util.ts +16 -0
- package/src/common/util/position-util.ts +112 -0
- package/src/common/util/public-api.ts +3 -0
- package/src/component/accordion/Accordion.stories.ts +49 -0
- package/src/component/accordion/accordion/accordion.component.html +1 -0
- package/src/component/accordion/accordion/accordion.component.scss +0 -0
- package/src/component/accordion/accordion/accordion.component.spec.ts +25 -0
- package/src/component/accordion/accordion/accordion.component.ts +20 -0
- package/src/component/accordion/accordion-content.directive.spec.ts +8 -0
- package/src/component/accordion/accordion-content.directive.ts +9 -0
- package/src/component/accordion/accordion-head/accordion-head.component.html +6 -0
- package/src/component/accordion/accordion-head/accordion-head.component.scss +0 -0
- package/src/component/accordion/accordion-head/accordion-head.component.spec.ts +25 -0
- package/src/component/accordion/accordion-head/accordion-head.component.ts +54 -0
- package/src/component/accordion/accordion-item/accordion-item.component.html +4 -0
- package/src/component/accordion/accordion-item/accordion-item.component.scss +0 -0
- package/src/component/accordion/accordion-item/accordion-item.component.spec.ts +25 -0
- package/src/component/accordion/accordion-item/accordion-item.component.ts +48 -0
- package/src/component/accordion/accordion.module.ts +18 -0
- package/src/component/accordion/public-api.ts +5 -0
- package/src/component/button/Button.stories.ts +61 -0
- package/src/component/button/button/button.component.html +1 -0
- package/src/component/button/button/button.component.scss +0 -0
- package/src/component/button/button/button.component.spec.ts +25 -0
- package/src/component/button/button/button.component.ts +42 -0
- package/src/component/button/button.module.ts +16 -0
- package/src/component/button/public-api.ts +2 -0
- package/src/component/chart/Chart.stories.ts +97 -0
- package/src/component/chart/chart/chart.component.html +9 -0
- package/src/component/chart/chart/chart.component.scss +70 -0
- package/src/component/chart/chart/chart.component.spec.ts +25 -0
- package/src/component/chart/chart/chart.component.ts +241 -0
- package/src/component/chart/chart-data.ts +653 -0
- package/src/component/chart/chart.module.ts +10 -0
- package/src/component/chart/color-list.ts +22 -0
- package/src/component/chart/core/axis-creator.ts +130 -0
- package/src/component/chart/core/chart.ts +1831 -0
- package/src/component/chart/core/public-api.ts +2 -0
- package/src/component/chart/drawer/area-drawer.ts +30 -0
- package/src/component/chart/drawer/bar-drawer.ts +36 -0
- package/src/component/chart/drawer/contour-drawer.ts +47 -0
- package/src/component/chart/drawer/default-drawer-mapping.ts +19 -0
- package/src/component/chart/drawer/line-drawer.ts +203 -0
- package/src/component/chart/drawer/pie-drawer.ts +13 -0
- package/src/component/chart/drawer/public-api.ts +6 -0
- package/src/component/chart/drawer/scatter-drawer.ts +138 -0
- package/src/component/chart/drawer/spline-drawer.ts +33 -0
- package/src/component/chart/legend-drawer/default-drawer-legend-mapping.ts +8 -0
- package/src/component/chart/legend-drawer/gradient-drawer.ts +65 -0
- package/src/component/chart/legend-drawer/swatch-drawer.ts +81 -0
- package/src/component/chart/model/annotation.ts +96 -0
- package/src/component/chart/model/axis-options.ts +65 -0
- package/src/component/chart/model/chart-bounds.ts +18 -0
- package/src/component/chart/model/chart-options.ts +79 -0
- package/src/component/chart/model/enum/axis-type.ts +4 -0
- package/src/component/chart/model/enum/dispatch-type.ts +4 -0
- package/src/component/chart/model/enum/drag-point-type.ts +5 -0
- package/src/component/chart/model/enum/legend-type.ts +4 -0
- package/src/component/chart/model/enum/public-api.ts +7 -0
- package/src/component/chart/model/enum/scale-type.ts +7 -0
- package/src/component/chart/model/enum/scale.ts +5 -0
- package/src/component/chart/model/enum/series-type.ts +10 -0
- package/src/component/chart/model/enum/zoom-type.ts +5 -0
- package/src/component/chart/model/i-drag-event.ts +5 -0
- package/src/component/chart/model/i-drawer-legend.ts +14 -0
- package/src/component/chart/model/i-drawer.ts +19 -0
- package/src/component/chart/model/i-zoom-event.ts +9 -0
- package/src/component/chart/model/plot-band.ts +43 -0
- package/src/component/chart/model/plot-line.ts +30 -0
- package/src/component/chart/model/point/bar-point.ts +7 -0
- package/src/component/chart/model/point/base-point.ts +10 -0
- package/src/component/chart/model/point/contour-point.ts +5 -0
- package/src/component/chart/model/point/marker-options.ts +12 -0
- package/src/component/chart/model/point/public-api.ts +3 -0
- package/src/component/chart/model/point/scatter-point.ts +6 -0
- package/src/component/chart/model/public-api.ts +16 -0
- package/src/component/chart/model/series.ts +85 -0
- package/src/component/chart/model/tooltip-options.ts +35 -0
- package/src/component/chart/public-api.ts +6 -0
- package/src/component/chart-3d/chart-3d.module.ts +10 -0
- package/src/component/chart-3d/chart3d/chart3d.component.html +1 -0
- package/src/component/chart-3d/chart3d/chart3d.component.scss +5 -0
- package/src/component/chart-3d/chart3d/chart3d.component.spec.ts +25 -0
- package/src/component/chart-3d/chart3d/chart3d.component.ts +336 -0
- package/src/component/chart-3d/model/base-3d-point.ts +5 -0
- package/src/component/chart-3d/model/chart-3d-options.ts +15 -0
- package/src/component/chart-3d/model/public-api.ts +2 -0
- package/src/component/chart-3d/model/series-3d.ts +11 -0
- package/src/component/chart-3d/public-api.ts +3 -0
- package/src/component/checkbox/Checkbox.mdx +18 -0
- package/src/component/checkbox/Checkbox.stories.ts +92 -0
- package/src/component/checkbox/checkbox/checkbox.component.html +6 -0
- package/src/component/checkbox/checkbox/checkbox.component.scss +0 -0
- package/src/component/checkbox/checkbox/checkbox.component.spec.ts +25 -0
- package/src/component/checkbox/checkbox/checkbox.component.ts +149 -0
- package/src/component/checkbox/checkbox.module.ts +17 -0
- package/src/component/checkbox/public-api.ts +2 -0
- package/src/component/date-picker/DatePicker.stories.ts +51 -0
- package/src/component/date-picker/MonthPicker.stories.ts +32 -0
- package/src/component/date-picker/date-picker/date-picker.component.html +91 -0
- package/src/component/date-picker/date-picker/date-picker.component.scss +0 -0
- package/src/component/date-picker/date-picker/date-picker.component.spec.ts +25 -0
- package/src/component/date-picker/date-picker/date-picker.component.ts +305 -0
- package/src/component/date-picker/date-picker.module.ts +38 -0
- package/src/component/date-picker/day-select/day-select.component.html +23 -0
- package/src/component/date-picker/day-select/day-select.component.scss +0 -0
- package/src/component/date-picker/day-select/day-select.component.spec.ts +25 -0
- package/src/component/date-picker/day-select/day-select.component.ts +216 -0
- package/src/component/date-picker/model/date-period.ts +9 -0
- package/src/component/date-picker/model/date-picker-mode.enum.ts +5 -0
- package/src/component/date-picker/model/day-model.ts +26 -0
- package/src/component/date-picker/model/picker-locale-model.ts +26 -0
- package/src/component/date-picker/month-picker/month-picker.component.html +64 -0
- package/src/component/date-picker/month-picker/month-picker.component.scss +0 -0
- package/src/component/date-picker/month-picker/month-picker.component.spec.ts +25 -0
- package/src/component/date-picker/month-picker/month-picker.component.ts +278 -0
- package/src/component/date-picker/month-select/month-select.component.html +15 -0
- package/src/component/date-picker/month-select/month-select.component.scss +3 -0
- package/src/component/date-picker/month-select/month-select.component.spec.ts +25 -0
- package/src/component/date-picker/month-select/month-select.component.ts +193 -0
- package/src/component/date-picker/public-api.ts +5 -0
- package/src/component/date-picker/service/picker-locale.service.spec.ts +14 -0
- package/src/component/date-picker/service/picker-locale.service.ts +27 -0
- package/src/component/date-picker/service/picker-touch.service.spec.ts +16 -0
- package/src/component/date-picker/service/picker-touch.service.ts +38 -0
- package/src/component/date-picker/time-part-control/time-part-control.component.html +9 -0
- package/src/component/date-picker/time-part-control/time-part-control.component.scss +4 -0
- package/src/component/date-picker/time-part-control/time-part-control.component.spec.ts +25 -0
- package/src/component/date-picker/time-part-control/time-part-control.component.ts +86 -0
- package/src/component/date-picker/util/date-picker-util.spec.ts +7 -0
- package/src/component/date-picker/util/date-picker-util.ts +227 -0
- package/src/component/date-picker/year-select/year-select.component.html +11 -0
- package/src/component/date-picker/year-select/year-select.component.scss +3 -0
- package/src/component/date-picker/year-select/year-select.component.spec.ts +25 -0
- package/src/component/date-picker/year-select/year-select.component.ts +229 -0
- package/src/component/delimiter/Delimiter.stories.ts +54 -0
- package/src/component/delimiter/delimiter/delimiter.component.html +0 -0
- package/src/component/delimiter/delimiter/delimiter.component.scss +3 -0
- package/src/component/delimiter/delimiter/delimiter.component.spec.ts +25 -0
- package/src/component/delimiter/delimiter/delimiter.component.ts +56 -0
- package/src/component/delimiter/delimiter.module.ts +13 -0
- package/src/component/delimiter/public-api.ts +2 -0
- package/src/component/dropdown/Dropdown.stories.ts +167 -0
- package/src/component/dropdown/dropdown/dropdown.component.html +1 -0
- package/src/component/dropdown/dropdown/dropdown.component.scss +0 -0
- package/src/component/dropdown/dropdown/dropdown.component.spec.ts +25 -0
- package/src/component/dropdown/dropdown/dropdown.component.ts +41 -0
- package/src/component/dropdown/dropdown-base.spec.ts +7 -0
- package/src/component/dropdown/dropdown-base.ts +225 -0
- package/src/component/dropdown/dropdown-content.directive.spec.ts +8 -0
- package/src/component/dropdown/dropdown-content.directive.ts +12 -0
- package/src/component/dropdown/dropdown-head.directive.spec.ts +8 -0
- package/src/component/dropdown/dropdown-head.directive.ts +9 -0
- package/src/component/dropdown/dropdown.directive.spec.ts +8 -0
- package/src/component/dropdown/dropdown.directive.ts +39 -0
- package/src/component/dropdown/dropdown.module.ts +26 -0
- package/src/component/dropdown/public-api.ts +5 -0
- package/src/component/dynamic-component/dynamic-component.module.ts +13 -0
- package/src/component/dynamic-component/popup-content/popup-content.component.html +1 -0
- package/src/component/dynamic-component/popup-content/popup-content.component.scss +0 -0
- package/src/component/dynamic-component/popup-content/popup-content.component.spec.ts +25 -0
- package/src/component/dynamic-component/popup-content/popup-content.component.ts +56 -0
- package/src/component/dynamic-component/public-api.ts +2 -0
- package/src/component/expand-panel/ExpandPanel.stories.ts +22 -0
- package/src/component/expand-panel/expand-panel/expand-panel.component.html +36 -0
- package/src/component/expand-panel/expand-panel/expand-panel.component.scss +9 -0
- package/src/component/expand-panel/expand-panel/expand-panel.component.spec.ts +25 -0
- package/src/component/expand-panel/expand-panel/expand-panel.component.ts +65 -0
- package/src/component/expand-panel/expand-panel-content.directive.spec.ts +8 -0
- package/src/component/expand-panel/expand-panel-content.directive.ts +8 -0
- package/src/component/expand-panel/expand-panel-head.directive.spec.ts +8 -0
- package/src/component/expand-panel/expand-panel-head.directive.ts +8 -0
- package/src/component/expand-panel/expand-panel.module.ts +30 -0
- package/src/component/expand-panel/public-api.ts +4 -0
- package/src/component/file-upload/File.stories.ts +36 -0
- package/src/component/file-upload/file-item/file-item.component.html +1 -0
- package/src/component/file-upload/file-item/file-item.component.scss +0 -0
- package/src/component/file-upload/file-item/file-item.component.spec.ts +25 -0
- package/src/component/file-upload/file-item/file-item.component.ts +12 -0
- package/src/component/file-upload/file-upload-area/file-upload-area.component.html +16 -0
- package/src/component/file-upload/file-upload-area/file-upload-area.component.scss +3 -0
- package/src/component/file-upload/file-upload-area/file-upload-area.component.spec.ts +25 -0
- package/src/component/file-upload/file-upload-area/file-upload-area.component.ts +75 -0
- package/src/component/file-upload/file-upload.module.ts +13 -0
- package/src/component/file-upload/public-api.ts +3 -0
- package/src/component/filter/base/filter-base.spec.ts +7 -0
- package/src/component/filter/base/filter-base.ts +17 -0
- package/src/component/filter/base/filter-component-base.spec.ts +7 -0
- package/src/component/filter/base/filter-component-base.ts +13 -0
- package/src/component/filter/boolean-filter/boolean-filter.component.html +7 -0
- package/src/component/filter/boolean-filter/boolean-filter.component.scss +0 -0
- package/src/component/filter/boolean-filter/boolean-filter.component.spec.ts +25 -0
- package/src/component/filter/boolean-filter/boolean-filter.component.ts +71 -0
- package/src/component/filter/contarct/boolean-filter.ts +12 -0
- package/src/component/filter/contarct/date-filter-value.ts +20 -0
- package/src/component/filter/contarct/date-filter.ts +17 -0
- package/src/component/filter/contarct/filter-component-map.ts +24 -0
- package/src/component/filter/contarct/filter-item.ts +95 -0
- package/src/component/filter/contarct/filter-state.ts +172 -0
- package/src/component/filter/contarct/i-filter.ts +5 -0
- package/src/component/filter/contarct/list-filter.ts +20 -0
- package/src/component/filter/contarct/numeric-filter-value.ts +26 -0
- package/src/component/filter/contarct/numeric-filter.ts +20 -0
- package/src/component/filter/contarct/sort-param.ts +29 -0
- package/src/component/filter/contarct/string-filter.ts +21 -0
- package/src/component/filter/date-filter/date-filter.component.html +14 -0
- package/src/component/filter/date-filter/date-filter.component.scss +0 -0
- package/src/component/filter/date-filter/date-filter.component.spec.ts +25 -0
- package/src/component/filter/date-filter/date-filter.component.ts +68 -0
- package/src/component/filter/enum/filter-type.enum.ts +8 -0
- package/src/component/filter/enum/list-filter-type.enum.ts +4 -0
- package/src/component/filter/enum/string-filter-type.enum.ts +18 -0
- package/src/component/filter/filter-host/filter-host.component.html +1 -0
- package/src/component/filter/filter-host/filter-host.component.scss +0 -0
- package/src/component/filter/filter-host/filter-host.component.spec.ts +25 -0
- package/src/component/filter/filter-host/filter-host.component.ts +90 -0
- package/src/component/filter/filter-panel/filter-panel.component.html +1 -0
- package/src/component/filter/filter-panel/filter-panel.component.scss +0 -0
- package/src/component/filter/filter-panel/filter-panel.component.spec.ts +25 -0
- package/src/component/filter/filter-panel/filter-panel.component.ts +13 -0
- package/src/component/filter/filter.module.ts +46 -0
- package/src/component/filter/list-filter/list-filter.component.html +21 -0
- package/src/component/filter/list-filter/list-filter.component.scss +7 -0
- package/src/component/filter/list-filter/list-filter.component.spec.ts +25 -0
- package/src/component/filter/list-filter/list-filter.component.ts +109 -0
- package/src/component/filter/numeric-filter/numeric-filter.component.html +14 -0
- package/src/component/filter/numeric-filter/numeric-filter.component.scss +0 -0
- package/src/component/filter/numeric-filter/numeric-filter.component.spec.ts +25 -0
- package/src/component/filter/numeric-filter/numeric-filter.component.ts +72 -0
- package/src/component/filter/public-api.ts +27 -0
- package/src/component/filter/string-filter/string-filter.component.html +6 -0
- package/src/component/filter/string-filter/string-filter.component.scss +0 -0
- package/src/component/filter/string-filter/string-filter.component.spec.ts +25 -0
- package/src/component/filter/string-filter/string-filter.component.ts +73 -0
- package/src/component/icon/Icon.stories.ts +46 -0
- package/src/component/icon/icon/icon.component.html +3 -0
- package/src/component/icon/icon/icon.component.scss +0 -0
- package/src/component/icon/icon/icon.component.spec.ts +25 -0
- package/src/component/icon/icon/icon.component.ts +39 -0
- package/src/component/icon/icon-sprite.directive.spec.ts +8 -0
- package/src/component/icon/icon-sprite.directive.ts +24 -0
- package/src/component/icon/icon.module.ts +23 -0
- package/src/component/icon/icon.service.spec.ts +16 -0
- package/src/component/icon/icon.service.ts +57 -0
- package/src/component/icon/icons-list.ts +173 -0
- package/src/component/icon/public-api.ts +4 -0
- package/src/component/input/Input.stories.ts +142 -0
- package/src/component/input/form-group-title/form-group-title.component.html +4 -0
- package/src/component/input/form-group-title/form-group-title.component.scss +0 -0
- package/src/component/input/form-group-title/form-group-title.component.spec.ts +25 -0
- package/src/component/input/form-group-title/form-group-title.component.ts +20 -0
- package/src/component/input/input/input.component.html +12 -0
- package/src/component/input/input/input.component.scss +6 -0
- package/src/component/input/input/input.component.spec.ts +25 -0
- package/src/component/input/input/input.component.ts +33 -0
- package/src/component/input/input.module.ts +15 -0
- package/src/component/input/public-api.ts +4 -0
- package/src/component/input/sample-input/sample-input/sample-input.component.html +28 -0
- package/src/component/input/sample-input/sample-input/sample-input.component.scss +25 -0
- package/src/component/input/sample-input/sample-input/sample-input.component.spec.ts +25 -0
- package/src/component/input/sample-input/sample-input/sample-input.component.ts +38 -0
- package/src/component/input/sample-input/sample-input.module.ts +22 -0
- package/src/component/input/text-field/text-field.component.html +19 -0
- package/src/component/input/text-field/text-field.component.scss +0 -0
- package/src/component/input/text-field/text-field.component.spec.ts +25 -0
- package/src/component/input/text-field/text-field.component.ts +84 -0
- package/src/component/list/List.stories.ts +56 -0
- package/src/component/list/list.module.ts +12 -0
- package/src/component/message/Message.stories.ts +20 -0
- package/src/component/message/message/message.component.html +18 -0
- package/src/component/message/message/message.component.scss +0 -0
- package/src/component/message/message/message.component.spec.ts +25 -0
- package/src/component/message/message/message.component.ts +80 -0
- package/src/component/message/message-host/message-host.component.html +6 -0
- package/src/component/message/message-host/message-host.component.scss +0 -0
- package/src/component/message/message-host/message-host.component.spec.ts +25 -0
- package/src/component/message/message-host/message-host.component.ts +94 -0
- package/src/component/message/message-samples/message-sample/message-sample.component.html +31 -0
- package/src/component/message/message-samples/message-sample/message-sample.component.scss +0 -0
- package/src/component/message/message-samples/message-sample/message-sample.component.spec.ts +25 -0
- package/src/component/message/message-samples/message-sample/message-sample.component.ts +40 -0
- package/src/component/message/message-samples/message-samples.module.ts +19 -0
- package/src/component/message/message.module.ts +18 -0
- package/src/component/message/message.service.spec.ts +16 -0
- package/src/component/message/message.service.ts +38 -0
- package/src/component/message/model/message.spec.ts +7 -0
- package/src/component/message/model/message.ts +38 -0
- package/src/component/message/public-api.ts +5 -0
- package/src/component/modal/Modal.stories.ts +43 -0
- package/src/component/modal/dialog/dialog.component.html +20 -0
- package/src/component/modal/dialog/dialog.component.scss +5 -0
- package/src/component/modal/dialog/dialog.component.spec.ts +25 -0
- package/src/component/modal/dialog/dialog.component.ts +33 -0
- package/src/component/modal/dialog.service.spec.ts +16 -0
- package/src/component/modal/dialog.service.ts +59 -0
- package/src/component/modal/modal-container/modal-container.component.html +3 -0
- package/src/component/modal/modal-container/modal-container.component.scss +0 -0
- package/src/component/modal/modal-container/modal-container.component.spec.ts +25 -0
- package/src/component/modal/modal-container/modal-container.component.ts +76 -0
- package/src/component/modal/modal-samples/alert-sample/alert-sample.component.html +13 -0
- package/src/component/modal/modal-samples/alert-sample/alert-sample.component.scss +0 -0
- package/src/component/modal/modal-samples/alert-sample/alert-sample.component.spec.ts +25 -0
- package/src/component/modal/modal-samples/alert-sample/alert-sample.component.ts +31 -0
- package/src/component/modal/modal-samples/modal-example/modal-example.component.html +24 -0
- package/src/component/modal/modal-samples/modal-example/modal-example.component.scss +0 -0
- package/src/component/modal/modal-samples/modal-example/modal-example.component.spec.ts +25 -0
- package/src/component/modal/modal-samples/modal-example/modal-example.component.ts +18 -0
- package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.html +3 -0
- package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.scss +0 -0
- package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.spec.ts +25 -0
- package/src/component/modal/modal-samples/modal-from-component/modal-from-component.component.ts +31 -0
- package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.html +31 -0
- package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.scss +0 -0
- package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.spec.ts +25 -0
- package/src/component/modal/modal-samples/modal-from-template/modal-from-template.component.ts +34 -0
- package/src/component/modal/modal-samples/modal-samples.module.ts +43 -0
- package/src/component/modal/modal.module.ts +28 -0
- package/src/component/modal/modal.service.spec.ts +16 -0
- package/src/component/modal/modal.service.ts +153 -0
- package/src/component/modal/model/current-modal.ts +5 -0
- package/src/component/modal/model/i-modal-config.ts +12 -0
- package/src/component/modal/model/i-modal-result.ts +13 -0
- package/src/component/modal/model/modal-close-reason.enum.ts +6 -0
- package/src/component/modal/model/modal-instance.ts +44 -0
- package/src/component/modal/public-api.ts +11 -0
- package/src/component/pager/Pager.stories.ts +19 -0
- package/src/component/pager/model/pager-state.spec.ts +7 -0
- package/src/component/pager/model/pager-state.ts +80 -0
- package/src/component/pager/pager/pager.component.html +1 -0
- package/src/component/pager/pager/pager.component.scss +0 -0
- package/src/component/pager/pager/pager.component.spec.ts +25 -0
- package/src/component/pager/pager/pager.component.ts +13 -0
- package/src/component/pager/pager.module.ts +15 -0
- package/src/component/pager/public-api.ts +4 -0
- package/src/component/pager/util/pager-util.spec.ts +7 -0
- package/src/component/pager/util/pager-util.ts +7 -0
- package/src/component/panel/panel/panel.component.html +1 -0
- package/src/component/panel/panel/panel.component.scss +0 -0
- package/src/component/panel/panel/panel.component.spec.ts +25 -0
- package/src/component/panel/panel/panel.component.ts +42 -0
- package/src/component/panel/panel.module.ts +13 -0
- package/src/component/panel/public-api.ts +2 -0
- package/src/component/progress-bar/ProgressBar.stories.ts +29 -0
- package/src/component/progress-bar/progress-bar/progress-bar.component.html +7 -0
- package/src/component/progress-bar/progress-bar/progress-bar.component.scss +0 -0
- package/src/component/progress-bar/progress-bar/progress-bar.component.spec.ts +25 -0
- package/src/component/progress-bar/progress-bar/progress-bar.component.ts +158 -0
- package/src/component/progress-bar/progress-bar.module.ts +13 -0
- package/src/component/progress-bar/public-api.ts +2 -0
- package/src/component/property-grid/PropertyGrid.stories.ts +110 -0
- package/src/component/property-grid/default/date-item-default/date-item-default.component.html +1 -0
- package/src/component/property-grid/default/date-item-default/date-item-default.component.scss +0 -0
- package/src/component/property-grid/default/date-item-default/date-item-default.component.spec.ts +25 -0
- package/src/component/property-grid/default/date-item-default/date-item-default.component.ts +13 -0
- package/src/component/property-grid/default/list-item-default/list-item-default.component.html +1 -0
- package/src/component/property-grid/default/list-item-default/list-item-default.component.scss +0 -0
- package/src/component/property-grid/default/list-item-default/list-item-default.component.spec.ts +25 -0
- package/src/component/property-grid/default/list-item-default/list-item-default.component.ts +13 -0
- package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.html +1 -0
- package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.scss +0 -0
- package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.spec.ts +25 -0
- package/src/component/property-grid/default/numeric-item-default/numeric-item-default.component.ts +13 -0
- package/src/component/property-grid/default/string-item-default/string-item-default.component.html +1 -0
- package/src/component/property-grid/default/string-item-default/string-item-default.component.scss +0 -0
- package/src/component/property-grid/default/string-item-default/string-item-default.component.spec.ts +25 -0
- package/src/component/property-grid/default/string-item-default/string-item-default.component.ts +13 -0
- package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.html +20 -0
- package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.scss +0 -0
- package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.spec.ts +25 -0
- package/src/component/property-grid/property-grid/property-grid-group/property-grid-group.component.ts +31 -0
- package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.html +39 -0
- package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.scss +0 -0
- package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.spec.ts +24 -0
- package/src/component/property-grid/property-grid/property-grid-item/property-grid-item.component.ts +122 -0
- package/src/component/property-grid/property-grid/property-grid.component.html +18 -0
- package/src/component/property-grid/property-grid/property-grid.component.scss +3 -0
- package/src/component/property-grid/property-grid/property-grid.component.spec.ts +25 -0
- package/src/component/property-grid/property-grid/property-grid.component.ts +62 -0
- package/src/component/property-grid/property-grid.module.ts +53 -0
- package/src/component/property-grid/public-api.ts +2 -0
- package/src/component/public-api.ts +89 -0
- package/src/component/radio/Radio.stories.ts +28 -0
- package/src/component/radio/public-api.ts +3 -0
- package/src/component/radio/radio/radio.component.html +1 -0
- package/src/component/radio/radio/radio.component.scss +0 -0
- package/src/component/radio/radio/radio.component.spec.ts +26 -0
- package/src/component/radio/radio/radio.component.ts +264 -0
- package/src/component/radio/radio-button/radio-button.component.html +4 -0
- package/src/component/radio/radio-button/radio-button.component.scss +0 -0
- package/src/component/radio/radio-button/radio-button.component.spec.ts +26 -0
- package/src/component/radio/radio-button/radio-button.component.ts +71 -0
- package/src/component/radio/radio.module.ts +12 -0
- package/src/component/resize-panel/Resize.stories.ts +83 -0
- package/src/component/resize-panel/public-api.ts +2 -0
- package/src/component/resize-panel/resize-panel/resize-panel.component.html +9 -0
- package/src/component/resize-panel/resize-panel/resize-panel.component.scss +0 -0
- package/src/component/resize-panel/resize-panel/resize-panel.component.spec.ts +25 -0
- package/src/component/resize-panel/resize-panel/resize-panel.component.ts +210 -0
- package/src/component/resize-panel/resize-panel.module.ts +12 -0
- package/src/component/select/Select.stories.ts +254 -0
- package/src/component/select/public-api.ts +4 -0
- package/src/component/select/select/select.component.html +92 -0
- package/src/component/select/select/select.component.scss +0 -0
- package/src/component/select/select/select.component.spec.ts +25 -0
- package/src/component/select/select/select.component.ts +222 -0
- package/src/component/select/select-option.directive.spec.ts +8 -0
- package/src/component/select/select-option.directive.ts +9 -0
- package/src/component/select/select-value.directive.spec.ts +8 -0
- package/src/component/select/select-value.directive.ts +9 -0
- package/src/component/select/select.module.ts +26 -0
- package/src/component/sidebar/Sidebar.stories.ts +61 -0
- package/src/component/sidebar/public-api.ts +3 -0
- package/src/component/sidebar/sidebar/sidebar.component.html +14 -0
- package/src/component/sidebar/sidebar/sidebar.component.scss +0 -0
- package/src/component/sidebar/sidebar/sidebar.component.spec.ts +25 -0
- package/src/component/sidebar/sidebar/sidebar.component.ts +47 -0
- package/src/component/sidebar/sidebar-position.enum.ts +6 -0
- package/src/component/sidebar/sidebar.module.ts +16 -0
- package/src/component/switch/Switch.stories.ts +37 -0
- package/src/component/switch/public-api.ts +3 -0
- package/src/component/switch/switch/switch.component.html +1 -0
- package/src/component/switch/switch/switch.component.scss +0 -0
- package/src/component/switch/switch/switch.component.spec.ts +25 -0
- package/src/component/switch/switch/switch.component.ts +70 -0
- package/src/component/switch/switch-button/switch-button.component.html +1 -0
- package/src/component/switch/switch-button/switch-button.component.scss +0 -0
- package/src/component/switch/switch-button/switch-button.component.spec.ts +25 -0
- package/src/component/switch/switch-button/switch-button.component.ts +55 -0
- package/src/component/switch/switch.module.ts +15 -0
- package/src/component/switch/switch.service.spec.ts +16 -0
- package/src/component/switch/switch.service.ts +18 -0
- package/src/component/table/Table.stories.ts +102 -0
- package/src/component/table/base/cell-component-base.ts +146 -0
- package/src/component/table/base/detail-component-base.ts +13 -0
- package/src/component/table/base/group-row-component-base.ts +13 -0
- package/src/component/table/base/head-cell-component-base.ts +12 -0
- package/src/component/table/cell/cell.component.html +4 -0
- package/src/component/table/cell/cell.component.scss +0 -0
- package/src/component/table/cell/cell.component.spec.ts +25 -0
- package/src/component/table/cell/cell.component.ts +37 -0
- package/src/component/table/cell-host/cell-host.component.html +1 -0
- package/src/component/table/cell-host/cell-host.component.scss +0 -0
- package/src/component/table/cell-host/cell-host.component.spec.ts +25 -0
- package/src/component/table/cell-host/cell-host.component.ts +67 -0
- package/src/component/table/contract/cell-components-map.ts +24 -0
- package/src/component/table/contract/column-reorder-event.ts +11 -0
- package/src/component/table/contract/column-resize-event.ts +11 -0
- package/src/component/table/contract/i-cell-coordinates.ts +8 -0
- package/src/component/table/contract/i-cell-event.ts +5 -0
- package/src/component/table/contract/i-cell-value.ts +6 -0
- package/src/component/table/contract/public-api.ts +11 -0
- package/src/component/table/contract/sort-event.ts +11 -0
- package/src/component/table/contract/table-column-store.ts +24 -0
- package/src/component/table/contract/table-column.ts +172 -0
- package/src/component/table/contract/table-context-menu-config.ts +23 -0
- package/src/component/table/contract/table-row.ts +51 -0
- package/src/component/table/default/boolean-cell/boolean-cell.component.html +10 -0
- package/src/component/table/default/boolean-cell/boolean-cell.component.scss +0 -0
- package/src/component/table/default/boolean-cell/boolean-cell.component.spec.ts +25 -0
- package/src/component/table/default/boolean-cell/boolean-cell.component.ts +54 -0
- package/src/component/table/default/date-cell/date-cell.component.html +11 -0
- package/src/component/table/default/date-cell/date-cell.component.scss +0 -0
- package/src/component/table/default/date-cell/date-cell.component.spec.ts +25 -0
- package/src/component/table/default/date-cell/date-cell.component.ts +59 -0
- package/src/component/table/default/date-time-cell/date-time-cell.component.html +10 -0
- package/src/component/table/default/date-time-cell/date-time-cell.component.scss +0 -0
- package/src/component/table/default/date-time-cell/date-time-cell.component.spec.ts +25 -0
- package/src/component/table/default/date-time-cell/date-time-cell.component.ts +56 -0
- package/src/component/table/default/default-head-cell/default-head-cell.component.html +8 -0
- package/src/component/table/default/default-head-cell/default-head-cell.component.scss +6 -0
- package/src/component/table/default/default-head-cell/default-head-cell.component.spec.ts +25 -0
- package/src/component/table/default/default-head-cell/default-head-cell.component.ts +38 -0
- package/src/component/table/default/group-row/group-row.component.html +2 -0
- package/src/component/table/default/group-row/group-row.component.scss +0 -0
- package/src/component/table/default/group-row/group-row.component.spec.ts +25 -0
- package/src/component/table/default/group-row/group-row.component.ts +29 -0
- package/src/component/table/default/list-cell/list-cell.component.html +15 -0
- package/src/component/table/default/list-cell/list-cell.component.scss +0 -0
- package/src/component/table/default/list-cell/list-cell.component.spec.ts +25 -0
- package/src/component/table/default/list-cell/list-cell.component.ts +85 -0
- package/src/component/table/default/numeric-cell/numeric-cell.component.html +11 -0
- package/src/component/table/default/numeric-cell/numeric-cell.component.scss +3 -0
- package/src/component/table/default/numeric-cell/numeric-cell.component.spec.ts +25 -0
- package/src/component/table/default/numeric-cell/numeric-cell.component.ts +57 -0
- package/src/component/table/default/string-cell/string-cell.component.html +11 -0
- package/src/component/table/default/string-cell/string-cell.component.scss +0 -0
- package/src/component/table/default/string-cell/string-cell.component.spec.ts +25 -0
- package/src/component/table/default/string-cell/string-cell.component.ts +54 -0
- package/src/component/table/enum/aggregation-type.enum.ts +7 -0
- package/src/component/table/enum/edit-event.enum.ts +5 -0
- package/src/component/table/enum/edit-type.enum.ts +4 -0
- package/src/component/table/enum/public-api.ts +4 -0
- package/src/component/table/enum/select-type.enum.ts +5 -0
- package/src/component/table/head-cell/head-cell.component.html +45 -0
- package/src/component/table/head-cell/head-cell.component.scss +16 -0
- package/src/component/table/head-cell/head-cell.component.spec.ts +25 -0
- package/src/component/table/head-cell/head-cell.component.ts +150 -0
- package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.html +145 -0
- package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.scss +6 -0
- package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.spec.ts +25 -0
- package/src/component/table/head-cell-dropdown/head-cell-dropdown.component.ts +240 -0
- package/src/component/table/head-cell-host/head-cell-host.component.html +1 -0
- package/src/component/table/head-cell-host/head-cell-host.component.scss +3 -0
- package/src/component/table/head-cell-host/head-cell-host.component.spec.ts +25 -0
- package/src/component/table/head-cell-host/head-cell-host.component.ts +50 -0
- package/src/component/table/public-api.ts +48 -0
- package/src/component/table/selection-cell/selection-cell.component.html +4 -0
- package/src/component/table/selection-cell/selection-cell.component.scss +5 -0
- package/src/component/table/selection-cell/selection-cell.component.spec.ts +25 -0
- package/src/component/table/selection-cell/selection-cell.component.ts +50 -0
- package/src/component/table/selection-head-cell/selection-head-cell.component.html +5 -0
- package/src/component/table/selection-head-cell/selection-head-cell.component.scss +5 -0
- package/src/component/table/selection-head-cell/selection-head-cell.component.spec.ts +25 -0
- package/src/component/table/selection-head-cell/selection-head-cell.component.ts +49 -0
- package/src/component/table/service/table.service.spec.ts +16 -0
- package/src/component/table/service/table.service.ts +570 -0
- package/src/component/table/table/table.component.html +68 -0
- package/src/component/table/table/table.component.scss +0 -0
- package/src/component/table/table/table.component.spec.ts +25 -0
- package/src/component/table/table/table.component.ts +444 -0
- package/src/component/table/table-body/table-body.component.html +121 -0
- package/src/component/table/table-body/table-body.component.scss +0 -0
- package/src/component/table/table-body/table-body.component.spec.ts +25 -0
- package/src/component/table/table-body/table-body.component.ts +280 -0
- package/src/component/table/table-demo/table-demo/table-demo.component.html +28 -0
- package/src/component/table/table-demo/table-demo/table-demo.component.scss +6 -0
- package/src/component/table/table-demo/table-demo/table-demo.component.spec.ts +25 -0
- package/src/component/table/table-demo/table-demo/table-demo.component.ts +136 -0
- package/src/component/table/table-demo/table-demo.module.ts +23 -0
- package/src/component/table/table-head/table-head.component.html +21 -0
- package/src/component/table/table-head/table-head.component.scss +0 -0
- package/src/component/table/table-head/table-head.component.spec.ts +25 -0
- package/src/component/table/table-head/table-head.component.ts +118 -0
- package/src/component/table/table-head-group/table-head-group.component.html +24 -0
- package/src/component/table/table-head-group/table-head-group.component.scss +0 -0
- package/src/component/table/table-head-group/table-head-group.component.spec.ts +25 -0
- package/src/component/table/table-head-group/table-head-group.component.ts +73 -0
- package/src/component/table/table.module.ts +100 -0
- package/src/component/table/util/public-api.ts +2 -0
- package/src/component/table/util/state-util.spec.ts +7 -0
- package/src/component/table/util/state-util.ts +182 -0
- package/src/component/table/util/table-util.spec.ts +7 -0
- package/src/component/table/util/table-util.ts +150 -0
- package/src/component/tabs/Tabs.stories.ts +55 -0
- package/src/component/tabs/public-api.ts +13 -0
- package/src/component/tabs/tab/tab.component.html +1 -0
- package/src/component/tabs/tab/tab.component.scss +0 -0
- package/src/component/tabs/tab/tab.component.spec.ts +25 -0
- package/src/component/tabs/tab/tab.component.ts +46 -0
- package/src/component/tabs/tab-content.directive.spec.ts +8 -0
- package/src/component/tabs/tab-content.directive.ts +9 -0
- package/src/component/tabs/tab-title.directive.spec.ts +8 -0
- package/src/component/tabs/tab-title.directive.ts +9 -0
- package/src/component/tabs/tabs/tabs.component.html +24 -0
- package/src/component/tabs/tabs/tabs.component.scss +0 -0
- package/src/component/tabs/tabs/tabs.component.spec.ts +25 -0
- package/src/component/tabs/tabs/tabs.component.ts +85 -0
- package/src/component/tabs/tabs.module.ts +26 -0
- package/src/component/theme-switch/public-api.ts +3 -0
- package/src/component/theme-switch/theme-switch/theme-switch.component.html +3 -0
- package/src/component/theme-switch/theme-switch/theme-switch.component.scss +4 -0
- package/src/component/theme-switch/theme-switch/theme-switch.component.spec.ts +25 -0
- package/src/component/theme-switch/theme-switch/theme-switch.component.ts +31 -0
- package/src/component/theme-switch/theme-switch.module.ts +17 -0
- package/src/component/theme-switch/theme-switch.service.spec.ts +16 -0
- package/src/component/theme-switch/theme-switch.service.ts +34 -0
- package/src/component/toggle/Toggle.stories.ts +34 -0
- package/src/component/toggle/public-api.ts +2 -0
- package/src/component/toggle/toggle/toggle.component.html +6 -0
- package/src/component/toggle/toggle/toggle.component.scss +0 -0
- package/src/component/toggle/toggle/toggle.component.spec.ts +25 -0
- package/src/component/toggle/toggle/toggle.component.ts +95 -0
- package/src/component/toggle/toggle.module.ts +11 -0
- package/src/component/toolbar/Toolbar.stories.ts +110 -0
- package/src/component/toolbar/public-api.ts +6 -0
- package/src/component/toolbar/toolbar/toolbar.component.html +1 -0
- package/src/component/toolbar/toolbar/toolbar.component.scss +0 -0
- package/src/component/toolbar/toolbar/toolbar.component.spec.ts +25 -0
- package/src/component/toolbar/toolbar/toolbar.component.ts +29 -0
- package/src/component/toolbar/toolbar.module.ts +13 -0
- package/src/component/tree/Tree.stories.ts +93 -0
- package/src/component/tree/public-api.ts +4 -0
- package/src/component/tree/tree/tree.component.html +8 -0
- package/src/component/tree/tree/tree.component.scss +0 -0
- package/src/component/tree/tree/tree.component.spec.ts +25 -0
- package/src/component/tree/tree/tree.component.ts +92 -0
- package/src/component/tree/tree-item/tree-item.component.html +12 -0
- package/src/component/tree/tree-item/tree-item.component.scss +0 -0
- package/src/component/tree/tree-item/tree-item.component.spec.ts +25 -0
- package/src/component/tree/tree-item/tree-item.component.ts +84 -0
- package/src/component/tree/tree-item-toggle/tree-item-toggle.component.html +2 -0
- package/src/component/tree/tree-item-toggle/tree-item-toggle.component.scss +4 -0
- package/src/component/tree/tree-item-toggle/tree-item-toggle.component.spec.ts +25 -0
- package/src/component/tree/tree-item-toggle/tree-item-toggle.component.ts +37 -0
- package/src/component/tree/tree.module.ts +14 -0
- package/src/component/tree/tree.service.spec.ts +16 -0
- package/src/component/tree/tree.service.ts +41 -0
- package/src/directive/click-outside/click-outside.directive.spec.ts +8 -0
- package/src/directive/click-outside/click-outside.directive.ts +64 -0
- package/src/directive/click-outside/click-outside.module.ts +13 -0
- package/src/directive/click-outside/public-api.ts +2 -0
- package/src/directive/context-menu/ContextMenu.stories.ts +65 -0
- package/src/directive/context-menu/context-menu.directive.spec.ts +8 -0
- package/src/directive/context-menu/context-menu.directive.ts +136 -0
- package/src/directive/context-menu/context-menu.module.ts +15 -0
- package/src/directive/context-menu/public-api.ts +2 -0
- package/src/directive/disable-control/disable-control.directive.spec.ts +8 -0
- package/src/directive/disable-control/disable-control.directive.ts +20 -0
- package/src/directive/disable-control/disable-control.module.ts +16 -0
- package/src/directive/disable-control/public-api.ts +2 -0
- package/src/directive/drag-sort/DragSort.stories.ts +60 -0
- package/src/directive/drag-sort/drag-sort-container.directive.spec.ts +8 -0
- package/src/directive/drag-sort/drag-sort-container.directive.ts +71 -0
- package/src/directive/drag-sort/drag-sort-event.spec.ts +7 -0
- package/src/directive/drag-sort/drag-sort-event.ts +7 -0
- package/src/directive/drag-sort/drag-sort-item.directive.spec.ts +8 -0
- package/src/directive/drag-sort/drag-sort-item.directive.ts +119 -0
- package/src/directive/drag-sort/drag-sort.module.ts +11 -0
- package/src/directive/drag-sort/public-api.ts +4 -0
- package/src/directive/dynamic-content-base.directive.ts +113 -0
- package/src/directive/highlight/highlight.directive.spec.ts +8 -0
- package/src/directive/highlight/highlight.directive.ts +68 -0
- package/src/directive/highlight/highlight.module.ts +13 -0
- package/src/directive/highlight/public-api.ts +2 -0
- package/src/directive/hint/Hint.stories.ts +111 -0
- package/src/directive/hint/hint.directive.spec.ts +8 -0
- package/src/directive/hint/hint.directive.ts +117 -0
- package/src/directive/hint/hint.module.ts +15 -0
- package/src/directive/hint/public-api.ts +2 -0
- package/src/directive/loader/Loader.stories.ts +21 -0
- package/src/directive/loader/loader.directive.spec.ts +8 -0
- package/src/directive/loader/loader.directive.ts +80 -0
- package/src/directive/loader/loader.module.ts +13 -0
- package/src/directive/loader/public-api.ts +2 -0
- package/src/directive/no-autofill/no-autofill.directive.spec.ts +8 -0
- package/src/directive/no-autofill/no-autofill.directive.ts +28 -0
- package/src/directive/no-autofill/no-autofill.module.ts +10 -0
- package/src/directive/no-autofill/public-api.ts +2 -0
- package/src/directive/only-number/OnlyNumber.stories.ts +29 -0
- package/src/directive/only-number/only-number.directive.spec.ts +8 -0
- package/src/directive/only-number/only-number.directive.ts +174 -0
- package/src/directive/only-number/only-number.module.ts +10 -0
- package/src/directive/only-number/public-api.ts +2 -0
- package/src/directive/public-api.ts +14 -0
- package/src/directive/resize-drag/public-api.ts +2 -0
- package/src/directive/resize-drag/resize-drag.directive.spec.ts +8 -0
- package/src/directive/resize-drag/resize-drag.directive.ts +62 -0
- package/src/directive/resize-drag/resize-drag.module.ts +10 -0
- package/src/directive/teta-template/public-api.ts +2 -0
- package/src/directive/teta-template/teta-template.directive.spec.ts +8 -0
- package/src/directive/teta-template/teta-template.directive.ts +15 -0
- package/src/directive/teta-template/teta-template.module.ts +18 -0
- package/src/directive/tooltip/Tooltip.stories.ts +96 -0
- package/src/directive/tooltip/public-api.ts +2 -0
- package/src/directive/tooltip/tooltip.directive.spec.ts +8 -0
- package/src/directive/tooltip/tooltip.directive.ts +116 -0
- package/src/directive/tooltip/tooltip.module.ts +12 -0
- package/src/pipe/number-pipe/number-pipe.module.ts +15 -0
- package/src/pipe/number-pipe/number.pipe.spec.ts +8 -0
- package/src/pipe/number-pipe/number.pipe.ts +26 -0
- package/src/pipe/number-pipe/public-api.ts +2 -0
- package/src/pipe/prepend-zero/prepend-zero.module.ts +10 -0
- package/src/pipe/prepend-zero/prepend-zero.pipe.spec.ts +8 -0
- package/src/pipe/prepend-zero/prepend-zero.pipe.ts +15 -0
- package/src/pipe/prepend-zero/public-api.ts +2 -0
- package/src/pipe/public-api.ts +1 -0
- package/src/pipe/util/number-helper.ts +37 -0
- package/src/public-api.ts +25 -0
- package/src/test.ts +26 -0
- package/src/util/date-util.ts +247 -0
- package/src/util/forms-util.ts +83 -0
- package/src/util/public-api.ts +3 -0
- package/src/util/string-util.ts +5 -0
- package/style/tabs.scss +1 -1
- package/tsconfig.lib.json +18 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/component/chart/core/axis-creator.d.ts +0 -28
- package/component/chart/model/enum/scale-type.d.ts +0 -6
- package/component/chart/model/series.d.ts +0 -62
- package/component/table/contract/table-column.d.ts +0 -141
- package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +0 -58
- package/component/table/service/table.service.d.ts +0 -119
- package/component/table/table/table.component.d.ts +0 -99
- package/esm2020/common/contract/auto-close-ignore-case.mjs +0 -2
- package/esm2020/common/contract/constructor-type.mjs +0 -2
- package/esm2020/common/contract/dynamic-data.mjs +0 -10
- package/esm2020/common/contract/i-dictionary.mjs +0 -2
- package/esm2020/common/contract/i-id-name.mjs +0 -2
- package/esm2020/common/contract/i-rect.mjs +0 -2
- package/esm2020/common/contract/i-tree-data.mjs +0 -2
- package/esm2020/common/contract/public-api.mjs +0 -9
- package/esm2020/common/contract/teta-content-ref.mjs +0 -8
- package/esm2020/common/enum/align.enum.mjs +0 -10
- package/esm2020/common/enum/public-api.mjs +0 -4
- package/esm2020/common/enum/teta-size.enum.mjs +0 -9
- package/esm2020/common/enum/vertical-align.enum.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/common/service/public-api.mjs +0 -4
- package/esm2020/common/util/array-util.mjs +0 -119
- package/esm2020/common/util/dom-util.mjs +0 -16
- package/esm2020/common/util/position-util.mjs +0 -96
- package/esm2020/common/util/public-api.mjs +0 -4
- 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/accordion/accordion.module.mjs +0 -29
- package/esm2020/component/accordion/public-api.mjs +0 -6
- package/esm2020/component/button/button/button.component.mjs +0 -40
- package/esm2020/component/button/button.module.mjs +0 -24
- package/esm2020/component/button/public-api.mjs +0 -3
- package/esm2020/component/chart/chart/chart.component.mjs +0 -164
- package/esm2020/component/chart/chart.module.mjs +0 -18
- package/esm2020/component/chart/core/axis-creator.mjs +0 -82
- package/esm2020/component/chart/core/chart.mjs +0 -1339
- package/esm2020/component/chart/core/public-api.mjs +0 -3
- package/esm2020/component/chart/drawer/area-drawer.mjs +0 -20
- package/esm2020/component/chart/drawer/bar-drawer.mjs +0 -23
- package/esm2020/component/chart/drawer/contour-drawer.mjs +0 -29
- package/esm2020/component/chart/drawer/default-drawer-mapping.mjs +0 -17
- package/esm2020/component/chart/drawer/line-drawer.mjs +0 -152
- package/esm2020/component/chart/drawer/pie-drawer.mjs +0 -4
- package/esm2020/component/chart/drawer/public-api.mjs +0 -7
- package/esm2020/component/chart/drawer/scatter-drawer.mjs +0 -93
- package/esm2020/component/chart/drawer/spline-drawer.mjs +0 -23
- package/esm2020/component/chart/legend-drawer/default-drawer-legend-mapping.mjs +0 -7
- package/esm2020/component/chart/legend-drawer/gradient-drawer.mjs +0 -45
- package/esm2020/component/chart/legend-drawer/swatch-drawer.mjs +0 -62
- package/esm2020/component/chart/model/annotation.mjs +0 -30
- package/esm2020/component/chart/model/axis-options.mjs +0 -26
- package/esm2020/component/chart/model/chart-bounds.mjs +0 -13
- package/esm2020/component/chart/model/chart-options.mjs +0 -37
- package/esm2020/component/chart/model/enum/axis-type.mjs +0 -6
- package/esm2020/component/chart/model/enum/dispatch-type.mjs +0 -6
- package/esm2020/component/chart/model/enum/drag-point-type.mjs +0 -7
- package/esm2020/component/chart/model/enum/legend-type.mjs +0 -6
- package/esm2020/component/chart/model/enum/public-api.mjs +0 -8
- package/esm2020/component/chart/model/enum/scale-type.mjs +0 -8
- package/esm2020/component/chart/model/enum/scale.mjs +0 -7
- package/esm2020/component/chart/model/enum/series-type.mjs +0 -12
- package/esm2020/component/chart/model/enum/zoom-type.mjs +0 -7
- package/esm2020/component/chart/model/i-drag-event.mjs +0 -2
- package/esm2020/component/chart/model/i-drawer-legend.mjs +0 -2
- package/esm2020/component/chart/model/i-drawer.mjs +0 -2
- package/esm2020/component/chart/model/i-zoom-event.mjs +0 -2
- package/esm2020/component/chart/model/plot-band.mjs +0 -18
- package/esm2020/component/chart/model/plot-line.mjs +0 -13
- package/esm2020/component/chart/model/point/bar-point.mjs +0 -2
- package/esm2020/component/chart/model/point/base-point.mjs +0 -2
- package/esm2020/component/chart/model/point/contour-point.mjs +0 -2
- package/esm2020/component/chart/model/point/marker-options.mjs +0 -2
- package/esm2020/component/chart/model/point/public-api.mjs +0 -4
- package/esm2020/component/chart/model/point/scatter-point.mjs +0 -2
- package/esm2020/component/chart/model/public-api.mjs +0 -16
- package/esm2020/component/chart/model/series.mjs +0 -27
- package/esm2020/component/chart/model/tooltip-options.mjs +0 -19
- package/esm2020/component/chart/public-api.mjs +0 -6
- package/esm2020/component/chart-3d/chart-3d.module.mjs +0 -18
- package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +0 -232
- package/esm2020/component/chart-3d/model/base-3d-point.mjs +0 -2
- package/esm2020/component/chart-3d/model/chart-3d-options.mjs +0 -7
- package/esm2020/component/chart-3d/model/public-api.mjs +0 -3
- package/esm2020/component/chart-3d/model/series-3d.mjs +0 -7
- package/esm2020/component/chart-3d/public-api.mjs +0 -4
- package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +0 -134
- package/esm2020/component/checkbox/checkbox.module.mjs +0 -28
- package/esm2020/component/checkbox/public-api.mjs +0 -3
- package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +0 -279
- package/esm2020/component/date-picker/date-picker.module.mjs +0 -67
- package/esm2020/component/date-picker/day-select/day-select.component.mjs +0 -166
- package/esm2020/component/date-picker/model/date-period.mjs +0 -7
- package/esm2020/component/date-picker/model/date-picker-mode.enum.mjs +0 -7
- package/esm2020/component/date-picker/model/day-model.mjs +0 -13
- package/esm2020/component/date-picker/model/picker-locale-model.mjs +0 -13
- package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +0 -250
- package/esm2020/component/date-picker/month-select/month-select.component.mjs +0 -147
- package/esm2020/component/date-picker/public-api.mjs +0 -6
- package/esm2020/component/date-picker/service/picker-locale.service.mjs +0 -30
- 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/delimiter/delimiter.module.mjs +0 -22
- package/esm2020/component/delimiter/public-api.mjs +0 -3
- package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +0 -29
- package/esm2020/component/dropdown/dropdown-base.mjs +0 -204
- 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 -37
- package/esm2020/component/dropdown/dropdown.module.mjs +0 -41
- package/esm2020/component/dropdown/public-api.mjs +0 -6
- package/esm2020/component/dynamic-component/dynamic-component.module.mjs +0 -22
- package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +0 -59
- package/esm2020/component/dynamic-component/public-api.mjs +0 -3
- 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/expand-panel/expand-panel.module.mjs +0 -52
- package/esm2020/component/expand-panel/public-api.mjs +0 -5
- package/esm2020/component/file-upload/file-item/file-item.component.mjs +0 -13
- package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +0 -77
- package/esm2020/component/file-upload/file-upload.module.mjs +0 -21
- package/esm2020/component/file-upload/public-api.mjs +0 -4
- package/esm2020/component/filter/base/filter-base.mjs +0 -9
- package/esm2020/component/filter/base/filter-component-base.mjs +0 -3
- package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +0 -53
- 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-component-map.mjs +0 -17
- package/esm2020/component/filter/contarct/filter-item.mjs +0 -33
- package/esm2020/component/filter/contarct/filter-state.mjs +0 -145
- package/esm2020/component/filter/contarct/i-filter.mjs +0 -2
- 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 -13
- package/esm2020/component/filter/contarct/string-filter.mjs +0 -12
- package/esm2020/component/filter/date-filter/date-filter.component.mjs +0 -54
- package/esm2020/component/filter/enum/filter-type.enum.mjs +0 -10
- package/esm2020/component/filter/enum/list-filter-type.enum.mjs +0 -6
- package/esm2020/component/filter/enum/string-filter-type.enum.mjs +0 -20
- package/esm2020/component/filter/filter-host/filter-host.component.mjs +0 -73
- package/esm2020/component/filter/filter-panel/filter-panel.component.mjs +0 -13
- package/esm2020/component/filter/filter.module.mjs +0 -80
- package/esm2020/component/filter/list-filter/list-filter.component.mjs +0 -86
- package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +0 -53
- package/esm2020/component/filter/public-api.mjs +0 -25
- package/esm2020/component/filter/string-filter/string-filter.component.mjs +0 -54
- package/esm2020/component/icon/icon/icon.component.mjs +0 -37
- package/esm2020/component/icon/icon-sprite.directive.mjs +0 -32
- package/esm2020/component/icon/icon.module.mjs +0 -35
- package/esm2020/component/icon/icon.service.mjs +0 -59
- package/esm2020/component/icon/public-api.mjs +0 -5
- package/esm2020/component/input/form-group-title/form-group-title.component.mjs +0 -18
- package/esm2020/component/input/input/input.component.mjs +0 -31
- package/esm2020/component/input/input.module.mjs +0 -23
- package/esm2020/component/input/public-api.mjs +0 -5
- package/esm2020/component/input/text-field/text-field.component.mjs +0 -94
- 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.module.mjs +0 -31
- package/esm2020/component/message/message.service.mjs +0 -35
- package/esm2020/component/message/model/message.mjs +0 -21
- package/esm2020/component/message/public-api.mjs +0 -6
- 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 -52
- package/esm2020/component/modal/modal.service.mjs +0 -121
- package/esm2020/component/modal/model/current-modal.mjs +0 -3
- package/esm2020/component/modal/model/i-modal-config.mjs +0 -2
- package/esm2020/component/modal/model/i-modal-result.mjs +0 -2
- package/esm2020/component/modal/model/modal-close-reason.enum.mjs +0 -8
- package/esm2020/component/modal/model/modal-instance.mjs +0 -32
- package/esm2020/component/modal/public-api.mjs +0 -11
- package/esm2020/component/pager/model/pager-state.mjs +0 -50
- package/esm2020/component/pager/pager/pager.component.mjs +0 -13
- package/esm2020/component/pager/pager.module.mjs +0 -26
- package/esm2020/component/pager/public-api.mjs +0 -5
- package/esm2020/component/pager/util/pager-util.mjs +0 -6
- package/esm2020/component/panel/panel/panel.component.mjs +0 -51
- package/esm2020/component/panel/panel.module.mjs +0 -22
- package/esm2020/component/panel/public-api.mjs +0 -3
- package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +0 -131
- package/esm2020/component/progress-bar/progress-bar.module.mjs +0 -22
- package/esm2020/component/progress-bar/public-api.mjs +0 -3
- package/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +0 -13
- package/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +0 -13
- package/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +0 -13
- package/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +0 -13
- package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +0 -34
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +0 -103
- package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +0 -59
- package/esm2020/component/property-grid/property-grid.module.mjs +0 -94
- package/esm2020/component/property-grid/public-api.mjs +0 -3
- package/esm2020/component/public-api.mjs +0 -61
- package/esm2020/component/radio/public-api.mjs +0 -4
- 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/radio/radio.module.mjs +0 -20
- package/esm2020/component/resize-panel/public-api.mjs +0 -3
- package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +0 -162
- package/esm2020/component/resize-panel/resize-panel.module.mjs +0 -20
- package/esm2020/component/select/public-api.mjs +0 -5
- package/esm2020/component/select/select/select.component.mjs +0 -234
- package/esm2020/component/select/select-option.directive.mjs +0 -16
- package/esm2020/component/select/select-value.directive.mjs +0 -16
- package/esm2020/component/select/select.module.mjs +0 -48
- package/esm2020/component/sidebar/public-api.mjs +0 -4
- package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +0 -54
- package/esm2020/component/sidebar/sidebar-position.enum.mjs +0 -8
- package/esm2020/component/sidebar/sidebar.module.mjs +0 -30
- package/esm2020/component/switch/public-api.mjs +0 -4
- 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.module.mjs +0 -23
- package/esm2020/component/switch/switch.service.mjs +0 -21
- package/esm2020/component/table/base/cell-component-base.mjs +0 -94
- package/esm2020/component/table/base/detail-component-base.mjs +0 -3
- package/esm2020/component/table/base/group-row-component-base.mjs +0 -3
- package/esm2020/component/table/base/head-cell-component-base.mjs +0 -17
- 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/cell-components-map.mjs +0 -17
- 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/i-cell-coordinates.mjs +0 -2
- package/esm2020/component/table/contract/i-cell-event.mjs +0 -2
- package/esm2020/component/table/contract/i-cell-value.mjs +0 -2
- package/esm2020/component/table/contract/public-api.mjs +0 -12
- 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 -43
- package/esm2020/component/table/contract/table-context-menu-config.mjs +0 -17
- package/esm2020/component/table/contract/table-row.mjs +0 -40
- 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 -28
- package/esm2020/component/table/default/group-row/group-row.component.mjs +0 -20
- package/esm2020/component/table/default/list-cell/list-cell.component.mjs +0 -66
- package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +0 -46
- package/esm2020/component/table/default/string-cell/string-cell.component.mjs +0 -44
- package/esm2020/component/table/enum/aggregation-type.enum.mjs +0 -9
- package/esm2020/component/table/enum/edit-event.enum.mjs +0 -7
- package/esm2020/component/table/enum/edit-type.enum.mjs +0 -6
- package/esm2020/component/table/enum/public-api.mjs +0 -5
- package/esm2020/component/table/enum/select-type.enum.mjs +0 -7
- package/esm2020/component/table/head-cell/head-cell.component.mjs +0 -136
- package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +0 -198
- package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +0 -36
- package/esm2020/component/table/public-api.mjs +0 -43
- 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 -433
- package/esm2020/component/table/table/table.component.mjs +0 -427
- package/esm2020/component/table/table-body/table-body.component.mjs +0 -240
- package/esm2020/component/table/table-head/table-head.component.mjs +0 -98
- package/esm2020/component/table/table-head-group/table-head-group.component.mjs +0 -59
- package/esm2020/component/table/table.module.mjs +0 -176
- package/esm2020/component/table/util/public-api.mjs +0 -3
- package/esm2020/component/table/util/state-util.mjs +0 -139
- package/esm2020/component/table/util/table-util.mjs +0 -131
- package/esm2020/component/tabs/public-api.mjs +0 -12
- 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/tabs/tabs.module.mjs +0 -41
- package/esm2020/component/theme-switch/public-api.mjs +0 -4
- package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +0 -28
- package/esm2020/component/theme-switch/theme-switch.module.mjs +0 -30
- package/esm2020/component/theme-switch/theme-switch.service.mjs +0 -34
- package/esm2020/component/toggle/public-api.mjs +0 -3
- package/esm2020/component/toggle/toggle/toggle.component.mjs +0 -79
- package/esm2020/component/toggle/toggle.module.mjs +0 -19
- package/esm2020/component/toolbar/public-api.mjs +0 -6
- package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +0 -26
- package/esm2020/component/toolbar/toolbar.module.mjs +0 -22
- package/esm2020/component/tree/public-api.mjs +0 -5
- package/esm2020/component/tree/tree/tree.component.mjs +0 -76
- package/esm2020/component/tree/tree-item/tree-item.component.mjs +0 -80
- package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +0 -28
- package/esm2020/component/tree/tree.module.mjs +0 -22
- package/esm2020/component/tree/tree.service.mjs +0 -35
- package/esm2020/directive/click-outside/click-outside.directive.mjs +0 -60
- package/esm2020/directive/click-outside/click-outside.module.mjs +0 -22
- package/esm2020/directive/click-outside/public-api.mjs +0 -3
- package/esm2020/directive/context-menu/context-menu.directive.mjs +0 -94
- package/esm2020/directive/context-menu/context-menu.module.mjs +0 -26
- package/esm2020/directive/context-menu/public-api.mjs +0 -3
- package/esm2020/directive/disable-control/disable-control.directive.mjs +0 -29
- package/esm2020/directive/disable-control/disable-control.module.mjs +0 -24
- package/esm2020/directive/disable-control/public-api.mjs +0 -3
- package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +0 -64
- package/esm2020/directive/drag-sort/drag-sort-event.mjs +0 -2
- package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +0 -115
- package/esm2020/directive/drag-sort/drag-sort.module.mjs +0 -19
- package/esm2020/directive/drag-sort/public-api.mjs +0 -5
- package/esm2020/directive/dynamic-content-base.directive.mjs +0 -81
- package/esm2020/directive/highlight/highlight.directive.mjs +0 -72
- package/esm2020/directive/highlight/highlight.module.mjs +0 -22
- package/esm2020/directive/highlight/public-api.mjs +0 -3
- package/esm2020/directive/hint/hint.directive.mjs +0 -97
- package/esm2020/directive/hint/hint.module.mjs +0 -26
- package/esm2020/directive/hint/public-api.mjs +0 -3
- package/esm2020/directive/loader/loader.directive.mjs +0 -63
- package/esm2020/directive/loader/loader.module.mjs +0 -22
- package/esm2020/directive/loader/public-api.mjs +0 -3
- package/esm2020/directive/no-autofill/no-autofill.directive.mjs +0 -30
- package/esm2020/directive/no-autofill/no-autofill.module.mjs +0 -18
- package/esm2020/directive/no-autofill/public-api.mjs +0 -3
- package/esm2020/directive/only-number/only-number.directive.mjs +0 -175
- package/esm2020/directive/only-number/only-number.module.mjs +0 -18
- package/esm2020/directive/only-number/public-api.mjs +0 -3
- package/esm2020/directive/public-api.mjs +0 -15
- package/esm2020/directive/resize-drag/public-api.mjs +0 -3
- package/esm2020/directive/resize-drag/resize-drag.directive.mjs +0 -71
- package/esm2020/directive/resize-drag/resize-drag.module.mjs +0 -18
- package/esm2020/directive/teta-template/public-api.mjs +0 -3
- package/esm2020/directive/teta-template/teta-template.directive.mjs +0 -22
- package/esm2020/directive/teta-template/teta-template.module.mjs +0 -26
- package/esm2020/directive/tooltip/public-api.mjs +0 -3
- package/esm2020/directive/tooltip/tooltip.directive.mjs +0 -76
- package/esm2020/directive/tooltip/tooltip.module.mjs +0 -20
- package/esm2020/pipe/number-pipe/number-pipe.module.mjs +0 -24
- package/esm2020/pipe/number-pipe/number.pipe.mjs +0 -24
- package/esm2020/pipe/number-pipe/public-api.mjs +0 -3
- package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +0 -18
- package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +0 -21
- package/esm2020/pipe/public-api.mjs +0 -2
- package/esm2020/pipe/util/number-helper.mjs +0 -25
- package/esm2020/public-api.mjs +0 -21
- package/esm2020/tetacom-ng-components.mjs +0 -5
- package/esm2020/util/date-util.mjs +0 -195
- package/esm2020/util/forms-util.mjs +0 -61
- package/esm2020/util/public-api.mjs +0 -4
- package/esm2020/util/string-util.mjs +0 -7
- package/fesm2015/tetacom-ng-components.mjs +0 -13336
- package/fesm2015/tetacom-ng-components.mjs.map +0 -1
- package/fesm2020/tetacom-ng-components.mjs +0 -13228
- package/fesm2020/tetacom-ng-components.mjs.map +0 -1
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, } from '@angular/core';
|
|
2
|
-
import { takeWhile } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../service/table.service";
|
|
5
|
-
import * as i2 from "../../checkbox/checkbox/checkbox.component";
|
|
6
|
-
import * as i3 from "@angular/forms";
|
|
7
|
-
export class SelectionHeadCellComponent {
|
|
8
|
-
constructor(_svc, _cdr) {
|
|
9
|
-
this._svc = _svc;
|
|
10
|
-
this._cdr = _cdr;
|
|
11
|
-
this.tableCellClass = true;
|
|
12
|
-
this._alive = true;
|
|
13
|
-
}
|
|
14
|
-
selectAll(value) {
|
|
15
|
-
if (value) {
|
|
16
|
-
this._svc.selectAll();
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
this._svc.deselectAll();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
allSelected() {
|
|
23
|
-
return this._svc.allRowsSelected();
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this._svc.selectedRows
|
|
27
|
-
.pipe(takeWhile((_) => this._alive))
|
|
28
|
-
.subscribe((_) => {
|
|
29
|
-
this._cdr.markForCheck();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
this._alive = false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
SelectionHeadCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, deps: [{ token: i1.TableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
SelectionHeadCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SelectionHeadCellComponent, selector: "teta-selection-head-cell", host: { properties: { "class.table-head__group": "this.tableCellClass" } }, ngImport: i0, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"], components: [{ type: i2.CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SelectionHeadCellComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ selector: 'teta-selection-head-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [noLabel]=\"true\"\n [ngModel]=\"allSelected()\"\n (ngModelChange)=\"selectAll($event)\"></teta-checkbox>\n", styles: [":host{display:flex;align-items:center;justify-content:center}\n"] }]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i1.TableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tableCellClass: [{
|
|
42
|
-
type: HostBinding,
|
|
43
|
-
args: ['class.table-head__group']
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvdGFibGUvc2VsZWN0aW9uLWhlYWQtY2VsbC9zZWxlY3Rpb24taGVhZC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS9zZWxlY3Rpb24taGVhZC1jZWxsL3NlbGVjdGlvbi1oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxHQUdaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFRM0MsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxZQUFvQixJQUFxQixFQUFVLElBQXVCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQWlCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFMakIsbUJBQWMsR0FDckUsSUFBSSxDQUFDO1FBRUMsV0FBTSxHQUFHLElBQUksQ0FBQztJQUV1RCxDQUFDO0lBRTlFLFNBQVMsQ0FBQyxLQUFjO1FBQ3RCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO2FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7O3VIQTlCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw0SUNqQnZDLCtOQUtBOzJGRFlhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07bUlBR1UsY0FBYztzQkFBdEUsV0FBVzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvdGFibGUuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtc2VsZWN0aW9uLWhlYWQtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Rpb24taGVhZC1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uSGVhZENlbGxDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGFibGUtaGVhZF9fZ3JvdXAnKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ2VsbENsYXNzID1cbiAgICB0cnVlO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPiwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBzZWxlY3RBbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RBbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc3ZjLmRlc2VsZWN0QWxsKCk7XG4gICAgfVxuICB9XG5cbiAgYWxsU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N2Yy5hbGxSb3dzU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N2Yy5zZWxlY3RlZFJvd3NcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjx0ZXRhLWNoZWNrYm94IFtiaW5hcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbYWxsb3dOdWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgW25vTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+PC90ZXRhLWNoZWNrYm94PlxuIl19
|
|
@@ -1,433 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TableRow } from '../contract/table-row';
|
|
3
|
-
import { TableColumn } from '../contract/table-column';
|
|
4
|
-
import { FilterState } from '../../filter/contarct/filter-state';
|
|
5
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
6
|
-
import { ColumnReorderEvent } from '../contract/column-reorder-event';
|
|
7
|
-
import { ArrayUtil } from '../../../common/util/array-util';
|
|
8
|
-
import { StateUtil } from '../util/state-util';
|
|
9
|
-
import { SelectType } from '../enum/select-type.enum';
|
|
10
|
-
import { ListFilterType } from '../../filter/enum/list-filter-type.enum';
|
|
11
|
-
import { ListFilter } from '../../filter/contarct/list-filter';
|
|
12
|
-
import { FilterType } from '../../filter/enum/filter-type.enum';
|
|
13
|
-
import { NumericFilterValue } from '../../filter/contarct/numeric-filter-value';
|
|
14
|
-
import { NumericFilter } from '../../filter/contarct/numeric-filter';
|
|
15
|
-
import { StringFilter } from '../../filter/contarct/string-filter';
|
|
16
|
-
import { DateFilterValue } from '../../filter/contarct/date-filter-value';
|
|
17
|
-
import { DateFilter } from '../../filter/contarct/date-filter';
|
|
18
|
-
import { DateUtil } from '../../../util/date-util';
|
|
19
|
-
import objectHash from 'object-hash';
|
|
20
|
-
import { TableColumnStore } from '../contract/table-column-store';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
export class TableService {
|
|
23
|
-
constructor() {
|
|
24
|
-
this.initialColumns = [];
|
|
25
|
-
this.displayColumns = [];
|
|
26
|
-
this._columns = new BehaviorSubject([]);
|
|
27
|
-
this.initialData = [];
|
|
28
|
-
this._displayData = new BehaviorSubject([]);
|
|
29
|
-
this._dict = new BehaviorSubject({});
|
|
30
|
-
this._state = new BehaviorSubject(new FilterState());
|
|
31
|
-
this._editRowStart = new Subject();
|
|
32
|
-
this._editRowStop = new Subject();
|
|
33
|
-
this._editCellStart = new Subject();
|
|
34
|
-
this._editCellStop = new Subject();
|
|
35
|
-
this._valueChanged = new Subject();
|
|
36
|
-
this._valueSet = new Subject();
|
|
37
|
-
this._stateChanged = new Subject();
|
|
38
|
-
this._filterClear = new Subject();
|
|
39
|
-
this._groupToggle = new Subject();
|
|
40
|
-
this._selectedRows = new BehaviorSubject([]);
|
|
41
|
-
this._activeRow = new BehaviorSubject(null);
|
|
42
|
-
this._hiddenColumns = new BehaviorSubject([]);
|
|
43
|
-
this._scrollIndex = new Subject();
|
|
44
|
-
this.columns = this._columns.asObservable();
|
|
45
|
-
this.displayData = this._displayData.asObservable();
|
|
46
|
-
this.dict = this._dict.asObservable();
|
|
47
|
-
this.state = this._state.asObservable();
|
|
48
|
-
this.editRowStart = this._editRowStart.asObservable();
|
|
49
|
-
this.editRowStop = this._editRowStop.asObservable();
|
|
50
|
-
this.editCellStart = this._editCellStart.asObservable();
|
|
51
|
-
this.editCellStop = this._editCellStop.asObservable();
|
|
52
|
-
this.valueChanged = this._valueChanged.asObservable();
|
|
53
|
-
this.valueSet = this._valueSet.asObservable();
|
|
54
|
-
this.stateChanged = this._stateChanged.asObservable();
|
|
55
|
-
this.filterClear = this._filterClear.asObservable();
|
|
56
|
-
this.groupToggle = this._groupToggle.asObservable();
|
|
57
|
-
this.selectedRows = this._selectedRows.asObservable();
|
|
58
|
-
this.activeRow = this._activeRow.asObservable();
|
|
59
|
-
this.hiddenColumns = this._hiddenColumns.asObservable();
|
|
60
|
-
this.scrollIndex = this._scrollIndex.asObservable();
|
|
61
|
-
}
|
|
62
|
-
get dragSource() {
|
|
63
|
-
return this._dragSource;
|
|
64
|
-
}
|
|
65
|
-
setData(data) {
|
|
66
|
-
this.initialData = data?.map((_) => new TableRow(_));
|
|
67
|
-
this._displayData.next(this.initialData);
|
|
68
|
-
}
|
|
69
|
-
setDict(dict) {
|
|
70
|
-
this._dict.next(dict);
|
|
71
|
-
}
|
|
72
|
-
setColumns(columns) {
|
|
73
|
-
this.initialColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
|
|
74
|
-
this.initialColumnsHash = objectHash(this.initialColumns, {
|
|
75
|
-
algorithm: 'sha1',
|
|
76
|
-
ignoreUnknown: true,
|
|
77
|
-
excludeKeys: key => key === 'headDropdownTemplate',
|
|
78
|
-
});
|
|
79
|
-
const restored = this.restoreColumns();
|
|
80
|
-
if (restored) {
|
|
81
|
-
this.setDisplayColumns(restored);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
this.setDisplayColumns(this.initialColumns);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
restoreDefaultColumns() {
|
|
88
|
-
this.setDisplayColumns(this.initialColumns);
|
|
89
|
-
this.clearColumnsState();
|
|
90
|
-
}
|
|
91
|
-
updateColumns(columns) {
|
|
92
|
-
this.setDisplayColumns(columns);
|
|
93
|
-
this.saveColumnsState();
|
|
94
|
-
}
|
|
95
|
-
saveColumnsState() {
|
|
96
|
-
if (this._cookieName) {
|
|
97
|
-
localStorage.setItem(this._columnsCookieName, JSON.stringify({
|
|
98
|
-
hash: this.initialColumnsHash,
|
|
99
|
-
columns: this.displayColumns.map((_) => new TableColumnStore(_)),
|
|
100
|
-
}));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
clearColumnsState() {
|
|
104
|
-
localStorage.removeItem(this._columnsCookieName);
|
|
105
|
-
}
|
|
106
|
-
setDisplayColumns(columns) {
|
|
107
|
-
this.displayColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
|
|
108
|
-
this._columns.next(this.displayColumns);
|
|
109
|
-
}
|
|
110
|
-
restoreColumns() {
|
|
111
|
-
const savedColumns = JSON.parse(localStorage.getItem(this._columnsCookieName));
|
|
112
|
-
if (savedColumns && savedColumns.hash === this.initialColumnsHash) {
|
|
113
|
-
return this.restoreColumnsState(savedColumns.columns);
|
|
114
|
-
}
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
restoreColumnsState(columns) {
|
|
118
|
-
return columns.map((column) => {
|
|
119
|
-
const found = ArrayUtil.findRecursive(this.initialColumns, (item) => item.name === column.name, 'columns');
|
|
120
|
-
const resultColumn = new TableColumn(found);
|
|
121
|
-
resultColumn.width = column.width;
|
|
122
|
-
resultColumn.flex = column.flex;
|
|
123
|
-
resultColumn.locked = column.locked;
|
|
124
|
-
if (column.columns?.length > 0) {
|
|
125
|
-
resultColumn.columns = this.restoreColumnsState(column.columns);
|
|
126
|
-
}
|
|
127
|
-
return resultColumn;
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
setState(state) {
|
|
131
|
-
state.save(this._cookieName);
|
|
132
|
-
this._state.next(state);
|
|
133
|
-
}
|
|
134
|
-
setCookieName(name) {
|
|
135
|
-
this._cookieName = name;
|
|
136
|
-
this._hiddenCookieName = `${this._cookieName}_hidden_columns`;
|
|
137
|
-
this._columnsCookieName = `${this._cookieName}_columns`;
|
|
138
|
-
}
|
|
139
|
-
restoreState() {
|
|
140
|
-
let state;
|
|
141
|
-
if (this._cookieName?.length > 0 && FilterState.restore(this._cookieName)) {
|
|
142
|
-
let newState = Object.assign(this._state.value, FilterState.restore(this._cookieName));
|
|
143
|
-
newState = DateUtil.convertDateStringsToDates(newState);
|
|
144
|
-
state = new FilterState(newState);
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
state = new FilterState();
|
|
148
|
-
}
|
|
149
|
-
this.setState(state);
|
|
150
|
-
}
|
|
151
|
-
saveHiddenColumns(hiddenColumns) {
|
|
152
|
-
localStorage.setItem(this._hiddenCookieName, JSON.stringify(hiddenColumns));
|
|
153
|
-
}
|
|
154
|
-
restoreHiddenColumns() {
|
|
155
|
-
const hiddenColumns = localStorage.getItem(this._hiddenCookieName) || '[]';
|
|
156
|
-
this._hiddenColumns.next(JSON.parse(hiddenColumns));
|
|
157
|
-
}
|
|
158
|
-
sort(sortEvent) {
|
|
159
|
-
if (sortEvent.column.sortable) {
|
|
160
|
-
this.setState(StateUtil.sortColumn(sortEvent, this._state.value));
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
clearSort(column) {
|
|
164
|
-
this.setState(StateUtil.clearSort(column, this._state.value));
|
|
165
|
-
}
|
|
166
|
-
clearAllSort() {
|
|
167
|
-
this.setState(StateUtil.clearAllSort(this._state.value));
|
|
168
|
-
}
|
|
169
|
-
clearFilter(column) {
|
|
170
|
-
const state = this._state.value;
|
|
171
|
-
if (column !== null && column !== undefined && column.filterable) {
|
|
172
|
-
switch (column.filterType) {
|
|
173
|
-
case FilterType.date:
|
|
174
|
-
state.addDateFilter(new DateFilter({
|
|
175
|
-
name: column.name,
|
|
176
|
-
field: column.filterField,
|
|
177
|
-
value: new DateFilterValue(),
|
|
178
|
-
}));
|
|
179
|
-
break;
|
|
180
|
-
case FilterType.string:
|
|
181
|
-
state.addStringFilter(new StringFilter({
|
|
182
|
-
name: column.name,
|
|
183
|
-
field: column.filterField,
|
|
184
|
-
value: '',
|
|
185
|
-
}));
|
|
186
|
-
break;
|
|
187
|
-
case FilterType.number:
|
|
188
|
-
state.addNumericFilter(new NumericFilter({
|
|
189
|
-
name: column.name,
|
|
190
|
-
field: column.filterField,
|
|
191
|
-
value: new NumericFilterValue(),
|
|
192
|
-
}));
|
|
193
|
-
break;
|
|
194
|
-
case FilterType.list:
|
|
195
|
-
state.addListFilter(new ListFilter({
|
|
196
|
-
name: column.name,
|
|
197
|
-
field: column.filterField,
|
|
198
|
-
value: [],
|
|
199
|
-
type: ListFilterType.None,
|
|
200
|
-
}));
|
|
201
|
-
break;
|
|
202
|
-
}
|
|
203
|
-
this.setState(new FilterState(state));
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
clearAllFilters() {
|
|
207
|
-
const state = this._state.value;
|
|
208
|
-
state.stringFilters = [];
|
|
209
|
-
state.listFilters = [];
|
|
210
|
-
state.numericFilters = [];
|
|
211
|
-
state.dateFilters = [];
|
|
212
|
-
this.setState(new FilterState(state));
|
|
213
|
-
}
|
|
214
|
-
pinColumn(column) {
|
|
215
|
-
this.displayColumns.forEach((col) => {
|
|
216
|
-
if (col.name === column.name) {
|
|
217
|
-
col.locked = !col.locked;
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
this.updateColumns(this.displayColumns);
|
|
221
|
-
}
|
|
222
|
-
dragStart(column) {
|
|
223
|
-
this._dragSource = column;
|
|
224
|
-
}
|
|
225
|
-
lockPreviousColumns(column, element) {
|
|
226
|
-
const flat = ArrayUtil.flatten(this.displayColumns, 'columns', true).sort((a, b) => Number(b.locked) - Number(a.locked));
|
|
227
|
-
const index = flat.indexOf(column);
|
|
228
|
-
const previous = flat.slice(0, index).filter((_) => _.flex > 0);
|
|
229
|
-
if (previous?.length > 0) {
|
|
230
|
-
const tableElement = this.getTableElement(element);
|
|
231
|
-
previous.forEach((item) => {
|
|
232
|
-
const itemCol = tableElement.querySelector(`teta-head-cell[data-column=${item.name}]`);
|
|
233
|
-
if (itemCol) {
|
|
234
|
-
item.flex = 0;
|
|
235
|
-
item.width = itemCol.clientWidth;
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
resizeColumn(event) {
|
|
241
|
-
if (event.column !== null && event.column !== undefined) {
|
|
242
|
-
event.column.width = event.newWidth < 50 ? 50 : event.newWidth;
|
|
243
|
-
event.column.flex = 0;
|
|
244
|
-
}
|
|
245
|
-
this._columns.next(this.displayColumns);
|
|
246
|
-
this.saveColumnsState();
|
|
247
|
-
}
|
|
248
|
-
autosizeColumn(column, target) {
|
|
249
|
-
const tableElement = this.getTableElement(target);
|
|
250
|
-
this.setColumnAutoWidth(column, tableElement);
|
|
251
|
-
this._columns.next(this.displayColumns);
|
|
252
|
-
this.saveColumnsState();
|
|
253
|
-
}
|
|
254
|
-
autosizeAllColumns(target) {
|
|
255
|
-
const tableElement = this.getTableElement(target);
|
|
256
|
-
const flat = ArrayUtil.flatten(this.displayColumns, 'columns', true);
|
|
257
|
-
flat.forEach((col) => this.setColumnAutoWidth(col, tableElement));
|
|
258
|
-
this._columns.next(this.displayColumns);
|
|
259
|
-
this.saveColumnsState();
|
|
260
|
-
}
|
|
261
|
-
reorderColumn(column, insertBefore) {
|
|
262
|
-
const event = new ColumnReorderEvent(this._dragSource, column);
|
|
263
|
-
if (event.source !== event.target) {
|
|
264
|
-
const sourceParent = this.findParent(event.source, this.displayColumns);
|
|
265
|
-
const targetParent = this.findParent(event.target, this.displayColumns);
|
|
266
|
-
if (sourceParent && targetParent) {
|
|
267
|
-
const sourceIndex = sourceParent.indexOf(event.source);
|
|
268
|
-
sourceParent.splice(sourceIndex, 1);
|
|
269
|
-
let targetIndex = targetParent.indexOf(event.target);
|
|
270
|
-
if (!insertBefore) {
|
|
271
|
-
targetIndex = targetIndex + 1;
|
|
272
|
-
}
|
|
273
|
-
targetParent.splice(targetIndex, 0, event.source);
|
|
274
|
-
event.source.locked = event.target.locked;
|
|
275
|
-
this.updateColumns(this.displayColumns);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
startEditRow(cellCoordinates) {
|
|
280
|
-
if (this._currentEditRow?.row !== cellCoordinates?.row) {
|
|
281
|
-
if (this._currentEditRow != null) {
|
|
282
|
-
this._editRowStop.next(this._currentEditRow);
|
|
283
|
-
}
|
|
284
|
-
if (cellCoordinates === null) {
|
|
285
|
-
this._editRowStart.next(cellCoordinates);
|
|
286
|
-
this._currentEditRow = cellCoordinates;
|
|
287
|
-
}
|
|
288
|
-
else {
|
|
289
|
-
if (this.boolOrFuncCallback(this.rowEditable)(cellCoordinates.row)) {
|
|
290
|
-
this._editRowStart.next(cellCoordinates);
|
|
291
|
-
this._currentEditRow = cellCoordinates;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
startEditCell(cellCoordinates) {
|
|
297
|
-
if (this._currentEditCell?.column.name !== cellCoordinates?.column.name ||
|
|
298
|
-
this._currentEditCell?.row !== cellCoordinates?.row) {
|
|
299
|
-
if (this._currentEditCell != null) {
|
|
300
|
-
this._editCellStop.next(this._currentEditCell);
|
|
301
|
-
}
|
|
302
|
-
if (this.boolOrFuncCallback(this.cellEditable)(cellCoordinates)) {
|
|
303
|
-
this._editCellStart.next(cellCoordinates);
|
|
304
|
-
this._currentEditCell = cellCoordinates;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
setActiveRow(row) {
|
|
309
|
-
this._activeRow.next(row);
|
|
310
|
-
}
|
|
311
|
-
selectRows(rows) {
|
|
312
|
-
this._selectedRows.next(rows);
|
|
313
|
-
}
|
|
314
|
-
selectRow(row) {
|
|
315
|
-
if (this.selectType === SelectType.none) {
|
|
316
|
-
return;
|
|
317
|
-
}
|
|
318
|
-
if (this.selectType === SelectType.single) {
|
|
319
|
-
this._selectedRows.next([row]);
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
this._selectedRows.next([...this._selectedRows.value, row]);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
deselectRow(row) {
|
|
326
|
-
if (this.selectType === SelectType.none) {
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
if (this.selectType === SelectType.single) {
|
|
330
|
-
this._selectedRows.next([]);
|
|
331
|
-
}
|
|
332
|
-
else {
|
|
333
|
-
this._selectedRows.next(this._selectedRows.value.filter((_) => _ !== row));
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
selectAll() {
|
|
337
|
-
this._selectedRows.next(this._displayData.value);
|
|
338
|
-
}
|
|
339
|
-
deselectAll() {
|
|
340
|
-
this._selectedRows.next([]);
|
|
341
|
-
}
|
|
342
|
-
allRowsSelected() {
|
|
343
|
-
if (this._displayData.value?.length &&
|
|
344
|
-
this._selectedRows.value?.length &&
|
|
345
|
-
this._displayData.value.every((_) => this._selectedRows.value.indexOf(_) >= 0)) {
|
|
346
|
-
return true;
|
|
347
|
-
}
|
|
348
|
-
else if (this._selectedRows.value == null ||
|
|
349
|
-
this._selectedRows.value.length === 0) {
|
|
350
|
-
return false;
|
|
351
|
-
}
|
|
352
|
-
return null;
|
|
353
|
-
}
|
|
354
|
-
setHiddenColumns(value) {
|
|
355
|
-
this.saveHiddenColumns(value);
|
|
356
|
-
this._hiddenColumns.next(value);
|
|
357
|
-
}
|
|
358
|
-
columnIsHidden(column) {
|
|
359
|
-
return this._hiddenColumns.value.indexOf(column.name) >= 0;
|
|
360
|
-
}
|
|
361
|
-
toggleGroup(row) {
|
|
362
|
-
this._groupToggle.next(row);
|
|
363
|
-
}
|
|
364
|
-
changeValue(coordinates) {
|
|
365
|
-
this._valueChanged.next(coordinates);
|
|
366
|
-
}
|
|
367
|
-
setValue(cellValue) {
|
|
368
|
-
this._valueSet.next(cellValue);
|
|
369
|
-
}
|
|
370
|
-
getRowByIndex(rowIndex) {
|
|
371
|
-
return this._displayData.value[parseInt(rowIndex, 10)];
|
|
372
|
-
}
|
|
373
|
-
getColumnByName(columnName) {
|
|
374
|
-
return ArrayUtil.findRecursive(this.displayColumns, (iterableNode) => columnName === iterableNode.name, 'columns');
|
|
375
|
-
}
|
|
376
|
-
scrollToIndex(index) {
|
|
377
|
-
this._scrollIndex.next(null);
|
|
378
|
-
this._scrollIndex.next(index);
|
|
379
|
-
}
|
|
380
|
-
boolOrFuncCallback(variable) {
|
|
381
|
-
return (args) => {
|
|
382
|
-
if (typeof variable === 'boolean') {
|
|
383
|
-
return variable;
|
|
384
|
-
}
|
|
385
|
-
else if (this.isFunction(variable)) {
|
|
386
|
-
return variable(args);
|
|
387
|
-
}
|
|
388
|
-
return true;
|
|
389
|
-
};
|
|
390
|
-
}
|
|
391
|
-
findParent(column, columns) {
|
|
392
|
-
const found = columns.find((x) => x.name === column.name);
|
|
393
|
-
if (found !== null && found !== undefined) {
|
|
394
|
-
return columns;
|
|
395
|
-
}
|
|
396
|
-
for (let i = 0, l = columns.length; i < l; i++) {
|
|
397
|
-
const col = columns[i];
|
|
398
|
-
if (col.columns && col.columns.length) {
|
|
399
|
-
const result = this.findParent(column, col.columns);
|
|
400
|
-
if (result !== null && result !== undefined) {
|
|
401
|
-
return result;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
return null;
|
|
406
|
-
}
|
|
407
|
-
getTableElement(element) {
|
|
408
|
-
return element.closest('teta-table');
|
|
409
|
-
}
|
|
410
|
-
isFunction(obj) {
|
|
411
|
-
return !!(obj && obj?.constructor && obj?.call && obj?.apply);
|
|
412
|
-
}
|
|
413
|
-
setColumnAutoWidth(column, table) {
|
|
414
|
-
const cells = table.querySelectorAll(`teta-cell[data-column=${column.name}] .cell-text`);
|
|
415
|
-
let maxWidth = 0;
|
|
416
|
-
cells.forEach((cell) => {
|
|
417
|
-
if (cell.scrollWidth > maxWidth) {
|
|
418
|
-
maxWidth = cell.scrollWidth;
|
|
419
|
-
}
|
|
420
|
-
});
|
|
421
|
-
column.flex = 0;
|
|
422
|
-
column.width = maxWidth + 20;
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
426
|
-
TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, providedIn: 'root' });
|
|
427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, decorators: [{
|
|
428
|
-
type: Injectable,
|
|
429
|
-
args: [{
|
|
430
|
-
providedIn: 'root',
|
|
431
|
-
}]
|
|
432
|
-
}], ctorParameters: function () { return []; } });
|
|
433
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC90YWJsZS9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1B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UyxFQUFFO29CQUMzQyxPQUFPLE1BQU0sQ0FBQztpQkFDZjthQUNGO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBb0I7UUFDMUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxVQUFVLENBQUMsR0FBUTtRQUN6QixPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsV0FBVyxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFtQixFQUFFLEtBQWtCO1FBQ2hFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDbEMseUJBQXlCLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FDbkQsQ0FBQztRQUNGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRTtnQkFDL0IsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDOzt5R0F4aEJVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZVJvd30gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtcm93JztcbmltcG9ydCB7SUNlbGxDb29yZGluYXRlc30gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLWNvb3JkaW5hdGVzJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29sdW1uUmVzaXplRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2NvbHVtbi1yZXNpemUtZXZlbnQnO1xuaW1wb3J0IHtDb2x1bW5SZW9yZGVyRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2NvbHVtbi1yZW9yZGVyLWV2ZW50JztcbmltcG9ydCB7U29ydEV2ZW50fSBmcm9tICcuLi9jb250cmFjdC9zb3J0LWV2ZW50JztcbmltcG9ydCB7QXJyYXlVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC9hcnJheS11dGlsJztcbmltcG9ydCB7U3RhdGVVdGlsfSBmcm9tICcuLi91dGlsL3N0YXRlLXV0aWwnO1xuaW1wb3J0IHtTZWxlY3RUeXBlfSBmcm9tICcuLi9lbnVtL3NlbGVjdC10eXBlLmVudW0nO1xuaW1wb3J0IHtFZGl0VHlwZX0gZnJvbSAnLi4vZW51bS9lZGl0LXR5cGUuZW51bSc7XG5pbXBvcnQge0VkaXRFdmVudH0gZnJvbSAnLi4vZW51bS9lZGl0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHtMaXN0RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vbGlzdC1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2xpc3QtZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge051bWVyaWNGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7TnVtZXJpY0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyJztcbmltcG9ydCB7U3RyaW5nRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc3RyaW5nLWZpbHRlcic7XG5pbXBvcnQge0RhdGVGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7RGF0ZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyJztcbmltcG9ydCB7SURpY3Rpb25hcnl9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHtJSWROYW1lfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCBvYmplY3RIYXNoIGZyb20gJ29iamVjdC1oYXNoJztcbmltcG9ydCB7VGFibGVDb2x1bW5TdG9yZX0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uLXN0b3JlJztcbmltcG9ydCB7SUNlbGxWYWx1ZX0gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLXZhbHVlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZTxUPiB7XG4gIGNvbHVtbnM6IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG4gIGRpc3BsYXlEYXRhOiBPYnNlcnZhYmxlPFRhYmxlUm93PFQ+W10+O1xuICBkaWN0OiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj47XG4gIHN0YXRlOiBPYnNlcnZhYmxlPEZpbHRlclN0YXRlPjtcbiAgc2VsZWN0VHlwZTogU2VsZWN0VHlwZTtcbiAgZWRpdFJvd1N0YXJ0OiBPYnNlcnZhYmxlPElDZWxsQ29vcmRpbmF0ZXM8VD4+O1xuICBlZGl0Um93U3RvcDogT2JzZXJ2YWJsZTxJQ2VsbENvb3JkaW5hdGVzPFQ+PjtcblxuICBlZGl0Q2VsbFN0YXJ0OiBPYnNlcnZhYmxlPElDZWxsQ29vcmRpbmF0ZXM8VD4+O1xuICBlZGl0Q2VsbFN0b3A6IE9ic2VydmFibGU8SUNlbGxDb29yZGluYXRlczxUPj47XG4gIHZhbHVlQ2hhbmdlZDogT2JzZXJ2YWJsZTxJQ2VsbENvb3JkaW5hdGVzPFQ+PjtcbiAgdmFsdWVTZXQ6IE9ic2VydmFibGU8SUNlbGxWYWx1ZTxUPj47XG4gIHN0YXRlQ2hhbmdlZDogT2JzZXJ2YWJsZTxGaWx0ZXJTdGF0ZT47XG4gIGZpbHRlckNsZWFyOiBPYnNlcnZhYmxlPFRhYmxlQ29sdW1uPjtcbiAgZ3JvdXBUb2dnbGU6IE9ic2VydmFibGU8VGFibGVSb3c8VD4+O1xuICBzZWxlY3RlZFJvd3M6IE9ic2VydmFibGU8VGFibGVSb3c8VD5bXT47XG4gIGFjdGl2ZVJvdzogT2JzZXJ2YWJsZTxUYWJsZVJvdzxUPj47XG4gIGhpZGRlbkNvbHVtbnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzY3JvbGxJbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGVkaXRUeXBlOiBFZGl0VHlwZTtcbiAgZWRpdEV2ZW50OiBFZGl0RXZlbnQ7XG4gIHJvd0VkaXRhYmxlOiBib29sZWFuIHwgKChyb3c6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuKTtcbiAgY2VsbEVkaXRhYmxlOiBib29sZWFuIHwgKChyb3c6IElDZWxsQ29vcmRpbmF0ZXM8VD4pID0+IGJvb2xlYW4pO1xuXG4gIGdldCBkcmFnU291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLl9kcmFnU291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsQ29sdW1uc0hhc2g6IHN0cmluZztcbiAgcHJpdmF0ZSBpbml0aWFsQ29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBwcml2YXRlIGRpc3BsYXlDb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIHByaXZhdGUgX2NvbHVtbnM6IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVDb2x1bW5bXT4oW10pO1xuICBwcml2YXRlIGluaXRpYWxEYXRhOiBUYWJsZVJvdzxUPltdID0gW107XG4gIHByaXZhdGUgX2Rpc3BsYXlEYXRhOiBCZWhhdmlvclN1YmplY3Q8VGFibGVSb3c8VD5bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlUm93PFQ+W10+KFtdKTtcbiAgcHJpdmF0ZSBfZGljdDogQmVoYXZpb3JTdWJqZWN0PElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8SURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+Pih7fSk7XG4gIHByaXZhdGUgX3N0YXRlOiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyU3RhdGU+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlclN0YXRlPihuZXcgRmlsdGVyU3RhdGUoKSk7XG4gIHByaXZhdGUgX2Nvb2tpZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfaGlkZGVuQ29va2llTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9jb2x1bW5zQ29va2llTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIF9lZGl0Um93U3RhcnQgPSBuZXcgU3ViamVjdDxJQ2VsbENvb3JkaW5hdGVzPFQ+IHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBfZWRpdFJvd1N0b3AgPSBuZXcgU3ViamVjdDxJQ2VsbENvb3JkaW5hdGVzPFQ+IHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBfZWRpdENlbGxTdGFydCA9IG5ldyBTdWJqZWN0PElDZWxsQ29vcmRpbmF0ZXM8VD4gfCBudWxsPigpO1xuICBwcml2YXRlIF9lZGl0Q2VsbFN0b3AgPSBuZXcgU3ViamVjdDxJQ2VsbENvb3JkaW5hdGVzPFQ+IHwgbnVsbD4oKTtcbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8SUNlbGxDb29yZGluYXRlczxUPiB8IG51bGw+KCk7XG4gIHByaXZhdGUgX3ZhbHVlU2V0ID0gbmV3IFN1YmplY3Q8SUNlbGxWYWx1ZTxUPj4oKTtcbiAgcHJpdmF0ZSBfc3RhdGVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8RmlsdGVyU3RhdGU+KCk7XG4gIHByaXZhdGUgX2ZpbHRlckNsZWFyID0gbmV3IFN1YmplY3Q8VGFibGVDb2x1bW4+KCk7XG4gIHByaXZhdGUgX2RyYWdTb3VyY2U6IFRhYmxlQ29sdW1uO1xuICBwcml2YXRlIF9ncm91cFRvZ2dsZSA9IG5ldyBTdWJqZWN0PFRhYmxlUm93PFQ+PigpO1xuICBwcml2YXRlIF9zZWxlY3RlZFJvd3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlUm93PFQ+W10+KFtdKTtcbiAgcHJpdmF0ZSBfYWN0aXZlUm93ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZVJvdzxUPj4obnVsbCk7XG4gIHByaXZhdGUgX2hpZGRlbkNvbHVtbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIHByaXZhdGUgX3Njcm9sbEluZGV4ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRFZGl0Um93OiBJQ2VsbENvb3JkaW5hdGVzPFQ+O1xuICBwcml2YXRlIF9jdXJyZW50RWRpdENlbGw6IElDZWxsQ29vcmRpbmF0ZXM8VD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5fY29sdW1ucy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5fZGlzcGxheURhdGEuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5kaWN0ID0gdGhpcy5fZGljdC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5fc3RhdGUuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5lZGl0Um93U3RhcnQgPSB0aGlzLl9lZGl0Um93U3RhcnQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5lZGl0Um93U3RvcCA9IHRoaXMuX2VkaXRSb3dTdG9wLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuZWRpdENlbGxTdGFydCA9IHRoaXMuX2VkaXRDZWxsU3RhcnQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5lZGl0Q2VsbFN0b3AgPSB0aGlzLl9lZGl0Q2VsbFN0b3AuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQgPSB0aGlzLl92YWx1ZUNoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy52YWx1ZVNldCA9IHRoaXMuX3ZhbHVlU2V0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VkID0gdGhpcy5fc3RhdGVDaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuZmlsdGVyQ2xlYXIgPSB0aGlzLl9maWx0ZXJDbGVhci5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmdyb3VwVG9nZ2xlID0gdGhpcy5fZ3JvdXBUb2dnbGUuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLl9zZWxlY3RlZFJvd3MuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5hY3RpdmVSb3cgPSB0aGlzLl9hY3RpdmVSb3cuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5oaWRkZW5Db2x1bW5zID0gdGhpcy5faGlkZGVuQ29sdW1ucy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnNjcm9sbEluZGV4ID0gdGhpcy5fc2Nyb2xsSW5kZXguYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXREYXRhKGRhdGE6IFRbXSk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbERhdGEgPSBkYXRhPy5tYXAoKF8pID0+IG5ldyBUYWJsZVJvdzxUPihfKSk7XG4gICAgdGhpcy5fZGlzcGxheURhdGEubmV4dCh0aGlzLmluaXRpYWxEYXRhKTtcbiAgfVxuXG4gIHNldERpY3QoZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+KTogdm9pZCB7XG4gICAgdGhpcy5fZGljdC5uZXh0KGRpY3QpO1xuICB9XG5cbiAgc2V0Q29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsQ29sdW1ucyA9IGNvbHVtbnMgPyBjb2x1bW5zLm1hcCgoXykgPT4gbmV3IFRhYmxlQ29sdW1uKF8pKSA6IFtdO1xuICAgIHRoaXMuaW5pdGlhbENvbHVtbnNIYXNoID0gb2JqZWN0SGFzaCh0aGlzLmluaXRpYWxDb2x1bW5zLCB7XG4gICAgICBhbGdvcml0aG06ICdzaGExJyxcbiAgICAgIGlnbm9yZVVua25vd246IHRydWUsXG4gICAgICBleGNsdWRlS2V5czoga2V5ID0+IGtleSA9PT0gJ2hlYWREcm9wZG93blRlbXBsYXRlJyxcbiAgICB9KTtcbiAgICBjb25zdCByZXN0b3JlZCA9IHRoaXMucmVzdG9yZUNvbHVtbnMoKTtcblxuICAgIGlmIChyZXN0b3JlZCkge1xuICAgICAgdGhpcy5zZXREaXNwbGF5Q29sdW1ucyhyZXN0b3JlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGlzcGxheUNvbHVtbnModGhpcy5pbml0aWFsQ29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgcmVzdG9yZURlZmF1bHRDb2x1bW5zKCkge1xuICAgIHRoaXMuc2V0RGlzcGxheUNvbHVtbnModGhpcy5pbml0aWFsQ29sdW1ucyk7XG4gICAgdGhpcy5jbGVhckNvbHVtbnNTdGF0ZSgpO1xuICB9XG5cbiAgdXBkYXRlQ29sdW1ucyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy5zZXREaXNwbGF5Q29sdW1ucyhjb2x1bW5zKTtcbiAgICB0aGlzLnNhdmVDb2x1bW5zU3RhdGUoKTtcbiAgfVxuXG4gIHNhdmVDb2x1bW5zU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMuX2Nvb2tpZU5hbWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICB0aGlzLl9jb2x1bW5zQ29va2llTmFtZSxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGhhc2g6IHRoaXMuaW5pdGlhbENvbHVtbnNIYXNoLFxuICAgICAgICAgIGNvbHVtbnM6IHRoaXMuZGlzcGxheUNvbHVtbnMubWFwKChfKSA9PiBuZXcgVGFibGVDb2x1bW5TdG9yZShfKSksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQ29sdW1uc1N0YXRlKCkge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuX2NvbHVtbnNDb29raWVOYW1lKTtcbiAgfVxuXG4gIHNldERpc3BsYXlDb2x1bW5zKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10pOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlDb2x1bW5zID0gY29sdW1ucyA/IGNvbHVtbnMubWFwKChfKSA9PiBuZXcgVGFibGVDb2x1bW4oXykpIDogW107XG4gICAgdGhpcy5fY29sdW1ucy5uZXh0KHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICB9XG5cbiAgcmVzdG9yZUNvbHVtbnMoKSB7XG4gICAgY29uc3Qgc2F2ZWRDb2x1bW5zID0gSlNPTi5wYXJzZShcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuX2NvbHVtbnNDb29raWVOYW1lKVxuICAgICk7XG4gICAgaWYgKHNhdmVkQ29sdW1ucyAmJiBzYXZlZENvbHVtbnMuaGFzaCA9PT0gdGhpcy5pbml0aWFsQ29sdW1uc0hhc2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3RvcmVDb2x1bW5zU3RhdGUoc2F2ZWRDb2x1bW5zLmNvbHVtbnMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlc3RvcmVDb2x1bW5zU3RhdGUoY29sdW1uczogVGFibGVDb2x1bW5TdG9yZVtdKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2x1bW46IFRhYmxlQ29sdW1uU3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IGZvdW5kID0gQXJyYXlVdGlsLmZpbmRSZWN1cnNpdmUoXG4gICAgICAgIHRoaXMuaW5pdGlhbENvbHVtbnMsXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IGNvbHVtbi5uYW1lLFxuICAgICAgICAnY29sdW1ucydcbiAgICAgICk7XG4gICAgICBjb25zdCByZXN1bHRDb2x1bW4gPSBuZXcgVGFibGVDb2x1bW4oZm91bmQpO1xuICAgICAgcmVzdWx0Q29sdW1uLndpZHRoID0gY29sdW1uLndpZHRoO1xuICAgICAgcmVzdWx0Q29sdW1uLmZsZXggPSBjb2x1bW4uZmxleDtcbiAgICAgIHJlc3VsdENvbHVtbi5sb2NrZWQgPSBjb2x1bW4ubG9ja2VkO1xuICAgICAgaWYgKGNvbHVtbi5jb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlc3VsdENvbHVtbi5jb2x1bW5zID0gdGhpcy5yZXN0b3JlQ29sdW1uc1N0YXRlKGNvbHVtbi5jb2x1bW5zKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRDb2x1bW47XG4gICAgfSk7XG4gIH1cblxuICBzZXRTdGF0ZShzdGF0ZTogRmlsdGVyU3RhdGUpOiB2b2lkIHtcbiAgICBzdGF0ZS5zYXZlKHRoaXMuX2Nvb2tpZU5hbWUpO1xuICAgIHRoaXMuX3N0YXRlLm5leHQoc3RhdGUpO1xuICB9XG5cbiAgc2V0Q29va2llTmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9jb29raWVOYW1lID0gbmFtZTtcbiAgICB0aGlzLl9oaWRkZW5Db29raWVOYW1lID0gYCR7dGhpcy5fY29va2llTmFtZX1faGlkZGVuX2NvbHVtbnNgO1xuICAgIHRoaXMuX2NvbHVtbnNDb29raWVOYW1lID0gYCR7dGhpcy5fY29va2llTmFtZX1fY29sdW1uc2A7XG4gIH1cblxuICByZXN0b3JlU3RhdGUoKTogdm9pZCB7XG4gICAgbGV0IHN0YXRlOiBGaWx0ZXJTdGF0ZTtcbiAgICBpZiAodGhpcy5fY29va2llTmFtZT8ubGVuZ3RoID4gMCAmJiBGaWx0ZXJTdGF0ZS5yZXN0b3JlKHRoaXMuX2Nvb2tpZU5hbWUpKSB7XG4gICAgICBsZXQgbmV3U3RhdGUgPSBPYmplY3QuYXNzaWduKFxuICAgICAgICB0aGlzLl9zdGF0ZS52YWx1ZSxcbiAgICAgICAgRmlsdGVyU3RhdGUucmVzdG9yZSh0aGlzLl9jb29raWVOYW1lKVxuICAgICAgKTtcbiAgICAgIG5ld1N0YXRlID0gRGF0ZVV0aWwuY29udmVydERhdGVTdHJpbmdzVG9EYXRlcyhuZXdTdGF0ZSk7XG4gICAgICBzdGF0ZSA9IG5ldyBGaWx0ZXJTdGF0ZShuZXdTdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlID0gbmV3IEZpbHRlclN0YXRlKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgc2F2ZUhpZGRlbkNvbHVtbnMoaGlkZGVuQ29sdW1uczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9oaWRkZW5Db29raWVOYW1lLCBKU09OLnN0cmluZ2lmeShoaWRkZW5Db2x1bW5zKSk7XG4gIH1cblxuICByZXN0b3JlSGlkZGVuQ29sdW1ucygpOiB2b2lkIHtcbiAgICBjb25zdCBoaWRkZW5Db2x1bW5zID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5faGlkZGVuQ29va2llTmFtZSkgfHwgJ1tdJztcbiAgICB0aGlzLl9oaWRkZW5Db2x1bW5zLm5leHQoSlNPTi5wYXJzZShoaWRkZW5Db2x1bW5zKSk7XG4gIH1cblxuICBzb3J0KHNvcnRFdmVudDogU29ydEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHNvcnRFdmVudC5jb2x1bW4uc29ydGFibGUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoU3RhdGVVdGlsLnNvcnRDb2x1bW4oc29ydEV2ZW50LCB0aGlzLl9zdGF0ZS52YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyU29ydChjb2x1bW46IFRhYmxlQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdGF0ZShTdGF0ZVV0aWwuY2xlYXJTb3J0KGNvbHVtbiwgdGhpcy5fc3RhdGUudmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyQWxsU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0YXRlKFN0YXRlVXRpbC5jbGVhckFsbFNvcnQodGhpcy5fc3RhdGUudmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVyKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3N0YXRlLnZhbHVlO1xuICAgIGlmIChjb2x1bW4gIT09IG51bGwgJiYgY29sdW1uICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmZpbHRlcmFibGUpIHtcbiAgICAgIHN3aXRjaCAoY29sdW1uLmZpbHRlclR5cGUpIHtcbiAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLmRhdGU6XG4gICAgICAgICAgc3RhdGUuYWRkRGF0ZUZpbHRlcihcbiAgICAgICAgICAgIG5ldyBEYXRlRmlsdGVyKHtcbiAgICAgICAgICAgICAgbmFtZTogY29sdW1uLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmlsdGVyRmllbGQsXG4gICAgICAgICAgICAgIHZhbHVlOiBuZXcgRGF0ZUZpbHRlclZhbHVlKCksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRmlsdGVyVHlwZS5zdHJpbmc6XG4gICAgICAgICAgc3RhdGUuYWRkU3RyaW5nRmlsdGVyKFxuICAgICAgICAgICAgbmV3IFN0cmluZ0ZpbHRlcih7XG4gICAgICAgICAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmZpbHRlckZpZWxkLFxuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRmlsdGVyVHlwZS5udW1iZXI6XG4gICAgICAgICAgc3RhdGUuYWRkTnVtZXJpY0ZpbHRlcihcbiAgICAgICAgICAgIG5ldyBOdW1lcmljRmlsdGVyKHtcbiAgICAgICAgICAgICAgbmFtZTogY29sdW1uLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmlsdGVyRmllbGQsXG4gICAgICAgICAgICAgIHZhbHVlOiBuZXcgTnVtZXJpY0ZpbHRlclZhbHVlKCksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRmlsdGVyVHlwZS5saXN0OlxuICAgICAgICAgIHN0YXRlLmFkZExpc3RGaWx0ZXIoXG4gICAgICAgICAgICBuZXcgTGlzdEZpbHRlcih7XG4gICAgICAgICAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmZpbHRlckZpZWxkLFxuICAgICAgICAgICAgICB2YWx1ZTogW10sXG4gICAgICAgICAgICAgIHR5cGU6IExpc3RGaWx0ZXJUeXBlLk5vbmUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKG5ldyBGaWx0ZXJTdGF0ZShzdGF0ZSkpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQWxsRmlsdGVycygpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3N0YXRlLnZhbHVlO1xuICAgIHN0YXRlLnN0cmluZ0ZpbHRlcnMgPSBbXTtcbiAgICBzdGF0ZS5saXN0RmlsdGVycyA9IFtdO1xuICAgIHN0YXRlLm51bWVyaWNGaWx0ZXJzID0gW107XG4gICAgc3RhdGUuZGF0ZUZpbHRlcnMgPSBbXTtcbiAgICB0aGlzLnNldFN0YXRlKG5ldyBGaWx0ZXJTdGF0ZShzdGF0ZSkpO1xuICB9XG5cbiAgcGluQ29sdW1uKGNvbHVtbjogVGFibGVDb2x1bW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlDb2x1bW5zLmZvckVhY2goKGNvbDogVGFibGVDb2x1bW4pID0+IHtcbiAgICAgIGlmIChjb2wubmFtZSA9PT0gY29sdW1uLm5hbWUpIHtcbiAgICAgICAgY29sLmxvY2tlZCA9ICFjb2wubG9ja2VkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlQ29sdW1ucyh0aGlzLmRpc3BsYXlDb2x1bW5zKTtcbiAgfVxuXG4gIGRyYWdTdGFydChjb2x1bW46IFRhYmxlQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhZ1NvdXJjZSA9IGNvbHVtbjtcbiAgfVxuXG4gIGxvY2tQcmV2aW91c0NvbHVtbnMoY29sdW1uOiBUYWJsZUNvbHVtbiwgZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBmbGF0ID0gQXJyYXlVdGlsLmZsYXR0ZW4odGhpcy5kaXNwbGF5Q29sdW1ucywgJ2NvbHVtbnMnLCB0cnVlKS5zb3J0KFxuICAgICAgKGEsIGIpID0+IE51bWJlcihiLmxvY2tlZCkgLSBOdW1iZXIoYS5sb2NrZWQpXG4gICAgKTtcbiAgICBjb25zdCBpbmRleCA9IGZsYXQuaW5kZXhPZihjb2x1bW4pO1xuICAgIGNvbnN0IHByZXZpb3VzID0gZmxhdC5zbGljZSgwLCBpbmRleCkuZmlsdGVyKChfKSA9PiBfLmZsZXggPiAwKTtcbiAgICBpZiAocHJldmlvdXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IHRoaXMuZ2V0VGFibGVFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgcHJldmlvdXMuZm9yRWFjaCgoaXRlbTogVGFibGVDb2x1bW4pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbUNvbCA9IHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIGB0ZXRhLWhlYWQtY2VsbFtkYXRhLWNvbHVtbj0ke2l0ZW0ubmFtZX1dYFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoaXRlbUNvbCkge1xuICAgICAgICAgIGl0ZW0uZmxleCA9IDA7XG4gICAgICAgICAgaXRlbS53aWR0aCA9IGl0ZW1Db2wuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZUNvbHVtbihldmVudDogQ29sdW1uUmVzaXplRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY29sdW1uICE9PSBudWxsICYmIGV2ZW50LmNvbHVtbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBldmVudC5jb2x1bW4ud2lkdGggPSBldmVudC5uZXdXaWR0aCA8IDUwID8gNTAgOiBldmVudC5uZXdXaWR0aDtcbiAgICAgIGV2ZW50LmNvbHVtbi5mbGV4ID0gMDtcbiAgICB9XG4gICAgdGhpcy5fY29sdW1ucy5uZXh0KHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgIHRoaXMuc2F2ZUNvbHVtbnNTdGF0ZSgpO1xuICB9XG5cbiAgYXV0b3NpemVDb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgdGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHRhYmxlRWxlbWVudCA9IHRoaXMuZ2V0VGFibGVFbGVtZW50KHRhcmdldCk7XG4gICAgdGhpcy5zZXRDb2x1bW5BdXRvV2lkdGgoY29sdW1uLCB0YWJsZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIHRoaXMuX2NvbHVtbnMubmV4dCh0aGlzLmRpc3BsYXlDb2x1bW5zKTtcbiAgICB0aGlzLnNhdmVDb2x1bW5zU3RhdGUoKTtcbiAgfVxuXG4gIGF1dG9zaXplQWxsQ29sdW1ucyh0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgdGFibGVFbGVtZW50ID0gdGhpcy5nZXRUYWJsZUVsZW1lbnQodGFyZ2V0KTtcbiAgICBjb25zdCBmbGF0ID0gQXJyYXlVdGlsLmZsYXR0ZW4odGhpcy5kaXNwbGF5Q29sdW1ucywgJ2NvbHVtbnMnLCB0cnVlKTtcbiAgICBmbGF0LmZvckVhY2goKGNvbCkgPT5cbiAgICAgIHRoaXMuc2V0Q29sdW1uQXV0b1dpZHRoKGNvbCwgdGFibGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxuICAgICk7XG4gICAgdGhpcy5fY29sdW1ucy5uZXh0KHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgIHRoaXMuc2F2ZUNvbHVtbnNTdGF0ZSgpO1xuICB9XG5cbiAgcmVvcmRlckNvbHVtbihjb2x1bW46IFRhYmxlQ29sdW1uLCBpbnNlcnRCZWZvcmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDb2x1bW5SZW9yZGVyRXZlbnQodGhpcy5fZHJhZ1NvdXJjZSwgY29sdW1uKTtcbiAgICBpZiAoZXZlbnQuc291cmNlICE9PSBldmVudC50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHNvdXJjZVBhcmVudCA9IHRoaXMuZmluZFBhcmVudChldmVudC5zb3VyY2UsIHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgICAgY29uc3QgdGFyZ2V0UGFyZW50ID0gdGhpcy5maW5kUGFyZW50KGV2ZW50LnRhcmdldCwgdGhpcy5kaXNwbGF5Q29sdW1ucyk7XG5cbiAgICAgIGlmIChzb3VyY2VQYXJlbnQgJiYgdGFyZ2V0UGFyZW50KSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZUluZGV4ID0gc291cmNlUGFyZW50LmluZGV4T2YoZXZlbnQuc291cmNlKTtcbiAgICAgICAgc291cmNlUGFyZW50LnNwbGljZShzb3VyY2VJbmRleCwgMSk7XG4gICAgICAgIGxldCB0YXJnZXRJbmRleCA9IHRhcmdldFBhcmVudC5pbmRleE9mKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICghaW5zZXJ0QmVmb3JlKSB7XG4gICAgICAgICAgdGFyZ2V0SW5kZXggPSB0YXJnZXRJbmRleCArIDE7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0UGFyZW50LnNwbGljZSh0YXJnZXRJbmRleCwgMCwgZXZlbnQuc291cmNlKTtcbiAgICAgICAgZXZlbnQuc291cmNlLmxvY2tlZCA9IGV2ZW50LnRhcmdldC5sb2NrZWQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zKHRoaXMuZGlzcGxheUNvbHVtbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXJ0RWRpdFJvdyhjZWxsQ29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXM8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fY3VycmVudEVkaXRSb3c/LnJvdyAhPT0gY2VsbENvb3JkaW5hdGVzPy5yb3cpIHtcbiAgICAgIGlmICh0aGlzLl9jdXJyZW50RWRpdFJvdyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2VkaXRSb3dTdG9wLm5leHQodGhpcy5fY3VycmVudEVkaXRSb3cpO1xuICAgICAgfVxuICAgICAgaWYgKGNlbGxDb29yZGluYXRlcyA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9lZGl0Um93U3RhcnQubmV4dChjZWxsQ29vcmRpbmF0ZXMpO1xuICAgICAgICB0aGlzLl9jdXJyZW50RWRpdFJvdyA9IGNlbGxDb29yZGluYXRlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmJvb2xPckZ1bmNDYWxsYmFjazxUYWJsZVJvdzxUPj4odGhpcy5yb3dFZGl0YWJsZSkoXG4gICAgICAgICAgICBjZWxsQ29vcmRpbmF0ZXMucm93XG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLl9lZGl0Um93U3RhcnQubmV4dChjZWxsQ29vcmRpbmF0ZXMpO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRFZGl0Um93ID0gY2VsbENvb3JkaW5hdGVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhcnRFZGl0Q2VsbChjZWxsQ29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXM8VD4pOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLl9jdXJyZW50RWRpdENlbGw/LmNvbHVtbi5uYW1lICE9PSBjZWxsQ29vcmRpbmF0ZXM/LmNvbHVtbi5uYW1lIHx8XG4gICAgICB0aGlzLl9jdXJyZW50RWRpdENlbGw/LnJvdyAhPT0gY2VsbENvb3JkaW5hdGVzPy5yb3dcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLl9jdXJyZW50RWRpdENlbGwgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9lZGl0Q2VsbFN0b3AubmV4dCh0aGlzLl9jdXJyZW50RWRpdENlbGwpO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmJvb2xPckZ1bmNDYWxsYmFjazxJQ2VsbENvb3JkaW5hdGVzPFQ+Pih0aGlzLmNlbGxFZGl0YWJsZSkoXG4gICAgICAgICAgY2VsbENvb3JkaW5hdGVzXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9lZGl0Q2VsbFN0YXJ0Lm5leHQoY2VsbENvb3JkaW5hdGVzKTtcbiAgICAgICAgdGhpcy5fY3VycmVudEVkaXRDZWxsID0gY2VsbENvb3JkaW5hdGVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldEFjdGl2ZVJvdyhyb3c6IFRhYmxlUm93PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlUm93Lm5leHQocm93KTtcbiAgfVxuXG4gIHNlbGVjdFJvd3Mocm93czogVGFibGVSb3c8VD5bXSk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkUm93cy5uZXh0KHJvd3MpO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogVGFibGVSb3c8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RUeXBlID09PSBTZWxlY3RUeXBlLm5vbmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSA9PT0gU2VsZWN0VHlwZS5zaW5nbGUpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkUm93cy5uZXh0KFtyb3ddKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQoWy4uLnRoaXMuX3NlbGVjdGVkUm93cy52YWx1ZSwgcm93XSk7XG4gICAgfVxuICB9XG5cbiAgZGVzZWxlY3RSb3cocm93OiBUYWJsZVJvdzxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT09IFNlbGVjdFR5cGUubm9uZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RUeXBlID09PSBTZWxlY3RUeXBlLnNpbmdsZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQoW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLnZhbHVlLmZpbHRlcigoXykgPT4gXyAhPT0gcm93KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQodGhpcy5fZGlzcGxheURhdGEudmFsdWUpO1xuICB9XG5cbiAgZGVzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQoW10pO1xuICB9XG5cbiAgYWxsUm93c1NlbGVjdGVkKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLl9kaXNwbGF5RGF0YS52YWx1ZT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MudmFsdWU/Lmxlbmd0aCAmJlxuICAgICAgdGhpcy5fZGlzcGxheURhdGEudmFsdWUuZXZlcnkoXG4gICAgICAgIChfKSA9PiB0aGlzLl9zZWxlY3RlZFJvd3MudmFsdWUuaW5kZXhPZihfKSA+PSAwXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLnZhbHVlID09IG51bGwgfHxcbiAgICAgIHRoaXMuX3NlbGVjdGVkUm93cy52YWx1ZS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXRIaWRkZW5Db2x1bW5zKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2F2ZUhpZGRlbkNvbHVtbnModmFsdWUpO1xuICAgIHRoaXMuX2hpZGRlbkNvbHVtbnMubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBjb2x1bW5Jc0hpZGRlbihjb2x1bW46IFRhYmxlQ29sdW1uKSB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGRlbkNvbHVtbnMudmFsdWUuaW5kZXhPZihjb2x1bW4ubmFtZSkgPj0gMDtcbiAgfVxuXG4gIHRvZ2dsZUdyb3VwKHJvdzogVGFibGVSb3c8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9ncm91cFRvZ2dsZS5uZXh0KHJvdyk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZShjb29yZGluYXRlczogSUNlbGxDb29yZGluYXRlczxUPik6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZC5uZXh0KGNvb3JkaW5hdGVzKTtcbiAgfVxuXG4gIHNldFZhbHVlKGNlbGxWYWx1ZTogSUNlbGxWYWx1ZTxUPik6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlU2V0Lm5leHQoY2VsbFZhbHVlKTtcbiAgfVxuXG4gIGdldFJvd0J5SW5kZXgocm93SW5kZXg6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5RGF0YS52YWx1ZVtwYXJzZUludChyb3dJbmRleCwgMTApXTtcbiAgfVxuXG4gIGdldENvbHVtbkJ5TmFtZShjb2x1bW5OYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gQXJyYXlVdGlsLmZpbmRSZWN1cnNpdmUoXG4gICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zLFxuICAgICAgKGl0ZXJhYmxlTm9kZSkgPT4gY29sdW1uTmFtZSA9PT0gaXRlcmFibGVOb2RlLm5hbWUsXG4gICAgICAnY29sdW1ucydcbiAgICApO1xuICB9XG5cbiAgc2Nyb2xsVG9JbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2Nyb2xsSW5kZXgubmV4dChudWxsKTtcbiAgICB0aGlzLl9zY3JvbGxJbmRleC5uZXh0KGluZGV4KTtcbiAgfVxuXG4gIGJvb2xPckZ1bmNDYWxsYmFjazxNPih2YXJpYWJsZTogYm9vbGVhbiB8ICgocm93OiBNKSA9PiBib29sZWFuKSkge1xuICAgIHJldHVybiAoYXJnczogTSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB2YXJpYWJsZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHJldHVybiB2YXJpYWJsZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Z1bmN0aW9uKHZhcmlhYmxlKSkge1xuICAgICAgICByZXR1cm4gKHZhcmlhYmxlIGFzIChyb3c6IE0pID0+IGJvb2xlYW4pKGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBhcmVudChcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uLFxuICAgIGNvbHVtbnM6IFRhYmxlQ29sdW1uW11cbiAgKTogVGFibGVDb2x1bW5bXSB8IG51bGwge1xuICAgIGNvbnN0IGZvdW5kID0gY29sdW1ucy5maW5kKCh4KSA9PiB4Lm5hbWUgPT09IGNvbHVtbi5uYW1lKTtcbiAgICBpZiAoZm91bmQgIT09IG51bGwgJiYgZm91bmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gY29sdW1ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbCA9IGNvbHVtbnNbaV07XG4gICAgICBpZiAoY29sLmNvbHVtbnMgJiYgY29sLmNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZFBhcmVudChjb2x1bW4sIGNvbC5jb2x1bW5zKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gbnVsbCAmJiByZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYmxlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiBlbGVtZW50LmNsb3Nlc3QoJ3RldGEtdGFibGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNGdW5jdGlvbihvYmo6IGFueSkge1xuICAgIHJldHVybiAhIShvYmogJiYgb2JqPy5jb25zdHJ1Y3RvciAmJiBvYmo/LmNhbGwgJiYgb2JqPy5hcHBseSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbHVtbkF1dG9XaWR0aChjb2x1bW46IFRhYmxlQ29sdW1uLCB0YWJsZTogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBjZWxscyA9IHRhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgdGV0YS1jZWxsW2RhdGEtY29sdW1uPSR7Y29sdW1uLm5hbWV9XSAuY2VsbC10ZXh0YFxuICAgICk7XG4gICAgbGV0IG1heFdpZHRoID0gMDtcbiAgICBjZWxscy5mb3JFYWNoKChjZWxsKSA9PiB7XG4gICAgICBpZiAoY2VsbC5zY3JvbGxXaWR0aCA+IG1heFdpZHRoKSB7XG4gICAgICAgIG1heFdpZHRoID0gY2VsbC5zY3JvbGxXaWR0aDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb2x1bW4uZmxleCA9IDA7XG4gICAgY29sdW1uLndpZHRoID0gbWF4V2lkdGggKyAyMDtcbiAgfVxufVxuIl19
|