@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
|
@@ -0,0 +1,45 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3NlbGVjdGlvbi1oZWFkLWNlbGwvc2VsZWN0aW9uLWhlYWQtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEdBR1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVEzQyxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQW9CLElBQXFCLEVBQVUsSUFBdUI7UUFBdEQsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUxqQixtQkFBYyxHQUNyRSxJQUFJLENBQUM7UUFFQyxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBRXVELENBQUM7SUFFOUUsU0FBUyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7dUhBOUJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDRJQ2pCdkMsK05BS0E7MkZEWWEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTTttSUFHVSxjQUFjO3NCQUF0RSxXQUFXO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1zZWxlY3Rpb24taGVhZC1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1oZWFkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Rpb24taGVhZC1jZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25IZWFkQ2VsbENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZS1oZWFkX19ncm91cCcpIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDZWxsQ2xhc3MgPVxuICAgIHRydWU7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3N2YzogVGFibGVTZXJ2aWNlPFQ+LCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHNlbGVjdEFsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5fc3ZjLnNlbGVjdEFsbCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zdmMuZGVzZWxlY3RBbGwoKTtcbiAgICB9XG4gIH1cblxuICBhbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3ZjLmFsbFJvd3NTZWxlY3RlZCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3ZjLnNlbGVjdGVkUm93c1xuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPHRldGEtY2hlY2tib3ggW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFthbGxvd051bGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbbm9MYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImFsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj48L3RldGEtY2hlY2tib3g+XG4iXX0=
|
|
@@ -0,0 +1,434 @@
|
|
|
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
|
+
// cellEditable: boolean | ((row: ICellCoordinates<T>) => boolean);
|
|
63
|
+
get dragSource() {
|
|
64
|
+
return this._dragSource;
|
|
65
|
+
}
|
|
66
|
+
setData(data) {
|
|
67
|
+
this.initialData = data?.map((_) => new TableRow(_));
|
|
68
|
+
this._displayData.next(this.initialData);
|
|
69
|
+
}
|
|
70
|
+
setDict(dict) {
|
|
71
|
+
this._dict.next(dict);
|
|
72
|
+
}
|
|
73
|
+
setColumns(columns) {
|
|
74
|
+
this.initialColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
|
|
75
|
+
this.initialColumnsHash = objectHash(this.initialColumns, {
|
|
76
|
+
algorithm: 'sha1',
|
|
77
|
+
ignoreUnknown: true,
|
|
78
|
+
excludeKeys: key => key === 'headDropdownTemplate',
|
|
79
|
+
});
|
|
80
|
+
const restored = this.restoreColumns();
|
|
81
|
+
if (restored) {
|
|
82
|
+
this.setDisplayColumns(restored);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.setDisplayColumns(this.initialColumns);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
restoreDefaultColumns() {
|
|
89
|
+
this.setDisplayColumns(this.initialColumns);
|
|
90
|
+
this.clearColumnsState();
|
|
91
|
+
}
|
|
92
|
+
updateColumns(columns) {
|
|
93
|
+
this.setDisplayColumns(columns);
|
|
94
|
+
this.saveColumnsState();
|
|
95
|
+
}
|
|
96
|
+
saveColumnsState() {
|
|
97
|
+
if (this._cookieName) {
|
|
98
|
+
localStorage.setItem(this._columnsCookieName, JSON.stringify({
|
|
99
|
+
hash: this.initialColumnsHash,
|
|
100
|
+
columns: this.displayColumns.map((_) => new TableColumnStore(_)),
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
clearColumnsState() {
|
|
105
|
+
localStorage.removeItem(this._columnsCookieName);
|
|
106
|
+
}
|
|
107
|
+
setDisplayColumns(columns) {
|
|
108
|
+
this.displayColumns = columns ? columns.map((_) => new TableColumn(_)) : [];
|
|
109
|
+
this._columns.next(this.displayColumns);
|
|
110
|
+
}
|
|
111
|
+
restoreColumns() {
|
|
112
|
+
const savedColumns = JSON.parse(localStorage.getItem(this._columnsCookieName));
|
|
113
|
+
if (savedColumns && savedColumns.hash === this.initialColumnsHash) {
|
|
114
|
+
return this.restoreColumnsState(savedColumns.columns);
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
restoreColumnsState(columns) {
|
|
119
|
+
return columns.map((column) => {
|
|
120
|
+
const found = ArrayUtil.findRecursive(this.initialColumns, (item) => item.name === column.name, 'columns');
|
|
121
|
+
const resultColumn = new TableColumn(found);
|
|
122
|
+
resultColumn.width = column.width;
|
|
123
|
+
resultColumn.flex = column.flex;
|
|
124
|
+
resultColumn.locked = column.locked;
|
|
125
|
+
if (column.columns?.length > 0) {
|
|
126
|
+
resultColumn.columns = this.restoreColumnsState(column.columns);
|
|
127
|
+
}
|
|
128
|
+
return resultColumn;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
setState(state) {
|
|
132
|
+
state.save(this._cookieName);
|
|
133
|
+
this._state.next(state);
|
|
134
|
+
}
|
|
135
|
+
setCookieName(name) {
|
|
136
|
+
this._cookieName = name;
|
|
137
|
+
this._hiddenCookieName = `${this._cookieName}_hidden_columns`;
|
|
138
|
+
this._columnsCookieName = `${this._cookieName}_columns`;
|
|
139
|
+
}
|
|
140
|
+
restoreState() {
|
|
141
|
+
let state;
|
|
142
|
+
if (this._cookieName?.length > 0 && FilterState.restore(this._cookieName)) {
|
|
143
|
+
let newState = Object.assign(this._state.value, FilterState.restore(this._cookieName));
|
|
144
|
+
newState = DateUtil.convertDateStringsToDates(newState);
|
|
145
|
+
state = new FilterState(newState);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
state = new FilterState();
|
|
149
|
+
}
|
|
150
|
+
this.setState(state);
|
|
151
|
+
}
|
|
152
|
+
saveHiddenColumns(hiddenColumns) {
|
|
153
|
+
localStorage.setItem(this._hiddenCookieName, JSON.stringify(hiddenColumns));
|
|
154
|
+
}
|
|
155
|
+
restoreHiddenColumns() {
|
|
156
|
+
const hiddenColumns = localStorage.getItem(this._hiddenCookieName) || '[]';
|
|
157
|
+
this._hiddenColumns.next(JSON.parse(hiddenColumns));
|
|
158
|
+
}
|
|
159
|
+
sort(sortEvent) {
|
|
160
|
+
if (sortEvent.column.sortable) {
|
|
161
|
+
this.setState(StateUtil.sortColumn(sortEvent, this._state.value));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
clearSort(column) {
|
|
165
|
+
this.setState(StateUtil.clearSort(column, this._state.value));
|
|
166
|
+
}
|
|
167
|
+
clearAllSort() {
|
|
168
|
+
this.setState(StateUtil.clearAllSort(this._state.value));
|
|
169
|
+
}
|
|
170
|
+
clearFilter(column) {
|
|
171
|
+
const state = this._state.value;
|
|
172
|
+
if (column !== null && column !== undefined && column.filterable) {
|
|
173
|
+
switch (column.filterType) {
|
|
174
|
+
case FilterType.date:
|
|
175
|
+
state.addDateFilter(new DateFilter({
|
|
176
|
+
name: column.name,
|
|
177
|
+
field: column.filterField,
|
|
178
|
+
value: new DateFilterValue(),
|
|
179
|
+
}));
|
|
180
|
+
break;
|
|
181
|
+
case FilterType.string:
|
|
182
|
+
state.addStringFilter(new StringFilter({
|
|
183
|
+
name: column.name,
|
|
184
|
+
field: column.filterField,
|
|
185
|
+
value: '',
|
|
186
|
+
}));
|
|
187
|
+
break;
|
|
188
|
+
case FilterType.number:
|
|
189
|
+
state.addNumericFilter(new NumericFilter({
|
|
190
|
+
name: column.name,
|
|
191
|
+
field: column.filterField,
|
|
192
|
+
value: new NumericFilterValue(),
|
|
193
|
+
}));
|
|
194
|
+
break;
|
|
195
|
+
case FilterType.list:
|
|
196
|
+
state.addListFilter(new ListFilter({
|
|
197
|
+
name: column.name,
|
|
198
|
+
field: column.filterField,
|
|
199
|
+
value: [],
|
|
200
|
+
type: ListFilterType.None,
|
|
201
|
+
}));
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
this.setState(new FilterState(state));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
clearAllFilters() {
|
|
208
|
+
const state = this._state.value;
|
|
209
|
+
state.stringFilters = [];
|
|
210
|
+
state.listFilters = [];
|
|
211
|
+
state.numericFilters = [];
|
|
212
|
+
state.dateFilters = [];
|
|
213
|
+
this.setState(new FilterState(state));
|
|
214
|
+
}
|
|
215
|
+
pinColumn(column) {
|
|
216
|
+
this.displayColumns.forEach((col) => {
|
|
217
|
+
if (col.name === column.name) {
|
|
218
|
+
col.locked = !col.locked;
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
this.updateColumns(this.displayColumns);
|
|
222
|
+
}
|
|
223
|
+
dragStart(column) {
|
|
224
|
+
this._dragSource = column;
|
|
225
|
+
}
|
|
226
|
+
lockPreviousColumns(column, element) {
|
|
227
|
+
const flat = ArrayUtil.flatten(this.displayColumns, 'columns', true).sort((a, b) => Number(b.locked) - Number(a.locked));
|
|
228
|
+
const index = flat.indexOf(column);
|
|
229
|
+
const previous = flat.slice(0, index).filter((_) => _.flex > 0);
|
|
230
|
+
if (previous?.length > 0) {
|
|
231
|
+
const tableElement = this.getTableElement(element);
|
|
232
|
+
previous.forEach((item) => {
|
|
233
|
+
const itemCol = tableElement.querySelector(`teta-head-cell[data-column=${item.name}]`);
|
|
234
|
+
if (itemCol) {
|
|
235
|
+
item.flex = 0;
|
|
236
|
+
item.width = itemCol.clientWidth;
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
resizeColumn(event) {
|
|
242
|
+
if (event.column !== null && event.column !== undefined) {
|
|
243
|
+
event.column.width = event.newWidth < 50 ? 50 : event.newWidth;
|
|
244
|
+
event.column.flex = 0;
|
|
245
|
+
}
|
|
246
|
+
this._columns.next(this.displayColumns);
|
|
247
|
+
this.saveColumnsState();
|
|
248
|
+
}
|
|
249
|
+
autosizeColumn(column, target) {
|
|
250
|
+
const tableElement = this.getTableElement(target);
|
|
251
|
+
this.setColumnAutoWidth(column, tableElement);
|
|
252
|
+
this._columns.next(this.displayColumns);
|
|
253
|
+
this.saveColumnsState();
|
|
254
|
+
}
|
|
255
|
+
autosizeAllColumns(target) {
|
|
256
|
+
const tableElement = this.getTableElement(target);
|
|
257
|
+
const flat = ArrayUtil.flatten(this.displayColumns, 'columns', true);
|
|
258
|
+
flat.forEach((col) => this.setColumnAutoWidth(col, tableElement));
|
|
259
|
+
this._columns.next(this.displayColumns);
|
|
260
|
+
this.saveColumnsState();
|
|
261
|
+
}
|
|
262
|
+
reorderColumn(column, insertBefore) {
|
|
263
|
+
const event = new ColumnReorderEvent(this._dragSource, column);
|
|
264
|
+
if (event.source !== event.target) {
|
|
265
|
+
const sourceParent = this.findParent(event.source, this.displayColumns);
|
|
266
|
+
const targetParent = this.findParent(event.target, this.displayColumns);
|
|
267
|
+
if (sourceParent && targetParent) {
|
|
268
|
+
const sourceIndex = sourceParent.indexOf(event.source);
|
|
269
|
+
sourceParent.splice(sourceIndex, 1);
|
|
270
|
+
let targetIndex = targetParent.indexOf(event.target);
|
|
271
|
+
if (!insertBefore) {
|
|
272
|
+
targetIndex = targetIndex + 1;
|
|
273
|
+
}
|
|
274
|
+
targetParent.splice(targetIndex, 0, event.source);
|
|
275
|
+
event.source.locked = event.target.locked;
|
|
276
|
+
this.updateColumns(this.displayColumns);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
startEditRow(cellCoordinates) {
|
|
281
|
+
if (this._currentEditRow?.row !== cellCoordinates?.row) {
|
|
282
|
+
if (this._currentEditRow != null) {
|
|
283
|
+
this._editRowStop.next(this._currentEditRow);
|
|
284
|
+
}
|
|
285
|
+
if (cellCoordinates === null) {
|
|
286
|
+
this._editRowStart.next(cellCoordinates);
|
|
287
|
+
this._currentEditRow = cellCoordinates;
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
if (this.boolOrFuncCallback(this.rowEditable)(cellCoordinates.row)) {
|
|
291
|
+
this._editRowStart.next(cellCoordinates);
|
|
292
|
+
this._currentEditRow = cellCoordinates;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
startEditCell(cellCoordinates) {
|
|
298
|
+
if (this._currentEditCell?.column.name !== cellCoordinates?.column.name ||
|
|
299
|
+
this._currentEditCell?.row !== cellCoordinates?.row) {
|
|
300
|
+
if (this._currentEditCell != null) {
|
|
301
|
+
this._editCellStop.next(this._currentEditCell);
|
|
302
|
+
}
|
|
303
|
+
if (this.boolOrFuncCallback(cellCoordinates.column.editable)(cellCoordinates)) {
|
|
304
|
+
this._editCellStart.next(cellCoordinates);
|
|
305
|
+
this._currentEditCell = cellCoordinates;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
setActiveRow(row) {
|
|
310
|
+
this._activeRow.next(row);
|
|
311
|
+
}
|
|
312
|
+
selectRows(rows) {
|
|
313
|
+
this._selectedRows.next(rows);
|
|
314
|
+
}
|
|
315
|
+
selectRow(row) {
|
|
316
|
+
if (this.selectType === SelectType.none) {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
if (this.selectType === SelectType.single) {
|
|
320
|
+
this._selectedRows.next([row]);
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
this._selectedRows.next([...this._selectedRows.value, row]);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
deselectRow(row) {
|
|
327
|
+
if (this.selectType === SelectType.none) {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
if (this.selectType === SelectType.single) {
|
|
331
|
+
this._selectedRows.next([]);
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
this._selectedRows.next(this._selectedRows.value.filter((_) => _ !== row));
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
selectAll() {
|
|
338
|
+
this._selectedRows.next(this._displayData.value);
|
|
339
|
+
}
|
|
340
|
+
deselectAll() {
|
|
341
|
+
this._selectedRows.next([]);
|
|
342
|
+
}
|
|
343
|
+
allRowsSelected() {
|
|
344
|
+
if (this._displayData.value?.length &&
|
|
345
|
+
this._selectedRows.value?.length &&
|
|
346
|
+
this._displayData.value.every((_) => this._selectedRows.value.indexOf(_) >= 0)) {
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
else if (this._selectedRows.value == null ||
|
|
350
|
+
this._selectedRows.value.length === 0) {
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
return null;
|
|
354
|
+
}
|
|
355
|
+
setHiddenColumns(value) {
|
|
356
|
+
this.saveHiddenColumns(value);
|
|
357
|
+
this._hiddenColumns.next(value);
|
|
358
|
+
}
|
|
359
|
+
columnIsHidden(column) {
|
|
360
|
+
return this._hiddenColumns.value.indexOf(column.name) >= 0;
|
|
361
|
+
}
|
|
362
|
+
toggleGroup(row) {
|
|
363
|
+
this._groupToggle.next(row);
|
|
364
|
+
}
|
|
365
|
+
changeValue(coordinates) {
|
|
366
|
+
this._valueChanged.next(coordinates);
|
|
367
|
+
}
|
|
368
|
+
setValue(cellValue) {
|
|
369
|
+
this._valueSet.next(cellValue);
|
|
370
|
+
}
|
|
371
|
+
getRowByIndex(rowIndex) {
|
|
372
|
+
return this._displayData.value[parseInt(rowIndex, 10)];
|
|
373
|
+
}
|
|
374
|
+
getColumnByName(columnName) {
|
|
375
|
+
return ArrayUtil.findRecursive(this.displayColumns, (iterableNode) => columnName === iterableNode.name, 'columns');
|
|
376
|
+
}
|
|
377
|
+
scrollToIndex(index) {
|
|
378
|
+
this._scrollIndex.next(null);
|
|
379
|
+
this._scrollIndex.next(index);
|
|
380
|
+
}
|
|
381
|
+
boolOrFuncCallback(variable) {
|
|
382
|
+
return (args) => {
|
|
383
|
+
if (typeof variable === 'boolean') {
|
|
384
|
+
return variable;
|
|
385
|
+
}
|
|
386
|
+
else if (this.isFunction(variable)) {
|
|
387
|
+
return variable(args);
|
|
388
|
+
}
|
|
389
|
+
return true;
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
findParent(column, columns) {
|
|
393
|
+
const found = columns.find((x) => x.name === column.name);
|
|
394
|
+
if (found !== null && found !== undefined) {
|
|
395
|
+
return columns;
|
|
396
|
+
}
|
|
397
|
+
for (let i = 0, l = columns.length; i < l; i++) {
|
|
398
|
+
const col = columns[i];
|
|
399
|
+
if (col.columns && col.columns.length) {
|
|
400
|
+
const result = this.findParent(column, col.columns);
|
|
401
|
+
if (result !== null && result !== undefined) {
|
|
402
|
+
return result;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
return null;
|
|
407
|
+
}
|
|
408
|
+
getTableElement(element) {
|
|
409
|
+
return element.closest('teta-table');
|
|
410
|
+
}
|
|
411
|
+
isFunction(obj) {
|
|
412
|
+
return !!(obj && obj?.constructor && obj?.call && obj?.apply);
|
|
413
|
+
}
|
|
414
|
+
setColumnAutoWidth(column, table) {
|
|
415
|
+
const cells = table.querySelectorAll(`teta-cell[data-column=${column.name}] .cell-text`);
|
|
416
|
+
let maxWidth = 0;
|
|
417
|
+
cells.forEach((cell) => {
|
|
418
|
+
if (cell.scrollWidth > maxWidth) {
|
|
419
|
+
maxWidth = cell.scrollWidth;
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
column.flex = 0;
|
|
423
|
+
column.width = maxWidth + 20;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
TableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
427
|
+
TableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, providedIn: 'root' });
|
|
428
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TableService, decorators: [{
|
|
429
|
+
type: Injectable,
|
|
430
|
+
args: [{
|
|
431
|
+
providedIn: 'root',
|
|
432
|
+
}]
|
|
433
|
+
}], ctorParameters: function () { return []; } });
|
|
434
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvc2VydmljZS90YWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzdELE9B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UyxFQUFFO29CQUMzQyxPQUFPLE1BQU0sQ0FBQztpQkFDZjthQUNGO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBb0I7UUFDMUMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxVQUFVLENBQUMsR0FBUTtRQUN6QixPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsV0FBVyxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFtQixFQUFFLEtBQWtCO1FBQ2hFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDbEMseUJBQXlCLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FDbkQsQ0FBQztRQUNGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRTtnQkFDL0IsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDOzt5R0F4aEJVLFlBQVk7NkdBQVosWUFBWSxjQUZYLE1BQU07MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZVJvd30gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtcm93JztcbmltcG9ydCB7SUNlbGxDb29yZGluYXRlc30gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLWNvb3JkaW5hdGVzJztcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gJy4uL2NvbnRyYWN0L3RhYmxlLWNvbHVtbic7XG5pbXBvcnQge0ZpbHRlclN0YXRlfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3QvZmlsdGVyLXN0YXRlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29sdW1uUmVzaXplRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2NvbHVtbi1yZXNpemUtZXZlbnQnO1xuaW1wb3J0IHtDb2x1bW5SZW9yZGVyRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2NvbHVtbi1yZW9yZGVyLWV2ZW50JztcbmltcG9ydCB7U29ydEV2ZW50fSBmcm9tICcuLi9jb250cmFjdC9zb3J0LWV2ZW50JztcbmltcG9ydCB7QXJyYXlVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC9hcnJheS11dGlsJztcbmltcG9ydCB7U3RhdGVVdGlsfSBmcm9tICcuLi91dGlsL3N0YXRlLXV0aWwnO1xuaW1wb3J0IHtTZWxlY3RUeXBlfSBmcm9tICcuLi9lbnVtL3NlbGVjdC10eXBlLmVudW0nO1xuaW1wb3J0IHtFZGl0VHlwZX0gZnJvbSAnLi4vZW51bS9lZGl0LXR5cGUuZW51bSc7XG5pbXBvcnQge0VkaXRFdmVudH0gZnJvbSAnLi4vZW51bS9lZGl0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHtMaXN0RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vbGlzdC1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2xpc3QtZmlsdGVyJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge051bWVyaWNGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7TnVtZXJpY0ZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L251bWVyaWMtZmlsdGVyJztcbmltcG9ydCB7U3RyaW5nRmlsdGVyfSBmcm9tICcuLi8uLi9maWx0ZXIvY29udGFyY3Qvc3RyaW5nLWZpbHRlcic7XG5pbXBvcnQge0RhdGVGaWx0ZXJWYWx1ZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyLXZhbHVlJztcbmltcG9ydCB7RGF0ZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL2NvbnRhcmN0L2RhdGUtZmlsdGVyJztcbmltcG9ydCB7SURpY3Rpb25hcnl9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHtJSWROYW1lfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCBvYmplY3RIYXNoIGZyb20gJ29iamVjdC1oYXNoJztcbmltcG9ydCB7VGFibGVDb2x1bW5TdG9yZX0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uLXN0b3JlJztcbmltcG9ydCB7SUNlbGxWYWx1ZX0gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLXZhbHVlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2VydmljZTxUPiB7XG4gIGNvbHVtbnM6IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG4gIGRpc3BsYXlEYXRhOiBPYnNlcnZhYmxlPFRhYmxlUm93PFQ+W10+O1xuICBkaWN0OiBPYnNlcnZhYmxlPElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPj47XG4gIHN0YXRlOiBPYnNlcnZhYmxlPEZpbHRlclN0YXRlPjtcbiAgc2VsZWN0VHlwZTogU2VsZWN0VHlwZTtcbiAgZWRpdFJvd1N0YXJ0OiBPYnNlcnZhYmxlPElDZWxsQ29vcmRpbmF0ZXM8VD4+O1xuICBlZGl0Um93U3RvcDogT2JzZXJ2YWJsZTxJQ2VsbENvb3JkaW5hdGVzPFQ+PjtcblxuICBlZGl0Q2VsbFN0YXJ0OiBPYnNlcnZhYmxlPElDZWxsQ29vcmRpbmF0ZXM8VD4+O1xuICBlZGl0Q2VsbFN0b3A6IE9ic2VydmFibGU8SUNlbGxDb29yZGluYXRlczxUPj47XG4gIHZhbHVlQ2hhbmdlZDogT2JzZXJ2YWJsZTxJQ2VsbENvb3JkaW5hdGVzPFQ+PjtcbiAgdmFsdWVTZXQ6IE9ic2VydmFibGU8SUNlbGxWYWx1ZTxUPj47XG4gIHN0YXRlQ2hhbmdlZDogT2JzZXJ2YWJsZTxGaWx0ZXJTdGF0ZT47XG4gIGZpbHRlckNsZWFyOiBPYnNlcnZhYmxlPFRhYmxlQ29sdW1uPjtcbiAgZ3JvdXBUb2dnbGU6IE9ic2VydmFibGU8VGFibGVSb3c8VD4+O1xuICBzZWxlY3RlZFJvd3M6IE9ic2VydmFibGU8VGFibGVSb3c8VD5bXT47XG4gIGFjdGl2ZVJvdzogT2JzZXJ2YWJsZTxUYWJsZVJvdzxUPj47XG4gIGhpZGRlbkNvbHVtbnM6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzY3JvbGxJbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGVkaXRUeXBlOiBFZGl0VHlwZTtcbiAgZWRpdEV2ZW50OiBFZGl0RXZlbnQ7XG4gIHJvd0VkaXRhYmxlOiBib29sZWFuIHwgKChyb3c6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuKTtcbiAgLy8gY2VsbEVkaXRhYmxlOiBib29sZWFuIHwgKChyb3c6IElDZWxsQ29vcmRpbmF0ZXM8VD4pID0+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+PihjZWxsQ29vcmRpbmF0ZXMuY29sdW1uLmVkaXRhYmxlKShcbiAgICAgICAgICBjZWxsQ29vcmRpbmF0ZXNcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX2VkaXRDZWxsU3RhcnQubmV4dChjZWxsQ29vcmRpbmF0ZXMpO1xuICAgICAgICB0aGlzLl9jdXJyZW50RWRpdENlbGwgPSBjZWxsQ29vcmRpbmF0ZXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aXZlUm93KHJvdzogVGFibGVSb3c8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9hY3RpdmVSb3cubmV4dChyb3cpO1xuICB9XG5cbiAgc2VsZWN0Um93cyhyb3dzOiBUYWJsZVJvdzxUPltdKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQocm93cyk7XG4gIH1cblxuICBzZWxlY3RSb3cocm93OiBUYWJsZVJvdzxUPik6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT09IFNlbGVjdFR5cGUubm9uZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RUeXBlID09PSBTZWxlY3RUeXBlLnNpbmdsZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLm5leHQoW3Jvd10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChbLi4udGhpcy5fc2VsZWN0ZWRSb3dzLnZhbHVlLCByb3ddKTtcbiAgICB9XG4gIH1cblxuICBkZXNlbGVjdFJvdyhyb3c6IFRhYmxlUm93PFQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0VHlwZSA9PT0gU2VsZWN0VHlwZS5ub25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdFR5cGUgPT09IFNlbGVjdFR5cGUuc2luZ2xlKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChbXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkUm93cy5uZXh0KFxuICAgICAgICB0aGlzLl9zZWxlY3RlZFJvd3MudmFsdWUuZmlsdGVyKChfKSA9PiBfICE9PSByb3cpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dCh0aGlzLl9kaXNwbGF5RGF0YS52YWx1ZSk7XG4gIH1cblxuICBkZXNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFJvd3MubmV4dChbXSk7XG4gIH1cblxuICBhbGxSb3dzU2VsZWN0ZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgIGlmIChcbiAgICAgIHRoaXMuX2Rpc3BsYXlEYXRhLnZhbHVlPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuX3NlbGVjdGVkUm93cy52YWx1ZT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLl9kaXNwbGF5RGF0YS52YWx1ZS5ldmVyeShcbiAgICAgICAgKF8pID0+IHRoaXMuX3NlbGVjdGVkUm93cy52YWx1ZS5pbmRleE9mKF8pID49IDBcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLl9zZWxlY3RlZFJvd3MudmFsdWUgPT0gbnVsbCB8fFxuICAgICAgdGhpcy5fc2VsZWN0ZWRSb3dzLnZhbHVlLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldEhpZGRlbkNvbHVtbnModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zYXZlSGlkZGVuQ29sdW1ucyh2YWx1ZSk7XG4gICAgdGhpcy5faGlkZGVuQ29sdW1ucy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGNvbHVtbklzSGlkZGVuKGNvbHVtbjogVGFibGVDb2x1bW4pIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZGVuQ29sdW1ucy52YWx1ZS5pbmRleE9mKGNvbHVtbi5uYW1lKSA+PSAwO1xuICB9XG5cbiAgdG9nZ2xlR3JvdXAocm93OiBUYWJsZVJvdzxUPik6IHZvaWQge1xuICAgIHRoaXMuX2dyb3VwVG9nZ2xlLm5leHQocm93KTtcbiAgfVxuXG4gIGNoYW5nZVZhbHVlKGNvb3JkaW5hdGVzOiBJQ2VsbENvb3JkaW5hdGVzPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVDaGFuZ2VkLm5leHQoY29vcmRpbmF0ZXMpO1xuICB9XG5cbiAgc2V0VmFsdWUoY2VsbFZhbHVlOiBJQ2VsbFZhbHVlPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVTZXQubmV4dChjZWxsVmFsdWUpO1xuICB9XG5cbiAgZ2V0Um93QnlJbmRleChyb3dJbmRleDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlEYXRhLnZhbHVlW3BhcnNlSW50KHJvd0luZGV4LCAxMCldO1xuICB9XG5cbiAgZ2V0Q29sdW1uQnlOYW1lKGNvbHVtbk5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBBcnJheVV0aWwuZmluZFJlY3Vyc2l2ZShcbiAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMsXG4gICAgICAoaXRlcmFibGVOb2RlKSA9PiBjb2x1bW5OYW1lID09PSBpdGVyYWJsZU5vZGUubmFtZSxcbiAgICAgICdjb2x1bW5zJ1xuICAgICk7XG4gIH1cblxuICBzY3JvbGxUb0luZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLl9zY3JvbGxJbmRleC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX3Njcm9sbEluZGV4Lm5leHQoaW5kZXgpO1xuICB9XG5cbiAgYm9vbE9yRnVuY0NhbGxiYWNrPE0+KHZhcmlhYmxlOiBib29sZWFuIHwgKChyb3c6IE0pID0+IGJvb2xlYW4pKSB7XG4gICAgcmV0dXJuIChhcmdzOiBNKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHZhcmlhYmxlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRnVuY3Rpb24odmFyaWFibGUpKSB7XG4gICAgICAgIHJldHVybiAodmFyaWFibGUgYXMgKHJvdzogTSkgPT4gYm9vbGVhbikoYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGFyZW50KFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW4sXG4gICAgY29sdW1uczogVGFibGVDb2x1bW5bXVxuICApOiBUYWJsZUNvbHVtbltdIHwgbnVsbCB7XG4gICAgY29uc3QgZm91bmQgPSBjb2x1bW5zLmZpbmQoKHgpID0+IHgubmFtZSA9PT0gY29sdW1uLm5hbWUpO1xuICAgIGlmIChmb3VuZCAhPT0gbnVsbCAmJiBmb3VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjb2x1bW5zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgY29sID0gY29sdW1uc1tpXTtcbiAgICAgIGlmIChjb2wuY29sdW1ucyAmJiBjb2wuY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kUGFyZW50KGNvbHVtbiwgY29sLmNvbHVtbnMpO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsICYmIHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFibGVFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuY2xvc2VzdCgndGV0YS10YWJsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Z1bmN0aW9uKG9iajogYW55KSB7XG4gICAgcmV0dXJuICEhKG9iaiAmJiBvYmo/LmNvbnN0cnVjdG9yICYmIG9iaj8uY2FsbCAmJiBvYmo/LmFwcGx5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29sdW1uQXV0b1dpZHRoKGNvbHVtbjogVGFibGVDb2x1bW4sIHRhYmxlOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNlbGxzID0gdGFibGUucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGB0ZXRhLWNlbGxbZGF0YS1jb2x1bW49JHtjb2x1bW4ubmFtZX1dIC5jZWxsLXRleHRgXG4gICAgKTtcbiAgICBsZXQgbWF4V2lkdGggPSAwO1xuICAgIGNlbGxzLmZvckVhY2goKGNlbGwpID0+IHtcbiAgICAgIGlmIChjZWxsLnNjcm9sbFdpZHRoID4gbWF4V2lkdGgpIHtcbiAgICAgICAgbWF4V2lkdGggPSBjZWxsLnNjcm9sbFdpZHRoO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbHVtbi5mbGV4ID0gMDtcbiAgICBjb2x1bW4ud2lkdGggPSBtYXhXaWR0aCArIDIwO1xuICB9XG59XG4iXX0=
|