@aurelia-mdc-web/all 9.3.3-au2 → 9.3.4-au2
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/dist/alert/alert-configuration.js +5 -9
- package/dist/alert/alert-configuration.js.map +1 -1
- package/dist/alert/alert-modal/alert-modal.js +8 -11
- package/dist/alert/alert-modal/alert-modal.js.map +1 -1
- package/dist/alert/alert-modal/alert-modal.scss +10 -0
- package/dist/alert/alert-modal/i-alert-modal-payload.js +1 -5
- package/dist/alert/alert-modal/i-alert-modal-payload.js.map +1 -1
- package/dist/alert/alert-service.js +23 -27
- package/dist/alert/alert-service.js.map +1 -1
- package/dist/alert/decorators/confirm-action.js +1 -4
- package/dist/alert/decorators/confirm-action.js.map +1 -1
- package/dist/alert/decorators/using-progress.js +1 -4
- package/dist/alert/decorators/using-progress.js.map +1 -1
- package/dist/alert/exceptions-tracker.js +1 -5
- package/dist/alert/exceptions-tracker.js.map +1 -1
- package/dist/alert/global-progress/global-progress.js +24 -27
- package/dist/alert/global-progress/global-progress.js.map +1 -1
- package/dist/alert/global-progress/global-progress.scss +38 -0
- package/dist/alert/prompt-dialog/prompt-dialog.js +9 -12
- package/dist/alert/prompt-dialog/prompt-dialog.js.map +1 -1
- package/dist/banner/mdc-banner.js +42 -45
- package/dist/banner/mdc-banner.js.map +1 -1
- package/dist/base/attributes/mdc-focus-trap.js +22 -25
- package/dist/base/attributes/mdc-focus-trap.js.map +1 -1
- package/dist/base/elements/i-validated-element.js +1 -2
- package/dist/base/elements/mdc-promisify-reference.js +13 -16
- package/dist/base/elements/mdc-promisify-reference.js.map +1 -1
- package/dist/base/index.js +9 -21
- package/dist/base/index.js.map +1 -1
- package/dist/base/interceptors.js +5 -12
- package/dist/base/interceptors.js.map +1 -1
- package/dist/base/material-palette.js +1 -4
- package/dist/base/material-palette.js.map +1 -1
- package/dist/base/mdc-component.js +1 -5
- package/dist/base/mdc-component.js.map +1 -1
- package/dist/base/next-element.js +1 -4
- package/dist/base/next-element.js.map +1 -1
- package/dist/button/enhance-mdc-button.js +6 -9
- package/dist/button/enhance-mdc-button.js.map +1 -1
- package/dist/button/mdc-button-label.js +6 -9
- package/dist/button/mdc-button-label.js.map +1 -1
- package/dist/button/mdc-button.js +27 -30
- package/dist/button/mdc-button.js.map +1 -1
- package/dist/card/mdc-card-action-buttons.js +6 -9
- package/dist/card/mdc-card-action-buttons.js.map +1 -1
- package/dist/card/mdc-card-action-icons.js +6 -9
- package/dist/card/mdc-card-action-icons.js.map +1 -1
- package/dist/card/mdc-card-actions/mdc-card-actions.js +12 -15
- package/dist/card/mdc-card-actions/mdc-card-actions.js.map +1 -1
- package/dist/card/mdc-card-media/mdc-card-media.js +15 -18
- package/dist/card/mdc-card-media/mdc-card-media.js.map +1 -1
- package/dist/card/mdc-card-primary-action.js +12 -15
- package/dist/card/mdc-card-primary-action.js.map +1 -1
- package/dist/card/mdc-card.js +12 -15
- package/dist/card/mdc-card.js.map +1 -1
- package/dist/checkbox/mdc-checkbox.js +35 -38
- package/dist/checkbox/mdc-checkbox.js.map +1 -1
- package/dist/chips/mdc-chip/mdc-chip.js +34 -37
- package/dist/chips/mdc-chip/mdc-chip.js.map +1 -1
- package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js +6 -9
- package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js.map +1 -1
- package/dist/chips/mdc-chip-action/mdc-chip-action.js +37 -40
- package/dist/chips/mdc-chip-action/mdc-chip-action.js.map +1 -1
- package/dist/chips/mdc-chip-set/mdc-chip-set.js +24 -27
- package/dist/chips/mdc-chip-set/mdc-chip-set.js.map +1 -1
- package/dist/chips/styles/_index.scss +1 -0
- package/dist/chips/styles/mdc-chips.import.scss +1 -0
- package/dist/chips/styles/mdc-chips.scss +11 -0
- package/dist/circular-progress/mdc-circular-progress.js +22 -25
- package/dist/circular-progress/mdc-circular-progress.js.map +1 -1
- package/dist/circular-progress/styles/_index.scss +1 -0
- package/dist/circular-progress/styles/mdc-circular-progress.import.scss +1 -0
- package/dist/circular-progress/styles/mdc-circular-progress.scss +14 -0
- package/dist/data-table/mdc-data-table-row.js +10 -13
- package/dist/data-table/mdc-data-table-row.js.map +1 -1
- package/dist/data-table/mdc-data-table.js +88 -91
- package/dist/data-table/mdc-data-table.js.map +1 -1
- package/dist/data-table/styles/_index.scss +1 -0
- package/dist/data-table/styles/mdc-data-table.import.scss +1 -0
- package/dist/data-table/styles/mdc-data-table.scss +64 -0
- package/dist/dialog/mdc-dialog-actions.js +10 -13
- package/dist/dialog/mdc-dialog-actions.js.map +1 -1
- package/dist/dialog/mdc-dialog-content.js +6 -9
- package/dist/dialog/mdc-dialog-content.js.map +1 -1
- package/dist/dialog/mdc-dialog-service.js +13 -17
- package/dist/dialog/mdc-dialog-service.js.map +1 -1
- package/dist/dialog/mdc-dialog-title.js +6 -9
- package/dist/dialog/mdc-dialog-title.js.map +1 -1
- package/dist/dialog/mdc-dialog.js +46 -49
- package/dist/dialog/mdc-dialog.js.map +1 -1
- package/dist/drawer/mdc-drawer-app-content.js +6 -9
- package/dist/drawer/mdc-drawer-app-content.js.map +1 -1
- package/dist/drawer/mdc-drawer-content.js +6 -9
- package/dist/drawer/mdc-drawer-content.js.map +1 -1
- package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js +14 -17
- package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js.map +1 -1
- package/dist/drawer/mdc-drawer.js +21 -24
- package/dist/drawer/mdc-drawer.js.map +1 -1
- package/dist/drawer/styles/_index.scss +1 -0
- package/dist/drawer/styles/mdc-drawer.import.scss +1 -0
- package/dist/drawer/styles/mdc-drawer.scss +0 -0
- package/dist/elevation/mdc-elevation.js +6 -9
- package/dist/elevation/mdc-elevation.js.map +1 -1
- package/dist/expandable/mdc-expandable.js +17 -20
- package/dist/expandable/mdc-expandable.js.map +1 -1
- package/dist/expandable/styles/_icon-variables.scss +3 -0
- package/dist/expandable/styles/_index.scss +1 -0
- package/dist/expandable/styles/_mixins.scss +287 -0
- package/dist/expandable/styles/_variables.scss +17 -0
- package/dist/expandable/styles/mdc-expandable.import.scss +1 -0
- package/dist/expandable/styles/mdc-expandable.scss +3 -0
- package/dist/fab/enhance-mdc-fab.js +6 -9
- package/dist/fab/enhance-mdc-fab.js.map +1 -1
- package/dist/fab/mdc-fab-icon.js +6 -9
- package/dist/fab/mdc-fab-icon.js.map +1 -1
- package/dist/fab/mdc-fab.js +30 -33
- package/dist/fab/mdc-fab.js.map +1 -1
- package/dist/floating-label/mdc-floating-label.js +13 -16
- package/dist/floating-label/mdc-floating-label.js.map +1 -1
- package/dist/form-field/mdc-form-field.js +24 -27
- package/dist/form-field/mdc-form-field.js.map +1 -1
- package/dist/icon/mdc-icon.js +7 -10
- package/dist/icon/mdc-icon.js.map +1 -1
- package/dist/icon-button/enhance-mdc-icon-button.js +6 -9
- package/dist/icon-button/enhance-mdc-icon-button.js.map +1 -1
- package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js +15 -18
- package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js.map +1 -1
- package/dist/icon-button/mdc-icon-button.js +25 -28
- package/dist/icon-button/mdc-icon-button.js.map +1 -1
- package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js +19 -22
- package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js.map +1 -1
- package/dist/image-list/mdc-image-list.js +18 -21
- package/dist/image-list/mdc-image-list.js.map +1 -1
- package/dist/image-list/styles/_index.scss +1 -0
- package/dist/image-list/styles/mdc-image-list.import.scss +1 -0
- package/dist/image-list/styles/mdc-image-list.scss +7 -0
- package/dist/index.js +151 -297
- package/dist/index.js.map +1 -1
- package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js +33 -36
- package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js.map +1 -1
- package/dist/layout-grid/mdc-layout-grid-inner.js +6 -9
- package/dist/layout-grid/mdc-layout-grid-inner.js.map +1 -1
- package/dist/layout-grid/mdc-layout-grid.js +30 -33
- package/dist/layout-grid/mdc-layout-grid.js.map +1 -1
- package/dist/layout-grid/styles/_index.scss +1 -0
- package/dist/layout-grid/styles/mdc-layout-grid.import.scss +1 -0
- package/dist/layout-grid/styles/mdc-layout-grid.scss +11 -0
- package/dist/line-ripple/mdc-line-ripple.js +10 -13
- package/dist/line-ripple/mdc-line-ripple.js.map +1 -1
- package/dist/linear-progress/mdc-linear-progress.js +23 -26
- package/dist/linear-progress/mdc-linear-progress.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js +15 -18
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js +14 -17
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-group.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js +6 -9
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js +6 -9
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js +6 -9
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js +25 -28
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js +6 -9
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js +6 -9
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.js.map +1 -1
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js +75 -78
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js.map +1 -1
- package/dist/list/mdc-list-divider/mdc-list-divider.js +18 -21
- package/dist/list/mdc-list-divider/mdc-list-divider.js.map +1 -1
- package/dist/list/mdc-list-group.js +14 -17
- package/dist/list/mdc-list-group.js.map +1 -1
- package/dist/list/mdc-list-item/enhance-mdc-list-item.js +6 -9
- package/dist/list/mdc-list-item/enhance-mdc-list-item.js.map +1 -1
- package/dist/list/mdc-list-item/mdc-list-item-leading.js +6 -9
- package/dist/list/mdc-list-item/mdc-list-item-leading.js.map +1 -1
- package/dist/list/mdc-list-item/mdc-list-item-trailing.js +6 -9
- package/dist/list/mdc-list-item/mdc-list-item-trailing.js.map +1 -1
- package/dist/list/mdc-list-item/mdc-list-item.js +37 -40
- package/dist/list/mdc-list-item/mdc-list-item.js.map +1 -1
- package/dist/list/mdc-list-item-overline-text.js +6 -9
- package/dist/list/mdc-list-item-overline-text.js.map +1 -1
- package/dist/list/mdc-list-item-primary-text.js +6 -9
- package/dist/list/mdc-list-item-primary-text.js.map +1 -1
- package/dist/list/mdc-list-item-secondary-text.js +6 -9
- package/dist/list/mdc-list-item-secondary-text.js.map +1 -1
- package/dist/list/mdc-list.js +55 -58
- package/dist/list/mdc-list.js.map +1 -1
- package/dist/list/styles/_index.scss +1 -0
- package/dist/list/styles/mdc-list.import.scss +1 -0
- package/dist/list/styles/mdc-list.scss +6 -0
- package/dist/lookup/discardable-promise.js +1 -5
- package/dist/lookup/discardable-promise.js.map +1 -1
- package/dist/lookup/mdc-lookup-configuration.js +1 -5
- package/dist/lookup/mdc-lookup-configuration.js.map +1 -1
- package/dist/lookup/mdc-lookup.js +66 -69
- package/dist/lookup/mdc-lookup.js.map +1 -1
- package/dist/mdc-configuration.js +11 -15
- package/dist/mdc-configuration.js.map +1 -1
- package/dist/menu/mdc-menu-selection-group-icon.js +6 -9
- package/dist/menu/mdc-menu-selection-group-icon.js.map +1 -1
- package/dist/menu/mdc-menu-selection-group.js +6 -9
- package/dist/menu/mdc-menu-selection-group.js.map +1 -1
- package/dist/menu/mdc-menu.js +68 -71
- package/dist/menu/mdc-menu.js.map +1 -1
- package/dist/menu-surface/mdc-menu-surface-anchor.js +8 -11
- package/dist/menu-surface/mdc-menu-surface-anchor.js.map +1 -1
- package/dist/menu-surface/mdc-menu-surface.js +58 -61
- package/dist/menu-surface/mdc-menu-surface.js.map +1 -1
- package/dist/notched-outline/mdc-notched-outline.js +17 -20
- package/dist/notched-outline/mdc-notched-outline.js.map +1 -1
- package/dist/radio/mdc-radio.js +24 -27
- package/dist/radio/mdc-radio.js.map +1 -1
- package/dist/ripple/mdc-ripple.js +48 -51
- package/dist/ripple/mdc-ripple.js.map +1 -1
- package/dist/ripple/styles/_index.scss +1 -0
- package/dist/ripple/styles/mdc-ripple.import.scss +1 -0
- package/dist/ripple/styles/mdc-ripple.scss +10 -0
- package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js +6 -9
- package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js.map +1 -1
- package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js +24 -27
- package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map +1 -1
- package/dist/segmented-button/mdc-segmented-button.js +21 -24
- package/dist/segmented-button/mdc-segmented-button.js.map +1 -1
- package/dist/select/mdc-default-select-configuration.js +1 -5
- package/dist/select/mdc-default-select-configuration.js.map +1 -1
- package/dist/select/mdc-select-adapter-aurelia.js +1 -2
- package/dist/select/mdc-select-adapter-aurelia.js.map +1 -1
- package/dist/select/mdc-select-foundation-aurelia.js +43 -47
- package/dist/select/mdc-select-foundation-aurelia.js.map +1 -1
- package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js +24 -27
- package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js.map +1 -1
- package/dist/select/mdc-select-icon.js +13 -16
- package/dist/select/mdc-select-icon.js.map +1 -1
- package/dist/select/mdc-select-value-observer.js +11 -14
- package/dist/select/mdc-select-value-observer.js.map +1 -1
- package/dist/select/mdc-select.js +64 -67
- package/dist/select/mdc-select.js.map +1 -1
- package/dist/slider/mdc-slider-foundation-aurelia.js +2 -6
- package/dist/slider/mdc-slider-foundation-aurelia.js.map +1 -1
- package/dist/slider/mdc-slider.js +76 -79
- package/dist/slider/mdc-slider.js.map +1 -1
- package/dist/slider/styles/_index.scss +1 -0
- package/dist/slider/styles/mdc-slider.import.scss +1 -0
- package/dist/slider/styles/mdc-slider.scss +8 -0
- package/dist/snackbar/mdc-snackbar-service.js +4 -8
- package/dist/snackbar/mdc-snackbar-service.js.map +1 -1
- package/dist/snackbar/mdc-snackbar.js +52 -55
- package/dist/snackbar/mdc-snackbar.js.map +1 -1
- package/dist/switch/enhance-mdc-switch.js +6 -9
- package/dist/switch/enhance-mdc-switch.js.map +1 -1
- package/dist/switch/mdc-switch.js +13 -16
- package/dist/switch/mdc-switch.js.map +1 -1
- package/dist/tab-bar/indicator/mdc-tab-indicator.js +23 -26
- package/dist/tab-bar/indicator/mdc-tab-indicator.js.map +1 -1
- package/dist/tab-bar/mdc-tab-bar.js +26 -29
- package/dist/tab-bar/mdc-tab-bar.js.map +1 -1
- package/dist/tab-bar/scroller/mdc-tab-scroller.js +22 -25
- package/dist/tab-bar/scroller/mdc-tab-scroller.js.map +1 -1
- package/dist/tab-bar/tab/mdc-tab.js +41 -44
- package/dist/tab-bar/tab/mdc-tab.js.map +1 -1
- package/dist/text-field/enhance-mdc-text-field.js +6 -9
- package/dist/text-field/enhance-mdc-text-field.js.map +1 -1
- package/dist/text-field/mdc-default-text-field-configuration.js +1 -5
- package/dist/text-field/mdc-default-text-field-configuration.js.map +1 -1
- package/dist/text-field/mdc-inputmask.js +12 -15
- package/dist/text-field/mdc-inputmask.js.map +1 -1
- package/dist/text-field/mdc-text-field-character-counter.js +10 -13
- package/dist/text-field/mdc-text-field-character-counter.js.map +1 -1
- package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js +11 -14
- package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js.map +1 -1
- package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js +19 -22
- package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js.map +1 -1
- package/dist/text-field/mdc-text-field-icon.js +19 -22
- package/dist/text-field/mdc-text-field-icon.js.map +1 -1
- package/dist/text-field/mdc-text-field.js +109 -112
- package/dist/text-field/mdc-text-field.js.map +1 -1
- package/dist/text-field/styles/_index.scss +1 -0
- package/dist/text-field/styles/mdc-text-field.import.scss +1 -0
- package/dist/text-field/styles/mdc-text-field.scss +8 -0
- package/dist/tooltip/mdc-default-tooltip-configuration.js +1 -5
- package/dist/tooltip/mdc-default-tooltip-configuration.js.map +1 -1
- package/dist/tooltip/mdc-tooltip-attribute.js +36 -39
- package/dist/tooltip/mdc-tooltip-attribute.js.map +1 -1
- package/dist/tooltip/mdc-tooltip.js +57 -60
- package/dist/tooltip/mdc-tooltip.js.map +1 -1
- package/dist/top-app-bar/enhance-top-app-bar-actions.js +6 -9
- package/dist/top-app-bar/enhance-top-app-bar-actions.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar-action-item.js +6 -9
- package/dist/top-app-bar/mdc-top-app-bar-action-item.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js +6 -9
- package/dist/top-app-bar/mdc-top-app-bar-fixed-adjust.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js +6 -9
- package/dist/top-app-bar/mdc-top-app-bar-nav-icon.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar-row.js +6 -9
- package/dist/top-app-bar/mdc-top-app-bar-row.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js +12 -15
- package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar-title.js +6 -9
- package/dist/top-app-bar/mdc-top-app-bar-title.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar.js +40 -43
- package/dist/top-app-bar/mdc-top-app-bar.js.map +1 -1
- package/dist/tree-view/i-tree-node.js +1 -2
- package/dist/tree-view/mdc-tree-node-meta.js +6 -9
- package/dist/tree-view/mdc-tree-node-meta.js.map +1 -1
- package/dist/tree-view/mdc-tree-node.js +6 -9
- package/dist/tree-view/mdc-tree-node.js.map +1 -1
- package/dist/tree-view/mdc-tree-view.js +25 -29
- package/dist/tree-view/mdc-tree-view.js.map +1 -1
- package/dist/tree-view/node-filter.js +6 -9
- package/dist/tree-view/node-filter.js.map +1 -1
- package/dist/tree-view/styles/_index.scss +1 -0
- package/dist/tree-view/styles/_mixins.scss +145 -0
- package/dist/tree-view/styles/_variables.scss +8 -0
- package/dist/tree-view/styles/mdc-tree-view.import.scss +1 -0
- package/dist/tree-view/styles/mdc-tree-view.scss +3 -0
- package/dist/typography/mdc-typography.js +57 -60
- package/dist/typography/mdc-typography.js.map +1 -1
- package/dist/validation/mdc-validation-controller-factory.js +6 -10
- package/dist/validation/mdc-validation-controller-factory.js.map +1 -1
- package/dist/validation/mdc-validation-result-presenter.js +1 -5
- package/dist/validation/mdc-validation-result-presenter.js.map +1 -1
- package/dist/validation/validate.js +1 -4
- package/dist/validation/validate.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-select-adapter-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-adapter-aurelia.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mdc-select-adapter-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-adapter-aurelia.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG","sourcesContent":["/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport {Corner} from '@material/menu-surface/constants';\r\n\r\n/**\r\n * Defines the shape of the adapter expected by the foundation.\r\n * Implement this adapter for your framework of choice to delegate updates to\r\n * the component in your framework of choice. See architecture documentation\r\n * for more details.\r\n * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md\r\n * @hidden\r\n */\r\nexport interface MDCSelectAdapterAurelia {\r\n /**\r\n * Adds class to select anchor element.\r\n */\r\n addClass(className: string): void;\r\n\r\n /**\r\n * Removes a class from the select anchor element.\r\n */\r\n removeClass(className: string): void;\r\n\r\n /**\r\n * Returns true if the select anchor element contains the given class name.\r\n */\r\n hasClass(className: string): boolean;\r\n\r\n /**\r\n * Activates the bottom line, showing a focused state.\r\n */\r\n activateBottomLine(): void;\r\n\r\n /**\r\n * Deactivates the bottom line.\r\n */\r\n deactivateBottomLine(): void;\r\n\r\n /**\r\n * Returns true if label exists, false if it doesn't.\r\n */\r\n hasLabel(): boolean;\r\n\r\n /**\r\n * Floats label determined based off of the shouldFloat argument.\r\n */\r\n floatLabel(shouldFloat: boolean): void;\r\n\r\n /**\r\n * Returns width of label in pixels, if the label exists.\r\n */\r\n getLabelWidth(): number;\r\n\r\n /**\r\n * Styles the label as required, if the label exists.\r\n */\r\n setLabelRequired(isRequired: boolean): void;\r\n\r\n /**\r\n * Returns true if outline element exists, false if it doesn't.\r\n */\r\n hasOutline(): boolean;\r\n\r\n /**\r\n * Only implement if outline element exists.\r\n */\r\n notchOutline(labelWidth: number): void;\r\n\r\n /**\r\n * Closes notch in outline element, if the outline exists.\r\n */\r\n closeOutline(): void;\r\n\r\n /**\r\n * Sets the line ripple transform origin center.\r\n */\r\n setRippleCenter(normalizedX: number): void;\r\n\r\n /**\r\n * Emits a change event when an element is selected.\r\n * !!! MODIFIED FOR AURELIA !!!\r\n */\r\n notifyChange(value: unknown): void;\r\n\r\n /**\r\n * Sets the text content of the selectedText element to the given string.\r\n */\r\n setSelectedText(text: string): void;\r\n\r\n /**\r\n * Returns whether the select anchor is focused.\r\n */\r\n isSelectAnchorFocused(): boolean;\r\n\r\n /**\r\n * Gets the given attribute on the select anchor element.\r\n */\r\n getSelectAnchorAttr(attr: string): string|null;\r\n\r\n /**\r\n * Sets the given attribute on the select anchor element.\r\n */\r\n setSelectAnchorAttr(attr: string, value: string): void;\r\n\r\n /**\r\n * Removes the given attribute on the select anchor element.\r\n */\r\n removeSelectAnchorAttr(attr: string): void;\r\n\r\n // Menu-related methods ======================================================\r\n /**\r\n * Adds class to the menu element.\r\n */\r\n addMenuClass(className: string): void;\r\n\r\n /**\r\n * Removes a class from the menu element.\r\n */\r\n removeMenuClass(className: string): void;\r\n\r\n /**\r\n * Opens the menu.\r\n */\r\n openMenu(): void;\r\n\r\n /**\r\n * Closes the menu.\r\n */\r\n closeMenu(): void;\r\n\r\n /**\r\n * Returns the select anchor element.\r\n */\r\n getAnchorElement(): Element | null;\r\n\r\n /**\r\n * Sets the menu anchor element.\r\n */\r\n setMenuAnchorElement(anchorEl: Element): void;\r\n\r\n /**\r\n * Sets the menu anchor corner.\r\n */\r\n setMenuAnchorCorner(anchorCorner: Corner): void;\r\n\r\n /**\r\n * Sets whether the menu should wrap focus.\r\n */\r\n setMenuWrapFocus(wrapFocus: boolean): void;\r\n\r\n /**\r\n * Focuses the menu item element at the given index.\r\n */\r\n focusMenuItemAtIndex(index: number): void;\r\n\r\n /**\r\n * Returns the number of menu items.\r\n */\r\n getMenuItemCount(): number;\r\n\r\n /**\r\n * Returns an array representing the VALUE_ATTR attributes of each menu item.\r\n * !!! MODIFIED FOR AURELIA !!!\r\n */\r\n getMenuItemValues(): unknown[];\r\n\r\n /**\r\n * Gets the text content of the menu item element at the given index.\r\n */\r\n getMenuItemTextAtIndex(index: number): string;\r\n\r\n /**\r\n * Returns the selected index.\r\n */\r\n getSelectedIndex(): number;\r\n\r\n /**\r\n * Sets the selected index in the menu.\r\n */\r\n setSelectedIndex(index: number): void;\r\n\r\n /**\r\n * Returns whether typeahead is in progress in the menu.\r\n */\r\n isTypeaheadInProgress(): boolean;\r\n\r\n /**\r\n * Adds a character to the list typeahead buffer and returns index of the\r\n * next item in the list matching the buffer.\r\n */\r\n typeaheadMatchItem(nextChar: string, startingIndex: number): number;\r\n}\r\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @license
|
|
4
3
|
* Copyright 2016 Google Inc.
|
|
@@ -21,22 +20,20 @@
|
|
|
21
20
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
22
21
|
* THE SOFTWARE.
|
|
23
22
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const constants_1 = require("@material/menu-surface/constants");
|
|
29
|
-
const select_1 = require("@material/select");
|
|
23
|
+
import { MDCFoundation } from '@material/base/foundation';
|
|
24
|
+
import { KEY, normalizeKey } from '@material/dom/keyboard';
|
|
25
|
+
import { Corner } from '@material/menu-surface/constants';
|
|
26
|
+
import { cssClasses, numbers, strings } from '@material/select';
|
|
30
27
|
// !!! MODIFIED FOR AURELIA !!!
|
|
31
|
-
class MDCSelectFoundationAurelia extends
|
|
28
|
+
export class MDCSelectFoundationAurelia extends MDCFoundation {
|
|
32
29
|
static get cssClasses() {
|
|
33
|
-
return
|
|
30
|
+
return cssClasses;
|
|
34
31
|
}
|
|
35
32
|
static get numbers() {
|
|
36
|
-
return
|
|
33
|
+
return numbers;
|
|
37
34
|
}
|
|
38
35
|
static get strings() {
|
|
39
|
-
return
|
|
36
|
+
return strings;
|
|
40
37
|
}
|
|
41
38
|
/**
|
|
42
39
|
* See {@link MDCSelectAdapter} for typing information on parameters and return types.
|
|
@@ -94,7 +91,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
94
91
|
// By default, select is invalid if it is required but no value is selected.
|
|
95
92
|
useDefaultValidation = true;
|
|
96
93
|
customValidity = true;
|
|
97
|
-
lastSelectedIndex =
|
|
94
|
+
lastSelectedIndex = numbers.UNSET_INDEX;
|
|
98
95
|
/* istanbul ignore next: optional argument is not a branch statement */
|
|
99
96
|
/**
|
|
100
97
|
* @param adapter
|
|
@@ -115,7 +112,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
115
112
|
}
|
|
116
113
|
// !!! MODIFIED FOR AURELIA TO SUPPORT TEXT IN "EMPTY" ITEMS !!!
|
|
117
114
|
const menuItemValues = this.adapter.getMenuItemValues();
|
|
118
|
-
if (index ===
|
|
115
|
+
if (index === numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {
|
|
119
116
|
this.adapter.setSelectedText('');
|
|
120
117
|
}
|
|
121
118
|
else {
|
|
@@ -139,7 +136,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
139
136
|
getValue() {
|
|
140
137
|
const index = this.adapter.getSelectedIndex();
|
|
141
138
|
const menuItemValues = this.adapter.getMenuItemValues();
|
|
142
|
-
return index !==
|
|
139
|
+
return index !== numbers.UNSET_INDEX ? menuItemValues[index] : undefined;
|
|
143
140
|
}
|
|
144
141
|
getDisabled() {
|
|
145
142
|
return this.disabled;
|
|
@@ -147,11 +144,11 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
147
144
|
setDisabled(isDisabled) {
|
|
148
145
|
this.disabled = isDisabled;
|
|
149
146
|
if (this.disabled) {
|
|
150
|
-
this.adapter.addClass(
|
|
147
|
+
this.adapter.addClass(cssClasses.DISABLED);
|
|
151
148
|
this.adapter.closeMenu();
|
|
152
149
|
}
|
|
153
150
|
else {
|
|
154
|
-
this.adapter.removeClass(
|
|
151
|
+
this.adapter.removeClass(cssClasses.DISABLED);
|
|
155
152
|
}
|
|
156
153
|
if (this.leadingIcon) {
|
|
157
154
|
this.leadingIcon.setDisabled(this.disabled);
|
|
@@ -168,7 +165,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
168
165
|
}
|
|
169
166
|
/** Opens the menu. */
|
|
170
167
|
openMenu() {
|
|
171
|
-
this.adapter.addClass(
|
|
168
|
+
this.adapter.addClass(cssClasses.ACTIVATED);
|
|
172
169
|
this.adapter.openMenu();
|
|
173
170
|
this.isMenuOpen = true;
|
|
174
171
|
this.adapter.setSelectAnchorAttr('aria-expanded', 'true');
|
|
@@ -188,9 +185,9 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
188
185
|
layout() {
|
|
189
186
|
if (this.adapter.hasLabel()) {
|
|
190
187
|
const optionHasValue = this.getValue() !== undefined; // !!! MODIFIED FOR AURELIA !!!
|
|
191
|
-
const isFocused = this.adapter.hasClass(
|
|
188
|
+
const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);
|
|
192
189
|
const shouldFloatAndNotch = optionHasValue || isFocused;
|
|
193
|
-
const isRequired = this.adapter.hasClass(
|
|
190
|
+
const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);
|
|
194
191
|
this.notchOutline(shouldFloatAndNotch);
|
|
195
192
|
this.adapter.floatLabel(shouldFloatAndNotch);
|
|
196
193
|
this.adapter.setLabelRequired(isRequired);
|
|
@@ -215,7 +212,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
215
212
|
this.adapter.focusMenuItemAtIndex(focusItemIndex);
|
|
216
213
|
}
|
|
217
214
|
handleMenuClosed() {
|
|
218
|
-
this.adapter.removeClass(
|
|
215
|
+
this.adapter.removeClass(cssClasses.ACTIVATED);
|
|
219
216
|
this.isMenuOpen = false;
|
|
220
217
|
this.adapter.setSelectAnchorAttr('aria-expanded', 'false');
|
|
221
218
|
// Unfocus the select if menu is closed without a selection
|
|
@@ -229,7 +226,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
229
226
|
handleChange() {
|
|
230
227
|
this.layout();
|
|
231
228
|
this.adapter.notifyChange(this.getValue());
|
|
232
|
-
const isRequired = this.adapter.hasClass(
|
|
229
|
+
const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);
|
|
233
230
|
if (isRequired && this.useDefaultValidation) {
|
|
234
231
|
this.setValid(this.isValid());
|
|
235
232
|
}
|
|
@@ -241,7 +238,7 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
241
238
|
* Handles focus events from select element.
|
|
242
239
|
*/
|
|
243
240
|
handleFocus() {
|
|
244
|
-
this.adapter.addClass(
|
|
241
|
+
this.adapter.addClass(cssClasses.FOCUSED);
|
|
245
242
|
this.layout();
|
|
246
243
|
this.adapter.activateBottomLine();
|
|
247
244
|
}
|
|
@@ -270,13 +267,13 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
270
267
|
* character typed, does typeahead matching or opens menu.
|
|
271
268
|
*/
|
|
272
269
|
handleKeydown(event) {
|
|
273
|
-
if (this.isMenuOpen || !this.adapter.hasClass(
|
|
270
|
+
if (this.isMenuOpen || !this.adapter.hasClass(cssClasses.FOCUSED)) {
|
|
274
271
|
return;
|
|
275
272
|
}
|
|
276
|
-
const isEnter =
|
|
277
|
-
const isSpace =
|
|
278
|
-
const arrowUp =
|
|
279
|
-
const arrowDown =
|
|
273
|
+
const isEnter = normalizeKey(event) === KEY.ENTER;
|
|
274
|
+
const isSpace = normalizeKey(event) === KEY.SPACEBAR;
|
|
275
|
+
const arrowUp = normalizeKey(event) === KEY.ARROW_UP;
|
|
276
|
+
const arrowDown = normalizeKey(event) === KEY.ARROW_DOWN;
|
|
280
277
|
// Typeahead
|
|
281
278
|
if (!isSpace && event.key && event.key.length === 1 ||
|
|
282
279
|
isSpace && this.adapter.isTypeaheadInProgress()) {
|
|
@@ -309,9 +306,9 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
309
306
|
if (!this.adapter.hasOutline()) {
|
|
310
307
|
return;
|
|
311
308
|
}
|
|
312
|
-
const isFocused = this.adapter.hasClass(
|
|
309
|
+
const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);
|
|
313
310
|
if (openNotch) {
|
|
314
|
-
const labelScale =
|
|
311
|
+
const labelScale = numbers.LABEL_SCALE;
|
|
315
312
|
const labelWidth = this.adapter.getLabelWidth() * labelScale;
|
|
316
313
|
this.adapter.notchOutline(labelWidth);
|
|
317
314
|
}
|
|
@@ -344,32 +341,32 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
344
341
|
}
|
|
345
342
|
this.adapter.setSelectAnchorAttr('aria-invalid', (!isValid).toString());
|
|
346
343
|
if (isValid) {
|
|
347
|
-
this.adapter.removeClass(
|
|
348
|
-
this.adapter.removeMenuClass(
|
|
344
|
+
this.adapter.removeClass(cssClasses.INVALID);
|
|
345
|
+
this.adapter.removeMenuClass(cssClasses.MENU_INVALID);
|
|
349
346
|
}
|
|
350
347
|
else {
|
|
351
|
-
this.adapter.addClass(
|
|
352
|
-
this.adapter.addMenuClass(
|
|
348
|
+
this.adapter.addClass(cssClasses.INVALID);
|
|
349
|
+
this.adapter.addMenuClass(cssClasses.MENU_INVALID);
|
|
353
350
|
}
|
|
354
351
|
this.syncHelperTextValidity(isValid);
|
|
355
352
|
}
|
|
356
353
|
isValid() {
|
|
357
354
|
if (this.useDefaultValidation &&
|
|
358
|
-
this.adapter.hasClass(
|
|
359
|
-
!this.adapter.hasClass(
|
|
355
|
+
this.adapter.hasClass(cssClasses.REQUIRED) &&
|
|
356
|
+
!this.adapter.hasClass(cssClasses.DISABLED)) {
|
|
360
357
|
// See notes for required attribute under https://www.w3.org/TR/html52/sec-forms.html#the-select-element
|
|
361
358
|
// TL;DR: Invalid if no index is selected, or if the first index is selected and has an empty value.
|
|
362
|
-
return this.getSelectedIndex() !==
|
|
359
|
+
return this.getSelectedIndex() !== numbers.UNSET_INDEX &&
|
|
363
360
|
(this.getSelectedIndex() !== 0 || Boolean(this.getValue()));
|
|
364
361
|
}
|
|
365
362
|
return this.customValidity;
|
|
366
363
|
}
|
|
367
364
|
setRequired(isRequired) {
|
|
368
365
|
if (isRequired) {
|
|
369
|
-
this.adapter.addClass(
|
|
366
|
+
this.adapter.addClass(cssClasses.REQUIRED);
|
|
370
367
|
}
|
|
371
368
|
else {
|
|
372
|
-
this.adapter.removeClass(
|
|
369
|
+
this.adapter.removeClass(cssClasses.REQUIRED);
|
|
373
370
|
}
|
|
374
371
|
this.adapter.setSelectAnchorAttr('aria-required', isRequired.toString());
|
|
375
372
|
this.adapter.setLabelRequired(isRequired);
|
|
@@ -381,11 +378,11 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
381
378
|
const anchorEl = this.adapter.getAnchorElement();
|
|
382
379
|
if (anchorEl) {
|
|
383
380
|
this.adapter.setMenuAnchorElement(anchorEl);
|
|
384
|
-
this.adapter.setMenuAnchorCorner(
|
|
381
|
+
this.adapter.setMenuAnchorCorner(Corner.BOTTOM_START);
|
|
385
382
|
}
|
|
386
383
|
this.adapter.setMenuWrapFocus(false);
|
|
387
|
-
this.setDisabled(this.adapter.hasClass(
|
|
388
|
-
this.syncHelperTextValidity(!this.adapter.hasClass(
|
|
384
|
+
this.setDisabled(this.adapter.hasClass(cssClasses.DISABLED));
|
|
385
|
+
this.syncHelperTextValidity(!this.adapter.hasClass(cssClasses.INVALID));
|
|
389
386
|
this.layout();
|
|
390
387
|
this.layoutOptions();
|
|
391
388
|
}
|
|
@@ -393,10 +390,10 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
393
390
|
* Unfocuses the select component.
|
|
394
391
|
*/
|
|
395
392
|
blur() {
|
|
396
|
-
this.adapter.removeClass(
|
|
393
|
+
this.adapter.removeClass(cssClasses.FOCUSED);
|
|
397
394
|
this.layout();
|
|
398
395
|
this.adapter.deactivateBottomLine();
|
|
399
|
-
const isRequired = this.adapter.hasClass(
|
|
396
|
+
const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);
|
|
400
397
|
if (isRequired && this.useDefaultValidation) {
|
|
401
398
|
this.setValid(this.isValid());
|
|
402
399
|
}
|
|
@@ -409,16 +406,15 @@ class MDCSelectFoundationAurelia extends foundation_1.MDCFoundation {
|
|
|
409
406
|
const helperTextVisible = this.helperText.isVisible();
|
|
410
407
|
const helperTextId = this.helperText.getId();
|
|
411
408
|
if (helperTextVisible && helperTextId) {
|
|
412
|
-
this.adapter.setSelectAnchorAttr(
|
|
409
|
+
this.adapter.setSelectAnchorAttr(strings.ARIA_DESCRIBEDBY, helperTextId);
|
|
413
410
|
}
|
|
414
411
|
else {
|
|
415
412
|
// Needed because screenreaders will read labels pointed to by
|
|
416
413
|
// `aria-describedby` even if they are `aria-hidden`.
|
|
417
|
-
this.adapter.removeSelectAnchorAttr(
|
|
414
|
+
this.adapter.removeSelectAnchorAttr(strings.ARIA_DESCRIBEDBY);
|
|
418
415
|
}
|
|
419
416
|
}
|
|
420
417
|
}
|
|
421
|
-
exports.MDCSelectFoundationAurelia = MDCSelectFoundationAurelia;
|
|
422
418
|
// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.
|
|
423
|
-
|
|
419
|
+
export default MDCSelectFoundationAurelia;
|
|
424
420
|
//# sourceMappingURL=mdc-select-foundation-aurelia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-select-foundation-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-foundation-aurelia.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { KEY, normalizeKey } from '@material/dom/keyboard';\r\nimport { Corner } from '@material/menu-surface/constants';\r\n\r\nimport { MDCSelectAdapterAurelia } from './mdc-select-adapter-aurelia';\r\nimport { cssClasses, numbers, strings, MDCSelectIconFoundation, MDCSelectHelperTextFoundation, MDCSelectFoundationMap } from '@material/select';\r\n\r\n// !!! MODIFIED FOR AURELIA !!!\r\nexport class MDCSelectFoundationAurelia extends MDCFoundation<MDCSelectAdapterAurelia> {\r\n static get cssClasses() {\r\n return cssClasses;\r\n }\r\n\r\n static get numbers() {\r\n return numbers;\r\n }\r\n\r\n static get strings() {\r\n return strings;\r\n }\r\n\r\n /**\r\n * See {@link MDCSelectAdapter} for typing information on parameters and return types.\r\n */\r\n static get defaultAdapter(): MDCSelectAdapterAurelia {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: () => undefined,\r\n removeClass: () => undefined,\r\n hasClass: () => false,\r\n activateBottomLine: () => undefined,\r\n deactivateBottomLine: () => undefined,\r\n getSelectedIndex: () => -1,\r\n setSelectedIndex: () => undefined,\r\n hasLabel: () => false,\r\n floatLabel: () => undefined,\r\n getLabelWidth: () => 0,\r\n setLabelRequired: () => undefined,\r\n hasOutline: () => false,\r\n notchOutline: () => undefined,\r\n closeOutline: () => undefined,\r\n setRippleCenter: () => undefined,\r\n notifyChange: () => undefined,\r\n setSelectedText: () => undefined,\r\n isSelectAnchorFocused: () => false,\r\n getSelectAnchorAttr: () => '',\r\n setSelectAnchorAttr: () => undefined,\r\n removeSelectAnchorAttr: () => undefined,\r\n addMenuClass: () => undefined,\r\n removeMenuClass: () => undefined,\r\n openMenu: () => undefined,\r\n closeMenu: () => undefined,\r\n getAnchorElement: () => null,\r\n setMenuAnchorElement: () => undefined,\r\n setMenuAnchorCorner: () => undefined,\r\n setMenuWrapFocus: () => undefined,\r\n focusMenuItemAtIndex: () => undefined,\r\n getMenuItemCount: () => 0,\r\n getMenuItemValues: () => [],\r\n getMenuItemTextAtIndex: () => '',\r\n isTypeaheadInProgress: () => false,\r\n typeaheadMatchItem: () => -1,\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n }\r\n\r\n private readonly leadingIcon: MDCSelectIconFoundation | undefined;\r\n private readonly helperText: MDCSelectHelperTextFoundation | undefined;\r\n\r\n // Disabled state\r\n private disabled = false;\r\n // isMenuOpen is used to track the state of the menu by listening to the\r\n // MDCMenuSurface:closed event For reference, menu.open will return false if\r\n // the menu is still closing, but isMenuOpen returns false only after the menu\r\n // has closed\r\n private isMenuOpen = false;\r\n // By default, select is invalid if it is required but no value is selected.\r\n private useDefaultValidation = true;\r\n private customValidity = true;\r\n private lastSelectedIndex = numbers.UNSET_INDEX;\r\n\r\n /* istanbul ignore next: optional argument is not a branch statement */\r\n /**\r\n * @param adapter\r\n * @param foundationMap Map from subcomponent names to their subfoundations.\r\n */\r\n constructor(adapter?: Partial<MDCSelectAdapterAurelia>, foundationMap: Partial<MDCSelectFoundationMap> = {}) {\r\n super({ ...MDCSelectFoundationAurelia.defaultAdapter, ...adapter });\r\n\r\n this.leadingIcon = foundationMap.leadingIcon;\r\n this.helperText = foundationMap.helperText;\r\n }\r\n\r\n /** Returns the index of the currently selected menu item, or -1 if none. */\r\n getSelectedIndex(): number {\r\n return this.adapter.getSelectedIndex();\r\n }\r\n\r\n setSelectedIndex(index: number, closeMenu = false, skipNotify = false) {\r\n if (index >= this.adapter.getMenuItemCount()) {\r\n return;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA TO SUPPORT TEXT IN \"EMPTY\" ITEMS !!!\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n if (index === numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {\r\n this.adapter.setSelectedText('');\r\n } else {\r\n this.adapter.setSelectedText(\r\n this.adapter.getMenuItemTextAtIndex(index).trim());\r\n }\r\n\r\n this.adapter.setSelectedIndex(index);\r\n\r\n if (closeMenu) {\r\n this.adapter.closeMenu();\r\n }\r\n\r\n if (!skipNotify && this.lastSelectedIndex !== index) {\r\n this.handleChange();\r\n }\r\n this.lastSelectedIndex = index;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n setValue(value: unknown, skipNotify = false) {\r\n const index = this.adapter.getMenuItemValues().indexOf(value);\r\n this.setSelectedIndex(index, /** closeMenu */ false, skipNotify);\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n getValue() {\r\n const index = this.adapter.getSelectedIndex();\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n return index !== numbers.UNSET_INDEX ? menuItemValues[index] : undefined;\r\n }\r\n\r\n getDisabled() {\r\n return this.disabled;\r\n }\r\n\r\n setDisabled(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n if (this.disabled) {\r\n this.adapter.addClass(cssClasses.DISABLED);\r\n this.adapter.closeMenu();\r\n } else {\r\n this.adapter.removeClass(cssClasses.DISABLED);\r\n }\r\n\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setDisabled(this.disabled);\r\n }\r\n\r\n if (this.disabled) {\r\n // Prevent click events from focusing select. Simply pointer-events: none\r\n // is not enough since screenreader clicks may bypass this.\r\n this.adapter.removeSelectAnchorAttr('tabindex');\r\n } else {\r\n this.adapter.setSelectAnchorAttr('tabindex', '0');\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-disabled', this.disabled.toString());\r\n }\r\n\r\n /** Opens the menu. */\r\n openMenu() {\r\n this.adapter.addClass(cssClasses.ACTIVATED);\r\n this.adapter.openMenu();\r\n this.isMenuOpen = true;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'true');\r\n }\r\n\r\n /**\r\n * @param content Sets the content of the helper text.\r\n */\r\n setHelperTextContent(content: string) {\r\n if (this.helperText) {\r\n this.helperText.setContent(content);\r\n }\r\n }\r\n\r\n /**\r\n * Re-calculates if the notched outline should be notched and if the label\r\n * should float.\r\n */\r\n layout() {\r\n if (this.adapter.hasLabel()) {\r\n const optionHasValue = this.getValue() !== undefined; // !!! MODIFIED FOR AURELIA !!!\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n const shouldFloatAndNotch = optionHasValue || isFocused;\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n\r\n this.notchOutline(shouldFloatAndNotch);\r\n this.adapter.floatLabel(shouldFloatAndNotch);\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n }\r\n\r\n /**\r\n * Synchronizes the list of options with the state of the foundation. Call\r\n * this whenever menu options are dynamically updated.\r\n */\r\n layoutOptions() {\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n const selectedIndex = menuItemValues.indexOf(this.getValue());\r\n this.setSelectedIndex(\r\n selectedIndex, /** closeMenu */ false, /** skipNotify */ true);\r\n }\r\n\r\n handleMenuOpened() {\r\n if (this.adapter.getMenuItemValues().length === 0) {\r\n return;\r\n }\r\n\r\n // Menu should open to the last selected element, should open to first menu item otherwise.\r\n const selectedIndex = this.getSelectedIndex();\r\n const focusItemIndex = selectedIndex >= 0 ? selectedIndex : 0;\r\n this.adapter.focusMenuItemAtIndex(focusItemIndex);\r\n }\r\n\r\n handleMenuClosed() {\r\n this.adapter.removeClass(cssClasses.ACTIVATED);\r\n this.isMenuOpen = false;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'false');\r\n\r\n // Unfocus the select if menu is closed without a selection\r\n if (!this.adapter.isSelectAnchorFocused()) {\r\n this.blur();\r\n }\r\n }\r\n\r\n /**\r\n * Handles value changes, via change event or programmatic updates.\r\n */\r\n handleChange() {\r\n this.layout();\r\n this.adapter.notifyChange(this.getValue());\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n handleMenuItemAction(index: number) {\r\n this.setSelectedIndex(index, /** closeMenu */ true);\r\n }\r\n\r\n /**\r\n * Handles focus events from select element.\r\n */\r\n handleFocus() {\r\n this.adapter.addClass(cssClasses.FOCUSED);\r\n this.layout();\r\n\r\n this.adapter.activateBottomLine();\r\n }\r\n\r\n /**\r\n * Handles blur events from select element.\r\n */\r\n handleBlur() {\r\n if (this.isMenuOpen) {\r\n return;\r\n }\r\n this.blur();\r\n }\r\n\r\n handleClick(normalizedX: number) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (this.isMenuOpen) {\r\n this.adapter.closeMenu();\r\n return;\r\n }\r\n\r\n this.adapter.setRippleCenter(normalizedX);\r\n\r\n this.openMenu();\r\n }\r\n\r\n /**\r\n * Handles keydown events on select element. Depending on the type of\r\n * character typed, does typeahead matching or opens menu.\r\n */\r\n handleKeydown(event: KeyboardEvent) {\r\n if (this.isMenuOpen || !this.adapter.hasClass(cssClasses.FOCUSED)) {\r\n return;\r\n }\r\n\r\n const isEnter = normalizeKey(event) === KEY.ENTER;\r\n const isSpace = normalizeKey(event) === KEY.SPACEBAR;\r\n const arrowUp = normalizeKey(event) === KEY.ARROW_UP;\r\n const arrowDown = normalizeKey(event) === KEY.ARROW_DOWN;\r\n\r\n // Typeahead\r\n if (!isSpace && event.key && event.key.length === 1 ||\r\n isSpace && this.adapter.isTypeaheadInProgress()) {\r\n const key = isSpace ? ' ' : event.key;\r\n const typeaheadNextIndex =\r\n this.adapter.typeaheadMatchItem(key, this.getSelectedIndex());\r\n if (typeaheadNextIndex >= 0) {\r\n this.setSelectedIndex(typeaheadNextIndex);\r\n }\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (!isEnter && !isSpace && !arrowUp && !arrowDown) {\r\n return;\r\n }\r\n\r\n // Increment/decrement index as necessary and open menu.\r\n if (arrowUp && this.getSelectedIndex() > 0) {\r\n this.setSelectedIndex(this.getSelectedIndex() - 1);\r\n } else if (\r\n arrowDown &&\r\n this.getSelectedIndex() < this.adapter.getMenuItemCount() - 1) {\r\n this.setSelectedIndex(this.getSelectedIndex() + 1);\r\n }\r\n\r\n this.openMenu();\r\n event.preventDefault();\r\n }\r\n\r\n /**\r\n * Opens/closes the notched outline.\r\n */\r\n notchOutline(openNotch: boolean) {\r\n if (!this.adapter.hasOutline()) {\r\n return;\r\n }\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n\r\n if (openNotch) {\r\n const labelScale = numbers.LABEL_SCALE;\r\n const labelWidth = this.adapter.getLabelWidth() * labelScale;\r\n this.adapter.notchOutline(labelWidth);\r\n } else if (!isFocused) {\r\n this.adapter.closeOutline();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the aria label of the leading icon.\r\n */\r\n setLeadingIconAriaLabel(label: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setAriaLabel(label);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the text content of the leading icon.\r\n */\r\n setLeadingIconContent(content: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setContent(content);\r\n }\r\n }\r\n\r\n setUseDefaultValidation(useDefaultValidation: boolean) {\r\n this.useDefaultValidation = useDefaultValidation;\r\n }\r\n\r\n setValid(isValid: boolean) {\r\n if (!this.useDefaultValidation) {\r\n this.customValidity = isValid;\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-invalid', (!isValid).toString());\r\n if (isValid) {\r\n this.adapter.removeClass(cssClasses.INVALID);\r\n this.adapter.removeMenuClass(cssClasses.MENU_INVALID);\r\n } else {\r\n this.adapter.addClass(cssClasses.INVALID);\r\n this.adapter.addMenuClass(cssClasses.MENU_INVALID);\r\n }\r\n\r\n this.syncHelperTextValidity(isValid);\r\n }\r\n\r\n isValid() {\r\n if (this.useDefaultValidation &&\r\n this.adapter.hasClass(cssClasses.REQUIRED) &&\r\n !this.adapter.hasClass(cssClasses.DISABLED)) {\r\n // See notes for required attribute under https://www.w3.org/TR/html52/sec-forms.html#the-select-element\r\n // TL;DR: Invalid if no index is selected, or if the first index is selected and has an empty value.\r\n return this.getSelectedIndex() !== numbers.UNSET_INDEX &&\r\n (this.getSelectedIndex() !== 0 || Boolean(this.getValue()));\r\n }\r\n return this.customValidity;\r\n }\r\n\r\n setRequired(isRequired: boolean) {\r\n if (isRequired) {\r\n this.adapter.addClass(cssClasses.REQUIRED);\r\n } else {\r\n this.adapter.removeClass(cssClasses.REQUIRED);\r\n }\r\n this.adapter.setSelectAnchorAttr('aria-required', isRequired.toString());\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n\r\n getRequired() {\r\n return this.adapter.getSelectAnchorAttr('aria-required') === 'true';\r\n }\r\n\r\n init() {\r\n const anchorEl = this.adapter.getAnchorElement();\r\n if (anchorEl) {\r\n this.adapter.setMenuAnchorElement(anchorEl);\r\n this.adapter.setMenuAnchorCorner(Corner.BOTTOM_START);\r\n }\r\n this.adapter.setMenuWrapFocus(false);\r\n\r\n this.setDisabled(this.adapter.hasClass(cssClasses.DISABLED));\r\n this.syncHelperTextValidity(!this.adapter.hasClass(cssClasses.INVALID));\r\n this.layout();\r\n this.layoutOptions();\r\n }\r\n\r\n /**\r\n * Unfocuses the select component.\r\n */\r\n private blur() {\r\n this.adapter.removeClass(cssClasses.FOCUSED);\r\n this.layout();\r\n this.adapter.deactivateBottomLine();\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n private syncHelperTextValidity(isValid: boolean) {\r\n if (!this.helperText) {\r\n return;\r\n }\r\n\r\n this.helperText.setValidity(isValid);\r\n\r\n const helperTextVisible = this.helperText.isVisible();\r\n const helperTextId = this.helperText.getId();\r\n\r\n if (helperTextVisible && helperTextId) {\r\n this.adapter.setSelectAnchorAttr(strings.ARIA_DESCRIBEDBY, helperTextId);\r\n } else {\r\n // Needed because screenreaders will read labels pointed to by\r\n // `aria-describedby` even if they are `aria-hidden`.\r\n this.adapter.removeSelectAnchorAttr(strings.ARIA_DESCRIBEDBY);\r\n }\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCSelectFoundationAurelia;\r\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-select-foundation-aurelia.js","sourceRoot":"","sources":["../../src/select/mdc-select-foundation-aurelia.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { KEY, normalizeKey } from '@material/dom/keyboard';\r\nimport { Corner } from '@material/menu-surface/constants';\r\n\r\nimport { MDCSelectAdapterAurelia } from './mdc-select-adapter-aurelia';\r\nimport { cssClasses, numbers, strings, MDCSelectIconFoundation, MDCSelectHelperTextFoundation, MDCSelectFoundationMap } from '@material/select';\r\n\r\n// !!! MODIFIED FOR AURELIA !!!\r\nexport class MDCSelectFoundationAurelia extends MDCFoundation<MDCSelectAdapterAurelia> {\r\n static get cssClasses() {\r\n return cssClasses;\r\n }\r\n\r\n static get numbers() {\r\n return numbers;\r\n }\r\n\r\n static get strings() {\r\n return strings;\r\n }\r\n\r\n /**\r\n * See {@link MDCSelectAdapter} for typing information on parameters and return types.\r\n */\r\n static get defaultAdapter(): MDCSelectAdapterAurelia {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: () => undefined,\r\n removeClass: () => undefined,\r\n hasClass: () => false,\r\n activateBottomLine: () => undefined,\r\n deactivateBottomLine: () => undefined,\r\n getSelectedIndex: () => -1,\r\n setSelectedIndex: () => undefined,\r\n hasLabel: () => false,\r\n floatLabel: () => undefined,\r\n getLabelWidth: () => 0,\r\n setLabelRequired: () => undefined,\r\n hasOutline: () => false,\r\n notchOutline: () => undefined,\r\n closeOutline: () => undefined,\r\n setRippleCenter: () => undefined,\r\n notifyChange: () => undefined,\r\n setSelectedText: () => undefined,\r\n isSelectAnchorFocused: () => false,\r\n getSelectAnchorAttr: () => '',\r\n setSelectAnchorAttr: () => undefined,\r\n removeSelectAnchorAttr: () => undefined,\r\n addMenuClass: () => undefined,\r\n removeMenuClass: () => undefined,\r\n openMenu: () => undefined,\r\n closeMenu: () => undefined,\r\n getAnchorElement: () => null,\r\n setMenuAnchorElement: () => undefined,\r\n setMenuAnchorCorner: () => undefined,\r\n setMenuWrapFocus: () => undefined,\r\n focusMenuItemAtIndex: () => undefined,\r\n getMenuItemCount: () => 0,\r\n getMenuItemValues: () => [],\r\n getMenuItemTextAtIndex: () => '',\r\n isTypeaheadInProgress: () => false,\r\n typeaheadMatchItem: () => -1,\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n }\r\n\r\n private readonly leadingIcon: MDCSelectIconFoundation | undefined;\r\n private readonly helperText: MDCSelectHelperTextFoundation | undefined;\r\n\r\n // Disabled state\r\n private disabled = false;\r\n // isMenuOpen is used to track the state of the menu by listening to the\r\n // MDCMenuSurface:closed event For reference, menu.open will return false if\r\n // the menu is still closing, but isMenuOpen returns false only after the menu\r\n // has closed\r\n private isMenuOpen = false;\r\n // By default, select is invalid if it is required but no value is selected.\r\n private useDefaultValidation = true;\r\n private customValidity = true;\r\n private lastSelectedIndex = numbers.UNSET_INDEX;\r\n\r\n /* istanbul ignore next: optional argument is not a branch statement */\r\n /**\r\n * @param adapter\r\n * @param foundationMap Map from subcomponent names to their subfoundations.\r\n */\r\n constructor(adapter?: Partial<MDCSelectAdapterAurelia>, foundationMap: Partial<MDCSelectFoundationMap> = {}) {\r\n super({ ...MDCSelectFoundationAurelia.defaultAdapter, ...adapter });\r\n\r\n this.leadingIcon = foundationMap.leadingIcon;\r\n this.helperText = foundationMap.helperText;\r\n }\r\n\r\n /** Returns the index of the currently selected menu item, or -1 if none. */\r\n getSelectedIndex(): number {\r\n return this.adapter.getSelectedIndex();\r\n }\r\n\r\n setSelectedIndex(index: number, closeMenu = false, skipNotify = false) {\r\n if (index >= this.adapter.getMenuItemCount()) {\r\n return;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA TO SUPPORT TEXT IN \"EMPTY\" ITEMS !!!\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n if (index === numbers.UNSET_INDEX || menuItemValues[index] === undefined || menuItemValues[index] === null) {\r\n this.adapter.setSelectedText('');\r\n } else {\r\n this.adapter.setSelectedText(\r\n this.adapter.getMenuItemTextAtIndex(index).trim());\r\n }\r\n\r\n this.adapter.setSelectedIndex(index);\r\n\r\n if (closeMenu) {\r\n this.adapter.closeMenu();\r\n }\r\n\r\n if (!skipNotify && this.lastSelectedIndex !== index) {\r\n this.handleChange();\r\n }\r\n this.lastSelectedIndex = index;\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n setValue(value: unknown, skipNotify = false) {\r\n const index = this.adapter.getMenuItemValues().indexOf(value);\r\n this.setSelectedIndex(index, /** closeMenu */ false, skipNotify);\r\n }\r\n\r\n // !!! MODIFIED FOR AURELIA !!!\r\n getValue() {\r\n const index = this.adapter.getSelectedIndex();\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n return index !== numbers.UNSET_INDEX ? menuItemValues[index] : undefined;\r\n }\r\n\r\n getDisabled() {\r\n return this.disabled;\r\n }\r\n\r\n setDisabled(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n if (this.disabled) {\r\n this.adapter.addClass(cssClasses.DISABLED);\r\n this.adapter.closeMenu();\r\n } else {\r\n this.adapter.removeClass(cssClasses.DISABLED);\r\n }\r\n\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setDisabled(this.disabled);\r\n }\r\n\r\n if (this.disabled) {\r\n // Prevent click events from focusing select. Simply pointer-events: none\r\n // is not enough since screenreader clicks may bypass this.\r\n this.adapter.removeSelectAnchorAttr('tabindex');\r\n } else {\r\n this.adapter.setSelectAnchorAttr('tabindex', '0');\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-disabled', this.disabled.toString());\r\n }\r\n\r\n /** Opens the menu. */\r\n openMenu() {\r\n this.adapter.addClass(cssClasses.ACTIVATED);\r\n this.adapter.openMenu();\r\n this.isMenuOpen = true;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'true');\r\n }\r\n\r\n /**\r\n * @param content Sets the content of the helper text.\r\n */\r\n setHelperTextContent(content: string) {\r\n if (this.helperText) {\r\n this.helperText.setContent(content);\r\n }\r\n }\r\n\r\n /**\r\n * Re-calculates if the notched outline should be notched and if the label\r\n * should float.\r\n */\r\n layout() {\r\n if (this.adapter.hasLabel()) {\r\n const optionHasValue = this.getValue() !== undefined; // !!! MODIFIED FOR AURELIA !!!\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n const shouldFloatAndNotch = optionHasValue || isFocused;\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n\r\n this.notchOutline(shouldFloatAndNotch);\r\n this.adapter.floatLabel(shouldFloatAndNotch);\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n }\r\n\r\n /**\r\n * Synchronizes the list of options with the state of the foundation. Call\r\n * this whenever menu options are dynamically updated.\r\n */\r\n layoutOptions() {\r\n const menuItemValues = this.adapter.getMenuItemValues();\r\n const selectedIndex = menuItemValues.indexOf(this.getValue());\r\n this.setSelectedIndex(\r\n selectedIndex, /** closeMenu */ false, /** skipNotify */ true);\r\n }\r\n\r\n handleMenuOpened() {\r\n if (this.adapter.getMenuItemValues().length === 0) {\r\n return;\r\n }\r\n\r\n // Menu should open to the last selected element, should open to first menu item otherwise.\r\n const selectedIndex = this.getSelectedIndex();\r\n const focusItemIndex = selectedIndex >= 0 ? selectedIndex : 0;\r\n this.adapter.focusMenuItemAtIndex(focusItemIndex);\r\n }\r\n\r\n handleMenuClosed() {\r\n this.adapter.removeClass(cssClasses.ACTIVATED);\r\n this.isMenuOpen = false;\r\n this.adapter.setSelectAnchorAttr('aria-expanded', 'false');\r\n\r\n // Unfocus the select if menu is closed without a selection\r\n if (!this.adapter.isSelectAnchorFocused()) {\r\n this.blur();\r\n }\r\n }\r\n\r\n /**\r\n * Handles value changes, via change event or programmatic updates.\r\n */\r\n handleChange() {\r\n this.layout();\r\n this.adapter.notifyChange(this.getValue());\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n handleMenuItemAction(index: number) {\r\n this.setSelectedIndex(index, /** closeMenu */ true);\r\n }\r\n\r\n /**\r\n * Handles focus events from select element.\r\n */\r\n handleFocus() {\r\n this.adapter.addClass(cssClasses.FOCUSED);\r\n this.layout();\r\n\r\n this.adapter.activateBottomLine();\r\n }\r\n\r\n /**\r\n * Handles blur events from select element.\r\n */\r\n handleBlur() {\r\n if (this.isMenuOpen) {\r\n return;\r\n }\r\n this.blur();\r\n }\r\n\r\n handleClick(normalizedX: number) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (this.isMenuOpen) {\r\n this.adapter.closeMenu();\r\n return;\r\n }\r\n\r\n this.adapter.setRippleCenter(normalizedX);\r\n\r\n this.openMenu();\r\n }\r\n\r\n /**\r\n * Handles keydown events on select element. Depending on the type of\r\n * character typed, does typeahead matching or opens menu.\r\n */\r\n handleKeydown(event: KeyboardEvent) {\r\n if (this.isMenuOpen || !this.adapter.hasClass(cssClasses.FOCUSED)) {\r\n return;\r\n }\r\n\r\n const isEnter = normalizeKey(event) === KEY.ENTER;\r\n const isSpace = normalizeKey(event) === KEY.SPACEBAR;\r\n const arrowUp = normalizeKey(event) === KEY.ARROW_UP;\r\n const arrowDown = normalizeKey(event) === KEY.ARROW_DOWN;\r\n\r\n // Typeahead\r\n if (!isSpace && event.key && event.key.length === 1 ||\r\n isSpace && this.adapter.isTypeaheadInProgress()) {\r\n const key = isSpace ? ' ' : event.key;\r\n const typeaheadNextIndex =\r\n this.adapter.typeaheadMatchItem(key, this.getSelectedIndex());\r\n if (typeaheadNextIndex >= 0) {\r\n this.setSelectedIndex(typeaheadNextIndex);\r\n }\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (!isEnter && !isSpace && !arrowUp && !arrowDown) {\r\n return;\r\n }\r\n\r\n // Increment/decrement index as necessary and open menu.\r\n if (arrowUp && this.getSelectedIndex() > 0) {\r\n this.setSelectedIndex(this.getSelectedIndex() - 1);\r\n } else if (\r\n arrowDown &&\r\n this.getSelectedIndex() < this.adapter.getMenuItemCount() - 1) {\r\n this.setSelectedIndex(this.getSelectedIndex() + 1);\r\n }\r\n\r\n this.openMenu();\r\n event.preventDefault();\r\n }\r\n\r\n /**\r\n * Opens/closes the notched outline.\r\n */\r\n notchOutline(openNotch: boolean) {\r\n if (!this.adapter.hasOutline()) {\r\n return;\r\n }\r\n const isFocused = this.adapter.hasClass(cssClasses.FOCUSED);\r\n\r\n if (openNotch) {\r\n const labelScale = numbers.LABEL_SCALE;\r\n const labelWidth = this.adapter.getLabelWidth() * labelScale;\r\n this.adapter.notchOutline(labelWidth);\r\n } else if (!isFocused) {\r\n this.adapter.closeOutline();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the aria label of the leading icon.\r\n */\r\n setLeadingIconAriaLabel(label: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setAriaLabel(label);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the text content of the leading icon.\r\n */\r\n setLeadingIconContent(content: string) {\r\n if (this.leadingIcon) {\r\n this.leadingIcon.setContent(content);\r\n }\r\n }\r\n\r\n setUseDefaultValidation(useDefaultValidation: boolean) {\r\n this.useDefaultValidation = useDefaultValidation;\r\n }\r\n\r\n setValid(isValid: boolean) {\r\n if (!this.useDefaultValidation) {\r\n this.customValidity = isValid;\r\n }\r\n\r\n this.adapter.setSelectAnchorAttr('aria-invalid', (!isValid).toString());\r\n if (isValid) {\r\n this.adapter.removeClass(cssClasses.INVALID);\r\n this.adapter.removeMenuClass(cssClasses.MENU_INVALID);\r\n } else {\r\n this.adapter.addClass(cssClasses.INVALID);\r\n this.adapter.addMenuClass(cssClasses.MENU_INVALID);\r\n }\r\n\r\n this.syncHelperTextValidity(isValid);\r\n }\r\n\r\n isValid() {\r\n if (this.useDefaultValidation &&\r\n this.adapter.hasClass(cssClasses.REQUIRED) &&\r\n !this.adapter.hasClass(cssClasses.DISABLED)) {\r\n // See notes for required attribute under https://www.w3.org/TR/html52/sec-forms.html#the-select-element\r\n // TL;DR: Invalid if no index is selected, or if the first index is selected and has an empty value.\r\n return this.getSelectedIndex() !== numbers.UNSET_INDEX &&\r\n (this.getSelectedIndex() !== 0 || Boolean(this.getValue()));\r\n }\r\n return this.customValidity;\r\n }\r\n\r\n setRequired(isRequired: boolean) {\r\n if (isRequired) {\r\n this.adapter.addClass(cssClasses.REQUIRED);\r\n } else {\r\n this.adapter.removeClass(cssClasses.REQUIRED);\r\n }\r\n this.adapter.setSelectAnchorAttr('aria-required', isRequired.toString());\r\n this.adapter.setLabelRequired(isRequired);\r\n }\r\n\r\n getRequired() {\r\n return this.adapter.getSelectAnchorAttr('aria-required') === 'true';\r\n }\r\n\r\n init() {\r\n const anchorEl = this.adapter.getAnchorElement();\r\n if (anchorEl) {\r\n this.adapter.setMenuAnchorElement(anchorEl);\r\n this.adapter.setMenuAnchorCorner(Corner.BOTTOM_START);\r\n }\r\n this.adapter.setMenuWrapFocus(false);\r\n\r\n this.setDisabled(this.adapter.hasClass(cssClasses.DISABLED));\r\n this.syncHelperTextValidity(!this.adapter.hasClass(cssClasses.INVALID));\r\n this.layout();\r\n this.layoutOptions();\r\n }\r\n\r\n /**\r\n * Unfocuses the select component.\r\n */\r\n private blur() {\r\n this.adapter.removeClass(cssClasses.FOCUSED);\r\n this.layout();\r\n this.adapter.deactivateBottomLine();\r\n\r\n const isRequired = this.adapter.hasClass(cssClasses.REQUIRED);\r\n if (isRequired && this.useDefaultValidation) {\r\n this.setValid(this.isValid());\r\n }\r\n }\r\n\r\n private syncHelperTextValidity(isValid: boolean) {\r\n if (!this.helperText) {\r\n return;\r\n }\r\n\r\n this.helperText.setValidity(isValid);\r\n\r\n const helperTextVisible = this.helperText.isVisible();\r\n const helperTextId = this.helperText.getId();\r\n\r\n if (helperTextVisible && helperTextId) {\r\n this.adapter.setSelectAnchorAttr(strings.ARIA_DESCRIBEDBY, helperTextId);\r\n } else {\r\n // Needed because screenreaders will read labels pointed to by\r\n // `aria-describedby` even if they are `aria-hidden`.\r\n this.adapter.removeSelectAnchorAttr(strings.ARIA_DESCRIBEDBY);\r\n }\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCSelectFoundationAurelia;\r\n"]}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const aurelia_1 = require("aurelia");
|
|
8
|
-
const mdc_select_helper_text_html_raw_1 = tslib_1.__importDefault(require("./mdc-select-helper-text.html?raw"));
|
|
9
|
-
exports.mdcHelperTextCssClasses = {
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { MdcComponent, booleanAttr } from '../../base';
|
|
3
|
+
import { helperTextCssClasses, MDCSelectHelperTextFoundation } from '@material/select';
|
|
4
|
+
import { customElement, inject, bindable } from 'aurelia';
|
|
5
|
+
import template from './mdc-select-helper-text.html?raw';
|
|
6
|
+
export const mdcHelperTextCssClasses = {
|
|
10
7
|
ROOT: 'mdc-select-helper-text'
|
|
11
8
|
};
|
|
12
9
|
let MdcSelectHelperText = (() => {
|
|
13
|
-
let _classDecorators = [
|
|
10
|
+
let _classDecorators = [inject(Element), customElement({ name: 'mdc-select-helper-text', template })];
|
|
14
11
|
let _classDescriptor;
|
|
15
12
|
let _classExtraInitializers = [];
|
|
16
13
|
let _classThis;
|
|
17
|
-
let _classSuper =
|
|
14
|
+
let _classSuper = MdcComponent;
|
|
18
15
|
let _persistent_decorators;
|
|
19
16
|
let _persistent_initializers = [];
|
|
20
17
|
let _persistent_extraInitializers = [];
|
|
@@ -28,22 +25,22 @@ let MdcSelectHelperText = (() => {
|
|
|
28
25
|
static { _classThis = this; }
|
|
29
26
|
static {
|
|
30
27
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
31
|
-
_persistent_decorators = [
|
|
32
|
-
_validation_decorators = [
|
|
33
|
-
_errors_decorators = [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
_persistent_decorators = [bindable({ set: booleanAttr })];
|
|
29
|
+
_validation_decorators = [bindable({ set: booleanAttr })];
|
|
30
|
+
_errors_decorators = [bindable()];
|
|
31
|
+
__esDecorate(null, null, _persistent_decorators, { kind: "field", name: "persistent", static: false, private: false, access: { has: obj => "persistent" in obj, get: obj => obj.persistent, set: (obj, value) => { obj.persistent = value; } }, metadata: _metadata }, _persistent_initializers, _persistent_extraInitializers);
|
|
32
|
+
__esDecorate(null, null, _validation_decorators, { kind: "field", name: "validation", static: false, private: false, access: { has: obj => "validation" in obj, get: obj => obj.validation, set: (obj, value) => { obj.validation = value; } }, metadata: _metadata }, _validation_initializers, _validation_extraInitializers);
|
|
33
|
+
__esDecorate(null, null, _errors_decorators, { kind: "field", name: "errors", static: false, private: false, access: { has: obj => "errors" in obj, get: obj => obj.errors, set: (obj, value) => { obj.errors = value; } }, metadata: _metadata }, _errors_initializers, _errors_extraInitializers);
|
|
34
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
38
35
|
MdcSelectHelperText = _classThis = _classDescriptor.value;
|
|
39
36
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
40
|
-
|
|
37
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
41
38
|
}
|
|
42
|
-
helperTextCssClasses =
|
|
43
|
-
ROOT =
|
|
44
|
-
persistent =
|
|
45
|
-
validation = (
|
|
46
|
-
errors = (
|
|
39
|
+
helperTextCssClasses = helperTextCssClasses;
|
|
40
|
+
ROOT = mdcHelperTextCssClasses.ROOT;
|
|
41
|
+
persistent = __runInitializers(this, _persistent_initializers, void 0);
|
|
42
|
+
validation = (__runInitializers(this, _persistent_extraInitializers), __runInitializers(this, _validation_initializers, void 0));
|
|
43
|
+
errors = (__runInitializers(this, _validation_extraInitializers), __runInitializers(this, _errors_initializers, void 0));
|
|
47
44
|
// Provided for access by MDCTextField component
|
|
48
45
|
get foundationForTextField() {
|
|
49
46
|
return this.foundation;
|
|
@@ -62,14 +59,14 @@ let MdcSelectHelperText = (() => {
|
|
|
62
59
|
this.root.textContent = content;
|
|
63
60
|
},
|
|
64
61
|
};
|
|
65
|
-
return new
|
|
62
|
+
return new MDCSelectHelperTextFoundation(adapter);
|
|
66
63
|
}
|
|
67
64
|
constructor() {
|
|
68
65
|
super(...arguments);
|
|
69
|
-
|
|
66
|
+
__runInitializers(this, _errors_extraInitializers);
|
|
70
67
|
}
|
|
71
68
|
};
|
|
72
69
|
return MdcSelectHelperText = _classThis;
|
|
73
70
|
})();
|
|
74
|
-
|
|
71
|
+
export { MdcSelectHelperText };
|
|
75
72
|
//# sourceMappingURL=mdc-select-helper-text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-select-helper-text.js","sourceRoot":"","sources":["../../../src/select/mdc-select-helper-text/mdc-select-helper-text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mdc-select-helper-text.js","sourceRoot":"","sources":["../../../src/select/mdc-select-helper-text/mdc-select-helper-text.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAA8B,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,wBAAwB;CAC/B,CAAC;IAIW,mBAAmB;4BAF/B,MAAM,CAAC,OAAO,CAAC,EACf,aAAa,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,CAAC;;;;sBACnB,YAAY;;;;;;;;;;mCAApB,SAAQ,WAA2C;;;;sCAIjF,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;sCAG9B,QAAQ,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;kCAG9B,QAAQ,EAAE;YALX,gLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,gLAAA,UAAU,6BAAV,UAAU,+FAAU;YAGpB,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAXnB,6KAkCC;;;YAlCY,uDAAmB;;QAC9B,oBAAoB,GAAG,oBAAoB,CAAC;QAC5C,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC;QAGpC,UAAU,6DAAU;QAGpB,UAAU,uHAAU;QAGpB,MAAM,mHAAW;QAEjB,gDAAgD;QAChD,IAAI,sBAAsB;YACxB,OAAO,IAAI,CAAC,UAAW,CAAC;QAC1B,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAA+B;gBAC1C,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC3D,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBACjE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACrD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,CAAC;aACF,CAAC;YACF,OAAO,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;;;;;;;;SAjCU,mBAAmB","sourcesContent":["import { MdcComponent, booleanAttr } from '../../base';\r\nimport { helperTextCssClasses, MDCSelectHelperTextFoundation, MDCSelectHelperTextAdapter } from '@material/select';\r\nimport { customElement, inject, bindable } from 'aurelia';\r\nimport template from './mdc-select-helper-text.html?raw';\r\n\r\nexport const mdcHelperTextCssClasses = {\r\n ROOT: 'mdc-select-helper-text'\r\n};\r\n\r\n@inject(Element)\r\n@customElement({ name: 'mdc-select-helper-text', template })\r\nexport class MdcSelectHelperText extends MdcComponent<MDCSelectHelperTextFoundation> {\r\n helperTextCssClasses = helperTextCssClasses;\r\n ROOT = mdcHelperTextCssClasses.ROOT;\r\n\r\n @bindable({ set: booleanAttr })\r\n persistent: boolean;\r\n\r\n @bindable({ set: booleanAttr })\r\n validation: boolean;\r\n\r\n @bindable()\r\n errors: string[];\r\n\r\n // Provided for access by MDCTextField component\r\n get foundationForTextField(): MDCSelectHelperTextFoundation {\r\n return this.foundation!;\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCSelectHelperTextAdapter = {\r\n addClass: (className) => this.root.classList.add(className),\r\n removeClass: (className) => this.root.classList.remove(className),\r\n hasClass: (className) => this.root.classList.contains(className),\r\n getAttr: (attr) => this.root.getAttribute(attr),\r\n setAttr: (attr, value) => this.root.setAttribute(attr, value),\r\n removeAttr: (attr) => this.root.removeAttribute(attr),\r\n setContent: (content) => {\r\n this.root.textContent = content;\r\n },\r\n };\r\n return new MDCSelectHelperTextFoundation(adapter);\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectHelperTextElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-element': {\r\n viewModel: MdcSelectHelperText;\r\n };\r\n };\r\n}\r\n"]}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const select_1 = require("@material/select");
|
|
7
|
-
const aurelia_1 = require("aurelia");
|
|
8
|
-
exports.mdcIconStrings = {
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { MdcComponent } from '../base';
|
|
3
|
+
import { MDCSelectIconFoundation, strings } from '@material/select';
|
|
4
|
+
import { inject, customAttribute } from 'aurelia';
|
|
5
|
+
export const mdcIconStrings = {
|
|
9
6
|
ATTRIBUTE: 'mdc-select-icon'
|
|
10
7
|
};
|
|
11
8
|
let MdcSelectIcon = (() => {
|
|
12
|
-
let _classDecorators = [
|
|
9
|
+
let _classDecorators = [inject(Element), customAttribute(mdcIconStrings.ATTRIBUTE)];
|
|
13
10
|
let _classDescriptor;
|
|
14
11
|
let _classExtraInitializers = [];
|
|
15
12
|
let _classThis;
|
|
16
|
-
let _classSuper =
|
|
13
|
+
let _classSuper = MdcComponent;
|
|
17
14
|
var MdcSelectIcon = class extends _classSuper {
|
|
18
15
|
static { _classThis = this; }
|
|
19
16
|
static {
|
|
20
17
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
21
|
-
|
|
18
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
22
19
|
MdcSelectIcon = _classThis = _classDescriptor.value;
|
|
23
20
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
24
|
-
|
|
21
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
25
22
|
}
|
|
26
23
|
attaching() {
|
|
27
|
-
this.root.classList.add(
|
|
24
|
+
this.root.classList.add(strings.LEADING_ICON_SELECTOR.replace('.', ''));
|
|
28
25
|
}
|
|
29
26
|
getDefaultFoundation() {
|
|
30
27
|
// DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.
|
|
@@ -38,12 +35,12 @@ let MdcSelectIcon = (() => {
|
|
|
38
35
|
},
|
|
39
36
|
registerInteractionHandler: (evtType, handler) => this.listen(evtType, handler),
|
|
40
37
|
deregisterInteractionHandler: (evtType, handler) => this.unlisten(evtType, handler),
|
|
41
|
-
notifyIconAction: () => this.emit(
|
|
38
|
+
notifyIconAction: () => this.emit(MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),
|
|
42
39
|
};
|
|
43
|
-
return new
|
|
40
|
+
return new MDCSelectIconFoundation(adapter);
|
|
44
41
|
}
|
|
45
42
|
};
|
|
46
43
|
return MdcSelectIcon = _classThis;
|
|
47
44
|
})();
|
|
48
|
-
|
|
45
|
+
export { MdcSelectIcon };
|
|
49
46
|
//# sourceMappingURL=mdc-select-icon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-select-icon.js","sourceRoot":"","sources":["../../src/select/mdc-select-icon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mdc-select-icon.js","sourceRoot":"","sources":["../../src/select/mdc-select-icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAwB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;IAIW,aAAa;4BAFzB,MAAM,CAAC,OAAO,CAAC,EACf,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC;;;;sBACP,YAAY;6BAApB,SAAQ,WAAqC;;;;YAAxE,6KAqBC;;;YArBY,uDAAa;;QACxB,SAAS;YACP,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,oBAAoB;YAClB,sGAAsG;YACtG,yGAAyG;YACzG,MAAM,OAAO,GAAyB;gBACpC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACrD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,CAAC;gBACD,0BAA0B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC/E,4BAA4B,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBACnF,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;aACzH,CAAC;YACF,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;;;;SApBU,aAAa","sourcesContent":["import { MdcComponent } from '../base';\r\nimport { MDCSelectIconFoundation, MDCSelectIconAdapter, strings } from '@material/select';\r\nimport { inject, customAttribute } from 'aurelia';\r\n\r\nexport const mdcIconStrings = {\r\n ATTRIBUTE: 'mdc-select-icon'\r\n};\r\n\r\n@inject(Element)\r\n@customAttribute(mdcIconStrings.ATTRIBUTE)\r\nexport class MdcSelectIcon extends MdcComponent<MDCSelectIconFoundation> {\r\n attaching() {\r\n this.root.classList.add(strings.LEADING_ICON_SELECTOR.replace('.', ''));\r\n }\r\n\r\n getDefaultFoundation() {\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n const adapter: MDCSelectIconAdapter = {\r\n getAttr: (attr) => this.root.getAttribute(attr),\r\n setAttr: (attr, value) => this.root.setAttribute(attr, value),\r\n removeAttr: (attr) => this.root.removeAttribute(attr),\r\n setContent: (content) => {\r\n this.root.textContent = content;\r\n },\r\n registerInteractionHandler: (evtType, handler) => this.listen(evtType, handler),\r\n deregisterInteractionHandler: (evtType, handler) => this.unlisten(evtType, handler),\r\n notifyIconAction: () => this.emit(MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),\r\n };\r\n return new MDCSelectIconFoundation(adapter);\r\n }\r\n}\r\n\r\n/** @hidden */\r\nexport interface IMdcSelectIconElement extends HTMLElement {\r\n $au: {\r\n 'au:resource:custom-attribute:mdc-select-icon': {\r\n viewModel: MdcSelectIcon;\r\n };\r\n };\r\n}\r\n"]}
|