@tetacom/ng-components 1.1.43 → 1.2.0
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/.eslintrc.json +16 -10
- package/README.md +3 -20
- package/component/accordion/accordion/accordion.component.d.ts +1 -1
- package/component/accordion/accordion-content.directive.d.ts +1 -1
- package/component/accordion/accordion-head/accordion-head.component.d.ts +1 -1
- package/component/accordion/accordion-item/accordion-item.component.d.ts +1 -1
- package/component/accordion/public-api.d.ts +0 -1
- package/component/autocomplete/autocomplete/autocomplete.component.d.ts +1 -1
- package/component/autocomplete/public-api.d.ts +0 -1
- package/component/avatar/avatar/avatar.component.d.ts +1 -1
- package/component/avatar/public-api.d.ts +0 -1
- package/component/button/button/button.component.d.ts +1 -1
- package/component/button/public-api.d.ts +0 -1
- package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -1
- package/component/chart-3d/public-api.d.ts +0 -1
- package/component/checkbox/checkbox/checkbox.component.d.ts +1 -1
- package/component/checkbox/public-api.d.ts +0 -1
- package/component/date-picker/base-picker.d.ts +1 -1
- package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +1 -1
- package/component/date-picker/date-picker/date-picker.component.d.ts +1 -1
- package/component/date-picker/date-range/date-range.component.d.ts +1 -1
- package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +3 -3
- package/component/date-picker/day-picker/day-item/day-item.component.d.ts +1 -1
- package/component/date-picker/day-picker/day-picker.component.d.ts +2 -2
- package/component/date-picker/month-picker/month-picker.component.d.ts +1 -1
- package/component/date-picker/public-api.d.ts +0 -1
- package/component/date-picker/year-picker/scroll-to-selected-year.directive.d.ts +1 -1
- package/component/date-picker/year-picker/year-picker.component.d.ts +1 -1
- package/component/delimiter/delimiter/delimiter.component.d.ts +1 -1
- package/component/delimiter/public-api.d.ts +0 -1
- package/component/divider/divider/divider.component.d.ts +1 -1
- package/component/divider/public-api.d.ts +0 -1
- package/component/dropdown/dropdown/dropdown.component.d.ts +1 -1
- package/component/dropdown/dropdown-content.directive.d.ts +1 -1
- package/component/dropdown/dropdown-head.directive.d.ts +1 -1
- package/component/dropdown/dropdown.directive.d.ts +1 -1
- package/component/dropdown/public-api.d.ts +0 -1
- package/component/dynamic-component/popup-content/popup-content.component.d.ts +1 -1
- package/component/dynamic-component/public-api.d.ts +0 -1
- package/component/expand-card/expand-card/expand-card.component.d.ts +1 -1
- package/component/expand-card/expand-item/expand-item.component.d.ts +1 -1
- package/component/expand-card/public-api.d.ts +0 -1
- package/component/expand-panel/expand-panel/expand-panel.component.d.ts +1 -1
- package/component/expand-panel/expand-panel-content.directive.d.ts +1 -1
- package/component/expand-panel/expand-panel-head.directive.d.ts +1 -1
- package/component/expand-panel/public-api.d.ts +0 -1
- package/component/file-upload/file-item/file-item.component.d.ts +1 -1
- package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +1 -1
- package/component/file-upload/public-api.d.ts +0 -1
- package/component/filter/boolean-filter/boolean-filter.component.d.ts +1 -1
- package/component/filter/date-filter/date-filter.component.d.ts +1 -1
- package/component/filter/filter-host/filter-host.component.d.ts +1 -1
- package/component/filter/list-filter/list-filter.component.d.ts +1 -1
- package/component/filter/numeric-filter/numeric-filter.component.d.ts +1 -1
- package/component/filter/public-api.d.ts +0 -1
- package/component/filter/string-filter/string-filter.component.d.ts +1 -1
- package/component/icon/icon/icon.component.d.ts +1 -1
- package/component/icon/icon-file/icon-file.component.d.ts +1 -1
- package/component/icon/icon-sprite.directive.d.ts +1 -1
- package/component/icon/public-api.d.ts +0 -2
- package/component/input/color-input/color-input.component.d.ts +1 -1
- package/component/input/form-group-title/form-group-title.component.d.ts +1 -1
- package/component/input/input/input.component.d.ts +1 -1
- package/component/input/public-api.d.ts +1 -1
- package/component/input/text-field/text-field.component.d.ts +1 -1
- package/component/message/message/message.component.d.ts +1 -1
- package/component/message/message-host/message-host.component.d.ts +1 -1
- package/component/message/public-api.d.ts +0 -1
- package/component/modal/dialog/dialog.component.d.ts +1 -1
- package/component/modal/modal-container/modal-container.component.d.ts +1 -1
- package/component/modal/modal.module.d.ts +5 -8
- package/component/pager/pager/pager.component.d.ts +1 -1
- package/component/pager/public-api.d.ts +0 -1
- package/component/panel/panel/panel.component.d.ts +1 -1
- package/component/panel/public-api.d.ts +0 -1
- package/component/progress-bar/progress-bar/progress-bar.component.d.ts +1 -1
- package/component/progress-bar/public-api.d.ts +0 -1
- package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-item-description.directive.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid.component.d.ts +1 -1
- package/component/property-grid/property-grid.module.d.ts +8 -16
- package/component/public-api.d.ts +0 -1
- package/component/radio/public-api.d.ts +0 -1
- package/component/radio/radio/radio.component.d.ts +3 -4
- package/component/radio/radio-button/radio-button.component.d.ts +1 -1
- package/component/resize-panel/public-api.d.ts +0 -1
- package/component/resize-panel/resize-panel/resize-panel.component.d.ts +1 -1
- package/component/select/public-api.d.ts +0 -1
- package/component/select/select/select.component.d.ts +1 -1
- package/component/select/select-option.directive.d.ts +1 -1
- package/component/select/select-value.directive.d.ts +1 -1
- package/component/sidebar/public-api.d.ts +0 -1
- package/component/sidebar/sidebar/sidebar.component.d.ts +1 -1
- package/component/switch/public-api.d.ts +0 -1
- package/component/switch/switch/switch.component.d.ts +1 -1
- package/component/switch/switch-button/switch-button.component.d.ts +1 -1
- package/component/table/cell/cell.component.d.ts +1 -1
- package/component/table/cell-host/cell-host.component.d.ts +1 -1
- package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -1
- package/component/table/default/date-cell/date-cell.component.d.ts +1 -1
- package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -1
- package/component/table/default/default-head-cell/default-head-cell.component.d.ts +1 -1
- package/component/table/default/list-cell/list-cell.component.d.ts +1 -1
- package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -1
- package/component/table/default/string-cell/string-cell.component.d.ts +1 -1
- package/component/table/head-cell/head-cell.component.d.ts +1 -1
- package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +1 -1
- package/component/table/head-cell-host/head-cell-host.component.d.ts +1 -1
- package/component/table/public-api.d.ts +0 -1
- package/component/table/selection-cell/selection-cell.component.d.ts +1 -1
- package/component/table/selection-head-cell/selection-head-cell.component.d.ts +1 -1
- package/component/table/table/table.component.d.ts +1 -1
- package/component/table/table-body/table-body.component.d.ts +1 -1
- package/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head/table-head.component.d.ts +1 -1
- package/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.d.ts +2 -2
- package/component/table/table-head-group/table-head-group.component.d.ts +1 -1
- package/component/tabs/public-api.d.ts +0 -1
- package/component/tabs/tab/tab.component.d.ts +1 -1
- package/component/tabs/tab-content.directive.d.ts +1 -1
- package/component/tabs/tab-title.directive.d.ts +1 -1
- package/component/tabs/tabs/tabs.component.d.ts +1 -1
- package/component/theme-switch/public-api.d.ts +0 -1
- package/component/theme-switch/theme-switch/theme-switch.component.d.ts +1 -1
- package/component/toggle/public-api.d.ts +0 -1
- package/component/toggle/toggle/toggle.component.d.ts +1 -1
- package/component/toolbar/public-api.d.ts +0 -1
- package/component/toolbar/toolbar/toolbar.component.d.ts +1 -1
- package/component/tree/public-api.d.ts +0 -1
- package/component/tree/tree/tree.component.d.ts +1 -1
- package/component/tree/tree-item/tree-item.component.d.ts +1 -1
- package/component/tree/tree-item-toggle/tree-item-toggle.component.d.ts +1 -1
- package/directive/auto-position/auto-position.directive.d.ts +1 -1
- package/directive/auto-position/public-api.d.ts +0 -1
- package/directive/click-outside/click-outside.directive.d.ts +1 -1
- package/directive/click-outside/public-api.d.ts +0 -1
- package/directive/context-menu/context-menu.directive.d.ts +1 -1
- package/directive/context-menu/public-api.d.ts +0 -1
- package/directive/disable-control/disable-control.directive.d.ts +1 -1
- package/directive/disable-control/public-api.d.ts +0 -1
- package/directive/drag-drop/drag-container.directive.d.ts +1 -1
- package/directive/drag-drop/drag-placeholder.directive.d.ts +1 -1
- package/directive/drag-drop/drag-preview.directive.d.ts +1 -1
- package/directive/drag-drop/drag.directive.d.ts +1 -1
- package/directive/drag-drop/public-api.d.ts +0 -1
- package/directive/drag-sort/drag-sort-container.directive.d.ts +1 -1
- package/directive/drag-sort/drag-sort-item.directive.d.ts +1 -1
- package/directive/drag-sort/public-api.d.ts +0 -1
- package/directive/highlight/highlight.directive.d.ts +1 -1
- package/directive/highlight/public-api.d.ts +0 -1
- package/directive/hint/hint.directive.d.ts +1 -1
- package/directive/hint/public-api.d.ts +0 -1
- package/directive/let/let.directive.d.ts +1 -1
- package/directive/let/public-api.d.ts +0 -1
- package/directive/loader/loader.directive.d.ts +1 -1
- package/directive/loader/public-api.d.ts +0 -1
- package/directive/no-autofill/no-autofill.directive.d.ts +1 -1
- package/directive/no-autofill/public-api.d.ts +0 -1
- package/directive/only-number/only-number.directive.d.ts +1 -1
- package/directive/only-number/public-api.d.ts +0 -1
- package/directive/resize-drag/public-api.d.ts +0 -1
- package/directive/resize-drag/resize-drag.directive.d.ts +1 -1
- package/directive/scroll-into-view/public-api.d.ts +0 -1
- package/directive/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
- package/directive/scrollable/public-api.d.ts +0 -1
- package/directive/scrollable/scrollable/scrollable.component.d.ts +1 -1
- package/directive/scrollable/scrollable.directive.d.ts +1 -1
- package/directive/teta-template/public-api.d.ts +0 -1
- package/directive/teta-template/teta-template.directive.d.ts +1 -1
- package/directive/tooltip/public-api.d.ts +0 -1
- package/directive/tooltip/tooltip.directive.d.ts +1 -1
- package/docs/datePickerDocs.mdx +14 -59
- package/docs/dateRangeDocs.mdx +172 -0
- package/esm2022/common/contract/dynamic-data.mjs +1 -1
- package/esm2022/common/contract/teta-content-ref.mjs +1 -4
- package/esm2022/common/service/click.service.mjs +6 -9
- package/esm2022/common/service/dynamic-component.service.mjs +6 -10
- package/esm2022/common/service/overlay-container.service.mjs +7 -9
- package/esm2022/common/util/array-util.mjs +1 -1
- package/esm2022/common/util/dom-util.mjs +1 -1
- package/esm2022/common/util/position-util.mjs +1 -1
- package/esm2022/component/accordion/accordion/accordion.component.mjs +8 -6
- package/esm2022/component/accordion/accordion-content.directive.mjs +8 -8
- package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +13 -13
- package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +14 -17
- package/esm2022/component/accordion/public-api.mjs +1 -2
- package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +6 -6
- package/esm2022/component/autocomplete/public-api.mjs +1 -2
- package/esm2022/component/avatar/avatar/avatar.component.mjs +28 -32
- package/esm2022/component/avatar/public-api.mjs +1 -2
- package/esm2022/component/button/button/button.component.mjs +10 -12
- package/esm2022/component/button/public-api.mjs +1 -2
- package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +11 -20
- package/esm2022/component/chart-3d/model/chart-3d-options.mjs +1 -3
- package/esm2022/component/chart-3d/model/series-3d.mjs +1 -3
- package/esm2022/component/chart-3d/public-api.mjs +1 -2
- package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +16 -33
- package/esm2022/component/checkbox/public-api.mjs +1 -2
- package/esm2022/component/date-picker/base-calendar.mjs +23 -24
- package/esm2022/component/date-picker/base-picker.mjs +10 -15
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +23 -23
- package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +47 -46
- package/esm2022/component/date-picker/date-range/date-range.component.mjs +44 -39
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +25 -27
- package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +6 -6
- package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +12 -19
- package/esm2022/component/date-picker/model/date-period.mjs +1 -3
- package/esm2022/component/date-picker/model/day-model.mjs +1 -7
- package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +13 -16
- package/esm2022/component/date-picker/public-api.mjs +1 -2
- package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +9 -9
- package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +9 -14
- package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +13 -13
- package/esm2022/component/delimiter/public-api.mjs +1 -2
- package/esm2022/component/divider/divider/divider.component.mjs +8 -10
- package/esm2022/component/divider/public-api.mjs +1 -2
- package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +8 -13
- package/esm2022/component/dropdown/dropdown-base.mjs +26 -35
- package/esm2022/component/dropdown/dropdown-content.directive.mjs +8 -9
- package/esm2022/component/dropdown/dropdown-head.directive.mjs +9 -9
- package/esm2022/component/dropdown/dropdown.directive.mjs +9 -13
- package/esm2022/component/dropdown/public-api.mjs +1 -2
- package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +10 -10
- package/esm2022/component/dynamic-component/public-api.mjs +1 -2
- package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +14 -15
- package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +11 -10
- package/esm2022/component/expand-card/public-api.mjs +1 -2
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +20 -18
- package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +7 -7
- package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +7 -7
- package/esm2022/component/expand-panel/public-api.mjs +1 -2
- package/esm2022/component/file-upload/file-item/file-item.component.mjs +6 -6
- package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +24 -19
- package/esm2022/component/file-upload/public-api.mjs +1 -2
- package/esm2022/component/filter/base/filter-base.mjs +1 -4
- package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +22 -20
- package/esm2022/component/filter/contarct/date-filter-value.mjs +1 -9
- package/esm2022/component/filter/contarct/date-filter.mjs +1 -1
- package/esm2022/component/filter/contarct/filter-item.mjs +13 -57
- package/esm2022/component/filter/contarct/filter-state.mjs +7 -7
- package/esm2022/component/filter/contarct/list-filter.mjs +1 -2
- package/esm2022/component/filter/contarct/numeric-filter-value.mjs +1 -13
- package/esm2022/component/filter/contarct/numeric-filter.mjs +1 -2
- package/esm2022/component/filter/contarct/sort-param.mjs +1 -13
- package/esm2022/component/filter/contarct/string-filter.mjs +1 -2
- package/esm2022/component/filter/date-filter/date-filter.component.mjs +22 -20
- package/esm2022/component/filter/filter-host/filter-host.component.mjs +11 -16
- package/esm2022/component/filter/list-filter/list-filter.component.mjs +25 -23
- package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +22 -20
- package/esm2022/component/filter/public-api.mjs +1 -2
- package/esm2022/component/filter/string-filter/string-filter.component.mjs +19 -18
- package/esm2022/component/icon/icon/icon.component.mjs +9 -9
- package/esm2022/component/icon/icon-file/icon-file.component.mjs +6 -8
- package/esm2022/component/icon/icon-sprite.directive.mjs +9 -9
- package/esm2022/component/icon/icon.service.mjs +10 -15
- package/esm2022/component/icon/public-api.mjs +1 -3
- package/esm2022/component/input/color-input/color-input.component.mjs +11 -13
- package/esm2022/component/input/form-group-title/form-group-title.component.mjs +9 -8
- package/esm2022/component/input/input/input.component.mjs +12 -13
- package/esm2022/component/input/public-api.mjs +2 -2
- package/esm2022/component/input/text-field/text-field.component.mjs +25 -25
- package/esm2022/component/message/message/message.component.mjs +15 -14
- package/esm2022/component/message/message-host/message-host.component.mjs +22 -25
- package/esm2022/component/message/message.service.mjs +7 -9
- package/esm2022/component/message/model/message.mjs +4 -10
- package/esm2022/component/message/public-api.mjs +1 -2
- package/esm2022/component/modal/dialog/dialog.component.mjs +18 -18
- package/esm2022/component/modal/dialog.service.mjs +6 -6
- package/esm2022/component/modal/modal-container/modal-container.component.mjs +11 -13
- package/esm2022/component/modal/modal.module.mjs +8 -18
- package/esm2022/component/modal/modal.service.mjs +16 -19
- package/esm2022/component/modal/model/current-modal.mjs +1 -2
- package/esm2022/component/modal/model/modal-instance.mjs +7 -10
- package/esm2022/component/pager/model/pager-state.mjs +9 -29
- package/esm2022/component/pager/pager/pager.component.mjs +6 -6
- package/esm2022/component/pager/public-api.mjs +1 -2
- package/esm2022/component/panel/panel/panel.component.mjs +12 -11
- package/esm2022/component/panel/public-api.mjs +1 -2
- package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +37 -45
- package/esm2022/component/progress-bar/public-api.mjs +1 -2
- package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +13 -21
- package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +31 -29
- package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +8 -9
- package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +19 -23
- package/esm2022/component/property-grid/property-grid.module.mjs +16 -46
- package/esm2022/component/public-api.mjs +1 -3
- package/esm2022/component/radio/public-api.mjs +1 -2
- package/esm2022/component/radio/radio/radio.component.mjs +17 -23
- package/esm2022/component/radio/radio-button/radio-button.component.mjs +10 -16
- package/esm2022/component/resize-panel/public-api.mjs +1 -2
- package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +24 -29
- package/esm2022/component/select/public-api.mjs +1 -2
- package/esm2022/component/select/select/select.component.mjs +49 -53
- package/esm2022/component/select/select-option.directive.mjs +8 -8
- package/esm2022/component/select/select-value.directive.mjs +8 -8
- package/esm2022/component/sidebar/public-api.mjs +1 -2
- package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +14 -16
- package/esm2022/component/switch/public-api.mjs +1 -2
- package/esm2022/component/switch/switch/switch.component.mjs +10 -13
- package/esm2022/component/switch/switch-button/switch-button.component.mjs +9 -13
- package/esm2022/component/switch/switch.service.mjs +6 -7
- package/esm2022/component/table/base/cell-component-base.mjs +14 -18
- package/esm2022/component/table/base/head-cell-component-base.mjs +5 -4
- package/esm2022/component/table/cell/cell.component.mjs +11 -11
- package/esm2022/component/table/cell-host/cell-host.component.mjs +10 -14
- package/esm2022/component/table/contract/column-reorder-event.mjs +1 -3
- package/esm2022/component/table/contract/column-resize-event.mjs +1 -3
- package/esm2022/component/table/contract/sort-event.mjs +1 -3
- package/esm2022/component/table/contract/table-column-store.mjs +1 -6
- package/esm2022/component/table/contract/table-column.mjs +13 -83
- package/esm2022/component/table/contract/table-row.mjs +1 -3
- package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +15 -13
- package/esm2022/component/table/default/date-cell/date-cell.component.mjs +17 -13
- package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +17 -13
- package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +9 -13
- package/esm2022/component/table/default/list-cell/list-cell.component.mjs +16 -14
- package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +17 -14
- package/esm2022/component/table/default/string-cell/string-cell.component.mjs +16 -14
- package/esm2022/component/table/head-cell/head-cell.component.mjs +38 -41
- package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +29 -27
- package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +8 -13
- package/esm2022/component/table/public-api.mjs +1 -2
- package/esm2022/component/table/selection-cell/selection-cell.component.mjs +13 -14
- package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +12 -12
- package/esm2022/component/table/service/table.service.mjs +35 -58
- package/esm2022/component/table/table/table.component.mjs +53 -67
- package/esm2022/component/table/table-body/table-body.component.mjs +47 -51
- package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +15 -23
- package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +12 -19
- package/esm2022/component/table/table-head/table-head.component.mjs +15 -23
- package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +54 -51
- package/esm2022/component/table/table-head-group/table-head-group.component.mjs +11 -16
- package/esm2022/component/table/util/state-util.mjs +2 -2
- package/esm2022/component/table/util/table-util.mjs +1 -1
- package/esm2022/component/tabs/public-api.mjs +1 -2
- package/esm2022/component/tabs/tab/tab.component.mjs +15 -19
- package/esm2022/component/tabs/tab-content.directive.mjs +8 -8
- package/esm2022/component/tabs/tab-title.directive.mjs +8 -8
- package/esm2022/component/tabs/tabs/tabs.component.mjs +19 -23
- package/esm2022/component/theme-switch/public-api.mjs +1 -2
- package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +11 -12
- package/esm2022/component/theme-switch/theme-switch.service.mjs +5 -7
- package/esm2022/component/toggle/public-api.mjs +1 -2
- package/esm2022/component/toggle/toggle/toggle.component.mjs +12 -21
- package/esm2022/component/toolbar/public-api.mjs +1 -2
- package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +5 -7
- package/esm2022/component/tree/public-api.mjs +1 -2
- package/esm2022/component/tree/tree/tree.component.mjs +31 -38
- package/esm2022/component/tree/tree-item/tree-item.component.mjs +17 -21
- package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +10 -13
- package/esm2022/component/tree/tree.service.mjs +8 -10
- package/esm2022/directive/auto-position/auto-position.directive.mjs +12 -13
- package/esm2022/directive/auto-position/public-api.mjs +1 -2
- package/esm2022/directive/click-outside/click-outside.directive.mjs +19 -20
- package/esm2022/directive/click-outside/public-api.mjs +1 -2
- package/esm2022/directive/context-menu/context-menu.directive.mjs +20 -29
- package/esm2022/directive/context-menu/public-api.mjs +1 -2
- package/esm2022/directive/disable-control/disable-control.directive.mjs +7 -6
- package/esm2022/directive/disable-control/public-api.mjs +1 -2
- package/esm2022/directive/drag-drop/drag-container.directive.mjs +14 -21
- package/esm2022/directive/drag-drop/drag-drop.service.mjs +10 -20
- package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +7 -6
- package/esm2022/directive/drag-drop/drag-preview.directive.mjs +8 -8
- package/esm2022/directive/drag-drop/drag.directive.mjs +14 -20
- package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +1 -4
- package/esm2022/directive/drag-drop/model/drag-instance.mjs +1 -3
- package/esm2022/directive/drag-drop/public-api.mjs +1 -2
- package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +9 -7
- package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +12 -16
- package/esm2022/directive/drag-sort/public-api.mjs +1 -2
- package/esm2022/directive/dynamic-content-base.directive.mjs +13 -22
- package/esm2022/directive/highlight/highlight.directive.mjs +8 -8
- package/esm2022/directive/highlight/public-api.mjs +1 -2
- package/esm2022/directive/hint/hint.directive.mjs +14 -24
- package/esm2022/directive/hint/public-api.mjs +1 -2
- package/esm2022/directive/let/let.directive.mjs +8 -9
- package/esm2022/directive/let/public-api.mjs +1 -2
- package/esm2022/directive/loader/loader.directive.mjs +12 -18
- package/esm2022/directive/loader/public-api.mjs +1 -2
- package/esm2022/directive/no-autofill/no-autofill.directive.mjs +7 -8
- package/esm2022/directive/no-autofill/public-api.mjs +1 -2
- package/esm2022/directive/only-number/only-number.directive.mjs +19 -19
- package/esm2022/directive/only-number/public-api.mjs +1 -2
- package/esm2022/directive/resize-drag/public-api.mjs +1 -2
- package/esm2022/directive/resize-drag/resize-drag.directive.mjs +18 -19
- package/esm2022/directive/scroll-into-view/public-api.mjs +1 -2
- package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +11 -13
- package/esm2022/directive/scrollable/public-api.mjs +1 -2
- package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +20 -24
- package/esm2022/directive/scrollable/scrollable.directive.mjs +8 -5
- package/esm2022/directive/teta-template/public-api.mjs +1 -2
- package/esm2022/directive/teta-template/teta-template.directive.mjs +8 -9
- package/esm2022/directive/tooltip/public-api.mjs +1 -2
- package/esm2022/directive/tooltip/tooltip.directive.mjs +16 -21
- package/esm2022/index.mjs +22 -0
- package/esm2022/locale/teta-config.service.mjs +8 -8
- package/esm2022/observable/animation-frame.mjs +1 -1
- package/esm2022/observable/public-api.mjs +1 -2
- package/esm2022/pipe/date-pipe/public-api.mjs +1 -2
- package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +22 -14
- package/esm2022/pipe/number-pipe/number.pipe.mjs +6 -5
- package/esm2022/pipe/number-pipe/public-api.mjs +1 -2
- package/esm2022/pipe/util/number-helper.mjs +1 -1
- package/esm2022/tetacom-ng-components.mjs +2 -2
- package/esm2022/util/bool-or-func.mjs +1 -1
- package/esm2022/util/date-util.mjs +1 -1
- package/esm2022/util/forms-util.mjs +3 -3
- package/fesm2022/tetacom-ng-components.mjs +6034 -8435
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/index.d.ts +17 -3
- package/observable/public-api.d.ts +0 -1
- package/package.json +5 -24
- package/pipe/date-pipe/public-api.d.ts +0 -1
- package/pipe/date-pipe/teta-date.pipe.d.ts +3 -3
- package/pipe/number-pipe/number.pipe.d.ts +1 -1
- package/pipe/number-pipe/public-api.d.ts +0 -1
- package/style/accordion.scss +3 -1
- package/style/checkbox.scss +1 -1
- package/style/icon.scss +1 -1
- package/style/message.scss +1 -1
- package/style/navigation.scss +3 -3
- package/style/switch.scss +1 -3
- package/style/toggle.scss +1 -1
- package/style/toolbar.scss +1 -1
- package/.browserslistrc +0 -16
- package/component/accordion/accordion.module.d.ts +0 -12
- package/component/autocomplete/autocomplete.module.d.ts +0 -8
- package/component/avatar/avatar.module.d.ts +0 -9
- package/component/button/button.module.d.ts +0 -8
- package/component/chart-3d/chart-3d.module.d.ts +0 -8
- package/component/checkbox/checkbox.module.d.ts +0 -9
- package/component/date-picker/date-picker.module.d.ts +0 -24
- package/component/delimiter/delimiter.module.d.ts +0 -8
- package/component/divider/divider.module.d.ts +0 -8
- package/component/dropdown/dropdown.module.d.ts +0 -11
- package/component/dynamic-component/dynamic-component.module.d.ts +0 -8
- package/component/expand-card/expand-card.module.d.ts +0 -13
- package/component/expand-panel/expand-panel.module.d.ts +0 -14
- package/component/file-upload/file-upload.module.d.ts +0 -12
- package/component/filter/filter.module.d.ts +0 -21
- package/component/icon/icon-file/icon-file.module.d.ts +0 -9
- package/component/icon/icon.module.d.ts +0 -10
- package/component/input/input.module.d.ts +0 -16
- package/component/message/message.module.d.ts +0 -11
- package/component/pager/pager.module.d.ts +0 -9
- package/component/panel/panel.module.d.ts +0 -8
- package/component/progress-bar/progress-bar.module.d.ts +0 -8
- package/component/radio/radio.module.d.ts +0 -10
- package/component/resize-panel/resize-panel.module.d.ts +0 -10
- package/component/select/select.module.d.ts +0 -18
- package/component/sidebar/sidebar.module.d.ts +0 -10
- package/component/switch/switch.module.d.ts +0 -9
- package/component/table/table.module.d.ts +0 -47
- package/component/tabs/tabs.module.d.ts +0 -11
- package/component/theme-switch/theme-switch.module.d.ts +0 -10
- package/component/three/custom-series/custom-series.component.d.ts +0 -20
- package/component/three/public-api.d.ts +0 -11
- package/component/three/three-chart/area-3d/area-3d.component.d.ts +0 -14
- package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +0 -37
- package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +0 -15
- package/component/three/three-chart/block-3d/block-3d.component.d.ts +0 -28
- package/component/three/three-chart/canvas/canvas.component.d.ts +0 -11
- package/component/three/three-chart/directive/canvas-3d-host.d.ts +0 -19
- package/component/three/three-chart/directive/public-api.d.ts +0 -2
- package/component/three/three-chart/directive/series-3d-host.d.ts +0 -16
- package/component/three/three-chart/line-3d/line-3d.component.d.ts +0 -19
- package/component/three/three-chart/model/axes-3d-min-max.d.ts +0 -5
- package/component/three/three-chart/model/axis-3d-point.d.ts +0 -4
- package/component/three/three-chart/model/base-3d-series.d.ts +0 -11
- package/component/three/three-chart/model/base-3d-three-point.d.ts +0 -8
- package/component/three/three-chart/model/block-3d-series.d.ts +0 -6
- package/component/three/three-chart/model/block3d-point.d.ts +0 -5
- package/component/three/three-chart/model/enum/public-api.d.ts +0 -1
- package/component/three/three-chart/model/enum/series-3d-type.d.ts +0 -4
- package/component/three/three-chart/model/i-3d-chart-config.d.ts +0 -14
- package/component/three/three-chart/model/line-3d-point.d.ts +0 -5
- package/component/three/three-chart/model/line-3d-series.d.ts +0 -6
- package/component/three/three-chart/model/public-api.d.ts +0 -10
- package/component/three/three-chart/scene/scene.component.d.ts +0 -20
- package/component/three/three-chart/service/chart-3d.service.d.ts +0 -21
- package/component/three/three-chart/three-chart.component.d.ts +0 -19
- package/component/toggle/toggle.module.d.ts +0 -9
- package/component/toolbar/toolbar.module.d.ts +0 -8
- package/component/tree/tree.module.d.ts +0 -14
- package/directive/auto-position/auto-position.module.d.ts +0 -8
- package/directive/click-outside/click-outside.module.d.ts +0 -8
- package/directive/context-menu/context-menu.module.d.ts +0 -9
- package/directive/disable-control/disable-control.module.d.ts +0 -8
- package/directive/drag-drop/drag-drop.module.d.ts +0 -11
- package/directive/drag-sort/drag-sort.module.d.ts +0 -9
- package/directive/highlight/highlight.module.d.ts +0 -8
- package/directive/hint/hint.module.d.ts +0 -9
- package/directive/let/let.module.d.ts +0 -8
- package/directive/loader/loader.module.d.ts +0 -8
- package/directive/no-autofill/no-autofill.module.d.ts +0 -8
- package/directive/only-number/only-number.module.d.ts +0 -8
- package/directive/resize-drag/resize-drag.module.d.ts +0 -8
- package/directive/scroll-into-view/scroll-into-view.module.d.ts +0 -8
- package/directive/scrollable/scrollable.module.d.ts +0 -10
- package/directive/teta-template/teta-template.module.d.ts +0 -8
- package/directive/tooltip/tooltip.module.d.ts +0 -10
- package/docs/chartDocs.mdx +0 -153
- package/docs/threeDocs.mdx +0 -65
- package/esm2022/component/accordion/accordion.module.mjs +0 -27
- package/esm2022/component/autocomplete/autocomplete.module.mjs +0 -24
- package/esm2022/component/avatar/avatar.module.mjs +0 -28
- package/esm2022/component/button/button.module.mjs +0 -22
- package/esm2022/component/chart-3d/chart-3d.module.mjs +0 -18
- package/esm2022/component/checkbox/checkbox.module.mjs +0 -26
- package/esm2022/component/date-picker/date-picker.module.mjs +0 -91
- package/esm2022/component/delimiter/delimiter.module.mjs +0 -20
- package/esm2022/component/divider/divider.module.mjs +0 -20
- package/esm2022/component/dropdown/dropdown.module.mjs +0 -39
- package/esm2022/component/dynamic-component/dynamic-component.module.mjs +0 -20
- package/esm2022/component/expand-card/expand-card.module.mjs +0 -45
- package/esm2022/component/expand-panel/expand-panel.module.mjs +0 -50
- package/esm2022/component/file-upload/file-upload.module.mjs +0 -22
- package/esm2022/component/filter/filter.module.mjs +0 -81
- package/esm2022/component/icon/icon-file/icon-file.module.mjs +0 -28
- package/esm2022/component/icon/icon.module.mjs +0 -33
- package/esm2022/component/input/input.module.mjs +0 -26
- package/esm2022/component/message/message.module.mjs +0 -29
- package/esm2022/component/pager/pager.module.mjs +0 -24
- package/esm2022/component/panel/panel.module.mjs +0 -20
- package/esm2022/component/progress-bar/progress-bar.module.mjs +0 -20
- package/esm2022/component/radio/radio.module.mjs +0 -20
- package/esm2022/component/resize-panel/resize-panel.module.mjs +0 -20
- package/esm2022/component/select/select.module.mjs +0 -54
- package/esm2022/component/sidebar/sidebar.module.mjs +0 -28
- package/esm2022/component/switch/switch.module.mjs +0 -21
- package/esm2022/component/table/table.module.mjs +0 -185
- package/esm2022/component/tabs/tabs.module.mjs +0 -39
- package/esm2022/component/theme-switch/theme-switch.module.mjs +0 -28
- package/esm2022/component/three/custom-series/custom-series.component.mjs +0 -34
- package/esm2022/component/three/public-api.mjs +0 -12
- package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +0 -53
- package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +0 -60
- package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +0 -29
- package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +0 -77
- package/esm2022/component/three/three-chart/canvas/canvas.component.mjs +0 -24
- package/esm2022/component/three/three-chart/directive/canvas-3d-host.mjs +0 -49
- package/esm2022/component/three/three-chart/directive/public-api.mjs +0 -3
- package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +0 -48
- package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +0 -42
- package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +0 -2
- package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/base-3d-series.mjs +0 -2
- package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/block-3d-series.mjs +0 -2
- package/esm2022/component/three/three-chart/model/block3d-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/enum/public-api.mjs +0 -2
- package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +0 -6
- package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +0 -2
- package/esm2022/component/three/three-chart/model/line-3d-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/line-3d-series.mjs +0 -2
- package/esm2022/component/three/three-chart/model/public-api.mjs +0 -11
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +0 -47
- package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +0 -86
- package/esm2022/component/three/three-chart/three-chart.component.mjs +0 -46
- package/esm2022/component/toggle/toggle.module.mjs +0 -19
- package/esm2022/component/toolbar/toolbar.module.mjs +0 -20
- package/esm2022/component/tree/tree.module.mjs +0 -24
- package/esm2022/directive/auto-position/auto-position.module.mjs +0 -24
- package/esm2022/directive/click-outside/click-outside.module.mjs +0 -20
- package/esm2022/directive/context-menu/context-menu.module.mjs +0 -24
- package/esm2022/directive/disable-control/disable-control.module.mjs +0 -22
- package/esm2022/directive/drag-drop/drag-drop.module.mjs +0 -39
- package/esm2022/directive/drag-sort/drag-sort.module.mjs +0 -19
- package/esm2022/directive/highlight/highlight.module.mjs +0 -20
- package/esm2022/directive/hint/hint.module.mjs +0 -24
- package/esm2022/directive/let/let.module.mjs +0 -23
- package/esm2022/directive/loader/loader.module.mjs +0 -20
- package/esm2022/directive/no-autofill/no-autofill.module.mjs +0 -18
- package/esm2022/directive/only-number/only-number.module.mjs +0 -18
- package/esm2022/directive/resize-drag/resize-drag.module.mjs +0 -18
- package/esm2022/directive/scroll-into-view/scroll-into-view.module.mjs +0 -23
- package/esm2022/directive/scrollable/scrollable.module.mjs +0 -33
- package/esm2022/directive/teta-template/teta-template.module.mjs +0 -24
- package/esm2022/directive/tooltip/tooltip.module.mjs +0 -20
- package/esm2022/observable/zoneObservable.mjs +0 -15
- package/esm2022/pipe/date-pipe/teta-date-pipe.module.mjs +0 -18
- package/esm2022/pipe/number-pipe/number-pipe.module.mjs +0 -22
- package/esm2022/public-api.mjs +0 -25
- package/observable/zoneObservable.d.ts +0 -5
- package/pipe/date-pipe/teta-date-pipe.module.d.ts +0 -8
- package/pipe/number-pipe/number-pipe.module.d.ts +0 -8
- package/public-api.d.ts +0 -22
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Host, HostBinding, HostListener, Inject, Input, } from '@angular/core';
|
|
2
2
|
import { AccordionItemComponent } from '../accordion-item/accordion-item.component';
|
|
3
|
+
import { IconComponent } from '../../icon/icon/icon.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
-
import * as i2 from "../../icon/icon/icon.component";
|
|
6
|
-
import * as i3 from "../accordion-item/accordion-item.component";
|
|
5
|
+
import * as i1 from "../accordion-item/accordion-item.component";
|
|
7
6
|
export class AccordionHeadComponent {
|
|
8
|
-
accordionHeadClass = true;
|
|
9
|
-
showToggle = true;
|
|
10
|
-
accordionItem$;
|
|
11
7
|
constructor(accordionItem) {
|
|
8
|
+
this.accordionHeadClass = true;
|
|
9
|
+
this.showToggle = true;
|
|
12
10
|
this.accordionItem$ = accordionItem;
|
|
13
11
|
}
|
|
14
12
|
toggle() {
|
|
@@ -25,18 +23,20 @@ export class AccordionHeadComponent {
|
|
|
25
23
|
}
|
|
26
24
|
ngOnInit() {
|
|
27
25
|
}
|
|
28
|
-
static
|
|
29
|
-
static
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccordionHeadComponent, deps: [{ token: AccordionItemComponent, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AccordionHeadComponent, isStandalone: true, selector: "teta-accordion-head", inputs: { showToggle: "showToggle" }, host: { listeners: { "click": "toggle()" }, properties: { "class.accordion-head": "this.accordionHeadClass", "class.accordion-head_open": "this.open", "class.accordion-head_disabled": "this.disabled" } }, ngImport: i0, template: "<ng-content></ng-content>\n@if (showToggle) {\n <div class=\"accordion-toggle\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\"></teta-icon>\n </div>\n}\n\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
28
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccordionHeadComponent, decorators: [{
|
|
32
30
|
type: Component,
|
|
33
|
-
args: [{ selector: 'teta-accordion-head', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
|
-
|
|
31
|
+
args: [{ selector: 'teta-accordion-head', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
32
|
+
IconComponent
|
|
33
|
+
], template: "<ng-content></ng-content>\n@if (showToggle) {\n <div class=\"accordion-toggle\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\"></teta-icon>\n </div>\n}\n\n" }]
|
|
34
|
+
}], ctorParameters: () => [{ type: i1.AccordionItemComponent, decorators: [{
|
|
35
35
|
type: Host
|
|
36
36
|
}, {
|
|
37
37
|
type: Inject,
|
|
38
38
|
args: [AccordionItemComponent]
|
|
39
|
-
}] }]
|
|
39
|
+
}] }], propDecorators: { accordionHeadClass: [{
|
|
40
40
|
type: HostBinding,
|
|
41
41
|
args: ['class.accordion-head']
|
|
42
42
|
}], showToggle: [{
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
51
51
|
type: HostBinding,
|
|
52
52
|
args: ['class.accordion-head_disabled']
|
|
53
53
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWhlYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hY2NvcmRpb24vYWNjb3JkaW9uLWhlYWQvYWNjb3JkaW9uLWhlYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hY2NvcmRpb24vYWNjb3JkaW9uLWhlYWQvYWNjb3JkaW9uLWhlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVcvRCxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLFlBR0ksYUFBcUM7UUFUYSx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFdkUsZUFBVSxHQUFHLElBQUksQ0FBQztRQVN6QixJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBR0QsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OEdBbENVLHNCQUFzQixrQkFTdkIsc0JBQXNCO2tHQVRyQixzQkFBc0Isa1VDdEJuQyxpTEFPQSwwRERZSSxhQUFhOzsyRkFHSixzQkFBc0I7a0JBVmxDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLGFBQWE7cUJBQ2Q7OzBCQVVFLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsc0JBQXNCO3lDQVJzQixrQkFBa0I7c0JBQXZFLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUUxQixVQUFVO3NCQUFsQixLQUFLO2dCQWFOLE1BQU07c0JBREwsWUFBWTt1QkFBQyxPQUFPO2dCQVNqQixJQUFJO3NCQURQLFdBQVc7dUJBQUMsMkJBQTJCO2dCQU1wQyxRQUFRO3NCQURYLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWNjb3JkaW9uSXRlbUNvbXBvbmVudH0gZnJvbSAnLi4vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1hY2NvcmRpb24taGVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24taGVhZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1oZWFkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSWNvbkNvbXBvbmVudFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25IZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY2NvcmRpb24taGVhZCcpIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uSGVhZENsYXNzID0gdHJ1ZTtcblxuICBASW5wdXQoKSBzaG93VG9nZ2xlID0gdHJ1ZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFjY29yZGlvbkl0ZW0kOiBBY2NvcmRpb25JdGVtQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KClcbiAgICBASW5qZWN0KEFjY29yZGlvbkl0ZW1Db21wb25lbnQpXG4gICAgICBhY2NvcmRpb25JdGVtOiBBY2NvcmRpb25JdGVtQ29tcG9uZW50XG4gICkge1xuICAgIHRoaXMuYWNjb3JkaW9uSXRlbSQgPSBhY2NvcmRpb25JdGVtO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hY2NvcmRpb25JdGVtJC50b2dnbGUoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNjb3JkaW9uLWhlYWRfb3BlbicpXG4gIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjY29yZGlvbkl0ZW0kLm9wZW47XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjY29yZGlvbi1oZWFkX2Rpc2FibGVkJylcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjY29yZGlvbkl0ZW0kLmRpc2FibGVkO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbkBpZiAoc2hvd1RvZ2dsZSkge1xuICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLXRvZ2dsZVwiPlxuICAgIDx0ZXRhLWljb24gW25hbWVdPVwib3BlbiA/ICdhcnJvd1VwS2V5JyA6ICdhcnJvd0Rvd25LZXknXCI+PC90ZXRhLWljb24+XG4gIDwvZGl2PlxufVxuXG4iXX0=
|
|
@@ -1,40 +1,37 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Inject, Input, Optional, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, HostBinding, Inject, Input, Optional, } from '@angular/core';
|
|
2
2
|
import { AccordionComponent } from '../accordion/accordion.component';
|
|
3
3
|
import { AccordionContentDirective } from '../accordion-content.directive';
|
|
4
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
-
import * as i2 from "../accordion/accordion.component";
|
|
6
|
+
import * as i1 from "../accordion/accordion.component";
|
|
7
7
|
export class AccordionItemComponent {
|
|
8
|
-
cdr$;
|
|
9
|
-
content;
|
|
10
|
-
open = false;
|
|
11
|
-
disabled = false;
|
|
12
|
-
viewType = 'rounded';
|
|
13
|
-
accordionItemClass = true;
|
|
14
8
|
get class() {
|
|
15
9
|
return `accordion_${this.viewType}`;
|
|
16
10
|
}
|
|
17
|
-
accordion$;
|
|
18
11
|
constructor(accordion, cdr$) {
|
|
19
12
|
this.cdr$ = cdr$;
|
|
13
|
+
this.open = false;
|
|
14
|
+
this.disabled = false;
|
|
15
|
+
this.viewType = 'rounded';
|
|
16
|
+
this.accordionItemClass = true;
|
|
20
17
|
this.accordion$ = accordion;
|
|
21
18
|
}
|
|
22
19
|
toggle() {
|
|
23
20
|
this.open = !this.open;
|
|
24
21
|
this.cdr$.detectChanges();
|
|
25
22
|
}
|
|
26
|
-
static
|
|
27
|
-
static
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccordionItemComponent, deps: [{ token: AccordionComponent, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AccordionItemComponent, isStandalone: true, selector: "teta-accordion-item", inputs: { open: "open", disabled: "disabled", viewType: "viewType" }, host: { properties: { "class.accordion-item_active": "this.open", "class.accordion-item": "this.accordionItemClass", "class": "this.class" } }, queries: [{ propertyName: "content", first: true, predicate: AccordionContentDirective, descendants: true }], ngImport: i0, template: "<ng-content select=\"teta-accordion-head\"></ng-content>\n@if (open) {\n <div class=\"accordion-content\">\n <ng-container *ngTemplateOutlet=\"content!.template\"></ng-container>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
25
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AccordionItemComponent, decorators: [{
|
|
30
27
|
type: Component,
|
|
31
|
-
args: [{ selector: 'teta-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"teta-accordion-head\"></ng-content>\n<div class=\"accordion-content\"
|
|
32
|
-
}], ctorParameters:
|
|
28
|
+
args: [{ selector: 'teta-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet], template: "<ng-content select=\"teta-accordion-head\"></ng-content>\n@if (open) {\n <div class=\"accordion-content\">\n <ng-container *ngTemplateOutlet=\"content!.template\"></ng-container>\n </div>\n}\n" }]
|
|
29
|
+
}], ctorParameters: () => [{ type: i1.AccordionComponent, decorators: [{
|
|
33
30
|
type: Optional
|
|
34
31
|
}, {
|
|
35
32
|
type: Inject,
|
|
36
33
|
args: [AccordionComponent]
|
|
37
|
-
}] }, { type: i0.ChangeDetectorRef }]
|
|
34
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { content: [{
|
|
38
35
|
type: ContentChild,
|
|
39
36
|
args: [AccordionContentDirective, { static: false }]
|
|
40
37
|
}], open: [{
|
|
@@ -53,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
53
50
|
type: HostBinding,
|
|
54
51
|
args: [`class`]
|
|
55
52
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBY2pDLElBQ0ksS0FBSztRQUNQLE9BQU8sYUFBYSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUlELFlBQzBDLFNBQTZCLEVBQzdELElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBakJqQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixhQUFRLEdBQWEsU0FBUyxDQUFDO1FBQ3VCLHVCQUFrQixHQUN0RSxJQUFJLENBQUM7UUFhTCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0EvQlUsc0JBQXNCLGtCQXNCWCxrQkFBa0I7a0dBdEI3QixzQkFBc0IsMFVBQ25CLHlCQUF5QixnREN6QnpDLHVNQU1BLDBERGdCYyxnQkFBZ0I7OzJGQUVqQixzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7OzBCQXdCMUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7eUVBcEJ4QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUsxRCxJQUFJO3NCQUZILFdBQVc7dUJBQUMsNkJBQTZCOztzQkFDekMsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUVnRCxrQkFBa0I7c0JBQXZFLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUkvQixLQUFLO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL21vZGVsL3ZpZXctdHlwZS5tb2RlbCc7XG5pbXBvcnQgeyBBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vYWNjb3JkaW9uLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RldGEtYWNjb3JkaW9uLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCB7XG4gIEBDb250ZW50Q2hpbGQoQWNjb3JkaW9uQ29udGVudERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbnRlbnQ/OiBBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNjb3JkaW9uLWl0ZW1fYWN0aXZlJylcbiAgQElucHV0KClcbiAgb3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICB2aWV3VHlwZTogdmlld1R5cGUgPSAncm91bmRlZCc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNjb3JkaW9uLWl0ZW0nKSBwcml2YXRlIHJlYWRvbmx5IGFjY29yZGlvbkl0ZW1DbGFzcyA9XG4gICAgdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoYGNsYXNzYClcbiAgZ2V0IGNsYXNzKCkge1xuICAgIHJldHVybiBgYWNjb3JkaW9uXyR7dGhpcy52aWV3VHlwZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhY2NvcmRpb24kOiBBY2NvcmRpb25Db21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBY2NvcmRpb25Db21wb25lbnQpIGFjY29yZGlvbjogQWNjb3JkaW9uQ29tcG9uZW50LFxuICAgIHByaXZhdGUgY2RyJDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5hY2NvcmRpb24kID0gYWNjb3JkaW9uO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgdGhpcy5jZHIkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwidGV0YS1hY2NvcmRpb24taGVhZFwiPjwvbmctY29udGVudD5cbkBpZiAob3Blbikge1xuICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudCEudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export * from './accordion.module';
|
|
2
1
|
export * from './accordion/accordion.component';
|
|
3
2
|
export * from './accordion-head/accordion-head.component';
|
|
4
3
|
export * from './accordion-item/accordion-item.component';
|
|
5
4
|
export * from './accordion-content.directive';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYWNjb3JkaW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbi1oZWFkL2FjY29yZGlvbi1oZWFkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -4,11 +4,11 @@ export class AutocompleteComponent {
|
|
|
4
4
|
constructor() { }
|
|
5
5
|
ngOnInit() {
|
|
6
6
|
}
|
|
7
|
-
static
|
|
8
|
-
static
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: AutocompleteComponent, isStandalone: true, selector: "teta-autocomplete", ngImport: i0, template: "<p>autocomplete works!</p>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
|
-
args: [{ selector: 'teta-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>autocomplete works!</p>\n" }]
|
|
13
|
-
}], ctorParameters:
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
args: [{ selector: 'teta-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<p>autocomplete works!</p>\n" }]
|
|
13
|
+
}], ctorParameters: () => [] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOztBQVN6RSxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOzhHQUxVLHFCQUFxQjtrR0FBckIscUJBQXFCLDZFQ1RsQyw4QkFDQTs7MkZEUWEscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGV0YS1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxwPmF1dG9jb21wbGV0ZSB3b3JrcyE8L3A+XG4iXX0=
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './autocomplete.module';
|
|
2
1
|
export * from './autocomplete/autocomplete.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXV0b2NvbXBsZXRlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,49 +1,45 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
2
|
import { AvatarColorEnum } from '../model/avatar-color.enum';
|
|
3
|
+
import { IconComponent } from '../../icon/icon/icon.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "../../icon/icon/icon.component";
|
|
6
5
|
export class AvatarComponent {
|
|
7
|
-
photo;
|
|
8
|
-
name;
|
|
9
|
-
id = 0;
|
|
10
|
-
viewType;
|
|
11
|
-
size = '28';
|
|
12
6
|
get avatar() {
|
|
13
7
|
let avatar = 'avatar ';
|
|
14
8
|
avatar += 'avatar-size-' + this.size;
|
|
15
9
|
return avatar;
|
|
16
10
|
}
|
|
17
|
-
colorMap = new Map()
|
|
18
|
-
.set(AvatarColorEnum.vibrant, '#FAB13C')
|
|
19
|
-
.set(AvatarColorEnum.pumpkin, '#F67A1A')
|
|
20
|
-
.set(AvatarColorEnum.heart, '#CC3E3E')
|
|
21
|
-
.set(AvatarColorEnum.cerise, '#EB3673')
|
|
22
|
-
.set(AvatarColorEnum.nebula, '#9121A3')
|
|
23
|
-
.set(AvatarColorEnum.vanity, '#9C2AD6')
|
|
24
|
-
.set(AvatarColorEnum.gloomy, '#855EE1')
|
|
25
|
-
.set(AvatarColorEnum.iris, '#5350D1')
|
|
26
|
-
.set(AvatarColorEnum.gorgonzola, '#3858DA')
|
|
27
|
-
.set(AvatarColorEnum.navy, '#1F7CE0')
|
|
28
|
-
.set(AvatarColorEnum.rockman, '#3AA2F4')
|
|
29
|
-
.set(AvatarColorEnum.caribbean, '#1CC3D9')
|
|
30
|
-
.set(AvatarColorEnum.lagoon, '#1D96AE')
|
|
31
|
-
.set(AvatarColorEnum.turquoise, '#1F9D8C')
|
|
32
|
-
.set(AvatarColorEnum.hair, '#1EAE66')
|
|
33
|
-
.set(AvatarColorEnum.poisonous, '#33C333')
|
|
34
|
-
.set(AvatarColorEnum.lime, '#80C026')
|
|
35
|
-
.set(AvatarColorEnum.greyish, '#7F8697');
|
|
36
11
|
constructor() {
|
|
12
|
+
this.id = 0;
|
|
13
|
+
this.size = '28';
|
|
14
|
+
this.colorMap = new Map()
|
|
15
|
+
.set(AvatarColorEnum.vibrant, '#FAB13C')
|
|
16
|
+
.set(AvatarColorEnum.pumpkin, '#F67A1A')
|
|
17
|
+
.set(AvatarColorEnum.heart, '#CC3E3E')
|
|
18
|
+
.set(AvatarColorEnum.cerise, '#EB3673')
|
|
19
|
+
.set(AvatarColorEnum.nebula, '#9121A3')
|
|
20
|
+
.set(AvatarColorEnum.vanity, '#9C2AD6')
|
|
21
|
+
.set(AvatarColorEnum.gloomy, '#855EE1')
|
|
22
|
+
.set(AvatarColorEnum.iris, '#5350D1')
|
|
23
|
+
.set(AvatarColorEnum.gorgonzola, '#3858DA')
|
|
24
|
+
.set(AvatarColorEnum.navy, '#1F7CE0')
|
|
25
|
+
.set(AvatarColorEnum.rockman, '#3AA2F4')
|
|
26
|
+
.set(AvatarColorEnum.caribbean, '#1CC3D9')
|
|
27
|
+
.set(AvatarColorEnum.lagoon, '#1D96AE')
|
|
28
|
+
.set(AvatarColorEnum.turquoise, '#1F9D8C')
|
|
29
|
+
.set(AvatarColorEnum.hair, '#1EAE66')
|
|
30
|
+
.set(AvatarColorEnum.poisonous, '#33C333')
|
|
31
|
+
.set(AvatarColorEnum.lime, '#80C026')
|
|
32
|
+
.set(AvatarColorEnum.greyish, '#7F8697');
|
|
37
33
|
}
|
|
38
34
|
ngOnInit() {
|
|
39
35
|
}
|
|
40
|
-
static
|
|
41
|
-
static
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AvatarComponent, isStandalone: true, selector: "teta-avatar", inputs: { photo: "photo", name: "name", id: "id", viewType: "viewType", size: "size" }, host: { properties: { "class": "this.avatar" } }, ngImport: i0, template: "<div [class]=\"avatar\">\n @if (photo) {\n <img [class]=\"'avatar_' + this.viewType\" [src]=\"photo\" alt=\"\"/>\n } @else {\n <div [class]=\"'avatar_' + this.viewType\" [style.background-color]=\"colorMap.get(id%17)||colorMap.get(0)\"\n class=\"column align-center justify-content-center position-relative\">\n @if (name) {\n <p>{{name}}</p>\n } @else {\n <teta-icon class=\"width-10 height-10\" style=\"fill: white;width:{{size}}px; height:{{size}}px\"\n name=\"photoCamera\"></teta-icon>\n }\n <div [class]=\"'avatar_' + this.viewType\" class=\"position-absolute\"\n style=\"width: 100%;z-index:1;height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%);'\"></div>\n </div>\n }\n\n</div>\n", styles: [".avatar{font-style:normal;font-weight:600;line-height:16px}.avatar_brick{border-radius:var(--radius-base-brick)}.avatar_circle{border-radius:var(--radius-base-circle)}.avatar_rounded{border-radius:var(--radius-base-round)}.avatar-size-24{height:24px;width:24px;font-size:11px}.avatar-size-24 img,.avatar-size-24 div{height:24px;width:24px}.avatar-size-28{height:28px;width:28px;font-size:11px}.avatar-size-28 img,.avatar-size-28 div{height:28px;width:28px}.avatar-size-32{height:32px;width:32px;font-size:11px}.avatar-size-32 img,.avatar-size-32 div{height:32px;width:32px}.avatar-size-44{height:44px;width:44px;font-size:14px}.avatar-size-44 img,.avatar-size-44 div{height:44px;width:44px}.avatar-size-64{height:64px;width:64px;font-size:16px}.avatar-size-64 img,.avatar-size-64 div{height:64px;width:64px}.avatar-size-128{height:128px;width:128px;font-size:28px}.avatar-size-128 img,.avatar-size-128 div{height:128px;width:128px}.avatar-size-200{height:200px;width:200px;font-size:35px}.avatar-size-200 img,.avatar-size-200 div{height:200px;width:200px}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
42
38
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
44
40
|
type: Component,
|
|
45
|
-
args: [{ selector: 'teta-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"avatar\">\n <img [class]=\"'avatar_' + this.viewType\"
|
|
46
|
-
}], ctorParameters:
|
|
41
|
+
args: [{ selector: 'teta-avatar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [IconComponent], template: "<div [class]=\"avatar\">\n @if (photo) {\n <img [class]=\"'avatar_' + this.viewType\" [src]=\"photo\" alt=\"\"/>\n } @else {\n <div [class]=\"'avatar_' + this.viewType\" [style.background-color]=\"colorMap.get(id%17)||colorMap.get(0)\"\n class=\"column align-center justify-content-center position-relative\">\n @if (name) {\n <p>{{name}}</p>\n } @else {\n <teta-icon class=\"width-10 height-10\" style=\"fill: white;width:{{size}}px; height:{{size}}px\"\n name=\"photoCamera\"></teta-icon>\n }\n <div [class]=\"'avatar_' + this.viewType\" class=\"position-absolute\"\n style=\"width: 100%;z-index:1;height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%);'\"></div>\n </div>\n }\n\n</div>\n", styles: [".avatar{font-style:normal;font-weight:600;line-height:16px}.avatar_brick{border-radius:var(--radius-base-brick)}.avatar_circle{border-radius:var(--radius-base-circle)}.avatar_rounded{border-radius:var(--radius-base-round)}.avatar-size-24{height:24px;width:24px;font-size:11px}.avatar-size-24 img,.avatar-size-24 div{height:24px;width:24px}.avatar-size-28{height:28px;width:28px;font-size:11px}.avatar-size-28 img,.avatar-size-28 div{height:28px;width:28px}.avatar-size-32{height:32px;width:32px;font-size:11px}.avatar-size-32 img,.avatar-size-32 div{height:32px;width:32px}.avatar-size-44{height:44px;width:44px;font-size:14px}.avatar-size-44 img,.avatar-size-44 div{height:44px;width:44px}.avatar-size-64{height:64px;width:64px;font-size:16px}.avatar-size-64 img,.avatar-size-64 div{height:64px;width:64px}.avatar-size-128{height:128px;width:128px;font-size:28px}.avatar-size-128 img,.avatar-size-128 div{height:128px;width:128px}.avatar-size-200{height:200px;width:200px;font-size:35px}.avatar-size-200 img,.avatar-size-200 div{height:200px;width:200px}\n"] }]
|
|
42
|
+
}], ctorParameters: () => [], propDecorators: { photo: [{
|
|
47
43
|
type: Input
|
|
48
44
|
}], name: [{
|
|
49
45
|
type: Input
|
|
@@ -57,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
57
53
|
type: HostBinding,
|
|
58
54
|
args: ['class']
|
|
59
55
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXZhdGFyL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hdmF0YXIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFVL0QsTUFBTSxPQUFPLGVBQWU7SUFPMUIsSUFBMEIsTUFBTTtRQUM5QixJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdkIsTUFBTSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUF5QkQ7UUFqQ1MsT0FBRSxHQUFZLENBQUMsQ0FBQztRQUVoQixTQUFJLEdBQXNELElBQUksQ0FBQztRQVFqRSxhQUFRLEdBQWlDLElBQUksR0FBRyxFQUdwRDthQUNBLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQzthQUN2QyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7YUFDdkMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO2FBQ3JDLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQzthQUN0QyxHQUFHLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7YUFDdEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO2FBQ3RDLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQzthQUN0QyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7YUFDcEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO2FBQzFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQzthQUNwQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7YUFDdkMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQzthQUN0QyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7YUFDekMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO2FBQ3BDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzthQUN6QyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7YUFDcEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFHM0MsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzhHQXhDVSxlQUFlO2tHQUFmLGVBQWUsaU5DYjVCLHl5QkFrQkEsMmxDRFBjLGFBQWE7OzJGQUVkLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsQ0FBQzt3REFHakIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRW9CLE1BQU07c0JBQS9CLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBdmF0YXJDb2xvckVudW19IGZyb20gJy4uL21vZGVsL2F2YXRhci1jb2xvci5lbnVtJztcbmltcG9ydCB7dmlld1R5cGV9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsXCI7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ZXRhLWF2YXRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGhvdG8/OiBzdHJpbmcgfCBBcnJheUJ1ZmZlcjtcbiAgQElucHV0KCkgbmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgaWQ/OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSB2aWV3VHlwZT86IHZpZXdUeXBlO1xuICBASW5wdXQoKSBzaXplPzogJzI0JyB8ICcyOCcgfCAnMzInIHwgJzQ0JyB8ICc2NCcgfCAnMTI4JyB8ICcyMDAnID0gJzI4JztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGF2YXRhcigpIHtcbiAgICBsZXQgYXZhdGFyID0gJ2F2YXRhciAnO1xuICAgIGF2YXRhciArPSAnYXZhdGFyLXNpemUtJyArIHRoaXMuc2l6ZTtcbiAgICByZXR1cm4gYXZhdGFyO1xuICB9XG5cbiAgcHVibGljIGNvbG9yTWFwOiBNYXA8QXZhdGFyQ29sb3JFbnVtLCBzdHJpbmc+ID0gbmV3IE1hcDxcbiAgICBBdmF0YXJDb2xvckVudW0sXG4gICAgc3RyaW5nXG4gID4oKVxuICAgIC5zZXQoQXZhdGFyQ29sb3JFbnVtLnZpYnJhbnQsICcjRkFCMTNDJylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5wdW1wa2luLCAnI0Y2N0ExQScpXG4gICAgLnNldChBdmF0YXJDb2xvckVudW0uaGVhcnQsICcjQ0MzRTNFJylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5jZXJpc2UsICcjRUIzNjczJylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5uZWJ1bGEsICcjOTEyMUEzJylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS52YW5pdHksICcjOUMyQUQ2JylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5nbG9vbXksICcjODU1RUUxJylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5pcmlzLCAnIzUzNTBEMScpXG4gICAgLnNldChBdmF0YXJDb2xvckVudW0uZ29yZ29uem9sYSwgJyMzODU4REEnKVxuICAgIC5zZXQoQXZhdGFyQ29sb3JFbnVtLm5hdnksICcjMUY3Q0UwJylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5yb2NrbWFuLCAnIzNBQTJGNCcpXG4gICAgLnNldChBdmF0YXJDb2xvckVudW0uY2FyaWJiZWFuLCAnIzFDQzNEOScpXG4gICAgLnNldChBdmF0YXJDb2xvckVudW0ubGFnb29uLCAnIzFEOTZBRScpXG4gICAgLnNldChBdmF0YXJDb2xvckVudW0udHVycXVvaXNlLCAnIzFGOUQ4QycpXG4gICAgLnNldChBdmF0YXJDb2xvckVudW0uaGFpciwgJyMxRUFFNjYnKVxuICAgIC5zZXQoQXZhdGFyQ29sb3JFbnVtLnBvaXNvbm91cywgJyMzM0MzMzMnKVxuICAgIC5zZXQoQXZhdGFyQ29sb3JFbnVtLmxpbWUsICcjODBDMDI2JylcbiAgICAuc2V0KEF2YXRhckNvbG9yRW51bS5ncmV5aXNoLCAnIzdGODY5NycpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cImF2YXRhclwiPlxuICBAaWYgKHBob3RvKSB7XG4gICAgPGltZyBbY2xhc3NdPVwiJ2F2YXRhcl8nICsgdGhpcy52aWV3VHlwZVwiIFtzcmNdPVwicGhvdG9cIiBhbHQ9XCJcIi8+XG4gIH0gQGVsc2Uge1xuICAgIDxkaXYgW2NsYXNzXT1cIidhdmF0YXJfJyArIHRoaXMudmlld1R5cGVcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJjb2xvck1hcC5nZXQoaWQlMTcpfHxjb2xvck1hcC5nZXQoMClcIlxuICAgICAgY2xhc3M9XCJjb2x1bW4gYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgIEBpZiAobmFtZSkge1xuICAgICAgICA8cD57e25hbWV9fTwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8dGV0YS1pY29uIGNsYXNzPVwid2lkdGgtMTAgaGVpZ2h0LTEwXCIgc3R5bGU9XCJmaWxsOiB3aGl0ZTt3aWR0aDp7e3NpemV9fXB4OyBoZWlnaHQ6e3tzaXplfX1weFwiXG4gICAgICAgIG5hbWU9XCJwaG90b0NhbWVyYVwiPjwvdGV0YS1pY29uPlxuICAgICAgfVxuICAgICAgPGRpdiBbY2xhc3NdPVwiJ2F2YXRhcl8nICsgdGhpcy52aWV3VHlwZVwiIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGVcIlxuICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTt6LWluZGV4OjE7aGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpOydcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './avatar.module';
|
|
2
1
|
export * from './avatar/avatar.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXZhdGFyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, HostBinding, Input, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class ButtonComponent {
|
|
4
|
-
palette;
|
|
5
|
-
class;
|
|
6
|
-
view = 'primary';
|
|
7
|
-
square = false;
|
|
8
|
-
viewType = 'rounded';
|
|
9
|
-
size = 'm';
|
|
10
4
|
get getClass() {
|
|
11
5
|
const result = [this.class, 'button'];
|
|
12
6
|
if (this.palette) {
|
|
@@ -29,16 +23,20 @@ export class ButtonComponent {
|
|
|
29
23
|
return result.join(' ');
|
|
30
24
|
}
|
|
31
25
|
constructor() {
|
|
26
|
+
this.view = 'primary';
|
|
27
|
+
this.square = false;
|
|
28
|
+
this.viewType = 'rounded';
|
|
29
|
+
this.size = 'm';
|
|
32
30
|
}
|
|
33
31
|
ngOnInit() {
|
|
34
32
|
}
|
|
35
|
-
static
|
|
36
|
-
static
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ButtonComponent, isStandalone: true, selector: "button[teta-button], teta-button", inputs: { palette: "palette", class: "class", view: "view", square: "square", viewType: "viewType", size: "size" }, host: { properties: { "class": "this.getClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
35
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
39
37
|
type: Component,
|
|
40
|
-
args: [{ selector: 'button[teta-button], teta-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
|
|
41
|
-
}], ctorParameters:
|
|
38
|
+
args: [{ selector: 'button[teta-button], teta-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-content></ng-content>\n" }]
|
|
39
|
+
}], ctorParameters: () => [], propDecorators: { palette: [{
|
|
42
40
|
type: Input
|
|
43
41
|
}], class: [{
|
|
44
42
|
type: Input
|
|
@@ -54,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
54
52
|
type: HostBinding,
|
|
55
53
|
args: ['class']
|
|
56
54
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYnV0dG9uL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9idXR0b24vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEdBQVUsTUFBTSxlQUFlLENBQUM7O0FBYTlGLE1BQU0sT0FBTyxlQUFlO0lBUTFCLElBQ1ksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsS0FBSyxHQUFHO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLEdBQUc7Z0JBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7UUE1QlMsU0FBSSxHQUFtQixTQUFTLENBQUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGFBQVEsR0FBYSxTQUFTLENBQUE7UUFDOUIsU0FBSSxHQUFjLEdBQUcsQ0FBQztJQTBCL0IsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzhHQW5DVSxlQUFlO2tHQUFmLGVBQWUsb1FDYjVCLDZCQUNBOzsyRkRZYSxlQUFlO2tCQVIzQixTQUFTOytCQUVJLGtDQUFrQyxtQkFHM0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO3dEQUdULE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHTSxRQUFRO3NCQURuQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3ZpZXdUeXBlfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL21vZGVsL3ZpZXctdHlwZS5tb2RlbFwiO1xuXG5leHBvcnQgdHlwZSBCdXR0b25WaWV3VHlwZSA9ICdwcmltYXJ5JyB8ICdvdXRsaW5lJyB8ICdnaG9zdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdidXR0b25bdGV0YS1idXR0b25dLCB0ZXRhLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGFsZXR0ZTogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzcztcbiAgQElucHV0KCkgdmlldzogQnV0dG9uVmlld1R5cGUgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNxdWFyZSA9IGZhbHNlO1xuICBASW5wdXQoKSB2aWV3VHlwZTogdmlld1R5cGUgPSAncm91bmRlZCdcbiAgQElucHV0KCkgc2l6ZTogJ20nIHwgJ2wnID0gJ20nO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBnZXRDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlc3VsdCA9IFt0aGlzLmNsYXNzLCAnYnV0dG9uJ107XG4gICAgaWYgKHRoaXMucGFsZXR0ZSkge1xuICAgICAgcmVzdWx0LnB1c2goYGJ1dHRvbi0ke3RoaXMucGFsZXR0ZX1gKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmlldykge1xuICAgICAgcmVzdWx0LnB1c2goYGJ1dHRvbl8ke3RoaXMudmlld31gKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3F1YXJlKSB7XG4gICAgICByZXN1bHQucHVzaChgYnV0dG9uLXNxdWFyZWApO1xuICAgIH1cbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSBcImxcIjpcbiAgICAgICAgcmVzdWx0LnB1c2goYGZvbnQtYnV0dG9uLTFgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibVwiOlxuICAgICAgICByZXN1bHQucHVzaChgZm9udC1idXR0b24tMmApO1xuICAgIH1cbiAgICByZXN1bHQucHVzaChgYnV0dG9uXyR7dGhpcy52aWV3VHlwZX1gKTtcbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJyAnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './button.module';
|
|
2
1
|
export * from './button/button.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYnV0dG9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,27 +1,18 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, } from '@angular/core';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
|
|
4
4
|
import * as d3 from 'd3';
|
|
5
|
+
import { Chart3dOptions } from '../model/chart-3d-options';
|
|
6
|
+
import { ThemeSwitchService } from '../../theme-switch/theme-switch.service';
|
|
5
7
|
import { takeWhile, tap } from 'rxjs/operators';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "../../theme-switch/theme-switch.service";
|
|
8
10
|
export class Chart3dComponent {
|
|
9
|
-
_elementRef;
|
|
10
|
-
_themeService;
|
|
11
|
-
canvasRef;
|
|
12
|
-
_scene;
|
|
13
|
-
_camera;
|
|
14
|
-
_renderer;
|
|
15
|
-
_controls;
|
|
16
|
-
_obs;
|
|
17
|
-
_config;
|
|
18
|
-
SIDE_SIZE = 100;
|
|
19
|
-
gridColor;
|
|
20
|
-
axesColor;
|
|
21
|
-
_alive = true;
|
|
22
11
|
constructor(_elementRef, _themeService) {
|
|
23
12
|
this._elementRef = _elementRef;
|
|
24
13
|
this._themeService = _themeService;
|
|
14
|
+
this.SIDE_SIZE = 100;
|
|
15
|
+
this._alive = true;
|
|
25
16
|
}
|
|
26
17
|
set config(config) {
|
|
27
18
|
if (config) {
|
|
@@ -248,16 +239,16 @@ export class Chart3dComponent {
|
|
|
248
239
|
.nice();
|
|
249
240
|
return { x, y, z };
|
|
250
241
|
}
|
|
251
|
-
static
|
|
252
|
-
static
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Chart3dComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThemeSwitchService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: Chart3dComponent, isStandalone: true, selector: "teta-chart3d", inputs: { config: "config" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["canvas"], descendants: true }], ngImport: i0, template: "<canvas #canvas></canvas>\n", styles: [":host{display:flex;width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
253
244
|
}
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
245
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Chart3dComponent, decorators: [{
|
|
255
246
|
type: Component,
|
|
256
|
-
args: [{ selector: 'teta-chart3d', changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas #canvas></canvas>\n", styles: [":host{display:flex;width:100%;height:100%}\n"] }]
|
|
257
|
-
}], ctorParameters:
|
|
247
|
+
args: [{ selector: 'teta-chart3d', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<canvas #canvas></canvas>\n", styles: [":host{display:flex;width:100%;height:100%}\n"] }]
|
|
248
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThemeSwitchService }], propDecorators: { canvasRef: [{
|
|
258
249
|
type: ViewChild,
|
|
259
250
|
args: ['canvas']
|
|
260
251
|
}], config: [{
|
|
261
252
|
type: Input
|
|
262
253
|
}] } });
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQzZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUt6QixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRaEQsTUFBTSxPQUFPLGdCQUFnQjtJQWlCakI7SUFDQTtJQWpCVyxTQUFTLENBQWE7SUFFbkMsTUFBTSxDQUFjO0lBQ3BCLE9BQU8sQ0FBMEI7SUFDakMsU0FBUyxDQUFpQjtJQUMxQixTQUFTLENBQWdCO0lBQ3pCLElBQUksQ0FBaUI7SUFDckIsT0FBTyxDQUFpQjtJQUV4QixTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLFNBQVMsQ0FBTTtJQUNmLFNBQVMsQ0FBTTtJQUVmLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFdEIsWUFDVSxXQUF1QixFQUN2QixhQUFpQztRQURqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBb0I7SUFDeEMsQ0FBQztJQUVKLElBQWEsTUFBTSxDQUFDLE1BQXNCO1FBQ3hDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxD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LEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QixNQUFNLENBQUMsR0FBRyxFQUFFO2FBQ1QsV0FBVyxFQUFFO2FBQ2IsTUFBTSxDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJO2dCQUM3QixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRztTQUMxQixDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQixJQUFJLEVBQUUsQ0FBQztRQUVWLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7dUdBbFZVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLHVMQ3pCN0IsNkJBQ0E7OzJGRHdCYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNO2tJQUcxQixTQUFTO3NCQUE3QixTQUFTO3VCQUFDLFFBQVE7Z0JBb0JOLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBPcmJpdENvbnRyb2xzIH0gZnJvbSAndGhyZWUvZXhhbXBsZXMvanNtL2NvbnRyb2xzL09yYml0Q29udHJvbHMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgQ2hhcnQzZE9wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9jaGFydC0zZC1vcHRpb25zJztcbmltcG9ydCB7IEJhc2UzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYmFzZS0zZC1wb2ludCc7XG5pbXBvcnQgeyBTZXJpZXMzZCB9IGZyb20gJy4uL21vZGVsL3Nlcmllcy0zZCc7XG5pbXBvcnQgeyBUaGVtZVN3aXRjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi90aGVtZS1zd2l0Y2gvdGhlbWUtc3dpdGNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZVdoaWxlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtY2hhcnQzZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydDNkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnQzZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnQzZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzUmVmOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX3NjZW5lOiBUSFJFRS5TY2VuZTtcbiAgcHJpdmF0ZSBfY2FtZXJhOiBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYTtcbiAgcHJpdmF0ZSBfcmVuZGVyZXI6IFRIUkVFLlJlbmRlcmVyO1xuICBwcml2YXRlIF9jb250cm9sczogT3JiaXRDb250cm9scztcbiAgcHJpdmF0ZSBfb2JzOiBSZXNpemVPYnNlcnZlcjtcbiAgcHJpdmF0ZSBfY29uZmlnOiBDaGFydDNkT3B0aW9ucztcblxuICBwcml2YXRlIFNJREVfU0laRSA9IDEwMDtcbiAgcHJpdmF0ZSBncmlkQ29sb3I6IGFueTtcbiAgcHJpdmF0ZSBheGVzQ29sb3I6IGFueTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF90aGVtZVNlcnZpY2U6IFRoZW1lU3dpdGNoU2VydmljZVxuICApIHt9XG5cbiAgQElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IENoYXJ0M2RPcHRpb25zKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzKCk6IEhUTUxDYW52YXNFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3RoZW1lU2VydmljZS50aGVtZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgdGFwKF8gPT4ge1xuICAgICAgICAgIHRoaXMuZ3JpZENvbG9yID0gXyA/ICcjNWQ2YTczJyA6ICcjYmRiZGM2JztcbiAgICAgICAgICB0aGlzLmF4ZXNDb2xvciA9IF8gPyAnIzhlOGY5ZCcgOiAnIzdkOGY5YSc7XG4gICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hZGRSZXNpemVPYnNlcnZlcigpO1xuICAgIHRoaXMuY3JlYXRlU2NlbmUoKTtcbiAgICB0aGlzLnN0YXJ0UmVuZGVyaW5nTG9vcCgpO1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnJlbW92ZVJlc2l6ZU9ic2VydmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgaWYgKCF0aGlzLl9zY2VuZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlICh0aGlzLl9zY2VuZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zY2VuZS5yZW1vdmUodGhpcy5fc2NlbmUuY2hpbGRyZW5bMF0pO1xuICAgIH1cblxuICAgIGNvbnN0IHsgeCwgeSwgeiB9ID0gdGhpcy5nZXRTY2FsZXModGhpcy5fY29uZmlnLnNlcmllcyk7XG5cbiAgICB0aGlzLmNvbmZpZy5zZXJpZXMuZm9yRWFjaCgoZGF0YSwgaWR4KSA9PiB7XG4gICAgICBpZiAoIWRhdGEucG9pbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwb2ludHMgPSBkYXRhLnBvaW50cy5tYXAoXG4gICAgICAgIF8gPT4gbmV3IFRIUkVFLlZlY3RvcjMoeChfLngpLCB5KF8ueSksIHooXy56KSlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNvbG9yID0gZDMuc2NhbGVPcmRpbmFsKGQzLnNjaGVtZVRhYmxlYXUxMCk7XG5cbiAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtcbiAgICAgICAgY29sb3I6IGRhdGE/LmNvbG9yID8/IGNvbG9yKGlkeC50b1N0cmluZygpKSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB0dWJlR2VvbWV0cnkgPSBuZXcgVEhSRUUuVHViZUdlb21ldHJ5KFxuICAgICAgICBuZXcgVEhSRUUuQ2F0bXVsbFJvbUN1cnZlMyhwb2ludHMpLFxuICAgICAgICAxMDI0LFxuICAgICAgICAwLjUsXG4gICAgICAgIDIwLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcblxuICAgICAgbGV0IHR1YmUgPSBuZXcgVEhSRUUuTGluZSh0dWJlR2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgICAgIHRoaXMuX3NjZW5lLmFkZCh0dWJlKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNpcmNsZXMgPSB4LnRpY2tzKHRoaXMuU0lERV9TSVpFIC8gMTApO1xuXG4gICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTGluZUJhc2ljTWF0ZXJpYWwoeyBjb2xvcjogdGhpcy5heGVzQ29sb3IgfSk7XG4gICAgY29uc3QgcG9pbnRzTGluZXMgPSBbXTtcbiAgICBwb2ludHNMaW5lcy5wdXNoKG5ldyBUSFJFRS5WZWN0b3IzKDAsIDAsIDApKTtcbiAgICBwb2ludHNMaW5lcy5wdXNoKG5ldyBUSFJFRS5WZWN0b3IzKDAsIDAsIHooLXouZG9tYWluKClbMV0pKSk7XG5cbiAgICBwb2ludHNMaW5lcy5wdXNoKG5ldyBUSFJFRS5WZWN0b3IzKDAsIDAsIDApKTtcbiAgICBwb2ludHNMaW5lcy5wdXNoKG5ldyBUSFJFRS5WZWN0b3IzKHgoLXguZG9tYWluKClbMV0pLCAwLCAwKSk7XG5cbiAgICBjb25zdCBnZW9tZXRyeUxpbmVzID0gbmV3IFRIUkVFLkJ1ZmZlckdlb21ldHJ5KCkuc2V0RnJvbVBvaW50cyhwb2ludHNMaW5lcyk7XG4gICAgY29uc3QgbGluZSA9IG5ldyBUSFJFRS5MaW5lKGdlb21ldHJ5TGluZXMsIG1hdGVyaWFsKTtcblxuICAgIHRoaXMuX3NjZW5lLmFkZChsaW5lKTtcblxuICAgIGNpcmNsZXMuZm9yRWFjaChyID0+IHtcbiAgICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVEYXNoZWRNYXRlcmlhbCh7XG4gICAgICAgIGNvbG9yOiB0aGlzLmdyaWRDb2xvcixcbiAgICAgICAgZGFzaFNpemU6IDEsXG4gICAgICAgIGdhcFNpemU6IDMsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY2lyY2xlR2VvbWV0cnkgPSBuZXcgVEhSRUUuQnVmZmVyR2VvbWV0cnkoKS5zZXRGcm9tUG9pbnRzKFxuICAgICAgICBuZXcgVEhSRUUuUGF0aCgpXG4gICAgICAgICAgLmFic2FyYygwLCAwLCB4KHIpLCAwLCBNYXRoLlBJICogMiwgZmFsc2UpXG4gICAgICAgICAgLmdldFNwYWNlZFBvaW50cygxMDApXG4gICAgICApO1xuXG4gICAgICBjb25zdCBjaXJjbGUgPSBuZXcgVEhSRUUuTGluZVNlZ21lbnRzKGNpcmNsZUdlb21ldHJ5LCBtYXRlcmlhbCk7XG5cbiAgICAgIGNpcmNsZS5nZW9tZXRyeS5yb3RhdGVYKC1NYXRoLlBJIC8gMik7XG5cbiAgICAgIHRoaXMuX3NjZW5lLmFkZChjaXJjbGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kcmF3VGlja3MoeCwgeSwgeik7XG5cbiAgICBpZiAoIXRoaXMuX2NvbnRyb2xzKSB7XG4gICAgICB0aGlzLl9jb250cm9scyA9IG5ldyBPcmJpdENvbnRyb2xzKFxuICAgICAgICB0aGlzLl9jYW1lcmEsXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmRvbUVsZW1lbnRcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2NvbnRyb2xzLmVuYWJsZURhbXBpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlUGFuID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NvbnRyb2xzLmRhbXBpbmdGYWN0b3IgPSAwLjI1O1xuICAgICAgdGhpcy5fY29udHJvbHMuc2NyZWVuU3BhY2VQYW5uaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NvbnRyb2xzLm1pbkRpc3RhbmNlID0gMDtcbiAgICAgIHRoaXMuX2NvbnRyb2xzLm1heERpc3RhbmNlID0gMTAwMDA7XG4gICAgICB0aGlzLl9jb250cm9scy5tYXhQb2xhckFuZ2xlID0gTWF0aC5QSSAvIDI7XG5cbiAgICAgIHRoaXMuX2NvbnRyb2xzLmVuYWJsZVpvb20gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU2NlbmUoKSB7XG4gICAgdGhpcy5fc2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTtcblxuICAgIGNvbnN0IGFzcGVjdFJhdGlvID1cbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAvXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgY29uc3QgZmllbGRPZlZpZXcgPSAxMDtcbiAgICBjb25zdCBuZWFyQ2xpcHBpbmdQYW5lID0gMTtcbiAgICBjb25zdCBmYXJDbGlwcGluZ1BhbmUgPSAxMDAwMDtcblxuICAgIHRoaXMuX2NhbWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYShcbiAgICAgIGZpZWxkT2ZWaWV3LFxuICAgICAgYXNwZWN0UmF0aW8sXG4gICAgICBuZWFyQ2xpcHBpbmdQYW5lLFxuICAgICAgZmFyQ2xpcHBpbmdQYW5lXG4gICAgKTtcblxuICAgIHRoaXMuX2NhbWVyYS5wb3NpdGlvbi5zZXQoMTMwMCwgMTMwMCwgMTMwMCkuc2V0TGVuZ3RoKDEzMDApO1xuICAgIHRoaXMuX3NjZW5lLmFkZCh0aGlzLl9jYW1lcmEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTaXplKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGhpcy5fY2FtZXJhLmFzcGVjdCA9IHdpZHRoIC8gaGVpZ2h0O1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldFNpemUod2lkdGgsIGhlaWdodCk7XG5cbiAgICB0aGlzLl9jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXIoKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVuZGVyKHRoaXMuX3NjZW5lLCB0aGlzLl9jYW1lcmEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJlbmRlcmluZ0xvb3AoKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIgPSBuZXcgVEhSRUUuV2ViR0xSZW5kZXJlcih7XG4gICAgICBhbnRpYWxpYXM6IHRydWUsXG4gICAgICBjYW52YXM6IHRoaXMuY2FudmFzLFxuICAgICAgYWxwaGE6IHRydWUsXG4gICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBhbmltYXRlID0gKCkgPT4ge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpO1xuICAgICAgdGhpcy5fY29udHJvbHM/LnVwZGF0ZSgpO1xuICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9O1xuXG4gICAgYW5pbWF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRSZXNpemVPYnNlcnZlcigpIHtcbiAgICB0aGlzLl9vYnMgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoXyA9PiB7XG4gICAgICB0aGlzLnNldFNpemUoX1swXT8uY29udGVudFJlY3Qud2lkdGgsIF9bMF0/LmNvbnRlbnRSZWN0LmhlaWdodCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vYnMub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSZXNpemVPYnNlcnZlcigpIHtcbiAgICB0aGlzLl9vYnMudW5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5fb2JzLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFrZVNwcml0ZSh0ZXh0OiBzdHJpbmcsIG9wdHM/OiB7IGZvbnRTaXplPzogbnVtYmVyIH0pOiBUSFJFRS5TcHJpdGUge1xuICAgIGNvbnN0IGZvbnRTaXplID0gMjA7XG5cbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICBjb25zdCB0ZXh0V2lkdGggPSB0ZXh0Lmxlbmd0aCAqIDUwO1xuICAgIGNhbnZhcy5oZWlnaHQgPSA1MDtcbiAgICBjYW52YXMud2lkdGggPSA1MDtcblxuICAgIGlmIChjdHgpIHtcbiAgICAgIGN0eC5mb250ID0gYCR7Zm9udFNpemV9cHggQXJpYWxgO1xuICAgICAgY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xuICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICdtaWRkbGUnO1xuICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjQTBBMEEwJztcbiAgICAgIGN0eC5maWxsVGV4dCh0ZXh0LCAyNSwgMjUpO1xuICAgIH1cblxuICAgIGNvbnN0IHRleHR1cmUgPSBuZXcgVEhSRUUuVGV4dHVyZShjYW52YXMpO1xuICAgIHRleHR1cmUubWluRmlsdGVyID0gVEhSRUUuTGluZWFyRmlsdGVyO1xuICAgIHRleHR1cmUubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIGNvbnN0IHNwcml0ZU1hdGVyaWFsID0gbmV3IFRIUkVFLlNwcml0ZU1hdGVyaWFsKHtcbiAgICAgIG1hcDogdGV4dHVyZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNwcml0ZSA9IG5ldyBUSFJFRS5TcHJpdGUoc3ByaXRlTWF0ZXJpYWwpO1xuICAgIHNwcml0ZS5zY2FsZS5zZXQoMC40ICogZm9udFNpemUsIDAuNCAqIGZvbnRTaXplLCAwLjQgKiBmb250U2l6ZSk7XG5cbiAgICByZXR1cm4gc3ByaXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3VGlja3MoeDogYW55LCB5OiBhbnksIHo6IGFueSkge1xuICAgIGNvbnN0IHRpY2tzID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgY29uc3Qgc2NhbGVzRXh0cmVtczogYW55W10gPSBbXTtcblxuICAgIFt4LCB5LCB6XS5mb3JFYWNoKChzY2FsZSwgaWR4KSA9PiB7XG4gICAgICBjb25zdCBnZW5lcmF0ZWRUaWNrcyA9IHNjYWxlLnRpY2tzKHRoaXMuU0lERV9TSVpFIC8gMTApO1xuXG4gICAgICBzY2FsZXNFeHRyZW1zLnB1c2goZDMubWF4KGdlbmVyYXRlZFRpY2tzKSk7XG5cbiAgICAgIGdlbmVyYXRlZFRpY2tzLmZvckVhY2goKF86IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBzcHJpdGUgPSB0aGlzLm1ha2VTcHJpdGUoXyk7XG5cbiAgICAgICAgaWYgKGlkeCA9PT0gMCkge1xuICAgICAgICAgIHNwcml0ZS5wb3NpdGlvbi5zZXQoeChfKSwgeSh5LmRvbWFpbigpWzFdKSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWR4ID09PSAxKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCgtMTAsIHkoXyksIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlkeCA9PT0gMikge1xuICAgICAgICAgIHNwcml0ZS5wb3NpdGlvbi5zZXQoMCwgeSh5LmRvbWFpbigpWzFdKSwgeihfKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aWNrcy5hZGQoc3ByaXRlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgbm9ydGhMYWJlbCA9IHRoaXMubWFrZVNwcml0ZSgnWCcsIHsgZm9udFNpemU6IDI4IH0pO1xuICAgIGNvbnN0IHdlc3RMYWJlbCA9IHRoaXMubWFrZVNwcml0ZSgnWScsIHsgZm9udFNpemU6IDI4IH0pO1xuICAgIGNvbnN0IHR2ZExhYmVsID0gdGhpcy5tYWtlU3ByaXRlKCdUVkQnLCB7IGZvbnRTaXplOiAyOCB9KTtcblxuICAgIG5vcnRoTGFiZWwucG9zaXRpb24uc2V0KHgoeC5kb21haW4oKVsxXSkgKyA1LCAwLCAwKTtcbiAgICB3ZXN0TGFiZWwucG9zaXRpb24uc2V0KDAsIDAsIHkoeS5kb21haW4oKVswXSkgKyA1KTtcbiAgICB0dmRMYWJlbC5wb3NpdGlvbi5zZXQoMCwgeih6LmRvbWFpbigpWzFdKSArIDUsIDApO1xuXG4gICAgdGlja3MuYWRkKG5vcnRoTGFiZWwsIHdlc3RMYWJlbCwgdHZkTGFiZWwpO1xuXG4gICAgY29uc3QgYXhlc0hlbHBlciA9IG5ldyBUSFJFRS5BeGVzSGVscGVyKHRoaXMuU0lERV9TSVpFKTtcbiAgICBheGVzSGVscGVyLnNldENvbG9ycyh0aGlzLmF4ZXNDb2xvciwgdGhpcy5heGVzQ29sb3IsIHRoaXMuYXhlc0NvbG9yKTtcblxuICAgIHRoaXMuX3NjZW5lLmFkZChheGVzSGVscGVyKTtcblxuICAgIHRoaXMuX3NjZW5lLmFkZCh0aWNrcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFNjYWxlcyhzZXJpZXM6IFNlcmllczNkPEJhc2UzZFBvaW50PltdKSB7XG4gICAgY29uc3QgZXh0cmVtcyA9IHNlcmllcy5tYXAoXyA9PiAoe1xuICAgICAgeDogZDMuZXh0ZW50KF8ucG9pbnRzLCAocDogYW55KSA9PiBwLngpLFxuICAgICAgeTogZDMuZXh0ZW50KF8ucG9pbnRzLCAocDogYW55KSA9PiBwLnkpLFxuICAgICAgejogZDMuZXh0ZW50KF8ucG9pbnRzLCAocDogYW55KSA9PiBwLnopLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGZsYXR0ZW5FeHRyZW1zID0gZXh0cmVtcy5yZWR1Y2UoXG4gICAgICAoYWNjOiBhbnksIF8pOiB7IHg6IFtudW1iZXJdOyB5OiBbbnVtYmVyXTsgejogW251bWJlcl0gfSA9PiB7XG4gICAgICAgIGFjYy54ID0gYWNjLnguY29uY2F0KF8ueCk7XG4gICAgICAgIGFjYy55ID0gYWNjLnkuY29uY2F0KF8ueSk7XG4gICAgICAgIGFjYy56ID0gYWNjLnouY29uY2F0KF8ueik7XG4gICAgICAgIHJldHVybiBhY2MgYXMgYW55O1xuICAgICAgfSxcbiAgICAgIHsgeDogW10sIHk6IFtdLCB6OiBbXSB9XG4gICAgKTtcblxuICAgIGNvbnN0IHggPSBkM1xuICAgICAgLnNjYWxlTGluZWFyKClcbiAgICAgIC5kb21haW4oW1xuICAgICAgICAwLFxuICAgICAgICB0aGlzLl9jb25maWc/LmF4ZXM/Lm1heCA9PSBudWxsXG4gICAgICAgICAgPyBwYXJzZUludChkMy5tYXgoZmxhdHRlbkV4dHJlbXMueCkpXG4gICAgICAgICAgOiB0aGlzLl9jb25maWcuYXhlcy5tYXgsXG4gICAgICBdKVxuICAgICAgLnJhbmdlKFswLCB0aGlzLlNJREVfU0laRV0pXG4gICAgICAubmljZSgpO1xuXG4gICAgY29uc3QgeSA9IGQzXG4gICAgICAuc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbMCwgcGFyc2VJbnQoZDMubWF4KGZsYXR0ZW5FeHRyZW1zLnkpLCAxMCldKVxuICAgICAgLnJhbmdlKFt0aGlzLlNJREVfU0laRSwgMF0pO1xuXG4gICAgY29uc3QgeiA9IGQzXG4gICAgICAuc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuX2NvbmZpZz8uYXhlcz8ubWF4ID09IG51bGxcbiAgICAgICAgICA/IHBhcnNlSW50KGQzLm1heChmbGF0dGVuRXh0cmVtcy56KSlcbiAgICAgICAgICA6IHRoaXMuX2NvbmZpZy5heGVzLm1heCxcbiAgICAgIF0pXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuU0lERV9TSVpFXSlcbiAgICAgIC5uaWNlKCk7XG5cbiAgICByZXR1cm4geyB4LCB5LCB6IH07XG4gIH1cbn1cbiIsIjxjYW52YXMgI2NhbnZhcz48L2NhbnZhcz5cbiJdfQ==
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQzZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVNoRCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0IzQixZQUNVLFdBQXVCLEVBQ3ZCLGFBQWlDO1FBRGpDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQVJuQyxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBSWhCLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFLbkIsQ0FBQztJQUVKLElBQWEsTUFBTSxDQUFDLE1BQXNCO1FBQ3hDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtR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QztnQkFDakQsQ0FBQztnQkFFRCxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDZCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBRUQsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ2QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsQ0FBQztnQkFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxRCxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENB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LEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QixNQUFNLENBQUMsR0FBRyxFQUFFO2FBQ1QsV0FBVyxFQUFFO2FBQ2IsTUFBTSxDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJO2dCQUM3QixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRztTQUMxQixDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQixJQUFJLEVBQUUsQ0FBQztRQUVWLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBbFZVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDJNQzFCN0IsNkJBQ0E7OzJGRHlCYSxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7Z0hBR0csU0FBUztzQkFBN0IsU0FBUzt1QkFBQyxRQUFRO2dCQW9CTixNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS9jb250cm9scy9PcmJpdENvbnRyb2xzJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IENoYXJ0M2RPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWwvY2hhcnQtM2Qtb3B0aW9ucyc7XG5pbXBvcnQgeyBCYXNlM2RQb2ludCB9IGZyb20gJy4uL21vZGVsL2Jhc2UtM2QtcG9pbnQnO1xuaW1wb3J0IHsgU2VyaWVzM2QgfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMtM2QnO1xuaW1wb3J0IHsgVGhlbWVTd2l0Y2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGhlbWUtc3dpdGNoL3RoZW1lLXN3aXRjaC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RldGEtY2hhcnQzZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0M2QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXJ0M2QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydDNkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjYW52YXMnKSBjYW52YXNSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfc2NlbmU6IFRIUkVFLlNjZW5lO1xuICBwcml2YXRlIF9jYW1lcmE6IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhO1xuICBwcml2YXRlIF9yZW5kZXJlcjogVEhSRUUuUmVuZGVyZXI7XG4gIHByaXZhdGUgX2NvbnRyb2xzOiBPcmJpdENvbnRyb2xzO1xuICBwcml2YXRlIF9vYnM6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9jb25maWc6IENoYXJ0M2RPcHRpb25zO1xuXG4gIHByaXZhdGUgU0lERV9TSVpFID0gMTAwO1xuICBwcml2YXRlIGdyaWRDb2xvcjogYW55O1xuICBwcml2YXRlIGF4ZXNDb2xvcjogYW55O1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3RoZW1lU2VydmljZTogVGhlbWVTd2l0Y2hTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoKSBzZXQgY29uZmlnKGNvbmZpZzogQ2hhcnQzZE9wdGlvbnMpIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICB0aGlzLmluaXQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwcml2YXRlIGdldCBjYW52YXMoKTogSFRNTENhbnZhc0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmNhbnZhc1JlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnRoZW1lXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKF8gPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICB0YXAoXyA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkQ29sb3IgPSBfID8gJyM1ZDZhNzMnIDogJyNiZGJkYzYnO1xuICAgICAgICAgIHRoaXMuYXhlc0NvbG9yID0gXyA/ICcjOGU4ZjlkJyA6ICcjN2Q4ZjlhJztcbiAgICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFkZFJlc2l6ZU9ic2VydmVyKCk7XG4gICAgdGhpcy5jcmVhdGVTY2VuZSgpO1xuICAgIHRoaXMuc3RhcnRSZW5kZXJpbmdMb29wKCk7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMucmVtb3ZlUmVzaXplT2JzZXJ2ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX3NjZW5lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2hpbGUgKHRoaXMuX3NjZW5lLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NjZW5lLnJlbW92ZSh0aGlzLl9zY2VuZS5jaGlsZHJlblswXSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyB4LCB5LCB6IH0gPSB0aGlzLmdldFNjYWxlcyh0aGlzLl9jb25maWcuc2VyaWVzKTtcblxuICAgIHRoaXMuY29uZmlnLnNlcmllcy5mb3JFYWNoKChkYXRhLCBpZHgpID0+IHtcbiAgICAgIGlmICghZGF0YS5wb2ludHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBvaW50cyA9IGRhdGEucG9pbnRzLm1hcChcbiAgICAgICAgXyA9PiBuZXcgVEhSRUUuVmVjdG9yMyh4KF8ueCksIHkoXy55KSwgeihfLnopKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgY29sb3IgPSBkMy5zY2FsZU9yZGluYWwoZDMuc2NoZW1lVGFibGVhdTEwKTtcblxuICAgICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTGluZUJhc2ljTWF0ZXJpYWwoe1xuICAgICAgICBjb2xvcjogZGF0YT8uY29sb3IgPz8gY29sb3IoaWR4LnRvU3RyaW5nKCkpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHR1YmVHZW9tZXRyeSA9IG5ldyBUSFJFRS5UdWJlR2VvbWV0cnkoXG4gICAgICAgIG5ldyBUSFJFRS5DYXRtdWxsUm9tQ3VydmUzKHBvaW50cyksXG4gICAgICAgIDEwMjQsXG4gICAgICAgIDAuNSxcbiAgICAgICAgMjAsXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuXG4gICAgICBsZXQgdHViZSA9IG5ldyBUSFJFRS5MaW5lKHR1YmVHZW9tZXRyeSwgbWF0ZXJpYWwpO1xuICAgICAgdGhpcy5fc2NlbmUuYWRkKHR1YmUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2lyY2xlcyA9IHgudGlja3ModGhpcy5TSURFX1NJWkUgLyAxMCk7XG5cbiAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7IGNvbG9yOiB0aGlzLmF4ZXNDb2xvciB9KTtcbiAgICBjb25zdCBwb2ludHNMaW5lcyA9IFtdO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgMCkpO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgeigtei5kb21haW4oKVsxXSkpKTtcblxuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgMCkpO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoeCgteC5kb21haW4oKVsxXSksIDAsIDApKTtcblxuICAgIGNvbnN0IGdlb21ldHJ5TGluZXMgPSBuZXcgVEhSRUUuQnVmZmVyR2VvbWV0cnkoKS5zZXRGcm9tUG9pbnRzKHBvaW50c0xpbmVzKTtcbiAgICBjb25zdCBsaW5lID0gbmV3IFRIUkVFLkxpbmUoZ2VvbWV0cnlMaW5lcywgbWF0ZXJpYWwpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKGxpbmUpO1xuXG4gICAgY2lyY2xlcy5mb3JFYWNoKHIgPT4ge1xuICAgICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTGluZURhc2hlZE1hdGVyaWFsKHtcbiAgICAgICAgY29sb3I6IHRoaXMuZ3JpZENvbG9yLFxuICAgICAgICBkYXNoU2l6ZTogMSxcbiAgICAgICAgZ2FwU2l6ZTogMyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaXJjbGVHZW9tZXRyeSA9IG5ldyBUSFJFRS5CdWZmZXJHZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoXG4gICAgICAgIG5ldyBUSFJFRS5QYXRoKClcbiAgICAgICAgICAuYWJzYXJjKDAsIDAsIHgociksIDAsIE1hdGguUEkgKiAyLCBmYWxzZSlcbiAgICAgICAgICAuZ2V0U3BhY2VkUG9pbnRzKDEwMClcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNpcmNsZSA9IG5ldyBUSFJFRS5MaW5lU2VnbWVudHMoY2lyY2xlR2VvbWV0cnksIG1hdGVyaWFsKTtcblxuICAgICAgY2lyY2xlLmdlb21ldHJ5LnJvdGF0ZVgoLU1hdGguUEkgLyAyKTtcblxuICAgICAgdGhpcy5fc2NlbmUuYWRkKGNpcmNsZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYXdUaWNrcyh4LCB5LCB6KTtcblxuICAgIGlmICghdGhpcy5fY29udHJvbHMpIHtcbiAgICAgIHRoaXMuX2NvbnRyb2xzID0gbmV3IE9yYml0Q29udHJvbHMoXG4gICAgICAgIHRoaXMuX2NhbWVyYSxcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuZG9tRWxlbWVudFxuICAgICAgKTtcblxuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlRGFtcGluZyA9IHRydWU7XG4gICAgICB0aGlzLl9jb250cm9scy5lbmFibGVQYW4gPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMuZGFtcGluZ0ZhY3RvciA9IDAuMjU7XG4gICAgICB0aGlzLl9jb250cm9scy5zY3JlZW5TcGFjZVBhbm5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMubWluRGlzdGFuY2UgPSAwO1xuICAgICAgdGhpcy5fY29udHJvbHMubWF4RGlzdGFuY2UgPSAxMDAwMDtcbiAgICAgIHRoaXMuX2NvbnRyb2xzLm1heFBvbGFyQW5nbGUgPSBNYXRoLlBJIC8gMjtcblxuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlWm9vbSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTY2VuZSgpIHtcbiAgICB0aGlzLl9zY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpO1xuXG4gICAgY29uc3QgYXNwZWN0UmF0aW8gPVxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC9cbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICBjb25zdCBmaWVsZE9mVmlldyA9IDEwO1xuICAgIGNvbnN0IG5lYXJDbGlwcGluZ1BhbmUgPSAxO1xuICAgIGNvbnN0IGZhckNsaXBwaW5nUGFuZSA9IDEwMDAwO1xuXG4gICAgdGhpcy5fY2FtZXJhID0gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKFxuICAgICAgZmllbGRPZlZpZXcsXG4gICAgICBhc3BlY3RSYXRpbyxcbiAgICAgIG5lYXJDbGlwcGluZ1BhbmUsXG4gICAgICBmYXJDbGlwcGluZ1BhbmVcbiAgICApO1xuXG4gICAgdGhpcy5fY2FtZXJhLnBvc2l0aW9uLnNldCgxMzAwLCAxMzAwLCAxMzAwKS5zZXRMZW5ndGgoMTMwMCk7XG4gICAgdGhpcy5fc2NlbmUuYWRkKHRoaXMuX2NhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICB0aGlzLl9jYW1lcmEuYXNwZWN0ID0gd2lkdGggLyBoZWlnaHQ7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHRoaXMuX2NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcigpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW5kZXIodGhpcy5fc2NlbmUsIHRoaXMuX2NhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UmVuZGVyaW5nTG9vcCgpIHtcbiAgICB0aGlzLl9yZW5kZXJlciA9IG5ldyBUSFJFRS5XZWJHTFJlbmRlcmVyKHtcbiAgICAgIGFudGlhbGlhczogdHJ1ZSxcbiAgICAgIGNhbnZhczogdGhpcy5jYW52YXMsXG4gICAgICBhbHBoYTogdHJ1ZSxcbiAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFuaW1hdGUgPSAoKSA9PiB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZSk7XG4gICAgICB0aGlzLl9jb250cm9scz8udXBkYXRlKCk7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH07XG5cbiAgICBhbmltYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFJlc2l6ZU9ic2VydmVyKCkge1xuICAgIHRoaXMuX29icyA9IG5ldyBSZXNpemVPYnNlcnZlcihfID0+IHtcbiAgICAgIHRoaXMuc2V0U2l6ZShfWzBdPy5jb250ZW50UmVjdC53aWR0aCwgX1swXT8uY29udGVudFJlY3QuaGVpZ2h0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX29icy5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVJlc2l6ZU9ic2VydmVyKCkge1xuICAgIHRoaXMuX29icy51bm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLl9vYnMuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlU3ByaXRlKHRleHQ6IHN0cmluZywgb3B0cz86IHsgZm9udFNpemU/OiBudW1iZXIgfSk6IFRIUkVFLlNwcml0ZSB7XG4gICAgY29uc3QgZm9udFNpemUgPSAyMDtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIGNvbnN0IHRleHRXaWR0aCA9IHRleHQubGVuZ3RoICogNTA7XG4gICAgY2FudmFzLmhlaWdodCA9IDUwO1xuICAgIGNhbnZhcy53aWR0aCA9IDUwO1xuXG4gICAgaWYgKGN0eCkge1xuICAgICAgY3R4LmZvbnQgPSBgJHtmb250U2l6ZX1weCBBcmlhbGA7XG4gICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7XG4gICAgICBjdHguZmlsbFN0eWxlID0gJyNBMEEwQTAnO1xuICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIDI1LCAyNSk7XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dHVyZSA9IG5ldyBUSFJFRS5UZXh0dXJlKGNhbnZhcyk7XG4gICAgdGV4dHVyZS5taW5GaWx0ZXIgPSBUSFJFRS5MaW5lYXJGaWx0ZXI7XG4gICAgdGV4dHVyZS5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgY29uc3Qgc3ByaXRlTWF0ZXJpYWwgPSBuZXcgVEhSRUUuU3ByaXRlTWF0ZXJpYWwoe1xuICAgICAgbWFwOiB0ZXh0dXJlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3ByaXRlID0gbmV3IFRIUkVFLlNwcml0ZShzcHJpdGVNYXRlcmlhbCk7XG4gICAgc3ByaXRlLnNjYWxlLnNldCgwLjQgKiBmb250U2l6ZSwgMC40ICogZm9udFNpemUsIDAuNCAqIGZvbnRTaXplKTtcblxuICAgIHJldHVybiBzcHJpdGU7XG4gIH1cblxuICBwcml2YXRlIGRyYXdUaWNrcyh4OiBhbnksIHk6IGFueSwgejogYW55KSB7XG4gICAgY29uc3QgdGlja3MgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICBjb25zdCBzY2FsZXNFeHRyZW1zOiBhbnlbXSA9IFtdO1xuXG4gICAgW3gsIHksIHpdLmZvckVhY2goKHNjYWxlLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGdlbmVyYXRlZFRpY2tzID0gc2NhbGUudGlja3ModGhpcy5TSURFX1NJWkUgLyAxMCk7XG5cbiAgICAgIHNjYWxlc0V4dHJlbXMucHVzaChkMy5tYXgoZ2VuZXJhdGVkVGlja3MpKTtcblxuICAgICAgZ2VuZXJhdGVkVGlja3MuZm9yRWFjaCgoXzogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHNwcml0ZSA9IHRoaXMubWFrZVNwcml0ZShfKTtcblxuICAgICAgICBpZiAoaWR4ID09PSAwKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCh4KF8pLCB5KHkuZG9tYWluKClbMV0pLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZHggPT09IDEpIHtcbiAgICAgICAgICBzcHJpdGUucG9zaXRpb24uc2V0KC0xMCwgeShfKSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWR4ID09PSAyKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCgwLCB5KHkuZG9tYWluKClbMV0pLCB6KF8pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRpY2tzLmFkZChzcHJpdGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBub3J0aExhYmVsID0gdGhpcy5tYWtlU3ByaXRlKCdYJywgeyBmb250U2l6ZTogMjggfSk7XG4gICAgY29uc3Qgd2VzdExhYmVsID0gdGhpcy5tYWtlU3ByaXRlKCdZJywgeyBmb250U2l6ZTogMjggfSk7XG4gICAgY29uc3QgdHZkTGFiZWwgPSB0aGlzLm1ha2VTcHJpdGUoJ1RWRCcsIHsgZm9udFNpemU6IDI4IH0pO1xuXG4gICAgbm9ydGhMYWJlbC5wb3NpdGlvbi5zZXQoeCh4LmRvbWFpbigpWzFdKSArIDUsIDAsIDApO1xuICAgIHdlc3RMYWJlbC5wb3NpdGlvbi5zZXQoMCwgMCwgeSh5LmRvbWFpbigpWzBdKSArIDUpO1xuICAgIHR2ZExhYmVsLnBvc2l0aW9uLnNldCgwLCB6KHouZG9tYWluKClbMV0pICsgNSwgMCk7XG5cbiAgICB0aWNrcy5hZGQobm9ydGhMYWJlbCwgd2VzdExhYmVsLCB0dmRMYWJlbCk7XG5cbiAgICBjb25zdCBheGVzSGVscGVyID0gbmV3IFRIUkVFLkF4ZXNIZWxwZXIodGhpcy5TSURFX1NJWkUpO1xuICAgIGF4ZXNIZWxwZXIuc2V0Q29sb3JzKHRoaXMuYXhlc0NvbG9yLCB0aGlzLmF4ZXNDb2xvciwgdGhpcy5heGVzQ29sb3IpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKGF4ZXNIZWxwZXIpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKHRpY2tzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2NhbGVzKHNlcmllczogU2VyaWVzM2Q8QmFzZTNkUG9pbnQ+W10pIHtcbiAgICBjb25zdCBleHRyZW1zID0gc2VyaWVzLm1hcChfID0+ICh7XG4gICAgICB4OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueCksXG4gICAgICB5OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueSksXG4gICAgICB6OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueiksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZmxhdHRlbkV4dHJlbXMgPSBleHRyZW1zLnJlZHVjZShcbiAgICAgIChhY2M6IGFueSwgXyk6IHsgeDogW251bWJlcl07IHk6IFtudW1iZXJdOyB6OiBbbnVtYmVyXSB9ID0+IHtcbiAgICAgICAgYWNjLnggPSBhY2MueC5jb25jYXQoXy54KTtcbiAgICAgICAgYWNjLnkgPSBhY2MueS5jb25jYXQoXy55KTtcbiAgICAgICAgYWNjLnogPSBhY2Muei5jb25jYXQoXy56KTtcbiAgICAgICAgcmV0dXJuIGFjYyBhcyBhbnk7XG4gICAgICB9LFxuICAgICAgeyB4OiBbXSwgeTogW10sIHo6IFtdIH1cbiAgICApO1xuXG4gICAgY29uc3QgeCA9IGQzXG4gICAgICAuc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuX2NvbmZpZz8uYXhlcz8ubWF4ID09IG51bGxcbiAgICAgICAgICA/IHBhcnNlSW50KGQzLm1heChmbGF0dGVuRXh0cmVtcy54KSlcbiAgICAgICAgICA6IHRoaXMuX2NvbmZpZy5heGVzLm1heCxcbiAgICAgIF0pXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuU0lERV9TSVpFXSlcbiAgICAgIC5uaWNlKCk7XG5cbiAgICBjb25zdCB5ID0gZDNcbiAgICAgIC5zY2FsZUxpbmVhcigpXG4gICAgICAuZG9tYWluKFswLCBwYXJzZUludChkMy5tYXgoZmxhdHRlbkV4dHJlbXMueSksIDEwKV0pXG4gICAgICAucmFuZ2UoW3RoaXMuU0lERV9TSVpFLCAwXSk7XG5cbiAgICBjb25zdCB6ID0gZDNcbiAgICAgIC5zY2FsZUxpbmVhcigpXG4gICAgICAuZG9tYWluKFtcbiAgICAgICAgMCxcbiAgICAgICAgdGhpcy5fY29uZmlnPy5heGVzPy5tYXggPT0gbnVsbFxuICAgICAgICAgID8gcGFyc2VJbnQoZDMubWF4KGZsYXR0ZW5FeHRyZW1zLnopKVxuICAgICAgICAgIDogdGhpcy5fY29uZmlnLmF4ZXMubWF4LFxuICAgICAgXSlcbiAgICAgIC5yYW5nZShbMCwgdGhpcy5TSURFX1NJWkVdKVxuICAgICAgLm5pY2UoKTtcblxuICAgIHJldHVybiB7IHgsIHksIHogfTtcbiAgfVxufVxuIiwiPGNhbnZhcyAjY2FudmFzPjwvY2FudmFzPlxuIl19
|