@fundamental-ngx/platform 0.48.0-rc.8 → 0.48.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/approval-flow/approval-flow-node/approval-flow-node.component.d.ts +0 -2
- package/button/button.component.d.ts +7 -8
- package/dynamic-page/dynamic-page.component.d.ts +24 -15
- package/dynamic-page/dynamic-page.tokens.d.ts +3 -0
- package/dynamic-page/index.d.ts +2 -1
- package/dynamic-page/platform-dynamic-page.interface.d.ts +22 -0
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +5 -7
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow.component.mjs +5 -5
- package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
- package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
- package/esm2022/button/button.component.mjs +14 -15
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
- package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.component.mjs +48 -35
- package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page.tokens.mjs +3 -0
- package/esm2022/dynamic-page/index.mjs +3 -2
- package/esm2022/dynamic-page/platform-dynamic-page.interface.mjs +2 -0
- package/esm2022/feed-input/feed-input.component.mjs +6 -6
- package/esm2022/feed-input/feed-input.module.mjs +4 -4
- package/esm2022/form/auto-complete/auto-complete.directive.mjs +3 -3
- package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/form/checkbox/checkbox.component.mjs +11 -43
- package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +21 -63
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
- package/esm2022/form/combobox/combobox/combobox.component.mjs +33 -63
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +15 -22
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
- package/esm2022/form/combobox/combobox.config.mjs +3 -3
- package/esm2022/form/combobox/combobox.module.mjs +4 -4
- package/esm2022/form/combobox/commons/base-combobox.mjs +24 -58
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
- package/esm2022/form/date-picker/date-picker.component.mjs +21 -57
- package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +22 -60
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
- package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +5 -9
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +5 -9
- package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
- package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
- package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +27 -13
- package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
- package/esm2022/form/form-generator/form-generator.service.mjs +11 -16
- package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
- package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +3 -3
- package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
- package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
- package/esm2022/form/form-group/form-field/form-field.component.mjs +40 -47
- package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
- package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
- package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
- package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +4 -4
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
- package/esm2022/form/form-group/form-group.component.mjs +40 -50
- package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
- package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
- package/esm2022/form/input/fdp-input.module.mjs +4 -4
- package/esm2022/form/input/input.component.mjs +16 -48
- package/esm2022/form/input-group/addon-body.component.mjs +4 -5
- package/esm2022/form/input-group/addon.component.mjs +3 -3
- package/esm2022/form/input-group/input-group.component.mjs +13 -46
- package/esm2022/form/input-group/input-group.config.mjs +3 -3
- package/esm2022/form/input-group/input-group.module.mjs +4 -4
- package/esm2022/form/input-group/input.component.mjs +3 -3
- package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +3 -3
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +64 -102
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +25 -71
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +18 -26
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox.config.mjs +3 -3
- package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
- package/esm2022/form/multi-input/base-multi-input.mjs +43 -83
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +13 -21
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.component.mjs +32 -91
- package/esm2022/form/multi-input/multi-input.config.mjs +3 -3
- package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
- package/esm2022/form/radio-group/radio/radio.component.mjs +12 -44
- package/esm2022/form/radio-group/radio-group.component.mjs +32 -74
- package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
- package/esm2022/form/select/commons/base-select.mjs +59 -101
- package/esm2022/form/select/select/select.component.mjs +17 -60
- package/esm2022/form/select/select.config.mjs +3 -3
- package/esm2022/form/select/select.module.mjs +4 -4
- package/esm2022/form/step-input/base.step-input.mjs +72 -85
- package/esm2022/form/step-input/number/number-step-input.component.mjs +14 -53
- package/esm2022/form/step-input/step-input-action-button.mjs +9 -13
- package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +9 -13
- package/esm2022/form/step-input/step-input-increment.directive.mjs +9 -13
- package/esm2022/form/step-input/step-input.config.mjs +3 -3
- package/esm2022/form/step-input/step-input.module.mjs +4 -4
- package/esm2022/form/switch/switch/switch.component.mjs +12 -49
- package/esm2022/form/switch/switch/switch.config.mjs +3 -3
- package/esm2022/form/switch/switch.module.mjs +4 -4
- package/esm2022/form/text-area/text-area.component.mjs +14 -45
- package/esm2022/form/text-area/text-area.config.mjs +3 -3
- package/esm2022/form/text-area/text-area.module.mjs +4 -4
- package/esm2022/form/time-picker/time-picker.component.mjs +11 -42
- package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/fundamental-ngx.module.mjs +4 -4
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +6 -6
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +85 -90
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +21 -9
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +26 -9
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +40 -26
- package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +76 -0
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +28 -16
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +14 -5
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +5 -5
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +12 -21
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +10 -12
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +10 -11
- package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +14 -0
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +208 -27
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +19 -9
- package/esm2022/icon-tab-bar/index.mjs +3 -1
- package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
- package/esm2022/info-label/info-label.component.mjs +6 -4
- package/esm2022/info-label/info-label.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +15 -23
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/action-list-item/action-list-item.component.mjs +5 -5
- package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
- package/esm2022/list/base-list-item.mjs +20 -22
- package/esm2022/list/display-list-item/display-list-item.component.mjs +5 -5
- package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +5 -5
- package/esm2022/list/list-group-footer.component.mjs +5 -5
- package/esm2022/list/list-group-header.component.mjs +7 -7
- package/esm2022/list/list.component.mjs +25 -66
- package/esm2022/list/list.config.mjs +3 -3
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/load-more-content.directive.mjs +3 -3
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +6 -6
- package/esm2022/list/object-list-item/object-list-item.component.mjs +5 -5
- package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +5 -5
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
- package/esm2022/menu/menu-item.component.mjs +5 -5
- package/esm2022/menu/menu-trigger.directive.mjs +3 -3
- package/esm2022/menu/menu.component.mjs +5 -6
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu-button/menu-button.component.mjs +14 -9
- package/esm2022/menu-button/menu-button.module.mjs +4 -4
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +11 -14
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +4 -4
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
- package/esm2022/message-popover/message-popover.component.mjs +53 -54
- package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
- package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
- package/esm2022/object-marker/object-marker.component.mjs +10 -5
- package/esm2022/object-marker/object-marker.module.mjs +4 -4
- package/esm2022/object-status/object-status.component.mjs +13 -8
- package/esm2022/object-status/object-status.module.mjs +4 -4
- package/esm2022/page-footer/page-footer.component.mjs +8 -10
- package/esm2022/page-footer/page-footer.module.mjs +4 -4
- package/esm2022/panel/panel-actions.component.mjs +3 -3
- package/esm2022/panel/panel-content/panel-content.component.mjs +3 -3
- package/esm2022/panel/panel.component.mjs +8 -9
- package/esm2022/panel/panel.config.mjs +3 -3
- package/esm2022/panel/panel.module.mjs +4 -4
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +12 -22
- package/esm2022/search-field/search-field.component.mjs +36 -42
- package/esm2022/search-field/search-field.module.mjs +4 -4
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +6 -6
- package/esm2022/settings-generator/default-config.mjs +2 -2
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
- package/esm2022/settings-generator/models/settings.model.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +34 -28
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +4 -5
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
- package/esm2022/settings-generator/settings-generator.component.mjs +6 -6
- package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
- package/esm2022/settings-generator/settings-generator.service.mjs +12 -13
- package/esm2022/shared/base.mjs +30 -18
- package/esm2022/shared/form/base.input.mjs +70 -69
- package/esm2022/shared/form/collection-base.input.mjs +7 -49
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +25 -66
- package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
- package/esm2022/shared/pipes/pipe.module.mjs +4 -4
- package/esm2022/shared/platform.config.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +11 -43
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +11 -14
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +8 -16
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -6
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +13 -18
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +22 -47
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +12 -10
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +73 -57
- package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
- package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
- package/esm2022/split-menu-button/split-menu-button.component.mjs +17 -24
- package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
- package/esm2022/table/components/reset-button/reset-button.component.mjs +8 -9
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +10 -9
- package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +11 -14
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +4 -4
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +6 -10
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +31 -15
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +19 -24
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +9 -11
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +4 -4
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +8 -11
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +8 -11
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +11 -14
- package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -8
- package/esm2022/table/components/table-row/table-row.component.mjs +12 -17
- package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +38 -23
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +4 -4
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +8 -11
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +9 -12
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +9 -12
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
- package/esm2022/table/table.component.mjs +138 -62
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +20 -23
- package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell.directive.mjs +12 -12
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +10 -9
- package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header.directive.mjs +6 -6
- package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +5 -5
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
- package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +22 -20
- package/esm2022/table-helpers/services/table-responsive.service.mjs +9 -14
- package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
- package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
- package/esm2022/table-helpers/services/table.service.mjs +23 -21
- package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
- package/esm2022/table-helpers/table.mjs +1 -1
- package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +4 -4
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +28 -8
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +9 -5
- package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
- package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +24 -0
- package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
- package/esm2022/value-help-dialog/index.mjs +3 -1
- package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
- package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +59 -32
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +4 -4
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -6
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
- package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
- package/esm2022/variant-management/variant-management.component.mjs +47 -13
- package/esm2022/variant-management/variant-management.module.mjs +4 -4
- package/esm2022/wizard-generator/base-wizard-generator.mjs +21 -28
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +19 -19
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +12 -18
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +7 -12
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +11 -10
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +4 -4
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
- package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
- package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
- package/esm2022/wizard-generator/wizard-generator.service.mjs +3 -3
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +42 -44
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +16 -17
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +88 -130
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +853 -1636
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +532 -220
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs +9 -7
- package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +18 -26
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +104 -143
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +16 -11
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +16 -16
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +71 -74
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +13 -8
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +16 -11
- package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +10 -12
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -20
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +49 -77
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +75 -72
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +162 -218
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +12 -44
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +144 -162
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +20 -27
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +143 -148
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +366 -291
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +144 -53
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +63 -30
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +82 -98
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform.mjs +4 -4
- package/form/checkbox/checkbox.component.d.ts +4 -6
- package/form/checkbox-group/checkbox-group.component.d.ts +3 -8
- package/form/combobox/combobox/combobox.component.d.ts +4 -12
- package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +5 -8
- package/form/combobox/commons/base-combobox.d.ts +4 -9
- package/form/date-picker/date-picker.component.d.ts +8 -11
- package/form/datetime-picker/datetime-picker.component.d.ts +9 -11
- package/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.d.ts +0 -2
- package/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.d.ts +0 -2
- package/form/form-generator/form-generator/form-generator.component.d.ts +3 -1
- package/form/form-generator/form-generator.service.d.ts +3 -7
- package/form/form-generator/interfaces/dynamic-form-item.d.ts +5 -5
- package/form/form-group/form-field/form-field.component.d.ts +16 -20
- package/form/form-group/form-group.component.d.ts +36 -35
- package/form/input/input.component.d.ts +3 -6
- package/form/input-group/addon-body.component.d.ts +0 -1
- package/form/input-group/input-group.component.d.ts +4 -5
- package/form/multi-combobox/commons/base-multi-combobox.d.ts +13 -16
- package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +4 -12
- package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +6 -9
- package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
- package/form/multi-input/base-multi-input.d.ts +10 -15
- package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +5 -8
- package/form/multi-input/multi-input.component.d.ts +7 -37
- package/form/radio-group/radio/radio.component.d.ts +4 -5
- package/form/radio-group/radio-group.component.d.ts +7 -11
- package/form/select/commons/base-select.d.ts +11 -18
- package/form/select/select/select.component.d.ts +2 -15
- package/form/step-input/base.step-input.d.ts +13 -14
- package/form/step-input/number/number-step-input.component.d.ts +2 -7
- package/form/step-input/step-input-action-button.d.ts +4 -7
- package/form/step-input/step-input-decrement.directive.d.ts +2 -5
- package/form/step-input/step-input-increment.directive.d.ts +2 -5
- package/form/switch/switch/switch.component.d.ts +5 -8
- package/form/text-area/text-area.component.d.ts +4 -5
- package/form/time-picker/time-picker.component.d.ts +4 -5
- package/fundamental-ngx-platform-v0.48.0.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +19 -20
- package/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.d.ts +2 -0
- package/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.d.ts +45 -0
- package/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.d.ts +1 -3
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
- package/icon-tab-bar/directives/icon-tab-bar-free-content.directive.d.ts +5 -0
- package/icon-tab-bar/icon-tab-bar.component.d.ts +82 -8
- package/icon-tab-bar/icon-tab-bar.module.d.ts +7 -1
- package/icon-tab-bar/index.d.ts +2 -0
- package/icon-tab-bar/interfaces/tab-config.interface.d.ts +13 -5
- package/info-label/info-label.component.d.ts +2 -2
- package/link/link.component.d.ts +4 -7
- package/list/base-list-item.d.ts +4 -6
- package/list/list.component.d.ts +6 -15
- package/menu-button/menu-button.component.d.ts +7 -4
- package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
- package/message-popover/message-popover.component.d.ts +13 -20
- package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
- package/object-marker/object-marker.component.d.ts +4 -1
- package/object-status/object-status.component.d.ts +4 -1
- package/package.json +4 -4
- package/page-footer/page-footer.component.d.ts +2 -4
- package/panel/panel.component.d.ts +2 -3
- package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +7 -10
- package/search-field/search-field.component.d.ts +10 -19
- package/settings-generator/models/settings.model.d.ts +7 -6
- package/settings-generator/settings-generator-content/settings-generator-content.component.d.ts +31 -12
- package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +0 -2
- package/settings-generator/settings-generator.component.d.ts +3 -3
- package/settings-generator/settings-generator.service.d.ts +1 -1
- package/shared/base.d.ts +11 -4
- package/shared/form/base.input.d.ts +24 -16
- package/shared/form/collection-base.input.d.ts +1 -9
- package/shared/form/inline-layout-collection-base.input.d.ts +5 -12
- package/slider/slider.component.d.ts +3 -6
- package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +3 -5
- package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +0 -5
- package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
- package/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.d.ts +8 -17
- package/smart-filter-bar/directives/smart-filter-bar-subject.directive.d.ts +2 -0
- package/smart-filter-bar/smart-filter-bar.component.d.ts +28 -22
- package/split-menu-button/split-menu-button.component.d.ts +11 -14
- package/table/components/reset-button/reset-button.component.d.ts +2 -3
- package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +4 -3
- package/table/components/table-column-resizer/table-column-resizer.component.d.ts +4 -5
- package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
- package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
- package/table/components/table-header-row/table-header-row.component.d.ts +1 -3
- package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
- package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
- package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/components/table-row/table-row.component.d.ts +2 -2
- package/table/components/table-toolbar/table-toolbar.component.d.ts +24 -8
- package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/table.component.d.ts +29 -19
- package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
- package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -3
- package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
- package/table-helpers/services/table-column-resize.service.d.ts +4 -2
- package/table-helpers/services/table-responsive.service.d.ts +3 -5
- package/table-helpers/services/table.service.d.ts +12 -10
- package/table-helpers/table.d.ts +1 -0
- package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
- package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
- package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
- package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
- package/value-help-dialog/index.d.ts +2 -0
- package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
- package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +14 -7
- package/variant-management/variant-management.component.d.ts +19 -6
- package/wizard-generator/base-wizard-generator.d.ts +9 -12
- package/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.d.ts +2 -3
- package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
- package/wizard-generator/components/wizard-generator/wizard-generator.component.d.ts +1 -4
- package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
- package/dynamic-page/dynamic-page.service.d.ts +0 -35
- package/esm2022/dynamic-page/dynamic-page.service.mjs +0 -58
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
- package/fundamental-ngx-platform-v0.48.0-rc.8.tgz +0 -0
- package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
import { NgClass } from '@angular/common';
|
|
2
2
|
import { Component, Input, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
3
|
-
import { OverflowListDirective, OverflowListItemDirective } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { AsyncOrSyncPipe, OverflowListDirective, OverflowListItemDirective } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
5
|
-
import { IconComponent } from '@fundamental-ngx/core/icon';
|
|
5
|
+
import { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent } from '@fundamental-ngx/core/icon';
|
|
6
6
|
import { ClosableIconTabBar } from '../closable-icon-tab-bar.class';
|
|
7
|
+
import { IconTabBarBase } from '../icon-tab-bar-base.class';
|
|
7
8
|
import { IconTabBarPopoverComponent } from '../popovers/icon-tab-bar-popover/icon-tab-bar-popover.component';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class IconTabBarIconTypeComponent extends ClosableIconTabBar {
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
/** @hidden */
|
|
14
|
+
this._defaultFontFamily = FD_DEFAULT_ICON_FONT_FAMILY;
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarIconTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarIconTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-icon-type", inputs: { showLabel: "showLabel" }, providers: [
|
|
18
|
+
{
|
|
19
|
+
provide: IconTabBarBase,
|
|
20
|
+
useExisting: IconTabBarIconTypeComponent
|
|
21
|
+
}
|
|
22
|
+
], viewQueries: [{ propertyName: "_tabBarPopover", first: true, predicate: IconTabBarPopoverComponent, descendants: true }, { propertyName: "_tabUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n #tablist\n [overflowOffset]=\"100\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [ngClass]=\"item.cssClasses\"\n [class.fd-icon-tab-bar__item--closable]=\"item.closable\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n >\n <a\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n role=\"tab\"\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\" [font]=\"item.iconFont || _defaultFontFamily\"></fd-icon>\n </span>\n @if (item.counter && (!item.label || !showLabel)) {\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n }\n </div>\n @if (showLabel && item.label) {\n <div class=\"fd-icon-tab-bar__details\">\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n <span class=\"fd-icon-tab-bar__label\">{{ item.label }}</span>\n </div>\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n @if (_extraItems$()) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [showItemLabel]=\"showLabel\"\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_extraTabs$()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "directive", type: OverflowListDirective, selector: "[fdkOverflowList]", inputs: ["overflowOffset", "isRtl", "itemCssBlockValue"], outputs: ["overflowChanged"] }, { kind: "directive", type: OverflowListItemDirective, selector: "[fdkOverflowListItem]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IconTabBarPopoverComponent, selector: "fdp-icon-tab-bar-popover", inputs: ["leftSide", "label", "showItemLabel"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
|
|
12
23
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarIconTypeComponent, decorators: [{
|
|
14
25
|
type: Component,
|
|
15
|
-
args: [{ selector: 'fdp-icon-tab-bar-icon-type', standalone: true,
|
|
26
|
+
args: [{ selector: 'fdp-icon-tab-bar-icon-type', standalone: true, providers: [
|
|
27
|
+
{
|
|
28
|
+
provide: IconTabBarBase,
|
|
29
|
+
useExisting: IconTabBarIconTypeComponent
|
|
30
|
+
}
|
|
31
|
+
], imports: [
|
|
16
32
|
OverflowListDirective,
|
|
17
33
|
OverflowListItemDirective,
|
|
18
34
|
NgClass,
|
|
19
35
|
IconComponent,
|
|
20
36
|
ButtonComponent,
|
|
21
|
-
IconTabBarPopoverComponent
|
|
22
|
-
|
|
37
|
+
IconTabBarPopoverComponent,
|
|
38
|
+
AsyncOrSyncPipe
|
|
39
|
+
], template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n #tablist\n [overflowOffset]=\"100\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [ngClass]=\"item.cssClasses\"\n [class.fd-icon-tab-bar__item--closable]=\"item.closable\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n >\n <a\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n role=\"tab\"\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\" [font]=\"item.iconFont || _defaultFontFamily\"></fd-icon>\n </span>\n @if (item.counter && (!item.label || !showLabel)) {\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n }\n </div>\n @if (showLabel && item.label) {\n <div class=\"fd-icon-tab-bar__details\">\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n <span class=\"fd-icon-tab-bar__label\">{{ item.label }}</span>\n </div>\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n @if (_extraItems$()) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [showItemLabel]=\"showLabel\"\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_extraTabs$()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n" }]
|
|
23
40
|
}], propDecorators: { _tabUIElements: [{
|
|
24
41
|
type: ViewChildren,
|
|
25
42
|
args: ['tabItem']
|
|
@@ -29,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
29
46
|
}], showLabel: [{
|
|
30
47
|
type: Input
|
|
31
48
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLWljb24tdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1pY29uLXR5cGUvaWNvbi10YWItYmFyLWljb24tdHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1pY29uLXR5cGUvaWNvbi10YWItYmFyLWljb24tdHlwZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOztBQXNCN0csTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUFrQjtJQXBCbkU7O1FBK0JJLGNBQWM7UUFDTCx1QkFBa0IsR0FBRywyQkFBMkIsQ0FBQztLQUM3RDs4R0FiWSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw2R0FoQnpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLFdBQVcsRUFBRSwyQkFBMkI7YUFDM0M7U0FDSiwwRUFnQlUsMEJBQTBCLHNKQ2xDekMsb3FHQTRFQSw0Q0R4RFEscUJBQXFCLHNKQUNyQix5QkFBeUIsa0VBQ3pCLE9BQU8sb0ZBQ1AsYUFBYSwwSUFDYixlQUFlLHdIQUNmLDBCQUEwQixnSEFDMUIsZUFBZTs7MkZBR1YsMkJBQTJCO2tCQXBCdkMsU0FBUzsrQkFDSSw0QkFBNEIsY0FFMUIsSUFBSSxhQUNMO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixXQUFXLDZCQUE2Qjt5QkFDM0M7cUJBQ0osV0FDUTt3QkFDTCxxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQixlQUFlO3FCQUNsQjs4QkFJd0IsY0FBYztzQkFBdEMsWUFBWTt1QkFBQyxTQUFTO2dCQUdnQixjQUFjO3NCQUFwRCxTQUFTO3VCQUFDLDBCQUEwQjtnQkFJckMsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc3luY09yU3luY1BpcGUsIE92ZXJmbG93TGlzdERpcmVjdGl2ZSwgT3ZlcmZsb3dMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgRkRfREVGQVVMVF9JQ09OX0ZPTlRfRkFNSUxZLCBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgQ2xvc2FibGVJY29uVGFiQmFyIH0gZnJvbSAnLi4vY2xvc2FibGUtaWNvbi10YWItYmFyLmNsYXNzJztcbmltcG9ydCB7IEljb25UYWJCYXJCYXNlIH0gZnJvbSAnLi4vaWNvbi10YWItYmFyLWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgSWNvblRhYkJhclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci9pY29uLXRhYi1iYXItcG9wb3Zlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1pY29uLXRhYi1iYXItaWNvbi10eXBlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi10YWItYmFyLWljb24tdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogSWNvblRhYkJhckJhc2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSWNvblRhYkJhckljb25UeXBlQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgT3ZlcmZsb3dMaXN0RGlyZWN0aXZlLFxuICAgICAgICBPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIEljb25UYWJCYXJQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBBc3luY09yU3luY1BpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEljb25UYWJCYXJJY29uVHlwZUNvbXBvbmVudCBleHRlbmRzIENsb3NhYmxlSWNvblRhYkJhciB7XG4gICAgLyoqIEBoaWRkZW4gbGlzdCBvZiB0YWIgaHRtbCBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYkl0ZW0nKSBfdGFiVUlFbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCkgX3RhYkJhclBvcG92ZXI6IEljb25UYWJCYXJQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gZGlzcGxheSBsYWJlbHMgZm9yIHRhYiBpdGVtcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0xhYmVsOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfZGVmYXVsdEZvbnRGYW1pbHkgPSBGRF9ERUZBVUxUX0lDT05fRk9OVF9GQU1JTFk7XG59XG4iLCI8dWxcbiAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faGVhZGVyXCJcbiAgICBbY2xhc3MuZmQtZHluYW1pYy1wYWdlX190YWJzXT1cIl9pbkR5bmFtaWNQYWdlXCJcbiAgICByb2xlPVwidGFibGlzdFwiXG4gICAgZmRrT3ZlcmZsb3dMaXN0XG4gICAgW2lzUnRsXT1cImlzUnRsXCJcbiAgICAjdGFibGlzdFxuICAgIFtvdmVyZmxvd09mZnNldF09XCIxMDBcIlxuICAgIChvdmVyZmxvd0NoYW5nZWQpPVwiX3JlY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCRldmVudClcIlxuPlxuICAgIEBmb3IgKGl0ZW0gb2YgdGFiczsgdHJhY2sgaXRlbS51SWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgPGxpXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNzc0NsYXNzZXNcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLWljb24tdGFiLWJhcl9faXRlbS0tY2xvc2FibGVdPVwiaXRlbS5jbG9zYWJsZVwiXG4gICAgICAgICAgICBmZGtPdmVyZmxvd0xpc3RJdGVtXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmhpZGRlblwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faXRlbVwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fdGFiXCJcbiAgICAgICAgICAgICAgICAjdGFiSXRlbVxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlkeCA9PT0gMCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLnVJZCA9PT0gc2VsZWN0ZWRVaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiX2tleURvd25IYW5kbGVyKCRldmVudCwgaXRlbSwgaWR4KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiaXRlbS5pY29uXCIgW2ZvbnRdPVwiaXRlbS5pY29uRm9udCB8fCBfZGVmYXVsdEZvbnRGYW1pbHlcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvdW50ZXIgJiYgKCFpdGVtLmxhYmVsIHx8ICFzaG93TGFiZWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fY291bnRlclwiPnt7IGl0ZW0uY291bnRlciB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZiAoc2hvd0xhYmVsICYmIGl0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fZGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2NvdW50ZXJcIj57eyBpdGVtLmNvdW50ZXIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fbGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbG9yIHwgZmRrQXN5bmNPclN5bmM7IGFzIGl0ZW1Db2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NyZWVucmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChjb2xvckFzc29jaWF0aW9ucyAmJiBjb2xvckFzc29jaWF0aW9uc1tpdGVtQ29sb3JdKSB8fCBpdGVtQ29sb3IgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgQGlmIChpdGVtLmNsb3NhYmxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbG9zZVRhYihpdGVtLnVJZClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImRlY2xpbmVcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xpPlxuICAgIH1cbiAgICBAaWYgKF9leHRyYUl0ZW1zJCgpKSB7XG4gICAgICAgIDxsaSByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2l0ZW0gZmQtaWNvbi10YWItYmFyX19pdGVtLS1vdmVyZmxvd1wiPlxuICAgICAgICAgICAgPGZkcC1pY29uLXRhYi1iYXItcG9wb3ZlclxuICAgICAgICAgICAgICAgIFtzaG93SXRlbUxhYmVsXT1cInNob3dMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2lzUnRsXT1cImlzUnRsXCJcbiAgICAgICAgICAgICAgICBbZXh0cmFUYWJzXT1cIl9leHRyYVRhYnMkKClcIlxuICAgICAgICAgICAgICAgIFtjb2xvckFzc29jaWF0aW9uc109XCJjb2xvckFzc29jaWF0aW9uc1wiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkRXh0cmFJdGVtKT1cIl9zZWxlY3RFeHRyYUl0ZW0oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGZvY3VzRmlyc3RWaXNpYmxlSXRlbSk9XCJfZm9jdXNJdGVtKDApXCJcbiAgICAgICAgICAgICAgICAoZm9jdXNMYXN0VmlzaWJsZUl0ZW0pPVwiX2ZvY3VzSXRlbShfbGFzdFZpc2libGVUYWJJbmRleClcIlxuICAgICAgICAgICAgPjwvZmRwLWljb24tdGFiLWJhci1wb3BvdmVyPlxuICAgICAgICA8L2xpPlxuICAgIH1cbjwvdWw+XG4iXX0=
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Component, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
2
2
|
import { take } from 'rxjs/operators';
|
|
3
|
-
import { OverflowListDirective, OverflowListItemDirective } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { AsyncOrSyncPipe, OverflowListDirective, OverflowListItemDirective } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
5
5
|
import { IconComponent } from '@fundamental-ngx/core/icon';
|
|
6
6
|
import { cloneDeep } from 'lodash-es';
|
|
7
7
|
import { ICON_TAB_HIDDEN_CLASS_NAME } from '../../constants';
|
|
8
8
|
import { ClosableIconTabBar } from '../closable-icon-tab-bar.class';
|
|
9
|
+
import { IconTabBarBase } from '../icon-tab-bar-base.class';
|
|
9
10
|
import { IconTabBarPopoverComponent } from '../popovers/icon-tab-bar-popover/icon-tab-bar-popover.component';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
|
|
@@ -89,7 +90,7 @@ export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
|
|
|
89
90
|
_clearExtraList() {
|
|
90
91
|
this._nextSteps = [];
|
|
91
92
|
this._prevSteps = [];
|
|
92
|
-
this.
|
|
93
|
+
this.tabs.forEach((item) => {
|
|
93
94
|
item.hidden = false;
|
|
94
95
|
item.cssClasses = item.cssClasses.filter((cssClass) => cssClass !== ICON_TAB_HIDDEN_CLASS_NAME);
|
|
95
96
|
});
|
|
@@ -106,24 +107,25 @@ export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
|
|
|
106
107
|
if (!extraItems) {
|
|
107
108
|
return;
|
|
108
109
|
}
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
this.
|
|
113
|
-
|
|
110
|
+
const tabs = [...this.tabs];
|
|
111
|
+
const visibleAmountOfItems = tabs.length - extraItems;
|
|
112
|
+
for (let i = tabs.length - amountOfNextSteps; i < tabs.length; i++) {
|
|
113
|
+
this._nextSteps.push(cloneDeep(tabs[i]));
|
|
114
|
+
tabs[i].hidden = true;
|
|
115
|
+
tabs[i].cssClasses.push(ICON_TAB_HIDDEN_CLASS_NAME);
|
|
114
116
|
}
|
|
115
117
|
this._showRightBtn = !!this._nextSteps.length;
|
|
116
|
-
this._firstVisibleTabIndex =
|
|
117
|
-
this._lastVisibleTabIndex =
|
|
118
|
+
this._firstVisibleTabIndex = tabs.length - visibleAmountOfItems - this._nextSteps.length;
|
|
119
|
+
this._lastVisibleTabIndex = tabs.length - amountOfNextSteps - 1;
|
|
118
120
|
if (this._nextSteps.length === extraItems) {
|
|
119
121
|
return;
|
|
120
122
|
}
|
|
121
123
|
let amountOfPrevSteps = extraItems - this._nextSteps.length;
|
|
122
124
|
let nextIndex = this._firstVisibleTabIndex - 1;
|
|
123
125
|
while (amountOfPrevSteps > 0) {
|
|
124
|
-
this._prevSteps.push(cloneDeep(
|
|
125
|
-
|
|
126
|
-
|
|
126
|
+
this._prevSteps.push(cloneDeep(tabs[nextIndex]));
|
|
127
|
+
tabs[nextIndex].hidden = true;
|
|
128
|
+
tabs[nextIndex].cssClasses.push(ICON_TAB_HIDDEN_CLASS_NAME);
|
|
127
129
|
--nextIndex;
|
|
128
130
|
--amountOfPrevSteps;
|
|
129
131
|
}
|
|
@@ -146,11 +148,12 @@ export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
|
|
|
146
148
|
if (!extraItems) {
|
|
147
149
|
return;
|
|
148
150
|
}
|
|
149
|
-
const
|
|
151
|
+
const tabs = [...this.tabs];
|
|
152
|
+
const visibleAmountOfItems = tabs.length - extraItems;
|
|
150
153
|
for (let i = amountOfPreviousSteps - 1; i >= 0; i--) {
|
|
151
|
-
this._prevSteps.push(cloneDeep(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
this._prevSteps.push(cloneDeep(tabs[i]));
|
|
155
|
+
tabs[i].hidden = true;
|
|
156
|
+
tabs[i].cssClasses.push(ICON_TAB_HIDDEN_CLASS_NAME);
|
|
154
157
|
}
|
|
155
158
|
this._firstVisibleTabIndex = this._prevSteps.length;
|
|
156
159
|
this._lastVisibleTabIndex = this._prevSteps.length + visibleAmountOfItems - 1;
|
|
@@ -162,9 +165,9 @@ export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
|
|
|
162
165
|
let amountOfNextSteps = extraItems - this._prevSteps.length;
|
|
163
166
|
let nextIndex = this._prevSteps.length ? this._prevSteps.length + visibleAmountOfItems : visibleAmountOfItems;
|
|
164
167
|
while (amountOfNextSteps > 0) {
|
|
165
|
-
this._nextSteps.push(cloneDeep(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
+
this._nextSteps.push(cloneDeep(tabs[nextIndex]));
|
|
169
|
+
tabs[nextIndex].hidden = true;
|
|
170
|
+
tabs[nextIndex].cssClasses.push(ICON_TAB_HIDDEN_CLASS_NAME);
|
|
168
171
|
++nextIndex;
|
|
169
172
|
--amountOfNextSteps;
|
|
170
173
|
}
|
|
@@ -176,18 +179,29 @@ export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
|
|
|
176
179
|
this._offsetOverflowDirective = this._nextSteps.length ? 70 : 0;
|
|
177
180
|
this._cd.detectChanges();
|
|
178
181
|
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarProcessTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarProcessTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-process-type", providers: [
|
|
184
|
+
{
|
|
185
|
+
provide: IconTabBarBase,
|
|
186
|
+
useExisting: IconTabBarProcessTypeComponent
|
|
187
|
+
}
|
|
188
|
+
], viewQueries: [{ propertyName: "_tabBarPopover", first: true, predicate: IconTabBarPopoverComponent, descendants: true }, { propertyName: "_tabUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n #tablist\n [class.fd-icon-tab-bar__header--left-offset]=\"_showLeftBtn\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n [overflowOffset]=\"_offsetOverflowDirective\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @if (_showLeftBtn) {\n <li\n role=\"presentation\"\n class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow fd-icon-tab-bar__item--overflow-left\"\n >\n <fdp-icon-tab-bar-popover\n [extraTabs]=\"_prevSteps\"\n [label]=\"_prevSteps.length.toString()\"\n [isSeparators]=\"true\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [class]=\"item.cssClasses\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n >\n <a\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n role=\"tab\"\n >\n @if (item.icon) {\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n </div>\n <div class=\"fd-icon-tab-bar__details\">\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n <span class=\"fd-icon-tab-bar__label\">{{ item.label | fdkAsyncOrSync }}</span>\n </div>\n } @else {\n <span class=\"fd-icon-tab-bar__tag\">{{ item.label | fdkAsyncOrSync }}</span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n @if (_lastVisibleTabIndex !== idx) {\n <span class=\"fd-icon-tab-bar__separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </span>\n }\n </li>\n }\n @if (_showRightBtn) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_nextSteps\"\n [isSeparators]=\"true\"\n [label]=\"_nextSteps.length.toString()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n >\n </fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "directive", type: OverflowListDirective, selector: "[fdkOverflowList]", inputs: ["overflowOffset", "isRtl", "itemCssBlockValue"], outputs: ["overflowChanged"] }, { kind: "component", type: IconTabBarPopoverComponent, selector: "fdp-icon-tab-bar-popover", inputs: ["leftSide", "label", "showItemLabel"] }, { kind: "directive", type: OverflowListItemDirective, selector: "[fdkOverflowListItem]" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
|
|
181
189
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarProcessTypeComponent, decorators: [{
|
|
183
191
|
type: Component,
|
|
184
|
-
args: [{ selector: 'fdp-icon-tab-bar-process-type', standalone: true,
|
|
192
|
+
args: [{ selector: 'fdp-icon-tab-bar-process-type', standalone: true, providers: [
|
|
193
|
+
{
|
|
194
|
+
provide: IconTabBarBase,
|
|
195
|
+
useExisting: IconTabBarProcessTypeComponent
|
|
196
|
+
}
|
|
197
|
+
], imports: [
|
|
185
198
|
OverflowListDirective,
|
|
186
199
|
IconTabBarPopoverComponent,
|
|
187
200
|
OverflowListItemDirective,
|
|
188
201
|
IconComponent,
|
|
189
|
-
ButtonComponent
|
|
190
|
-
|
|
202
|
+
ButtonComponent,
|
|
203
|
+
AsyncOrSyncPipe
|
|
204
|
+
], template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n #tablist\n [class.fd-icon-tab-bar__header--left-offset]=\"_showLeftBtn\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n [overflowOffset]=\"_offsetOverflowDirective\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @if (_showLeftBtn) {\n <li\n role=\"presentation\"\n class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow fd-icon-tab-bar__item--overflow-left\"\n >\n <fdp-icon-tab-bar-popover\n [extraTabs]=\"_prevSteps\"\n [label]=\"_prevSteps.length.toString()\"\n [isSeparators]=\"true\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [class]=\"item.cssClasses\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n >\n <a\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n role=\"tab\"\n >\n @if (item.icon) {\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n </div>\n <div class=\"fd-icon-tab-bar__details\">\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n <span class=\"fd-icon-tab-bar__label\">{{ item.label | fdkAsyncOrSync }}</span>\n </div>\n } @else {\n <span class=\"fd-icon-tab-bar__tag\">{{ item.label | fdkAsyncOrSync }}</span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n @if (_lastVisibleTabIndex !== idx) {\n <span class=\"fd-icon-tab-bar__separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </span>\n }\n </li>\n }\n @if (_showRightBtn) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_nextSteps\"\n [isSeparators]=\"true\"\n [label]=\"_nextSteps.length.toString()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n >\n </fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n" }]
|
|
191
205
|
}], propDecorators: { _tabUIElements: [{
|
|
192
206
|
type: ViewChildren,
|
|
193
207
|
args: ['tabItem']
|
|
@@ -195,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
195
209
|
type: ViewChild,
|
|
196
210
|
args: [IconTabBarPopoverComponent]
|
|
197
211
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1wcm9jZXNzLXR5cGUvaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1wcm9jZXNzLXR5cGUvaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7O0FBYzdHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBa0I7SUFadEU7O1FBbUJJLGNBQWM7UUFDZCw2QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFFOUI7OztXQUdHO1FBQ0gsZUFB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c0pBQ3JCLDBCQUEwQixxSEFDMUIseUJBQXlCLGtFQUN6QixhQUFhLDBJQUNiLGVBQWU7OzJGQUdWLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDSSwrQkFBK0IsY0FFN0IsSUFBSSxXQUNQO3dCQUNMLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEI7OEJBSXdCLGNBQWM7c0JBQXRDLFlBQVk7dUJBQUMsU0FBUztnQkFHZ0IsY0FBYztzQkFBcEQsU0FBUzt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE92ZXJmbG93TGlzdERpcmVjdGl2ZSwgT3ZlcmZsb3dMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJY29uVGFiQmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWNvbi10YWItYmFyLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IENsb3NhYmxlSWNvblRhYkJhciB9IGZyb20gJy4uL2Nsb3NhYmxlLWljb24tdGFiLWJhci5jbGFzcyc7XG5pbXBvcnQgeyBJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXJzL2ljb24tdGFiLWJhci1wb3BvdmVyL2ljb24tdGFiLWJhci1wb3BvdmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWljb24tdGFiLWJhci1wcm9jZXNzLXR5cGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pY29uLXRhYi1iYXItcHJvY2Vzcy10eXBlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgT3ZlcmZsb3dMaXN0RGlyZWN0aXZlLFxuICAgICAgICBJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgICAgT3ZlcmZsb3dMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJY29uVGFiQmFyUHJvY2Vzc1R5cGVDb21wb25lbnQgZXh0ZW5kcyBDbG9zYWJsZUljb25UYWJCYXIge1xuICAgIC8qKiBAaGlkZGVuIGxpc3Qgb2YgdGFiIGh0bWwgZWxlbWVudHMsIHRoYXQgY2FuIHJlY2VpdmUgZm9jdXMgKi9cbiAgICBAVmlld0NoaWxkcmVuKCd0YWJJdGVtJykgX3RhYlVJRWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoSWNvblRhYkJhclBvcG92ZXJDb21wb25lbnQpIF90YWJCYXJQb3BvdmVyOiBJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29mZnNldE92ZXJmbG93RGlyZWN0aXZlID0gMzA7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQW4gYXJyYXkgY29udGFpbmluZyBleHRyYSB0YWJzIGZvciB0aGUgbmV4dCBzdGVwc1xuICAgICAqL1xuICAgIF9uZXh0U3RlcHM6IEljb25UYWJCYXJJdGVtW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBhcnJheSBjb250YWluaW5nIGV4dHJhIHRhYnMgZm9yIHRoZSBuZXh0IHN0ZXBzXG4gICAgICovXG4gICAgX3ByZXZTdGVwczogSWNvblRhYkJhckl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2hvd0xlZnRCdG4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dSaWdodEJ0biA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9maXJzdFZpc2libGVUYWJJbmRleCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2N1cnJlbnRTdGVwSW5kZXggPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfYW5jaG9ySW5kZXhGb3JFeHRyYUJ0bkRpcmVjdGl2ZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKi9cbiAgICBfc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW06IEljb25UYWJCYXJJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXggPSBzZWxlY3RlZEl0ZW0uaW5kZXg7XG4gICAgICAgIHN1cGVyLl9zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKiBAZGVzY3JpcHRpb24gc2VsZWN0IGV4dHJhIGl0ZW0gaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBhc3luYyBfc2VsZWN0RXh0cmFJdGVtKHNlbGVjdGVkSXRlbTogSWNvblRhYkJhckl0ZW0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCA9IHNlbGVjdGVkSXRlbS5pbmRleDtcbiAgICAgICAgbGV0IGFtb3VudE9mUHJldmlvdXNTdGVwcztcbiAgICAgICAgbGV0IGFtb3VudE9mTmV4dFN0ZXBzO1xuICAgICAgICAvLyBXZSBoYXZlIHRvIGNhc2VzIChzdHJhdGVneSkgZm9yIG92ZXJmbG93IGV4dHJhIHRhYnMuXG4gICAgICAgIC8vIDEpIFdoZW4gdXNlciBjbGljayBvbiBzdGVwIGluc2lkZSBwcmV2aW91cyBzdGVwcyBwb3BvdmVyXG4gICAgICAgIC8vIDIpIFdoZW4gdXNlciBjbGljayBvbiBzdGVwIGluc2lkZSBuZXh0IHN0ZXBzIHBvcG92ZXJcbiAgICAgICAgbGV0IGlzUHJldmlvdXNTdGVwc1N0cmF0ZWd5OiBib29sZWFuO1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudFN0ZXBJbmRleCA+IHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXgpIHtcbiAgICAgICAgICAgIGFtb3VudE9mTmV4dFN0ZXBzID0gdGhpcy5fbmV4dFN0ZXBzLmxlbmd0aCAtICh0aGlzLl9jdXJyZW50U3RlcEluZGV4IC0gdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCk7XG4gICAgICAgICAgICB0aGlzLl9zaG93UmlnaHRCdG4gPSBhbW91bnRPZk5leHRTdGVwcyA+IDA7XG4gICAgICAgICAgICB0aGlzLl9zaG93TGVmdEJ0biA9IHRydWU7XG4gICAgICAgICAgICBpc1ByZXZpb3VzU3RlcHNTdHJhdGVneSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW1vdW50T2ZQcmV2aW91c1N0ZXBzID0gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aCAtICh0aGlzLl9maXJzdFZpc2libGVUYWJJbmRleCAtIHRoaXMuX2N1cnJlbnRTdGVwSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5fc2hvd1JpZ2h0QnRuID0gdHJ1ZTtcbiAgICAgICAgICAgIGlzUHJldmlvdXNTdGVwc1N0cmF0ZWd5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dMZWZ0QnRuID0gYW1vdW50T2ZQcmV2aW91c1N0ZXBzID4gMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgdGhpcy5fbmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMub3ZlcmZsb3dEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYSA9IHRoaXMub3ZlcmZsb3dEaXJlY3RpdmUuZ2V0QW1vdW50T2ZFeHRyYUl0ZW1zKCk7XG4gICAgICAgICAgICAgICAgaXNQcmV2aW91c1N0ZXBzU3RyYXRlZ3lcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnJlY2FsY3VsYXRlSXRlbXNCeVByZXZBcnIoZXh0cmEsIGFtb3VudE9mUHJldmlvdXNTdGVwcylcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLl9yZWNhbGN1bGF0ZUl0ZW1zQnlOZXh0QXJyKGV4dHJhLCBhbW91bnRPZk5leHRTdGVwcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGV4dHJhSXRlbXNcbiAgICAgKiBAZGVzY3JpcHRpb24gcmVjYWxjdWxhdGUgX25leHRTdGVwcyBhbmQgX3ByZXZTdGVwcyBhcnJheSBpZiB3ZSBoYXZlIGV4dHJhIGl0ZW1zXG4gICAgICovXG4gICAgX3JlY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKGV4dHJhSXRlbXM6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBhbW91bnRPZlByZXZTdGVwcyA9IHRoaXMuX2N1cnJlbnRTdGVwSW5kZXggPiBleHRyYUl0ZW1zID8gZXh0cmFJdGVtcyA6IHRoaXMuX2N1cnJlbnRTdGVwSW5kZXg7XG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVJdGVtc0J5UHJldkFycihleHRyYUl0ZW1zLCBhbW91bnRPZlByZXZTdGVwcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGVhckV4dHJhTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmV4dFN0ZXBzID0gW107XG4gICAgICAgIHRoaXMuX3ByZXZTdGVwcyA9IFtdO1xuICAgICAgICB0aGlzLl90YWJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLmNzc0NsYXNzZXMgPSBpdGVtLmNzc0NsYXNzZXMuZmlsdGVyKChjc3NDbGFzcykgPT4gY3NzQ2xhc3MgIT09IElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBleHRyYUl0ZW1zXG4gICAgICogQHBhcmFtIGFtb3VudE9mTmV4dFN0ZXBzXG4gICAgICogQGRlc2NyaXB0aW9uIFdlIGZpbGwgdGhlIGFycmF5IG9mIHRoZSBuZXh0IHN0ZXBzIHRvIHRoZSBzZWxlY3RlZCB0YWIsXG4gICAgICogYmFzZWQgb24gdGhpcyB3ZSBnZW5lcmF0ZSB0aGUgYXJyYXkgb2YgdGhlIHByZXZpb3VzIHN0ZXBzIGlmIGl0IGlzIG5lY2Vzc2FyeVxuICAgICAqL1xuICAgIHByaXZhdGUgX3JlY2FsY3VsYXRlSXRlbXNCeU5leHRBcnIoZXh0cmFJdGVtczogbnVtYmVyLCBhbW91bnRPZk5leHRTdGVwczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyRXh0cmFMaXN0KCk7XG4gICAgICAgIGlmICghZXh0cmFJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZpc2libGVBbW91bnRPZkl0ZW1zID0gdGhpcy5fdGFicy5sZW5ndGggLSBleHRyYUl0ZW1zO1xuICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fdGFicy5sZW5ndGggLSBhbW91bnRPZk5leHRTdGVwczsgaSA8IHRoaXMuX3RhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuX25leHRTdGVwcy5wdXNoKGNsb25lRGVlcCh0aGlzLl90YWJzW2ldKSk7XG4gICAgICAgICAgICB0aGlzLl90YWJzW2ldLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl90YWJzW2ldLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaG93UmlnaHRCdG4gPSAhIXRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2ZpcnN0VmlzaWJsZVRhYkluZGV4ID0gdGhpcy5fdGFicy5sZW5ndGggLSB2aXNpYmxlQW1vdW50T2ZJdGVtcyAtIHRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggPSB0aGlzLl90YWJzLmxlbmd0aCAtIGFtb3VudE9mTmV4dFN0ZXBzIC0gMTtcblxuICAgICAgICBpZiAodGhpcy5fbmV4dFN0ZXBzLmxlbmd0aCA9PT0gZXh0cmFJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGFtb3VudE9mUHJldlN0ZXBzID0gZXh0cmFJdGVtcyAtIHRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIGxldCBuZXh0SW5kZXggPSB0aGlzLl9maXJzdFZpc2libGVUYWJJbmRleCAtIDE7XG4gICAgICAgIHdoaWxlIChhbW91bnRPZlByZXZTdGVwcyA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZXZTdGVwcy5wdXNoKGNsb25lRGVlcCh0aGlzLl90YWJzW25leHRJbmRleF0pKTtcbiAgICAgICAgICAgIHRoaXMuX3RhYnNbbmV4dEluZGV4XS5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fdGFic1tuZXh0SW5kZXhdLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG5cbiAgICAgICAgICAgIC0tbmV4dEluZGV4O1xuICAgICAgICAgICAgLS1hbW91bnRPZlByZXZTdGVwcztcbiAgICAgICAgfVxuICAgICAgICAvLyBBZGRlZCArMSBmb3IgbGVmdCBidXR0b25cbiAgICAgICAgdGhpcy5fYW5jaG9ySW5kZXhGb3JFeHRyYUJ0bkRpcmVjdGl2ZSA9IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGhcbiAgICAgICAgICAgID8gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aCArIHZpc2libGVBbW91bnRPZkl0ZW1zXG4gICAgICAgICAgICA6IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGggKyB2aXNpYmxlQW1vdW50T2ZJdGVtcyAtIDE7XG5cbiAgICAgICAgdGhpcy5fc2hvd0xlZnRCdG4gPSAhIXRoaXMuX3ByZXZTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGV4dHJhSXRlbXNcbiAgICAgKiBAcGFyYW0gYW1vdW50T2ZQcmV2aW91c1N0ZXBzXG4gICAgICogQGRlc2NyaXB0aW9uIFdlIGZpbGwgdGhlIGFycmF5IG9mIHRoZSBwcmV2aW91cyBzdGVwcyB0byB0aGUgc2VsZWN0ZWQgdGFiLFxuICAgICAqIGJhc2VkIG9uIHRoaXMgd2UgZ2VuZXJhdGUgdGhlIGFycmF5IG9mIHRoZSBuZXh0IHN0ZXBzIGlmIGl0IGlzIG5lY2Vzc2FyeVxuICAgICAqL1xuICAgIHByaXZhdGUgcmVjYWxjdWxhdGVJdGVtc0J5UHJldkFycihleHRyYUl0ZW1zOiBudW1iZXIsIGFtb3VudE9mUHJldmlvdXNTdGVwczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyRXh0cmFMaXN0KCk7XG4gICAgICAgIGlmICghZXh0cmFJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZpc2libGVBbW91bnRPZkl0ZW1zID0gdGhpcy5fdGFicy5sZW5ndGggLSBleHRyYUl0ZW1zO1xuICAgICAgICBmb3IgKGxldCBpID0gYW1vdW50T2ZQcmV2aW91c1N0ZXBzIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZXZTdGVwcy5wdXNoKGNsb25lRGVlcCh0aGlzLl90YWJzW2ldKSk7XG4gICAgICAgICAgICB0aGlzLl90YWJzW2ldLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl90YWJzW2ldLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9maXJzdFZpc2libGVUYWJJbmRleCA9IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggPSB0aGlzLl9wcmV2U3RlcHMubGVuZ3RoICsgdmlzaWJsZUFtb3VudE9mSXRlbXMgLSAxO1xuICAgICAgICB0aGlzLl9zaG93TGVmdEJ0biA9ICEhdGhpcy5fcHJldlN0ZXBzLmxlbmd0aDtcblxuICAgICAgICBpZiAodGhpcy5fcHJldlN0ZXBzLmxlbmd0aCA9PT0gZXh0cmFJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1JpZ2h0QnRuID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYW1vdW50T2ZOZXh0U3RlcHMgPSBleHRyYUl0ZW1zIC0gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aDtcbiAgICAgICAgbGV0IG5leHRJbmRleCA9IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGggPyB0aGlzLl9wcmV2U3RlcHMubGVuZ3RoICsgdmlzaWJsZUFtb3VudE9mSXRlbXMgOiB2aXNpYmxlQW1vdW50T2ZJdGVtcztcbiAgICAgICAgd2hpbGUgKGFtb3VudE9mTmV4dFN0ZXBzID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fbmV4dFN0ZXBzLnB1c2goY2xvbmVEZWVwKHRoaXMuX3RhYnNbbmV4dEluZGV4XSkpO1xuICAgICAgICAgICAgdGhpcy5fdGFic1tuZXh0SW5kZXhdLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl90YWJzW25leHRJbmRleF0uY3NzQ2xhc3Nlcy5wdXNoKElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcblxuICAgICAgICAgICAgKytuZXh0SW5kZXg7XG4gICAgICAgICAgICAtLWFtb3VudE9mTmV4dFN0ZXBzO1xuICAgICAgICB9XG4gICAgICAgIC8vIEFkZCArMSBmb3IgbGVmdCBidG5cbiAgICAgICAgdGhpcy5fYW5jaG9ySW5kZXhGb3JFeHRyYUJ0bkRpcmVjdGl2ZSA9IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGhcbiAgICAgICAgICAgID8gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aCArIHZpc2libGVBbW91bnRPZkl0ZW1zXG4gICAgICAgICAgICA6IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGggKyB2aXNpYmxlQW1vdW50T2ZJdGVtcyAtIDE7XG5cbiAgICAgICAgdGhpcy5fc2hvd1JpZ2h0QnRuID0gISF0aGlzLl9uZXh0U3RlcHMubGVuZ3RoO1xuICAgICAgICB0aGlzLl9vZmZzZXRPdmVyZmxvd0RpcmVjdGl2ZSA9IHRoaXMuX25leHRTdGVwcy5sZW5ndGggPyA3MCA6IDA7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8dWxcbiAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faGVhZGVyXCJcbiAgICByb2xlPVwidGFibGlzdFwiXG4gICAgW2NsYXNzLmZkLWljb24tdGFiLWJhcl9faGVhZGVyLS1sZWZ0LW9mZnNldF09XCJfc2hvd0xlZnRCdG5cIlxuICAgIGZka092ZXJmbG93TGlzdFxuICAgIFtpc1J0bF09XCJpc1J0bFwiXG4gICAgW292ZXJmbG93T2Zmc2V0XT1cIl9vZmZzZXRPdmVyZmxvd0RpcmVjdGl2ZVwiXG4gICAgKG92ZXJmbG93Q2hhbmdlZCk9XCJfcmVjYWxjdWxhdGVWaXNpYmxlSXRlbXMoJGV2ZW50KVwiXG4+XG4gICAgQGlmIChfc2hvd0xlZnRCdG4pIHtcbiAgICAgICAgPGxpXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pdGVtIGZkLWljb24tdGFiLWJhcl9faXRlbS0tb3ZlcmZsb3cgZmQtaWNvbi10YWItYmFyX19pdGVtLS1vdmVyZmxvdy1sZWZ0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZkcC1pY29uLXRhYi1iYXItcG9wb3ZlclxuICAgICAgICAgICAgICAgIFtleHRyYVRhYnNdPVwiX3ByZXZTdGVwc1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIl9wcmV2U3RlcHMubGVuZ3RoLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgIFtpc1NlcGFyYXRvcnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yQXNzb2NpYXRpb25zXT1cImNvbG9yQXNzb2NpYXRpb25zXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRFeHRyYUl0ZW0pPVwiX3NlbGVjdEV4dHJhSXRlbSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2ZkcC1pY29uLXRhYi1iYXItcG9wb3Zlcj5cbiAgICAgICAgPC9saT5cbiAgICB9XG4gICAgQGZvciAoaXRlbSBvZiBfdGFiczsgdHJhY2sgaXRlbS51SWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgPGxpXG4gICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jc3NDbGFzc2VzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pdGVtXCJcbiAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgZmRrT3ZlcmZsb3dMaXN0SXRlbVxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5oaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiX2tleURvd25IYW5kbGVyKCRldmVudCwgaXRlbSwgaWR4KVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLnVJZCA9PT0gX3NlbGVjdGVkVWlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fdGFiXCJcbiAgICAgICAgICAgICAgICAjdGFiSXRlbVxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlkeCA9PT0gMCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJpdGVtLmljb25cIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYmFkZ2VcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19kZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fY291bnRlclwiPnt7IGl0ZW0uY291bnRlciB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fdGFnXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYmFkZ2VcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5yZWFkZXItb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgKGNvbG9yQXNzb2NpYXRpb25zICYmIGNvbG9yQXNzb2NpYXRpb25zW2l0ZW0uY29sb3JdKSB8fCBpdGVtLmNvbG9yIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5jbG9zYWJsZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2J1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2xvc2VUYWIoaXRlbS51SWQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJkZWNsaW5lXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoX2xhc3RWaXNpYmxlVGFiSW5kZXggIT09IGlkeCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19zZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJwcm9jZXNzXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9saT5cbiAgICB9XG4gICAgQGlmIChfc2hvd1JpZ2h0QnRuKSB7XG4gICAgICAgIDxsaSByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2l0ZW0gZmQtaWNvbi10YWItYmFyX19pdGVtLS1vdmVyZmxvd1wiPlxuICAgICAgICAgICAgPGZkcC1pY29uLXRhYi1iYXItcG9wb3ZlclxuICAgICAgICAgICAgICAgIFtpc1J0bF09XCJpc1J0bFwiXG4gICAgICAgICAgICAgICAgW2V4dHJhVGFic109XCJfbmV4dFN0ZXBzXCJcbiAgICAgICAgICAgICAgICBbaXNTZXBhcmF0b3JzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJfbmV4dFN0ZXBzLmxlbmd0aC50b1N0cmluZygpXCJcbiAgICAgICAgICAgICAgICBbY29sb3JBc3NvY2lhdGlvbnNdPVwiY29sb3JBc3NvY2lhdGlvbnNcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEV4dHJhSXRlbSk9XCJfc2VsZWN0RXh0cmFJdGVtKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChmb2N1c0ZpcnN0VmlzaWJsZUl0ZW0pPVwiX2ZvY3VzSXRlbSgwKVwiXG4gICAgICAgICAgICAgICAgKGZvY3VzTGFzdFZpc2libGVJdGVtKT1cIl9mb2N1c0l0ZW0oX2xhc3RWaXNpYmxlVGFiSW5kZXgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZmRwLWljb24tdGFiLWJhci1wb3BvdmVyPlxuICAgICAgICA8L2xpPlxuICAgIH1cbjwvdWw+XG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1wcm9jZXNzLXR5cGUvaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1wcm9jZXNzLXR5cGUvaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQzs7QUFxQjdHLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBa0I7SUFuQnRFOztRQTBC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YUFDOUM7U0FDSiwwRUFlVSwwQkFBMEIsc0pDckN6Qyxpc0lBc0dBLDRDRDlFUSxxQkFBcUIsc0pBQ3JCLDBCQUEwQixxSEFDMUIseUJBQXlCLGtFQUN6QixhQUFhLDBJQUNiLGVBQWUsbUhBQ2YsZUFBZTs7MkZBR1YsOEJBQThCO2tCQW5CMUMsU0FBUzsrQkFDSSwrQkFBK0IsY0FFN0IsSUFBSSxhQUNMO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixXQUFXLGdDQUFnQzt5QkFDOUM7cUJBQ0osV0FDUTt3QkFDTCxxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTtxQkFDbEI7OEJBSXdCLGNBQWM7c0JBQXRDLFlBQVk7dUJBQUMsU0FBUztnQkFHZ0IsY0FBYztzQkFBcEQsU0FBUzt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFzeW5jT3JTeW5jUGlwZSwgT3ZlcmZsb3dMaXN0RGlyZWN0aXZlLCBPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEljb25UYWJCYXJJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLXRhYi1iYXItaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xvc2FibGVJY29uVGFiQmFyIH0gZnJvbSAnLi4vY2xvc2FibGUtaWNvbi10YWItYmFyLmNsYXNzJztcbmltcG9ydCB7IEljb25UYWJCYXJCYXNlIH0gZnJvbSAnLi4vaWNvbi10YWItYmFyLWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgSWNvblRhYkJhclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci9pY29uLXRhYi1iYXItcG9wb3Zlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1pY29uLXRhYi1iYXItcHJvY2Vzcy10eXBlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi10YWItYmFyLXByb2Nlc3MtdHlwZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogSWNvblRhYkJhckJhc2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSWNvblRhYkJhclByb2Nlc3NUeXBlQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgT3ZlcmZsb3dMaXN0RGlyZWN0aXZlLFxuICAgICAgICBJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgICAgT3ZlcmZsb3dMaXN0SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBBc3luY09yU3luY1BpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEljb25UYWJCYXJQcm9jZXNzVHlwZUNvbXBvbmVudCBleHRlbmRzIENsb3NhYmxlSWNvblRhYkJhciB7XG4gICAgLyoqIEBoaWRkZW4gbGlzdCBvZiB0YWIgaHRtbCBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYkl0ZW0nKSBfdGFiVUlFbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCkgX3RhYkJhclBvcG92ZXI6IEljb25UYWJCYXJQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb2Zmc2V0T3ZlcmZsb3dEaXJlY3RpdmUgPSAzMDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBhcnJheSBjb250YWluaW5nIGV4dHJhIHRhYnMgZm9yIHRoZSBuZXh0IHN0ZXBzXG4gICAgICovXG4gICAgX25leHRTdGVwczogSWNvblRhYkJhckl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEFuIGFycmF5IGNvbnRhaW5pbmcgZXh0cmEgdGFicyBmb3IgdGhlIG5leHQgc3RlcHNcbiAgICAgKi9cbiAgICBfcHJldlN0ZXBzOiBJY29uVGFiQmFySXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaG93TGVmdEJ0biA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2hvd1JpZ2h0QnRuID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZpcnN0VmlzaWJsZVRhYkluZGV4ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY3VycmVudFN0ZXBJbmRleCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hbmNob3JJbmRleEZvckV4dHJhQnRuRGlyZWN0aXZlOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHNlbGVjdGVkSXRlbVxuICAgICAqL1xuICAgIF9zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbTogSWNvblRhYkJhckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFN0ZXBJbmRleCA9IHNlbGVjdGVkSXRlbS5pbmRleDtcbiAgICAgICAgc3VwZXIuX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHNlbGVjdGVkSXRlbVxuICAgICAqIEBkZXNjcmlwdGlvbiBzZWxlY3QgZXh0cmEgaXRlbSBpbnNpZGUgcG9wb3ZlclxuICAgICAqL1xuICAgIGFzeW5jIF9zZWxlY3RFeHRyYUl0ZW0oc2VsZWN0ZWRJdGVtOiBJY29uVGFiQmFySXRlbSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl9jdXJyZW50U3RlcEluZGV4ID0gc2VsZWN0ZWRJdGVtLmluZGV4O1xuICAgICAgICBsZXQgYW1vdW50T2ZQcmV2aW91c1N0ZXBzO1xuICAgICAgICBsZXQgYW1vdW50T2ZOZXh0U3RlcHM7XG4gICAgICAgIC8vIFdlIGhhdmUgdG8gY2FzZXMgKHN0cmF0ZWd5KSBmb3Igb3ZlcmZsb3cgZXh0cmEgdGFicy5cbiAgICAgICAgLy8gMSkgV2hlbiB1c2VyIGNsaWNrIG9uIHN0ZXAgaW5zaWRlIHByZXZpb3VzIHN0ZXBzIHBvcG92ZXJcbiAgICAgICAgLy8gMikgV2hlbiB1c2VyIGNsaWNrIG9uIHN0ZXAgaW5zaWRlIG5leHQgc3RlcHMgcG9wb3ZlclxuICAgICAgICBsZXQgaXNQcmV2aW91c1N0ZXBzU3RyYXRlZ3k6IGJvb2xlYW47XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50U3RlcEluZGV4ID4gdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCkge1xuICAgICAgICAgICAgYW1vdW50T2ZOZXh0U3RlcHMgPSB0aGlzLl9uZXh0U3RlcHMubGVuZ3RoIC0gKHRoaXMuX2N1cnJlbnRTdGVwSW5kZXggLSB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4KTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dSaWdodEJ0biA9IGFtb3VudE9mTmV4dFN0ZXBzID4gMDtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dMZWZ0QnRuID0gdHJ1ZTtcbiAgICAgICAgICAgIGlzUHJldmlvdXNTdGVwc1N0cmF0ZWd5ID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhbW91bnRPZlByZXZpb3VzU3RlcHMgPSB0aGlzLl9wcmV2U3RlcHMubGVuZ3RoIC0gKHRoaXMuX2ZpcnN0VmlzaWJsZVRhYkluZGV4IC0gdGhpcy5fY3VycmVudFN0ZXBJbmRleCk7XG4gICAgICAgICAgICB0aGlzLl9zaG93UmlnaHRCdG4gPSB0cnVlO1xuICAgICAgICAgICAgaXNQcmV2aW91c1N0ZXBzU3RyYXRlZ3kgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fc2hvd0xlZnRCdG4gPSBhbW91bnRPZlByZXZpb3VzU3RlcHMgPiAwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtKTtcblxuICAgICAgICB0aGlzLl9uZ1pvbmUub25NaWNyb3Rhc2tFbXB0eS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5vdmVyZmxvd0RpcmVjdGl2ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhID0gdGhpcy5vdmVyZmxvd0RpcmVjdGl2ZS5nZXRBbW91bnRPZkV4dHJhSXRlbXMoKTtcbiAgICAgICAgICAgICAgICBpc1ByZXZpb3VzU3RlcHNTdHJhdGVneVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMucmVjYWxjdWxhdGVJdGVtc0J5UHJldkFycihleHRyYSwgYW1vdW50T2ZQcmV2aW91c1N0ZXBzKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX3JlY2FsY3VsYXRlSXRlbXNCeU5leHRBcnIoZXh0cmEsIGFtb3VudE9mTmV4dFN0ZXBzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gZXh0cmFJdGVtc1xuICAgICAqIEBkZXNjcmlwdGlvbiByZWNhbGN1bGF0ZSBfbmV4dFN0ZXBzIGFuZCBfcHJldlN0ZXBzIGFycmF5IGlmIHdlIGhhdmUgZXh0cmEgaXRlbXNcbiAgICAgKi9cbiAgICBfcmVjYWxjdWxhdGVWaXNpYmxlSXRlbXMoZXh0cmFJdGVtczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFtb3VudE9mUHJldlN0ZXBzID0gdGhpcy5fY3VycmVudFN0ZXBJbmRleCA+IGV4dHJhSXRlbXMgPyBleHRyYUl0ZW1zIDogdGhpcy5fY3VycmVudFN0ZXBJbmRleDtcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUl0ZW1zQnlQcmV2QXJyKGV4dHJhSXRlbXMsIGFtb3VudE9mUHJldlN0ZXBzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NsZWFyRXh0cmFMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uZXh0U3RlcHMgPSBbXTtcbiAgICAgICAgdGhpcy5fcHJldlN0ZXBzID0gW107XG4gICAgICAgIHRoaXMudGFicy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbS5jc3NDbGFzc2VzID0gaXRlbS5jc3NDbGFzc2VzLmZpbHRlcigoY3NzQ2xhc3MpID0+IGNzc0NsYXNzICE9PSBJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gZXh0cmFJdGVtc1xuICAgICAqIEBwYXJhbSBhbW91bnRPZk5leHRTdGVwc1xuICAgICAqIEBkZXNjcmlwdGlvbiBXZSBmaWxsIHRoZSBhcnJheSBvZiB0aGUgbmV4dCBzdGVwcyB0byB0aGUgc2VsZWN0ZWQgdGFiLFxuICAgICAqIGJhc2VkIG9uIHRoaXMgd2UgZ2VuZXJhdGUgdGhlIGFycmF5IG9mIHRoZSBwcmV2aW91cyBzdGVwcyBpZiBpdCBpcyBuZWNlc3NhcnlcbiAgICAgKi9cbiAgICBwcml2YXRlIF9yZWNhbGN1bGF0ZUl0ZW1zQnlOZXh0QXJyKGV4dHJhSXRlbXM6IG51bWJlciwgYW1vdW50T2ZOZXh0U3RlcHM6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jbGVhckV4dHJhTGlzdCgpO1xuICAgICAgICBpZiAoIWV4dHJhSXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YWJzID0gWy4uLnRoaXMudGFic107XG4gICAgICAgIGNvbnN0IHZpc2libGVBbW91bnRPZkl0ZW1zID0gdGFicy5sZW5ndGggLSBleHRyYUl0ZW1zO1xuICAgICAgICBmb3IgKGxldCBpID0gdGFicy5sZW5ndGggLSBhbW91bnRPZk5leHRTdGVwczsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuX25leHRTdGVwcy5wdXNoKGNsb25lRGVlcCh0YWJzW2ldKSk7XG4gICAgICAgICAgICB0YWJzW2ldLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0YWJzW2ldLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaG93UmlnaHRCdG4gPSAhIXRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2ZpcnN0VmlzaWJsZVRhYkluZGV4ID0gdGFicy5sZW5ndGggLSB2aXNpYmxlQW1vdW50T2ZJdGVtcyAtIHRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggPSB0YWJzLmxlbmd0aCAtIGFtb3VudE9mTmV4dFN0ZXBzIC0gMTtcblxuICAgICAgICBpZiAodGhpcy5fbmV4dFN0ZXBzLmxlbmd0aCA9PT0gZXh0cmFJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGFtb3VudE9mUHJldlN0ZXBzID0gZXh0cmFJdGVtcyAtIHRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIGxldCBuZXh0SW5kZXggPSB0aGlzLl9maXJzdFZpc2libGVUYWJJbmRleCAtIDE7XG4gICAgICAgIHdoaWxlIChhbW91bnRPZlByZXZTdGVwcyA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZXZTdGVwcy5wdXNoKGNsb25lRGVlcCh0YWJzW25leHRJbmRleF0pKTtcbiAgICAgICAgICAgIHRhYnNbbmV4dEluZGV4XS5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgdGFic1tuZXh0SW5kZXhdLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG5cbiAgICAgICAgICAgIC0tbmV4dEluZGV4O1xuICAgICAgICAgICAgLS1hbW91bnRPZlByZXZTdGVwcztcbiAgICAgICAgfVxuICAgICAgICAvLyBBZGRlZCArMSBmb3IgbGVmdCBidXR0b25cbiAgICAgICAgdGhpcy5fYW5jaG9ySW5kZXhGb3JFeHRyYUJ0bkRpcmVjdGl2ZSA9IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGhcbiAgICAgICAgICAgID8gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aCArIHZpc2libGVBbW91bnRPZkl0ZW1zXG4gICAgICAgICAgICA6IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGggKyB2aXNpYmxlQW1vdW50T2ZJdGVtcyAtIDE7XG5cbiAgICAgICAgdGhpcy5fc2hvd0xlZnRCdG4gPSAhIXRoaXMuX3ByZXZTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGV4dHJhSXRlbXNcbiAgICAgKiBAcGFyYW0gYW1vdW50T2ZQcmV2aW91c1N0ZXBzXG4gICAgICogQGRlc2NyaXB0aW9uIFdlIGZpbGwgdGhlIGFycmF5IG9mIHRoZSBwcmV2aW91cyBzdGVwcyB0byB0aGUgc2VsZWN0ZWQgdGFiLFxuICAgICAqIGJhc2VkIG9uIHRoaXMgd2UgZ2VuZXJhdGUgdGhlIGFycmF5IG9mIHRoZSBuZXh0IHN0ZXBzIGlmIGl0IGlzIG5lY2Vzc2FyeVxuICAgICAqL1xuICAgIHByaXZhdGUgcmVjYWxjdWxhdGVJdGVtc0J5UHJldkFycihleHRyYUl0ZW1zOiBudW1iZXIsIGFtb3VudE9mUHJldmlvdXNTdGVwczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyRXh0cmFMaXN0KCk7XG4gICAgICAgIGlmICghZXh0cmFJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhYnMgPSBbLi4udGhpcy50YWJzXTtcbiAgICAgICAgY29uc3QgdmlzaWJsZUFtb3VudE9mSXRlbXMgPSB0YWJzLmxlbmd0aCAtIGV4dHJhSXRlbXM7XG4gICAgICAgIGZvciAobGV0IGkgPSBhbW91bnRPZlByZXZpb3VzU3RlcHMgLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgdGhpcy5fcHJldlN0ZXBzLnB1c2goY2xvbmVEZWVwKHRhYnNbaV0pKTtcbiAgICAgICAgICAgIHRhYnNbaV0uaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRhYnNbaV0uY3NzQ2xhc3Nlcy5wdXNoKElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2ZpcnN0VmlzaWJsZVRhYkluZGV4ID0gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aDtcbiAgICAgICAgdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCA9IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGggKyB2aXNpYmxlQW1vdW50T2ZJdGVtcyAtIDE7XG4gICAgICAgIHRoaXMuX3Nob3dMZWZ0QnRuID0gISF0aGlzLl9wcmV2U3RlcHMubGVuZ3RoO1xuXG4gICAgICAgIGlmICh0aGlzLl9wcmV2U3RlcHMubGVuZ3RoID09PSBleHRyYUl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93UmlnaHRCdG4gPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhbW91bnRPZk5leHRTdGVwcyA9IGV4dHJhSXRlbXMgLSB0aGlzLl9wcmV2U3RlcHMubGVuZ3RoO1xuICAgICAgICBsZXQgbmV4dEluZGV4ID0gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aCA/IHRoaXMuX3ByZXZTdGVwcy5sZW5ndGggKyB2aXNpYmxlQW1vdW50T2ZJdGVtcyA6IHZpc2libGVBbW91bnRPZkl0ZW1zO1xuICAgICAgICB3aGlsZSAoYW1vdW50T2ZOZXh0U3RlcHMgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9uZXh0U3RlcHMucHVzaChjbG9uZURlZXAodGFic1tuZXh0SW5kZXhdKSk7XG4gICAgICAgICAgICB0YWJzW25leHRJbmRleF0uaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRhYnNbbmV4dEluZGV4XS5jc3NDbGFzc2VzLnB1c2goSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUpO1xuXG4gICAgICAgICAgICArK25leHRJbmRleDtcbiAgICAgICAgICAgIC0tYW1vdW50T2ZOZXh0U3RlcHM7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWRkICsxIGZvciBsZWZ0IGJ0blxuICAgICAgICB0aGlzLl9hbmNob3JJbmRleEZvckV4dHJhQnRuRGlyZWN0aXZlID0gdGhpcy5fcHJldlN0ZXBzLmxlbmd0aFxuICAgICAgICAgICAgPyB0aGlzLl9wcmV2U3RlcHMubGVuZ3RoICsgdmlzaWJsZUFtb3VudE9mSXRlbXNcbiAgICAgICAgICAgIDogdGhpcy5fcHJldlN0ZXBzLmxlbmd0aCArIHZpc2libGVBbW91bnRPZkl0ZW1zIC0gMTtcblxuICAgICAgICB0aGlzLl9zaG93UmlnaHRCdG4gPSAhIXRoaXMuX25leHRTdGVwcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX29mZnNldE92ZXJmbG93RGlyZWN0aXZlID0gdGhpcy5fbmV4dFN0ZXBzLmxlbmd0aCA/IDcwIDogMDtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjx1bFxuICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19oZWFkZXJcIlxuICAgIFtjbGFzcy5mZC1keW5hbWljLXBhZ2VfX3RhYnNdPVwiX2luRHluYW1pY1BhZ2VcIlxuICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAjdGFibGlzdFxuICAgIFtjbGFzcy5mZC1pY29uLXRhYi1iYXJfX2hlYWRlci0tbGVmdC1vZmZzZXRdPVwiX3Nob3dMZWZ0QnRuXCJcbiAgICBmZGtPdmVyZmxvd0xpc3RcbiAgICBbaXNSdGxdPVwiaXNSdGxcIlxuICAgIFtvdmVyZmxvd09mZnNldF09XCJfb2Zmc2V0T3ZlcmZsb3dEaXJlY3RpdmVcIlxuICAgIChvdmVyZmxvd0NoYW5nZWQpPVwiX3JlY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCRldmVudClcIlxuPlxuICAgIEBpZiAoX3Nob3dMZWZ0QnRuKSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faXRlbSBmZC1pY29uLXRhYi1iYXJfX2l0ZW0tLW92ZXJmbG93IGZkLWljb24tdGFiLWJhcl9faXRlbS0tb3ZlcmZsb3ctbGVmdFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZHAtaWNvbi10YWItYmFyLXBvcG92ZXJcbiAgICAgICAgICAgICAgICBbZXh0cmFUYWJzXT1cIl9wcmV2U3RlcHNcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJfcHJldlN0ZXBzLmxlbmd0aC50b1N0cmluZygpXCJcbiAgICAgICAgICAgICAgICBbaXNTZXBhcmF0b3JzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtjb2xvckFzc29jaWF0aW9uc109XCJjb2xvckFzc29jaWF0aW9uc1wiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkRXh0cmFJdGVtKT1cIl9zZWxlY3RFeHRyYUl0ZW0oJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9mZHAtaWNvbi10YWItYmFyLXBvcG92ZXI+XG4gICAgICAgIDwvbGk+XG4gICAgfVxuICAgIEBmb3IgKGl0ZW0gb2YgdGFiczsgdHJhY2sgaXRlbS51SWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgPGxpXG4gICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jc3NDbGFzc2VzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pdGVtXCJcbiAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgZmRrT3ZlcmZsb3dMaXN0SXRlbVxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5oaWRkZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiX2tleURvd25IYW5kbGVyKCRldmVudCwgaXRlbSwgaWR4KVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLnVJZCA9PT0gc2VsZWN0ZWRVaWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX190YWJcIlxuICAgICAgICAgICAgICAgICN0YWJJdGVtXG4gICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaWR4ID09PSAwID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gW2dseXBoXT1cIml0ZW0uaWNvblwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5iYWRnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19iYWRnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2RldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19jb3VudGVyXCI+e3sgaXRlbS5jb3VudGVyIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2xhYmVsXCI+e3sgaXRlbS5sYWJlbCB8IGZka0FzeW5jT3JTeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX3RhZ1wiPnt7IGl0ZW0ubGFiZWwgfCBmZGtBc3luY09yU3luYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYmFkZ2VcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbG9yIHwgZmRrQXN5bmNPclN5bmM7IGFzIGl0ZW1Db2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NyZWVucmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IChjb2xvckFzc29jaWF0aW9ucyAmJiBjb2xvckFzc29jaWF0aW9uc1tpdGVtQ29sb3JdKSB8fCBpdGVtQ29sb3IgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgQGlmIChpdGVtLmNsb3NhYmxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbG9zZVRhYihpdGVtLnVJZClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImRlY2xpbmVcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChfbGFzdFZpc2libGVUYWJJbmRleCAhPT0gaWR4KSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX3NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cInByb2Nlc3NcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xpPlxuICAgIH1cbiAgICBAaWYgKF9zaG93UmlnaHRCdG4pIHtcbiAgICAgICAgPGxpIHJvbGU9XCJwcmVzZW50YXRpb25cIiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faXRlbSBmZC1pY29uLXRhYi1iYXJfX2l0ZW0tLW92ZXJmbG93XCI+XG4gICAgICAgICAgICA8ZmRwLWljb24tdGFiLWJhci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgW2lzUnRsXT1cImlzUnRsXCJcbiAgICAgICAgICAgICAgICBbZXh0cmFUYWJzXT1cIl9uZXh0U3RlcHNcIlxuICAgICAgICAgICAgICAgIFtpc1NlcGFyYXRvcnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIl9uZXh0U3RlcHMubGVuZ3RoLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgIFtjb2xvckFzc29jaWF0aW9uc109XCJjb2xvckFzc29jaWF0aW9uc1wiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkRXh0cmFJdGVtKT1cIl9zZWxlY3RFeHRyYUl0ZW0oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGZvY3VzRmlyc3RWaXNpYmxlSXRlbSk9XCJfZm9jdXNJdGVtKDApXCJcbiAgICAgICAgICAgICAgICAoZm9jdXNMYXN0VmlzaWJsZUl0ZW0pPVwiX2ZvY3VzSXRlbShfbGFzdFZpc2libGVUYWJJbmRleClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9mZHAtaWNvbi10YWItYmFyLXBvcG92ZXI+XG4gICAgICAgIDwvbGk+XG4gICAgfVxuPC91bD5cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, Directive, ElementRef, HostBinding, Input, QueryList, TemplateRef, ViewChild, booleanAttribute, inject } from '@angular/core';
|
|
3
|
+
import { FD_DEFAULT_ICON_FONT_FAMILY } from '@fundamental-ngx/core/icon';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
let defaultIdIndex = 0;
|
|
6
|
+
export class IconTabBarTabContentDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
/** Element reference. */
|
|
9
|
+
this.elementRef = inject(ElementRef);
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: IconTabBarTabContentDirective, isStandalone: true, selector: "fdp-icon-tab-bar-tab-content", inputs: { id: "id", uId: "uId" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0 }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabContentDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
18
|
+
selector: 'fdp-icon-tab-bar-tab-content',
|
|
19
|
+
standalone: true
|
|
20
|
+
}]
|
|
21
|
+
}], propDecorators: { id: [{
|
|
22
|
+
type: HostBinding,
|
|
23
|
+
args: ['attr.id']
|
|
24
|
+
}, {
|
|
25
|
+
type: Input
|
|
26
|
+
}], uId: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
export class IconTabBarTabComponent {
|
|
30
|
+
constructor() {
|
|
31
|
+
/** Tab icon font family. */
|
|
32
|
+
this.iconFont = FD_DEFAULT_ICON_FONT_FAMILY;
|
|
33
|
+
/** whether the tab is selected */
|
|
34
|
+
this.active = false;
|
|
35
|
+
/** if set to true, will show red circle in top-right corner of tab */
|
|
36
|
+
this.badge = false;
|
|
37
|
+
/** Whether the tab can be closed. */
|
|
38
|
+
this.closable = false;
|
|
39
|
+
/** Tab ID. */
|
|
40
|
+
this.id = `fdp-icon-tab-bar-tab-${defaultIdIndex++}`;
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: IconTabBarTabComponent, isStandalone: true, selector: "fdp-icon-tab-bar-tab", inputs: { label: "label", color: "color", icon: "icon", iconFont: "iconFont", counter: "counter", active: ["active", "active", booleanAttribute], badge: ["badge", "badge", booleanAttribute], closable: ["closable", "closable", booleanAttribute], id: "id" }, queries: [{ propertyName: "children", predicate: IconTabBarTabComponent }], viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }], ngImport: i0, template: "<ng-template #renderer>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'fdp-icon-tab-bar-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #renderer>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
48
|
+
}], propDecorators: { label: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], color: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], icon: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], iconFont: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], counter: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], active: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: [{ transform: booleanAttribute }]
|
|
61
|
+
}], badge: [{
|
|
62
|
+
type: Input,
|
|
63
|
+
args: [{ transform: booleanAttribute }]
|
|
64
|
+
}], closable: [{
|
|
65
|
+
type: Input,
|
|
66
|
+
args: [{ transform: booleanAttribute }]
|
|
67
|
+
}], id: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], renderer: [{
|
|
70
|
+
type: ViewChild,
|
|
71
|
+
args: ['renderer']
|
|
72
|
+
}], children: [{
|
|
73
|
+
type: ContentChildren,
|
|
74
|
+
args: [IconTabBarTabComponent]
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci10YWIvaWNvbi10YWItYmFyLXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci10YWIvaWNvbi10YWItYmFyLXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBWSxNQUFNLDRCQUE0QixDQUFDOztBQUluRixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFPdkIsTUFBTSxPQUFPLDZCQUE2QjtJQUwxQztRQWVJLHlCQUF5QjtRQUNoQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzVDOzhHQVpZLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUx6QyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQUtHLEVBQUU7c0JBRkQsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFLTixHQUFHO3NCQURGLEtBQUs7O0FBY1YsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQW9CSSw0QkFBNEI7UUFFNUIsYUFBUSxHQUFhLDJCQUEyQixDQUFDO1FBTWpELGtDQUFrQztRQUVsQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsc0VBQXNFO1FBRXRFLFVBQUssR0FBRyxLQUFLLENBQUM7UUFFZCxxQ0FBcUM7UUFFckMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFjO1FBRWQsT0FBRSxHQUFHLHdCQUF3QixjQUFjLEVBQUUsRUFBRSxDQUFDO0tBU25EOzhHQTVDWSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1TEFzQlgsZ0JBQWdCLDZCQUloQixnQkFBZ0Isc0NBSWhCLGdCQUFnQixnRUFZbkIsc0JBQXNCLG1JQzFGM0MsMEVBR0EsMkNEeUNjLFlBQVk7OzJGQUliLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUVOLHVCQUF1QixDQUFDLE1BQU07OEJBSy9DLEtBQUs7c0JBREosS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUt0QyxLQUFLO3NCQURKLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3RDLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLdEMsRUFBRTtzQkFERCxLQUFLO2dCQUtHLFFBQVE7c0JBRGhCLFNBQVM7dUJBQUMsVUFBVTtnQkFLWixRQUFRO3NCQURoQixlQUFlO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhhc0VsZW1lbnRSZWYsIE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfREVGQVVMVF9JQ09OX0ZPTlRfRkFNSUxZLCBJY29uRm9udCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFRhYkNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFiLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VtYW50aWNDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxubGV0IGRlZmF1bHRJZEluZGV4ID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ZkcC1pY29uLXRhYi1iYXItdGFiLWNvbnRlbnQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWNvblRhYkJhclRhYkNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBIYXNFbGVtZW50UmVmIHtcbiAgICAvKiogVGFiIElELiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBpZDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBUYWIgVW5pcXVlIElELiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdUlkOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEVsZW1lbnQgcmVmZXJlbmNlLiAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWljb24tdGFiLWJhci10YWInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24tdGFiLWJhci10YWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEljb25UYWJCYXJUYWJDb21wb25lbnQgaW1wbGVtZW50cyBUYWJDb25maWcge1xuICAgIC8qKiBUYWIgTGFiZWwuICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBUYWIgdGV4dCBjb2xvci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbG9yOiBTZW1hbnRpY0NvbG9yO1xuXG4gICAgLyoqIFRhYiBpY29uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWNvbjogc3RyaW5nO1xuXG4gICAgLyoqIFRhYiBpY29uIGZvbnQgZmFtaWx5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWNvbkZvbnQ6IEljb25Gb250ID0gRkRfREVGQVVMVF9JQ09OX0ZPTlRfRkFNSUxZO1xuXG4gICAgLyoqIFRhYiBjb3VudGVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY291bnRlcjogbnVtYmVyO1xuXG4gICAgLyoqIHdoZXRoZXIgdGhlIHRhYiBpcyBzZWxlY3RlZCAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgLyoqIGlmIHNldCB0byB0cnVlLCB3aWxsIHNob3cgcmVkIGNpcmNsZSBpbiB0b3AtcmlnaHQgY29ybmVyIG9mIHRhYiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGJhZGdlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdGFiIGNhbiBiZSBjbG9zZWQuICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgY2xvc2FibGUgPSBmYWxzZTtcblxuICAgIC8qKiBUYWIgSUQuICovXG4gICAgQElucHV0KClcbiAgICBpZCA9IGBmZHAtaWNvbi10YWItYmFyLXRhYi0ke2RlZmF1bHRJZEluZGV4Kyt9YDtcblxuICAgIC8qKiBDb250ZW50IHJlbmRlcmVyLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3JlbmRlcmVyJylcbiAgICByZWFkb25seSByZW5kZXJlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihJY29uVGFiQmFyVGFiQ29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGNoaWxkcmVuOiBRdWVyeUxpc3Q8SWNvblRhYkJhclRhYkNvbXBvbmVudD47XG59XG4iLCI8bmctdGVtcGxhdGUgI3JlbmRlcmVyPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|