@ptsecurity/mosaic 12.1.0 → 13.0.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/_theming.scss +113 -66
- package/_visual.scss +11 -9
- package/autocomplete/README.md +0 -0
- package/autocomplete/package.json +5 -5
- package/button/README.md +0 -0
- package/button/button.component.d.ts +17 -14
- package/button/button.module.d.ts +1 -1
- package/button/package.json +5 -5
- package/button-toggle/README.md +0 -0
- package/button-toggle/package.json +5 -5
- package/card/README.md +0 -0
- package/card/package.json +5 -5
- package/checkbox/README.md +1 -0
- package/checkbox/package.json +5 -5
- package/core/formatters/date/formatter.d.ts +4 -4
- package/core/formatters/date/templates/en-US.d.ts +8 -8
- package/core/formatters/date/templates/ru-RU.d.ts +8 -8
- package/core/package.json +5 -5
- package/core/pop-up/pop-up-trigger.d.ts +9 -12
- package/datepicker/README.md +0 -0
- package/datepicker/package.json +5 -5
- package/design-tokens/package.json +5 -5
- package/design-tokens/style-dictionary/build.js +6 -0
- package/design-tokens/style-dictionary/configs/index.js +2 -1
- package/design-tokens/tokens/components/navbar.json5 +12 -9
- package/design-tokens/tokens.d.ts +11 -9
- package/divider/README.md +0 -0
- package/divider/package.json +5 -5
- package/dropdown/dropdown-item.component.d.ts +1 -0
- package/dropdown/package.json +5 -5
- package/{esm2015/autocomplete/autocomplete-origin.directive.js → esm2020/autocomplete/autocomplete-origin.directive.mjs} +4 -4
- package/{esm2015/autocomplete/autocomplete-trigger.directive.js → esm2020/autocomplete/autocomplete-trigger.directive.mjs} +4 -4
- package/esm2020/autocomplete/autocomplete.component.mjs +154 -0
- package/{esm2015/autocomplete/autocomplete.module.js → esm2020/autocomplete/autocomplete.module.mjs} +5 -5
- package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
- package/{esm2015/autocomplete/ptsecurity-mosaic-autocomplete.js → esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs} +0 -0
- package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
- package/esm2020/button/button.component.mjs +129 -0
- package/esm2020/button/button.module.mjs +38 -0
- package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
- package/{esm2015/button/ptsecurity-mosaic-button.js → esm2020/button/ptsecurity-mosaic-button.mjs} +0 -0
- package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
- package/esm2020/button-toggle/button-toggle.component.mjs +362 -0
- package/{esm2015/button-toggle/button-toggle.module.js → esm2020/button-toggle/button-toggle.module.mjs} +5 -5
- package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
- package/{esm2015/button-toggle/ptsecurity-mosaic-button-toggle.js → esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs} +0 -0
- package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
- package/esm2020/card/card.component.mjs +80 -0
- package/{esm2015/card/card.module.js → esm2020/card/card.module.mjs} +5 -5
- package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
- package/{esm2015/card/ptsecurity-mosaic-card.js → esm2020/card/ptsecurity-mosaic-card.mjs} +0 -0
- package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
- package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
- package/{esm2015/checkbox/checkbox-module.js → esm2020/checkbox/checkbox-module.mjs} +5 -5
- package/{esm2015/checkbox/checkbox-required-validator.js → esm2020/checkbox/checkbox-required-validator.mjs} +4 -4
- package/esm2020/checkbox/checkbox.mjs +315 -0
- package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
- package/{esm2015/checkbox/ptsecurity-mosaic-checkbox.js → esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs} +0 -0
- package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
- package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
- package/{esm2015/core/animation/fade-animations.js → esm2020/core/animation/fade-animations.mjs} +0 -0
- package/{esm2015/core/animation/index.js → esm2020/core/animation/index.mjs} +0 -0
- package/{esm2015/core/animation/select-animations.js → esm2020/core/animation/select-animations.mjs} +0 -0
- package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
- package/{esm2015/core/common-behaviors/common-module.js → esm2020/core/common-behaviors/common-module.mjs} +5 -5
- package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
- package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
- package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
- package/{esm2015/core/common-behaviors/index.js → esm2020/core/common-behaviors/index.mjs} +0 -0
- package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
- package/{esm2015/core/error/error-options.js → esm2020/core/error/error-options.mjs} +7 -7
- package/esm2020/core/formatters/date/formatter.mjs +314 -0
- package/esm2020/core/formatters/date/templates/en-US.mjs +280 -0
- package/esm2020/core/formatters/date/templates/ru-RU.mjs +280 -0
- package/{esm2015/core/formatters/index.js → esm2020/core/formatters/index.mjs} +5 -5
- package/esm2020/core/formatters/number/formatter.mjs +105 -0
- package/{esm2015/core/forms/forms-module.js → esm2020/core/forms/forms-module.mjs} +5 -5
- package/{esm2015/core/forms/forms.directive.js → esm2020/core/forms/forms.directive.mjs} +7 -7
- package/{esm2015/core/forms/index.js → esm2020/core/forms/index.mjs} +0 -0
- package/{esm2015/core/highlight/highlight.pipe.js → esm2020/core/highlight/highlight.pipe.mjs} +4 -4
- package/{esm2015/core/highlight/index.js → esm2020/core/highlight/index.mjs} +5 -5
- package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
- package/{esm2015/core/label/label-options.js → esm2020/core/label/label-options.mjs} +0 -0
- package/{esm2015/core/line/line.js → esm2020/core/line/line.mjs} +8 -8
- package/esm2020/core/option/action.mjs +121 -0
- package/{esm2015/core/option/index.js → esm2020/core/option/index.mjs} +0 -0
- package/esm2020/core/option/optgroup.mjs +31 -0
- package/{esm2015/core/option/option-module.js → esm2020/core/option/option-module.mjs} +5 -5
- package/esm2020/core/option/option.mjs +254 -0
- package/{esm2015/core/overlay/overlay-position-map.js → esm2020/core/overlay/overlay-position-map.mjs} +0 -0
- package/{esm2015/core/pop-up/constants.js → esm2020/core/pop-up/constants.mjs} +0 -0
- package/{esm2015/core/pop-up/index.js → esm2020/core/pop-up/index.mjs} +0 -0
- package/esm2020/core/pop-up/pop-up-trigger.mjs +246 -0
- package/esm2020/core/pop-up/pop-up.mjs +91 -0
- package/{esm2015/core/ptsecurity-mosaic-core.js → esm2020/core/ptsecurity-mosaic-core.mjs} +0 -0
- package/{esm2015/core/public-api.js → esm2020/core/public-api.mjs} +0 -0
- package/{esm2015/core/select/constants.js → esm2020/core/select/constants.mjs} +0 -0
- package/{esm2015/core/select/errors.js → esm2020/core/select/errors.mjs} +0 -0
- package/{esm2015/core/select/events.js → esm2020/core/select/events.mjs} +0 -0
- package/{esm2015/core/select/index.js → esm2020/core/select/index.mjs} +0 -0
- package/{esm2015/core/selection/constants.js → esm2020/core/selection/constants.mjs} +0 -0
- package/{esm2015/core/selection/index.js → esm2020/core/selection/index.mjs} +0 -0
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -0
- package/{esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js → esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs} +5 -5
- package/{esm2015/core/services/measure-scrollbar.service.js → esm2020/core/services/measure-scrollbar.service.mjs} +4 -4
- package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
- package/{esm2015/core/utils/public-api.js → esm2020/core/utils/public-api.mjs} +0 -0
- package/{esm2015/core/utils/utils.js → esm2020/core/utils/utils.mjs} +0 -0
- package/{esm2015/core/validation/index.js → esm2020/core/validation/index.mjs} +0 -0
- package/{esm2015/core/validation/validation.js → esm2020/core/validation/validation.mjs} +0 -0
- package/esm2020/datepicker/calendar-body.component.mjs +106 -0
- package/esm2020/datepicker/calendar.component.mjs +362 -0
- package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
- package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
- package/esm2020/datepicker/datepicker-input.directive.mjs +900 -0
- package/{esm2015/datepicker/datepicker-intl.js → esm2020/datepicker/datepicker-intl.mjs} +4 -4
- package/{esm2015/datepicker/datepicker-module.js → esm2020/datepicker/datepicker-module.mjs} +5 -5
- package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -0
- package/esm2020/datepicker/datepicker.component.mjs +408 -0
- package/{esm2015/datepicker/index.js → esm2020/datepicker/index.mjs} +0 -0
- package/{esm2015/datepicker/month-view.component.js → esm2020/datepicker/month-view.component.mjs} +5 -11
- package/{esm2015/datepicker/multi-year-view.component.js → esm2020/datepicker/multi-year-view.component.mjs} +5 -11
- package/{esm2015/datepicker/ptsecurity-mosaic-datepicker.js → esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs} +0 -0
- package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
- package/{esm2015/datepicker/year-view.component.js → esm2020/datepicker/year-view.component.mjs} +5 -11
- package/{esm2015/design-tokens/index.js → esm2020/design-tokens/index.mjs} +0 -0
- package/{esm2015/design-tokens/ptsecurity-mosaic-design-tokens.js → esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs} +0 -0
- package/{esm2015/design-tokens/public-api.js → esm2020/design-tokens/public-api.mjs} +0 -0
- package/{esm2015/design-tokens/tokens.js → esm2020/design-tokens/tokens.mjs} +12 -10
- package/{esm2015/divider/divider.component.js → esm2020/divider/divider.component.mjs} +6 -13
- package/{esm2015/divider/divider.module.js → esm2020/divider/divider.module.mjs} +5 -5
- package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
- package/{esm2015/divider/ptsecurity-mosaic-divider.js → esm2020/divider/ptsecurity-mosaic-divider.mjs} +0 -0
- package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
- package/{esm2015/dropdown/dropdown-animations.js → esm2020/dropdown/dropdown-animations.mjs} +0 -0
- package/{esm2015/dropdown/dropdown-content.directive.js → esm2020/dropdown/dropdown-content.directive.mjs} +6 -8
- package/{esm2015/dropdown/dropdown-errors.js → esm2020/dropdown/dropdown-errors.mjs} +0 -0
- package/esm2020/dropdown/dropdown-item.component.mjs +139 -0
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +485 -0
- package/esm2020/dropdown/dropdown.component.mjs +292 -0
- package/{esm2015/dropdown/dropdown.module.js → esm2020/dropdown/dropdown.module.mjs} +5 -5
- package/{esm2015/dropdown/dropdown.types.js → esm2020/dropdown/dropdown.types.mjs} +0 -0
- package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
- package/{esm2015/dropdown/ptsecurity-mosaic-dropdown.js → esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs} +0 -0
- package/{esm2015/dropdown/public-api.js → esm2020/dropdown/public-api.mjs} +0 -0
- package/esm2020/form-field/cleaner.mjs +23 -0
- package/{esm2015/form-field/form-field-control.js → esm2020/form-field/form-field-control.mjs} +0 -0
- package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
- package/esm2020/form-field/form-field.mjs +205 -0
- package/{esm2015/form-field/form-field.module.js → esm2020/form-field/form-field.module.mjs} +5 -5
- package/{esm2015/form-field/hint.js → esm2020/form-field/hint.mjs} +4 -4
- package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
- package/{esm2015/form-field/prefix.js → esm2020/form-field/prefix.mjs} +4 -4
- package/{esm2015/form-field/ptsecurity-mosaic-form-field.js → esm2020/form-field/ptsecurity-mosaic-form-field.mjs} +0 -0
- package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
- package/{esm2015/form-field/stepper.js → esm2020/form-field/stepper.mjs} +4 -4
- package/{esm2015/form-field/suffix.js → esm2020/form-field/suffix.mjs} +4 -4
- package/esm2020/icon/icon.component.mjs +44 -0
- package/{esm2015/icon/icon.module.js → esm2020/icon/icon.module.mjs} +5 -5
- package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
- package/{esm2015/icon/ptsecurity-mosaic-icon.js → esm2020/icon/ptsecurity-mosaic-icon.mjs} +0 -0
- package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
- package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
- package/esm2020/input/input-number-validators.mjs +92 -0
- package/{esm2015/input/input-number.js → esm2020/input/input-number.mjs} +4 -4
- package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
- package/{esm2015/input/input.js → esm2020/input/input.mjs} +7 -7
- package/{esm2015/input/input.module.js → esm2020/input/input.module.mjs} +5 -5
- package/{esm2015/input/ptsecurity-mosaic-input.js → esm2020/input/ptsecurity-mosaic-input.mjs} +0 -0
- package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
- package/{esm2015/link/index.js → esm2020/link/index.mjs} +0 -0
- package/esm2020/link/link.component.mjs +107 -0
- package/{esm2015/link/link.module.js → esm2020/link/link.module.mjs} +5 -5
- package/{esm2015/link/ptsecurity-mosaic-link.js → esm2020/link/ptsecurity-mosaic-link.mjs} +0 -0
- package/{esm2015/link/public-api.js → esm2020/link/public-api.mjs} +0 -0
- package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
- package/esm2020/list/list-selection.component.mjs +693 -0
- package/esm2020/list/list.component.mjs +44 -0
- package/{esm2015/list/list.module.js → esm2020/list/list.module.mjs} +5 -5
- package/{esm2015/list/ptsecurity-mosaic-list.js → esm2020/list/ptsecurity-mosaic-list.mjs} +0 -0
- package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
- package/{esm2015/modal/css-unit.pipe.js → esm2020/modal/css-unit.pipe.mjs} +4 -4
- package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
- package/{esm2015/modal/modal-control.service.js → esm2020/modal/modal-control.service.mjs} +4 -4
- package/{esm2015/modal/modal-ref.class.js → esm2020/modal/modal-ref.class.mjs} +0 -0
- package/{esm2015/modal/modal-util.js → esm2020/modal/modal-util.mjs} +0 -0
- package/esm2020/modal/modal.component.mjs +501 -0
- package/{esm2015/modal/modal.directive.js → esm2020/modal/modal.directive.mjs} +13 -13
- package/esm2020/modal/modal.module.mjs +72 -0
- package/esm2020/modal/modal.service.mjs +124 -0
- package/{esm2015/modal/modal.type.js → esm2020/modal/modal.type.mjs} +0 -0
- package/{esm2015/modal/ptsecurity-mosaic-modal.js → esm2020/modal/ptsecurity-mosaic-modal.mjs} +0 -0
- package/{esm2015/modal/public-api.js → esm2020/modal/public-api.mjs} +0 -0
- package/{esm2015/navbar/index.js → esm2020/navbar/index.mjs} +0 -0
- package/esm2020/navbar/navbar-item.component.mjs +577 -0
- package/esm2020/navbar/navbar.component.mjs +237 -0
- package/esm2020/navbar/navbar.module.mjs +92 -0
- package/{esm2015/navbar/ptsecurity-mosaic-navbar.js → esm2020/navbar/ptsecurity-mosaic-navbar.mjs} +0 -0
- package/{esm2015/navbar/public-api.js → esm2020/navbar/public-api.mjs} +0 -0
- package/{esm2015/navbar/vertical-navbar.animation.js → esm2020/navbar/vertical-navbar.animation.mjs} +2 -2
- package/esm2020/navbar/vertical-navbar.component.mjs +114 -0
- package/{esm2015/popover/index.js → esm2020/popover/index.mjs} +0 -0
- package/{esm2015/popover/popover-animations.js → esm2020/popover/popover-animations.mjs} +0 -0
- package/esm2020/popover/popover-confirm.component.mjs +108 -0
- package/esm2020/popover/popover.component.mjs +253 -0
- package/esm2020/popover/popover.module.mjs +24 -0
- package/{esm2015/popover/ptsecurity-mosaic-popover.js → esm2020/popover/ptsecurity-mosaic-popover.mjs} +0 -0
- package/{esm2015/popover/public-api.js → esm2020/popover/public-api.mjs} +2 -1
- package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
- package/esm2020/progress-bar/progress-bar.component.mjs +42 -0
- package/{esm2015/progress-bar/progress-bar.module.js → esm2020/progress-bar/progress-bar.module.mjs} +5 -5
- package/{esm2015/progress-bar/ptsecurity-mosaic-progress-bar.js → esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs} +0 -0
- package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
- package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
- package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -0
- package/{esm2015/progress-spinner/progress-spinner.module.js → esm2020/progress-spinner/progress-spinner.module.mjs} +5 -5
- package/{esm2015/progress-spinner/ptsecurity-mosaic-progress-spinner.js → esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs} +0 -0
- package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
- package/{esm2015/ptsecurity-mosaic.js → esm2020/ptsecurity-mosaic.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
- package/{esm2015/radio/ptsecurity-mosaic-radio.js → esm2020/radio/ptsecurity-mosaic-radio.mjs} +0 -0
- package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
- package/esm2020/radio/radio.component.mjs +458 -0
- package/{esm2015/radio/radio.module.js → esm2020/radio/radio.module.mjs} +5 -5
- package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
- package/{esm2015/select/ptsecurity-mosaic-select.js → esm2020/select/ptsecurity-mosaic-select.mjs} +0 -0
- package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
- package/esm2020/select/select.component.mjs +1110 -0
- package/{esm2015/select/select.module.js → esm2020/select/select.module.mjs} +5 -5
- package/{esm2015/sidebar/index.js → esm2020/sidebar/index.mjs} +0 -0
- package/{esm2015/sidebar/ptsecurity-mosaic-sidebar.js → esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs} +0 -0
- package/{esm2015/sidebar/public-api.js → esm2020/sidebar/public-api.mjs} +0 -0
- package/{esm2015/sidebar/sidebar-animations.js → esm2020/sidebar/sidebar-animations.mjs} +0 -0
- package/esm2020/sidebar/sidebar.component.mjs +146 -0
- package/{esm2015/sidebar/sidebar.module.js → esm2020/sidebar/sidebar.module.mjs} +5 -5
- package/{esm2015/sidepanel/index.js → esm2020/sidepanel/index.mjs} +0 -0
- package/{esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js → esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs} +0 -0
- package/{esm2015/sidepanel/public-api.js → esm2020/sidepanel/public-api.mjs} +0 -0
- package/{esm2015/sidepanel/sidepanel-animations.js → esm2020/sidepanel/sidepanel-animations.mjs} +0 -0
- package/{esm2015/sidepanel/sidepanel-config.js → esm2020/sidepanel/sidepanel-config.mjs} +0 -0
- package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -0
- package/esm2020/sidepanel/sidepanel-directives.mjs +159 -0
- package/{esm2015/sidepanel/sidepanel-ref.js → esm2020/sidepanel/sidepanel-ref.mjs} +0 -0
- package/esm2020/sidepanel/sidepanel.module.mjs +74 -0
- package/esm2020/sidepanel/sidepanel.service.mjs +167 -0
- package/{esm2015/splitter/index.js → esm2020/splitter/index.mjs} +0 -0
- package/{esm2015/splitter/ptsecurity-mosaic-splitter.js → esm2020/splitter/ptsecurity-mosaic-splitter.mjs} +0 -0
- package/{esm2015/splitter/public-api.js → esm2020/splitter/public-api.mjs} +0 -0
- package/esm2020/splitter/splitter.component.mjs +480 -0
- package/esm2020/splitter/splitter.module.mjs +40 -0
- package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
- package/{esm2015/table/ptsecurity-mosaic-table.js → esm2020/table/ptsecurity-mosaic-table.mjs} +0 -0
- package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
- package/{esm2015/table/table.component.js → esm2020/table/table.component.mjs} +4 -4
- package/{esm2015/table/table.module.js → esm2020/table/table.module.mjs} +5 -5
- package/{esm2015/tabs/index.js → esm2020/tabs/index.mjs} +0 -0
- package/esm2020/tabs/paginated-tab-header.mjs +479 -0
- package/{esm2015/tabs/ptsecurity-mosaic-tabs.js → esm2020/tabs/ptsecurity-mosaic-tabs.mjs} +0 -0
- package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
- package/esm2020/tabs/tab-body.component.mjs +178 -0
- package/{esm2015/tabs/tab-content.directive.js → esm2020/tabs/tab-content.directive.mjs} +4 -4
- package/esm2020/tabs/tab-group.component.mjs +350 -0
- package/esm2020/tabs/tab-header.component.mjs +67 -0
- package/{esm2015/tabs/tab-label-wrapper.directive.js → esm2020/tabs/tab-label-wrapper.directive.mjs} +4 -4
- package/{esm2015/tabs/tab-label.directive.js → esm2020/tabs/tab-label.directive.mjs} +4 -4
- package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -0
- package/{esm2015/tabs/tab.component.js → esm2020/tabs/tab.component.mjs} +4 -4
- package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
- package/{esm2015/tabs/tabs.module.js → esm2020/tabs/tabs.module.mjs} +5 -5
- package/{esm2015/tags/index.js → esm2020/tags/index.mjs} +0 -0
- package/{esm2015/tags/ptsecurity-mosaic-tags.js → esm2020/tags/ptsecurity-mosaic-tags.mjs} +0 -0
- package/{esm2015/tags/public-api.js → esm2020/tags/public-api.mjs} +0 -0
- package/{esm2015/tags/tag-default-options.js → esm2020/tags/tag-default-options.mjs} +0 -0
- package/{esm2015/tags/tag-input.js → esm2020/tags/tag-input.mjs} +4 -4
- package/esm2020/tags/tag-list.component.mjs +722 -0
- package/{esm2015/tags/tag-text-control.js → esm2020/tags/tag-text-control.mjs} +0 -0
- package/esm2020/tags/tag.component.mjs +374 -0
- package/{esm2015/tags/tag.module.js → esm2020/tags/tag.module.mjs} +5 -5
- package/{esm2015/textarea/index.js → esm2020/textarea/index.mjs} +0 -0
- package/{esm2015/textarea/ptsecurity-mosaic-textarea.js → esm2020/textarea/ptsecurity-mosaic-textarea.mjs} +0 -0
- package/{esm2015/textarea/public-api.js → esm2020/textarea/public-api.mjs} +0 -0
- package/{esm2015/textarea/textarea.component.js → esm2020/textarea/textarea.component.mjs} +4 -4
- package/{esm2015/textarea/textarea.module.js → esm2020/textarea/textarea.module.mjs} +5 -5
- package/{esm2015/timepicker/index.js → esm2020/timepicker/index.mjs} +0 -0
- package/{esm2015/timepicker/ptsecurity-mosaic-timepicker.js → esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs} +0 -0
- package/{esm2015/timepicker/public-api.js → esm2020/timepicker/public-api.mjs} +0 -0
- package/{esm2015/timepicker/timepicker.constants.js → esm2020/timepicker/timepicker.constants.mjs} +0 -0
- package/esm2020/timepicker/timepicker.directive.mjs +653 -0
- package/{esm2015/timepicker/timepicker.module.js → esm2020/timepicker/timepicker.module.mjs} +5 -5
- package/{esm2015/toggle/index.js → esm2020/toggle/index.mjs} +0 -0
- package/{esm2015/toggle/ptsecurity-mosaic-toggle.js → esm2020/toggle/ptsecurity-mosaic-toggle.mjs} +0 -0
- package/{esm2015/toggle/public-api.js → esm2020/toggle/public-api.mjs} +0 -0
- package/esm2020/toggle/toggle.component.mjs +158 -0
- package/{esm2015/toggle/toggle.module.js → esm2020/toggle/toggle.module.mjs} +5 -5
- package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
- package/{esm2015/tooltip/ptsecurity-mosaic-tooltip.js → esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs} +0 -0
- package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
- package/{esm2015/tooltip/tooltip.animations.js → esm2020/tooltip/tooltip.animations.mjs} +0 -0
- package/esm2020/tooltip/tooltip.component.mjs +291 -0
- package/{esm2015/tooltip/tooltip.module.js → esm2020/tooltip/tooltip.module.mjs} +5 -5
- package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +0 -0
- package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +0 -0
- package/{esm2015/tree/control/nested-tree-control.js → esm2020/tree/control/nested-tree-control.mjs} +0 -0
- package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
- package/{esm2015/tree/data-source/flat-data-source.js → esm2020/tree/data-source/flat-data-source.mjs} +0 -0
- package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
- package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
- package/{esm2015/tree/node.js → esm2020/tree/node.mjs} +4 -4
- package/{esm2015/tree/outlet.js → esm2020/tree/outlet.mjs} +4 -4
- package/esm2020/tree/padding.directive.mjs +110 -0
- package/{esm2015/tree/ptsecurity-mosaic-tree.js → esm2020/tree/ptsecurity-mosaic-tree.mjs} +0 -0
- package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
- package/esm2020/tree/toggle.mjs +80 -0
- package/{esm2015/tree/tree-base.js → esm2020/tree/tree-base.mjs} +7 -7
- package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
- package/esm2020/tree/tree-option.component.mjs +226 -0
- package/esm2020/tree/tree-selection.component.mjs +530 -0
- package/esm2020/tree/tree.mjs +15 -0
- package/esm2020/tree/tree.module.mjs +53 -0
- package/{esm2015/tree-select/index.js → esm2020/tree-select/index.mjs} +0 -0
- package/{esm2015/tree-select/ptsecurity-mosaic-tree-select.js → esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs} +0 -0
- package/{esm2015/tree-select/public-api.js → esm2020/tree-select/public-api.mjs} +0 -0
- package/esm2020/tree-select/tree-select.component.mjs +889 -0
- package/{esm2015/tree-select/tree-select.module.js → esm2020/tree-select/tree-select.module.mjs} +5 -5
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +756 -0
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +385 -0
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-button.mjs +170 -0
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-card.js → ptsecurity-mosaic-card.mjs} +10 -18
- package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +366 -0
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-core.js → ptsecurity-mosaic-core.mjs} +186 -241
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2700 -0
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-design-tokens.js → ptsecurity-mosaic-design-tokens.mjs} +13 -11
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-divider.mjs +61 -0
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1106 -0
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +378 -0
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-icon.mjs +88 -0
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-input.mjs +609 -0
- package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-link.js → ptsecurity-mosaic-link.mjs} +8 -8
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-list.mjs +796 -0
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-modal.mjs +842 -0
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +1025 -0
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-popover.mjs +393 -0
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-progress-bar.js → ptsecurity-mosaic-progress-bar.mjs} +10 -18
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +80 -0
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-radio.mjs +481 -0
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-select.mjs +1175 -0
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-sidebar.js → ptsecurity-mosaic-sidebar.mjs} +16 -25
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +592 -0
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-splitter.mjs +524 -0
- package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-table.js → ptsecurity-mosaic-table.mjs} +8 -8
- package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +1511 -0
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tags.mjs +1372 -0
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +293 -0
- package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +715 -0
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic-toggle.js → ptsecurity-mosaic-toggle.mjs} +12 -23
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +362 -0
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +932 -0
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tree.mjs +1707 -0
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -0
- package/fesm2015/{ptsecurity-mosaic.js → ptsecurity-mosaic.mjs} +1 -1
- package/fesm2015/ptsecurity-mosaic.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-autocomplete.js → fesm2020/ptsecurity-mosaic-autocomplete.mjs} +17 -26
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-button-toggle.js → fesm2020/ptsecurity-mosaic-button-toggle.mjs} +15 -23
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-button.mjs +170 -0
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-card.mjs +113 -0
- package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-checkbox.js → fesm2020/ptsecurity-mosaic-checkbox.mjs} +13 -23
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-core.mjs +2688 -0
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-datepicker.js → fesm2020/ptsecurity-mosaic-datepicker.mjs} +77 -121
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +939 -0
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-divider.mjs +61 -0
- package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-dropdown.js → fesm2020/ptsecurity-mosaic-dropdown.mjs} +45 -53
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +377 -0
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-icon.mjs +86 -0
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-input.js → fesm2020/ptsecurity-mosaic-input.mjs} +41 -27
- package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-link.mjs +136 -0
- package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-list.js → fesm2020/ptsecurity-mosaic-list.mjs} +41 -70
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-modal.js → fesm2020/ptsecurity-mosaic-modal.mjs} +63 -59
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +1009 -0
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-popover.mjs +389 -0
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +76 -0
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +80 -0
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-radio.js → fesm2020/ptsecurity-mosaic-radio.mjs} +13 -22
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-select.js → fesm2020/ptsecurity-mosaic-select.mjs} +23 -35
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs +202 -0
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-sidepanel.js → fesm2020/ptsecurity-mosaic-sidepanel.mjs} +57 -53
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +524 -0
- package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-table.mjs +50 -0
- package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-tabs.js → fesm2020/ptsecurity-mosaic-tabs.mjs} +65 -102
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-tags.js → fesm2020/ptsecurity-mosaic-tags.mjs} +29 -47
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-textarea.js → fesm2020/ptsecurity-mosaic-textarea.mjs} +8 -8
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-timepicker.js → fesm2020/ptsecurity-mosaic-timepicker.mjs} +16 -15
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +180 -0
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +354 -0
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-tree-select.js → fesm2020/ptsecurity-mosaic-tree-select.mjs} +16 -27
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -0
- package/{fesm2015/ptsecurity-mosaic-tree.js → fesm2020/ptsecurity-mosaic-tree.mjs} +61 -108
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic.mjs +4 -0
- package/fesm2020/ptsecurity-mosaic.mjs.map +1 -0
- package/form-field/README.md +0 -0
- package/form-field/cleaner.d.ts +2 -0
- package/form-field/package.json +5 -5
- package/icon/README.md +0 -0
- package/icon/package.json +5 -5
- package/input/input-number-validators.d.ts +2 -2
- package/input/package.json +5 -5
- package/link/README.md +0 -0
- package/link/package.json +5 -5
- package/list/README.md +0 -0
- package/list/package.json +5 -5
- package/modal/README.md +34 -0
- package/modal/modal.component.d.ts +2 -0
- package/modal/modal.module.d.ts +1 -1
- package/modal/package.json +5 -5
- package/navbar/README.md +41 -0
- package/navbar/navbar-item.component.d.ts +122 -34
- package/navbar/navbar.component.d.ts +37 -9
- package/navbar/navbar.module.d.ts +2 -1
- package/navbar/package.json +5 -5
- package/navbar/vertical-navbar.component.d.ts +15 -26
- package/package.json +299 -14
- package/popover/README.md +32 -0
- package/popover/package.json +5 -5
- package/popover/popover-confirm.component.d.ts +33 -0
- package/popover/popover.component.d.ts +14 -4
- package/popover/popover.module.d.ts +6 -3
- package/popover/public-api.d.ts +1 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -1
- package/progress-bar/README.md +0 -0
- package/progress-bar/package.json +5 -5
- package/progress-spinner/README.md +0 -0
- package/progress-spinner/package.json +5 -5
- package/radio/package.json +5 -5
- package/schematics/README.md +35 -0
- package/schematics/ng-update/data/index.d.ts +1 -0
- package/schematics/ng-update/data/index.js +10 -9
- package/schematics/ng-update/data/index.js.map +1 -1
- package/schematics/ng-update/data/symbol-removal.d.ts +2 -0
- package/schematics/ng-update/data/symbol-removal.js +5 -0
- package/schematics/ng-update/data/symbol-removal.js.map +1 -0
- package/schematics/ng-update/index.js +3 -3
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +1 -2
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
- package/schematics/ng-update/upgrade-data.js +2 -1
- package/schematics/ng-update/upgrade-data.js.map +1 -1
- package/schematics/tsconfig.lib.json +2 -2
- package/select/README.md +0 -0
- package/select/package.json +5 -5
- package/select/select.component.d.ts +2 -7
- package/sidebar/package.json +5 -5
- package/sidepanel/package.json +5 -5
- package/sidepanel/sidepanel-directives.d.ts +2 -0
- package/sidepanel/sidepanel.module.d.ts +2 -1
- package/splitter/package.json +5 -5
- package/splitter/splitter.component.d.ts +46 -5
- package/splitter/splitter.module.d.ts +1 -1
- package/table/README.md +0 -0
- package/table/package.json +5 -5
- package/tabs/README.md +0 -0
- package/tabs/package.json +5 -5
- package/tags/README.md +0 -0
- package/tags/package.json +5 -5
- package/textarea/README.md +0 -0
- package/textarea/package.json +5 -5
- package/timepicker/README.md +0 -0
- package/timepicker/package.json +5 -5
- package/toggle/package.json +5 -5
- package/tooltip/package.json +5 -5
- package/tooltip/tooltip.component.d.ts +12 -3
- package/tree/package.json +5 -5
- package/tree/padding.directive.d.ts +1 -1
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-selection.component.d.ts +2 -2
- package/tree/tree.module.d.ts +1 -1
- package/tree-select/README.md +0 -0
- package/tree-select/package.json +5 -5
- package/tree-select/tree-select.component.d.ts +2 -7
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js +0 -1162
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js +0 -757
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button.umd.js +0 -535
- package/bundles/ptsecurity-mosaic-button.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-card.umd.js +0 -481
- package/bundles/ptsecurity-mosaic-card.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.js +0 -764
- package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-core.umd.js +0 -2887
- package/bundles/ptsecurity-mosaic-core.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +0 -3357
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js +0 -1872
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-divider.umd.js +0 -108
- package/bundles/ptsecurity-mosaic-divider.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.js +0 -1519
- package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +0 -789
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-icon.umd.js +0 -452
- package/bundles/ptsecurity-mosaic-icon.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-input.umd.js +0 -996
- package/bundles/ptsecurity-mosaic-input.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-link.umd.js +0 -517
- package/bundles/ptsecurity-mosaic-link.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +0 -1250
- package/bundles/ptsecurity-mosaic-list.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-modal.umd.js +0 -1304
- package/bundles/ptsecurity-mosaic-modal.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.js +0 -932
- package/bundles/ptsecurity-mosaic-navbar.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +0 -655
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js +0 -442
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +0 -450
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-radio.umd.js +0 -903
- package/bundles/ptsecurity-mosaic-radio.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-select.umd.js +0 -1608
- package/bundles/ptsecurity-mosaic-select.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.js +0 -256
- package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js +0 -950
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +0 -438
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-table.umd.js +0 -83
- package/bundles/ptsecurity-mosaic-table.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.js +0 -2015
- package/bundles/ptsecurity-mosaic-tabs.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +0 -1913
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.js +0 -666
- package/bundles/ptsecurity-mosaic-textarea.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.js +0 -822
- package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.js +0 -559
- package/bundles/ptsecurity-mosaic-toggle.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.js +0 -728
- package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +0 -1370
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +0 -2309
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +0 -1
- package/bundles/ptsecurity-mosaic.umd.js +0 -11
- package/bundles/ptsecurity-mosaic.umd.js.map +0 -1
- package/esm2015/autocomplete/autocomplete.component.js +0 -163
- package/esm2015/button/button.component.js +0 -129
- package/esm2015/button/button.module.js +0 -42
- package/esm2015/button-toggle/button-toggle.component.js +0 -370
- package/esm2015/card/card.component.js +0 -88
- package/esm2015/checkbox/checkbox.js +0 -325
- package/esm2015/core/formatters/date/formatter.js +0 -287
- package/esm2015/core/formatters/date/templates/en-US.js +0 -280
- package/esm2015/core/formatters/date/templates/ru-RU.js +0 -280
- package/esm2015/core/formatters/number/formatter.js +0 -99
- package/esm2015/core/option/action.js +0 -131
- package/esm2015/core/option/optgroup.js +0 -40
- package/esm2015/core/option/option.js +0 -262
- package/esm2015/core/pop-up/pop-up-trigger.js +0 -273
- package/esm2015/core/pop-up/pop-up.js +0 -87
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -45
- package/esm2015/datepicker/calendar-body.component.js +0 -114
- package/esm2015/datepicker/calendar.component.js +0 -377
- package/esm2015/datepicker/datepicker-input.directive.js +0 -885
- package/esm2015/datepicker/datepicker-toggle.component.js +0 -94
- package/esm2015/datepicker/datepicker.component.js +0 -418
- package/esm2015/dropdown/dropdown-item.component.js +0 -142
- package/esm2015/dropdown/dropdown-trigger.directive.js +0 -478
- package/esm2015/dropdown/dropdown.component.js +0 -302
- package/esm2015/form-field/cleaner.js +0 -19
- package/esm2015/form-field/form-field.js +0 -224
- package/esm2015/icon/icon.component.js +0 -51
- package/esm2015/input/input-number-validators.js +0 -78
- package/esm2015/link/link.component.js +0 -108
- package/esm2015/list/list-selection.component.js +0 -708
- package/esm2015/list/list.component.js +0 -58
- package/esm2015/modal/modal.component.js +0 -506
- package/esm2015/modal/modal.module.js +0 -70
- package/esm2015/modal/modal.service.js +0 -117
- package/esm2015/navbar/navbar-item.component.js +0 -209
- package/esm2015/navbar/navbar.component.js +0 -118
- package/esm2015/navbar/navbar.module.js +0 -76
- package/esm2015/navbar/vertical-navbar.component.js +0 -140
- package/esm2015/popover/popover.component.js +0 -219
- package/esm2015/popover/popover.module.js +0 -21
- package/esm2015/progress-bar/progress-bar.component.js +0 -50
- package/esm2015/progress-spinner/progress-spinner.component.js +0 -54
- package/esm2015/radio/radio.component.js +0 -467
- package/esm2015/select/select.component.js +0 -1122
- package/esm2015/sidebar/sidebar.component.js +0 -155
- package/esm2015/sidepanel/sidepanel-container.component.js +0 -113
- package/esm2015/sidepanel/sidepanel-directives.js +0 -155
- package/esm2015/sidepanel/sidepanel.module.js +0 -70
- package/esm2015/sidepanel/sidepanel.service.js +0 -163
- package/esm2015/splitter/splitter.component.js +0 -331
- package/esm2015/splitter/splitter.module.js +0 -38
- package/esm2015/tabs/paginated-tab-header.js +0 -482
- package/esm2015/tabs/tab-body.component.js +0 -186
- package/esm2015/tabs/tab-group.component.js +0 -359
- package/esm2015/tabs/tab-header.component.js +0 -76
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -118
- package/esm2015/tags/tag-list.component.js +0 -732
- package/esm2015/tags/tag.component.js +0 -382
- package/esm2015/timepicker/timepicker.directive.js +0 -652
- package/esm2015/toggle/toggle.component.js +0 -169
- package/esm2015/tooltip/tooltip.component.js +0 -260
- package/esm2015/tree/padding.directive.js +0 -114
- package/esm2015/tree/toggle.js +0 -89
- package/esm2015/tree/tree-option.component.js +0 -238
- package/esm2015/tree/tree-selection.component.js +0 -541
- package/esm2015/tree/tree.js +0 -23
- package/esm2015/tree/tree.module.js +0 -56
- package/esm2015/tree-select/tree-select.component.js +0 -900
- package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-button.js +0 -174
- package/fesm2015/ptsecurity-mosaic-button.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-card.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-core.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-divider.js +0 -68
- package/fesm2015/ptsecurity-mosaic-divider.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +0 -393
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-icon.js +0 -93
- package/fesm2015/ptsecurity-mosaic-icon.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-input.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-link.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-list.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-modal.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-navbar.js +0 -539
- package/fesm2015/ptsecurity-mosaic-navbar.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +0 -257
- package/fesm2015/ptsecurity-mosaic-popover.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js +0 -88
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-radio.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-select.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +0 -373
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-table.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tabs.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tags.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-textarea.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-toggle.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.js +0 -323
- package/fesm2015/ptsecurity-mosaic-tooltip.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tree.js.map +0 -1
- package/fesm2015/ptsecurity-mosaic.js.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-tree.umd.js","sources":["../../../packages/mosaic/tree/node.ts","../../../packages/mosaic/tree/outlet.ts","../../../packages/mosaic/tree/tree-errors.ts","../../../packages/mosaic/tree/tree-base.ts","../../../packages/mosaic/tree/padding.directive.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/tree/toggle.ts","../../../packages/mosaic/tree/tree.ts","../../../packages/mosaic/tree/tree-option.component.ts","../../../packages/mosaic/tree/tree-option.html","../../../packages/mosaic/tree/tree-selection.component.ts","../../../packages/mosaic/tree/tree.module.ts","../../../packages/mosaic/tree/control/base-tree-control.ts","../../../packages/mosaic/tree/control/flat-tree-control.ts","../../../packages/mosaic/tree/control/nested-tree-control.ts","../../../packages/mosaic/tree/data-source/flat-data-source.ts","../../../packages/mosaic/tree/data-source/nested-data-source.ts","../../../packages/mosaic/tree/ptsecurity-mosaic-tree.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\n\n\n/** Context provided to the tree node component. */\nexport class McTreeNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Depth of the node. */\n level: number;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n/**\n * Data node definition for the McTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[mcTreeNodeDef]',\n inputs: ['when: mcTreeNodeDefWhen']\n})\nexport class McTreeNodeDef<T> {\n @Input('mcTreeNode') data: T;\n\n /**\n * Function that should return true if this node template should be used for the provided node\n * data and index. If left undefined, this node will be considered the default node template to\n * use when no other when functions return true for the data.\n * For every node, there must be at least one when function that passes or an undefined to\n * default.\n */\n when: (index: number, nodeData: T) => boolean;\n\n /** @docs-private */\n constructor(public template: TemplateRef<any>) {}\n}\n","import { ChangeDetectorRef, Directive, ViewContainerRef } from '@angular/core';\n\n\n@Directive({ selector: '[mcTreeNodeOutlet]' })\nexport class McTreeNodeOutlet {\n constructor(public viewContainer: ViewContainerRef, public changeDetectorRef: ChangeDetectorRef) {}\n}\n","/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nexport function getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nexport function getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nexport function getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nexport function getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nexport function getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n ChangeDetectorRef,\n ContentChildren,\n ElementRef,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewContainerRef,\n TrackByFunction,\n Inject,\n forwardRef, Directive\n} from '@angular/core';\nimport { IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport { BehaviorSubject, Observable, of as observableOf, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TreeControl } from './control/tree-control';\nimport { McTreeNodeDef, McTreeNodeOutletContext } from './node';\nimport { McTreeNodeOutlet } from './outlet';\nimport {\n getTreeControlMissingError,\n getTreeMissingMatchingNodeDefError,\n getTreeMultipleDefaultNodeDefsError,\n getTreeNoValidDataSourceError\n} from './tree-errors';\n\n\n@Directive()\nexport class McTreeBase<T> implements AfterContentChecked, CollectionViewer, OnDestroy, OnInit {\n @Input() treeControl: TreeControl<T>;\n\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize node operations by identifying a node based on its data\n * relative to the function to know if a node should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n @Input() trackBy: TrackByFunction<T>;\n\n // Outlets within the tree's template where the dataNodes will be inserted.\n @ViewChild(McTreeNodeOutlet, { static: true }) nodeOutlet: McTreeNodeOutlet;\n\n /** The tree node template for the tree */\n @ContentChildren(McTreeNodeDef) nodeDefs: QueryList<McTreeNodeDef<T>>;\n\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n viewChange = new BehaviorSubject<{ start: number; end: number }>({ start: 0, end: Number.MAX_VALUE });\n\n /** Differ used to find the changes in the data provided by the data source. */\n protected dataDiffer: IterableDiffer<T>;\n\n /** Subject that emits when the component has been destroyed. */\n private onDestroy = new Subject<void>();\n\n /** Stores the node definition that does not have a when predicate. */\n private defaultNodeDef: McTreeNodeDef<T> | null;\n\n /** Data subscription */\n private dataSubscription: Subscription | null;\n\n /** Level of nodes */\n private levels: Map<T, number> = new Map<T, number>();\n\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a dara array to render.\n */\n @Input()\n get dataSource(): DataSource<T> | Observable<T[]> | T[] {\n return this._dataSource;\n }\n\n set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n if (this._dataSource !== dataSource) {\n this.switchDataSource(dataSource);\n }\n }\n\n private _dataSource: DataSource<T> | Observable<T[]> | T[];\n\n constructor(protected differs: IterableDiffers, protected changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.dataDiffer = this.differs.find([]).create(this.trackBy);\n\n if (!this.treeControl) {\n throw getTreeControlMissingError();\n }\n }\n\n ngOnDestroy() {\n this.nodeOutlet.viewContainer.clear();\n\n this.onDestroy.next();\n this.onDestroy.complete();\n\n // tslint:disable-next-line:no-unbound-method\n if (this._dataSource && typeof (this.dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this.dataSubscription) {\n this.dataSubscription.unsubscribe();\n this.dataSubscription = null;\n }\n }\n\n ngAfterContentChecked() {\n const defaultNodeDefs = this.nodeDefs.filter((def) => !def.when);\n\n if (defaultNodeDefs.length > 1) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this.defaultNodeDef = defaultNodeDefs[0];\n\n if (this.dataSource && this.nodeDefs && !this.dataSubscription) {\n this.observeRenderChanges();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(\n data: T[] | ReadonlyArray<T>,\n dataDiffer: IterableDiffer<T> = this.dataDiffer,\n viewContainer: ViewContainerRef = this.nodeOutlet.viewContainer,\n parentData?: T\n ) {\n const changes = dataDiffer.diff(data);\n\n if (!changes) { return; }\n\n changes.forEachOperation((\n item: IterableChangeRecord<T>,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null\n ) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex!], currentIndex!, viewContainer, parentData);\n } else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex!);\n this.levels.delete(item.item);\n } else {\n const view = viewContainer.get(adjustedPreviousIndex!);\n viewContainer.move(view!, currentIndex);\n }\n });\n\n this.changeDetectorRef.detectChanges();\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n getNodeDef(data: T, i: number): McTreeNodeDef<T> {\n if (this.nodeDefs.length === 1) { return this.nodeDefs.first; }\n\n const nodeDef = this.nodeDefs.find((def) => def.when && def.when(i, data)) || this.defaultNodeDef;\n\n if (!nodeDef) { throw getTreeMissingMatchingNodeDefError(); }\n\n return nodeDef;\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData: T, index: number, viewContainer?: ViewContainerRef, parentData?: T) {\n const node = this.getNodeDef(nodeData, index);\n\n // Node context that will be provided to created embedded view\n const context = new McTreeNodeOutletContext<T>(nodeData);\n\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n /* tslint:disable-next-line:no-typeof-undefined */\n } else if (typeof parentData !== 'undefined' && this.levels.has(parentData)) {\n context.level = this.levels.get(parentData)! + 1;\n } else {\n context.level = 0;\n }\n\n this.levels.set(nodeData, context.level);\n\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this.nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n\n // Set the data to just created `McTreeNode`.\n // The `McTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (McTreeNode.mostRecentTreeNode) {\n McTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n\n /** Set up a subscription for the data provided by the data source. */\n private observeRenderChanges() {\n let dataStream: Observable<T[] | ReadonlyArray<T>> | undefined;\n\n // Cannot use `instanceof DataSource` since the data source could be a literal with\n // `connect` function and may not extends DataSource.\n // tslint:disable-next-line:no-unbound-method\n if (typeof (this._dataSource as DataSource<T>).connect === 'function') {\n dataStream = (this._dataSource as DataSource<T>).connect(this);\n } else if (this._dataSource instanceof Observable) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream) {\n this.dataSubscription = dataStream\n .pipe(takeUntil(this.onDestroy))\n .subscribe((data) => this.renderNodeChanges(data));\n } else {\n throw getTreeNoValidDataSourceError();\n }\n }\n\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n private switchDataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n // tslint:disable-next-line:no-unbound-method\n if (this._dataSource && typeof (this._dataSource as DataSource<T>).disconnect === 'function') {\n (this.dataSource as DataSource<T>).disconnect(this);\n }\n\n if (this.dataSubscription) {\n this.dataSubscription.unsubscribe();\n this.dataSubscription = null;\n }\n\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) { this.nodeOutlet.viewContainer.clear(); }\n\n this._dataSource = dataSource;\n\n if (this.nodeDefs) { this.observeRenderChanges(); }\n }\n}\n\n\n@Directive({\n selector: 'mc-tree-node',\n exportAs: 'mcTreeNode'\n})\nexport class McTreeNode<T> implements IFocusableOption, OnDestroy {\n /**\n * The most recently created `McTreeNode`. We save it in static variable so we can retrieve it\n * in `McTree` and set the data to it.\n */\n static mostRecentTreeNode: McTreeNode<any> | null = null;\n\n protected destroyed = new Subject<void>();\n\n get data(): T {\n return this._data;\n }\n\n set data(value: T) {\n this._data = value;\n }\n\n private _data: T;\n\n get isExpanded(): boolean {\n return this.tree.treeControl.isExpanded(this.data);\n }\n\n get level(): number {\n return this.tree.treeControl.getLevel ? this.tree.treeControl.getLevel(this._data) : 0;\n }\n\n constructor(\n protected elementRef: ElementRef,\n @Inject(forwardRef(() => McTreeBase)) public tree: McTreeBase<T>\n ) {\n McTreeNode.mostRecentTreeNode = this;\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2\n} from '@angular/core';\nimport { TreeSizePaddingLeft } from '@ptsecurity/mosaic/design-tokens';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { McTreeBase, McTreeNode } from './tree-base';\n\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n\n\n@Directive({\n selector: '[mcTreeNodePadding]',\n exportAs: 'mcTreeNodePadding'\n})\nexport class McTreeNodePadding<T> implements OnInit, OnDestroy {\n @Input('mcTreeNodePadding')\n get level(): number {\n return this._level;\n }\n\n set level(value: number) {\n this.setLevelInput(value);\n }\n\n private _level: number;\n\n @Input('mcTreeNodePaddingIndent')\n get indent(): number | string {\n return this._indent;\n }\n\n set indent(indent: number | string) {\n this.setIndentInput(indent);\n }\n\n private _indent: number = 20;\n\n get leftPadding(): number {\n return (this.withIcon ? 0 : this.iconWidth) + this.baseLeftPadding;\n }\n\n /** CSS units used for the indentation value. */\n indentUnits = 'px';\n\n baseLeftPadding: number = parseInt(TreeSizePaddingLeft);\n\n withIcon: boolean;\n iconWidth: number = 24;\n\n private destroyed = new Subject<void>();\n\n constructor(\n protected treeNode: McTreeNode<T>,\n protected tree: McTreeBase<T>,\n private renderer: Renderer2,\n private element: ElementRef<HTMLElement>,\n @Optional() private dir: Directionality\n ) {\n this.dir?.change?.pipe(takeUntil(this.destroyed))\n .subscribe(() => this.setPadding());\n }\n\n ngOnInit(): void {\n this.withIcon = this.tree.treeControl.isExpandable(this.treeNode.data);\n\n this.setPadding();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n paddingIndent(): string | null {\n const nodeLevel = (this.treeNode.data && this.tree.treeControl.getLevel)\n ? this.tree.treeControl.getLevel(this.treeNode.data)\n : 0;\n\n const level = this.level || nodeLevel;\n\n return level > 0 ? `${(level * this._indent) + this.leftPadding}px` : `${this.leftPadding}px`;\n }\n\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n private setLevelInput(value: number) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `mcTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coerceNumberProperty(value, null)!;\n this.setPadding();\n }\n\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n private setIndentInput(indent: number | string) {\n let value = indent;\n let units = 'px';\n\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n\n this.indentUnits = units;\n this._indent = coerceNumberProperty(value);\n this.setPadding();\n }\n\n private setPadding() {\n const padding = this.paddingIndent();\n const paddingProp = this.dir?.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n\n this.renderer.setStyle(this.element.nativeElement, paddingProp, padding);\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';\nimport { CanDisable, CanDisableCtor, mixinDisabled } from '@ptsecurity/mosaic/core';\nimport { map } from 'rxjs/operators';\n\nimport { McTreeBase, McTreeNode } from './tree-base';\n\n\nexport class McTreeNodeToggleBase {}\n\n\n// tslint:disable-next-line:naming-convention\nexport const McTreeNodeToggleMixinBase:\n CanDisableCtor & typeof McTreeNodeToggleBase = mixinDisabled(McTreeNodeToggleBase);\n\n/** @docs-private */\n@Directive()\nexport class McTreeNodeToggleBaseDirective<T> extends McTreeNodeToggleMixinBase implements CanDisable {\n @Input() node: T;\n\n @Input('mcTreeNodeToggleRecursive')\n get recursive(): boolean {\n return this._recursive;\n }\n\n set recursive(value: any) {\n this._recursive = coerceBooleanProperty(value);\n }\n\n private _recursive = false;\n\n get iconState(): boolean {\n return this.tree.treeControl.isExpanded(this.node);\n }\n\n constructor(private tree: McTreeBase<T>, private treeNode: McTreeNode<T>) {\n super();\n\n this.tree.treeControl.filterValue\n .pipe(map((value) => value?.length > 0))\n .subscribe((state: boolean) => this.disabled = state);\n }\n\n toggle(event: Event): void {\n if (this.disabled) { return; }\n\n this.recursive\n ? this.tree.treeControl.toggleDescendants(this.treeNode.data)\n : this.tree.treeControl.toggle(this.treeNode.data);\n\n event.stopPropagation();\n }\n}\n\n\n@Component({\n selector: 'mc-tree-node-toggle',\n exportAs: 'mcTreeNodeToggle',\n template: `<i class=\"mc mc-icon mc-angle-down-S_16\"></i>`,\n styleUrls: ['./toggle.scss'],\n host: {\n class: 'mc-tree-node-toggle',\n '[class.mc-opened]': 'iconState',\n\n '[attr.disabled]': 'disabled || null',\n\n '(click)': 'toggle($event)'\n },\n inputs: ['disabled'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McTreeNodeToggleComponent<T> extends McTreeNodeToggleBaseDirective<T> {}\n\n\n@Directive({\n selector: '[mcTreeNodeToggle]',\n exportAs: 'mcTreeNodeToggle',\n host: {\n '[attr.disabled]': 'disabled || null',\n '(click)': 'toggle($event)'\n }\n})\nexport class McTreeNodeToggleDirective<T> extends McTreeNodeToggleBaseDirective<T> {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { McTreeBase } from './tree-base';\n\n\n@Component({\n selector: 'mc-tree',\n exportAs: 'mcTree',\n template: `<ng-container mcTreeNodeOutlet></ng-container>`,\n styleUrls: ['./tree.scss'],\n host: {\n class: 'mc-tree'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McTree extends McTreeBase<any> {}\n","import { FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n ElementRef,\n Inject,\n InjectionToken,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n NgZone,\n ContentChild\n} from '@angular/core';\nimport { hasModifierKey, TAB } from '@ptsecurity/cdk/keycodes';\nimport {\n MC_OPTION_ACTION_PARENT,\n McOptionActionComponent\n} from '@ptsecurity/mosaic/core';\nimport { McDropdownTrigger } from '@ptsecurity/mosaic/dropdown';\nimport { McTooltipTrigger } from '@ptsecurity/mosaic/tooltip';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { McTreeNodeToggleBaseDirective } from './toggle';\nimport { McTreeNode } from './tree-base';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McTreeOptionEvent {\n option: McTreeOption;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MC_TREE_OPTION_PARENT_COMPONENT = new InjectionToken<any>('MC_TREE_OPTION_PARENT_COMPONENT');\n\nexport class McTreeOptionChange {\n constructor(public source: McTreeOption, public isUserInput = false) {}\n}\n\nlet uniqueIdCounter: number = 0;\n\n@Component({\n selector: 'mc-tree-option',\n exportAs: 'mcTreeOption',\n templateUrl: './tree-option.html',\n styleUrls: ['./tree-option.scss'],\n host: {\n class: 'mc-tree-option',\n '[class.mc-selected]': 'selected',\n '[class.mc-focused]': 'hasFocus',\n '[class.mc-action-button-focused]': 'actionButton?.active',\n\n '[attr.id]': 'id',\n '[attr.tabindex]': '-1',\n '[attr.disabled]': 'disabled || null',\n\n '(focusin)': 'focus()',\n '(blur)': 'blur()',\n\n '(click)': 'selectViaInteraction($event)',\n '(keydown)': 'onKeydown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: McTreeNode, useExisting: McTreeOption },\n { provide: MC_OPTION_ACTION_PARENT, useExisting: McTreeOption }\n ]\n})\nexport class McTreeOption extends McTreeNode<McTreeOption> implements AfterContentInit {\n readonly onFocus = new Subject<McTreeOptionEvent>();\n\n readonly onBlur = new Subject<McTreeOptionEvent>();\n\n @ContentChild('mcTreeNodeToggle') toggleElement: McTreeNodeToggleBaseDirective<McTreeOption>;\n\n @ContentChild(McOptionActionComponent) actionButton: McOptionActionComponent;\n @ContentChild(McTooltipTrigger) tooltipTrigger: McTooltipTrigger;\n @ContentChild(McDropdownTrigger) dropdownTrigger: McDropdownTrigger;\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n }\n\n private _value: any;\n\n @Input()\n get disabled() {\n return this._disabled || this.tree!.disabled;\n }\n\n set disabled(value: any) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n }\n }\n\n private _disabled: boolean = false;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox !== undefined ? this._showCheckbox : this.tree.showCheckbox;\n }\n\n set showCheckbox(value: any) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n @Output() readonly onSelectionChange = new EventEmitter<McTreeOptionChange>();\n\n get selected(): boolean {\n return this._selected;\n }\n\n set selected(value: boolean) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this.setSelected(isSelected);\n }\n }\n\n private _selected: boolean = false;\n\n get id(): string {\n return this._id;\n }\n\n private _id = `mc-tree-option-${uniqueIdCounter++}`;\n\n get viewValue(): string {\n // TODO: Add input property alternative for node envs.\n return (this.getHostElement().textContent || '').trim();\n }\n\n hasFocus: boolean = false;\n\n get isExpandable(): boolean {\n return !this.toggleElement?.disabled && this.tree.treeControl.isExpandable(this.data);\n }\n\n constructor(\n elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n private ngZone: NgZone,\n @Inject(MC_TREE_OPTION_PARENT_COMPONENT) public tree: any\n ) {\n super(elementRef, tree);\n }\n\n ngAfterContentInit(): void {\n this.value = this.tree.treeControl.getValue(this.data);\n }\n\n toggle(): void {\n this.selected = !this.selected;\n }\n\n setSelected(selected: boolean): void {\n if (this._selected === selected || !this.tree.selectionModel) { return; }\n\n this._selected = selected;\n\n if (selected) {\n this.tree.selectionModel.select(this.data);\n } else {\n this.tree.selectionModel.deselect(this.data);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n focus(focusOrigin?: FocusOrigin) {\n if (focusOrigin === 'program') { return; }\n\n if (this.disabled || this.hasFocus || this.actionButton?.hasFocus) { return; }\n\n this.elementRef.nativeElement.focus();\n\n this.onFocus.next({ option: this });\n\n Promise.resolve().then(() => {\n this.hasFocus = true;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the tree\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this.hasFocus = false;\n\n if (this.actionButton?.hasFocus) { return; }\n\n this.onBlur.next({ option: this });\n });\n });\n }\n\n getHeight(): number {\n const clientRects = this.elementRef.nativeElement.getClientRects();\n\n if (clientRects.length) {\n return clientRects[0].height;\n }\n\n return 0;\n }\n\n select(): void {\n if (this._selected) { return; }\n\n this._selected = true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n\n deselect(): void {\n if (!this._selected) { return; }\n\n this._selected = false;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeydown($event) {\n if (!this.actionButton) { return; }\n\n if ($event.keyCode === TAB && !$event.shiftKey && !this.actionButton.hasFocus) {\n this.actionButton.focus();\n\n $event.preventDefault();\n }\n }\n\n selectViaInteraction($event?: KeyboardEvent): void {\n if (this.disabled) { return; }\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent(true);\n\n const shiftKey = $event ? hasModifierKey($event, 'shiftKey') : false;\n const ctrlKey = $event ? hasModifierKey($event, 'ctrlKey') : false;\n\n this.tree.setSelectedOptionsByClick(this, shiftKey, ctrlKey);\n }\n\n emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new McTreeOptionChange(this, isUserInput));\n }\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n markForCheck() {\n this.changeDetectorRef.markForCheck();\n }\n}\n","<ng-content select=\"mc-tree-node-toggle\"></ng-content>\n\n<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<span class=\"mc-option-text mc-no-select\"><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n","/* tslint:disable:no-empty */\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n IterableDiffer,\n IterableDiffers,\n Optional,\n Output,\n QueryList,\n ViewChild, ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusKeyManager } from '@ptsecurity/cdk/a11y';\nimport {\n hasModifierKey,\n END,\n ENTER,\n HOME,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n SPACE,\n DOWN_ARROW,\n UP_ARROW,\n TAB,\n isCopy,\n isSelectAll, isVerticalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport {\n CanDisable,\n getMcSelectNonArrayValueError,\n HasTabIndex,\n MultipleMode\n} from '@ptsecurity/mosaic/core';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nimport { FlatTreeControl } from './control/flat-tree-control';\nimport { McTreeNodeOutlet } from './outlet';\nimport { McTreeBase } from './tree-base';\nimport { MC_TREE_OPTION_PARENT_COMPONENT, McTreeOption, McTreeOptionEvent } from './tree-option.component';\n\n\nexport const MC_SELECTION_TREE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McTreeSelection),\n multi: true\n};\n\nexport class McTreeSelectAllEvent<T> {\n constructor(public source: McTreeSelection, public options: T[]) {}\n}\n\nexport class McTreeCopyEvent<T> {\n constructor(public source: McTreeSelection, public option: T) {}\n}\n\nexport class McTreeNavigationChange<T> {\n constructor(public source: McTreeSelection, public option: T) {}\n}\n\nexport class McTreeSelectionChange<T> {\n constructor(public source: McTreeSelection, public option: T) {}\n}\n\n// tslint:disable-next-line:naming-convention\ninterface SelectionModelOption {\n id: number | string;\n value: string;\n}\n\n\n@Component({\n selector: 'mc-tree-selection',\n exportAs: 'mcTreeSelection',\n template: '<ng-container mcTreeNodeOutlet></ng-container>',\n styleUrls: ['./tree-selection.scss'],\n host: {\n class: 'mc-tree-selection',\n\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n '(blur)': 'blur()',\n '(focus)': 'focus($event)',\n\n '(keydown)': 'onKeyDown($event)',\n '(window:resize)': 'updateScrollSize()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MC_SELECTION_TREE_VALUE_ACCESSOR,\n { provide: MC_TREE_OPTION_PARENT_COMPONENT, useExisting: McTreeSelection },\n { provide: McTreeBase, useExisting: McTreeSelection }\n ]\n})\nexport class McTreeSelection extends McTreeBase<McTreeOption>\n implements ControlValueAccessor, AfterContentInit, CanDisable, HasTabIndex {\n\n renderedOptions = new QueryList<McTreeOption>();\n\n keyManager: FocusKeyManager<McTreeOption>;\n\n selectionModel: SelectionModel<SelectionModelOption>;\n\n resetFocusedItemOnBlur: boolean = true;\n\n multipleMode: MultipleMode | null = null;\n\n userTabIndex: number | null = null;\n\n @ViewChild(McTreeNodeOutlet, { static: true }) nodeOutlet: McTreeNodeOutlet;\n\n @ContentChildren(McTreeOption) unorderedOptions: QueryList<McTreeOption>;\n\n @Input() treeControl: FlatTreeControl<McTreeOption>;\n\n @Output() readonly navigationChange = new EventEmitter<McTreeNavigationChange<McTreeOption>>();\n\n @Output() readonly selectionChange = new EventEmitter<McTreeSelectionChange<McTreeOption>>();\n\n @Output() readonly onSelectAll = new EventEmitter<McTreeSelectAllEvent<McTreeOption>>();\n\n @Output() readonly onCopy = new EventEmitter<McTreeCopyEvent<McTreeOption>>();\n\n private sortedNodes: McTreeOption[] = [];\n\n @Input()\n get autoSelect(): boolean {\n return this._autoSelect;\n }\n\n set autoSelect(value: boolean) {\n this._autoSelect = coerceBooleanProperty(value);\n }\n\n private _autoSelect: boolean = true;\n\n get optionFocusChanges(): Observable<McTreeOptionEvent> {\n return merge(...this.renderedOptions.map((option) => option.onFocus));\n }\n\n get optionBlurChanges(): Observable<McTreeOptionEvent> {\n return merge(...this.renderedOptions.map((option) => option.onBlur));\n }\n\n get multiple(): boolean {\n return !!this.multipleMode;\n }\n\n @Input()\n get noUnselectLast(): boolean {\n return this._noUnselectLast;\n }\n\n set noUnselectLast(value: boolean) {\n this._noUnselectLast = coerceBooleanProperty(value);\n }\n\n private _noUnselectLast: boolean = true;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(rawValue: boolean) {\n const value = coerceBooleanProperty(rawValue);\n\n if (this._disabled !== value) {\n this._disabled = value;\n\n this.markOptionsForCheck();\n }\n }\n\n private _disabled: boolean = false;\n\n @Input()\n get tabIndex(): any {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n this.userTabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get showCheckbox(): boolean {\n return this.multipleMode === MultipleMode.CHECKBOX;\n }\n\n private readonly destroy = new Subject<void>();\n\n private optionFocusSubscription: Subscription | null;\n\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n private elementRef: ElementRef,\n differs: IterableDiffers,\n changeDetectorRef: ChangeDetectorRef,\n @Attribute('multiple') multiple: MultipleMode,\n @Optional() private clipboard: Clipboard\n ) {\n super(differs, changeDetectorRef);\n\n if (multiple === MultipleMode.CHECKBOX || multiple === MultipleMode.KEYBOARD) {\n this.multipleMode = multiple;\n } else if (multiple !== null) {\n this.multipleMode = MultipleMode.CHECKBOX;\n }\n\n if (this.multipleMode === MultipleMode.CHECKBOX) {\n this.autoSelect = false;\n this.noUnselectLast = false;\n }\n\n this.selectionModel = new SelectionModel<SelectionModelOption>(this.multiple);\n }\n\n ngAfterContentInit(): void {\n this.unorderedOptions.changes\n .subscribe(this.updateRenderedOptions);\n\n this.keyManager = new FocusKeyManager<McTreeOption>(this.renderedOptions)\n .withVerticalOrientation(true)\n .withHorizontalOrientation(null);\n\n this.keyManager.change\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n if (this.keyManager.activeItem) {\n this.emitNavigationEvent(this.keyManager.activeItem);\n\n // todo need check this logic\n if (this.autoSelect && !this.keyManager.activeItem.disabled) {\n this.updateOptionsFocus();\n }\n }\n });\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroy))\n .subscribe(() => this.allowFocusEscape());\n\n this.selectionModel.changed\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n this.onChange(this.getSelectedValues());\n\n this.renderedOptions.notifyOnChanges();\n });\n\n this.renderedOptions.changes\n .pipe(\n takeUntil(this.destroy),\n delay(0)\n )\n .subscribe((options) => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n\n options.forEach((option) => {\n if (this.getSelectedValues().includes(option.value)) {\n option.select();\n } else {\n option.deselect();\n }\n\n option.markForCheck();\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy.next();\n this.destroy.complete();\n }\n\n focus($event): void {\n if (this.renderedOptions.length === 0 || this.isFocusReceivedFromNestedOption($event)) { return; }\n\n this.keyManager.setFocusOrigin('keyboard');\n this.keyManager.setFirstItemActive();\n this.keyManager.setFocusOrigin('program');\n }\n\n blur() {\n if (!this.hasFocusedOption() && this.resetFocusedItemOnBlur) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.onTouched();\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n this.keyManager.setFocusOrigin('keyboard');\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if ([SPACE, LEFT_ARROW, RIGHT_ARROW].includes(keyCode) || isVerticalMovement(event)) {\n event.preventDefault();\n }\n\n if (this.multiple && isSelectAll(event)) {\n this.selectAllOptions();\n\n return;\n } else if (isCopy(event)) {\n this.copyActiveOption();\n\n return;\n } else if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === LEFT_ARROW && this.keyManager.activeItem?.isExpandable) {\n this.treeControl.collapse(this.keyManager.activeItem.data as McTreeOption);\n\n return;\n } else if (keyCode === RIGHT_ARROW && this.keyManager.activeItem?.isExpandable) {\n this.treeControl.expand(this.keyManager.activeItem.data as McTreeOption);\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else if ([SPACE, ENTER].includes(keyCode)) {\n this.toggleFocusedOption();\n\n return;\n } else if (keyCode === HOME) {\n this.keyManager.setFirstItemActive();\n } else if (keyCode === END) {\n this.keyManager.setLastItemActive();\n } else if (keyCode === PAGE_UP) {\n this.keyManager.setPreviousPageItemActive();\n } else if (keyCode === PAGE_DOWN) {\n this.keyManager.setNextPageItemActive();\n }\n\n if (this.keyManager.activeItem) {\n this.setSelectedOptionsByKey(\n this.keyManager.activeItem, hasModifierKey(event, 'shiftKey'), hasModifierKey(event, 'ctrlKey')\n );\n }\n }\n\n updateScrollSize(): void {\n if (!this.renderedOptions.first) { return; }\n\n this.keyManager.withScrollSize(Math.floor(this.getHeight() / this.renderedOptions.first.getHeight()));\n }\n\n setSelectedOptionsByKey(option: McTreeOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n\n this.emitChangeEvent(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n } else if (this.autoSelect) {\n this.selectionModel.clear();\n this.selectionModel.toggle(option.data);\n\n this.emitChangeEvent(option);\n }\n }\n\n setSelectedOptionsByClick(option: McTreeOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (!shiftKey && !ctrlKey) {\n this.keyManager.setActiveItem(option);\n }\n\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n\n this.selectionModel.toggle(option.data);\n } else if (this.autoSelect) {\n this.selectionModel.clear();\n this.selectionModel.toggle(option.data);\n } else {\n this.selectionModel.toggle(option.data);\n }\n\n this.emitChangeEvent(option);\n }\n\n setSelectedOptions(option: McTreeOption): void {\n const selectedOptionState = option.selected;\n\n let fromIndex = this.keyManager.previousActiveItemIndex;\n let toIndex = this.keyManager.previousActiveItemIndex = this.keyManager.activeItemIndex;\n\n if (toIndex === fromIndex) { return; }\n\n if (fromIndex > toIndex) {\n [fromIndex, toIndex] = [toIndex, fromIndex];\n }\n\n this.renderedOptions\n .toArray()\n .slice(fromIndex, toIndex + 1)\n .filter((item) => !item.disabled)\n .forEach((renderedOption) => {\n const isLastRenderedOption = renderedOption === this.keyManager.activeItem;\n\n if (isLastRenderedOption && renderedOption.selected && this.noUnselectLast) { return; }\n\n renderedOption.setSelected(!selectedOptionState);\n });\n }\n\n setFocusedOption(option: McTreeOption): void {\n this.keyManager.setActiveItem(option);\n }\n\n toggleFocusedOption(): void {\n const focusedOption = this.keyManager.activeItem;\n\n if (focusedOption && (!focusedOption.selected || this.canDeselectLast(focusedOption))) {\n focusedOption.toggle();\n this.emitChangeEvent(focusedOption);\n }\n }\n\n renderNodeChanges(\n data: McTreeOption[],\n dataDiffer: IterableDiffer<McTreeOption> = this.dataDiffer,\n viewContainer: ViewContainerRef = this.nodeOutlet.viewContainer,\n parentData?: McTreeOption\n ): void {\n super.renderNodeChanges(data, dataDiffer, viewContainer, parentData);\n\n this.sortedNodes = this.getSortedNodes(viewContainer);\n\n this.nodeOutlet.changeDetectorRef.detectChanges();\n }\n\n emitNavigationEvent(option: McTreeOption): void {\n this.navigationChange.emit(new McTreeNavigationChange(this, option));\n }\n\n emitChangeEvent(option: McTreeOption): void {\n this.selectionChange.emit(new McTreeNavigationChange(this, option));\n }\n\n selectAllOptions(): void {\n const optionsToSelect = this.renderedOptions\n .filter((option) => !option.disabled);\n\n optionsToSelect\n .forEach((option) => option.setSelected(true));\n\n this.onSelectAll.emit(new McTreeSelectAllEvent(this, optionsToSelect));\n }\n\n copyActiveOption(): void {\n if (this.onCopy.observers.length) {\n this.onCopy.emit(new McTreeCopyEvent(this, this.keyManager.activeItem as McTreeOption));\n } else {\n this.onCopyDefaultHandler();\n }\n }\n\n writeValue(value: any): void {\n if (this.multiple && value && !Array.isArray(value)) {\n throw getMcSelectNonArrayValueError();\n }\n\n if (value) {\n this.setOptionsFromValues(this.multiple ? value : [value]);\n } else {\n this.selectionModel.clear();\n }\n }\n\n /** `View -> model callback called when value changes` */\n onChange: (value: any) => void = () => {};\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n /** `View -> model callback called when select has been touched` */\n onTouched = () => {};\n\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n */\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this.changeDetectorRef.markForCheck();\n }\n\n setOptionsFromValues(values: any[]): void {\n this.selectionModel.clear();\n\n const valuesToSelect = values.reduce(\n (result, value) => {\n return this.treeControl.hasValue(value) ? [...result, this.treeControl.hasValue(value)] : [...result];\n },\n []\n );\n\n this.selectionModel.select(...valuesToSelect);\n }\n\n getSelectedValues(): any[] {\n return this.selectionModel.selected.map((selected) => this.treeControl.getValue(selected));\n }\n\n getItemHeight(): number {\n return this.renderedOptions.first ? this.renderedOptions.first.getHeight() : 0;\n }\n\n private onCopyDefaultHandler(): void {\n this.clipboard?.copy(this.keyManager.activeItem!.value);\n }\n\n private getHeight(): number {\n const clientRects = this.elementRef.nativeElement.getClientRects();\n\n if (clientRects.length) {\n return clientRects[0].height;\n }\n\n return 0;\n }\n\n private updateTabIndex(): void {\n this._tabIndex = this.renderedOptions.length === 0 ? -1 : 0;\n }\n\n private updateRenderedOptions = () => {\n const orderedOptions: McTreeOption[] = [];\n\n this.sortedNodes.forEach((node) => {\n const found = this.unorderedOptions.find((option) => option.value === this.treeControl.getValue(node));\n\n if (found) {\n orderedOptions.push(found);\n }\n });\n\n this.renderedOptions.reset(orderedOptions);\n this.renderedOptions.notifyOnChanges();\n\n this.updateScrollSize();\n }\n\n private getSortedNodes(viewContainer: ViewContainerRef) {\n const array: McTreeOption[] = [];\n\n for (let i = 0; i < viewContainer.length; i++) {\n const viewRef = viewContainer.get(i) as any;\n\n array.push(viewRef.context.$implicit);\n }\n\n return array;\n }\n\n private allowFocusEscape() {\n if (this._tabIndex !== -1) {\n this._tabIndex = -1;\n\n setTimeout(() => {\n this._tabIndex = this.userTabIndex || 0;\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n\n private resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n private dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges\n .subscribe((event) => {\n const index: number = this.renderedOptions.toArray().indexOf(event.option as McTreeOption);\n\n this.renderedOptions\n .filter((option) => option.hasFocus)\n .forEach((option) => option.hasFocus = false);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges\n .subscribe(() => this.blur());\n }\n\n /**\n * Utility to ensure all indexes are valid.\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of options.\n */\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.renderedOptions.length;\n }\n\n /** Checks whether any of the options is focused. */\n private hasFocusedOption() {\n return this.renderedOptions.some((option) => option.hasFocus);\n }\n\n private markOptionsForCheck() {\n this.renderedOptions.forEach((option) => option.markForCheck());\n }\n\n private updateOptionsFocus() {\n this.renderedOptions\n .filter((option) => option.hasFocus)\n .forEach((option) => option.hasFocus = false);\n }\n\n private canDeselectLast(option: McTreeOption): boolean {\n return !(this.noUnselectLast && this.selectionModel.selected.length === 1 && option.selected);\n }\n\n private isFocusReceivedFromNestedOption($event: FocusEvent) {\n if (!$event || !$event.relatedTarget) { return false; }\n\n return ($event.relatedTarget as HTMLElement).classList.contains('mc-tree-option');\n }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';\n\nimport { McTreeNodeDef } from './node';\nimport { McTreeNodeOutlet } from './outlet';\nimport { McTreeNodePadding } from './padding.directive';\nimport { McTreeNodeToggleDirective, McTreeNodeToggleComponent } from './toggle';\nimport { McTree } from './tree';\nimport { McTreeNode } from './tree-base';\nimport { McTreeOption } from './tree-option.component';\nimport { McTreeSelection } from './tree-selection.component';\n\n\nconst MC_TREE_DIRECTIVES = [\n McTreeNodeOutlet,\n McTreeNodeDef,\n McTreeNode,\n McTreeNodePadding,\n McTree,\n McTreeSelection,\n McTreeOption,\n McTreeNodePadding,\n McTreeNodeToggleComponent,\n McTreeNodeToggleDirective\n];\n\n@NgModule({\n imports: [CommonModule, McPseudoCheckboxModule],\n exports: MC_TREE_DIRECTIVES,\n declarations: MC_TREE_DIRECTIVES\n})\nexport class McTreeModule {}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { TreeControl } from './tree-control';\n\n\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\n/* tslint:disable-next-line:naming-convention */\nexport abstract class BaseTreeControl<T> implements TreeControl<T> {\n dataNodes: T[];\n\n /** A selection model with multi-selection to track expansion status. */\n expansionModel: SelectionModel<T> = new SelectionModel<T>(true);\n\n filterModel: SelectionModel<T> = new SelectionModel<T>(true);\n\n filterValue = new BehaviorSubject<string>('');\n\n /** Get depth of a given data node, return the level number. This is for flat tree node. */\n getLevel: (dataNode: T) => number;\n\n /**\n * Whether the data node is expandable. Returns true if expandable.\n * This is for flat tree node.\n */\n isExpandable: (dataNode: T) => boolean;\n\n /** Gets a stream that emits whenever the given data node's children change. */\n getChildren: (dataNode: T) => Observable<T[]>;\n\n /** Gets a list of descendent data nodes of a subtree rooted at given data node recursively. */\n abstract getDescendants(dataNode: T): T[];\n\n /** Expands all data nodes in the tree. */\n abstract expandAll(): void;\n\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode: T): void {\n if (this.filterValue.value) { return; }\n\n this.expansionModel.toggle(dataNode);\n }\n\n /** Expands one single data node. */\n expand(dataNode: T): void {\n if (this.filterValue.value) { return; }\n\n this.expansionModel.select(dataNode);\n }\n\n /** Collapses one single data node. */\n collapse(dataNode: T): void {\n if (this.filterValue.value) { return; }\n\n this.expansionModel.deselect(dataNode);\n }\n\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode: T): boolean {\n return this.expansionModel.isSelected(dataNode);\n }\n\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode: T): void {\n this.expansionModel.isSelected(dataNode)\n ? this.collapseDescendants(dataNode)\n : this.expandDescendants(dataNode);\n }\n\n /** Collapse all dataNodes in the tree. */\n collapseAll(): void {\n this.expansionModel.clear();\n }\n\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode: T): void {\n const toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed);\n }\n\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode: T): void {\n const toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed);\n }\n}\n","import { BaseTreeControl } from './base-tree-control';\n\n\nexport function defaultCompareValues(firstValue, secondValue): boolean {\n return firstValue === secondValue;\n}\n\nexport function defaultCompareViewValues(firstViewValue, secondViewValue): boolean {\n return RegExp(secondViewValue, 'gi').test(firstViewValue);\n}\n\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nexport class FlatTreeControl<T> extends BaseTreeControl<T> {\n expandedItemsBeforeFiltration: T[];\n\n /** Construct with flat tree data node functions getLevel, isExpandable, getValue and getViewValue. */\n constructor(\n public getLevel: (dataNode: T) => number,\n public isExpandable: (dataNode: T) => boolean,\n /** getValue will be used to determine if the tree contains value or not. Used in method hasValue */\n public getValue: (dataNode) => any,\n /** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */\n public getViewValue: (dataNode) => string,\n /** compareValues will be used to comparing values. */\n public compareValues: (firstValue, secondValue) => boolean = defaultCompareValues,\n /** compareValues will be used to comparing values. */\n public compareViewValues: (firstViewValue, secondViewValue) => boolean = defaultCompareViewValues\n ) {\n super();\n }\n\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode: T): T[] {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results: T[] = [];\n\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1;\n i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]);\n i++\n ) {\n results.push(this.dataNodes[i]);\n }\n\n return results;\n }\n\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.select(...this.dataNodes);\n }\n\n getParents(node: any, result: T[]): T[] {\n if (node.parent) {\n result.unshift(node.parent);\n\n return this.getParents(node.parent, result);\n } else {\n return result;\n }\n }\n\n hasValue(value: string): T | undefined {\n return this.dataNodes.find((node: any) => this.compareValues(this.getValue(node), value));\n }\n\n filterNodes(value: string): void {\n this.saveExpansionState();\n\n this.filterModel.clear();\n this.expansionModel.clear();\n\n const filteredNodes = this.dataNodes\n .filter((node: any) => this.compareViewValues(this.getViewValue(node), value));\n\n const filteredNodesWithTheirParents = new Set();\n\n filteredNodes.forEach((filteredNode) => {\n\n this.getParents(filteredNode, [])\n .forEach((node) => {\n filteredNodesWithTheirParents.add(node);\n\n this.expandDataNode(node);\n });\n\n filteredNodesWithTheirParents.add(filteredNode);\n this.expandDataNode(filteredNode);\n\n if (this.isExpandable(filteredNode)) {\n const childNodeLevel = this.getLevel(filteredNode) + 1;\n\n this.getDescendants(filteredNode)\n .filter((childNode) => this.getLevel(childNode) === childNodeLevel)\n .filter((childNode) => !this.isExpandable(childNode) || !this.hasFilteredDescendant(childNode, filteredNodes))\n .forEach((childNode) => {\n filteredNodesWithTheirParents.add(childNode);\n\n this.expandDataNode(childNode);\n });\n }\n });\n\n this.filterModel.select(...Array.from(filteredNodesWithTheirParents) as []);\n\n this.filterValue.next(value);\n\n this.restoreExpansionState();\n }\n\n private expandDataNode(dataNode: T) {\n if (this.isExpandable(dataNode)) {\n this.expansionModel.select(dataNode);\n }\n }\n\n private saveExpansionState() {\n if (this.filterValue.value === '') {\n this.expandedItemsBeforeFiltration = this.expansionModel.selected;\n }\n }\n\n private restoreExpansionState() {\n if (this.filterValue.value === '') {\n this.expansionModel.clear();\n this.expansionModel.select(...this.expandedItemsBeforeFiltration);\n }\n }\n\n private hasFilteredDescendant(dataNode: T, filteredNodes: T[]) {\n const filteredViewValues = filteredNodes\n .map((node: any) => this.getViewValue(node));\n\n return this.getDescendants(dataNode)\n .filter((node) => filteredViewValues.includes(this.getViewValue(node)))\n .length > 0;\n }\n}\n","import { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { BaseTreeControl } from './base-tree-control';\n\n\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nexport class NestedTreeControl<T> extends BaseTreeControl<T> {\n\n /** Construct with nested tree function getChildren. */\n constructor(public getChildren: (dataNode: T) => Observable<T[]>) {\n super();\n }\n\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll(): void {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce(\n (accumulator: T[], dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode],\n []\n );\n this.expansionModel.select(...allNodes);\n }\n\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode: T): T[] {\n const descendants = [];\n this._getDescendants(descendants, dataNode);\n\n return descendants.splice(1);\n }\n\n /** A helper function to get descendants recursively. */\n // todo нужно придумать другое название и понять в чем отличие между getDescendants и _getDescendants\n /* tslint:disable-next-line:naming-convention */\n private _getDescendants(descendants: T[], dataNode: T): void {\n descendants.push(dataNode);\n\n this.getChildren(dataNode)\n .pipe(take(1))\n .subscribe((children) => {\n if (children && children.length > 0) {\n children.forEach((child: T) => this._getDescendants(descendants, child));\n }\n });\n }\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\n\nimport { FlatTreeControl } from '../control/flat-tree-control';\nimport { TreeControl } from '../control/tree-control';\n\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nexport class McTreeFlattener<T, F> {\n constructor(\n public transformFunction: (node: T, level: number, parent: F | null) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null\n ) {}\n\n flattenNode(node: T, level: number, resultNodes: F[], parent: F | null): F[] {\n const flatNode = this.transformFunction(node, level, parent);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this.flattenChildren(childrenNodes, level, resultNodes, flatNode);\n } else {\n childrenNodes\n .pipe(take(1))\n .subscribe((children) => {\n this.flattenChildren(children, level, resultNodes, flatNode);\n });\n }\n }\n }\n\n return resultNodes;\n }\n\n flattenChildren(children: T[], level: number, resultNodes: F[], parent: F | null): void {\n children.forEach((child) => {\n this.flattenNode(child, level + 1, resultNodes, parent);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n const resultNodes: F[] = [];\n structuredData.forEach((node) => this.flattenNode(node, 0, resultNodes, null));\n\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F>): F[] {\n const results: F[] = [];\n const currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach((node) => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n\n if (expand) { results.push(node); }\n\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n\n return results;\n }\n}\n\nenum McTreeDataSourceChangeTypes {\n Expansion = 'expansion',\n Filter = 'filter'\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `McTree`.\n * The nested tree nodes of type `T` are flattened through `MсTreeFlattener`, and converted\n * to type `F` for `McTree` to consume.\n */\nexport class McTreeFlatDataSource<T, F> extends DataSource<F> {\n flattenedData = new BehaviorSubject<F[]>([]);\n\n expandedData = new BehaviorSubject<F[]>([]);\n\n filteredData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n\n set data(value: T[]) {\n this._data.next(value);\n\n this.flattenedData.next(this.treeFlattener.flattenNodes(this.data));\n this.treeControl.dataNodes = this.flattenedData.value;\n }\n\n private _data: BehaviorSubject<T[]>;\n\n constructor(\n private treeControl: FlatTreeControl<F>,\n private treeFlattener: McTreeFlattener<T, F>,\n initialData: T[] = []\n ) {\n super();\n\n this._data = new BehaviorSubject<T[]>(initialData);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this.treeControl.expansionModel.changed\n .pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Expansion, value }))),\n this.treeControl.filterValue\n .pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Filter, value }))),\n this.flattenedData\n )\n .pipe(map((changeObj: any): any => {\n if (changeObj.type === McTreeDataSourceChangeTypes.Filter) {\n if (changeObj.value && changeObj.value.length > 0) {\n return this.filterHandler();\n } else {\n return this.expansionHandler();\n }\n }\n\n return this.expansionHandler();\n }));\n }\n\n filterHandler(): F[] {\n this.filteredData.next(this.treeControl.filterModel.selected);\n\n return this.filteredData.value;\n }\n\n expansionHandler(): F[] {\n const expandedNodes = this.treeFlattener.expandFlattenedNodes(this.flattenedData.value, this.treeControl);\n this.expandedData.next(expandedNodes);\n\n return this.expandedData.value;\n }\n\n disconnect() {\n // no op\n }\n}\n\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class McTreeNestedDataSource<T> extends DataSource<T> {\n\n get data() {\n return this._data.value;\n }\n\n set data(value: T[]) {\n this._data.next(value);\n }\n\n /* tslint:disable-next-line:naming-convention */\n private _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...[collectionViewer.viewChange, this._data])\n .pipe(map(() => this.data));\n }\n\n disconnect() {\n // no op\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Directive","Input","BehaviorSubject","Subject","Observable","observableOf","takeUntil","ViewChild","ContentChildren","forwardRef","Inject","TreeSizePaddingLeft","coerceNumberProperty","Optional","mixinDisabled","map","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","InjectionToken","EventEmitter","take","TAB","hasModifierKey","MC_OPTION_ACTION_PARENT","McOptionActionComponent","McTooltipTrigger","McDropdownTrigger","ContentChild","Output","NG_VALUE_ACCESSOR","QueryList","MultipleMode","SelectionModel","merge","FocusKeyManager","delay","SPACE","LEFT_ARROW","RIGHT_ARROW","isVerticalMovement","isSelectAll","isCopy","DOWN_ARROW","UP_ARROW","ENTER","HOME","END","PAGE_UP","PAGE_DOWN","getMcSelectNonArrayValueError","Attribute","CommonModule","McPseudoCheckboxModule","NgModule","DataSource"],"mappings":"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"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
(function (factory) {
|
2
|
-
typeof define === 'function' && define.amd ? define('@ptsecurity/mosaic', factory) :
|
3
|
-
factory();
|
4
|
-
}((function () { 'use strict';
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Generated bundle index. Do not edit.
|
8
|
-
*/
|
9
|
-
|
10
|
-
})));
|
11
|
-
//# sourceMappingURL=ptsecurity-mosaic.umd.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic.umd.js","sources":["../../../packages/mosaic/ptsecurity-mosaic.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;CAAA;;;;;;;;"}
|
@@ -1,163 +0,0 @@
|
|
1
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Inject, InjectionToken, Input, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
3
|
-
import { ActiveDescendantKeyManager } from '@ptsecurity/cdk/a11y';
|
4
|
-
import { MC_OPTION_PARENT_COMPONENT, McOptgroup, McOption } from '@ptsecurity/mosaic/core';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@angular/common";
|
7
|
-
/**
|
8
|
-
* Autocomplete IDs need to be unique across components, so this counter exists outside of
|
9
|
-
* the component definition.
|
10
|
-
*/
|
11
|
-
let uniqueAutocompleteIdCounter = 0;
|
12
|
-
export class McAutocompleteSelectedEvent {
|
13
|
-
constructor(source, option) {
|
14
|
-
this.source = source;
|
15
|
-
this.option = option;
|
16
|
-
}
|
17
|
-
}
|
18
|
-
/** Injection token to be used to override the default options for `mc-autocomplete`. */
|
19
|
-
export const MC_AUTOCOMPLETE_DEFAULT_OPTIONS = new InjectionToken('mc-autocomplete-default-options', {
|
20
|
-
providedIn: 'root',
|
21
|
-
factory: MC_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY
|
22
|
-
});
|
23
|
-
// tslint:disable-next-line naming-convention
|
24
|
-
export function MC_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY() {
|
25
|
-
return { autoActiveFirstOption: true };
|
26
|
-
}
|
27
|
-
export class McAutocomplete {
|
28
|
-
constructor(changeDetectorRef, elementRef, defaults) {
|
29
|
-
this.changeDetectorRef = changeDetectorRef;
|
30
|
-
this.elementRef = elementRef;
|
31
|
-
/** Unique ID to be used by autocomplete trigger's "aria-owns" property. */
|
32
|
-
this.id = `mc-autocomplete-${uniqueAutocompleteIdCounter++}`;
|
33
|
-
/** Whether the autocomplete panel should be visible, depending on option length. */
|
34
|
-
this.showPanel = false;
|
35
|
-
/** Function that maps an option's control value to its display value in the trigger. */
|
36
|
-
this.displayWith = null;
|
37
|
-
/** Event that is emitted whenever an option from the list is selected. */
|
38
|
-
this.optionSelected = new EventEmitter();
|
39
|
-
/** Event that is emitted when the autocomplete panel is opened. */
|
40
|
-
this.opened = new EventEmitter();
|
41
|
-
/** Event that is emitted when the autocomplete panel is closed. */
|
42
|
-
this.closed = new EventEmitter();
|
43
|
-
this._classList = {};
|
44
|
-
this._isOpen = false;
|
45
|
-
this._openOnFocus = true;
|
46
|
-
this._autoActiveFirstOption = !!defaults.autoActiveFirstOption;
|
47
|
-
}
|
48
|
-
/**
|
49
|
-
* Takes classes set on the host mc-autocomplete element and applies them to the panel
|
50
|
-
* inside the overlay container to allow for easy styling.
|
51
|
-
*/
|
52
|
-
get classList() {
|
53
|
-
return this._classList;
|
54
|
-
}
|
55
|
-
set classList(value) {
|
56
|
-
if (value && value.length) {
|
57
|
-
value.split(' ')
|
58
|
-
.forEach((className) => this._classList[className.trim()] = true);
|
59
|
-
this.elementRef.nativeElement.className = '';
|
60
|
-
}
|
61
|
-
}
|
62
|
-
/**
|
63
|
-
* Whether the first option should be highlighted when the autocomplete panel is opened.
|
64
|
-
* Can be configured globally through the `MC_AUTOCOMPLETE_DEFAULT_OPTIONS` token.
|
65
|
-
*/
|
66
|
-
get autoActiveFirstOption() {
|
67
|
-
return this._autoActiveFirstOption;
|
68
|
-
}
|
69
|
-
set autoActiveFirstOption(value) {
|
70
|
-
this._autoActiveFirstOption = coerceBooleanProperty(value);
|
71
|
-
}
|
72
|
-
get isOpen() {
|
73
|
-
return this._isOpen && this.showPanel;
|
74
|
-
}
|
75
|
-
set isOpen(value) {
|
76
|
-
this._isOpen = value;
|
77
|
-
}
|
78
|
-
get openOnFocus() {
|
79
|
-
return this._openOnFocus;
|
80
|
-
}
|
81
|
-
set openOnFocus(value) {
|
82
|
-
this._openOnFocus = value;
|
83
|
-
}
|
84
|
-
ngAfterContentInit() {
|
85
|
-
this.keyManager = new ActiveDescendantKeyManager(this.options);
|
86
|
-
this.setVisibility();
|
87
|
-
}
|
88
|
-
setScrollTop(scrollTop) {
|
89
|
-
if (this.panel) {
|
90
|
-
this.panel.nativeElement.scrollTop = scrollTop;
|
91
|
-
}
|
92
|
-
}
|
93
|
-
getScrollTop() {
|
94
|
-
return this.panel ? this.panel.nativeElement.scrollTop : 0;
|
95
|
-
}
|
96
|
-
setVisibility() {
|
97
|
-
this.showPanel = !!this.options.length;
|
98
|
-
this._classList['mc-autocomplete_visible'] = this.showPanel;
|
99
|
-
this._classList['mc-autocomplete_hidden'] = !this.showPanel;
|
100
|
-
this.changeDetectorRef.markForCheck();
|
101
|
-
}
|
102
|
-
emitSelectEvent(option) {
|
103
|
-
const event = new McAutocompleteSelectedEvent(this, option);
|
104
|
-
this.optionSelected.emit(event);
|
105
|
-
}
|
106
|
-
onKeydown(event) {
|
107
|
-
this.keyManager.onKeydown(event);
|
108
|
-
}
|
109
|
-
}
|
110
|
-
/** @nocollapse */ McAutocomplete.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McAutocomplete, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MC_AUTOCOMPLETE_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
111
|
-
/** @nocollapse */ McAutocomplete.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: McAutocomplete, selector: "mc-autocomplete", inputs: { displayWith: "displayWith", panelWidth: "panelWidth", classList: ["class", "classList"], autoActiveFirstOption: "autoActiveFirstOption", openOnFocus: "openOnFocus" }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed" }, host: { classAttribute: "mc-autocomplete" }, providers: [{
|
112
|
-
provide: MC_OPTION_PARENT_COMPONENT, useExisting: McAutocomplete
|
113
|
-
}], queries: [{ propertyName: "options", predicate: McOption, descendants: true }, { propertyName: "optionGroups", predicate: McOptgroup }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["mcAutocomplete"], ngImport: i0, template: "<ng-template>\n <div class=\"mc-autocomplete-panel\" role=\"listbox\" [id]=\"id\" [ngClass]=\"classList\" #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mc-autocomplete-trigger{text-overflow:ellipsis}.mc-autocomplete-panel{visibility:hidden;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;margin-top:-1px;min-width:100%;width:100%;max-width:none;max-height:256px;max-height:var(--mc-autocomplete-size-panel-max-height, 256px);border-width:1px;border-style:solid;border-bottom-left-radius:3px;border-bottom-left-radius:var(--mc-autocomplete-size-panel-border-radius, 3px);border-bottom-right-radius:3px;border-bottom-right-radius:var(--mc-autocomplete-size-panel-border-radius, 3px);padding:4px 0;padding:var(--mc-autocomplete-size-panel-padding, 4px 0)}.mc-autocomplete-panel.mc-autocomplete_visible{visibility:visible}.mc-autocomplete-panel.mc-autocomplete_hidden{visibility:hidden}.mc-autocomplete-panel-above .mc-autocomplete-panel{border-radius:3px 3px 0 0;border-radius:var(--mc-autocomplete-size-panel-border-radius, 3px) var(--mc-autocomplete-size-panel-border-radius, 3px) 0 0}.mc-autocomplete-panel .mc-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mc-autocomplete-panel{outline:solid 1px}.cdk-high-contrast-active :host .mc-autocomplete-panel{outline:solid 1px}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: McAutocomplete, decorators: [{
|
115
|
-
type: Component,
|
116
|
-
args: [{
|
117
|
-
selector: 'mc-autocomplete',
|
118
|
-
exportAs: 'mcAutocomplete',
|
119
|
-
templateUrl: 'autocomplete.html',
|
120
|
-
styleUrls: ['autocomplete.scss'],
|
121
|
-
host: {
|
122
|
-
class: 'mc-autocomplete'
|
123
|
-
},
|
124
|
-
encapsulation: ViewEncapsulation.None,
|
125
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
126
|
-
providers: [{
|
127
|
-
provide: MC_OPTION_PARENT_COMPONENT, useExisting: McAutocomplete
|
128
|
-
}]
|
129
|
-
}]
|
130
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
131
|
-
type: Inject,
|
132
|
-
args: [MC_AUTOCOMPLETE_DEFAULT_OPTIONS]
|
133
|
-
}] }]; }, propDecorators: { template: [{
|
134
|
-
type: ViewChild,
|
135
|
-
args: [TemplateRef, { static: true }]
|
136
|
-
}], panel: [{
|
137
|
-
type: ViewChild,
|
138
|
-
args: ['panel', { static: false }]
|
139
|
-
}], options: [{
|
140
|
-
type: ContentChildren,
|
141
|
-
args: [McOption, { descendants: true }]
|
142
|
-
}], optionGroups: [{
|
143
|
-
type: ContentChildren,
|
144
|
-
args: [McOptgroup]
|
145
|
-
}], displayWith: [{
|
146
|
-
type: Input
|
147
|
-
}], panelWidth: [{
|
148
|
-
type: Input
|
149
|
-
}], optionSelected: [{
|
150
|
-
type: Output
|
151
|
-
}], opened: [{
|
152
|
-
type: Output
|
153
|
-
}], closed: [{
|
154
|
-
type: Output
|
155
|
-
}], classList: [{
|
156
|
-
type: Input,
|
157
|
-
args: ['class']
|
158
|
-
}], autoActiveFirstOption: [{
|
159
|
-
type: Input
|
160
|
-
}], openOnFocus: [{
|
161
|
-
type: Input
|
162
|
-
}] } });
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRzNGOzs7R0FHRztBQUNILElBQUksMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0FBRXBDLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsWUFBbUIsTUFBc0IsRUFBUyxNQUFnQjtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVU7SUFBRyxDQUFDO0NBQ3pFO0FBU0Qsd0ZBQXdGO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUN4QyxJQUFJLGNBQWMsQ0FBK0IsaUNBQWlDLEVBQUU7SUFDaEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHVDQUF1QztDQUNuRCxDQUFDLENBQUM7QUFFUCw2Q0FBNkM7QUFDN0MsTUFBTSxVQUFVLHVDQUF1QztJ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QUUsMEJBQTBCLEVBQUUsV0FBVyxnQkFBZ0I7eUJBQ25FLENBQUM7aUJBQ0w7OzBCQWlHUSxNQUFNOzJCQUFDLCtCQUErQjs0Q0F0RkgsUUFBUTtzQkFBL0MsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUVELEtBQUs7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFFZSxPQUFPO3NCQUF4RCxlQUFlO3VCQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRW5CLFlBQVk7c0JBQXhDLGVBQWU7dUJBQUMsVUFBVTtnQkFHbEIsV0FBVztzQkFBbkIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdhLGNBQWM7c0JBQWhDLE1BQU07Z0JBSVksTUFBTTtzQkFBeEIsTUFBTTtnQkFHWSxNQUFNO3NCQUF4QixNQUFNO2dCQU9ILFNBQVM7c0JBRFosS0FBSzt1QkFBQyxPQUFPO2dCQXFCVixxQkFBcUI7c0JBRHhCLEtBQUs7Z0JBc0JGLFdBQVc7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0BwdHNlY3VyaXR5L2Nkay9hMTF5JztcbmltcG9ydCB7IE1DX09QVElPTl9QQVJFTlRfQ09NUE9ORU5ULCBNY09wdGdyb3VwLCBNY09wdGlvbiB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9jb3JlJztcblxuXG4vKipcbiAqIEF1dG9jb21wbGV0ZSBJRHMgbmVlZCB0byBiZSB1bmlxdWUgYWNyb3NzIGNvbXBvbmVudHMsIHNvIHRoaXMgY291bnRlciBleGlzdHMgb3V0c2lkZSBvZlxuICogdGhlIGNvbXBvbmVudCBkZWZpbml0aW9uLlxuICovXG5sZXQgdW5pcXVlQXV0b2NvbXBsZXRlSWRDb3VudGVyID0gMDtcblxuZXhwb3J0IGNsYXNzIE1jQXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogTWNBdXRvY29tcGxldGUsIHB1YmxpYyBvcHRpb246IE1jT3B0aW9uKSB7fVxufVxuXG4vKiogRGVmYXVsdCBgbWMtYXV0b2NvbXBsZXRlYCBvcHRpb25zIHRoYXQgY2FuIGJlIG92ZXJyaWRkZW4uICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTWNBdXRvY29tcGxldGVEZWZhdWx0T3B0aW9ucyB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGZpcnN0IG9wdGlvbiBzaG91bGQgYmUgaGlnaGxpZ2h0ZWQgd2hlbiBhbiBhdXRvY29tcGxldGUgcGFuZWwgaXMgb3BlbmVkLiAqL1xuICAgIGF1dG9BY3RpdmVGaXJzdE9wdGlvbj86IGJvb2xlYW47XG59XG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdG8gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciBgbWMtYXV0b2NvbXBsZXRlYC4gKi9cbmV4cG9ydCBjb25zdCBNQ19BVVRPQ09NUExFVEVfREVGQVVMVF9PUFRJT05TID1cbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48TWNBdXRvY29tcGxldGVEZWZhdWx0T3B0aW9ucz4oJ21jLWF1dG9jb21wbGV0ZS1kZWZhdWx0LW9wdGlvbnMnLCB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogTUNfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OU19GQUNUT1JZXG4gICAgfSk7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIE1DX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlNfRkFDVE9SWSgpOiBNY0F1dG9jb21wbGV0ZURlZmF1bHRPcHRpb25zIHtcbiAgICByZXR1cm4geyBhdXRvQWN0aXZlRmlyc3RPcHRpb246IHRydWUgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy1hdXRvY29tcGxldGUnLFxuICAgIGV4cG9ydEFzOiAnbWNBdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnYXV0b2NvbXBsZXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhdXRvY29tcGxldGUuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtYy1hdXRvY29tcGxldGUnXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTUNfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQsIHVzZUV4aXN0aW5nOiBNY0F1dG9jb21wbGV0ZVxuICAgIH1dXG59KVxuZXhwb3J0IGNsYXNzIE1jQXV0b2NvbXBsZXRlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIFVuaXF1ZSBJRCB0byBiZSB1c2VkIGJ5IGF1dG9jb21wbGV0ZSB0cmlnZ2VyJ3MgXCJhcmlhLW93bnNcIiBwcm9wZXJ0eS4gKi9cbiAgICBpZDogc3RyaW5nID0gYG1jLWF1dG9jb21wbGV0ZS0ke3VuaXF1ZUF1dG9jb21wbGV0ZUlkQ291bnRlcisrfWA7XG5cbiAgICAvKiogTWFuYWdlcyBhY3RpdmUgaXRlbSBpbiBvcHRpb24gbGlzdCBiYXNlZCBvbiBrZXkgZXZlbnRzLiAqL1xuICAgIGtleU1hbmFnZXI6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPE1jT3B0aW9uPjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgcGFuZWwgc2hvdWxkIGJlIHZpc2libGUsIGRlcGVuZGluZyBvbiBvcHRpb24gbGVuZ3RoLiAqL1xuICAgIHNob3dQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwge3N0YXRpYzogdHJ1ZX0pIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZCgncGFuZWwnLCB7c3RhdGljOiBmYWxzZX0pIHBhbmVsOiBFbGVtZW50UmVmO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihNY09wdGlvbiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBvcHRpb25zOiBRdWVyeUxpc3Q8TWNPcHRpb24+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihNY09wdGdyb3VwKSBvcHRpb25Hcm91cHM6IFF1ZXJ5TGlzdDxNY09wdGdyb3VwPjtcblxuICAgIC8qKiBGdW5jdGlvbiB0aGF0IG1hcHMgYW4gb3B0aW9uJ3MgY29udHJvbCB2YWx1ZSB0byBpdHMgZGlzcGxheSB2YWx1ZSBpbiB0aGUgdHJpZ2dlci4gKi9cbiAgICBASW5wdXQoKSBkaXNwbGF5V2l0aDogKCh2YWx1ZTogYW55KSA9PiBzdHJpbmcpIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgYXV0b2NvbXBsZXRlIHBhbmVsLiAgQ2FuIGJlIGFueSBDU1Mgc2l6aW5nIHZhbHVlLCBvdGhlcndpc2UgaXQgd2lsbFxuICAgICAqIG1hdGNoIHRoZSB3aWR0aCBvZiBpdHMgaG9zdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwYW5lbFdpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFuIG9wdGlvbiBmcm9tIHRoZSBsaXN0IGlzIHNlbGVjdGVkLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPE1jQXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudD4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPE1jQXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgYXV0b2NvbXBsZXRlIHBhbmVsIGlzIG9wZW5lZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGF1dG9jb21wbGV0ZSBwYW5lbCBpcyBjbG9zZWQuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogVGFrZXMgY2xhc3NlcyBzZXQgb24gdGhlIGhvc3QgbWMtYXV0b2NvbXBsZXRlIGVsZW1lbnQgYW5kIGFwcGxpZXMgdGhlbSB0byB0aGUgcGFuZWxcbiAgICAgKiBpbnNpZGUgdGhlIG92ZXJsYXkgY29udGFpbmVyIHRvIGFsbG93IGZvciBlYXN5IHN0eWxpbmcuXG4gICAgICovXG4gICAgQElucHV0KCdjbGFzcycpXG4gICAgZ2V0IGNsYXNzTGlzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTGlzdDtcbiAgICB9XG5cbiAgICBzZXQgY2xhc3NMaXN0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdmFsdWUuc3BsaXQoJyAnKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChjbGFzc05hbWUpID0+IHRoaXMuX2NsYXNzTGlzdFtjbGFzc05hbWUudHJpbSgpXSA9IHRydWUpO1xuXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NsYXNzTGlzdDogYW55ID0ge307XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBmaXJzdCBvcHRpb24gc2hvdWxkIGJlIGhpZ2hsaWdodGVkIHdoZW4gdGhlIGF1dG9jb21wbGV0ZSBwYW5lbCBpcyBvcGVuZWQuXG4gICAgICogQ2FuIGJlIGNvbmZpZ3VyZWQgZ2xvYmFsbHkgdGhyb3VnaCB0aGUgYE1DX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlNgIHRva2VuLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGF1dG9BY3RpdmVGaXJzdE9wdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9BY3RpdmVGaXJzdE9wdGlvbjtcbiAgICB9XG5cbiAgICBzZXQgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2F1dG9BY3RpdmVGaXJzdE9wdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXV0b0FjdGl2ZUZpcnN0T3B0aW9uOiBib29sZWFuO1xuXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3BlbiAmJiB0aGlzLnNob3dQYW5lbDtcbiAgICB9XG5cbiAgICBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgb3Blbk9uRm9jdXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcGVuT25Gb2N1cztcbiAgICB9XG5cbiAgICBzZXQgb3Blbk9uRm9jdXModmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fb3Blbk9uRm9jdXMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vcGVuT25Gb2N1czogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoTUNfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUykgZGVmYXVsdHM6IE1jQXV0b2NvbXBsZXRlRGVmYXVsdE9wdGlvbnNcbiAgICApIHtcbiAgICAgICAgdGhpcy5fYXV0b0FjdGl2ZUZpcnN0T3B0aW9uID0gISFkZWZhdWx0cy5hdXRvQWN0aXZlRmlyc3RPcHRpb247XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8TWNPcHRpb24+KHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuc2V0VmlzaWJpbGl0eSgpO1xuICAgIH1cblxuICAgIHNldFNjcm9sbFRvcChzY3JvbGxUb3A6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5wYW5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNjcm9sbFRvcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lbCA/IHRoaXMucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgOiAwO1xuICAgIH1cblxuICAgIHNldFZpc2liaWxpdHkoKSB7XG4gICAgICAgIHRoaXMuc2hvd1BhbmVsID0gISF0aGlzLm9wdGlvbnMubGVuZ3RoO1xuICAgICAgICB0aGlzLl9jbGFzc0xpc3RbJ21jLWF1dG9jb21wbGV0ZV92aXNpYmxlJ10gPSB0aGlzLnNob3dQYW5lbDtcbiAgICAgICAgdGhpcy5fY2xhc3NMaXN0WydtYy1hdXRvY29tcGxldGVfaGlkZGVuJ10gPSAhdGhpcy5zaG93UGFuZWw7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBlbWl0U2VsZWN0RXZlbnQob3B0aW9uOiBNY09wdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBNY0F1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQodGhpcywgb3B0aW9uKTtcblxuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IGFueSB7XG4gICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cbn1cblxuIiwiPG5nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGUtcGFuZWxcIiByb2xlPVwibGlzdGJveFwiIFtpZF09XCJpZFwiIFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiICNwYW5lbD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|