@danske/sapphire-angular 1.12.4
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/LICENSE +7 -0
- package/README.md +25 -0
- package/esm2020/danske-sapphire-angular.mjs +5 -0
- package/esm2020/lib/badge/public_api.mjs +3 -0
- package/esm2020/lib/badge/src/badge.component.mjs +66 -0
- package/esm2020/lib/badge/src/badge.module.mjs +18 -0
- package/esm2020/lib/button/public_api.mjs +12 -0
- package/esm2020/lib/button/src/button-group.component.mjs +57 -0
- package/esm2020/lib/button/src/button-icon.directive.mjs +13 -0
- package/esm2020/lib/button/src/button.component.mjs +100 -0
- package/esm2020/lib/button/src/button.module.mjs +48 -0
- package/esm2020/lib/button/src/icon-button.component.mjs +95 -0
- package/esm2020/lib/button/src/toggle-button-required-validator.mjs +27 -0
- package/esm2020/lib/button/src/toggle-button.component.mjs +124 -0
- package/esm2020/lib/checkbox/public_api.mjs +8 -0
- package/esm2020/lib/checkbox/src/checkbox-required-validator.mjs +26 -0
- package/esm2020/lib/checkbox/src/checkbox.component.mjs +264 -0
- package/esm2020/lib/checkbox/src/checkbox.module.mjs +21 -0
- package/esm2020/lib/common/auto-id.decorator.mjs +24 -0
- package/esm2020/lib/common/coerce-boolean.decorator.mjs +32 -0
- package/esm2020/lib/common/constructor.mjs +2 -0
- package/esm2020/lib/common/disabled.mjs +16 -0
- package/esm2020/lib/common/focused.directive.mjs +64 -0
- package/esm2020/lib/common/placement.mjs +60 -0
- package/esm2020/lib/common/platform.mjs +45 -0
- package/esm2020/lib/common/pressed.directive.mjs +55 -0
- package/esm2020/lib/common/public_api.mjs +4 -0
- package/esm2020/lib/common/sapphire-view-encapsulation.mjs +83 -0
- package/esm2020/lib/common/scroll-monitor.directive.mjs +63 -0
- package/esm2020/lib/common/tabindex.mjs +19 -0
- package/esm2020/lib/common/visually-hidden.directive.mjs +32 -0
- package/esm2020/lib/contextual-help/public_api.mjs +3 -0
- package/esm2020/lib/contextual-help/src/contextual-help.component.mjs +112 -0
- package/esm2020/lib/contextual-help/src/contextual-help.module.mjs +33 -0
- package/esm2020/lib/core.module.mjs +179 -0
- package/esm2020/lib/field/public_api.mjs +8 -0
- package/esm2020/lib/field/src/field-control.mjs +17 -0
- package/esm2020/lib/field/src/field-error.directive.mjs +20 -0
- package/esm2020/lib/field/src/field-label.directive.mjs +17 -0
- package/esm2020/lib/field/src/field-note-suffix.directive.mjs +28 -0
- package/esm2020/lib/field/src/field-note.directive.mjs +17 -0
- package/esm2020/lib/field/src/field.component.mjs +153 -0
- package/esm2020/lib/field/src/field.module.mjs +49 -0
- package/esm2020/lib/icon/public_api.mjs +4 -0
- package/esm2020/lib/icon/src/icon-size-provider.mjs +18 -0
- package/esm2020/lib/icon/src/icon.component.mjs +67 -0
- package/esm2020/lib/icon/src/icon.module.mjs +18 -0
- package/esm2020/lib/label/public_api.mjs +6 -0
- package/esm2020/lib/label/src/label.component.mjs +61 -0
- package/esm2020/lib/link/public_api.mjs +7 -0
- package/esm2020/lib/link/src/link.component.mjs +62 -0
- package/esm2020/lib/link/src/link.module.mjs +16 -0
- package/esm2020/lib/listbox/public_api.mjs +10 -0
- package/esm2020/lib/listbox/src/cdk-option-scroll-issue-patch.mjs +30 -0
- package/esm2020/lib/listbox/src/listbox-child.mjs +7 -0
- package/esm2020/lib/listbox/src/listbox-input.directive.mjs +42 -0
- package/esm2020/lib/listbox/src/listbox-item.component.mjs +49 -0
- package/esm2020/lib/listbox/src/listbox.component.mjs +273 -0
- package/esm2020/lib/listbox/src/listbox.module.mjs +81 -0
- package/esm2020/lib/listbox/src/option-icon.directive.mjs +22 -0
- package/esm2020/lib/listbox/src/option-primary-text.directive.mjs +25 -0
- package/esm2020/lib/listbox/src/option-secondary-text.directive.mjs +22 -0
- package/esm2020/lib/listbox/src/option.component.mjs +58 -0
- package/esm2020/lib/listbox/src/section.directive.mjs +46 -0
- package/esm2020/lib/menu/public_api.mjs +10 -0
- package/esm2020/lib/menu/src/menu-item.component.mjs +45 -0
- package/esm2020/lib/menu/src/menu-section.component.mjs +27 -0
- package/esm2020/lib/menu/src/menu-trigger.directive.mjs +149 -0
- package/esm2020/lib/menu/src/menu.component.mjs +33 -0
- package/esm2020/lib/menu/src/menu.module.mjs +39 -0
- package/esm2020/lib/modal/public_api.mjs +19 -0
- package/esm2020/lib/modal/src/dialog/confirmation-dialog.component.mjs +61 -0
- package/esm2020/lib/modal/src/dialog/danger-dialog.component.mjs +62 -0
- package/esm2020/lib/modal/src/dialog/dialog-close-button.directive.mjs +18 -0
- package/esm2020/lib/modal/src/dialog/dialog-content.directive.mjs +29 -0
- package/esm2020/lib/modal/src/dialog/dialog-footer.component.mjs +43 -0
- package/esm2020/lib/modal/src/dialog/dialog-header.component.mjs +65 -0
- package/esm2020/lib/modal/src/dialog/dialog-trigger.directive.mjs +37 -0
- package/esm2020/lib/modal/src/dialog/dialog.component.mjs +60 -0
- package/esm2020/lib/modal/src/modal-base.component.mjs +89 -0
- package/esm2020/lib/modal/src/modal-close-button.directive.mjs +28 -0
- package/esm2020/lib/modal/src/modal-trigger.directive.mjs +42 -0
- package/esm2020/lib/modal/src/modal.module.mjs +143 -0
- package/esm2020/lib/modal/src/modal.service.mjs +58 -0
- package/esm2020/lib/modal/src/panel/inline-panel.component.mjs +15 -0
- package/esm2020/lib/modal/src/panel/panel-back-button.directive.mjs +13 -0
- package/esm2020/lib/modal/src/panel/panel-close-button.directive.mjs +16 -0
- package/esm2020/lib/modal/src/panel/panel-content.component.mjs +38 -0
- package/esm2020/lib/modal/src/panel/panel-footer.component.mjs +38 -0
- package/esm2020/lib/modal/src/panel/panel-header.component.mjs +68 -0
- package/esm2020/lib/modal/src/panel/panel-trigger.directive.mjs +37 -0
- package/esm2020/lib/modal/src/panel/panel.component.mjs +37 -0
- package/esm2020/lib/notification-badge/public_api.mjs +3 -0
- package/esm2020/lib/notification-badge/src/notification-badge.component.mjs +28 -0
- package/esm2020/lib/notification-badge/src/notification-badge.module.mjs +18 -0
- package/esm2020/lib/pagination/public_api.mjs +3 -0
- package/esm2020/lib/pagination/src/pagination.component.mjs +85 -0
- package/esm2020/lib/pagination/src/pagination.module.mjs +36 -0
- package/esm2020/lib/popover/public_api.mjs +10 -0
- package/esm2020/lib/popover/src/popover-close-button.directive.mjs +32 -0
- package/esm2020/lib/popover/src/popover-title.directive.mjs +24 -0
- package/esm2020/lib/popover/src/popover-trigger.directive.mjs +301 -0
- package/esm2020/lib/popover/src/popover.component.mjs +88 -0
- package/esm2020/lib/popover/src/popover.module.mjs +38 -0
- package/esm2020/lib/radio/public_api.mjs +8 -0
- package/esm2020/lib/radio/src/radio-group.component.mjs +195 -0
- package/esm2020/lib/radio/src/radio.component.mjs +279 -0
- package/esm2020/lib/radio/src/radio.module.mjs +22 -0
- package/esm2020/lib/segmented-tabs/public_api.mjs +6 -0
- package/esm2020/lib/segmented-tabs/src/segmented-tab-content.directive.mjs +15 -0
- package/esm2020/lib/segmented-tabs/src/segmented-tab-label.directive.mjs +20 -0
- package/esm2020/lib/segmented-tabs/src/segmented-tab.component.mjs +69 -0
- package/esm2020/lib/segmented-tabs/src/segmented-tabs.component.mjs +215 -0
- package/esm2020/lib/segmented-tabs/src/segmented-tabs.module.mjs +39 -0
- package/esm2020/lib/select/public_api.mjs +10 -0
- package/esm2020/lib/select/src/basic-select/basic-select.component.mjs +127 -0
- package/esm2020/lib/select/src/common/hidden-select.component.mjs +33 -0
- package/esm2020/lib/select/src/common/select-component-base.mjs +267 -0
- package/esm2020/lib/select/src/common/select-value-holder.mjs +86 -0
- package/esm2020/lib/select/src/select/searchable-select.directive.mjs +90 -0
- package/esm2020/lib/select/src/select/select.component.mjs +351 -0
- package/esm2020/lib/select/src/select/select.module.mjs +113 -0
- package/esm2020/lib/select/src/select/selection-text.directive.mjs +19 -0
- package/esm2020/lib/skeleton/public_api.mjs +6 -0
- package/esm2020/lib/skeleton/src/skeleton-block.directive.mjs +16 -0
- package/esm2020/lib/skeleton/src/skeleton-circle.directive.mjs +16 -0
- package/esm2020/lib/skeleton/src/skeleton-text.directive.mjs +43 -0
- package/esm2020/lib/skeleton/src/skeleton.component.mjs +29 -0
- package/esm2020/lib/skeleton/src/skeleton.module.mjs +37 -0
- package/esm2020/lib/skeleton/src/util.mjs +2 -0
- package/esm2020/lib/surface/public_api.mjs +7 -0
- package/esm2020/lib/surface/src/surface.component.mjs +25 -0
- package/esm2020/lib/surface/src/surface.module.mjs +16 -0
- package/esm2020/lib/switch/public_api.mjs +4 -0
- package/esm2020/lib/switch/src/switch-required-validator.mjs +27 -0
- package/esm2020/lib/switch/src/switch.component.mjs +216 -0
- package/esm2020/lib/switch/src/switch.module.mjs +19 -0
- package/esm2020/lib/table/public_api.mjs +15 -0
- package/esm2020/lib/table/src/table-body.directive.mjs +20 -0
- package/esm2020/lib/table/src/table-cell.directive.mjs +87 -0
- package/esm2020/lib/table/src/table-head-cell.component.mjs +57 -0
- package/esm2020/lib/table/src/table-head.directive.mjs +32 -0
- package/esm2020/lib/table/src/table-row.directive.mjs +48 -0
- package/esm2020/lib/table/src/table-sort-header.directive.mjs +44 -0
- package/esm2020/lib/table/src/table-sort.directive.mjs +26 -0
- package/esm2020/lib/table/src/table.component.mjs +82 -0
- package/esm2020/lib/table/src/table.directive.mjs +20 -0
- package/esm2020/lib/table/src/table.module.mjs +74 -0
- package/esm2020/lib/text-field/public_api.mjs +12 -0
- package/esm2020/lib/text-field/src/text-field-affix.directive.mjs +26 -0
- package/esm2020/lib/text-field/src/text-field-input.directive.mjs +51 -0
- package/esm2020/lib/text-field/src/text-field-postfix.directive.mjs +13 -0
- package/esm2020/lib/text-field/src/text-field-prefix.directive.mjs +13 -0
- package/esm2020/lib/text-field/src/text-field-textarea-autosize.directive.mjs +73 -0
- package/esm2020/lib/text-field/src/text-field.component.mjs +78 -0
- package/esm2020/lib/text-field/src/text-field.module.mjs +67 -0
- package/esm2020/lib/theme/public_api.mjs +34 -0
- package/esm2020/lib/theme/src/sapphire-overlay-container.service.mjs +38 -0
- package/esm2020/lib/theme/src/theme-base.directive.mjs +87 -0
- package/esm2020/lib/theme/src/theme-check.directive.mjs +29 -0
- package/esm2020/lib/theme/src/theme-root.directive.mjs +23 -0
- package/esm2020/lib/theme/src/theme.module.mjs +32 -0
- package/esm2020/lib/theme/src/themes.mjs +27 -0
- package/esm2020/lib/theme/src/top-level-theme-ref.service.mjs +21 -0
- package/esm2020/lib/tooltip/public_api.mjs +5 -0
- package/esm2020/lib/tooltip/src/tooltip.component.mjs +47 -0
- package/esm2020/lib/tooltip/src/tooltip.directive.mjs +223 -0
- package/esm2020/lib/tooltip/src/tooltip.module.mjs +30 -0
- package/esm2020/lib/tooltip/src/truncated-with-tooltip.directive.mjs +56 -0
- package/esm2020/lib/typography/public_api.mjs +8 -0
- package/esm2020/lib/typography/src/heading.component.mjs +44 -0
- package/esm2020/lib/typography/src/paragraph.component.mjs +24 -0
- package/esm2020/lib/typography/src/typography.module.mjs +19 -0
- package/esm2020/public-api.mjs +30 -0
- package/fesm2015/danske-sapphire-angular.mjs +8010 -0
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -0
- package/fesm2020/danske-sapphire-angular.mjs +7890 -0
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/badge/public_api.d.ts +2 -0
- package/lib/badge/src/badge.component.d.ts +35 -0
- package/lib/badge/src/badge.module.d.ts +8 -0
- package/lib/button/public_api.d.ts +7 -0
- package/lib/button/src/button-group.component.d.ts +26 -0
- package/lib/button/src/button-icon.directive.d.ts +5 -0
- package/lib/button/src/button.component.d.ts +31 -0
- package/lib/button/src/button.module.d.ts +14 -0
- package/lib/button/src/icon-button.component.d.ts +26 -0
- package/lib/button/src/toggle-button-required-validator.d.ts +10 -0
- package/lib/button/src/toggle-button.component.d.ts +39 -0
- package/lib/checkbox/public_api.d.ts +3 -0
- package/lib/checkbox/src/checkbox-required-validator.d.ts +10 -0
- package/lib/checkbox/src/checkbox.component.d.ts +112 -0
- package/lib/checkbox/src/checkbox.module.d.ts +11 -0
- package/lib/common/auto-id.decorator.d.ts +7 -0
- package/lib/common/coerce-boolean.decorator.d.ts +7 -0
- package/lib/common/constructor.d.ts +2 -0
- package/lib/common/disabled.d.ts +9 -0
- package/lib/common/focused.directive.d.ts +30 -0
- package/lib/common/placement.d.ts +11 -0
- package/lib/common/platform.d.ts +9 -0
- package/lib/common/pressed.directive.d.ts +27 -0
- package/lib/common/public_api.d.ts +2 -0
- package/lib/common/sapphire-view-encapsulation.d.ts +37 -0
- package/lib/common/scroll-monitor.directive.d.ts +23 -0
- package/lib/common/tabindex.d.ts +12 -0
- package/lib/common/visually-hidden.directive.d.ts +11 -0
- package/lib/contextual-help/public_api.d.ts +2 -0
- package/lib/contextual-help/src/contextual-help.component.d.ts +50 -0
- package/lib/contextual-help/src/contextual-help.module.d.ts +7 -0
- package/lib/core.module.d.ts +30 -0
- package/lib/field/public_api.d.ts +7 -0
- package/lib/field/src/field-control.d.ts +16 -0
- package/lib/field/src/field-error.directive.d.ts +8 -0
- package/lib/field/src/field-label.directive.d.ts +8 -0
- package/lib/field/src/field-note-suffix.directive.d.ts +15 -0
- package/lib/field/src/field-note.directive.d.ts +8 -0
- package/lib/field/src/field.component.d.ts +77 -0
- package/lib/field/src/field.module.d.ts +14 -0
- package/lib/icon/public_api.d.ts +3 -0
- package/lib/icon/src/icon-size-provider.d.ts +23 -0
- package/lib/icon/src/icon.component.d.ts +18 -0
- package/lib/icon/src/icon.module.d.ts +8 -0
- package/lib/label/public_api.d.ts +5 -0
- package/lib/label/src/label.component.d.ts +43 -0
- package/lib/link/public_api.d.ts +2 -0
- package/lib/link/src/link.component.d.ts +13 -0
- package/lib/link/src/link.module.d.ts +7 -0
- package/lib/listbox/public_api.d.ts +9 -0
- package/lib/listbox/src/cdk-option-scroll-issue-patch.d.ts +17 -0
- package/lib/listbox/src/listbox-child.d.ts +6 -0
- package/lib/listbox/src/listbox-input.directive.d.ts +16 -0
- package/lib/listbox/src/listbox-item.component.d.ts +21 -0
- package/lib/listbox/src/listbox.component.d.ts +127 -0
- package/lib/listbox/src/listbox.module.d.ts +22 -0
- package/lib/listbox/src/option-icon.directive.d.ts +10 -0
- package/lib/listbox/src/option-primary-text.directive.d.ts +14 -0
- package/lib/listbox/src/option-secondary-text.directive.d.ts +10 -0
- package/lib/listbox/src/option.component.d.ts +21 -0
- package/lib/listbox/src/section.directive.d.ts +14 -0
- package/lib/menu/public_api.d.ts +5 -0
- package/lib/menu/src/menu-item.component.d.ts +12 -0
- package/lib/menu/src/menu-section.component.d.ts +12 -0
- package/lib/menu/src/menu-trigger.directive.d.ts +34 -0
- package/lib/menu/src/menu.component.d.ts +10 -0
- package/lib/menu/src/menu.module.d.ts +13 -0
- package/lib/modal/public_api.d.ts +18 -0
- package/lib/modal/src/dialog/confirmation-dialog.component.d.ts +43 -0
- package/lib/modal/src/dialog/danger-dialog.component.d.ts +44 -0
- package/lib/modal/src/dialog/dialog-close-button.directive.d.ts +7 -0
- package/lib/modal/src/dialog/dialog-content.directive.d.ts +13 -0
- package/lib/modal/src/dialog/dialog-footer.component.d.ts +20 -0
- package/lib/modal/src/dialog/dialog-header.component.d.ts +25 -0
- package/lib/modal/src/dialog/dialog-trigger.directive.d.ts +13 -0
- package/lib/modal/src/dialog/dialog.component.d.ts +33 -0
- package/lib/modal/src/modal-base.component.d.ts +33 -0
- package/lib/modal/src/modal-close-button.directive.d.ts +9 -0
- package/lib/modal/src/modal-trigger.directive.d.ts +24 -0
- package/lib/modal/src/modal.module.d.ts +30 -0
- package/lib/modal/src/modal.service.d.ts +26 -0
- package/lib/modal/src/panel/inline-panel.component.d.ts +6 -0
- package/lib/modal/src/panel/panel-back-button.directive.d.ts +5 -0
- package/lib/modal/src/panel/panel-close-button.directive.d.ts +6 -0
- package/lib/modal/src/panel/panel-content.component.d.ts +14 -0
- package/lib/modal/src/panel/panel-footer.component.d.ts +21 -0
- package/lib/modal/src/panel/panel-header.component.d.ts +26 -0
- package/lib/modal/src/panel/panel-trigger.directive.d.ts +13 -0
- package/lib/modal/src/panel/panel.component.d.ts +18 -0
- package/lib/notification-badge/public_api.d.ts +2 -0
- package/lib/notification-badge/src/notification-badge.component.d.ts +10 -0
- package/lib/notification-badge/src/notification-badge.module.d.ts +8 -0
- package/lib/pagination/public_api.d.ts +2 -0
- package/lib/pagination/src/pagination.component.d.ts +32 -0
- package/lib/pagination/src/pagination.module.d.ts +12 -0
- package/lib/popover/public_api.d.ts +5 -0
- package/lib/popover/src/popover-close-button.directive.d.ts +13 -0
- package/lib/popover/src/popover-title.directive.d.ts +11 -0
- package/lib/popover/src/popover-trigger.directive.d.ts +86 -0
- package/lib/popover/src/popover.component.d.ts +32 -0
- package/lib/popover/src/popover.module.d.ts +12 -0
- package/lib/radio/public_api.d.ts +3 -0
- package/lib/radio/src/radio-group.component.d.ts +65 -0
- package/lib/radio/src/radio.component.d.ts +99 -0
- package/lib/radio/src/radio.module.d.ts +12 -0
- package/lib/segmented-tabs/public_api.d.ts +5 -0
- package/lib/segmented-tabs/src/segmented-tab-content.directive.d.ts +6 -0
- package/lib/segmented-tabs/src/segmented-tab-label.directive.d.ts +6 -0
- package/lib/segmented-tabs/src/segmented-tab.component.d.ts +27 -0
- package/lib/segmented-tabs/src/segmented-tabs.component.d.ts +48 -0
- package/lib/segmented-tabs/src/segmented-tabs.module.d.ts +13 -0
- package/lib/select/public_api.d.ts +5 -0
- package/lib/select/src/basic-select/basic-select.component.d.ts +50 -0
- package/lib/select/src/common/hidden-select.component.d.ts +19 -0
- package/lib/select/src/common/select-component-base.d.ts +109 -0
- package/lib/select/src/common/select-value-holder.d.ts +54 -0
- package/lib/select/src/select/searchable-select.directive.d.ts +40 -0
- package/lib/select/src/select/select.component.d.ts +80 -0
- package/lib/select/src/select/select.module.d.ts +26 -0
- package/lib/select/src/select/selection-text.directive.d.ts +11 -0
- package/lib/skeleton/public_api.d.ts +5 -0
- package/lib/skeleton/src/skeleton-block.directive.d.ts +5 -0
- package/lib/skeleton/src/skeleton-circle.directive.d.ts +5 -0
- package/lib/skeleton/src/skeleton-text.directive.d.ts +13 -0
- package/lib/skeleton/src/skeleton.component.d.ts +13 -0
- package/lib/skeleton/src/skeleton.module.d.ts +11 -0
- package/lib/skeleton/src/util.d.ts +1 -0
- package/lib/surface/public_api.d.ts +2 -0
- package/lib/surface/src/surface.component.d.ts +11 -0
- package/lib/surface/src/surface.module.d.ts +7 -0
- package/lib/switch/public_api.d.ts +3 -0
- package/lib/switch/src/switch-required-validator.d.ts +10 -0
- package/lib/switch/src/switch.component.d.ts +91 -0
- package/lib/switch/src/switch.module.d.ts +9 -0
- package/lib/table/public_api.d.ts +10 -0
- package/lib/table/src/table-body.directive.d.ts +7 -0
- package/lib/table/src/table-cell.directive.d.ts +30 -0
- package/lib/table/src/table-head-cell.component.d.ts +19 -0
- package/lib/table/src/table-head.directive.d.ts +10 -0
- package/lib/table/src/table-row.directive.d.ts +16 -0
- package/lib/table/src/table-sort-header.directive.d.ts +11 -0
- package/lib/table/src/table-sort.directive.d.ts +13 -0
- package/lib/table/src/table.component.d.ts +37 -0
- package/lib/table/src/table.directive.d.ts +7 -0
- package/lib/table/src/table.module.d.ts +19 -0
- package/lib/text-field/public_api.d.ts +7 -0
- package/lib/text-field/src/text-field-affix.directive.d.ts +10 -0
- package/lib/text-field/src/text-field-input.directive.d.ts +16 -0
- package/lib/text-field/src/text-field-postfix.directive.d.ts +5 -0
- package/lib/text-field/src/text-field-prefix.directive.d.ts +5 -0
- package/lib/text-field/src/text-field-textarea-autosize.directive.d.ts +20 -0
- package/lib/text-field/src/text-field.component.d.ts +23 -0
- package/lib/text-field/src/text-field.module.d.ts +17 -0
- package/lib/theme/public_api.d.ts +24 -0
- package/lib/theme/src/sapphire-overlay-container.service.d.ts +14 -0
- package/lib/theme/src/theme-base.directive.d.ts +14 -0
- package/lib/theme/src/theme-check.directive.d.ts +14 -0
- package/lib/theme/src/theme-root.directive.d.ts +13 -0
- package/lib/theme/src/theme.module.d.ts +14 -0
- package/lib/theme/src/themes.d.ts +16 -0
- package/lib/theme/src/top-level-theme-ref.service.d.ts +13 -0
- package/lib/tooltip/public_api.d.ts +4 -0
- package/lib/tooltip/src/tooltip.component.d.ts +10 -0
- package/lib/tooltip/src/tooltip.directive.d.ts +39 -0
- package/lib/tooltip/src/tooltip.module.d.ts +11 -0
- package/lib/tooltip/src/truncated-with-tooltip.directive.d.ts +26 -0
- package/lib/typography/public_api.d.ts +3 -0
- package/lib/typography/src/heading.component.d.ts +17 -0
- package/lib/typography/src/paragraph.component.d.ts +8 -0
- package/lib/typography/src/typography.module.d.ts +9 -0
- package/package.json +45 -0
- package/public-api.d.ts +26 -0
- package/src/lib/listbox/src/README.md +67 -0
- package/theme-assets/default-dark.css +1 -0
- package/theme-assets/default.css +1 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output, QueryList, ViewChild, ViewChildren, } from '@angular/core';
|
|
3
|
+
import { CdkListbox, CdkOption, } from '@angular/cdk/listbox';
|
|
4
|
+
import { OptionComponent } from './option.component';
|
|
5
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
|
+
import { CoerceBoolean } from '../../common/coerce-boolean.decorator';
|
|
7
|
+
import { ListboxChild } from './listbox-child';
|
|
8
|
+
import { SectionDirective } from './section.directive';
|
|
9
|
+
import { ViewEncapsulationProvider } from '../../common/sapphire-view-encapsulation';
|
|
10
|
+
import { ICON_SIZE_PROVIDER, } from '../../icon/src/icon-size-provider';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common";
|
|
13
|
+
import * as i2 from "@angular/cdk/listbox";
|
|
14
|
+
import * as i3 from "./cdk-option-scroll-issue-patch";
|
|
15
|
+
import * as i4 from "./listbox-item.component";
|
|
16
|
+
export class ListboxComponent {
|
|
17
|
+
/**
|
|
18
|
+
* List of spOption or spSection components either collected from the content
|
|
19
|
+
* or passed as input.
|
|
20
|
+
*/
|
|
21
|
+
get options() {
|
|
22
|
+
return this._itemsInput || this.itemsInContent;
|
|
23
|
+
}
|
|
24
|
+
constructor(changeDetectorRef) {
|
|
25
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
26
|
+
/**
|
|
27
|
+
* The list of selected values (`value`s of selected sp-options).
|
|
28
|
+
* It's always an array, regardless of {@property multiple} being true or not.
|
|
29
|
+
*/
|
|
30
|
+
this.selectedValues = [];
|
|
31
|
+
/**
|
|
32
|
+
* Emitted when the selection is changed. Emits selected values.
|
|
33
|
+
*/
|
|
34
|
+
this.selectedValuesChange = new EventEmitter();
|
|
35
|
+
this.size = 'large';
|
|
36
|
+
/**
|
|
37
|
+
* Emits whenever an option is selected, regardless of if it's already selected.
|
|
38
|
+
*/
|
|
39
|
+
this.selected = new EventEmitter();
|
|
40
|
+
this.itemsInContent = new QueryList();
|
|
41
|
+
this.onTouched = () => ({});
|
|
42
|
+
this.onChange = () => { };
|
|
43
|
+
/**
|
|
44
|
+
* CdkListbox throws if there is a selected value that doesn't match any of the cdkOptions
|
|
45
|
+
* It's probably an artificial check, and maybe they could remove it, but that's how it is now,
|
|
46
|
+
* and selected value can be none of the currently visible options if options are searchable.
|
|
47
|
+
* Since the check seems unnecessary, we do the filtering right in the listbox component instead
|
|
48
|
+
* of in searchable select.
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
this._validSelectedValues = [];
|
|
52
|
+
/**
|
|
53
|
+
* Our expected behavior (matching the React impl) is to navigate to the last option, when
|
|
54
|
+
* ArrowDown is pressed and no option is currently focused, but to not have focus wrapping.
|
|
55
|
+
* disabling focus wrapping on cdkListbox is implemented differently, and doesn't allow for
|
|
56
|
+
* that, so we enable it regardless of `navigationWrapDisabled` input, if there is no active
|
|
57
|
+
* option.
|
|
58
|
+
*/
|
|
59
|
+
this._forceEnableNavigationWrap = false;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Connects the listbox to an input, for combobox-like use cases.
|
|
63
|
+
* Returns a keydown event handler to be used on the connected input.
|
|
64
|
+
* Connecting an input to the listbox also causes listbox to use virtual focus
|
|
65
|
+
* since the actual focus will be in the input.
|
|
66
|
+
* @param inputDirective
|
|
67
|
+
*
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
connectToInput(inputDirective) {
|
|
71
|
+
this.connectedInput = inputDirective;
|
|
72
|
+
// need to run change detection because _connectedInput is used to set the value of
|
|
73
|
+
// cdkListboxUseActiveDescendant, and it's set after change detection for this component is done
|
|
74
|
+
// and when ListboxInputDirective input is set
|
|
75
|
+
this.changeDetectorRef.detectChanges();
|
|
76
|
+
return {
|
|
77
|
+
onKeydown: (event) => {
|
|
78
|
+
if (
|
|
79
|
+
// Only forwarding certain keystrokes, not to trigger typeahead while input is focused
|
|
80
|
+
[
|
|
81
|
+
'ArrowUp',
|
|
82
|
+
'ArrowDown',
|
|
83
|
+
'Home',
|
|
84
|
+
'End',
|
|
85
|
+
'PageUp',
|
|
86
|
+
'PageDown',
|
|
87
|
+
'Enter',
|
|
88
|
+
].includes(event.key)) {
|
|
89
|
+
// @ts-expect-error(access): _handleKeydown is protected
|
|
90
|
+
this.cdkListbox?._handleKeydown?.(event);
|
|
91
|
+
}
|
|
92
|
+
if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
|
|
93
|
+
this.setActiveOption(null);
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
// cdkListbox keeps track of focus state, and sets the active item to the selected item if
|
|
97
|
+
// the listbox is not focused when selection changes. That causes issues especially in
|
|
98
|
+
// multi-select, where the dropdown keeps open when selection changes.
|
|
99
|
+
onFocus: () => {
|
|
100
|
+
if (this.cdkListbox) {
|
|
101
|
+
// @ts-expect-error(access): _hasFocus is private
|
|
102
|
+
this.cdkListbox._hasFocus = true;
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
onBlur: () => {
|
|
106
|
+
if (this.cdkListbox) {
|
|
107
|
+
// @ts-expect-error(access): _hasFocus is private
|
|
108
|
+
this.cdkListbox._hasFocus = false;
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
isSelected(option) {
|
|
114
|
+
return this.selectedValues?.includes(option.value);
|
|
115
|
+
}
|
|
116
|
+
ngAfterViewInit() {
|
|
117
|
+
this.cdkListbox?.registerOnChange(this.onChange);
|
|
118
|
+
this.cdkListbox?.registerOnTouched(this.onTouched);
|
|
119
|
+
}
|
|
120
|
+
ngDoCheck() {
|
|
121
|
+
/**
|
|
122
|
+
* Properties set here are used in the template, but depend on the state of child directives,
|
|
123
|
+
* which can change after view is checked on this component. By setting them in ngDoCheck
|
|
124
|
+
* instead of directly referencing them in the template, we avoid NG0100: ExpressionChanged...
|
|
125
|
+
* errors
|
|
126
|
+
*/
|
|
127
|
+
this._forceEnableNavigationWrap = !Boolean(this.getActiveOption());
|
|
128
|
+
}
|
|
129
|
+
ngAfterViewChecked() {
|
|
130
|
+
const validValues = this.selectedValues?.filter((value) => this.cdkOptions?.find((cdkOption) => cdkOption.value === value)) || [];
|
|
131
|
+
if (validValues.length !== this._validSelectedValues.length ||
|
|
132
|
+
this._validSelectedValues.some((value, index) => value !== validValues[index])) {
|
|
133
|
+
this._validSelectedValues = validValues;
|
|
134
|
+
this.changeDetectorRef.detectChanges();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Sets active (focused) option. Passing null removes active state if any.
|
|
139
|
+
* @param value option value
|
|
140
|
+
*/
|
|
141
|
+
setActiveOption(value) {
|
|
142
|
+
const option = value && this.cdkOptions?.find((option) => option.value === value);
|
|
143
|
+
if (option || option === null) {
|
|
144
|
+
// @ts-expect-error: null is actually accepted and resets active item, but the type doesn't allow it by mistake
|
|
145
|
+
this.cdkListbox?._setActiveOption(option);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* @returns currently active (focused) option.
|
|
150
|
+
*/
|
|
151
|
+
getActiveOption() {
|
|
152
|
+
// There is currently no public method on CdkListbox to get the active item or select it directly.
|
|
153
|
+
return (this.cdkOptions?.find((option) => Boolean(this.cdkListbox?.isActive(option)))?.value ?? null);
|
|
154
|
+
}
|
|
155
|
+
//// ControlValueAccessor ////
|
|
156
|
+
registerOnChange(fn) {
|
|
157
|
+
this.onChange = fn;
|
|
158
|
+
}
|
|
159
|
+
registerOnTouched(fn) {
|
|
160
|
+
this.onTouched = fn;
|
|
161
|
+
}
|
|
162
|
+
setDisabledState(isDisabled) {
|
|
163
|
+
this.disabled = isDisabled;
|
|
164
|
+
}
|
|
165
|
+
writeValue(obj) {
|
|
166
|
+
this.selectedValues = obj;
|
|
167
|
+
}
|
|
168
|
+
///////////////////////////////
|
|
169
|
+
/**
|
|
170
|
+
* @private
|
|
171
|
+
*/
|
|
172
|
+
_handleSelectionChange({ value }) {
|
|
173
|
+
this.selectedValues = value;
|
|
174
|
+
this.selectedValuesChange.emit(value);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* @private
|
|
178
|
+
*/
|
|
179
|
+
_isOption(item) {
|
|
180
|
+
return item instanceof OptionComponent;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* @private
|
|
184
|
+
*/
|
|
185
|
+
_isSection(item) {
|
|
186
|
+
return item instanceof SectionDirective;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* @private
|
|
190
|
+
*/
|
|
191
|
+
_shouldUseVirtualFocus() {
|
|
192
|
+
return Boolean(this.connectedInput);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* @private
|
|
196
|
+
*/
|
|
197
|
+
_isConnectedToInput() {
|
|
198
|
+
return Boolean(this.connectedInput);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
ListboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
ListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ListboxComponent, selector: "sp-listbox", inputs: { selectedValues: "selectedValues", _itemsInput: ["spListboxItems", "_itemsInput"], disabled: "disabled", multiple: "multiple", navigationWrapDisabled: "navigationWrapDisabled", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], size: "size" }, outputs: { selectedValuesChange: "selectedValuesChange", selected: "selected" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null" } }, providers: [
|
|
203
|
+
{
|
|
204
|
+
provide: NG_VALUE_ACCESSOR,
|
|
205
|
+
useExisting: forwardRef(() => ListboxComponent),
|
|
206
|
+
multi: true,
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
provide: ICON_SIZE_PROVIDER,
|
|
210
|
+
useExisting: forwardRef(() => ListboxComponent),
|
|
211
|
+
},
|
|
212
|
+
ViewEncapsulationProvider,
|
|
213
|
+
], queries: [{ propertyName: "itemsInContent", predicate: ListboxChild }], viewQueries: [{ propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true }, { propertyName: "cdkOptions", predicate: CdkOption, descendants: true }], exportAs: ["spListbox"], ngImport: i0, template: "<ul\n class=\"sapphire-listbox\"\n cdkListbox\n [cdkListboxCompareWith]=\"\"\n [cdkListboxMultiple]=\"!!multiple\"\n [cdkListboxDisabled]=\"!!disabled\"\n [cdkListboxNavigationWrapDisabled]=\"\n navigationWrapDisabled && !_forceEnableNavigationWrap\n \"\n [cdkListboxValue]=\"_validSelectedValues\"\n [cdkListboxUseActiveDescendant]=\"_shouldUseVirtualFocus()\"\n (cdkListboxValueChange)=\"_handleSelectionChange($event)\"\n (keydown.enter)=\"selected.emit($event)\"\n (keydown.space)=\"selected.emit($event)\"\n (mousedown)=\"_isConnectedToInput() && $event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-container *ngFor=\"let item of options; let last = last\">\n <ng-container *ngIf=\"_isSection(item)\">\n <li role=\"presentation\">\n <ul\n role=\"group\"\n class=\"sapphire-listbox__section\"\n [attr.aria-label]=\"item.ariaLabel\"\n >\n <li\n *ngFor=\"let option of item.children\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"option.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || option.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ul>\n </li>\n <li\n *ngIf=\"!last\"\n role=\"separator\"\n class=\"sapphire-listbox__separator\"\n ></li>\n </ng-container>\n <li\n *ngIf=\"_isOption(item)\"\n [cdkOption]=\"item.value\"\n [cdkOptionDisabled]=\"!!item.disabled\"\n [cdkOptionTypeaheadLabel]=\"item.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"item\"\n [selected]=\"isSelected(item)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || item.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ng-container>\n</ul>\n", styles: [".sapphire-listbox{box-sizing:border-box;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: i2.CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: i3.CdkOptionScrollIssuePatch, selector: "[cdkOption]" }, { kind: "component", type: i4.ListboxItemComponent, selector: "li[sp-listbox-item]", inputs: ["selected", "focused", "option", "size"] }] });
|
|
214
|
+
__decorate([
|
|
215
|
+
CoerceBoolean
|
|
216
|
+
], ListboxComponent.prototype, "disabled", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
CoerceBoolean
|
|
219
|
+
], ListboxComponent.prototype, "multiple", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
CoerceBoolean
|
|
222
|
+
], ListboxComponent.prototype, "navigationWrapDisabled", void 0);
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListboxComponent, decorators: [{
|
|
224
|
+
type: Component,
|
|
225
|
+
args: [{ selector: 'sp-listbox', providers: [
|
|
226
|
+
{
|
|
227
|
+
provide: NG_VALUE_ACCESSOR,
|
|
228
|
+
useExisting: forwardRef(() => ListboxComponent),
|
|
229
|
+
multi: true,
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
provide: ICON_SIZE_PROVIDER,
|
|
233
|
+
useExisting: forwardRef(() => ListboxComponent),
|
|
234
|
+
},
|
|
235
|
+
ViewEncapsulationProvider,
|
|
236
|
+
], host: {
|
|
237
|
+
'[attr.aria-label]': 'null',
|
|
238
|
+
'[attr.aria-labelledby]': 'null',
|
|
239
|
+
}, exportAs: 'spListbox', template: "<ul\n class=\"sapphire-listbox\"\n cdkListbox\n [cdkListboxCompareWith]=\"\"\n [cdkListboxMultiple]=\"!!multiple\"\n [cdkListboxDisabled]=\"!!disabled\"\n [cdkListboxNavigationWrapDisabled]=\"\n navigationWrapDisabled && !_forceEnableNavigationWrap\n \"\n [cdkListboxValue]=\"_validSelectedValues\"\n [cdkListboxUseActiveDescendant]=\"_shouldUseVirtualFocus()\"\n (cdkListboxValueChange)=\"_handleSelectionChange($event)\"\n (keydown.enter)=\"selected.emit($event)\"\n (keydown.space)=\"selected.emit($event)\"\n (mousedown)=\"_isConnectedToInput() && $event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-container *ngFor=\"let item of options; let last = last\">\n <ng-container *ngIf=\"_isSection(item)\">\n <li role=\"presentation\">\n <ul\n role=\"group\"\n class=\"sapphire-listbox__section\"\n [attr.aria-label]=\"item.ariaLabel\"\n >\n <li\n *ngFor=\"let option of item.children\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"option.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || option.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ul>\n </li>\n <li\n *ngIf=\"!last\"\n role=\"separator\"\n class=\"sapphire-listbox__separator\"\n ></li>\n </ng-container>\n <li\n *ngIf=\"_isOption(item)\"\n [cdkOption]=\"item.value\"\n [cdkOptionDisabled]=\"!!item.disabled\"\n [cdkOptionTypeaheadLabel]=\"item.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"item\"\n [selected]=\"isSelected(item)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || item.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ng-container>\n</ul>\n", styles: [".sapphire-listbox{box-sizing:border-box;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}:host{display:block}\n"] }]
|
|
240
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedValues: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], selectedValuesChange: [{
|
|
243
|
+
type: Output
|
|
244
|
+
}], _itemsInput: [{
|
|
245
|
+
type: Input,
|
|
246
|
+
args: ['spListboxItems']
|
|
247
|
+
}], disabled: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], multiple: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], navigationWrapDisabled: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], ariaLabel: [{
|
|
254
|
+
type: Input,
|
|
255
|
+
args: ['aria-label']
|
|
256
|
+
}], ariaLabelledBy: [{
|
|
257
|
+
type: Input,
|
|
258
|
+
args: ['aria-labelledby']
|
|
259
|
+
}], size: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}], selected: [{
|
|
262
|
+
type: Output
|
|
263
|
+
}], itemsInContent: [{
|
|
264
|
+
type: ContentChildren,
|
|
265
|
+
args: [ListboxChild]
|
|
266
|
+
}], cdkListbox: [{
|
|
267
|
+
type: ViewChild,
|
|
268
|
+
args: [CdkListbox]
|
|
269
|
+
}], cdkOptions: [{
|
|
270
|
+
type: ViewChildren,
|
|
271
|
+
args: [CdkOption]
|
|
272
|
+
}] } });
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9saXN0Ym94L3NyYy9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEdBRVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUF3QjNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFxRTNCOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pELENBQUM7SUE0QkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUEvRnhEOzs7V0FHRztRQUVILG1CQUFjLEdBQXNCLEVB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RUFnRUE7QURzQkU7SUFEQyxhQUFhO2tEQUNVO0FBT3hCO0lBREMsYUFBYTtrREFDVTtBQVF4QjtJQURDLGFBQWE7Z0VBQ3VCOzJGQTlDMUIsZ0JBQWdCO2tCQXRCNUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoRDt3QkFDRCx5QkFBeUI7cUJBQzFCLFFBQ0s7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTtxQkFDakMsWUFDUyxXQUFXO3dHQWVyQixjQUFjO3NCQURiLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixNQUFNO2dCQVNQLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLFFBQVE7c0JBRlAsS0FBSztnQkFTTixRQUFRO3NCQUZQLEtBQUs7Z0JBVU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUl4QixJQUFJO3NCQURILEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxNQUFNO2dCQUlDLGNBQWM7c0JBRHJCLGVBQWU7dUJBQUMsWUFBWTtnQkFlckIsVUFBVTtzQkFEakIsU0FBUzt1QkFBQyxVQUFVO2dCQUliLFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRG9DaGVjayxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENka0xpc3Rib3gsXG4gIENka09wdGlvbixcbiAgTGlzdGJveFZhbHVlQ2hhbmdlRXZlbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9saXN0Ym94JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgTGlzdGJveENoaWxkIH0gZnJvbSAnLi9saXN0Ym94LWNoaWxkJztcbmltcG9ydCB7IFNlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vbGlzdGJveC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlciB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHtcbiAgSUNPTl9TSVpFX1BST1ZJREVSLFxuICBJY29uU2l6ZVByb3ZpZGVyLFxufSBmcm9tICcuLi8uLi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1saXN0Ym94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0Ym94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdGJveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IElDT05fU0laRV9QUk9WSURFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3Rib3hDb21wb25lbnQpLFxuICAgIH0sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlcixcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcbiAgfSxcbiAgZXhwb3J0QXM6ICdzcExpc3Rib3gnLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Ym94Q29tcG9uZW50XG4gIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgRG9DaGVjayxcbiAgICBJY29uU2l6ZVByb3ZpZGVyXG57XG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBzZWxlY3RlZCB2YWx1ZXMgKGB2YWx1ZWBzIG9mIHNlbGVjdGVkIHNwLW9wdGlvbnMpLlxuICAgKiBJdCdzIGFsd2F5cyBhbiBhcnJheSwgcmVnYXJkbGVzcyBvZiB7QHByb3BlcnR5IG11bHRpcGxlfSBiZWluZyB0cnVlIG9yIG5vdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkVmFsdWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjaGFuZ2VkLiBFbWl0cyBzZWxlY3RlZCB2YWx1ZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHJlYWRvbmx5IHN0cmluZ1tdPigpO1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIHBhc3NpbmcgdGhlIGxpc3Qgb2YgbGlzdGJveCBpdGVtcyBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtIGNvbGxlY3RlZFxuICAgKiBmcm9tIGNoaWxkcmVuLiBVc2VmdWwgd2hlbiBhIGNvbXBvbmVudCB3YW50cyB0byByZW5kZXIgYSBsaXN0Ym94IHdpdGhpbiBpdHMgdmlld1xuICAgKiBidXQgd2FudHMgdG8gY29sbGVjdCBsaXN0Ym94IGl0ZW1zIGZyb20gaXRzIG93biBjb250ZW50LlxuICAgKi9cbiAgQElucHV0KCdzcExpc3Rib3hJdGVtcycpXG4gIF9pdGVtc0lucHV0PzogSXRlcmFibGU8TGlzdGJveENoaWxkPjtcblxuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBkaXNhYmxlZD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZFxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgbXVsdGlwbGU/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHByZXNzaW5nIEFycm93VXAvQXJyb3dEb3duIG9uIHRoZSBmaXJzdC9sYXN0IGl0ZW0gd2lsbCBub3QgbW92ZVxuICAgKiBmb2N1cyB0byB0aGUgbGFzdC9maXJzdCBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgbmF2aWdhdGlvbldyYXBEaXNhYmxlZDogQm9vbGVhbklucHV0O1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbCE6IHN0cmluZztcblxuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU/OiAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnID0gJ2xhcmdlJztcblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgYW4gb3B0aW9uIGlzIHNlbGVjdGVkLCByZWdhcmRsZXNzIG9mIGlmIGl0J3MgYWxyZWFkeSBzZWxlY3RlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hDaGlsZClcbiAgcHJpdmF0ZSBpdGVtc0luQ29udGVudDogUXVlcnlMaXN0PExpc3Rib3hDaGlsZD4gPSBuZXcgUXVlcnlMaXN0PExpc3Rib3hDaGlsZD4oKTtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4ge30gPSAoKSA9PiAoe30pO1xuICBwcml2YXRlIG9uQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3BPcHRpb24gb3Igc3BTZWN0aW9uIGNvbXBvbmVudHMgZWl0aGVyIGNvbGxlY3RlZCBmcm9tIHRoZSBjb250ZW50XG4gICAqIG9yIHBhc3NlZCBhcyBpbnB1dC5cbiAgICovXG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc0lucHV0IHx8IHRoaXMuaXRlbXNJbkNvbnRlbnQ7XG4gIH1cblxuICBAVmlld0NoaWxkKENka0xpc3Rib3gpXG4gIHByaXZhdGUgY2RrTGlzdGJveD86IENka0xpc3Rib3g7XG5cbiAgQFZpZXdDaGlsZHJlbihDZGtPcHRpb24pXG4gIHByaXZhdGUgY2RrT3B0aW9ucz86IFF1ZXJ5TGlzdDxDZGtPcHRpb24+O1xuXG4gIHByaXZhdGUgY29ubmVjdGVkSW5wdXQ/OiBMaXN0Ym94SW5wdXREaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIENka0xpc3Rib3ggdGhyb3dzIGlmIHRoZXJlIGlzIGEgc2VsZWN0ZWQgdmFsdWUgdGhhdCBkb2Vzbid0IG1hdGNoIGFueSBvZiB0aGUgY2RrT3B0aW9uc1xuICAgKiBJdCdzIHByb2JhYmx5IGFuIGFydGlmaWNpYWwgY2hlY2ssIGFuZCBtYXliZSB0aGV5IGNvdWxkIHJlbW92ZSBpdCwgYnV0IHRoYXQncyBob3cgaXQgaXMgbm93LFxuICAgKiBhbmQgc2VsZWN0ZWQgdmFsdWUgY2FuIGJlIG5vbmUgb2YgdGhlIGN1cnJlbnRseSB2aXNpYmxlIG9wdGlvbnMgaWYgb3B0aW9ucyBhcmUgc2VhcmNoYWJsZS5cbiAgICogU2luY2UgdGhlIGNoZWNrIHNlZW1zIHVubmVjZXNzYXJ5LCB3ZSBkbyB0aGUgZmlsdGVyaW5nIHJpZ2h0IGluIHRoZSBsaXN0Ym94IGNvbXBvbmVudCBpbnN0ZWFkXG4gICAqIG9mIGluIHNlYXJjaGFibGUgc2VsZWN0LlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3ZhbGlkU2VsZWN0ZWRWYWx1ZXM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBPdXIgZXhwZWN0ZWQgYmVoYXZpb3IgKG1hdGNoaW5nIHRoZSBSZWFjdCBpbXBsKSBpcyB0byBuYXZpZ2F0ZSB0byB0aGUgbGFzdCBvcHRpb24sIHdoZW5cbiAgICogQXJyb3dEb3duIGlzIHByZXNzZWQgYW5kIG5vIG9wdGlvbiBpcyBjdXJyZW50bHkgZm9jdXNlZCwgYnV0IHRvIG5vdCBoYXZlIGZvY3VzIHdyYXBwaW5nLlxuICAgKiBkaXNhYmxpbmcgZm9jdXMgd3JhcHBpbmcgb24gY2RrTGlzdGJveCBpcyBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseSwgYW5kIGRvZXNuJ3QgYWxsb3cgZm9yXG4gICAqIHRoYXQsIHNvIHdlIGVuYWJsZSBpdCByZWdhcmRsZXNzIG9mIGBuYXZpZ2F0aW9uV3JhcERpc2FibGVkYCBpbnB1dCwgaWYgdGhlcmUgaXMgbm8gYWN0aXZlXG4gICAqIG9wdGlvbi5cbiAgICovXG4gIF9mb3JjZUVuYWJsZU5hdmlnYXRpb25XcmFwID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgLyoqXG4gICAqIENvbm5lY3RzIHRoZSBsaXN0Ym94IHRvIGFuIGlucHV0LCBmb3IgY29tYm9ib3gtbGlrZSB1c2UgY2FzZXMuXG4gICAqIFJldHVybnMgYSBrZXlkb3duIGV2ZW50IGhhbmRsZXIgdG8gYmUgdXNlZCBvbiB0aGUgY29ubmVjdGVkIGlucHV0LlxuICAgKiBDb25uZWN0aW5nIGFuIGlucHV0IHRvIHRoZSBsaXN0Ym94IGFsc28gY2F1c2VzIGxpc3Rib3ggdG8gdXNlIHZpcnR1YWwgZm9jdXNcbiAgICogc2luY2UgdGhlIGFjdHVhbCBmb2N1cyB3aWxsIGJlIGluIHRoZSBpbnB1dC5cbiAgICogQHBhcmFtIGlucHV0RGlyZWN0aXZlXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29ubmVjdFRvSW5wdXQoaW5wdXREaXJlY3RpdmU6IExpc3Rib3hJbnB1dERpcmVjdGl2ZSkge1xuICAgIHRoaXMuY29ubmVjdGVkSW5wdXQgPSBpbnB1dERpcmVjdGl2ZTtcbiAgICAvLyBuZWVkIHRvIHJ1biBjaGFuZ2UgZGV0ZWN0aW9uIGJlY2F1c2UgX2Nvbm5lY3RlZElucHV0IGlzIHVzZWQgdG8gc2V0IHRoZSB2YWx1ZSBvZlxuICAgIC8vIGNka0xpc3Rib3hVc2VBY3RpdmVEZXNjZW5kYW50LCBhbmQgaXQncyBzZXQgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvbiBmb3IgdGhpcyBjb21wb25lbnQgaXMgZG9uZVxuICAgIC8vIGFuZCB3aGVuIExpc3Rib3hJbnB1dERpcmVjdGl2ZSBpbnB1dCBpcyBzZXRcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgb25LZXlkb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIC8vIE9ubHkgZm9yd2FyZGluZyBjZXJ0YWluIGtleXN0cm9rZXMsIG5vdCB0byB0cmlnZ2VyIHR5cGVhaGVhZCB3aGlsZSBpbnB1dCBpcyBmb2N1c2VkXG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0Fycm93VXAnLFxuICAgICAgICAgICAgJ0Fycm93RG93bicsXG4gICAgICAgICAgICAnSG9tZScsXG4gICAgICAgICAgICAnRW5kJyxcbiAgICAgICAgICAgICdQYWdlVXAnLFxuICAgICAgICAgICAgJ1BhZ2VEb3duJyxcbiAgICAgICAgICAgICdFbnRlcicsXG4gICAgICAgICAgXS5pbmNsdWRlcyhldmVudC5rZXkpXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IoYWNjZXNzKTogX2hhbmRsZUtleWRvd24gaXMgcHJvdGVjdGVkXG4gICAgICAgICAgdGhpcy5jZGtMaXN0Ym94Py5faGFuZGxlS2V5ZG93bj8uKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgIHRoaXMuc2V0QWN0aXZlT3B0aW9uKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gY2RrTGlzdGJveCBrZWVwcyB0cmFjayBvZiBmb2N1cyBzdGF0ZSwgYW5kIHNldHMgdGhlIGFjdGl2ZSBpdGVtIHRvIHRoZSBzZWxlY3RlZCBpdGVtIGlmXG4gICAgICAvLyB0aGUgbGlzdGJveCBpcyBub3QgZm9jdXNlZCB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLiBUaGF0IGNhdXNlcyBpc3N1ZXMgZXNwZWNpYWxseSBpblxuICAgICAgLy8gbXVsdGktc2VsZWN0LCB3aGVyZSB0aGUgZHJvcGRvd24ga2VlcHMgb3BlbiB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLlxuICAgICAgb25Gb2N1czogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jZGtMaXN0Ym94KSB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcihhY2Nlc3MpOiBfaGFzRm9jdXMgaXMgcHJpdmF0ZVxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveC5faGFzRm9jdXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25CbHVyOiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNka0xpc3Rib3gpIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yKGFjY2Vzcyk6IF9oYXNGb2N1cyBpcyBwcml2YXRlXG4gICAgICAgICAgdGhpcy5jZGtMaXN0Ym94Ll9oYXNGb2N1cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBpc1NlbGVjdGVkKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jZGtMaXN0Ym94Py5yZWdpc3Rlck9uQ2hhbmdlKHRoaXMub25DaGFuZ2UpO1xuICAgIHRoaXMuY2RrTGlzdGJveD8ucmVnaXN0ZXJPblRvdWNoZWQodGhpcy5vblRvdWNoZWQpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIC8qKlxuICAgICAqIFByb3BlcnRpZXMgc2V0IGhlcmUgYXJlIHVzZWQgaW4gdGhlIHRlbXBsYXRlLCBidXQgZGVwZW5kIG9uIHRoZSBzdGF0ZSBvZiBjaGlsZCBkaXJlY3RpdmVzLFxuICAgICAqIHdoaWNoIGNhbiBjaGFuZ2UgYWZ0ZXIgdmlldyBpcyBjaGVja2VkIG9uIHRoaXMgY29tcG9uZW50LiBCeSBzZXR0aW5nIHRoZW0gaW4gbmdEb0NoZWNrXG4gICAgICogaW5zdGVhZCBvZiBkaXJlY3RseSByZWZlcmVuY2luZyB0aGVtIGluIHRoZSB0ZW1wbGF0ZSwgd2UgYXZvaWQgTkcwMTAwOiBFeHByZXNzaW9uQ2hhbmdlZC4uLlxuICAgICAqIGVycm9yc1xuICAgICAqL1xuICAgIHRoaXMuX2ZvcmNlRW5hYmxlTmF2aWdhdGlvbldyYXAgPSAhQm9vbGVhbih0aGlzLmdldEFjdGl2ZU9wdGlvbigpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBjb25zdCB2YWxpZFZhbHVlcyA9XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzPy5maWx0ZXIoKHZhbHVlKSA9PlxuICAgICAgICB0aGlzLmNka09wdGlvbnM/LmZpbmQoKGNka09wdGlvbikgPT4gY2RrT3B0aW9uLnZhbHVlID09PSB2YWx1ZSlcbiAgICAgICkgfHwgW107XG4gICAgaWYgKFxuICAgICAgdmFsaWRWYWx1ZXMubGVuZ3RoICE9PSB0aGlzLl92YWxpZFNlbGVjdGVkVmFsdWVzLmxlbmd0aCB8fFxuICAgICAgdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcy5zb21lKFxuICAgICAgICAodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSAhPT0gdmFsaWRWYWx1ZXNbaW5kZXhdXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLl92YWxpZFNlbGVjdGVkVmFsdWVzID0gdmFsaWRWYWx1ZXM7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhY3RpdmUgKGZvY3VzZWQpIG9wdGlvbi4gUGFzc2luZyBudWxsIHJlbW92ZXMgYWN0aXZlIHN0YXRlIGlmIGFueS5cbiAgICogQHBhcmFtIHZhbHVlIG9wdGlvbiB2YWx1ZVxuICAgKi9cbiAgc2V0QWN0aXZlT3B0aW9uKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgY29uc3Qgb3B0aW9uID1cbiAgICAgIHZhbHVlICYmIHRoaXMuY2RrT3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlKTtcbiAgICBpZiAob3B0aW9uIHx8IG9wdGlvbiA9PT0gbnVsbCkge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogbnVsbCBpcyBhY3R1YWxseSBhY2NlcHRlZCBhbmQgcmVzZXRzIGFjdGl2ZSBpdGVtLCBidXQgdGhlIHR5cGUgZG9lc24ndCBhbGxvdyBpdCBieSBtaXN0YWtlXG4gICAgICB0aGlzLmNka0xpc3Rib3g/Ll9zZXRBY3RpdmVPcHRpb24ob3B0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgY3VycmVudGx5IGFjdGl2ZSAoZm9jdXNlZCkgb3B0aW9uLlxuICAgKi9cbiAgZ2V0QWN0aXZlT3B0aW9uKCk6IHN0cmluZyB8IG51bGwge1xuICAgIC8vIFRoZXJlIGlzIGN1cnJlbnRseSBubyBwdWJsaWMgbWV0aG9kIG9uIENka0xpc3Rib3ggdG8gZ2V0IHRoZSBhY3RpdmUgaXRlbSBvciBzZWxlY3QgaXQgZGlyZWN0bHkuXG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmNka09wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNka0xpc3Rib3g/LmlzQWN0aXZlKG9wdGlvbikpXG4gICAgICApPy52YWx1ZSBhcyBzdHJpbmcpID8/IG51bGxcbiAgICApO1xuICB9XG5cbiAgLy8vLyBDb250cm9sVmFsdWVBY2Nlc3NvciAvLy8vXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IG9iajtcbiAgfVxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHsgdmFsdWUgfTogTGlzdGJveFZhbHVlQ2hhbmdlRXZlbnQ8c3RyaW5nPikge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaXNPcHRpb24oaXRlbTogTGlzdGJveENoaWxkKTogaXRlbSBpcyBPcHRpb25Db21wb25lbnQge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgT3B0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaXNTZWN0aW9uKGl0ZW06IExpc3Rib3hDaGlsZCk6IGl0ZW0gaXMgU2VjdGlvbkRpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBTZWN0aW9uRGlyZWN0aXZlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfc2hvdWxkVXNlVmlydHVhbEZvY3VzKCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuY29ubmVjdGVkSW5wdXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaXNDb25uZWN0ZWRUb0lucHV0KCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuY29ubmVjdGVkSW5wdXQpO1xuICB9XG59XG4iLCI8dWxcbiAgY2xhc3M9XCJzYXBwaGlyZS1saXN0Ym94XCJcbiAgY2RrTGlzdGJveFxuICBbY2RrTGlzdGJveENvbXBhcmVXaXRoXT1cIlwiXG4gIFtjZGtMaXN0Ym94TXVsdGlwbGVdPVwiISFtdWx0aXBsZVwiXG4gIFtjZGtMaXN0Ym94RGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gIFtjZGtMaXN0Ym94TmF2aWdhdGlvbldyYXBEaXNhYmxlZF09XCJcbiAgICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkICYmICFfZm9yY2VFbmFibGVOYXZpZ2F0aW9uV3JhcFxuICBcIlxuICBbY2RrTGlzdGJveFZhbHVlXT1cIl92YWxpZFNlbGVjdGVkVmFsdWVzXCJcbiAgW2Nka0xpc3Rib3hVc2VBY3RpdmVEZXNjZW5kYW50XT1cIl9zaG91bGRVc2VWaXJ0dWFsRm9jdXMoKVwiXG4gIChjZGtMaXN0Ym94VmFsdWVDaGFuZ2UpPVwiX2hhbmRsZVNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgKGtleWRvd24uZW50ZXIpPVwic2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgKGtleWRvd24uc3BhY2UpPVwic2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJfaXNDb25uZWN0ZWRUb0lucHV0KCkgJiYgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gIFtjbGFzcy5zYXBwaGlyZS1saXN0Ym94LS1tZWRpdW1dPVwic2l6ZSA9PT0gJ21lZGl1bSdcIlxuICBbY2xhc3Muc2FwcGhpcmUtbGlzdGJveC0tc21hbGxdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uczsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9pc1NlY3Rpb24oaXRlbSlcIj5cbiAgICAgIDxsaSByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDx1bFxuICAgICAgICAgIHJvbGU9XCJncm91cFwiXG4gICAgICAgICAgY2xhc3M9XCJzYXBwaGlyZS1saXN0Ym94X19zZWN0aW9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgICAgIFtjZGtPcHRpb25dPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgIFtjZGtPcHRpb25EaXNhYmxlZF09XCIhIW9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uVHlwZWFoZWFkTGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICNjZGtPcHRpb249XCJjZGtPcHRpb25cIlxuICAgICAgICAgICAgc3AtbGlzdGJveC1pdGVtXG4gICAgICAgICAgICBbb3B0aW9uXT1cIm9wdGlvblwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgIFtmb2N1c2VkXT1cImNka09wdGlvbi5pc0FjdGl2ZSgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCIhKGRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZCkgJiYgc2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgID48L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgICAgIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveF9fc2VwYXJhdG9yXCJcbiAgICAgID48L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxsaVxuICAgICAgKm5nSWY9XCJfaXNPcHRpb24oaXRlbSlcIlxuICAgICAgW2Nka09wdGlvbl09XCJpdGVtLnZhbHVlXCJcbiAgICAgIFtjZGtPcHRpb25EaXNhYmxlZF09XCIhIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgW2Nka09wdGlvblR5cGVhaGVhZExhYmVsXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgI2Nka09wdGlvbj1cImNka09wdGlvblwiXG4gICAgICBzcC1saXN0Ym94LWl0ZW1cbiAgICAgIFtvcHRpb25dPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChpdGVtKVwiXG4gICAgICBbZm9jdXNlZF09XCJjZGtPcHRpb24uaXNBY3RpdmUoKVwiXG4gICAgICAoY2xpY2spPVwiIShkaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSAmJiBzZWxlY3RlZC5lbWl0KCRldmVudClcIlxuICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgPjwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuPC91bD5cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { CdkListboxModule } from '@angular/cdk/listbox';
|
|
4
|
+
import { SapphireIconModule } from '../../icon/public_api';
|
|
5
|
+
import { OptionIconDirective } from './option-icon.directive';
|
|
6
|
+
import { OptionSecondaryTextDirective } from './option-secondary-text.directive';
|
|
7
|
+
import { OptionPrimaryTextDirective } from './option-primary-text.directive';
|
|
8
|
+
import { ListboxComponent } from './listbox.component';
|
|
9
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
10
|
+
import { OptionComponent } from './option.component';
|
|
11
|
+
import { SectionDirective } from './section.directive';
|
|
12
|
+
import { PressedDirective } from '../../common/pressed.directive';
|
|
13
|
+
import { ListboxInputDirective } from './listbox-input.directive';
|
|
14
|
+
import { FocusedDirective } from '../../common/focused.directive';
|
|
15
|
+
import { ListboxItemComponent } from './listbox-item.component';
|
|
16
|
+
import { UseComponentStyles } from '../../common/sapphire-view-encapsulation';
|
|
17
|
+
import { CdkOptionScrollIssuePatch } from './cdk-option-scroll-issue-patch';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
export class SapphireListboxModule {
|
|
20
|
+
}
|
|
21
|
+
SapphireListboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
+
SapphireListboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireListboxModule, declarations: [SectionDirective,
|
|
23
|
+
OptionComponent,
|
|
24
|
+
OptionIconDirective,
|
|
25
|
+
OptionSecondaryTextDirective,
|
|
26
|
+
OptionPrimaryTextDirective,
|
|
27
|
+
ListboxComponent,
|
|
28
|
+
ListboxInputDirective,
|
|
29
|
+
ListboxItemComponent], imports: [CommonModule,
|
|
30
|
+
SapphireIconModule,
|
|
31
|
+
CdkListboxModule,
|
|
32
|
+
PortalModule,
|
|
33
|
+
PressedDirective,
|
|
34
|
+
FocusedDirective,
|
|
35
|
+
UseComponentStyles,
|
|
36
|
+
CdkOptionScrollIssuePatch], exports: [ListboxComponent,
|
|
37
|
+
OptionComponent,
|
|
38
|
+
OptionIconDirective,
|
|
39
|
+
OptionSecondaryTextDirective,
|
|
40
|
+
OptionPrimaryTextDirective,
|
|
41
|
+
SectionDirective,
|
|
42
|
+
ListboxInputDirective] });
|
|
43
|
+
SapphireListboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireListboxModule, imports: [CommonModule,
|
|
44
|
+
SapphireIconModule,
|
|
45
|
+
CdkListboxModule,
|
|
46
|
+
PortalModule] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireListboxModule, decorators: [{
|
|
48
|
+
type: NgModule,
|
|
49
|
+
args: [{
|
|
50
|
+
declarations: [
|
|
51
|
+
SectionDirective,
|
|
52
|
+
OptionComponent,
|
|
53
|
+
OptionIconDirective,
|
|
54
|
+
OptionSecondaryTextDirective,
|
|
55
|
+
OptionPrimaryTextDirective,
|
|
56
|
+
ListboxComponent,
|
|
57
|
+
ListboxInputDirective,
|
|
58
|
+
ListboxItemComponent,
|
|
59
|
+
],
|
|
60
|
+
imports: [
|
|
61
|
+
CommonModule,
|
|
62
|
+
SapphireIconModule,
|
|
63
|
+
CdkListboxModule,
|
|
64
|
+
PortalModule,
|
|
65
|
+
PressedDirective,
|
|
66
|
+
FocusedDirective,
|
|
67
|
+
UseComponentStyles,
|
|
68
|
+
CdkOptionScrollIssuePatch,
|
|
69
|
+
],
|
|
70
|
+
exports: [
|
|
71
|
+
ListboxComponent,
|
|
72
|
+
OptionComponent,
|
|
73
|
+
OptionIconDirective,
|
|
74
|
+
OptionSecondaryTextDirective,
|
|
75
|
+
OptionPrimaryTextDirective,
|
|
76
|
+
SectionDirective,
|
|
77
|
+
ListboxInputDirective,
|
|
78
|
+
],
|
|
79
|
+
}]
|
|
80
|
+
}] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBaUM1RSxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBN0I5QixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsb0JBQW9CLGFBR3BCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQix5QkFBeUIsYUFHekIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQixnQkFBZ0I7UUFDaEIscUJBQXFCO21IQUdaLHFCQUFxQixZQW5COUIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFBWTsyRkFnQkgscUJBQXFCO2tCQS9CakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1QiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENka0xpc3Rib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGlzdGJveCc7XG5pbXBvcnQgeyBTYXBwaGlyZUljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pY29uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgT3B0aW9uSWNvbkRpcmVjdGl2ZSB9IGZyb20gJy4vb3B0aW9uLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IE9wdGlvblNlY29uZGFyeVRleHREaXJlY3RpdmUgfSBmcm9tICcuL29wdGlvbi1zZWNvbmRhcnktdGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3B0aW9uUHJpbWFyeVRleHREaXJlY3RpdmUgfSBmcm9tICcuL29wdGlvbi1wcmltYXJ5LXRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDb21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3guY29tcG9uZW50JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFByZXNzZWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb21tb24vcHJlc3NlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdGJveElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0Ym94LWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c2VkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2ZvY3VzZWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0Ym94LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgQ2RrT3B0aW9uU2Nyb2xsSXNzdWVQYXRjaCB9IGZyb20gJy4vY2RrLW9wdGlvbi1zY3JvbGwtaXNzdWUtcGF0Y2gnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTZWN0aW9uRGlyZWN0aXZlLFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25JY29uRGlyZWN0aXZlLFxuICAgIE9wdGlvblNlY29uZGFyeVRleHREaXJlY3RpdmUsXG4gICAgT3B0aW9uUHJpbWFyeVRleHREaXJlY3RpdmUsXG4gICAgTGlzdGJveENvbXBvbmVudCxcbiAgICBMaXN0Ym94SW5wdXREaXJlY3RpdmUsXG4gICAgTGlzdGJveEl0ZW1Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2FwcGhpcmVJY29uTW9kdWxlLFxuICAgIENka0xpc3Rib3hNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFByZXNzZWREaXJlY3RpdmUsXG4gICAgRm9jdXNlZERpcmVjdGl2ZSxcbiAgICBVc2VDb21wb25lbnRTdHlsZXMsXG4gICAgQ2RrT3B0aW9uU2Nyb2xsSXNzdWVQYXRjaCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIExpc3Rib3hDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkljb25EaXJlY3RpdmUsXG4gICAgT3B0aW9uU2Vjb25kYXJ5VGV4dERpcmVjdGl2ZSxcbiAgICBPcHRpb25QcmltYXJ5VGV4dERpcmVjdGl2ZSxcbiAgICBTZWN0aW9uRGlyZWN0aXZlLFxuICAgIExpc3Rib3hJbnB1dERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVMaXN0Ym94TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { CdkPortal } from '@angular/cdk/portal';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/cdk/portal";
|
|
5
|
+
/**
|
|
6
|
+
* Icon part of the listbox option layout, rendered on the left side.
|
|
7
|
+
*/
|
|
8
|
+
export class OptionIconDirective {
|
|
9
|
+
}
|
|
10
|
+
OptionIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
OptionIconDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: OptionIconDirective, selector: "sp-option-icon", viewQueries: [{ propertyName: "contentPortal", first: true, predicate: CdkPortal, descendants: true }], ngImport: i0, template: '<ng-template cdkPortal><ng-content></ng-content></ng-template>', isInline: true, dependencies: [{ kind: "directive", type: i1.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionIconDirective, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'sp-option-icon',
|
|
16
|
+
template: '<ng-template cdkPortal><ng-content></ng-content></ng-template>',
|
|
17
|
+
}]
|
|
18
|
+
}], propDecorators: { contentPortal: [{
|
|
19
|
+
type: ViewChild,
|
|
20
|
+
args: [CdkPortal]
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWljb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9saXN0Ym94L3NyYy9vcHRpb24taWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFaEQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO29HQUFuQixtQkFBbUIscUdBQ25CLFNBQVMsZ0RBSFYsZ0VBQWdFOzJGQUUvRCxtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGdFQUFnRTtpQkFDM0U7OEJBR0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbi8qKlxuICogSWNvbiBwYXJ0IG9mIHRoZSBsaXN0Ym94IG9wdGlvbiBsYXlvdXQsIHJlbmRlcmVkIG9uIHRoZSBsZWZ0IHNpZGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLW9wdGlvbi1pY29uJyxcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgY2RrUG9ydGFsPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPicsXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkljb25EaXJlY3RpdmUge1xuICBAVmlld0NoaWxkKENka1BvcnRhbClcbiAgY29udGVudFBvcnRhbD86IENka1BvcnRhbDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DomPortal } from '@angular/cdk/portal';
|
|
2
|
+
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Primary text of a listbox option. Useful when the option contains other parts
|
|
6
|
+
* like secondary text or icon.
|
|
7
|
+
*/
|
|
8
|
+
export class OptionPrimaryTextDirective {
|
|
9
|
+
ngAfterViewInit() {
|
|
10
|
+
this.contentPortal = new DomPortal(this.content?.nativeElement);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
OptionPrimaryTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionPrimaryTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
OptionPrimaryTextDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: OptionPrimaryTextDirective, selector: "sp-option-primary-text", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef }], ngImport: i0, template: '<span #content><ng-content></ng-content></span>', isInline: true });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionPrimaryTextDirective, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: 'sp-option-primary-text',
|
|
19
|
+
template: '<span #content><ng-content></ng-content></span>',
|
|
20
|
+
}]
|
|
21
|
+
}], propDecorators: { content: [{
|
|
22
|
+
type: ViewChild,
|
|
23
|
+
args: ['content', { read: ElementRef }]
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXByaW1hcnktdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL29wdGlvbi1wcmltYXJ5LXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVoRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7dUhBUlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsNklBR1AsVUFBVSw2QkFMOUIsaURBQWlEOzJGQUVoRCwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLGlEQUFpRDtpQkFDNUQ7OEJBS1MsT0FBTztzQkFEZCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUHJpbWFyeSB0ZXh0IG9mIGEgbGlzdGJveCBvcHRpb24uIFVzZWZ1bCB3aGVuIHRoZSBvcHRpb24gY29udGFpbnMgb3RoZXIgcGFydHNcbiAqIGxpa2Ugc2Vjb25kYXJ5IHRleHQgb3IgaWNvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Atb3B0aW9uLXByaW1hcnktdGV4dCcsXG4gIHRlbXBsYXRlOiAnPHNwYW4gI2NvbnRlbnQ+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj4nLFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25QcmltYXJ5VGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBjb250ZW50UG9ydGFsPzogRG9tUG9ydGFsPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdjb250ZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgY29udGVudD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbnRlbnRQb3J0YWwgPSBuZXcgRG9tUG9ydGFsKHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudCEpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { CdkPortal } from '@angular/cdk/portal';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/cdk/portal";
|
|
5
|
+
/**
|
|
6
|
+
* Secondary text of a listbox option.
|
|
7
|
+
*/
|
|
8
|
+
export class OptionSecondaryTextDirective {
|
|
9
|
+
}
|
|
10
|
+
OptionSecondaryTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionSecondaryTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
OptionSecondaryTextDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: OptionSecondaryTextDirective, selector: "sp-option-secondary-text", viewQueries: [{ propertyName: "contentPortal", first: true, predicate: CdkPortal, descendants: true }], ngImport: i0, template: '<ng-template cdkPortal><ng-content></ng-content></ng-template>', isInline: true, dependencies: [{ kind: "directive", type: i1.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionSecondaryTextDirective, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'sp-option-secondary-text',
|
|
16
|
+
template: '<ng-template cdkPortal><ng-content></ng-content></ng-template>',
|
|
17
|
+
}]
|
|
18
|
+
}], propDecorators: { contentPortal: [{
|
|
19
|
+
type: ViewChild,
|
|
20
|
+
args: [CdkPortal]
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXNlY29uZGFyeS10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbGlzdGJveC9zcmMvb3B0aW9uLXNlY29uZGFyeS10ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUVoRDs7R0FFRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7O3lIQUE1Qiw0QkFBNEI7NkdBQTVCLDRCQUE0QiwrR0FDNUIsU0FBUyxnREFIVixnRUFBZ0U7MkZBRS9ELDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsZ0VBQWdFO2lCQUMzRTs4QkFHQyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuLyoqXG4gKiBTZWNvbmRhcnkgdGV4dCBvZiBhIGxpc3Rib3ggb3B0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1vcHRpb24tc2Vjb25kYXJ5LXRleHQnLFxuICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZSBjZGtQb3J0YWw+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+Jyxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uU2Vjb25kYXJ5VGV4dERpcmVjdGl2ZSB7XG4gIEBWaWV3Q2hpbGQoQ2RrUG9ydGFsKVxuICBjb250ZW50UG9ydGFsPzogQ2RrUG9ydGFsO1xufVxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChild, ElementRef, forwardRef, Input, ViewChild, } from '@angular/core';
|
|
3
|
+
import { OptionPrimaryTextDirective } from './option-primary-text.directive';
|
|
4
|
+
import { DomPortal } from '@angular/cdk/portal';
|
|
5
|
+
import { OptionSecondaryTextDirective } from './option-secondary-text.directive';
|
|
6
|
+
import { OptionIconDirective } from './option-icon.directive';
|
|
7
|
+
import { CoerceBoolean } from '../../common/coerce-boolean.decorator';
|
|
8
|
+
import { ListboxChild } from './listbox-child';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class OptionComponent extends ListboxChild {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.value = '';
|
|
14
|
+
}
|
|
15
|
+
get primaryText() {
|
|
16
|
+
return this._primaryText?.contentPortal || this.domPortal;
|
|
17
|
+
}
|
|
18
|
+
get label() {
|
|
19
|
+
return ((this._primaryText?.contentPortal?.element || this.content?.nativeElement)?.textContent?.trim() || '');
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
this.domPortal = new DomPortal(this.content?.nativeElement);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: OptionComponent, selector: "sp-option", inputs: { value: "value", disabled: "disabled" }, providers: [
|
|
27
|
+
{ provide: ListboxChild, useExisting: forwardRef(() => OptionComponent) },
|
|
28
|
+
], queries: [{ propertyName: "_primaryText", first: true, predicate: OptionPrimaryTextDirective, descendants: true }, { propertyName: "secondaryText", first: true, predicate: OptionSecondaryTextDirective, descendants: true }, { propertyName: "icon", first: true, predicate: OptionIconDirective, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `<span #content><ng-content></ng-content></span>`, isInline: true });
|
|
29
|
+
__decorate([
|
|
30
|
+
CoerceBoolean
|
|
31
|
+
], OptionComponent.prototype, "disabled", void 0);
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: OptionComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{
|
|
35
|
+
template: `<span #content><ng-content></ng-content></span>`,
|
|
36
|
+
providers: [
|
|
37
|
+
{ provide: ListboxChild, useExisting: forwardRef(() => OptionComponent) },
|
|
38
|
+
],
|
|
39
|
+
selector: 'sp-option',
|
|
40
|
+
}]
|
|
41
|
+
}], propDecorators: { value: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], _primaryText: [{
|
|
44
|
+
type: ContentChild,
|
|
45
|
+
args: [OptionPrimaryTextDirective]
|
|
46
|
+
}], disabled: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], content: [{
|
|
49
|
+
type: ViewChild,
|
|
50
|
+
args: ['content', { read: ElementRef }]
|
|
51
|
+
}], secondaryText: [{
|
|
52
|
+
type: ContentChild,
|
|
53
|
+
args: [OptionSecondaryTextDirective]
|
|
54
|
+
}], icon: [{
|
|
55
|
+
type: ContentChild,
|
|
56
|
+
args: [OptionIconDirective]
|
|
57
|
+
}] } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbGlzdGJveC9zcmMvb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBUGpEOztRQVNFLFVBQUssR0FBVyxFQUFFLENBQUM7S0FrQ3BCO0lBeEJDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM1RCxDQUFDO0lBV0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUNMLENBQ0UsSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUN6RSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFjLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs0R0FuQ1UsZUFBZTtnR0FBZixlQUFlLHNGQUxmO1FBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7S0FDMUUsb0VBT2EsMEJBQTBCLGdGQWUxQiw0QkFBNEIsdUVBRzVCLG1CQUFtQiwrSEFOSCxVQUFVLG9EQXRCOUIsaURBQWlEO0FBZ0IzRDtJQURDLGFBQWE7aURBQ1M7MkZBVlosZUFBZTtrQkFQM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaURBQWlEO29CQUMzRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEVBQUU7cUJBQzFFO29CQUNELFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjs4QkFHQyxLQUFLO3NCQURKLEtBQUs7Z0JBSUUsWUFBWTtzQkFEbkIsWUFBWTt1QkFBQywwQkFBMEI7Z0JBTXhDLFFBQVE7c0JBRlAsS0FBSztnQkFTTixPQUFPO3NCQUROLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJMUMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLDRCQUE0QjtnQkFJMUMsSUFBSTtzQkFESCxZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvblByaW1hcnlUZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9vcHRpb24tcHJpbWFyeS10ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE9wdGlvblNlY29uZGFyeVRleHREaXJlY3RpdmUgfSBmcm9tICcuL29wdGlvbi1zZWNvbmRhcnktdGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3B0aW9uSWNvbkRpcmVjdGl2ZSB9IGZyb20gJy4vb3B0aW9uLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBMaXN0Ym94Q2hpbGQgfSBmcm9tICcuL2xpc3Rib3gtY2hpbGQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGA8c3BhbiAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPmAsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTGlzdGJveENoaWxkLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcHRpb25Db21wb25lbnQpIH0sXG4gIF0sXG4gIHNlbGVjdG9yOiAnc3Atb3B0aW9uJyxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uQ29tcG9uZW50IGV4dGVuZHMgTGlzdGJveENoaWxkIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBAQ29udGVudENoaWxkKE9wdGlvblByaW1hcnlUZXh0RGlyZWN0aXZlKVxuICBwcml2YXRlIF9wcmltYXJ5VGV4dD86IE9wdGlvblByaW1hcnlUZXh0RGlyZWN0aXZlO1xuICBwcml2YXRlIGRvbVBvcnRhbD86IERvbVBvcnRhbDxIVE1MRWxlbWVudD47XG5cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICBnZXQgcHJpbWFyeVRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByaW1hcnlUZXh0Py5jb250ZW50UG9ydGFsIHx8IHRoaXMuZG9tUG9ydGFsO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBjb250ZW50PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChPcHRpb25TZWNvbmRhcnlUZXh0RGlyZWN0aXZlKVxuICBzZWNvbmRhcnlUZXh0PzogT3B0aW9uU2Vjb25kYXJ5VGV4dERpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKE9wdGlvbkljb25EaXJlY3RpdmUpXG4gIGljb24/OiBPcHRpb25JY29uRGlyZWN0aXZlO1xuXG4gIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICAoXG4gICAgICAgIHRoaXMuX3ByaW1hcnlUZXh0Py5jb250ZW50UG9ydGFsPy5lbGVtZW50IHx8IHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudFxuICAgICAgKT8udGV4dENvbnRlbnQ/LnRyaW0oKSB8fCAnJ1xuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb21Qb3J0YWwgPSBuZXcgRG9tUG9ydGFsKHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudCEpO1xuICB9XG59XG4iXX0=
|