@angular/material 19.0.0-next.1 → 19.0.0-next.3
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/_index.scss +3 -4
- package/button/_button-base.scss +2 -2
- package/button/index.d.ts +2 -10
- package/checkbox/_checkbox-common.scss +4 -4
- package/checkbox/index.d.ts +0 -7
- package/chips/index.d.ts +1 -10
- package/core/_core.scss +1 -7
- package/core/focus-indicators/_private.scss +21 -82
- package/core/index.d.ts +10 -167
- package/core/ripple/_ripple.scss +1 -1
- package/core/style/_elevation.scss +1 -1
- package/core/style/_menu-common.scss +1 -1
- package/core/style/_sass-utils.scss +4 -0
- package/core/theming/_palettes.scss +132 -45
- package/core/tokens/_m3-system.scss +93 -20
- package/core/tokens/m3/definitions/_md-sys-color.scss +6 -6
- package/core/tokens/m3/mat/_sidenav.scss +0 -1
- package/fesm2022/autocomplete.mjs +14 -14
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge.mjs +11 -11
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +11 -11
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +11 -11
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +42 -53
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card.mjs +46 -46
- package/fesm2022/checkbox.mjs +16 -19
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +46 -57
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +122 -256
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +87 -87
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog.mjs +26 -26
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider.mjs +7 -7
- package/fesm2022/expansion.mjs +28 -28
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field.mjs +36 -36
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +22 -22
- package/fesm2022/icon/testing.mjs +7 -7
- package/fesm2022/icon.mjs +10 -10
- package/fesm2022/input.mjs +7 -7
- package/fesm2022/list.mjs +59 -59
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu.mjs +18 -18
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator.mjs +11 -11
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +8 -8
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +8 -8
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio.mjs +11 -11
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select.mjs +12 -12
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +26 -26
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +16 -16
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider.mjs +18 -18
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +23 -23
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort.mjs +14 -14
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper.mjs +33 -33
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table.mjs +57 -57
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs.mjs +48 -48
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +11 -11
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +26 -17
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree.mjs +25 -25
- package/form-field/_form-field-high-contrast.scss +4 -4
- package/form-field/_mdc-text-field-structure.scss +2 -2
- package/list/_list-inherited-structure.scss +1 -1
- package/list/_list-item-hcm-indicator.scss +1 -1
- package/package.json +2 -146
- package/prebuilt-themes/azure-blue.css +1 -1
- package/prebuilt-themes/cyan-orange.css +1 -1
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/magenta-violet.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/prebuilt-themes/rose-red.css +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/m3-theme/index_bundled.js +2 -2
- package/schematics/ng-update/index_bundled.js +27 -27
- package/tabs/_tabs-common.scss +2 -2
- package/tree/index.d.ts +2 -2
- package/core/focus-indicators/_focus-indicators-theme.scss +0 -11
- package/core/focus-indicators/_focus-indicators.scss +0 -6
- package/esm2022/autocomplete/animations.mjs +0 -24
- package/esm2022/autocomplete/autocomplete-origin.mjs +0 -31
- package/esm2022/autocomplete/autocomplete-trigger.mjs +0 -902
- package/esm2022/autocomplete/autocomplete.mjs +0 -238
- package/esm2022/autocomplete/autocomplete_public_index.mjs +0 -5
- package/esm2022/autocomplete/index.mjs +0 -9
- package/esm2022/autocomplete/module.mjs +0 -61
- package/esm2022/autocomplete/public-api.mjs +0 -14
- package/esm2022/autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
- package/esm2022/autocomplete/testing/autocomplete-harness.mjs +0 -105
- package/esm2022/autocomplete/testing/index.mjs +0 -9
- package/esm2022/autocomplete/testing/public-api.mjs +0 -10
- package/esm2022/badge/badge-module.mjs +0 -27
- package/esm2022/badge/badge.mjs +0 -288
- package/esm2022/badge/badge_public_index.mjs +0 -5
- package/esm2022/badge/index.mjs +0 -9
- package/esm2022/badge/public-api.mjs +0 -10
- package/esm2022/badge/testing/badge-harness-filters.mjs +0 -9
- package/esm2022/badge/testing/badge-harness.mjs +0 -71
- package/esm2022/badge/testing/index.mjs +0 -9
- package/esm2022/badge/testing/public-api.mjs +0 -10
- package/esm2022/bottom-sheet/bottom-sheet-animations.mjs +0 -26
- package/esm2022/bottom-sheet/bottom-sheet-config.mjs +0 -48
- package/esm2022/bottom-sheet/bottom-sheet-container.mjs +0 -85
- package/esm2022/bottom-sheet/bottom-sheet-module.mjs +0 -28
- package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +0 -104
- package/esm2022/bottom-sheet/bottom-sheet.mjs +0 -115
- package/esm2022/bottom-sheet/bottom-sheet_public_index.mjs +0 -5
- package/esm2022/bottom-sheet/index.mjs +0 -9
- package/esm2022/bottom-sheet/public-api.mjs +0 -14
- package/esm2022/bottom-sheet/testing/bottom-sheet-harness-filters.mjs +0 -9
- package/esm2022/bottom-sheet/testing/bottom-sheet-harness.mjs +0 -35
- package/esm2022/bottom-sheet/testing/index.mjs +0 -9
- package/esm2022/bottom-sheet/testing/public-api.mjs +0 -10
- package/esm2022/button/button-base.mjs +0 -230
- package/esm2022/button/button.mjs +0 -67
- package/esm2022/button/button_public_index.mjs +0 -5
- package/esm2022/button/fab.mjs +0 -166
- package/esm2022/button/icon-button.mjs +0 -56
- package/esm2022/button/index.mjs +0 -9
- package/esm2022/button/module.mjs +0 -65
- package/esm2022/button/public-api.mjs +0 -13
- package/esm2022/button/testing/button-harness-filters.mjs +0 -9
- package/esm2022/button/testing/button-harness.mjs +0 -80
- package/esm2022/button/testing/index.mjs +0 -9
- package/esm2022/button/testing/public-api.mjs +0 -10
- package/esm2022/button-toggle/button-toggle-module.mjs +0 -24
- package/esm2022/button-toggle/button-toggle.mjs +0 -651
- package/esm2022/button-toggle/button-toggle_public_index.mjs +0 -5
- package/esm2022/button-toggle/index.mjs +0 -9
- package/esm2022/button-toggle/public-api.mjs +0 -10
- package/esm2022/button-toggle/testing/button-toggle-group-harness-filters.mjs +0 -9
- package/esm2022/button-toggle/testing/button-toggle-group-harness.mjs +0 -47
- package/esm2022/button-toggle/testing/button-toggle-harness-filters.mjs +0 -9
- package/esm2022/button-toggle/testing/button-toggle-harness.mjs +0 -105
- package/esm2022/button-toggle/testing/index.mjs +0 -9
- package/esm2022/button-toggle/testing/public-api.mjs +0 -12
- package/esm2022/card/card.mjs +0 -273
- package/esm2022/card/card_public_index.mjs +0 -5
- package/esm2022/card/index.mjs +0 -9
- package/esm2022/card/module.mjs +0 -67
- package/esm2022/card/public-api.mjs +0 -10
- package/esm2022/card/testing/card-harness-filters.mjs +0 -9
- package/esm2022/card/testing/card-harness.mjs +0 -50
- package/esm2022/card/testing/index.mjs +0 -9
- package/esm2022/card/testing/public-api.mjs +0 -10
- package/esm2022/checkbox/checkbox-config.mjs +0 -22
- package/esm2022/checkbox/checkbox-required-validator.mjs +0 -41
- package/esm2022/checkbox/checkbox.mjs +0 -443
- package/esm2022/checkbox/checkbox_public_index.mjs +0 -5
- package/esm2022/checkbox/index.mjs +0 -9
- package/esm2022/checkbox/module.mjs +0 -41
- package/esm2022/checkbox/public-api.mjs +0 -12
- package/esm2022/checkbox/testing/checkbox-harness-filters.mjs +0 -9
- package/esm2022/checkbox/testing/checkbox-harness.mjs +0 -138
- package/esm2022/checkbox/testing/index.mjs +0 -9
- package/esm2022/checkbox/testing/public-api.mjs +0 -9
- package/esm2022/chips/chip-action.mjs +0 -113
- package/esm2022/chips/chip-edit-input.mjs +0 -61
- package/esm2022/chips/chip-grid.mjs +0 -420
- package/esm2022/chips/chip-icons.mjs +0 -107
- package/esm2022/chips/chip-input.mjs +0 -192
- package/esm2022/chips/chip-listbox.mjs +0 -369
- package/esm2022/chips/chip-option.mjs +0 -190
- package/esm2022/chips/chip-row.mjs +0 -173
- package/esm2022/chips/chip-set.mjs +0 -283
- package/esm2022/chips/chip-text-control.mjs +0 -9
- package/esm2022/chips/chip.mjs +0 -322
- package/esm2022/chips/chips_public_index.mjs +0 -5
- package/esm2022/chips/index.mjs +0 -9
- package/esm2022/chips/module.mjs +0 -85
- package/esm2022/chips/public-api.mjs +0 -20
- package/esm2022/chips/testing/chip-avatar-harness.mjs +0 -22
- package/esm2022/chips/testing/chip-edit-input-harness.mjs +0 -33
- package/esm2022/chips/testing/chip-grid-harness.mjs +0 -45
- package/esm2022/chips/testing/chip-harness-filters.mjs +0 -9
- package/esm2022/chips/testing/chip-harness.mjs +0 -62
- package/esm2022/chips/testing/chip-input-harness.mjs +0 -85
- package/esm2022/chips/testing/chip-listbox-harness.mjs +0 -61
- package/esm2022/chips/testing/chip-option-harness.mjs +0 -45
- package/esm2022/chips/testing/chip-remove-harness.mjs +0 -26
- package/esm2022/chips/testing/chip-row-harness.mjs +0 -40
- package/esm2022/chips/testing/chip-set-harness.mjs +0 -26
- package/esm2022/chips/testing/index.mjs +0 -9
- package/esm2022/chips/testing/public-api.mjs +0 -19
- package/esm2022/chips/tokens.mjs +0 -39
- package/esm2022/core/animation/animation.mjs +0 -21
- package/esm2022/core/common-behaviors/color.mjs +0 -33
- package/esm2022/core/common-behaviors/common-module.mjs +0 -127
- package/esm2022/core/common-behaviors/constructor.mjs +0 -9
- package/esm2022/core/common-behaviors/disable-ripple.mjs +0 -24
- package/esm2022/core/common-behaviors/disabled.mjs +0 -23
- package/esm2022/core/common-behaviors/error-state.mjs +0 -66
- package/esm2022/core/common-behaviors/index.mjs +0 -15
- package/esm2022/core/common-behaviors/initialized.mjs +0 -62
- package/esm2022/core/common-behaviors/tabindex.mjs +0 -25
- package/esm2022/core/core_public_index.mjs +0 -5
- package/esm2022/core/datetime/date-adapter.mjs +0 -109
- package/esm2022/core/datetime/date-formats.mjs +0 -10
- package/esm2022/core/datetime/index.mjs +0 -46
- package/esm2022/core/datetime/native-date-adapter.mjs +0 -221
- package/esm2022/core/datetime/native-date-formats.mjs +0 -19
- package/esm2022/core/error/error-options.mjs +0 -33
- package/esm2022/core/index.mjs +0 -9
- package/esm2022/core/internal-form-field/internal-form-field.mjs +0 -29
- package/esm2022/core/line/line.mjs +0 -64
- package/esm2022/core/option/index.mjs +0 -30
- package/esm2022/core/option/optgroup.mjs +0 -71
- package/esm2022/core/option/option-parent.mjs +0 -13
- package/esm2022/core/option/option.mjs +0 -283
- package/esm2022/core/private/index.mjs +0 -9
- package/esm2022/core/private/ripple-loader.mjs +0 -160
- package/esm2022/core/public-api.mjs +0 -19
- package/esm2022/core/ripple/index.mjs +0 -27
- package/esm2022/core/ripple/ripple-event-manager.mjs +0 -69
- package/esm2022/core/ripple/ripple-ref.mjs +0 -39
- package/esm2022/core/ripple/ripple-renderer.mjs +0 -354
- package/esm2022/core/ripple/ripple.mjs +0 -156
- package/esm2022/core/selection/index.mjs +0 -10
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +0 -24
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -62
- package/esm2022/core/testing/index.mjs +0 -9
- package/esm2022/core/testing/optgroup-harness-filters.mjs +0 -9
- package/esm2022/core/testing/optgroup-harness.mjs +0 -43
- package/esm2022/core/testing/option-harness-filters.mjs +0 -9
- package/esm2022/core/testing/option-harness.mjs +0 -53
- package/esm2022/core/testing/public-api.mjs +0 -12
- package/esm2022/core/version.mjs +0 -11
- package/esm2022/datepicker/aria-accessible-name.mjs +0 -159
- package/esm2022/datepicker/calendar-body.mjs +0 -509
- package/esm2022/datepicker/calendar.mjs +0 -426
- package/esm2022/datepicker/date-range-input-parts.mjs +0 -372
- package/esm2022/datepicker/date-range-input.mjs +0 -369
- package/esm2022/datepicker/date-range-picker.mjs +0 -51
- package/esm2022/datepicker/date-range-selection-strategy.mjs +0 -97
- package/esm2022/datepicker/date-selection-model.mjs +0 -188
- package/esm2022/datepicker/datepicker-actions.mjs +0 -91
- package/esm2022/datepicker/datepicker-animations.mjs +0 -35
- package/esm2022/datepicker/datepicker-base.mjs +0 -609
- package/esm2022/datepicker/datepicker-errors.mjs +0 -14
- package/esm2022/datepicker/datepicker-input-base.mjs +0 -311
- package/esm2022/datepicker/datepicker-input.mjs +0 -200
- package/esm2022/datepicker/datepicker-intl.mjs +0 -69
- package/esm2022/datepicker/datepicker-module.mjs +0 -138
- package/esm2022/datepicker/datepicker-toggle.mjs +0 -113
- package/esm2022/datepicker/datepicker.mjs +0 -38
- package/esm2022/datepicker/datepicker_public_index.mjs +0 -5
- package/esm2022/datepicker/index.mjs +0 -9
- package/esm2022/datepicker/month-view.mjs +0 -460
- package/esm2022/datepicker/multi-year-view.mjs +0 -330
- package/esm2022/datepicker/public-api.mjs +0 -27
- package/esm2022/datepicker/testing/calendar-cell-harness.mjs +0 -138
- package/esm2022/datepicker/testing/calendar-harness.mjs +0 -83
- package/esm2022/datepicker/testing/date-range-input-harness.mjs +0 -98
- package/esm2022/datepicker/testing/datepicker-harness-filters.mjs +0 -9
- package/esm2022/datepicker/testing/datepicker-input-harness-base.mjs +0 -81
- package/esm2022/datepicker/testing/datepicker-input-harness.mjs +0 -58
- package/esm2022/datepicker/testing/datepicker-toggle-harness.mjs +0 -41
- package/esm2022/datepicker/testing/datepicker-trigger-harness-base.mjs +0 -65
- package/esm2022/datepicker/testing/index.mjs +0 -9
- package/esm2022/datepicker/testing/public-api.mjs +0 -14
- package/esm2022/datepicker/year-view.mjs +0 -324
- package/esm2022/dialog/dialog-animations.mjs +0 -38
- package/esm2022/dialog/dialog-config.mjs +0 -59
- package/esm2022/dialog/dialog-container.mjs +0 -253
- package/esm2022/dialog/dialog-content-directives.mjs +0 -212
- package/esm2022/dialog/dialog-ref.mjs +0 -177
- package/esm2022/dialog/dialog.mjs +0 -212
- package/esm2022/dialog/dialog_public_index.mjs +0 -5
- package/esm2022/dialog/index.mjs +0 -9
- package/esm2022/dialog/module.mjs +0 -45
- package/esm2022/dialog/public-api.mjs +0 -15
- package/esm2022/dialog/testing/dialog-harness-filters.mjs +0 -9
- package/esm2022/dialog/testing/dialog-harness.mjs +0 -84
- package/esm2022/dialog/testing/dialog-opener.mjs +0 -58
- package/esm2022/dialog/testing/index.mjs +0 -10
- package/esm2022/dialog/testing/public-api.mjs +0 -10
- package/esm2022/divider/divider-module.mjs +0 -24
- package/esm2022/divider/divider.mjs +0 -48
- package/esm2022/divider/divider_public_index.mjs +0 -5
- package/esm2022/divider/index.mjs +0 -9
- package/esm2022/divider/public-api.mjs +0 -10
- package/esm2022/divider/testing/divider-harness-filters.mjs +0 -9
- package/esm2022/divider/testing/divider-harness.mjs +0 -22
- package/esm2022/divider/testing/index.mjs +0 -9
- package/esm2022/divider/testing/public-api.mjs +0 -10
- package/esm2022/expansion/accordion-base.mjs +0 -14
- package/esm2022/expansion/accordion.mjs +0 -96
- package/esm2022/expansion/expansion-animations.mjs +0 -51
- package/esm2022/expansion/expansion-module.mjs +0 -65
- package/esm2022/expansion/expansion-panel-base.mjs +0 -14
- package/esm2022/expansion/expansion-panel-content.mjs +0 -35
- package/esm2022/expansion/expansion-panel-header.mjs +0 -218
- package/esm2022/expansion/expansion-panel.mjs +0 -211
- package/esm2022/expansion/expansion_public_index.mjs +0 -5
- package/esm2022/expansion/index.mjs +0 -9
- package/esm2022/expansion/public-api.mjs +0 -16
- package/esm2022/expansion/testing/accordion-harness.mjs +0 -31
- package/esm2022/expansion/testing/expansion-harness-filters.mjs +0 -9
- package/esm2022/expansion/testing/expansion-harness.mjs +0 -128
- package/esm2022/expansion/testing/index.mjs +0 -9
- package/esm2022/expansion/testing/public-api.mjs +0 -11
- package/esm2022/form-field/directives/error.mjs +0 -48
- package/esm2022/form-field/directives/floating-label.mjs +0 -135
- package/esm2022/form-field/directives/hint.mjs +0 -40
- package/esm2022/form-field/directives/label.mjs +0 -22
- package/esm2022/form-field/directives/line-ripple.mjs +0 -60
- package/esm2022/form-field/directives/notched-outline.mjs +0 -66
- package/esm2022/form-field/directives/prefix.mjs +0 -38
- package/esm2022/form-field/directives/suffix.mjs +0 -38
- package/esm2022/form-field/form-field-animations.mjs +0 -24
- package/esm2022/form-field/form-field-control.mjs +0 -11
- package/esm2022/form-field/form-field-errors.mjs +0 -20
- package/esm2022/form-field/form-field.mjs +0 -620
- package/esm2022/form-field/form-field_public_index.mjs +0 -5
- package/esm2022/form-field/index.mjs +0 -9
- package/esm2022/form-field/module.mjs +0 -51
- package/esm2022/form-field/public-api.mjs +0 -18
- package/esm2022/form-field/testing/control/form-field-control-harness.mjs +0 -15
- package/esm2022/form-field/testing/control/index.mjs +0 -9
- package/esm2022/form-field/testing/error-harness.mjs +0 -29
- package/esm2022/form-field/testing/form-field-harness-filters.mjs +0 -9
- package/esm2022/form-field/testing/form-field-harness.mjs +0 -179
- package/esm2022/form-field/testing/index.mjs +0 -9
- package/esm2022/form-field/testing/public-api.mjs +0 -15
- package/esm2022/grid-list/grid-list-base.mjs +0 -14
- package/esm2022/grid-list/grid-list-module.mjs +0 -59
- package/esm2022/grid-list/grid-list.mjs +0 -146
- package/esm2022/grid-list/grid-list_public_index.mjs +0 -5
- package/esm2022/grid-list/grid-tile.mjs +0 -128
- package/esm2022/grid-list/index.mjs +0 -9
- package/esm2022/grid-list/public-api.mjs +0 -14
- package/esm2022/grid-list/testing/grid-list-harness-filters.mjs +0 -9
- package/esm2022/grid-list/testing/grid-list-harness.mjs +0 -76
- package/esm2022/grid-list/testing/grid-tile-harness.mjs +0 -71
- package/esm2022/grid-list/testing/index.mjs +0 -9
- package/esm2022/grid-list/testing/public-api.mjs +0 -11
- package/esm2022/grid-list/tile-coordinator.mjs +0 -145
- package/esm2022/grid-list/tile-styler.mjs +0 -231
- package/esm2022/icon/fake-svgs.mjs +0 -62
- package/esm2022/icon/icon-module.mjs +0 -24
- package/esm2022/icon/icon-registry.mjs +0 -592
- package/esm2022/icon/icon.mjs +0 -379
- package/esm2022/icon/icon_public_index.mjs +0 -5
- package/esm2022/icon/index.mjs +0 -9
- package/esm2022/icon/public-api.mjs +0 -11
- package/esm2022/icon/testing/fake-icon-registry.mjs +0 -92
- package/esm2022/icon/testing/icon-harness-filters.mjs +0 -14
- package/esm2022/icon/testing/icon-harness.mjs +0 -60
- package/esm2022/icon/testing/index.mjs +0 -9
- package/esm2022/icon/testing/public-api.mjs +0 -11
- package/esm2022/icon/testing/testing_public_index.mjs +0 -5
- package/esm2022/icon/trusted-types.mjs +0 -43
- package/esm2022/index.mjs +0 -14
- package/esm2022/input/index.mjs +0 -9
- package/esm2022/input/input-errors.mjs +0 -12
- package/esm2022/input/input-value-accessor.mjs +0 -16
- package/esm2022/input/input.mjs +0 -524
- package/esm2022/input/input_public_index.mjs +0 -5
- package/esm2022/input/module.mjs +0 -26
- package/esm2022/input/public-api.mjs +0 -14
- package/esm2022/input/testing/index.mjs +0 -9
- package/esm2022/input/testing/input-harness-filters.mjs +0 -9
- package/esm2022/input/testing/input-harness.mjs +0 -119
- package/esm2022/input/testing/native-option-harness.mjs +0 -42
- package/esm2022/input/testing/native-select-harness-filters.mjs +0 -9
- package/esm2022/input/testing/native-select-harness.mjs +0 -79
- package/esm2022/input/testing/public-api.mjs +0 -13
- package/esm2022/list/action-list.mjs +0 -31
- package/esm2022/list/index.mjs +0 -9
- package/esm2022/list/list-base.mjs +0 -284
- package/esm2022/list/list-item-sections.mjs +0 -144
- package/esm2022/list/list-module.mjs +0 -97
- package/esm2022/list/list-option-types.mjs +0 -16
- package/esm2022/list/list-option.mjs +0 -295
- package/esm2022/list/list.mjs +0 -103
- package/esm2022/list/list_public_index.mjs +0 -5
- package/esm2022/list/nav-list.mjs +0 -37
- package/esm2022/list/public-api.mjs +0 -18
- package/esm2022/list/selection-list.mjs +0 -391
- package/esm2022/list/subheader.mjs +0 -28
- package/esm2022/list/testing/action-list-harness.mjs +0 -59
- package/esm2022/list/testing/index.mjs +0 -9
- package/esm2022/list/testing/list-harness-base.mjs +0 -95
- package/esm2022/list/testing/list-harness-filters.mjs +0 -9
- package/esm2022/list/testing/list-harness.mjs +0 -41
- package/esm2022/list/testing/list-item-harness-base.mjs +0 -162
- package/esm2022/list/testing/nav-list-harness.mjs +0 -69
- package/esm2022/list/testing/public-api.mjs +0 -14
- package/esm2022/list/testing/selection-list-harness.mjs +0 -122
- package/esm2022/list/tokens.mjs +0 -11
- package/esm2022/menu/index.mjs +0 -9
- package/esm2022/menu/menu-animations.mjs +0 -61
- package/esm2022/menu/menu-content.mjs +0 -87
- package/esm2022/menu/menu-errors.mjs +0 -35
- package/esm2022/menu/menu-item.mjs +0 -148
- package/esm2022/menu/menu-panel.mjs +0 -14
- package/esm2022/menu/menu-positions.mjs +0 -9
- package/esm2022/menu/menu-trigger.mjs +0 -542
- package/esm2022/menu/menu.mjs +0 -405
- package/esm2022/menu/menu_public_index.mjs +0 -5
- package/esm2022/menu/module.mjs +0 -63
- package/esm2022/menu/public-api.mjs +0 -16
- package/esm2022/menu/testing/index.mjs +0 -9
- package/esm2022/menu/testing/menu-harness-filters.mjs +0 -9
- package/esm2022/menu/testing/menu-harness.mjs +0 -166
- package/esm2022/menu/testing/public-api.mjs +0 -10
- package/esm2022/paginator/index.mjs +0 -9
- package/esm2022/paginator/module.mjs +0 -28
- package/esm2022/paginator/paginator-intl.mjs +0 -62
- package/esm2022/paginator/paginator.mjs +0 -266
- package/esm2022/paginator/paginator_public_index.mjs +0 -5
- package/esm2022/paginator/public-api.mjs +0 -11
- package/esm2022/paginator/testing/index.mjs +0 -9
- package/esm2022/paginator/testing/paginator-harness-filters.mjs +0 -9
- package/esm2022/paginator/testing/paginator-harness.mjs +0 -98
- package/esm2022/paginator/testing/public-api.mjs +0 -10
- package/esm2022/progress-bar/index.mjs +0 -9
- package/esm2022/progress-bar/module.mjs +0 -24
- package/esm2022/progress-bar/progress-bar.mjs +0 -181
- package/esm2022/progress-bar/progress-bar_public_index.mjs +0 -5
- package/esm2022/progress-bar/public-api.mjs +0 -10
- package/esm2022/progress-bar/testing/index.mjs +0 -9
- package/esm2022/progress-bar/testing/progress-bar-harness-filters.mjs +0 -9
- package/esm2022/progress-bar/testing/progress-bar-harness.mjs +0 -33
- package/esm2022/progress-bar/testing/public-api.mjs +0 -10
- package/esm2022/progress-bar/testing/testing_public_index.mjs +0 -5
- package/esm2022/progress-spinner/index.mjs +0 -9
- package/esm2022/progress-spinner/module.mjs +0 -25
- package/esm2022/progress-spinner/progress-spinner.mjs +0 -166
- package/esm2022/progress-spinner/progress-spinner_public_index.mjs +0 -5
- package/esm2022/progress-spinner/public-api.mjs +0 -10
- package/esm2022/progress-spinner/testing/index.mjs +0 -9
- package/esm2022/progress-spinner/testing/progress-spinner-harness-filters.mjs +0 -9
- package/esm2022/progress-spinner/testing/progress-spinner-harness.mjs +0 -35
- package/esm2022/progress-spinner/testing/public-api.mjs +0 -10
- package/esm2022/progress-spinner/testing/testing_public_index.mjs +0 -5
- package/esm2022/radio/index.mjs +0 -9
- package/esm2022/radio/module.mjs +0 -25
- package/esm2022/radio/public-api.mjs +0 -10
- package/esm2022/radio/radio.mjs +0 -680
- package/esm2022/radio/radio_public_index.mjs +0 -5
- package/esm2022/radio/testing/index.mjs +0 -9
- package/esm2022/radio/testing/public-api.mjs +0 -10
- package/esm2022/radio/testing/radio-harness-filters.mjs +0 -9
- package/esm2022/radio/testing/radio-harness.mjs +0 -228
- package/esm2022/select/index.mjs +0 -9
- package/esm2022/select/module.mjs +0 -59
- package/esm2022/select/public-api.mjs +0 -15
- package/esm2022/select/select-animations.mjs +0 -38
- package/esm2022/select/select-errors.mjs +0 -35
- package/esm2022/select/select.mjs +0 -1160
- package/esm2022/select/select_public_index.mjs +0 -5
- package/esm2022/select/testing/index.mjs +0 -9
- package/esm2022/select/testing/public-api.mjs +0 -10
- package/esm2022/select/testing/select-harness-filters.mjs +0 -9
- package/esm2022/select/testing/select-harness.mjs +0 -129
- package/esm2022/sidenav/drawer-animations.mjs +0 -33
- package/esm2022/sidenav/drawer.mjs +0 -863
- package/esm2022/sidenav/index.mjs +0 -9
- package/esm2022/sidenav/public-api.mjs +0 -12
- package/esm2022/sidenav/sidenav-module.mjs +0 -60
- package/esm2022/sidenav/sidenav.mjs +0 -148
- package/esm2022/sidenav/sidenav_public_index.mjs +0 -5
- package/esm2022/sidenav/testing/drawer-container-harness.mjs +0 -36
- package/esm2022/sidenav/testing/drawer-content-harness.mjs +0 -23
- package/esm2022/sidenav/testing/drawer-harness-filters.mjs +0 -9
- package/esm2022/sidenav/testing/drawer-harness.mjs +0 -49
- package/esm2022/sidenav/testing/index.mjs +0 -9
- package/esm2022/sidenav/testing/public-api.mjs +0 -15
- package/esm2022/sidenav/testing/sidenav-container-harness.mjs +0 -36
- package/esm2022/sidenav/testing/sidenav-content-harness.mjs +0 -23
- package/esm2022/sidenav/testing/sidenav-harness.mjs +0 -28
- package/esm2022/slide-toggle/index.mjs +0 -9
- package/esm2022/slide-toggle/module.mjs +0 -41
- package/esm2022/slide-toggle/public-api.mjs +0 -12
- package/esm2022/slide-toggle/slide-toggle-config.mjs +0 -14
- package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +0 -44
- package/esm2022/slide-toggle/slide-toggle.mjs +0 -273
- package/esm2022/slide-toggle/slide-toggle_public_index.mjs +0 -5
- package/esm2022/slide-toggle/testing/index.mjs +0 -9
- package/esm2022/slide-toggle/testing/public-api.mjs +0 -10
- package/esm2022/slide-toggle/testing/slide-toggle-harness-filters.mjs +0 -9
- package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +0 -110
- package/esm2022/slider/index.mjs +0 -9
- package/esm2022/slider/module.mjs +0 -39
- package/esm2022/slider/public-api.mjs +0 -13
- package/esm2022/slider/slider-input.mjs +0 -701
- package/esm2022/slider/slider-interface.mjs +0 -56
- package/esm2022/slider/slider-thumb.mjs +0 -231
- package/esm2022/slider/slider.mjs +0 -746
- package/esm2022/slider/slider_public_index.mjs +0 -5
- package/esm2022/slider/testing/index.mjs +0 -9
- package/esm2022/slider/testing/public-api.mjs +0 -11
- package/esm2022/slider/testing/slider-harness-filters.mjs +0 -7
- package/esm2022/slider/testing/slider-harness.mjs +0 -67
- package/esm2022/slider/testing/slider-thumb-harness.mjs +0 -95
- package/esm2022/snack-bar/index.mjs +0 -9
- package/esm2022/snack-bar/module.mjs +0 -47
- package/esm2022/snack-bar/public-api.mjs +0 -16
- package/esm2022/snack-bar/simple-snack-bar.mjs +0 -40
- package/esm2022/snack-bar/snack-bar-animations.mjs +0 -30
- package/esm2022/snack-bar/snack-bar-config.mjs +0 -33
- package/esm2022/snack-bar/snack-bar-container.mjs +0 -277
- package/esm2022/snack-bar/snack-bar-content.mjs +0 -55
- package/esm2022/snack-bar/snack-bar-ref.mjs +0 -89
- package/esm2022/snack-bar/snack-bar.mjs +0 -267
- package/esm2022/snack-bar/snack-bar_public_index.mjs +0 -5
- package/esm2022/snack-bar/testing/index.mjs +0 -9
- package/esm2022/snack-bar/testing/public-api.mjs +0 -10
- package/esm2022/snack-bar/testing/snack-bar-harness-filters.mjs +0 -9
- package/esm2022/snack-bar/testing/snack-bar-harness.mjs +0 -101
- package/esm2022/sort/index.mjs +0 -9
- package/esm2022/sort/public-api.mjs +0 -14
- package/esm2022/sort/sort-animations.mjs +0 -69
- package/esm2022/sort/sort-direction.mjs +0 -9
- package/esm2022/sort/sort-errors.mjs +0 -24
- package/esm2022/sort/sort-header-intl.mjs +0 -41
- package/esm2022/sort/sort-header.mjs +0 -317
- package/esm2022/sort/sort-module.mjs +0 -27
- package/esm2022/sort/sort.mjs +0 -155
- package/esm2022/sort/sort_public_index.mjs +0 -5
- package/esm2022/sort/testing/index.mjs +0 -9
- package/esm2022/sort/testing/public-api.mjs +0 -11
- package/esm2022/sort/testing/sort-harness-filters.mjs +0 -2
- package/esm2022/sort/testing/sort-harness.mjs +0 -36
- package/esm2022/sort/testing/sort-header-harness.mjs +0 -56
- package/esm2022/stepper/index.mjs +0 -9
- package/esm2022/stepper/public-api.mjs +0 -17
- package/esm2022/stepper/step-content.mjs +0 -27
- package/esm2022/stepper/step-header.mjs +0 -105
- package/esm2022/stepper/step-label.mjs +0 -22
- package/esm2022/stepper/stepper-animations.mjs +0 -47
- package/esm2022/stepper/stepper-button.mjs +0 -43
- package/esm2022/stepper/stepper-icon.mjs +0 -30
- package/esm2022/stepper/stepper-intl.mjs +0 -43
- package/esm2022/stepper/stepper-module.mjs +0 -88
- package/esm2022/stepper/stepper.mjs +0 -205
- package/esm2022/stepper/stepper_public_index.mjs +0 -5
- package/esm2022/stepper/testing/index.mjs +0 -9
- package/esm2022/stepper/testing/public-api.mjs +0 -12
- package/esm2022/stepper/testing/step-harness-filters.mjs +0 -7
- package/esm2022/stepper/testing/step-harness.mjs +0 -90
- package/esm2022/stepper/testing/stepper-button-harnesses.mjs +0 -48
- package/esm2022/stepper/testing/stepper-harness.mjs +0 -51
- package/esm2022/table/cell.mjs +0 -147
- package/esm2022/table/index.mjs +0 -9
- package/esm2022/table/module.mjs +0 -93
- package/esm2022/table/public-api.mjs +0 -14
- package/esm2022/table/row.mjs +0 -163
- package/esm2022/table/table-data-source.mjs +0 -317
- package/esm2022/table/table.mjs +0 -122
- package/esm2022/table/table_public_index.mjs +0 -5
- package/esm2022/table/testing/cell-harness.mjs +0 -77
- package/esm2022/table/testing/index.mjs +0 -9
- package/esm2022/table/testing/public-api.mjs +0 -12
- package/esm2022/table/testing/row-harness.mjs +0 -84
- package/esm2022/table/testing/table-harness-filters.mjs +0 -2
- package/esm2022/table/testing/table-harness.mjs +0 -86
- package/esm2022/table/text-column.mjs +0 -60
- package/esm2022/tabs/index.mjs +0 -9
- package/esm2022/tabs/ink-bar.mjs +0 -149
- package/esm2022/tabs/module.mjs +0 -60
- package/esm2022/tabs/paginated-tab-header.mjs +0 -539
- package/esm2022/tabs/public-api.mjs +0 -21
- package/esm2022/tabs/tab-body.mjs +0 -199
- package/esm2022/tabs/tab-config.mjs +0 -11
- package/esm2022/tabs/tab-content.mjs +0 -32
- package/esm2022/tabs/tab-group.mjs +0 -469
- package/esm2022/tabs/tab-header.mjs +0 -86
- package/esm2022/tabs/tab-label-wrapper.mjs +0 -49
- package/esm2022/tabs/tab-label.mjs +0 -44
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -388
- package/esm2022/tabs/tab.mjs +0 -128
- package/esm2022/tabs/tabs-animations.mjs +0 -45
- package/esm2022/tabs/tabs_public_index.mjs +0 -5
- package/esm2022/tabs/testing/index.mjs +0 -9
- package/esm2022/tabs/testing/public-api.mjs +0 -13
- package/esm2022/tabs/testing/tab-group-harness.mjs +0 -56
- package/esm2022/tabs/testing/tab-harness-filters.mjs +0 -2
- package/esm2022/tabs/testing/tab-harness.mjs +0 -66
- package/esm2022/tabs/testing/tab-link-harness.mjs +0 -40
- package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +0 -66
- package/esm2022/tabs/testing/tab-nav-panel-harness.mjs +0 -27
- package/esm2022/toolbar/index.mjs +0 -9
- package/esm2022/toolbar/public-api.mjs +0 -10
- package/esm2022/toolbar/testing/index.mjs +0 -9
- package/esm2022/toolbar/testing/public-api.mjs +0 -10
- package/esm2022/toolbar/testing/toolbar-harness-filters.mjs +0 -9
- package/esm2022/toolbar/testing/toolbar-harness.mjs +0 -44
- package/esm2022/toolbar/toolbar-module.mjs +0 -24
- package/esm2022/toolbar/toolbar.mjs +0 -84
- package/esm2022/toolbar/toolbar_public_index.mjs +0 -5
- package/esm2022/tooltip/index.mjs +0 -9
- package/esm2022/tooltip/module.mjs +0 -29
- package/esm2022/tooltip/public-api.mjs +0 -11
- package/esm2022/tooltip/testing/index.mjs +0 -9
- package/esm2022/tooltip/testing/public-api.mjs +0 -10
- package/esm2022/tooltip/testing/tooltip-harness-filters.mjs +0 -9
- package/esm2022/tooltip/testing/tooltip-harness.mjs +0 -66
- package/esm2022/tooltip/tooltip-animations.mjs +0 -24
- package/esm2022/tooltip/tooltip.mjs +0 -920
- package/esm2022/tooltip/tooltip_public_index.mjs +0 -5
- package/esm2022/tree/data-source/flat-data-source.mjs +0 -156
- package/esm2022/tree/data-source/nested-data-source.mjs +0 -38
- package/esm2022/tree/index.mjs +0 -9
- package/esm2022/tree/node.mjs +0 -220
- package/esm2022/tree/outlet.mjs +0 -46
- package/esm2022/tree/padding.mjs +0 -46
- package/esm2022/tree/public-api.mjs +0 -16
- package/esm2022/tree/testing/index.mjs +0 -9
- package/esm2022/tree/testing/node-harness.mjs +0 -73
- package/esm2022/tree/testing/public-api.mjs +0 -11
- package/esm2022/tree/testing/tree-harness-filters.mjs +0 -9
- package/esm2022/tree/testing/tree-harness.mjs +0 -123
- package/esm2022/tree/toggle.mjs +0 -27
- package/esm2022/tree/tree-module.mjs +0 -50
- package/esm2022/tree/tree.mjs +0 -34
- package/esm2022/tree/tree_public_index.mjs +0 -5
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
9
|
-
import { ANIMATION_MODULE_TYPE, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Inject, InjectionToken, Input, NgZone, Optional, Output, QueryList, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
10
|
-
import { MAT_RIPPLE_GLOBAL_OPTIONS } from '@angular/material/core';
|
|
11
|
-
import { MatListItemBase } from './list-base';
|
|
12
|
-
import { LIST_OPTION } from './list-option-types';
|
|
13
|
-
import { MatListItemLine, MatListItemTitle } from './list-item-sections';
|
|
14
|
-
import { Platform } from '@angular/cdk/platform';
|
|
15
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
16
|
-
import { CdkObserveContent } from '@angular/cdk/observers';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@angular/cdk/platform";
|
|
19
|
-
/**
|
|
20
|
-
* Injection token that can be used to reference instances of an `SelectionList`. It serves
|
|
21
|
-
* as alternative token to an actual implementation which would result in circular references.
|
|
22
|
-
* @docs-private
|
|
23
|
-
*/
|
|
24
|
-
export const SELECTION_LIST = new InjectionToken('SelectionList');
|
|
25
|
-
export class MatListOption extends MatListItemBase {
|
|
26
|
-
/**
|
|
27
|
-
* Whether the label should appear before or after the checkbox/radio. Defaults to 'after'
|
|
28
|
-
*
|
|
29
|
-
* @deprecated Use `togglePosition` instead.
|
|
30
|
-
* @breaking-change 17.0.0
|
|
31
|
-
*/
|
|
32
|
-
get checkboxPosition() {
|
|
33
|
-
return this.togglePosition;
|
|
34
|
-
}
|
|
35
|
-
set checkboxPosition(value) {
|
|
36
|
-
this.togglePosition = value;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Theme color of the list option. This sets the color of the checkbox/radio.
|
|
40
|
-
* This API is supported in M2 themes only, it has no effect in M3 themes.
|
|
41
|
-
*
|
|
42
|
-
* For information on applying color variants in M3, see
|
|
43
|
-
* https://material.angular.io/guide/theming#using-component-color-variants.
|
|
44
|
-
*/
|
|
45
|
-
get color() {
|
|
46
|
-
return this._color || this._selectionList.color;
|
|
47
|
-
}
|
|
48
|
-
set color(newValue) {
|
|
49
|
-
this._color = newValue;
|
|
50
|
-
}
|
|
51
|
-
/** Value of the option */
|
|
52
|
-
get value() {
|
|
53
|
-
return this._value;
|
|
54
|
-
}
|
|
55
|
-
set value(newValue) {
|
|
56
|
-
if (this.selected && newValue !== this.value && this._inputsInitialized) {
|
|
57
|
-
this.selected = false;
|
|
58
|
-
}
|
|
59
|
-
this._value = newValue;
|
|
60
|
-
}
|
|
61
|
-
/** Whether the option is selected. */
|
|
62
|
-
get selected() {
|
|
63
|
-
return this._selectionList.selectedOptions.isSelected(this);
|
|
64
|
-
}
|
|
65
|
-
set selected(value) {
|
|
66
|
-
const isSelected = coerceBooleanProperty(value);
|
|
67
|
-
if (isSelected !== this._selected) {
|
|
68
|
-
this._setSelected(isSelected);
|
|
69
|
-
if (isSelected || this._selectionList.multiple) {
|
|
70
|
-
this._selectionList._reportValueChange();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
constructor(elementRef, ngZone, _selectionList, platform, _changeDetectorRef, globalRippleOptions, animationMode) {
|
|
75
|
-
super(elementRef, ngZone, _selectionList, platform, globalRippleOptions, animationMode);
|
|
76
|
-
this._selectionList = _selectionList;
|
|
77
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
78
|
-
/**
|
|
79
|
-
* Emits when the selected state of the option has changed.
|
|
80
|
-
* Use to facilitate two-data binding to the `selected` property.
|
|
81
|
-
* @docs-private
|
|
82
|
-
*/
|
|
83
|
-
this.selectedChange = new EventEmitter();
|
|
84
|
-
/** Whether the label should appear before or after the checkbox/radio. Defaults to 'after' */
|
|
85
|
-
this.togglePosition = 'after';
|
|
86
|
-
this._selected = false;
|
|
87
|
-
/**
|
|
88
|
-
* This is set to true after the first OnChanges cycle so we don't
|
|
89
|
-
* clear the value of `selected` in the first cycle.
|
|
90
|
-
*/
|
|
91
|
-
this._inputsInitialized = false;
|
|
92
|
-
}
|
|
93
|
-
ngOnInit() {
|
|
94
|
-
const list = this._selectionList;
|
|
95
|
-
if (list._value && list._value.some(value => list.compareWith(this._value, value))) {
|
|
96
|
-
this._setSelected(true);
|
|
97
|
-
}
|
|
98
|
-
const wasSelected = this._selected;
|
|
99
|
-
// List options that are selected at initialization can't be reported properly to the form
|
|
100
|
-
// control. This is because it takes some time until the selection-list knows about all
|
|
101
|
-
// available options. Also it can happen that the ControlValueAccessor has an initial value
|
|
102
|
-
// that should be used instead. Deferring the value change report to the next tick ensures
|
|
103
|
-
// that the form control value is not being overwritten.
|
|
104
|
-
Promise.resolve().then(() => {
|
|
105
|
-
if (this._selected || wasSelected) {
|
|
106
|
-
this.selected = true;
|
|
107
|
-
this._changeDetectorRef.markForCheck();
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
this._inputsInitialized = true;
|
|
111
|
-
}
|
|
112
|
-
ngOnDestroy() {
|
|
113
|
-
super.ngOnDestroy();
|
|
114
|
-
if (this.selected) {
|
|
115
|
-
// We have to delay this until the next tick in order
|
|
116
|
-
// to avoid changed after checked errors.
|
|
117
|
-
Promise.resolve().then(() => {
|
|
118
|
-
this.selected = false;
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/** Toggles the selection state of the option. */
|
|
123
|
-
toggle() {
|
|
124
|
-
this.selected = !this.selected;
|
|
125
|
-
}
|
|
126
|
-
/** Allows for programmatic focusing of the option. */
|
|
127
|
-
focus() {
|
|
128
|
-
this._hostElement.focus();
|
|
129
|
-
}
|
|
130
|
-
/** Gets the text label of the list option. Used for the typeahead functionality in the list. */
|
|
131
|
-
getLabel() {
|
|
132
|
-
const titleElement = this._titles?.get(0)?._elementRef.nativeElement;
|
|
133
|
-
// If there is no explicit title element, the unscoped text content
|
|
134
|
-
// is treated as the list item title.
|
|
135
|
-
const labelEl = titleElement || this._unscopedContent?.nativeElement;
|
|
136
|
-
return labelEl?.textContent || '';
|
|
137
|
-
}
|
|
138
|
-
/** Whether a checkbox is shown at the given position. */
|
|
139
|
-
_hasCheckboxAt(position) {
|
|
140
|
-
return this._selectionList.multiple && this._getTogglePosition() === position;
|
|
141
|
-
}
|
|
142
|
-
/** Where a radio indicator is shown at the given position. */
|
|
143
|
-
_hasRadioAt(position) {
|
|
144
|
-
return (!this._selectionList.multiple &&
|
|
145
|
-
this._getTogglePosition() === position &&
|
|
146
|
-
!this._selectionList.hideSingleSelectionIndicator);
|
|
147
|
-
}
|
|
148
|
-
/** Whether icons or avatars are shown at the given position. */
|
|
149
|
-
_hasIconsOrAvatarsAt(position) {
|
|
150
|
-
return this._hasProjected('icons', position) || this._hasProjected('avatars', position);
|
|
151
|
-
}
|
|
152
|
-
/** Gets whether the given type of element is projected at the specified position. */
|
|
153
|
-
_hasProjected(type, position) {
|
|
154
|
-
// If the checkbox/radio is shown at the specified position, neither icons or
|
|
155
|
-
// avatars can be shown at the position.
|
|
156
|
-
return (this._getTogglePosition() !== position &&
|
|
157
|
-
(type === 'avatars' ? this._avatars.length !== 0 : this._icons.length !== 0));
|
|
158
|
-
}
|
|
159
|
-
_handleBlur() {
|
|
160
|
-
this._selectionList._onTouched();
|
|
161
|
-
}
|
|
162
|
-
/** Gets the current position of the checkbox/radio. */
|
|
163
|
-
_getTogglePosition() {
|
|
164
|
-
return this.togglePosition || 'after';
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Sets the selected state of the option.
|
|
168
|
-
* @returns Whether the value has changed.
|
|
169
|
-
*/
|
|
170
|
-
_setSelected(selected) {
|
|
171
|
-
if (selected === this._selected) {
|
|
172
|
-
return false;
|
|
173
|
-
}
|
|
174
|
-
this._selected = selected;
|
|
175
|
-
if (selected) {
|
|
176
|
-
this._selectionList.selectedOptions.select(this);
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
this._selectionList.selectedOptions.deselect(this);
|
|
180
|
-
}
|
|
181
|
-
this.selectedChange.emit(selected);
|
|
182
|
-
this._changeDetectorRef.markForCheck();
|
|
183
|
-
return true;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Notifies Angular that the option needs to be checked in the next change detection run.
|
|
187
|
-
* Mainly used to trigger an update of the list option if the disabled state of the selection
|
|
188
|
-
* list changed.
|
|
189
|
-
*/
|
|
190
|
-
_markForCheck() {
|
|
191
|
-
this._changeDetectorRef.markForCheck();
|
|
192
|
-
}
|
|
193
|
-
/** Toggles the option's value based on a user interaction. */
|
|
194
|
-
_toggleOnInteraction() {
|
|
195
|
-
if (!this.disabled) {
|
|
196
|
-
if (this._selectionList.multiple) {
|
|
197
|
-
this.selected = !this.selected;
|
|
198
|
-
this._selectionList._emitChangeEvent([this]);
|
|
199
|
-
}
|
|
200
|
-
else if (!this.selected) {
|
|
201
|
-
this.selected = true;
|
|
202
|
-
this._selectionList._emitChangeEvent([this]);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
/** Sets the tabindex of the list option. */
|
|
207
|
-
_setTabindex(value) {
|
|
208
|
-
this._hostElement.setAttribute('tabindex', value + '');
|
|
209
|
-
}
|
|
210
|
-
_hasBothLeadingAndTrailing() {
|
|
211
|
-
const hasLeading = this._hasProjected('avatars', 'before') ||
|
|
212
|
-
this._hasProjected('icons', 'before') ||
|
|
213
|
-
this._hasCheckboxAt('before') ||
|
|
214
|
-
this._hasRadioAt('before');
|
|
215
|
-
const hasTrailing = this._hasProjected('icons', 'after') ||
|
|
216
|
-
this._hasProjected('avatars', 'after') ||
|
|
217
|
-
this._hasCheckboxAt('after') ||
|
|
218
|
-
this._hasRadioAt('after');
|
|
219
|
-
return hasLeading && hasTrailing;
|
|
220
|
-
}
|
|
221
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatListOption, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: SELECTION_LIST }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
222
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0-next.2", type: MatListOption, isStandalone: true, selector: "mat-list-option", inputs: { togglePosition: "togglePosition", checkboxPosition: "checkboxPosition", color: "color", value: "value", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, host: { attributes: { "role": "option" }, listeners: { "blur": "_handleBlur()", "click": "_toggleOnInteraction()" }, properties: { "class.mdc-list-item--selected": "selected && !_selectionList.multiple && _selectionList.hideSingleSelectionIndicator", "class.mdc-list-item--with-leading-avatar": "_hasProjected(\"avatars\", \"before\")", "class.mdc-list-item--with-leading-icon": "_hasProjected(\"icons\", \"before\")", "class.mdc-list-item--with-trailing-icon": "_hasProjected(\"icons\", \"after\")", "class.mat-mdc-list-option-with-trailing-avatar": "_hasProjected(\"avatars\", \"after\")", "class.mdc-list-item--with-leading-checkbox": "_hasCheckboxAt(\"before\")", "class.mdc-list-item--with-trailing-checkbox": "_hasCheckboxAt(\"after\")", "class.mdc-list-item--with-leading-radio": "_hasRadioAt(\"before\")", "class.mdc-list-item--with-trailing-radio": "_hasRadioAt(\"after\")", "class.mat-mdc-list-item-both-leading-and-trailing": "_hasBothLeadingAndTrailing()", "class.mat-accent": "color !== \"primary\" && color !== \"warn\"", "class.mat-warn": "color === \"warn\"", "class._mat-animation-noopable": "_noopAnimations", "attr.aria-selected": "selected" }, classAttribute: "mat-mdc-list-item mat-mdc-list-option mdc-list-item" }, providers: [
|
|
223
|
-
{ provide: MatListItemBase, useExisting: MatListOption },
|
|
224
|
-
{ provide: LIST_OPTION, useExisting: MatListOption },
|
|
225
|
-
], queries: [{ propertyName: "_lines", predicate: MatListItemLine, descendants: true }, { propertyName: "_titles", predicate: MatListItemTitle, descendants: true }], viewQueries: [{ propertyName: "_unscopedContent", first: true, predicate: ["unscopedContent"], descendants: true }], exportAs: ["matListOption"], usesInheritance: true, ngImport: i0, template: "<!--\n Save icons and the pseudo checkbox/radio so that they can be re-used in the template without\n duplication. Also content can only be injected once so we need to extract icons/avatars\n into a template since we use it in multiple places.\n-->\n<ng-template #icons>\n <ng-content select=\"[matListItemAvatar],[matListItemIcon]\">\n </ng-content>\n</ng-template>\n\n<ng-template #checkbox>\n <div class=\"mdc-checkbox\" [class.mdc-checkbox--disabled]=\"disabled\">\n <input type=\"checkbox\" class=\"mdc-checkbox__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #radio>\n <div class=\"mdc-radio\" [class.mdc-radio--disabled]=\"disabled\">\n <input type=\"radio\" class=\"mdc-radio__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-radio__background\">\n <div class=\"mdc-radio__outer-circle\"></div>\n <div class=\"mdc-radio__inner-circle\"></div>\n </div>\n </div>\n</ng-template>\n\n@if (_hasCheckboxAt('before')) {\n <!-- Container for the checkbox at start. -->\n <span class=\"mdc-list-item__start mat-mdc-list-option-checkbox-before\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n </span>\n} @else if (_hasRadioAt('before')) {\n <!-- Container for the radio at the start. -->\n <span class=\"mdc-list-item__start mat-mdc-list-option-radio-before\">\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n </span>\n}\n<!-- Conditionally renders icons/avatars before the list item text. -->\n@if (_hasIconsOrAvatarsAt('before')) {\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n}\n\n<!-- Text -->\n<span class=\"mdc-list-item__content\">\n <ng-content select=\"[matListItemTitle]\"></ng-content>\n <ng-content select=\"[matListItemLine]\"></ng-content>\n <span #unscopedContent class=\"mat-mdc-list-item-unscoped-content\"\n (cdkObserveContent)=\"_updateItemLines(true)\">\n <ng-content></ng-content>\n </span>\n</span>\n\n@if (_hasCheckboxAt('after')) {\n <!-- Container for the checkbox at the end. -->\n <span class=\"mdc-list-item__end\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n </span>\n} @else if (_hasRadioAt('after')) {\n <!-- Container for the radio at the end. -->\n <span class=\"mdc-list-item__end\">\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n </span>\n}\n\n<!-- Conditionally renders icons/avatars after the list item text. -->\n@if (_hasIconsOrAvatarsAt('after')) {\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n}\n\n<!-- Divider -->\n<ng-content select=\"mat-divider\"></ng-content>\n\n<!--\n Strong focus indicator element. MDC uses the `::before` pseudo element for the default\n focus/hover/selected state, so we need a separate element.\n-->\n<div class=\"mat-mdc-focus-indicator\"></div>\n", styles: [".mat-mdc-list-option-with-trailing-avatar.mdc-list-item,[dir=rtl] .mat-mdc-list-option-with-trailing-avatar.mdc-list-item{padding-left:0;padding-right:0}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{margin-left:16px;margin-right:16px;width:40px;height:40px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\"\";vertical-align:0}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\"\";vertical-align:-20px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{border-radius:50%}.mat-mdc-list-option .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;width:var(--mdc-checkbox-state-layer-size, 40px);height:var(--mdc-checkbox-state-layer-size, 40px);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mat-mdc-list-option .mdc-checkbox--disabled{cursor:default;pointer-events:none}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox--disabled{opacity:.5}.mat-mdc-list-option .mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);-webkit-print-color-adjust:exact;color-adjust:exact;border-color:var(--mdc-checkbox-unselected-icon-color, var(--mat-app-on-surface-variant));top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2)}.mat-mdc-list-option .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color, var(--mat-app-primary));background-color:var(--mdc-checkbox-selected-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-list-option .mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color, var(--mat-app-on-surface));background-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mat-app-primary));background-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color, var(--mat-app-on-surface))}.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mat-app-primary));background-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover .mdc-checkbox__native-control~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mdc-checkbox-selected-checkmark-color, var(--mat-app-on-primary))}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox__checkmark{color:CanvasText}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__checkmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color, var(--mat-app-surface))}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__checkmark,.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:CanvasText}.mat-mdc-list-option .mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mat-mdc-list-option .mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-selected-checkmark-color, var(--mat-app-on-primary))}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox__mixedmark{margin:0 1px}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, var(--mat-app-surface))}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-list-option._mat-animation-noopable .mdc-checkbox *,.mat-mdc-list-option._mat-animation-noopable .mdc-checkbox *::before{transition:none !important;animation:none !important}.mat-mdc-list-option .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-list-option .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-list-option .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:\"\";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px);top:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2);left:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-list-option .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-app-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-app-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-list-option .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-icon-color, var(--mat-app-on-surface-variant))}.mat-mdc-list-option .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-list-option .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-list-option._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-list-option._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-list-option .mdc-checkbox__native-control,.mat-mdc-list-option .mdc-radio__native-control{display:none}.cdk-high-contrast-active .mat-mdc-list-option.mdc-list-item--selected::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active .mat-mdc-list-option.mdc-list-item--selected [dir=rtl]::after{right:auto;left:16px}"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
226
|
-
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatListOption, decorators: [{
|
|
228
|
-
type: Component,
|
|
229
|
-
args: [{ selector: 'mat-list-option', exportAs: 'matListOption', host: {
|
|
230
|
-
'class': 'mat-mdc-list-item mat-mdc-list-option mdc-list-item',
|
|
231
|
-
'role': 'option',
|
|
232
|
-
// As per MDC, only list items without checkbox or radio indicator should receive the
|
|
233
|
-
// `--selected` class.
|
|
234
|
-
'[class.mdc-list-item--selected]': 'selected && !_selectionList.multiple && _selectionList.hideSingleSelectionIndicator',
|
|
235
|
-
// Based on the checkbox/radio position and whether there are icons or avatars, we apply MDC's
|
|
236
|
-
// list-item `--leading` and `--trailing` classes.
|
|
237
|
-
'[class.mdc-list-item--with-leading-avatar]': '_hasProjected("avatars", "before")',
|
|
238
|
-
'[class.mdc-list-item--with-leading-icon]': '_hasProjected("icons", "before")',
|
|
239
|
-
'[class.mdc-list-item--with-trailing-icon]': '_hasProjected("icons", "after")',
|
|
240
|
-
'[class.mat-mdc-list-option-with-trailing-avatar]': '_hasProjected("avatars", "after")',
|
|
241
|
-
// Based on the checkbox/radio position, we apply the `--leading` or `--trailing` MDC classes
|
|
242
|
-
// which ensure that the checkbox/radio is positioned correctly within the list item.
|
|
243
|
-
'[class.mdc-list-item--with-leading-checkbox]': '_hasCheckboxAt("before")',
|
|
244
|
-
'[class.mdc-list-item--with-trailing-checkbox]': '_hasCheckboxAt("after")',
|
|
245
|
-
'[class.mdc-list-item--with-leading-radio]': '_hasRadioAt("before")',
|
|
246
|
-
'[class.mdc-list-item--with-trailing-radio]': '_hasRadioAt("after")',
|
|
247
|
-
// Utility class that makes it easier to target the case where there's both a leading
|
|
248
|
-
// and a trailing icon. Avoids having to write out all the combinations.
|
|
249
|
-
'[class.mat-mdc-list-item-both-leading-and-trailing]': '_hasBothLeadingAndTrailing()',
|
|
250
|
-
'[class.mat-accent]': 'color !== "primary" && color !== "warn"',
|
|
251
|
-
'[class.mat-warn]': 'color === "warn"',
|
|
252
|
-
'[class._mat-animation-noopable]': '_noopAnimations',
|
|
253
|
-
'[attr.aria-selected]': 'selected',
|
|
254
|
-
'(blur)': '_handleBlur()',
|
|
255
|
-
'(click)': '_toggleOnInteraction()',
|
|
256
|
-
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
257
|
-
{ provide: MatListItemBase, useExisting: MatListOption },
|
|
258
|
-
{ provide: LIST_OPTION, useExisting: MatListOption },
|
|
259
|
-
], standalone: true, imports: [NgTemplateOutlet, CdkObserveContent], template: "<!--\n Save icons and the pseudo checkbox/radio so that they can be re-used in the template without\n duplication. Also content can only be injected once so we need to extract icons/avatars\n into a template since we use it in multiple places.\n-->\n<ng-template #icons>\n <ng-content select=\"[matListItemAvatar],[matListItemIcon]\">\n </ng-content>\n</ng-template>\n\n<ng-template #checkbox>\n <div class=\"mdc-checkbox\" [class.mdc-checkbox--disabled]=\"disabled\">\n <input type=\"checkbox\" class=\"mdc-checkbox__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\">\n <path class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n <div class=\"mdc-checkbox__mixedmark\"></div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #radio>\n <div class=\"mdc-radio\" [class.mdc-radio--disabled]=\"disabled\">\n <input type=\"radio\" class=\"mdc-radio__native-control\"\n [checked]=\"selected\" [disabled]=\"disabled\"/>\n <div class=\"mdc-radio__background\">\n <div class=\"mdc-radio__outer-circle\"></div>\n <div class=\"mdc-radio__inner-circle\"></div>\n </div>\n </div>\n</ng-template>\n\n@if (_hasCheckboxAt('before')) {\n <!-- Container for the checkbox at start. -->\n <span class=\"mdc-list-item__start mat-mdc-list-option-checkbox-before\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n </span>\n} @else if (_hasRadioAt('before')) {\n <!-- Container for the radio at the start. -->\n <span class=\"mdc-list-item__start mat-mdc-list-option-radio-before\">\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n </span>\n}\n<!-- Conditionally renders icons/avatars before the list item text. -->\n@if (_hasIconsOrAvatarsAt('before')) {\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n}\n\n<!-- Text -->\n<span class=\"mdc-list-item__content\">\n <ng-content select=\"[matListItemTitle]\"></ng-content>\n <ng-content select=\"[matListItemLine]\"></ng-content>\n <span #unscopedContent class=\"mat-mdc-list-item-unscoped-content\"\n (cdkObserveContent)=\"_updateItemLines(true)\">\n <ng-content></ng-content>\n </span>\n</span>\n\n@if (_hasCheckboxAt('after')) {\n <!-- Container for the checkbox at the end. -->\n <span class=\"mdc-list-item__end\">\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n </span>\n} @else if (_hasRadioAt('after')) {\n <!-- Container for the radio at the end. -->\n <span class=\"mdc-list-item__end\">\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n </span>\n}\n\n<!-- Conditionally renders icons/avatars after the list item text. -->\n@if (_hasIconsOrAvatarsAt('after')) {\n <ng-template [ngTemplateOutlet]=\"icons\"></ng-template>\n}\n\n<!-- Divider -->\n<ng-content select=\"mat-divider\"></ng-content>\n\n<!--\n Strong focus indicator element. MDC uses the `::before` pseudo element for the default\n focus/hover/selected state, so we need a separate element.\n-->\n<div class=\"mat-mdc-focus-indicator\"></div>\n", styles: [".mat-mdc-list-option-with-trailing-avatar.mdc-list-item,[dir=rtl] .mat-mdc-list-option-with-trailing-avatar.mdc-list-item{padding-left:0;padding-right:0}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{margin-left:16px;margin-right:16px;width:40px;height:40px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\"\";vertical-align:0}.mat-mdc-list-option-with-trailing-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\"\";vertical-align:-20px}.mat-mdc-list-option-with-trailing-avatar .mdc-list-item__end{border-radius:50%}.mat-mdc-list-option .mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mat-mdc-list-option .mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;width:var(--mdc-checkbox-state-layer-size, 40px);height:var(--mdc-checkbox-state-layer-size, 40px);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px))/2)}.mat-mdc-list-option .mdc-checkbox--disabled{cursor:default;pointer-events:none}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox--disabled{opacity:.5}.mat-mdc-list-option .mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);-webkit-print-color-adjust:exact;color-adjust:exact;border-color:var(--mdc-checkbox-unselected-icon-color, var(--mat-app-on-surface-variant));top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px)/2)}.mat-mdc-list-option .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color, var(--mat-app-primary));background-color:var(--mdc-checkbox-selected-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-list-option .mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color, var(--mat-app-on-surface));background-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox:hover .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mat-app-primary));background-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color, var(--mat-app-on-surface))}.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mat-app-primary));background-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover .mdc-checkbox__native-control~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--mdc-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mat-mdc-list-option .mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mdc-checkbox-selected-checkmark-color, var(--mat-app-on-primary))}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox__checkmark{color:CanvasText}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__checkmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color, var(--mat-app-surface))}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__checkmark,.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:CanvasText}.mat-mdc-list-option .mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mat-mdc-list-option .mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mdc-checkbox-selected-checkmark-color, var(--mat-app-on-primary))}.cdk-high-contrast-active .mat-mdc-list-option .mdc-checkbox__mixedmark{margin:0 1px}.mat-mdc-list-option .mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mat-mdc-list-option .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, var(--mat-app-surface))}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mat-mdc-list-option .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-list-option._mat-animation-noopable .mdc-checkbox *,.mat-mdc-list-option._mat-animation-noopable .mdc-checkbox *::before{transition:none !important;animation:none !important}.mat-mdc-list-option .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-list-option .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-list-option .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:\"\";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px);top:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2);left:calc(-1*(var(--mdc-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-list-option .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-list-option .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mdc-radio-state-layer-size, 40px);height:var(--mdc-radio-state-layer-size, 40px)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-unselected-icon-color, var(--mat-app-on-surface));opacity:var(--mdc-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle,.mat-mdc-list-option .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-selected-icon-color, var(--mat-app-on-surface));opacity:var(--mdc-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-list-option .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unselected-icon-color, var(--mat-app-on-surface-variant))}.mat-mdc-list-option .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle,.mat-mdc-list-option .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-selected-icon-color, var(--mat-app-primary))}.mat-mdc-list-option .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-list-option._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-list-option._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-list-option._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-list-option .mdc-checkbox__native-control,.mat-mdc-list-option .mdc-radio__native-control{display:none}.cdk-high-contrast-active .mat-mdc-list-option.mdc-list-item--selected::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active .mat-mdc-list-option.mdc-list-item--selected [dir=rtl]::after{right:auto;left:16px}"] }]
|
|
260
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
261
|
-
type: Inject,
|
|
262
|
-
args: [SELECTION_LIST]
|
|
263
|
-
}] }, { type: i1.Platform }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
264
|
-
type: Optional
|
|
265
|
-
}, {
|
|
266
|
-
type: Inject,
|
|
267
|
-
args: [MAT_RIPPLE_GLOBAL_OPTIONS]
|
|
268
|
-
}] }, { type: undefined, decorators: [{
|
|
269
|
-
type: Optional
|
|
270
|
-
}, {
|
|
271
|
-
type: Inject,
|
|
272
|
-
args: [ANIMATION_MODULE_TYPE]
|
|
273
|
-
}] }], propDecorators: { _lines: [{
|
|
274
|
-
type: ContentChildren,
|
|
275
|
-
args: [MatListItemLine, { descendants: true }]
|
|
276
|
-
}], _titles: [{
|
|
277
|
-
type: ContentChildren,
|
|
278
|
-
args: [MatListItemTitle, { descendants: true }]
|
|
279
|
-
}], _unscopedContent: [{
|
|
280
|
-
type: ViewChild,
|
|
281
|
-
args: ['unscopedContent']
|
|
282
|
-
}], selectedChange: [{
|
|
283
|
-
type: Output
|
|
284
|
-
}], togglePosition: [{
|
|
285
|
-
type: Input
|
|
286
|
-
}], checkboxPosition: [{
|
|
287
|
-
type: Input
|
|
288
|
-
}], color: [{
|
|
289
|
-
type: Input
|
|
290
|
-
}], value: [{
|
|
291
|
-
type: Input
|
|
292
|
-
}], selected: [{
|
|
293
|
-
type: Input
|
|
294
|
-
}] } });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvbGlzdC9saXN0LW9wdGlvbi50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9saXN0L2xpc3Qtb3B0aW9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFMUUsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBR04sUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDcEcsT0FBTyxFQUFjLGVBQWUsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUEwQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7OztBQUV6RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQStEakYsTUFBTSxPQUFPLGFBQWMsU0FBUSxlQUFlO0lBZ0JoRDs7Ozs7T0FLRztJQUNILElBQWEsZ0JBQWdCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFrQztRQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFzQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBR0QsMEJBQTBCO0lBQzFCLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxzQ0FBc0M7SUFDdEMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTlCLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFTRCxZQUNFLFVBQW1DLEVBQ25DLE1BQWMsRUFDa0IsY0FBNkIsRUFDN0QsUUFBa0IsRUFDVixrQkFBcUMsRUFHN0MsbUJBQXlDLEVBQ0UsYUFBc0I7UUFFakUsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLENBQUMsQ0FBQztRQVJ4RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUVyRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBbkYvQzs7OztXQUlHO1FBRU0sbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3RSw4RkFBOEY7UUFDckYsbUJBQWMsR0FBZ0MsT0FBTyxDQUFDO1FBNkR2RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7V0FHRztRQUNLLHVCQUFrQixHQUFHLEtBQUssQ0FBQztJQWNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFakMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRW5DLDBGQUEwRjtRQUMxRix1RkFBdUY7UUFDdkYsMkZBQTJGO1FBQzNGLDBGQUEwRjtRQUMxRix3REFBd0Q7UUFDeEQsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLHFEQUFxRDtZQUNyRCx5Q0FBeUM7WUFDekMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxpREFBaUQ7SUFDakQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsS0FBSztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdHQUFnRztJQUNoRyxRQUFRO1FBQ04sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUNyRSxtRUFBbUU7UUFDbkUscUNBQXFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDO1FBQ3JFLE9BQU8sT0FBTyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxjQUFjLENBQUMsUUFBcUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxRQUFRLENBQUM7SUFDaEYsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxXQUFXLENBQUMsUUFBcUM7UUFDL0MsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLFFBQVE7WUFDdEMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxvQkFBb0IsQ0FBQyxRQUE0QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxxRkFBcUY7SUFDckYsYUFBYSxDQUFDLElBQXlCLEVBQUUsUUFBNEI7UUFDbkUsNkVBQTZFO1FBQzdFLHdDQUF3QztRQUN4QyxPQUFPLENBQ0wsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssUUFBUTtZQUN0QyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQzdFLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFFBQWlCO1FBQzVCLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUUxQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDO2lCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsMEJBQTBCO1FBQ2xDLE1BQU0sVUFBVSxHQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztZQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7WUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxVQUFVLElBQUksV0FBVyxDQUFDO0lBQ25DLENBQUM7cUhBMVBVLGFBQWEsa0VBc0ZkLGNBQWMsc0VBSWQseUJBQXlCLDZCQUViLHFCQUFxQjt5R0E1RmhDLGFBQWEsNDhDQVBiO1lBQ1QsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUM7WUFDdEQsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUM7U0FDbkQsaURBS2dCLGVBQWUsNkRBQ2YsZ0JBQWdCLHlOQzVHbkMsa3RHQXlGQSxrcmhCRGVZLGdCQUFnQixvSkFBRSxpQkFBaUI7O2tHQUVsQyxhQUFhO2tCQTVDekIsU0FBUzsrQkFDRSxpQkFBaUIsWUFDakIsZUFBZSxRQUVuQjt3QkFDSixPQUFPLEVBQUUscURBQXFEO3dCQUM5RCxNQUFNLEVBQUUsUUFBUTt3QkFDaEIscUZBQXFGO3dCQUNyRixzQkFBc0I7d0JBQ3RCLGlDQUFpQyxFQUMvQixxRkFBcUY7d0JBQ3ZGLDhGQUE4Rjt3QkFDOUYsa0RBQWtEO3dCQUNsRCw0Q0FBNEMsRUFBRSxvQ0FBb0M7d0JBQ2xGLDBDQUEwQyxFQUFFLGtDQUFrQzt3QkFDOUUsMkNBQTJDLEVBQUUsaUNBQWlDO3dCQUM5RSxrREFBa0QsRUFBRSxtQ0FBbUM7d0JBQ3ZGLDZGQUE2Rjt3QkFDN0YscUZBQXFGO3dCQUNyRiw4Q0FBOEMsRUFBRSwwQkFBMEI7d0JBQzFFLCtDQUErQyxFQUFFLHlCQUF5Qjt3QkFDMUUsMkNBQTJDLEVBQUUsdUJBQXVCO3dCQUNwRSw0Q0FBNEMsRUFBRSxzQkFBc0I7d0JBRXBFLHFGQUFxRjt3QkFDckYsd0VBQXdFO3dCQUN4RSxxREFBcUQsRUFBRSw4QkFBOEI7d0JBQ3JGLG9CQUFvQixFQUFFLHlDQUF5Qzt3QkFDL0Qsa0JBQWtCLEVBQUUsa0JBQWtCO3dCQUN0QyxpQ0FBaUMsRUFBRSxpQkFBaUI7d0JBQ3BELHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixTQUFTLEVBQUUsd0JBQXdCO3FCQUNwQyxpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLGVBQWUsRUFBQzt3QkFDdEQsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsZUFBZSxFQUFDO3FCQUNuRCxjQUNXLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDOzswQkF3RjNDLE1BQU07MkJBQUMsY0FBYzs7MEJBR3JCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMseUJBQXlCOzswQkFFaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7eUNBM0ZZLE1BQU07c0JBQTVELGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFDRyxPQUFPO3NCQUE5RCxlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFDeEIsZ0JBQWdCO3NCQUE3QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFRbkIsY0FBYztzQkFEdEIsTUFBTTtnQkFJRSxjQUFjO3NCQUF0QixLQUFLO2dCQVFPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFlRixLQUFLO3NCQURSLEtBQUs7Z0JBV0YsS0FBSztzQkFEUixLQUFLO2dCQWVGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtTZWxlY3Rpb25Nb2RlbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7XG4gIEFOSU1BVElPTl9NT0RVTEVfVFlQRSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX1JJUFBMRV9HTE9CQUxfT1BUSU9OUywgUmlwcGxlR2xvYmFsT3B0aW9ucywgVGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TWF0TGlzdEJhc2UsIE1hdExpc3RJdGVtQmFzZX0gZnJvbSAnLi9saXN0LWJhc2UnO1xuaW1wb3J0IHtMSVNUX09QVElPTiwgTGlzdE9wdGlvbiwgTWF0TGlzdE9wdGlvblRvZ2dsZVBvc2l0aW9ufSBmcm9tICcuL2xpc3Qtb3B0aW9uLXR5cGVzJztcbmltcG9ydCB7TWF0TGlzdEl0ZW1MaW5lLCBNYXRMaXN0SXRlbVRpdGxlfSBmcm9tICcuL2xpc3QtaXRlbS1zZWN0aW9ucyc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDZGtPYnNlcnZlQ29udGVudH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIGluc3RhbmNlcyBvZiBhbiBgU2VsZWN0aW9uTGlzdGAuIEl0IHNlcnZlc1xuICogYXMgYWx0ZXJuYXRpdmUgdG9rZW4gdG8gYW4gYWN0dWFsIGltcGxlbWVudGF0aW9uIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBjaXJjdWxhciByZWZlcmVuY2VzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX0xJU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2VsZWN0aW9uTGlzdD4oJ1NlbGVjdGlvbkxpc3QnKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgY29udGFpbmluZyBsaXN0IG9mIGEgbGlzdCBvcHRpb24uIFRoaXMgaXMgdXNlZCB0byBhdm9pZFxuICogY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGJldHdlZW4gdGhlIGxpc3Qtb3B0aW9uIGFuZCB0aGUgc2VsZWN0aW9uIGxpc3QuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uTGlzdCBleHRlbmRzIE1hdExpc3RCYXNlIHtcbiAgbXVsdGlwbGU6IGJvb2xlYW47XG4gIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0aW9uTW9kZWw8TWF0TGlzdE9wdGlvbj47XG4gIGhpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3I6IGJvb2xlYW47XG4gIGNvbXBhcmVXaXRoOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbjtcbiAgX3ZhbHVlOiBzdHJpbmdbXSB8IG51bGw7XG4gIF9yZXBvcnRWYWx1ZUNoYW5nZSgpOiB2b2lkO1xuICBfZW1pdENoYW5nZUV2ZW50KG9wdGlvbnM6IE1hdExpc3RPcHRpb25bXSk6IHZvaWQ7XG4gIF9vblRvdWNoZWQoKTogdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LWxpc3Qtb3B0aW9uJyxcbiAgZXhwb3J0QXM6ICdtYXRMaXN0T3B0aW9uJyxcbiAgc3R5bGVVcmw6ICdsaXN0LW9wdGlvbi5jc3MnLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ21hdC1tZGMtbGlzdC1pdGVtIG1hdC1tZGMtbGlzdC1vcHRpb24gbWRjLWxpc3QtaXRlbScsXG4gICAgJ3JvbGUnOiAnb3B0aW9uJyxcbiAgICAvLyBBcyBwZXIgTURDLCBvbmx5IGxpc3QgaXRlbXMgd2l0aG91dCBjaGVja2JveCBvciByYWRpbyBpbmRpY2F0b3Igc2hvdWxkIHJlY2VpdmUgdGhlXG4gICAgLy8gYC0tc2VsZWN0ZWRgIGNsYXNzLlxuICAgICdbY2xhc3MubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWRdJzpcbiAgICAgICdzZWxlY3RlZCAmJiAhX3NlbGVjdGlvbkxpc3QubXVsdGlwbGUgJiYgX3NlbGVjdGlvbkxpc3QuaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcicsXG4gICAgLy8gQmFzZWQgb24gdGhlIGNoZWNrYm94L3JhZGlvIHBvc2l0aW9uIGFuZCB3aGV0aGVyIHRoZXJlIGFyZSBpY29ucyBvciBhdmF0YXJzLCB3ZSBhcHBseSBNREMnc1xuICAgIC8vIGxpc3QtaXRlbSBgLS1sZWFkaW5nYCBhbmQgYC0tdHJhaWxpbmdgIGNsYXNzZXMuXG4gICAgJ1tjbGFzcy5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctYXZhdGFyXSc6ICdfaGFzUHJvamVjdGVkKFwiYXZhdGFyc1wiLCBcImJlZm9yZVwiKScsXG4gICAgJ1tjbGFzcy5tZGMtbGlzdC1pdGVtLS13aXRoLWxlYWRpbmctaWNvbl0nOiAnX2hhc1Byb2plY3RlZChcImljb25zXCIsIFwiYmVmb3JlXCIpJyxcbiAgICAnW2NsYXNzLm1kYy1saXN0LWl0ZW0tLXdpdGgtdHJhaWxpbmctaWNvbl0nOiAnX2hhc1Byb2plY3RlZChcImljb25zXCIsIFwiYWZ0ZXJcIiknLFxuICAgICdbY2xhc3MubWF0LW1kYy1saXN0LW9wdGlvbi13aXRoLXRyYWlsaW5nLWF2YXRhcl0nOiAnX2hhc1Byb2plY3RlZChcImF2YXRhcnNcIiwgXCJhZnRlclwiKScsXG4gICAgLy8gQmFzZWQgb24gdGhlIGNoZWNrYm94L3JhZGlvIHBvc2l0aW9uLCB3ZSBhcHBseSB0aGUgYC0tbGVhZGluZ2Agb3IgYC0tdHJhaWxpbmdgIE1EQyBjbGFzc2VzXG4gICAgLy8gd2hpY2ggZW5zdXJlIHRoYXQgdGhlIGNoZWNrYm94L3JhZGlvIGlzIHBvc2l0aW9uZWQgY29ycmVjdGx5IHdpdGhpbiB0aGUgbGlzdCBpdGVtLlxuICAgICdbY2xhc3MubWRjLWxpc3QtaXRlbS0td2l0aC1sZWFkaW5nLWNoZWNrYm94XSc6ICdfaGFzQ2hlY2tib3hBdChcImJlZm9yZVwiKScsXG4gICAgJ1tjbGFzcy5tZGMtbGlzdC1pdGVtLS13aXRoLXRyYWlsaW5nLWNoZWNrYm94XSc6ICdfaGFzQ2hlY2tib3hBdChcImFmdGVyXCIpJyxcbiAgICAnW2NsYXNzLm1kYy1saXN0LWl0ZW0tLXdpdGgtbGVhZGluZy1yYWRpb10nOiAnX2hhc1JhZGlvQXQoXCJiZWZvcmVcIiknLFxuICAgICdbY2xhc3MubWRjLWxpc3QtaXRlbS0td2l0aC10cmFpbGluZy1yYWRpb10nOiAnX2hhc1JhZGlvQXQoXCJhZnRlclwiKScsXG5cbiAgICAvLyBVdGlsaXR5IGNsYXNzIHRoYXQgbWFrZXMgaXQgZWFzaWVyIHRvIHRhcmdldCB0aGUgY2FzZSB3aGVyZSB0aGVyZSdzIGJvdGggYSBsZWFkaW5nXG4gICAgLy8gYW5kIGEgdHJhaWxpbmcgaWNvbi4gQXZvaWRzIGhhdmluZyB0byB3cml0ZSBvdXQgYWxsIHRoZSBjb21iaW5hdGlvbnMuXG4gICAgJ1tjbGFzcy5tYXQtbWRjLWxpc3QtaXRlbS1ib3RoLWxlYWRpbmctYW5kLXRyYWlsaW5nXSc6ICdfaGFzQm90aExlYWRpbmdBbmRUcmFpbGluZygpJyxcbiAgICAnW2NsYXNzLm1hdC1hY2NlbnRdJzogJ2NvbG9yICE9PSBcInByaW1hcnlcIiAmJiBjb2xvciAhPT0gXCJ3YXJuXCInLFxuICAgICdbY2xhc3MubWF0LXdhcm5dJzogJ2NvbG9yID09PSBcIndhcm5cIicsXG4gICAgJ1tjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0nOiAnX25vb3BBbmltYXRpb25zJyxcbiAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICcoYmx1ciknOiAnX2hhbmRsZUJsdXIoKScsXG4gICAgJyhjbGljayknOiAnX3RvZ2dsZU9uSW50ZXJhY3Rpb24oKScsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnbGlzdC1vcHRpb24uaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogTWF0TGlzdEl0ZW1CYXNlLCB1c2VFeGlzdGluZzogTWF0TGlzdE9wdGlvbn0sXG4gICAge3Byb3ZpZGU6IExJU1RfT1BUSU9OLCB1c2VFeGlzdGluZzogTWF0TGlzdE9wdGlvbn0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBDZGtPYnNlcnZlQ29udGVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdExpc3RPcHRpb24gZXh0ZW5kcyBNYXRMaXN0SXRlbUJhc2UgaW1wbGVtZW50cyBMaXN0T3B0aW9uLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0TGlzdEl0ZW1MaW5lLCB7ZGVzY2VuZGFudHM6IHRydWV9KSBfbGluZXM6IFF1ZXJ5TGlzdDxNYXRMaXN0SXRlbUxpbmU+O1xuICBAQ29udGVudENoaWxkcmVuKE1hdExpc3RJdGVtVGl0bGUsIHtkZXNjZW5kYW50czogdHJ1ZX0pIF90aXRsZXM6IFF1ZXJ5TGlzdDxNYXRMaXN0SXRlbVRpdGxlPjtcbiAgQFZpZXdDaGlsZCgndW5zY29wZWRDb250ZW50JykgX3Vuc2NvcGVkQ29udGVudDogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBzZWxlY3RlZCBzdGF0ZSBvZiB0aGUgb3B0aW9uIGhhcyBjaGFuZ2VkLlxuICAgKiBVc2UgdG8gZmFjaWxpdGF0ZSB0d28tZGF0YSBiaW5kaW5nIHRvIHRoZSBgc2VsZWN0ZWRgIHByb3BlcnR5LlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKiogV2hldGhlciB0aGUgbGFiZWwgc2hvdWxkIGFwcGVhciBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGNoZWNrYm94L3JhZGlvLiBEZWZhdWx0cyB0byAnYWZ0ZXInICovXG4gIEBJbnB1dCgpIHRvZ2dsZVBvc2l0aW9uOiBNYXRMaXN0T3B0aW9uVG9nZ2xlUG9zaXRpb24gPSAnYWZ0ZXInO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYXBwZWFyIGJlZm9yZSBvciBhZnRlciB0aGUgY2hlY2tib3gvcmFkaW8uIERlZmF1bHRzIHRvICdhZnRlcidcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGB0b2dnbGVQb3NpdGlvbmAgaW5zdGVhZC5cbiAgICogQGJyZWFraW5nLWNoYW5nZSAxNy4wLjBcbiAgICovXG4gIEBJbnB1dCgpIGdldCBjaGVja2JveFBvc2l0aW9uKCk6IE1hdExpc3RPcHRpb25Ub2dnbGVQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlUG9zaXRpb247XG4gIH1cbiAgc2V0IGNoZWNrYm94UG9zaXRpb24odmFsdWU6IE1hdExpc3RPcHRpb25Ub2dnbGVQb3NpdGlvbikge1xuICAgIHRoaXMudG9nZ2xlUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGVtZSBjb2xvciBvZiB0aGUgbGlzdCBvcHRpb24uIFRoaXMgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGNoZWNrYm94L3JhZGlvLlxuICAgKiBUaGlzIEFQSSBpcyBzdXBwb3J0ZWQgaW4gTTIgdGhlbWVzIG9ubHksIGl0IGhhcyBubyBlZmZlY3QgaW4gTTMgdGhlbWVzLlxuICAgKlxuICAgKiBGb3IgaW5mb3JtYXRpb24gb24gYXBwbHlpbmcgY29sb3IgdmFyaWFudHMgaW4gTTMsIHNlZVxuICAgKiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvdGhlbWluZyN1c2luZy1jb21wb25lbnQtY29sb3ItdmFyaWFudHMuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgY29sb3IoKTogVGhlbWVQYWxldHRlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3IgfHwgdGhpcy5fc2VsZWN0aW9uTGlzdC5jb2xvcjtcbiAgfVxuICBzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuICAgIHRoaXMuX2NvbG9yID0gbmV3VmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuICAvKiogVmFsdWUgb2YgdGhlIG9wdGlvbiAqL1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiBuZXdWYWx1ZSAhPT0gdGhpcy52YWx1ZSAmJiB0aGlzLl9pbnB1dHNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAvKiogV2hldGhlciB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRPcHRpb25zLmlzU2VsZWN0ZWQodGhpcyk7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgIGlmIChpc1NlbGVjdGVkICE9PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2V0U2VsZWN0ZWQoaXNTZWxlY3RlZCk7XG5cbiAgICAgIGlmIChpc1NlbGVjdGVkIHx8IHRoaXMuX3NlbGVjdGlvbkxpc3QubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5fcmVwb3J0VmFsdWVDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhpcyBpcyBzZXQgdG8gdHJ1ZSBhZnRlciB0aGUgZmlyc3QgT25DaGFuZ2VzIGN5Y2xlIHNvIHdlIGRvbid0XG4gICAqIGNsZWFyIHRoZSB2YWx1ZSBvZiBgc2VsZWN0ZWRgIGluIHRoZSBmaXJzdCBjeWNsZS5cbiAgICovXG4gIHByaXZhdGUgX2lucHV0c0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChTRUxFQ1RJT05fTElTVCkgcHJpdmF0ZSBfc2VsZWN0aW9uTGlzdDogU2VsZWN0aW9uTGlzdCxcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChNQVRfUklQUExFX0dMT0JBTF9PUFRJT05TKVxuICAgIGdsb2JhbFJpcHBsZU9wdGlvbnM/OiBSaXBwbGVHbG9iYWxPcHRpb25zLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQU5JTUFUSU9OX01PRFVMRV9UWVBFKSBhbmltYXRpb25Nb2RlPzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUsIF9zZWxlY3Rpb25MaXN0LCBwbGF0Zm9ybSwgZ2xvYmFsUmlwcGxlT3B0aW9ucywgYW5pbWF0aW9uTW9kZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5fc2VsZWN0aW9uTGlzdDtcblxuICAgIGlmIChsaXN0Ll92YWx1ZSAmJiBsaXN0Ll92YWx1ZS5zb21lKHZhbHVlID0+IGxpc3QuY29tcGFyZVdpdGgodGhpcy5fdmFsdWUsIHZhbHVlKSkpIHtcbiAgICAgIHRoaXMuX3NldFNlbGVjdGVkKHRydWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHdhc1NlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XG5cbiAgICAvLyBMaXN0IG9wdGlvbnMgdGhhdCBhcmUgc2VsZWN0ZWQgYXQgaW5pdGlhbGl6YXRpb24gY2FuJ3QgYmUgcmVwb3J0ZWQgcHJvcGVybHkgdG8gdGhlIGZvcm1cbiAgICAvLyBjb250cm9sLiBUaGlzIGlzIGJlY2F1c2UgaXQgdGFrZXMgc29tZSB0aW1lIHVudGlsIHRoZSBzZWxlY3Rpb24tbGlzdCBrbm93cyBhYm91dCBhbGxcbiAgICAvLyBhdmFpbGFibGUgb3B0aW9ucy4gQWxzbyBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGhhcyBhbiBpbml0aWFsIHZhbHVlXG4gICAgLy8gdGhhdCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLiBEZWZlcnJpbmcgdGhlIHZhbHVlIGNoYW5nZSByZXBvcnQgdG8gdGhlIG5leHQgdGljayBlbnN1cmVzXG4gICAgLy8gdGhhdCB0aGUgZm9ybSBjb250cm9sIHZhbHVlIGlzIG5vdCBiZWluZyBvdmVyd3JpdHRlbi5cbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCB8fCB3YXNTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5faW5wdXRzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAvLyBXZSBoYXZlIHRvIGRlbGF5IHRoaXMgdW50aWwgdGhlIG5leHQgdGljayBpbiBvcmRlclxuICAgICAgLy8gdG8gYXZvaWQgY2hhbmdlZCBhZnRlciBjaGVja2VkIGVycm9ycy5cbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgc2VsZWN0aW9uIHN0YXRlIG9mIHRoZSBvcHRpb24uICovXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7XG4gIH1cblxuICAvKiogQWxsb3dzIGZvciBwcm9ncmFtbWF0aWMgZm9jdXNpbmcgb2YgdGhlIG9wdGlvbi4gKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5faG9zdEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSB0ZXh0IGxhYmVsIG9mIHRoZSBsaXN0IG9wdGlvbi4gVXNlZCBmb3IgdGhlIHR5cGVhaGVhZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBsaXN0LiAqL1xuICBnZXRMYWJlbCgpIHtcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSB0aGlzLl90aXRsZXM/LmdldCgwKT8uX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBleHBsaWNpdCB0aXRsZSBlbGVtZW50LCB0aGUgdW5zY29wZWQgdGV4dCBjb250ZW50XG4gICAgLy8gaXMgdHJlYXRlZCBhcyB0aGUgbGlzdCBpdGVtIHRpdGxlLlxuICAgIGNvbnN0IGxhYmVsRWwgPSB0aXRsZUVsZW1lbnQgfHwgdGhpcy5fdW5zY29wZWRDb250ZW50Py5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBsYWJlbEVsPy50ZXh0Q29udGVudCB8fCAnJztcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIGEgY2hlY2tib3ggaXMgc2hvd24gYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiAqL1xuICBfaGFzQ2hlY2tib3hBdChwb3NpdGlvbjogTWF0TGlzdE9wdGlvblRvZ2dsZVBvc2l0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3QubXVsdGlwbGUgJiYgdGhpcy5fZ2V0VG9nZ2xlUG9zaXRpb24oKSA9PT0gcG9zaXRpb247XG4gIH1cblxuICAvKiogV2hlcmUgYSByYWRpbyBpbmRpY2F0b3IgaXMgc2hvd24gYXQgdGhlIGdpdmVuIHBvc2l0aW9uLiAqL1xuICBfaGFzUmFkaW9BdChwb3NpdGlvbjogTWF0TGlzdE9wdGlvblRvZ2dsZVBvc2l0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLl9zZWxlY3Rpb25MaXN0Lm11bHRpcGxlICYmXG4gICAgICB0aGlzLl9nZXRUb2dnbGVQb3NpdGlvbigpID09PSBwb3NpdGlvbiAmJlxuICAgICAgIXRoaXMuX3NlbGVjdGlvbkxpc3QuaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvclxuICAgICk7XG4gIH1cblxuICAvKiogV2hldGhlciBpY29ucyBvciBhdmF0YXJzIGFyZSBzaG93biBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24uICovXG4gIF9oYXNJY29uc09yQXZhdGFyc0F0KHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzUHJvamVjdGVkKCdpY29ucycsIHBvc2l0aW9uKSB8fCB0aGlzLl9oYXNQcm9qZWN0ZWQoJ2F2YXRhcnMnLCBwb3NpdGlvbik7XG4gIH1cblxuICAvKiogR2V0cyB3aGV0aGVyIHRoZSBnaXZlbiB0eXBlIG9mIGVsZW1lbnQgaXMgcHJvamVjdGVkIGF0IHRoZSBzcGVjaWZpZWQgcG9zaXRpb24uICovXG4gIF9oYXNQcm9qZWN0ZWQodHlwZTogJ2ljb25zJyB8ICdhdmF0YXJzJywgcG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyk6IGJvb2xlYW4ge1xuICAgIC8vIElmIHRoZSBjaGVja2JveC9yYWRpbyBpcyBzaG93biBhdCB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uLCBuZWl0aGVyIGljb25zIG9yXG4gICAgLy8gYXZhdGFycyBjYW4gYmUgc2hvd24gYXQgdGhlIHBvc2l0aW9uLlxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9nZXRUb2dnbGVQb3NpdGlvbigpICE9PSBwb3NpdGlvbiAmJlxuICAgICAgKHR5cGUgPT09ICdhdmF0YXJzJyA/IHRoaXMuX2F2YXRhcnMubGVuZ3RoICE9PSAwIDogdGhpcy5faWNvbnMubGVuZ3RoICE9PSAwKVxuICAgICk7XG4gIH1cblxuICBfaGFuZGxlQmx1cigpIHtcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0Ll9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBjaGVja2JveC9yYWRpby4gKi9cbiAgX2dldFRvZ2dsZVBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZVBvc2l0aW9uIHx8ICdhZnRlcic7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VsZWN0ZWQgc3RhdGUgb2YgdGhlIG9wdGlvbi5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgdmFsdWUgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBfc2V0U2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoc2VsZWN0ZWQgPT09IHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5fc2VsZWN0ZWQgPSBzZWxlY3RlZDtcblxuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0KHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkT3B0aW9ucy5kZXNlbGVjdCh0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmaWVzIEFuZ3VsYXIgdGhhdCB0aGUgb3B0aW9uIG5lZWRzIHRvIGJlIGNoZWNrZWQgaW4gdGhlIG5leHQgY2hhbmdlIGRldGVjdGlvbiBydW4uXG4gICAqIE1haW5seSB1c2VkIHRvIHRyaWdnZXIgYW4gdXBkYXRlIG9mIHRoZSBsaXN0IG9wdGlvbiBpZiB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHNlbGVjdGlvblxuICAgKiBsaXN0IGNoYW5nZWQuXG4gICAqL1xuICBfbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqIFRvZ2dsZXMgdGhlIG9wdGlvbidzIHZhbHVlIGJhc2VkIG9uIGEgdXNlciBpbnRlcmFjdGlvbi4gKi9cbiAgX3RvZ2dsZU9uSW50ZXJhY3Rpb24oKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5fc2VsZWN0aW9uTGlzdC5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gIXRoaXMuc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuX2VtaXRDaGFuZ2VFdmVudChbdGhpc10pO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5zZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5fZW1pdENoYW5nZUV2ZW50KFt0aGlzXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgdGhlIHRhYmluZGV4IG9mIHRoZSBsaXN0IG9wdGlvbi4gKi9cbiAgX3NldFRhYmluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgdmFsdWUgKyAnJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhc0JvdGhMZWFkaW5nQW5kVHJhaWxpbmcoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGFzTGVhZGluZyA9XG4gICAgICB0aGlzLl9oYXNQcm9qZWN0ZWQoJ2F2YXRhcnMnLCAnYmVmb3JlJykgfHxcbiAgICAgIHRoaXMuX2hhc1Byb2plY3RlZCgnaWNvbnMnLCAnYmVmb3JlJykgfHxcbiAgICAgIHRoaXMuX2hhc0NoZWNrYm94QXQoJ2JlZm9yZScpIHx8XG4gICAgICB0aGlzLl9oYXNSYWRpb0F0KCdiZWZvcmUnKTtcbiAgICBjb25zdCBoYXNUcmFpbGluZyA9XG4gICAgICB0aGlzLl9oYXNQcm9qZWN0ZWQoJ2ljb25zJywgJ2FmdGVyJykgfHxcbiAgICAgIHRoaXMuX2hhc1Byb2plY3RlZCgnYXZhdGFycycsICdhZnRlcicpIHx8XG4gICAgICB0aGlzLl9oYXNDaGVja2JveEF0KCdhZnRlcicpIHx8XG4gICAgICB0aGlzLl9oYXNSYWRpb0F0KCdhZnRlcicpO1xuICAgIHJldHVybiBoYXNMZWFkaW5nICYmIGhhc1RyYWlsaW5nO1xuICB9XG59XG4iLCI8IS0tXG4gIFNhdmUgaWNvbnMgYW5kIHRoZSBwc2V1ZG8gY2hlY2tib3gvcmFkaW8gc28gdGhhdCB0aGV5IGNhbiBiZSByZS11c2VkIGluIHRoZSB0ZW1wbGF0ZSB3aXRob3V0XG4gIGR1cGxpY2F0aW9uLiBBbHNvIGNvbnRlbnQgY2FuIG9ubHkgYmUgaW5qZWN0ZWQgb25jZSBzbyB3ZSBuZWVkIHRvIGV4dHJhY3QgaWNvbnMvYXZhdGFyc1xuICBpbnRvIGEgdGVtcGxhdGUgc2luY2Ugd2UgdXNlIGl0IGluIG11bHRpcGxlIHBsYWNlcy5cbi0tPlxuPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21hdExpc3RJdGVtQXZhdGFyXSxbbWF0TGlzdEl0ZW1JY29uXVwiPlxuICA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NoZWNrYm94PlxuICA8ZGl2IGNsYXNzPVwibWRjLWNoZWNrYm94XCIgW2NsYXNzLm1kYy1jaGVja2JveC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJtZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sXCJcbiAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIi8+XG4gICAgPGRpdiBjbGFzcz1cIm1kYy1jaGVja2JveF9fYmFja2dyb3VuZFwiPlxuICAgICAgPHN2ZyBjbGFzcz1cIm1kYy1jaGVja2JveF9fY2hlY2ttYXJrXCJcbiAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICA8cGF0aCBjbGFzcz1cIm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGhcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIGQ9XCJNMS43MywxMi45MSA4LjEsMTkuMjggMjIuNzksNC41OVwiLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGRpdiBjbGFzcz1cIm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyYWRpbz5cbiAgPGRpdiBjbGFzcz1cIm1kYy1yYWRpb1wiIFtjbGFzcy5tZGMtcmFkaW8tLWRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwibWRjLXJhZGlvX19uYXRpdmUtY29udHJvbFwiXG4gICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIvPlxuICAgIDxkaXYgY2xhc3M9XCJtZGMtcmFkaW9fX2JhY2tncm91bmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZGMtcmFkaW9fX291dGVyLWNpcmNsZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1kYy1yYWRpb19faW5uZXItY2lyY2xlXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmIChfaGFzQ2hlY2tib3hBdCgnYmVmb3JlJykpIHtcbiAgPCEtLSBDb250YWluZXIgZm9yIHRoZSBjaGVja2JveCBhdCBzdGFydC4gLS0+XG4gIDxzcGFuIGNsYXNzPVwibWRjLWxpc3QtaXRlbV9fc3RhcnQgbWF0LW1kYy1saXN0LW9wdGlvbi1jaGVja2JveC1iZWZvcmVcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hlY2tib3hcIj48L25nLXRlbXBsYXRlPlxuICA8L3NwYW4+XG59IEBlbHNlIGlmIChfaGFzUmFkaW9BdCgnYmVmb3JlJykpIHtcbiAgPCEtLSBDb250YWluZXIgZm9yIHRoZSByYWRpbyBhdCB0aGUgc3RhcnQuIC0tPlxuICA8c3BhbiBjbGFzcz1cIm1kYy1saXN0LWl0ZW1fX3N0YXJ0IG1hdC1tZGMtbGlzdC1vcHRpb24tcmFkaW8tYmVmb3JlXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJhZGlvXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9zcGFuPlxufVxuPCEtLSBDb25kaXRpb25hbGx5IHJlbmRlcnMgaWNvbnMvYXZhdGFycyBiZWZvcmUgdGhlIGxpc3QgaXRlbSB0ZXh0LiAtLT5cbkBpZiAoX2hhc0ljb25zT3JBdmF0YXJzQXQoJ2JlZm9yZScpKSB7XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpY29uc1wiPjwvbmctdGVtcGxhdGU+XG59XG5cbjwhLS0gVGV4dCAtLT5cbjxzcGFuIGNsYXNzPVwibWRjLWxpc3QtaXRlbV9fY29udGVudFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWF0TGlzdEl0ZW1UaXRsZV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIlttYXRMaXN0SXRlbUxpbmVdXCI+PC9uZy1jb250ZW50PlxuICA8c3BhbiAjdW5zY29wZWRDb250ZW50IGNsYXNzPVwibWF0LW1kYy1saXN0LWl0ZW0tdW5zY29wZWQtY29udGVudFwiXG4gICAgICAgIChjZGtPYnNlcnZlQ29udGVudCk9XCJfdXBkYXRlSXRlbUxpbmVzKHRydWUpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG48L3NwYW4+XG5cbkBpZiAoX2hhc0NoZWNrYm94QXQoJ2FmdGVyJykpIHtcbiAgPCEtLSBDb250YWluZXIgZm9yIHRoZSBjaGVja2JveCBhdCB0aGUgZW5kLiAtLT5cbiAgPHNwYW4gY2xhc3M9XCJtZGMtbGlzdC1pdGVtX19lbmRcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hlY2tib3hcIj48L25nLXRlbXBsYXRlPlxuICA8L3NwYW4+XG59IEBlbHNlIGlmIChfaGFzUmFkaW9BdCgnYWZ0ZXInKSkge1xuICA8IS0tIENvbnRhaW5lciBmb3IgdGhlIHJhZGlvIGF0IHRoZSBlbmQuIC0tPlxuICA8c3BhbiBjbGFzcz1cIm1kYy1saXN0LWl0ZW1fX2VuZFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyYWRpb1wiPjwvbmctdGVtcGxhdGU+XG4gIDwvc3Bhbj5cbn1cblxuPCEtLSBDb25kaXRpb25hbGx5IHJlbmRlcnMgaWNvbnMvYXZhdGFycyBhZnRlciB0aGUgbGlzdCBpdGVtIHRleHQuIC0tPlxuQGlmIChfaGFzSWNvbnNPckF2YXRhcnNBdCgnYWZ0ZXInKSkge1xuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvbnNcIj48L25nLXRlbXBsYXRlPlxufVxuXG48IS0tIERpdmlkZXIgLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCJtYXQtZGl2aWRlclwiPjwvbmctY29udGVudD5cblxuPCEtLVxuICBTdHJvbmcgZm9jdXMgaW5kaWNhdG9yIGVsZW1lbnQuIE1EQyB1c2VzIHRoZSBgOjpiZWZvcmVgIHBzZXVkbyBlbGVtZW50IGZvciB0aGUgZGVmYXVsdFxuICBmb2N1cy9ob3Zlci9zZWxlY3RlZCBzdGF0ZSwgc28gd2UgbmVlZCBhIHNlcGFyYXRlIGVsZW1lbnQuXG4tLT5cbjxkaXYgY2xhc3M9XCJtYXQtbWRjLWZvY3VzLWluZGljYXRvclwiPjwvZGl2PlxuIl19
|