@aurelia-mdc-web/all 9.3.1-au2 → 9.3.3-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 +15 -0
- package/dist/alert/alert-configuration.js.map +1 -0
- package/dist/alert/alert-modal/alert-modal.html +27 -0
- package/dist/alert/alert-modal/alert-modal.js +30 -0
- package/dist/alert/alert-modal/alert-modal.js.map +1 -0
- package/dist/alert/alert-modal/i-alert-modal-payload.js +14 -0
- package/dist/alert/alert-modal/i-alert-modal-payload.js.map +1 -0
- package/dist/alert/alert-service.js +106 -0
- package/dist/alert/alert-service.js.map +1 -0
- package/dist/alert/decorators/confirm-action.js +17 -0
- package/dist/alert/decorators/confirm-action.js.map +1 -0
- package/dist/alert/decorators/using-progress.js +27 -0
- package/dist/alert/decorators/using-progress.js.map +1 -0
- package/dist/alert/exceptions-tracker.js +8 -0
- package/dist/alert/exceptions-tracker.js.map +1 -0
- package/dist/alert/global-progress/global-progress.html +9 -0
- package/dist/alert/global-progress/global-progress.js +64 -0
- package/dist/alert/global-progress/global-progress.js.map +1 -0
- package/dist/alert/prompt-dialog/prompt-dialog.html +15 -0
- package/dist/alert/prompt-dialog/prompt-dialog.js +44 -0
- package/dist/alert/prompt-dialog/prompt-dialog.js.map +1 -0
- package/dist/banner/mdc-banner.html +21 -21
- package/dist/banner/mdc-banner.js +45 -42
- package/dist/banner/mdc-banner.js.map +1 -1
- package/dist/base/attributes/mdc-focus-trap.js +25 -22
- package/dist/base/attributes/mdc-focus-trap.js.map +1 -1
- package/dist/base/elements/i-validated-element.js +2 -1
- package/dist/base/elements/i-validated-element.js.map +1 -1
- package/dist/base/elements/mdc-promisify-reference.js +16 -13
- package/dist/base/elements/mdc-promisify-reference.js.map +1 -1
- package/dist/base/index.js +21 -9
- package/dist/base/index.js.map +1 -1
- package/dist/base/interceptors.js +12 -5
- package/dist/base/interceptors.js.map +1 -1
- package/dist/base/material-palette.js +4 -1
- package/dist/base/material-palette.js.map +1 -1
- package/dist/base/mdc-component.js +5 -1
- package/dist/base/mdc-component.js.map +1 -1
- package/dist/base/next-element.js +4 -1
- package/dist/base/next-element.js.map +1 -1
- package/dist/button/enhance-mdc-button.js +9 -6
- package/dist/button/enhance-mdc-button.js.map +1 -1
- package/dist/button/mdc-button-label.js +9 -6
- package/dist/button/mdc-button-label.js.map +1 -1
- package/dist/button/mdc-button.html +12 -12
- package/dist/button/mdc-button.js +30 -27
- package/dist/button/mdc-button.js.map +1 -1
- package/dist/card/mdc-card-action-buttons.js +9 -6
- package/dist/card/mdc-card-action-buttons.js.map +1 -1
- package/dist/card/mdc-card-action-icons.js +9 -6
- package/dist/card/mdc-card-action-icons.js.map +1 -1
- package/dist/card/mdc-card-actions/mdc-card-actions.html +3 -3
- package/dist/card/mdc-card-actions/mdc-card-actions.js +15 -12
- package/dist/card/mdc-card-actions/mdc-card-actions.js.map +1 -1
- package/dist/card/mdc-card-media/mdc-card-media.html +5 -5
- package/dist/card/mdc-card-media/mdc-card-media.js +18 -15
- package/dist/card/mdc-card-media/mdc-card-media.js.map +1 -1
- package/dist/card/mdc-card-primary-action.html +5 -5
- package/dist/card/mdc-card-primary-action.js +15 -12
- package/dist/card/mdc-card-primary-action.js.map +1 -1
- package/dist/card/mdc-card.html +3 -3
- package/dist/card/mdc-card.js +15 -12
- package/dist/card/mdc-card.js.map +1 -1
- package/dist/checkbox/mdc-checkbox.html +12 -12
- package/dist/checkbox/mdc-checkbox.js +38 -35
- package/dist/checkbox/mdc-checkbox.js.map +1 -1
- package/dist/chips/mdc-chip/mdc-chip.html +24 -24
- package/dist/chips/mdc-chip/mdc-chip.js +37 -34
- package/dist/chips/mdc-chip/mdc-chip.js.map +1 -1
- package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js +9 -6
- package/dist/chips/mdc-chip-action/enhance-mdc-chip-action.js.map +1 -1
- package/dist/chips/mdc-chip-action/mdc-chip-action.html +25 -25
- package/dist/chips/mdc-chip-action/mdc-chip-action.js +40 -37
- package/dist/chips/mdc-chip-action/mdc-chip-action.js.map +1 -1
- package/dist/chips/mdc-chip-set/mdc-chip-set.html +10 -10
- package/dist/chips/mdc-chip-set/mdc-chip-set.js +27 -24
- package/dist/chips/mdc-chip-set/mdc-chip-set.js.map +1 -1
- package/dist/circular-progress/mdc-circular-progress.html +38 -38
- package/dist/circular-progress/mdc-circular-progress.js +25 -22
- package/dist/circular-progress/mdc-circular-progress.js.map +1 -1
- package/dist/data-table/mdc-data-table-row.js +13 -10
- package/dist/data-table/mdc-data-table-row.js.map +1 -1
- package/dist/data-table/mdc-data-table.html +50 -49
- package/dist/data-table/mdc-data-table.js +183 -91
- package/dist/data-table/mdc-data-table.js.map +1 -1
- package/dist/dialog/mdc-dialog-actions.js +13 -10
- package/dist/dialog/mdc-dialog-actions.js.map +1 -1
- package/dist/dialog/mdc-dialog-content.js +9 -6
- package/dist/dialog/mdc-dialog-content.js.map +1 -1
- package/dist/dialog/mdc-dialog-service.js +20 -13
- package/dist/dialog/mdc-dialog-service.js.map +1 -1
- package/dist/dialog/mdc-dialog-title.js +9 -6
- package/dist/dialog/mdc-dialog-title.js.map +1 -1
- package/dist/dialog/mdc-dialog.html +14 -14
- package/dist/dialog/mdc-dialog.js +49 -46
- package/dist/dialog/mdc-dialog.js.map +1 -1
- package/dist/drawer/mdc-drawer-app-content.js +9 -6
- package/dist/drawer/mdc-drawer-app-content.js.map +1 -1
- package/dist/drawer/mdc-drawer-content.js +9 -6
- package/dist/drawer/mdc-drawer-content.js.map +1 -1
- package/dist/drawer/mdc-drawer-header/mdc-drawer-header.html +5 -5
- package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js +17 -14
- package/dist/drawer/mdc-drawer-header/mdc-drawer-header.js.map +1 -1
- package/dist/drawer/mdc-drawer.html +6 -6
- package/dist/drawer/mdc-drawer.js +24 -21
- package/dist/drawer/mdc-drawer.js.map +1 -1
- package/dist/elevation/mdc-elevation.js +9 -6
- package/dist/elevation/mdc-elevation.js.map +1 -1
- package/dist/expandable/mdc-expandable.html +28 -28
- package/dist/expandable/mdc-expandable.js +20 -17
- package/dist/expandable/mdc-expandable.js.map +1 -1
- package/dist/fab/enhance-mdc-fab.js +9 -6
- package/dist/fab/enhance-mdc-fab.js.map +1 -1
- package/dist/fab/mdc-fab-icon.js +9 -6
- package/dist/fab/mdc-fab-icon.js.map +1 -1
- package/dist/fab/mdc-fab.html +13 -13
- package/dist/fab/mdc-fab.js +33 -30
- package/dist/fab/mdc-fab.js.map +1 -1
- package/dist/floating-label/mdc-floating-label.html +1 -1
- package/dist/floating-label/mdc-floating-label.js +16 -13
- package/dist/floating-label/mdc-floating-label.js.map +1 -1
- package/dist/form-field/mdc-form-field.html +6 -6
- package/dist/form-field/mdc-form-field.js +27 -24
- package/dist/form-field/mdc-form-field.js.map +1 -1
- package/dist/icon/mdc-icon.html +3 -3
- package/dist/icon/mdc-icon.js +10 -7
- package/dist/icon/mdc-icon.js.map +1 -1
- package/dist/icon-button/enhance-mdc-icon-button.js +9 -6
- package/dist/icon-button/enhance-mdc-icon-button.js.map +1 -1
- package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.html +4 -4
- package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js +18 -15
- package/dist/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.js.map +1 -1
- package/dist/icon-button/mdc-icon-button.html +11 -11
- package/dist/icon-button/mdc-icon-button.js +28 -25
- package/dist/icon-button/mdc-icon-button.js.map +1 -1
- package/dist/image-list/mdc-image-list-item/mdc-image-list-item.html +9 -9
- package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js +22 -19
- package/dist/image-list/mdc-image-list-item/mdc-image-list-item.js.map +1 -1
- package/dist/image-list/mdc-image-list.html +7 -7
- package/dist/image-list/mdc-image-list.js +35 -32
- package/dist/image-list/mdc-image-list.js.map +1 -1
- package/dist/index.js +297 -139
- package/dist/index.js.map +1 -1
- package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.html +12 -12
- package/dist/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.js +36 -33
- 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 +9 -6
- package/dist/layout-grid/mdc-layout-grid-inner.js.map +1 -1
- package/dist/layout-grid/mdc-layout-grid.html +8 -8
- package/dist/layout-grid/mdc-layout-grid.js +33 -30
- package/dist/layout-grid/mdc-layout-grid.js.map +1 -1
- package/dist/line-ripple/mdc-line-ripple.js +13 -10
- package/dist/line-ripple/mdc-line-ripple.js.map +1 -1
- package/dist/linear-progress/mdc-linear-progress.html +12 -12
- package/dist/linear-progress/mdc-linear-progress.js +26 -23
- 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.html +4 -4
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.js +18 -15
- 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 +17 -14
- 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 +9 -6
- 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 +9 -6
- 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 +9 -6
- 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.html +8 -8
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.js +28 -25
- 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 +9 -6
- 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 +9 -6
- 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.html +15 -15
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js +78 -75
- package/dist/list/mdc-deprecated-list/mdc-deprecated-list.js.map +1 -1
- package/dist/list/mdc-list-divider/mdc-list-divider.html +7 -7
- package/dist/list/mdc-list-divider/mdc-list-divider.js +21 -18
- package/dist/list/mdc-list-divider/mdc-list-divider.js.map +1 -1
- package/dist/list/mdc-list-group.js +17 -14
- package/dist/list/mdc-list-group.js.map +1 -1
- package/dist/list/mdc-list-item/enhance-mdc-list-item.js +9 -6
- 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 +9 -6
- 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 +9 -6
- package/dist/list/mdc-list-item/mdc-list-item-trailing.js.map +1 -1
- package/dist/list/mdc-list-item/mdc-list-item.html +13 -13
- package/dist/list/mdc-list-item/mdc-list-item.js +40 -37
- package/dist/list/mdc-list-item/mdc-list-item.js.map +1 -1
- package/dist/list/mdc-list-item-overline-text.js +9 -6
- package/dist/list/mdc-list-item-overline-text.js.map +1 -1
- package/dist/list/mdc-list-item-primary-text.js +9 -6
- package/dist/list/mdc-list-item-primary-text.js.map +1 -1
- package/dist/list/mdc-list-item-secondary-text.js +9 -6
- package/dist/list/mdc-list-item-secondary-text.js.map +1 -1
- package/dist/list/mdc-list.html +5 -5
- package/dist/list/mdc-list.js +58 -55
- package/dist/list/mdc-list.js.map +1 -1
- package/dist/lookup/discardable-promise.js +5 -1
- package/dist/lookup/discardable-promise.js.map +1 -1
- package/dist/lookup/mdc-lookup-configuration.js +5 -1
- package/dist/lookup/mdc-lookup-configuration.js.map +1 -1
- package/dist/lookup/mdc-lookup.html +27 -27
- package/dist/lookup/mdc-lookup.js +74 -71
- package/dist/lookup/mdc-lookup.js.map +1 -1
- package/dist/mdc-configuration.js +15 -9
- package/dist/mdc-configuration.js.map +1 -1
- package/dist/menu/mdc-menu-selection-group-icon.js +9 -6
- package/dist/menu/mdc-menu-selection-group-icon.js.map +1 -1
- package/dist/menu/mdc-menu-selection-group.js +9 -6
- package/dist/menu/mdc-menu-selection-group.js.map +1 -1
- package/dist/menu/mdc-menu.html +6 -6
- package/dist/menu/mdc-menu.js +71 -68
- package/dist/menu/mdc-menu.js.map +1 -1
- package/dist/menu-surface/mdc-menu-surface-anchor.js +11 -8
- package/dist/menu-surface/mdc-menu-surface-anchor.js.map +1 -1
- package/dist/menu-surface/mdc-menu-surface.js +61 -58
- package/dist/menu-surface/mdc-menu-surface.js.map +1 -1
- package/dist/notched-outline/mdc-notched-outline.html +7 -7
- package/dist/notched-outline/mdc-notched-outline.js +20 -17
- package/dist/notched-outline/mdc-notched-outline.js.map +1 -1
- package/dist/radio/mdc-radio.html +9 -9
- package/dist/radio/mdc-radio.js +27 -24
- package/dist/radio/mdc-radio.js.map +1 -1
- package/dist/ripple/mdc-ripple.js +51 -48
- package/dist/ripple/mdc-ripple.js.map +1 -1
- package/dist/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.js +9 -6
- 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.html +11 -11
- package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js +27 -24
- package/dist/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.js.map +1 -1
- package/dist/segmented-button/mdc-segmented-button.html +3 -3
- package/dist/segmented-button/mdc-segmented-button.js +24 -21
- package/dist/segmented-button/mdc-segmented-button.js.map +1 -1
- package/dist/select/mdc-default-select-configuration.js +5 -1
- package/dist/select/mdc-default-select-configuration.js.map +1 -1
- package/dist/select/mdc-select-adapter-aurelia.js +2 -1
- package/dist/select/mdc-select-adapter-aurelia.js.map +1 -1
- package/dist/select/mdc-select-foundation-aurelia.js +47 -43
- package/dist/select/mdc-select-foundation-aurelia.js.map +1 -1
- package/dist/select/mdc-select-helper-text/mdc-select-helper-text.html +7 -7
- package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js +27 -24
- package/dist/select/mdc-select-helper-text/mdc-select-helper-text.js.map +1 -1
- package/dist/select/mdc-select-icon.js +16 -13
- package/dist/select/mdc-select-icon.js.map +1 -1
- package/dist/select/mdc-select-value-observer.js +16 -12
- package/dist/select/mdc-select-value-observer.js.map +1 -1
- package/dist/select/mdc-select.html +38 -38
- package/dist/select/mdc-select.js +71 -68
- package/dist/select/mdc-select.js.map +1 -1
- package/dist/slider/mdc-slider-foundation-aurelia.js +6 -2
- package/dist/slider/mdc-slider-foundation-aurelia.js.map +1 -1
- package/dist/slider/mdc-slider.html +36 -36
- package/dist/slider/mdc-slider.js +79 -76
- package/dist/slider/mdc-slider.js.map +1 -1
- package/dist/snackbar/mdc-snackbar-service.js +8 -4
- package/dist/snackbar/mdc-snackbar-service.js.map +1 -1
- package/dist/snackbar/mdc-snackbar.html +14 -14
- package/dist/snackbar/mdc-snackbar.js +55 -52
- package/dist/snackbar/mdc-snackbar.js.map +1 -1
- package/dist/switch/enhance-mdc-switch.js +9 -6
- package/dist/switch/enhance-mdc-switch.js.map +1 -1
- package/dist/switch/mdc-switch.html +21 -21
- package/dist/switch/mdc-switch.js +16 -13
- package/dist/switch/mdc-switch.js.map +1 -1
- package/dist/tab-bar/indicator/mdc-tab-indicator.html +9 -9
- package/dist/tab-bar/indicator/mdc-tab-indicator.js +26 -23
- package/dist/tab-bar/indicator/mdc-tab-indicator.js.map +1 -1
- package/dist/tab-bar/mdc-tab-bar.html +6 -6
- package/dist/tab-bar/mdc-tab-bar.js +29 -26
- package/dist/tab-bar/mdc-tab-bar.js.map +1 -1
- package/dist/tab-bar/scroller/mdc-tab-scroller.html +11 -11
- package/dist/tab-bar/scroller/mdc-tab-scroller.js +25 -22
- package/dist/tab-bar/scroller/mdc-tab-scroller.js.map +1 -1
- package/dist/tab-bar/tab/mdc-tab.html +20 -20
- package/dist/tab-bar/tab/mdc-tab.js +44 -41
- package/dist/tab-bar/tab/mdc-tab.js.map +1 -1
- package/dist/text-field/enhance-mdc-text-field.js +9 -6
- package/dist/text-field/enhance-mdc-text-field.js.map +1 -1
- package/dist/text-field/mdc-default-text-field-configuration.js +5 -1
- package/dist/text-field/mdc-default-text-field-configuration.js.map +1 -1
- package/dist/text-field/mdc-inputmask.js +76 -0
- package/dist/text-field/mdc-inputmask.js.map +1 -0
- package/dist/text-field/mdc-text-field-character-counter.js +13 -10
- 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.html +7 -7
- package/dist/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.js +14 -11
- 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.html +6 -6
- package/dist/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.js +22 -19
- 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 +22 -19
- package/dist/text-field/mdc-text-field-icon.js.map +1 -1
- package/dist/text-field/mdc-text-field.html +29 -29
- package/dist/text-field/mdc-text-field.js +116 -113
- package/dist/text-field/mdc-text-field.js.map +1 -1
- package/dist/tooltip/mdc-default-tooltip-configuration.js +5 -1
- package/dist/tooltip/mdc-default-tooltip-configuration.js.map +1 -1
- package/dist/tooltip/mdc-tooltip-attribute.js +39 -36
- package/dist/tooltip/mdc-tooltip-attribute.js.map +1 -1
- package/dist/tooltip/mdc-tooltip.html +7 -7
- package/dist/tooltip/mdc-tooltip.js +66 -63
- package/dist/tooltip/mdc-tooltip.js.map +1 -1
- package/dist/top-app-bar/enhance-top-app-bar-actions.js +9 -6
- 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 +9 -6
- 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 +9 -6
- 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 +9 -6
- 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 +9 -6
- 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.html +3 -3
- package/dist/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.js +15 -12
- 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 +9 -6
- package/dist/top-app-bar/mdc-top-app-bar-title.js.map +1 -1
- package/dist/top-app-bar/mdc-top-app-bar.html +9 -9
- package/dist/top-app-bar/mdc-top-app-bar.js +43 -40
- package/dist/top-app-bar/mdc-top-app-bar.js.map +1 -1
- package/dist/tree-view/i-tree-node.js +2 -1
- package/dist/tree-view/i-tree-node.js.map +1 -1
- package/dist/tree-view/mdc-tree-node-meta.js +9 -6
- package/dist/tree-view/mdc-tree-node-meta.js.map +1 -1
- package/dist/tree-view/mdc-tree-node.js +9 -6
- package/dist/tree-view/mdc-tree-node.js.map +1 -1
- package/dist/tree-view/mdc-tree-view.js +29 -25
- package/dist/tree-view/mdc-tree-view.js.map +1 -1
- package/dist/tree-view/node-filter.js +9 -6
- package/dist/tree-view/node-filter.js.map +1 -1
- package/dist/types/alert/alert-configuration.d.ts +8 -0
- package/dist/types/alert/alert-modal/alert-modal.d.ts +6 -0
- package/dist/types/alert/alert-modal/i-alert-modal-payload.d.ts +9 -0
- package/dist/types/alert/alert-service.d.ts +27 -0
- package/dist/types/alert/decorators/confirm-action.d.ts +3 -0
- package/dist/types/alert/decorators/using-progress.d.ts +6 -0
- package/dist/types/alert/exceptions-tracker.d.ts +3 -0
- package/dist/types/alert/global-progress/global-progress.d.ts +11 -0
- package/dist/types/alert/prompt-dialog/prompt-dialog.d.ts +21 -0
- package/dist/types/data-table/mdc-data-table.d.ts +16 -4
- package/dist/types/index.d.ts +11 -1
- package/dist/types/lookup/mdc-lookup.d.ts +3 -3
- package/dist/types/mdc-configuration.d.ts +2 -0
- package/dist/types/select/mdc-select.d.ts +3 -3
- package/dist/types/text-field/mdc-inputmask.d.ts +11 -0
- package/dist/types/text-field/mdc-text-field.d.ts +3 -3
- package/dist/types/tooltip/mdc-tooltip.d.ts +3 -3
- package/dist/types/validation/validate.d.ts +10 -0
- package/dist/typography/mdc-typography.js +60 -57
- package/dist/typography/mdc-typography.js.map +1 -1
- package/dist/validation/mdc-validation-controller-factory.js +10 -6
- package/dist/validation/mdc-validation-controller-factory.js.map +1 -1
- package/dist/validation/mdc-validation-result-presenter.js +5 -1
- package/dist/validation/mdc-validation-result-presenter.js.map +1 -1
- package/dist/validation/validate.js +27 -0
- package/dist/validation/validate.js.map +1 -0
- package/package.json +4 -2
- package/src/alert/alert-configuration.ts +11 -0
- package/src/alert/alert-modal/alert-modal.html +27 -0
- package/src/alert/alert-modal/alert-modal.scss +10 -0
- package/src/alert/alert-modal/alert-modal.ts +13 -0
- package/src/alert/alert-modal/i-alert-modal-payload.ts +9 -0
- package/src/alert/alert-service.ts +113 -0
- package/src/alert/decorators/confirm-action.ts +18 -0
- package/src/alert/decorators/using-progress.ts +30 -0
- package/src/alert/exceptions-tracker.ts +3 -0
- package/src/alert/global-progress/global-progress.html +9 -0
- package/src/alert/global-progress/global-progress.scss +38 -0
- package/src/alert/global-progress/global-progress.ts +27 -0
- package/src/alert/prompt-dialog/prompt-dialog.html +15 -0
- package/src/alert/prompt-dialog/prompt-dialog.ts +35 -0
- package/src/banner/mdc-banner.html +21 -21
- package/src/banner/mdc-banner.ts +116 -116
- package/src/base/attributes/mdc-focus-trap.ts +42 -42
- package/src/base/elements/i-validated-element.ts +12 -12
- package/src/base/elements/mdc-promisify-reference.ts +21 -21
- package/src/base/interceptors.ts +25 -25
- package/src/base/material-palette.md +7 -7
- package/src/base/material-palette.ts +22 -22
- package/src/base/mdc-component.ts +69 -69
- package/src/base/next-element.ts +39 -39
- package/src/button/enhance-mdc-button.ts +8 -8
- package/src/button/mdc-button-label.ts +15 -15
- package/src/button/mdc-button.html +12 -12
- package/src/button/mdc-button.ts +62 -62
- package/src/card/mdc-card-action-buttons.ts +19 -19
- package/src/card/mdc-card-action-icons.ts +19 -19
- package/src/card/mdc-card-actions/mdc-card-actions.html +3 -3
- package/src/card/mdc-card-actions/mdc-card-actions.ts +15 -15
- package/src/card/mdc-card-media/mdc-card-media.html +5 -5
- package/src/card/mdc-card-media/mdc-card-media.ts +21 -21
- package/src/card/mdc-card-primary-action.html +5 -5
- package/src/card/mdc-card-primary-action.ts +16 -16
- package/src/card/mdc-card.html +3 -3
- package/src/card/mdc-card.ts +16 -16
- package/src/checkbox/mdc-checkbox.html +12 -12
- package/src/checkbox/mdc-checkbox.ts +217 -217
- package/src/chips/mdc-chip/mdc-chip.html +24 -24
- package/src/chips/mdc-chip-action/enhance-mdc-chip-action.ts +8 -8
- package/src/chips/mdc-chip-action/mdc-chip-action.html +25 -25
- package/src/chips/mdc-chip-action/mdc-chip-action.ts +143 -143
- package/src/chips/mdc-chip-set/mdc-chip-set.html +10 -10
- package/src/chips/mdc-chip-set/mdc-chip-set.ts +117 -117
- package/src/circular-progress/mdc-circular-progress.html +38 -38
- package/src/circular-progress/mdc-circular-progress.ts +91 -91
- package/src/circular-progress/styles/_index.scss +1 -1
- package/src/circular-progress/styles/mdc-circular-progress.import.scss +1 -1
- package/src/circular-progress/styles/mdc-circular-progress.scss +14 -14
- package/src/data-table/mdc-data-table-row.ts +24 -24
- package/src/data-table/mdc-data-table.html +50 -49
- package/src/data-table/mdc-data-table.ts +111 -13
- package/src/data-table/styles/_index.scss +1 -0
- package/src/data-table/styles/mdc-data-table.import.scss +1 -0
- package/src/data-table/styles/mdc-data-table.scss +64 -0
- package/src/dialog/mdc-dialog-actions.ts +23 -23
- package/src/dialog/mdc-dialog-content.ts +11 -11
- package/src/dialog/mdc-dialog-service.ts +83 -80
- package/src/dialog/mdc-dialog-title.ts +8 -8
- package/src/dialog/mdc-dialog.html +14 -14
- package/src/dialog/mdc-dialog.ts +224 -224
- package/src/drawer/mdc-drawer-app-content.ts +11 -11
- package/src/drawer/mdc-drawer-content.ts +11 -11
- package/src/drawer/mdc-drawer-header/mdc-drawer-header.html +5 -5
- package/src/drawer/mdc-drawer-header/mdc-drawer-header.ts +18 -18
- package/src/drawer/mdc-drawer.html +6 -6
- package/src/drawer/mdc-drawer.ts +125 -125
- package/src/elevation/mdc-elevation.ts +23 -23
- package/src/expandable/mdc-expandable.html +28 -28
- package/src/expandable/styles/_icon-variables.scss +3 -3
- package/src/expandable/styles/_index.scss +1 -1
- package/src/expandable/styles/_mixins.scss +287 -287
- package/src/expandable/styles/_variables.scss +17 -17
- package/src/expandable/styles/mdc-expandable.import.scss +1 -1
- package/src/expandable/styles/mdc-expandable.scss +3 -3
- package/src/fab/enhance-mdc-fab.ts +8 -8
- package/src/fab/mdc-fab-icon.ts +15 -15
- package/src/fab/mdc-fab.html +13 -13
- package/src/fab/mdc-fab.ts +50 -50
- package/src/floating-label/mdc-floating-label.html +1 -1
- package/src/floating-label/mdc-floating-label.ts +44 -44
- package/src/form-field/mdc-form-field.html +6 -6
- package/src/icon/mdc-icon.html +3 -3
- package/src/icon/mdc-icon.ts +11 -11
- package/src/icon-button/enhance-mdc-icon-button.ts +8 -8
- package/src/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.html +4 -4
- package/src/icon-button/mdc-icon-button-icon/mdc-icon-button-icon.ts +29 -29
- package/src/icon-button/mdc-icon-button.html +11 -11
- package/src/icon-button/mdc-icon-button.ts +69 -69
- package/src/image-list/mdc-image-list-item/mdc-image-list-item.html +9 -9
- package/src/image-list/mdc-image-list-item/mdc-image-list-item.ts +31 -31
- package/src/image-list/mdc-image-list.html +7 -7
- package/src/image-list/mdc-image-list.ts +73 -73
- package/src/image-list/styles/_index.scss +1 -1
- package/src/image-list/styles/mdc-image-list.import.scss +1 -1
- package/src/image-list/styles/mdc-image-list.scss +7 -7
- package/src/index.ts +17 -3
- package/src/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.html +12 -12
- package/src/layout-grid/mdc-layout-grid-cell/mdc-layout-grid-cell.ts +49 -49
- package/src/layout-grid/mdc-layout-grid-inner.ts +8 -8
- package/src/layout-grid/mdc-layout-grid.html +8 -8
- package/src/layout-grid/mdc-layout-grid.ts +67 -67
- package/src/layout-grid/styles/_index.scss +1 -1
- package/src/layout-grid/styles/mdc-layout-grid.import.scss +1 -1
- package/src/layout-grid/styles/mdc-layout-grid.scss +11 -11
- package/src/line-ripple/mdc-line-ripple.ts +41 -41
- package/src/linear-progress/mdc-linear-progress.html +12 -12
- package/src/linear-progress/mdc-linear-progress.ts +103 -103
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.html +4 -4
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-divider/mdc-deprecated-list-divider.ts +18 -18
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-group.ts +27 -27
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/enhance-mdc-deprecated-list-item.ts +8 -8
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-graphic.ts +15 -15
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item-meta.ts +15 -15
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item/mdc-deprecated-list-item.html +8 -8
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item-primary-text.ts +11 -11
- package/src/list/mdc-deprecated-list/mdc-deprecated-list-item-secondary-text.ts +11 -11
- package/src/list/mdc-deprecated-list/mdc-deprecated-list.html +15 -15
- package/src/list/mdc-deprecated-list/mdc-deprecated-list.ts +331 -331
- package/src/list/mdc-list-divider/mdc-list-divider.html +7 -7
- package/src/list/mdc-list-divider/mdc-list-divider.ts +24 -24
- package/src/list/mdc-list-group.ts +27 -27
- package/src/list/mdc-list-item/enhance-mdc-list-item.ts +8 -8
- package/src/list/mdc-list-item/mdc-list-item-leading.ts +34 -34
- package/src/list/mdc-list-item/mdc-list-item-trailing.ts +36 -36
- package/src/list/mdc-list-item/mdc-list-item.html +13 -13
- package/src/list/mdc-list-item-overline-text.ts +8 -8
- package/src/list/mdc-list-item-primary-text.ts +11 -11
- package/src/list/mdc-list-item-secondary-text.ts +11 -11
- package/src/list/mdc-list.html +5 -5
- package/src/list/mdc-list.ts +300 -300
- package/src/lookup/discardable-promise.ts +24 -24
- package/src/lookup/mdc-lookup-configuration.ts +11 -11
- package/src/lookup/mdc-lookup.html +27 -27
- package/src/lookup/mdc-lookup.ts +5 -5
- package/src/mdc-configuration.ts +2 -0
- package/src/menu/mdc-menu-selection-group-icon.ts +11 -11
- package/src/menu/mdc-menu-selection-group.ts +4 -4
- package/src/menu/mdc-menu.html +6 -6
- package/src/menu-surface/mdc-menu-surface-anchor.ts +12 -12
- package/src/menu-surface/mdc-menu-surface.ts +275 -275
- package/src/notched-outline/mdc-notched-outline.html +7 -7
- package/src/notched-outline/mdc-notched-outline.ts +60 -60
- package/src/radio/mdc-radio.html +9 -9
- package/src/radio/mdc-radio.ts +162 -162
- package/src/resource.d.ts +22 -22
- package/src/ripple/mdc-ripple.ts +114 -114
- package/src/segmented-button/mdc-segmented-button-segment/enhance-mdc-segmented-button-segment.ts +8 -8
- package/src/segmented-button/mdc-segmented-button-segment/mdc-segmented-button-segment.html +11 -11
- package/src/segmented-button/mdc-segmented-button.html +3 -3
- package/src/segmented-button/mdc-segmented-button.ts +89 -89
- package/src/select/mdc-default-select-configuration.ts +3 -3
- package/src/select/mdc-select-adapter-aurelia.ts +213 -213
- package/src/select/mdc-select-foundation-aurelia.ts +484 -484
- package/src/select/mdc-select-helper-text/mdc-select-helper-text.html +7 -7
- package/src/select/mdc-select-helper-text/mdc-select-helper-text.ts +55 -55
- package/src/select/mdc-select-icon.ts +41 -41
- package/src/select/mdc-select-value-observer.ts +347 -346
- package/src/select/mdc-select.html +38 -38
- package/src/select/mdc-select.ts +480 -480
- package/src/slider/mdc-slider-foundation-aurelia.ts +13 -13
- package/src/slider/mdc-slider.html +36 -36
- package/src/slider/mdc-slider.ts +409 -409
- package/src/slider/styles/_index.scss +1 -1
- package/src/slider/styles/mdc-slider.import.scss +1 -1
- package/src/slider/styles/mdc-slider.scss +8 -8
- package/src/snackbar/mdc-snackbar-service.ts +48 -48
- package/src/snackbar/mdc-snackbar.html +14 -14
- package/src/snackbar/mdc-snackbar.ts +109 -109
- package/src/switch/enhance-mdc-switch.ts +8 -8
- package/src/switch/mdc-switch.html +21 -21
- package/src/switch/mdc-switch.ts +86 -86
- package/src/tab-bar/indicator/mdc-tab-indicator.html +9 -9
- package/src/tab-bar/indicator/mdc-tab-indicator.ts +51 -51
- package/src/tab-bar/mdc-tab-bar.html +6 -6
- package/src/tab-bar/mdc-tab-bar.ts +119 -119
- package/src/tab-bar/scroller/mdc-tab-scroller.html +11 -11
- package/src/tab-bar/scroller/mdc-tab-scroller.ts +85 -85
- package/src/tab-bar/tab/mdc-tab.html +20 -20
- package/src/tab-bar/tab/mdc-tab.ts +118 -118
- package/src/text-field/enhance-mdc-text-field.ts +12 -12
- package/src/text-field/mdc-default-text-field-configuration.ts +3 -3
- package/src/text-field/mdc-inputmask.ts +45 -0
- package/src/text-field/mdc-text-field-character-counter.ts +32 -32
- package/src/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.html +7 -7
- package/src/text-field/mdc-text-field-helper-line/mdc-text-field-helper-line.ts +37 -37
- package/src/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.html +6 -6
- package/src/text-field/mdc-text-field-helper-text/mdc-text-field-helper-text.ts +47 -47
- package/src/text-field/mdc-text-field-icon.ts +59 -59
- package/src/text-field/mdc-text-field.html +29 -29
- package/src/text-field/mdc-text-field.ts +535 -535
- package/src/tooltip/mdc-default-tooltip-configuration.ts +5 -5
- package/src/tooltip/mdc-tooltip-attribute.ts +118 -118
- package/src/tooltip/mdc-tooltip.html +7 -7
- package/src/tooltip/mdc-tooltip.ts +6 -6
- package/src/top-app-bar/enhance-top-app-bar-actions.ts +9 -9
- package/src/top-app-bar/mdc-top-app-bar-action-item.ts +12 -12
- package/src/top-app-bar/mdc-top-app-bar-fixed-adjust.ts +13 -13
- package/src/top-app-bar/mdc-top-app-bar-nav-icon.ts +12 -12
- package/src/top-app-bar/mdc-top-app-bar-row.ts +7 -7
- package/src/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.html +3 -3
- package/src/top-app-bar/mdc-top-app-bar-section/mdc-top-app-bar-section.ts +9 -9
- package/src/top-app-bar/mdc-top-app-bar-title.ts +7 -7
- package/src/top-app-bar/mdc-top-app-bar.html +9 -9
- package/src/top-app-bar/mdc-top-app-bar.ts +93 -93
- package/src/tree-view/i-tree-node.ts +8 -8
- package/src/tree-view/mdc-tree-node-meta.ts +11 -11
- package/src/tree-view/mdc-tree-node.ts +4 -4
- package/src/tree-view/node-filter.ts +12 -12
- package/src/tree-view/styles/_index.scss +1 -1
- package/src/tree-view/styles/_mixins.scss +145 -145
- package/src/tree-view/styles/_variables.scss +8 -8
- package/src/tree-view/styles/mdc-tree-view.import.scss +1 -1
- package/src/tree-view/styles/mdc-tree-view.scss +3 -3
- package/src/typography/mdc-typography.ts +130 -130
- package/src/validation/mdc-validation-controller-factory.ts +20 -20
- package/src/validation/mdc-validation-result-presenter.ts +36 -36
- package/src/validation/validate.ts +32 -0
- package/styles/mdc-all.scss +53 -52
- package/src/banner/doc/api.json +0 -1106
- package/src/base/doc/api.json +0 -1408
- package/src/button/doc/api.json +0 -621
- package/src/card/doc/api.json +0 -214
- package/src/checkbox/doc/api.json +0 -1320
- package/src/chips/doc/api.json +0 -2533
- package/src/circular-progress/doc/api.json +0 -1085
- package/src/data-table/doc/api.json +0 -2064
- package/src/dialog/doc/api.json +0 -1667
- package/src/drawer/doc/api.json +0 -1416
- package/src/elevation/doc/api.json +0 -317
- package/src/expandable/doc/api.json +0 -677
- package/src/fab/doc/api.json +0 -396
- package/src/floating-label/doc/api.json +0 -914
- package/src/form-field/doc/api.json +0 -948
- package/src/icon/doc/api.json +0 -224
- package/src/icon-button/doc/api.json +0 -1109
- package/src/image-list/doc/api.json +0 -438
- package/src/layout-grid/doc/api.json +0 -600
- package/src/line-ripple/doc/api.json +0 -857
- package/src/linear-progress/doc/api.json +0 -949
- package/src/list/doc/api.json +0 -5725
- package/src/lookup/doc/api.json +0 -2370
- package/src/menu/doc/api.json +0 -2246
- package/src/menu-surface/doc/api.json +0 -1800
- package/src/notched-outline/doc/api.json +0 -943
- package/src/radio/doc/api.json +0 -1159
- package/src/ripple/doc/api.json +0 -1212
- package/src/segmented-button/doc/api.json +0 -1937
- package/src/select/doc/api.json +0 -4247
- package/src/slider/doc/api.json +0 -1954
- package/src/snackbar/doc/api.json +0 -1699
- package/src/switch/doc/api.json +0 -899
- package/src/tab-bar/doc/api.json +0 -4253
- package/src/text-field/doc/api.json +0 -3179
- package/src/tooltip/doc/api.json +0 -2531
- package/src/top-app-bar/doc/api.json +0 -1752
- package/src/tree-view/doc/api.json +0 -1710
- package/src/typography/doc/api.json +0 -3058
- package/src/validation/doc/api.json +0 -371
|
@@ -1,27 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MdcSelectIcon = exports.mdcIconStrings = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const base_1 = require("../base");
|
|
6
|
+
const select_1 = require("@material/select");
|
|
7
|
+
const aurelia_1 = require("aurelia");
|
|
8
|
+
exports.mdcIconStrings = {
|
|
6
9
|
ATTRIBUTE: 'mdc-select-icon'
|
|
7
10
|
};
|
|
8
11
|
let MdcSelectIcon = (() => {
|
|
9
|
-
let _classDecorators = [inject(Element), customAttribute(mdcIconStrings.ATTRIBUTE)];
|
|
12
|
+
let _classDecorators = [(0, aurelia_1.inject)(Element), (0, aurelia_1.customAttribute)(exports.mdcIconStrings.ATTRIBUTE)];
|
|
10
13
|
let _classDescriptor;
|
|
11
14
|
let _classExtraInitializers = [];
|
|
12
15
|
let _classThis;
|
|
13
|
-
let _classSuper = MdcComponent;
|
|
16
|
+
let _classSuper = base_1.MdcComponent;
|
|
14
17
|
var MdcSelectIcon = class extends _classSuper {
|
|
15
18
|
static { _classThis = this; }
|
|
16
19
|
static {
|
|
17
20
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
18
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
21
|
+
tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
19
22
|
MdcSelectIcon = _classThis = _classDescriptor.value;
|
|
20
23
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
21
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
24
|
+
tslib_1.__runInitializers(_classThis, _classExtraInitializers);
|
|
22
25
|
}
|
|
23
26
|
attaching() {
|
|
24
|
-
this.root.classList.add(strings.LEADING_ICON_SELECTOR.replace('.', ''));
|
|
27
|
+
this.root.classList.add(select_1.strings.LEADING_ICON_SELECTOR.replace('.', ''));
|
|
25
28
|
}
|
|
26
29
|
getDefaultFoundation() {
|
|
27
30
|
// DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.
|
|
@@ -35,12 +38,12 @@ let MdcSelectIcon = (() => {
|
|
|
35
38
|
},
|
|
36
39
|
registerInteractionHandler: (evtType, handler) => this.listen(evtType, handler),
|
|
37
40
|
deregisterInteractionHandler: (evtType, handler) => this.unlisten(evtType, handler),
|
|
38
|
-
notifyIconAction: () => this.emit(MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),
|
|
41
|
+
notifyIconAction: () => this.emit(select_1.MDCSelectIconFoundation.strings.ICON_EVENT, {} /* evtData */, true /* shouldBubble */),
|
|
39
42
|
};
|
|
40
|
-
return new MDCSelectIconFoundation(adapter);
|
|
43
|
+
return new select_1.MDCSelectIconFoundation(adapter);
|
|
41
44
|
}
|
|
42
45
|
};
|
|
43
46
|
return MdcSelectIcon = _classThis;
|
|
44
47
|
})();
|
|
45
|
-
|
|
48
|
+
exports.MdcSelectIcon = MdcSelectIcon;
|
|
46
49
|
//# 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,kCAAuC;AACvC,6CAA0F;AAC1F,qCAAkD;AAErC,QAAA,cAAc,GAAG;IAC5B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;IAIW,aAAa;4BAFzB,IAAA,gBAAM,EAAC,OAAO,CAAC,EACf,IAAA,yBAAe,EAAC,sBAAc,CAAC,SAAS,CAAC;;;;sBACP,mBAAY;6BAApB,SAAQ,WAAqC;;;;YAAxE,qLAqBC;;;YArBY,+DAAa;;QACxB,SAAS;YACP,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAO,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,gCAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;aACzH,CAAC;YACF,OAAO,IAAI,gCAAuB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;;;;AApBU,sCAAa","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"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MdcSelectValueObserver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const runtime_1 = require("@aurelia/runtime");
|
|
6
|
+
const runtime_html_1 = require("@aurelia/runtime-html");
|
|
4
7
|
// const hasOwn = Object.prototype.hasOwnProperty;
|
|
5
8
|
const childObserverOptions = {
|
|
6
9
|
childList: true,
|
|
@@ -8,7 +11,7 @@ const childObserverOptions = {
|
|
|
8
11
|
characterData: true
|
|
9
12
|
};
|
|
10
13
|
let MdcSelectValueObserver = (() => {
|
|
11
|
-
let _classDecorators = [subscriberCollection()];
|
|
14
|
+
let _classDecorators = [(0, runtime_1.subscriberCollection)()];
|
|
12
15
|
let _classDescriptor;
|
|
13
16
|
let _classExtraInitializers = [];
|
|
14
17
|
let _classThis;
|
|
@@ -16,10 +19,10 @@ let MdcSelectValueObserver = (() => {
|
|
|
16
19
|
static { _classThis = this; }
|
|
17
20
|
static {
|
|
18
21
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
19
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
22
|
+
tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
20
23
|
MdcSelectValueObserver = _classThis = _classDescriptor.value;
|
|
21
24
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
22
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
25
|
+
tslib_1.__runInitializers(_classThis, _classExtraInitializers);
|
|
23
26
|
}
|
|
24
27
|
currentValue = void 0;
|
|
25
28
|
oldValue = void 0;
|
|
@@ -28,7 +31,7 @@ let MdcSelectValueObserver = (() => {
|
|
|
28
31
|
hasChanges = false;
|
|
29
32
|
// ObserverType.Layout is not always true
|
|
30
33
|
// but for simplicity, always treat as such
|
|
31
|
-
type = (AccessorType.Node | AccessorType.Observer | AccessorType.Layout);
|
|
34
|
+
type = (runtime_1.AccessorType.Node | runtime_1.AccessorType.Observer | runtime_1.AccessorType.Layout);
|
|
32
35
|
arrayObserver = void 0;
|
|
33
36
|
nodeObserver = void 0;
|
|
34
37
|
observing = false;
|
|
@@ -44,7 +47,7 @@ let MdcSelectValueObserver = (() => {
|
|
|
44
47
|
// do not pass the value to the element if options has never been set
|
|
45
48
|
// the value will be passed on when options do arrive
|
|
46
49
|
if (this.optionsWereSet) {
|
|
47
|
-
CustomElement.for(this.obj).viewModel.setValue(this.currentValue, skipNotify);
|
|
50
|
+
runtime_html_1.CustomElement.for(this.obj).viewModel.setValue(this.currentValue, skipNotify);
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
getValue() {
|
|
@@ -57,6 +60,7 @@ let MdcSelectValueObserver = (() => {
|
|
|
57
60
|
: this.obj.value;
|
|
58
61
|
}
|
|
59
62
|
setValue(newValue) {
|
|
63
|
+
this.oldValue = this.currentValue;
|
|
60
64
|
this.currentValue = newValue;
|
|
61
65
|
this.hasChanges = newValue !== this.oldValue;
|
|
62
66
|
// this.observeArray(newValue instanceof Array ? newValue : null);
|
|
@@ -131,7 +135,7 @@ let MdcSelectValueObserver = (() => {
|
|
|
131
135
|
// 3. assign `value` to `this.currentValue`
|
|
132
136
|
// 4. return `true` to signal value has changed
|
|
133
137
|
const obj = this.obj;
|
|
134
|
-
const options = CustomElement.for(obj).viewModel.items ?? [];
|
|
138
|
+
const options = runtime_html_1.CustomElement.for(obj).viewModel.items ?? [];
|
|
135
139
|
const len = options.length;
|
|
136
140
|
// const currentValue = this.currentValue;
|
|
137
141
|
let i = 0;
|
|
@@ -185,7 +189,7 @@ let MdcSelectValueObserver = (() => {
|
|
|
185
189
|
*/
|
|
186
190
|
// B. single select
|
|
187
191
|
// B.1
|
|
188
|
-
let value =
|
|
192
|
+
let value = undefined;
|
|
189
193
|
while (i < len) {
|
|
190
194
|
const option = options[i];
|
|
191
195
|
if (option.value === this.obj.value) {
|
|
@@ -203,7 +207,7 @@ let MdcSelectValueObserver = (() => {
|
|
|
203
207
|
return true;
|
|
204
208
|
}
|
|
205
209
|
start() {
|
|
206
|
-
const vm = CustomElement.for(this.obj).viewModel;
|
|
210
|
+
const vm = runtime_html_1.CustomElement.for(this.obj).viewModel;
|
|
207
211
|
vm.initialised.then(() => {
|
|
208
212
|
(this.nodeObserver = new this.obj.ownerDocument.defaultView.MutationObserver(records => this.handleNodeChange(records)))
|
|
209
213
|
.observe(vm.menu.root, childObserverOptions);
|
|
@@ -279,5 +283,5 @@ let MdcSelectValueObserver = (() => {
|
|
|
279
283
|
};
|
|
280
284
|
return MdcSelectValueObserver = _classThis;
|
|
281
285
|
})();
|
|
282
|
-
|
|
286
|
+
exports.MdcSelectValueObserver = MdcSelectValueObserver;
|
|
283
287
|
//# sourceMappingURL=mdc-select-value-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-select-value-observer.js","sourceRoot":"","sources":["../../src/select/mdc-select-value-observer.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n subscriberCollection,\r\n AccessorType,\r\n} from '@aurelia/runtime';\r\n\r\nimport type {\r\n ICollectionObserver,\r\n IndexMap,\r\n IObserver,\r\n IObserverLocator,\r\n ISubscriber,\r\n ISubscriberCollection,\r\n} from '@aurelia/runtime';\r\n\r\nimport { INode, CustomElement } from '@aurelia/runtime-html';\r\nimport { IMdcSelectElement, MdcSelect } from './mdc-select';\r\n\r\n// const hasOwn = Object.prototype.hasOwnProperty;\r\nconst childObserverOptions = {\r\n childList: true,\r\n subtree: true,\r\n characterData: true\r\n};\r\n\r\n// function defaultMatcher(a: unknown, b: unknown): boolean {\r\n// return a === b;\r\n// }\r\n\r\nexport interface IOptionElement extends HTMLOptionElement {\r\n model?: unknown;\r\n}\r\n\r\nexport interface MdcSelectValueObserver extends\r\n ISubscriberCollection { }\r\n\r\nexport interface INodeObserverConfigBase {\r\n /**\r\n * Indicates the list of events can be used to observe a particular property\r\n */\r\n readonly events: string[];\r\n /**\r\n * Indicates whether this property is readonly, so observer wont attempt to assign value\r\n * example: input.files\r\n */\r\n readonly readonly?: boolean;\r\n /**\r\n * A default value to assign to the corresponding property if the incoming value is null/undefined\r\n */\r\n readonly default?: unknown;\r\n}\r\n\r\n\r\nexport interface INodeObserver extends IObserver {\r\n /**\r\n * Instruct this node observer event observation behavior\r\n */\r\n useConfig(config: INodeObserverConfigBase): void;\r\n}\r\n\r\n@subscriberCollection()\r\nexport class MdcSelectValueObserver implements INodeObserver {\r\n public currentValue: unknown = void 0;\r\n public oldValue: unknown = void 0;\r\n\r\n public readonly obj: IMdcSelectElement;\r\n public config: INodeObserverConfigBase;\r\n\r\n public hasChanges: boolean = false;\r\n // ObserverType.Layout is not always true\r\n // but for simplicity, always treat as such\r\n public type: AccessorType = (AccessorType.Node | AccessorType.Observer | AccessorType.Layout) as AccessorType;\r\n\r\n public arrayObserver?: ICollectionObserver<'array'> = void 0;\r\n public nodeObserver?: MutationObserver = void 0;\r\n\r\n private observing: boolean = false;\r\n private listened: boolean = false;\r\n\r\n public constructor(\r\n obj: INode,\r\n // deepscan-disable-next-line\r\n _key: PropertyKey,\r\n config: INodeObserverConfigBase,\r\n _: IObserverLocator\r\n ) {\r\n this.obj = obj as unknown as IMdcSelectElement;\r\n this.config = config;\r\n }\r\n\r\n optionsWereSet: boolean;\r\n\r\n setElementValue(skipNotify: boolean) {\r\n // do not pass the value to the element if options has never been set\r\n // the value will be passed on when options do arrive\r\n if (this.optionsWereSet) {\r\n CustomElement.for<MdcSelect>(this.obj).viewModel.setValue(this.currentValue, skipNotify);\r\n }\r\n }\r\n\r\n public getValue(): unknown {\r\n // is it safe to assume the observer has the latest value?\r\n // todo: ability to turn on/off cache based on type\r\n return this.observing\r\n ? this.currentValue\r\n // : this.obj.multiple\r\n // ? Array.from(this.obj.options).map(o => o.value)\r\n : this.obj.value;\r\n }\r\n\r\n public setValue(newValue: unknown): void {\r\n this.currentValue = newValue;\r\n this.hasChanges = newValue !== this.oldValue;\r\n // this.observeArray(newValue instanceof Array ? newValue : null);\r\n if (this.optionsWereSet) {\r\n this.flushChanges();\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public flushChanges(): void {\r\n if (this.hasChanges) {\r\n this.hasChanges = false;\r\n this.synchronizeOptions();\r\n }\r\n }\r\n\r\n public handleCollectionChange(): void {\r\n // always sync \"selected\" property of <options/>\r\n // immediately whenever the array notifies its mutation\r\n this.synchronizeOptions();\r\n }\r\n\r\n public notify(): void {\r\n const oldValue = this.oldValue;\r\n const newValue = this.currentValue;\r\n if (newValue === oldValue) {\r\n return;\r\n }\r\n this.subs.notify(newValue, oldValue);\r\n }\r\n\r\n public handleEvent(): void {\r\n const shouldNotify = this.synchronizeValue();\r\n if (shouldNotify) {\r\n this.subs.notify(this.currentValue, this.oldValue);\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public synchronizeOptions(_indexMap?: IndexMap): void {\r\n this.setElementValue(true);\r\n // const { currentValue, obj } = this;\r\n // // const isArray = Array.isArray(currentValue);\r\n // // const matcher = obj.matcher !== void 0 ? obj.matcher : defaultMatcher;\r\n // // const matcher = defaultMatcher;\r\n // const options = CustomElement.for<MdcSelect>(obj).viewModel.items;\r\n // let i = options.length;\r\n\r\n // while (i-- > 0) {\r\n // // const option = options[i];\r\n // // const optionValue = hasOwn.call(option, 'model') ? option.model : option.value;\r\n // // const optionValue = option.value;\r\n // // if (isArray) {\r\n // // option.selected = (currentValue as unknown[]).findIndex(item => !!matcher(optionValue, item)) !== -1;\r\n // // continue;\r\n // // }\r\n // if (!this.optionsWereSet) {\r\n // this.optionsWereSet = true;\r\n // this.setElementValue(true);\r\n // }\r\n // // option.selected = !!matcher(optionValue, currentValue);\r\n // }\r\n }\r\n\r\n public synchronizeValue(): boolean {\r\n // Spec for synchronizing value from `<select/>` to `SelectObserver`\r\n // When synchronizing value to observed <select/> element, do the following steps:\r\n // A. If `<select/>` is multiple\r\n // 1. Check if current value, called `currentValue` is an array\r\n // a. If not an array, return true to signal value has changed\r\n // b. If is an array:\r\n // i. gather all current selected <option/>, in to array called `values`\r\n // ii. loop through the `currentValue` array and remove items that are nolonger selected based on matcher\r\n // iii. loop through the `values` array and add items that are selected based on matcher\r\n // iv. Return false to signal value hasn't changed\r\n // B. If the select is single\r\n // 1. Let `value` equal the first selected option, if no option selected, then `value` is `null`\r\n // 2. assign `this.currentValue` to `this.oldValue`\r\n // 3. assign `value` to `this.currentValue`\r\n // 4. return `true` to signal value has changed\r\n const obj = this.obj;\r\n const options = CustomElement.for<MdcSelect>(obj).viewModel.items ?? [];\r\n const len = options.length;\r\n // const currentValue = this.currentValue;\r\n let i = 0;\r\n\r\n /*\r\n if (obj.multiple) {\r\n // A.\r\n if (!(currentValue instanceof Array)) {\r\n // A.1.a\r\n return true;\r\n }\r\n // A.1.b\r\n // multi select\r\n let option: IOptionElement;\r\n const matcher = obj.matcher ?? defaultMatcher;\r\n // A.1.b.i\r\n const values: unknown[] = [];\r\n while (i < len) {\r\n option = options[i];\r\n if (option.selected) {\r\n values.push(hasOwn.call(option, 'model')\r\n ? option.model\r\n : option.value\r\n );\r\n }\r\n ++i;\r\n }\r\n // A.1.b.ii\r\n i = 0;\r\n while (i < currentValue.length) {\r\n const a = currentValue[i];\r\n // Todo: remove arrow fn\r\n if (values.findIndex(b => !!matcher(a, b)) === -1) {\r\n currentValue.splice(i, 1);\r\n } else {\r\n ++i;\r\n }\r\n }\r\n // A.1.b.iii\r\n i = 0;\r\n while (i < values.length) {\r\n const a = values[i];\r\n // Todo: remove arrow fn\r\n if (currentValue.findIndex(b => !!matcher(a, b)) === -1) {\r\n currentValue.push(a);\r\n }\r\n ++i;\r\n }\r\n // A.1.b.iv\r\n return false;\r\n }\r\n */\r\n // B. single select\r\n // B.1\r\n let value: unknown = null;\r\n while (i < len) {\r\n const option = options[i];\r\n if (option.value === this.obj.value) {\r\n // value = hasOwn.call(option, 'model') ? option.model : option.value;\r\n value = option.value;\r\n break;\r\n }\r\n ++i;\r\n }\r\n // B.2\r\n this.oldValue = this.currentValue;\r\n // B.3\r\n this.currentValue = value;\r\n // B.4\r\n return true;\r\n }\r\n\r\n private start(): void {\r\n const vm = CustomElement.for<MdcSelect>(this.obj).viewModel;\r\n vm.initialised.then(() => {\r\n (this.nodeObserver = new this.obj.ownerDocument.defaultView!.MutationObserver(records => this.handleNodeChange(records)))\r\n .observe(vm.menu.root, childObserverOptions);\r\n // this.observeArray(this.currentValue instanceof Array ? this.currentValue : null);\r\n this.observing = true;\r\n if (vm.items?.length) {\r\n this.optionsWereSet = true;\r\n this.synchronizeOptions();\r\n }\r\n });\r\n }\r\n\r\n private stop(): void {\r\n this.optionsWereSet = false;\r\n this.nodeObserver?.disconnect();\r\n this.arrayObserver?.unsubscribe(this);\r\n this.nodeObserver\r\n = this.arrayObserver\r\n = void 0;\r\n this.observing = false;\r\n }\r\n\r\n // todo: observe all kind of collection\r\n // private observeArray(array: unknown[] | null): void {\r\n // this.arrayObserver?.unsubscribe(this);\r\n // this.arrayObserver = void 0;\r\n // if (array !== null) {\r\n // if (!this.obj.multiple) {\r\n // throw new Error('Only null or Array instances can be bound to a multi-select.');\r\n // }\r\n // (this.arrayObserver = this.observerLocator.getArrayObserver(array)).subscribe(this);\r\n // }\r\n // }\r\n\r\n public handleNodeChange(records: MutationRecord[]): void {\r\n if (records.find(x => x.type === 'childList'\r\n && (Array.from(x.addedNodes).find(y => (y as HTMLElement).tagName === 'MDC-LIST-ITEM')\r\n || Array.from(x.removedNodes).find(y => (y as HTMLElement).tagName === 'MDC-LIST-ITEM'))\r\n )) {\r\n this.optionsWereSet = true;\r\n this.synchronizeOptions();\r\n const shouldNotify = this.synchronizeValue();\r\n if (shouldNotify) {\r\n this.notify();\r\n }\r\n }\r\n }\r\n\r\n public subscribe(subscriber: ISubscriber): void {\r\n if (this.subs.add(subscriber) && this.subs.count === 1) {\r\n for (const e of this.config.events) {\r\n this.obj.addEventListener(e, this);\r\n }\r\n this.listened = true;\r\n this.start();\r\n }\r\n }\r\n\r\n public unsubscribe(subscriber: ISubscriber): void {\r\n if (this.subs.remove(subscriber) && this.subs.count === 0) {\r\n for (const e of this.config.events) {\r\n this.obj.removeEventListener(e, this);\r\n }\r\n this.listened = false;\r\n this.stop();\r\n }\r\n }\r\n\r\n useConfig(config: INodeObserverConfigBase): void {\r\n this.config = config;\r\n if (this.listened) {\r\n for (const e of this.config.events) {\r\n this.obj.removeEventListener(e, this);\r\n }\r\n for (const e of this.config.events) {\r\n this.obj.addEventListener(e, this);\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"mdc-select-value-observer.js","sourceRoot":"","sources":["../../src/select/mdc-select-value-observer.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n subscriberCollection,\n AccessorType,\n} from '@aurelia/runtime';\n\nimport type {\n ICollectionObserver,\n IndexMap,\n IObserver,\n IObserverLocator,\n ISubscriber,\n ISubscriberCollection,\n} from '@aurelia/runtime';\n\nimport { INode, CustomElement } from '@aurelia/runtime-html';\nimport { IMdcSelectElement, MdcSelect } from './mdc-select';\n\n// const hasOwn = Object.prototype.hasOwnProperty;\nconst childObserverOptions = {\n childList: true,\n subtree: true,\n characterData: true\n};\n\n// function defaultMatcher(a: unknown, b: unknown): boolean {\n// return a === b;\n// }\n\nexport interface IOptionElement extends HTMLOptionElement {\n model?: unknown;\n}\n\nexport interface MdcSelectValueObserver extends\n ISubscriberCollection { }\n\nexport interface INodeObserverConfigBase {\n /**\n * Indicates the list of events can be used to observe a particular property\n */\n readonly events: string[];\n /**\n * Indicates whether this property is readonly, so observer wont attempt to assign value\n * example: input.files\n */\n readonly readonly?: boolean;\n /**\n * A default value to assign to the corresponding property if the incoming value is null/undefined\n */\n readonly default?: unknown;\n}\n\n\nexport interface INodeObserver extends IObserver {\n /**\n * Instruct this node observer event observation behavior\n */\n useConfig(config: INodeObserverConfigBase): void;\n}\n\n@subscriberCollection()\nexport class MdcSelectValueObserver implements INodeObserver {\n public currentValue: unknown = void 0;\n public oldValue: unknown = void 0;\n\n public readonly obj: IMdcSelectElement;\n public config: INodeObserverConfigBase;\n\n public hasChanges: boolean = false;\n // ObserverType.Layout is not always true\n // but for simplicity, always treat as such\n public type: AccessorType = (AccessorType.Node | AccessorType.Observer | AccessorType.Layout) as AccessorType;\n\n public arrayObserver?: ICollectionObserver<'array'> = void 0;\n public nodeObserver?: MutationObserver = void 0;\n\n private observing: boolean = false;\n private listened: boolean = false;\n\n public constructor(\n obj: INode,\n // deepscan-disable-next-line\n _key: PropertyKey,\n config: INodeObserverConfigBase,\n _: IObserverLocator\n ) {\n this.obj = obj as unknown as IMdcSelectElement;\n this.config = config;\n }\n\n optionsWereSet: boolean;\n\n setElementValue(skipNotify: boolean) {\n // do not pass the value to the element if options has never been set\n // the value will be passed on when options do arrive\n if (this.optionsWereSet) {\n CustomElement.for<MdcSelect>(this.obj).viewModel.setValue(this.currentValue, skipNotify);\n }\n }\n\n public getValue(): unknown {\n // is it safe to assume the observer has the latest value?\n // todo: ability to turn on/off cache based on type\n return this.observing\n ? this.currentValue\n // : this.obj.multiple\n // ? Array.from(this.obj.options).map(o => o.value)\n : this.obj.value;\n }\n\n public setValue(newValue: unknown): void {\n this.oldValue = this.currentValue;\n this.currentValue = newValue;\n this.hasChanges = newValue !== this.oldValue;\n // this.observeArray(newValue instanceof Array ? newValue : null);\n if (this.optionsWereSet) {\n this.flushChanges();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public flushChanges(): void {\n if (this.hasChanges) {\n this.hasChanges = false;\n this.synchronizeOptions();\n }\n }\n\n public handleCollectionChange(): void {\n // always sync \"selected\" property of <options/>\n // immediately whenever the array notifies its mutation\n this.synchronizeOptions();\n }\n\n public notify(): void {\n const oldValue = this.oldValue;\n const newValue = this.currentValue;\n if (newValue === oldValue) {\n return;\n }\n this.subs.notify(newValue, oldValue);\n }\n\n public handleEvent(): void {\n const shouldNotify = this.synchronizeValue();\n if (shouldNotify) {\n this.subs.notify(this.currentValue, this.oldValue);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public synchronizeOptions(_indexMap?: IndexMap): void {\n this.setElementValue(true);\n // const { currentValue, obj } = this;\n // // const isArray = Array.isArray(currentValue);\n // // const matcher = obj.matcher !== void 0 ? obj.matcher : defaultMatcher;\n // // const matcher = defaultMatcher;\n // const options = CustomElement.for<MdcSelect>(obj).viewModel.items;\n // let i = options.length;\n\n // while (i-- > 0) {\n // // const option = options[i];\n // // const optionValue = hasOwn.call(option, 'model') ? option.model : option.value;\n // // const optionValue = option.value;\n // // if (isArray) {\n // // option.selected = (currentValue as unknown[]).findIndex(item => !!matcher(optionValue, item)) !== -1;\n // // continue;\n // // }\n // if (!this.optionsWereSet) {\n // this.optionsWereSet = true;\n // this.setElementValue(true);\n // }\n // // option.selected = !!matcher(optionValue, currentValue);\n // }\n }\n\n public synchronizeValue(): boolean {\n // Spec for synchronizing value from `<select/>` to `SelectObserver`\n // When synchronizing value to observed <select/> element, do the following steps:\n // A. If `<select/>` is multiple\n // 1. Check if current value, called `currentValue` is an array\n // a. If not an array, return true to signal value has changed\n // b. If is an array:\n // i. gather all current selected <option/>, in to array called `values`\n // ii. loop through the `currentValue` array and remove items that are nolonger selected based on matcher\n // iii. loop through the `values` array and add items that are selected based on matcher\n // iv. Return false to signal value hasn't changed\n // B. If the select is single\n // 1. Let `value` equal the first selected option, if no option selected, then `value` is `null`\n // 2. assign `this.currentValue` to `this.oldValue`\n // 3. assign `value` to `this.currentValue`\n // 4. return `true` to signal value has changed\n const obj = this.obj;\n const options = CustomElement.for<MdcSelect>(obj).viewModel.items ?? [];\n const len = options.length;\n // const currentValue = this.currentValue;\n let i = 0;\n\n /*\n if (obj.multiple) {\n // A.\n if (!(currentValue instanceof Array)) {\n // A.1.a\n return true;\n }\n // A.1.b\n // multi select\n let option: IOptionElement;\n const matcher = obj.matcher ?? defaultMatcher;\n // A.1.b.i\n const values: unknown[] = [];\n while (i < len) {\n option = options[i];\n if (option.selected) {\n values.push(hasOwn.call(option, 'model')\n ? option.model\n : option.value\n );\n }\n ++i;\n }\n // A.1.b.ii\n i = 0;\n while (i < currentValue.length) {\n const a = currentValue[i];\n // Todo: remove arrow fn\n if (values.findIndex(b => !!matcher(a, b)) === -1) {\n currentValue.splice(i, 1);\n } else {\n ++i;\n }\n }\n // A.1.b.iii\n i = 0;\n while (i < values.length) {\n const a = values[i];\n // Todo: remove arrow fn\n if (currentValue.findIndex(b => !!matcher(a, b)) === -1) {\n currentValue.push(a);\n }\n ++i;\n }\n // A.1.b.iv\n return false;\n }\n */\n // B. single select\n // B.1\n let value: unknown = undefined;\n while (i < len) {\n const option = options[i];\n if (option.value === this.obj.value) {\n // value = hasOwn.call(option, 'model') ? option.model : option.value;\n value = option.value;\n break;\n }\n ++i;\n }\n // B.2\n this.oldValue = this.currentValue;\n // B.3\n this.currentValue = value;\n // B.4\n return true;\n }\n\n private start(): void {\n const vm = CustomElement.for<MdcSelect>(this.obj).viewModel;\n vm.initialised.then(() => {\n (this.nodeObserver = new this.obj.ownerDocument.defaultView!.MutationObserver(records => this.handleNodeChange(records)))\n .observe(vm.menu.root, childObserverOptions);\n // this.observeArray(this.currentValue instanceof Array ? this.currentValue : null);\n this.observing = true;\n if (vm.items?.length) {\n this.optionsWereSet = true;\n this.synchronizeOptions();\n }\n });\n }\n\n private stop(): void {\n this.optionsWereSet = false;\n this.nodeObserver?.disconnect();\n this.arrayObserver?.unsubscribe(this);\n this.nodeObserver\n = this.arrayObserver\n = void 0;\n this.observing = false;\n }\n\n // todo: observe all kind of collection\n // private observeArray(array: unknown[] | null): void {\n // this.arrayObserver?.unsubscribe(this);\n // this.arrayObserver = void 0;\n // if (array !== null) {\n // if (!this.obj.multiple) {\n // throw new Error('Only null or Array instances can be bound to a multi-select.');\n // }\n // (this.arrayObserver = this.observerLocator.getArrayObserver(array)).subscribe(this);\n // }\n // }\n\n public handleNodeChange(records: MutationRecord[]): void {\n if (records.find(x => x.type === 'childList'\n && (Array.from(x.addedNodes).find(y => (y as HTMLElement).tagName === 'MDC-LIST-ITEM')\n || Array.from(x.removedNodes).find(y => (y as HTMLElement).tagName === 'MDC-LIST-ITEM'))\n )) {\n this.optionsWereSet = true;\n this.synchronizeOptions();\n const shouldNotify = this.synchronizeValue();\n if (shouldNotify) {\n this.notify();\n }\n }\n }\n\n public subscribe(subscriber: ISubscriber): void {\n if (this.subs.add(subscriber) && this.subs.count === 1) {\n for (const e of this.config.events) {\n this.obj.addEventListener(e, this);\n }\n this.listened = true;\n this.start();\n }\n }\n\n public unsubscribe(subscriber: ISubscriber): void {\n if (this.subs.remove(subscriber) && this.subs.count === 0) {\n for (const e of this.config.events) {\n this.obj.removeEventListener(e, this);\n }\n this.listened = false;\n this.stop();\n }\n }\n\n useConfig(config: INodeObserverConfigBase): void {\n this.config = config;\n if (this.listened) {\n for (const e of this.config.events) {\n this.obj.removeEventListener(e, this);\n }\n for (const e of this.config.events) {\n this.obj.addEventListener(e, this);\n }\n }\n }\n}\n"]}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
<template class="
|
|
2
|
-
mdc-select
|
|
3
|
-
mdc-select--${outlined ? 'outlined' : 'filled'}
|
|
4
|
-
${leadingIcon ? 'mdc-select--with-leading-icon' : ''}
|
|
5
|
-
${required ? 'mdc-select--required' : ''}
|
|
6
|
-
" role="button" aria-haspopup="listbox">
|
|
7
|
-
<div class="mdc-select__anchor" ref="selectAnchor" mdc-ripple="no-class.bind: true;" change.trigger="handleChange()"
|
|
8
|
-
focus.trigger="handleFocus()" blur.trigger="handleBlur()" keydown.trigger="handleKeydown($event)"
|
|
9
|
-
click.trigger="handleClick($event)">
|
|
10
|
-
<span class="mdc-select__ripple" if.bind="!outlined"></span>
|
|
11
|
-
<au-slot name="leading-icon"></au-slot>
|
|
12
|
-
<span class="mdc-select__selected-text-container">
|
|
13
|
-
<span class="mdc-select__selected-text" ref="selectedText"></span>
|
|
14
|
-
</span>
|
|
15
|
-
<span class="mdc-select__dropdown-icon">
|
|
16
|
-
<svg class="mdc-select__dropdown-icon-graphic" viewBox="7 10 10 5">
|
|
17
|
-
<polygon class="mdc-select__dropdown-icon-inactive" stroke="none" fill-rule="evenodd" points="7 10 12 15 17 10">
|
|
18
|
-
</polygon>
|
|
19
|
-
<polygon class="mdc-select__dropdown-icon-active" stroke="none" fill-rule="evenodd" points="7 15 12 10 17 15">
|
|
20
|
-
</polygon>
|
|
21
|
-
</svg>
|
|
22
|
-
</span>
|
|
23
|
-
<mdc-floating-label if.bind="label && !outlined" for="${id}" component.ref="mdcLabel">${label}
|
|
24
|
-
</mdc-floating-label>
|
|
25
|
-
<mdc-line-ripple if.bind="!outlined" component.ref="lineRipple"></mdc-line-ripple>
|
|
26
|
-
<mdc-notched-outline if.bind="outlined" component.ref="outline">
|
|
27
|
-
<mdc-floating-label if.bind="label" for="${id}" component.ref="mdcLabel">${label}</mdc-floating-label>
|
|
28
|
-
</mdc-notched-outline>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
<mdc-menu class="mdc-select__menu ${naturalWidth || hoistToBody || fixed ? '' : 'mdc-menu-surface--fullwidth'}"
|
|
32
|
-
component.ref="menu" ref="menuElement" typeahead mdcmenusurface:closed.trigger="handleMenuClosed()"
|
|
33
|
-
anchor-margin.bind="anchorMargin" mdcmenusurface:opened.trigger="handleMenuOpened()"
|
|
34
|
-
mdcmenu:selected.trigger="handleMenuItemAction($event)" mdclist:itemschanged.trigger="handleItemsChanged($event)"
|
|
35
|
-
hoist-to-body.bind="hoistToBody" fixed.bind="fixed">
|
|
36
|
-
<au-slot></au-slot>
|
|
37
|
-
</mdc-menu>
|
|
38
|
-
</template>
|
|
1
|
+
<template class="
|
|
2
|
+
mdc-select
|
|
3
|
+
mdc-select--${outlined ? 'outlined' : 'filled'}
|
|
4
|
+
${leadingIcon ? 'mdc-select--with-leading-icon' : ''}
|
|
5
|
+
${required ? 'mdc-select--required' : ''}
|
|
6
|
+
" role="button" aria-haspopup="listbox">
|
|
7
|
+
<div class="mdc-select__anchor" ref="selectAnchor" mdc-ripple="no-class.bind: true;" change.trigger="handleChange()"
|
|
8
|
+
focus.trigger="handleFocus()" blur.trigger="handleBlur()" keydown.trigger="handleKeydown($event)"
|
|
9
|
+
click.trigger="handleClick($event)">
|
|
10
|
+
<span class="mdc-select__ripple" if.bind="!outlined"></span>
|
|
11
|
+
<au-slot name="leading-icon"></au-slot>
|
|
12
|
+
<span class="mdc-select__selected-text-container">
|
|
13
|
+
<span class="mdc-select__selected-text" ref="selectedText"></span>
|
|
14
|
+
</span>
|
|
15
|
+
<span class="mdc-select__dropdown-icon">
|
|
16
|
+
<svg class="mdc-select__dropdown-icon-graphic" viewBox="7 10 10 5">
|
|
17
|
+
<polygon class="mdc-select__dropdown-icon-inactive" stroke="none" fill-rule="evenodd" points="7 10 12 15 17 10">
|
|
18
|
+
</polygon>
|
|
19
|
+
<polygon class="mdc-select__dropdown-icon-active" stroke="none" fill-rule="evenodd" points="7 15 12 10 17 15">
|
|
20
|
+
</polygon>
|
|
21
|
+
</svg>
|
|
22
|
+
</span>
|
|
23
|
+
<mdc-floating-label if.bind="label && !outlined" for="${id}" component.ref="mdcLabel">${label}
|
|
24
|
+
</mdc-floating-label>
|
|
25
|
+
<mdc-line-ripple if.bind="!outlined" component.ref="lineRipple"></mdc-line-ripple>
|
|
26
|
+
<mdc-notched-outline if.bind="outlined" component.ref="outline">
|
|
27
|
+
<mdc-floating-label if.bind="label" for="${id}" component.ref="mdcLabel">${label}</mdc-floating-label>
|
|
28
|
+
</mdc-notched-outline>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<mdc-menu class="mdc-select__menu ${naturalWidth || hoistToBody || fixed ? '' : 'mdc-menu-surface--fullwidth'}"
|
|
32
|
+
component.ref="menu" ref="menuElement" typeahead mdcmenusurface:closed.trigger="handleMenuClosed()"
|
|
33
|
+
anchor-margin.bind="anchorMargin" mdcmenusurface:opened.trigger="handleMenuOpened()"
|
|
34
|
+
mdcmenu:selected.trigger="handleMenuItemAction($event)" mdclist:itemschanged.trigger="handleItemsChanged($event)"
|
|
35
|
+
hoist-to-body.bind="hoistToBody" fixed.bind="fixed">
|
|
36
|
+
<au-slot></au-slot>
|
|
37
|
+
</mdc-menu>
|
|
38
|
+
</template>
|