@acorex/components 7.1.0 → 7.1.2
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/action-sheet/index.d.ts +5 -5
- package/action-sheet/public-api.d.ts +3 -3
- package/action-sheet/src/action-sheet.component.d.ts +25 -25
- package/action-sheet/src/action-sheet.interface.d.ts +20 -20
- package/action-sheet/src/action-sheet.module.d.ts +14 -14
- package/action-sheet/src/action-sheet.service.d.ts +13 -13
- package/alert/index.d.ts +5 -5
- package/alert/public-api.d.ts +2 -2
- package/alert/src/alert.component.d.ts +88 -88
- package/alert/src/alert.module.d.ts +9 -9
- package/avatar/index.d.ts +5 -5
- package/avatar/public-api.d.ts +3 -3
- package/avatar/src/avatar-group.component.d.ts +8 -8
- package/avatar/src/avatar.component.d.ts +20 -20
- package/avatar/src/avatar.module.d.ts +9 -9
- package/badge/index.d.ts +5 -5
- package/badge/public-api.d.ts +2 -2
- package/badge/src/badge.component.d.ts +41 -41
- package/badge/src/badge.module.d.ts +8 -8
- package/breadcrumbs/index.d.ts +5 -5
- package/breadcrumbs/public-api.d.ts +4 -4
- package/breadcrumbs/src/breadcrumbs-item.class.d.ts +9 -9
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +77 -79
- package/breadcrumbs/src/breadcrumbs.component.d.ts +13 -13
- package/breadcrumbs/src/breadcrumbs.module.d.ts +9 -9
- package/button/index.d.ts +5 -5
- package/button/public-api.d.ts +5 -5
- package/button/src/button-group.component.d.ts +86 -86
- package/button/src/button-item.class.d.ts +24 -24
- package/button/src/button-item.component.d.ts +82 -80
- package/button/src/button.component.d.ts +23 -23
- package/button/src/button.module.d.ts +11 -11
- package/calendar/index.d.ts +5 -5
- package/calendar/public-api.d.ts +4 -4
- package/calendar/src/calendar-range.component.d.ts +29 -29
- package/calendar/src/calendar.class.d.ts +100 -100
- package/calendar/src/calendar.component.d.ts +44 -44
- package/calendar/src/calendar.module.d.ts +10 -10
- package/card/index.d.ts +5 -5
- package/card/public-api.d.ts +2 -2
- package/card/src/card.component.d.ts +10 -10
- package/card/src/card.module.d.ts +8 -8
- package/checkbox/index.d.ts +5 -5
- package/checkbox/public-api.d.ts +2 -2
- package/checkbox/src/checkbox.component.d.ts +12 -12
- package/checkbox/src/checkbox.module.d.ts +10 -10
- package/chips/index.d.ts +5 -5
- package/chips/public-api.d.ts +2 -2
- package/chips/src/chips.component.d.ts +72 -72
- package/chips/src/chips.module.d.ts +8 -8
- package/collapse/index.d.ts +5 -5
- package/collapse/public-api.d.ts +3 -3
- package/collapse/src/collapse-group.component.d.ts +15 -15
- package/collapse/src/collapse.component.d.ts +17 -17
- package/collapse/src/collapse.module.d.ts +9 -9
- package/color-palette/index.d.ts +5 -5
- package/color-palette/public-api.d.ts +7 -7
- package/color-palette/src/color-palette-input.component.d.ts +22 -22
- package/color-palette/src/color-palette-picker.component.d.ts +32 -32
- package/color-palette/src/color-palette-preview.component.d.ts +11 -11
- package/color-palette/src/color-palette-swatches.component.d.ts +18 -18
- package/color-palette/src/color-palette.class.d.ts +22 -22
- package/color-palette/src/color-palette.component.d.ts +16 -16
- package/color-palette/src/color-palette.module.d.ts +19 -19
- package/color-picker/index.d.ts +5 -5
- package/color-picker/public-api.d.ts +2 -2
- package/color-picker/src/color-picker.component.d.ts +190 -193
- package/color-picker/src/color-picker.module.d.ts +18 -18
- package/common/index.d.ts +5 -5
- package/common/public-api.d.ts +16 -16
- package/common/src/classes/components.class.d.ts +62 -62
- package/common/src/classes/data.class.d.ts +4 -4
- package/common/src/classes/drawing.class.d.ts +9 -9
- package/common/src/classes/events.class.d.ts +95 -95
- package/common/src/classes/styles.class.d.ts +17 -17
- package/common/src/common.module.d.ts +11 -11
- package/common/src/components/base-component.class.d.ts +28 -28
- package/common/src/components/button-base-component.class.d.ts +36 -36
- package/common/src/components/color-component.class.d.ts +15 -15
- package/common/src/components/colorlook-component.class.d.ts +9 -9
- package/common/src/components/index.d.ts +7 -7
- package/common/src/components/interactive-component.class.d.ts +37 -37
- package/common/src/components/look-component.class.d.ts +15 -15
- package/common/src/components/value-component.class.d.ts +45 -45
- package/common/src/constant/positions.d.ts +75 -75
- package/common/src/directives/auto-focus.directive.d.ts +13 -13
- package/common/src/directives/debounce-time.directive.d.ts +17 -17
- package/common/src/directives/hotkey.directive.d.ts +22 -22
- package/common/src/directives/infinite-scroll.directive.d.ts +25 -25
- package/common/src/directives/responsive.directive.d.ts +10 -10
- package/common/src/services/custom-cdk-overlay.service.d.ts +19 -19
- package/common/src/services/hotkey.service.d.ts +17 -17
- package/common/src/services/overlay.service.d.ts +34 -34
- package/context-menu/index.d.ts +5 -5
- package/context-menu/public-api.d.ts +2 -2
- package/context-menu/src/context-menu.component.d.ts +34 -34
- package/context-menu/src/context-menu.module.d.ts +13 -13
- package/data-pager/index.d.ts +5 -5
- package/data-pager/public-api.d.ts +9 -9
- package/data-pager/src/data-pager-base.component.d.ts +49 -49
- package/data-pager/src/data-pager-info.component.d.ts +15 -15
- package/data-pager/src/data-pager-input-selector.component.d.ts +15 -15
- package/data-pager/src/data-pager-next-buttons.components.d.ts +16 -16
- package/data-pager/src/data-pager-numeric-selector.component.d.ts +18 -18
- package/data-pager/src/data-pager-pagesize-dropdown.component.d.ts +18 -18
- package/data-pager/src/data-pager-prev-buttons.component.d.ts +15 -15
- package/data-pager/src/data-pager.component.d.ts +35 -35
- package/data-pager/src/data-pager.module.d.ts +18 -18
- package/data-table/index.d.ts +5 -5
- package/data-table/public-api.d.ts +4 -4
- package/data-table/src/data-column-cell-template.directive.d.ts +8 -8
- package/data-table/src/data-column.directive.d.ts +16 -16
- package/data-table/src/data-table.component.d.ts +37 -37
- package/data-table/src/data-table.module.d.ts +14 -14
- package/date-picker/index.d.ts +5 -5
- package/date-picker/public-api.d.ts +2 -2
- package/date-picker/src/datepicker.component.d.ts +154 -154
- package/date-picker/src/datepicker.module.d.ts +15 -15
- package/decorators/index.d.ts +5 -5
- package/decorators/public-api.d.ts +14 -14
- package/decorators/src/close-button.component.d.ts +14 -14
- package/decorators/src/content.component.d.ts +8 -8
- package/decorators/src/decorators.module.d.ts +20 -20
- package/decorators/src/footer.component.d.ts +8 -8
- package/decorators/src/form-hint.component.d.ts +8 -8
- package/decorators/src/header.component.d.ts +8 -8
- package/decorators/src/icon.component.d.ts +10 -10
- package/decorators/src/overlay.component.d.ts +6 -6
- package/decorators/src/placeholder.component.d.ts +5 -5
- package/decorators/src/prefix.component.d.ts +8 -8
- package/decorators/src/sub-title.component.d.ts +9 -9
- package/decorators/src/suffix.component.d.ts +8 -8
- package/decorators/src/text.component.d.ts +9 -9
- package/decorators/src/title.component.d.ts +8 -8
- package/dialog/index.d.ts +5 -5
- package/dialog/public-api.d.ts +4 -4
- package/dialog/src/dialog.class.d.ts +13 -13
- package/dialog/src/dialog.component.d.ts +16 -16
- package/dialog/src/dialog.module.d.ts +14 -14
- package/dialog/src/dialog.service.d.ts +38 -38
- package/drawer/index.d.ts +5 -5
- package/drawer/public-api.d.ts +3 -3
- package/drawer/src/drawer-container.component.d.ts +10 -10
- package/drawer/src/drawer.component.d.ts +36 -36
- package/drawer/src/drawer.module.d.ts +9 -9
- package/dropdown/index.d.ts +5 -5
- package/dropdown/public-api.d.ts +2 -2
- package/dropdown/src/dropdown-panel.component.d.ts +30 -30
- package/dropdown/src/dropdown.module.d.ts +14 -14
- package/esm2022/acorex-components.mjs +4 -4
- package/esm2022/action-sheet/acorex-components-action-sheet.mjs +4 -4
- package/esm2022/action-sheet/public-api.mjs +3 -3
- package/esm2022/action-sheet/src/action-sheet.component.mjs +81 -80
- package/esm2022/action-sheet/src/action-sheet.interface.mjs +2 -2
- package/esm2022/action-sheet/src/action-sheet.module.mjs +27 -26
- package/esm2022/action-sheet/src/action-sheet.service.mjs +94 -93
- package/esm2022/alert/acorex-components-alert.mjs +4 -4
- package/esm2022/alert/public-api.mjs +2 -2
- package/esm2022/alert/src/alert.component.mjs +189 -188
- package/esm2022/alert/src/alert.module.mjs +23 -22
- package/esm2022/avatar/acorex-components-avatar.mjs +4 -4
- package/esm2022/avatar/public-api.mjs +3 -3
- package/esm2022/avatar/src/avatar-group.component.mjs +17 -16
- package/esm2022/avatar/src/avatar.component.mjs +44 -43
- package/esm2022/avatar/src/avatar.module.mjs +23 -22
- package/esm2022/badge/acorex-components-badge.mjs +4 -4
- package/esm2022/badge/public-api.mjs +2 -2
- package/esm2022/badge/src/badge.component.mjs +29 -28
- package/esm2022/badge/src/badge.module.mjs +22 -21
- package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +4 -4
- package/esm2022/breadcrumbs/public-api.mjs +4 -4
- package/esm2022/breadcrumbs/src/breadcrumbs-item.class.mjs +1 -1
- package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +51 -50
- package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +28 -27
- package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +21 -20
- package/esm2022/button/acorex-components-button.mjs +4 -4
- package/esm2022/button/public-api.mjs +5 -5
- package/esm2022/button/src/button-group.component.mjs +92 -91
- package/esm2022/button/src/button-item.class.mjs +1 -1
- package/esm2022/button/src/button-item.component.mjs +70 -69
- package/esm2022/button/src/button.component.mjs +79 -78
- package/esm2022/button/src/button.module.mjs +33 -32
- package/esm2022/calendar/acorex-components-calendar.mjs +4 -4
- package/esm2022/calendar/public-api.mjs +4 -4
- package/esm2022/calendar/src/calendar-range.component.mjs +175 -174
- package/esm2022/calendar/src/calendar.class.mjs +282 -280
- package/esm2022/calendar/src/calendar.component.mjs +373 -372
- package/esm2022/calendar/src/calendar.module.mjs +24 -23
- package/esm2022/card/acorex-components-card.mjs +4 -4
- package/esm2022/card/public-api.mjs +2 -2
- package/esm2022/card/src/card.component.mjs +19 -18
- package/esm2022/card/src/card.module.mjs +20 -19
- package/esm2022/checkbox/acorex-components-checkbox.mjs +4 -4
- package/esm2022/checkbox/public-api.mjs +2 -2
- package/esm2022/checkbox/src/checkbox.component.mjs +43 -42
- package/esm2022/checkbox/src/checkbox.module.mjs +22 -21
- package/esm2022/chips/acorex-components-chips.mjs +4 -4
- package/esm2022/chips/public-api.mjs +2 -2
- package/esm2022/chips/src/chips.component.mjs +34 -33
- package/esm2022/chips/src/chips.module.mjs +20 -19
- package/esm2022/collapse/acorex-components-collapse.mjs +4 -4
- package/esm2022/collapse/public-api.mjs +3 -3
- package/esm2022/collapse/src/collapse-group.component.mjs +53 -52
- package/esm2022/collapse/src/collapse.component.mjs +48 -47
- package/esm2022/collapse/src/collapse.module.mjs +21 -20
- package/esm2022/color-palette/acorex-components-color-palette.mjs +4 -4
- package/esm2022/color-palette/public-api.mjs +7 -7
- package/esm2022/color-palette/src/color-palette-input.component.mjs +131 -130
- package/esm2022/color-palette/src/color-palette-picker.component.mjs +160 -159
- package/esm2022/color-palette/src/color-palette-preview.component.mjs +57 -56
- package/esm2022/color-palette/src/color-palette-swatches.component.mjs +295 -294
- package/esm2022/color-palette/src/color-palette.class.mjs +19 -17
- package/esm2022/color-palette/src/color-palette.component.mjs +76 -75
- package/esm2022/color-palette/src/color-palette.module.mjs +61 -60
- package/esm2022/color-picker/acorex-components-color-picker.mjs +4 -4
- package/esm2022/color-picker/public-api.mjs +2 -2
- package/esm2022/color-picker/src/color-picker.component.mjs +120 -119
- package/esm2022/color-picker/src/color-picker.module.mjs +62 -61
- package/esm2022/common/acorex-components-common.mjs +4 -4
- package/esm2022/common/public-api.mjs +16 -16
- package/esm2022/common/src/classes/components.class.mjs +78 -72
- package/esm2022/common/src/classes/data.class.mjs +1 -1
- package/esm2022/common/src/classes/drawing.class.mjs +1 -1
- package/esm2022/common/src/classes/events.class.mjs +95 -95
- package/esm2022/common/src/classes/styles.class.mjs +12 -12
- package/esm2022/common/src/common.module.mjs +43 -42
- package/esm2022/common/src/components/base-component.class.mjs +56 -56
- package/esm2022/common/src/components/button-base-component.class.mjs +68 -68
- package/esm2022/common/src/components/color-component.class.mjs +26 -26
- package/esm2022/common/src/components/colorlook-component.class.mjs +10 -10
- package/esm2022/common/src/components/index.mjs +7 -7
- package/esm2022/common/src/components/interactive-component.class.mjs +62 -62
- package/esm2022/common/src/components/look-component.class.mjs +26 -26
- package/esm2022/common/src/components/value-component.class.mjs +207 -206
- package/esm2022/common/src/constant/positions.mjs +74 -74
- package/esm2022/common/src/directives/auto-focus.directive.mjs +58 -57
- package/esm2022/common/src/directives/debounce-time.directive.mjs +50 -49
- package/esm2022/common/src/directives/hotkey.directive.mjs +83 -82
- package/esm2022/common/src/directives/infinite-scroll.directive.mjs +70 -69
- package/esm2022/common/src/directives/responsive.directive.mjs +36 -35
- package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +52 -50
- package/esm2022/common/src/services/hotkey.service.mjs +41 -40
- package/esm2022/common/src/services/overlay.service.mjs +116 -115
- package/esm2022/context-menu/acorex-components-context-menu.mjs +4 -4
- package/esm2022/context-menu/public-api.mjs +2 -2
- package/esm2022/context-menu/src/context-menu.component.mjs +271 -270
- package/esm2022/context-menu/src/context-menu.module.mjs +37 -36
- package/esm2022/data-pager/acorex-components-data-pager.mjs +4 -4
- package/esm2022/data-pager/public-api.mjs +9 -9
- package/esm2022/data-pager/src/data-pager-base.component.mjs +37 -35
- package/esm2022/data-pager/src/data-pager-info.component.mjs +62 -61
- package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +46 -45
- package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +51 -50
- package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +75 -74
- package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +67 -66
- package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +48 -47
- package/esm2022/data-pager/src/data-pager.component.mjs +147 -146
- package/esm2022/data-pager/src/data-pager.module.mjs +52 -51
- package/esm2022/data-table/acorex-components-data-table.mjs +4 -4
- package/esm2022/data-table/public-api.mjs +4 -4
- package/esm2022/data-table/src/data-column-cell-template.directive.mjs +19 -18
- package/esm2022/data-table/src/data-column.directive.mjs +51 -50
- package/esm2022/data-table/src/data-table.component.mjs +140 -139
- package/esm2022/data-table/src/data-table.module.mjs +28 -27
- package/esm2022/date-picker/acorex-components-date-picker.mjs +4 -4
- package/esm2022/date-picker/public-api.mjs +2 -2
- package/esm2022/date-picker/src/datepicker.component.mjs +241 -240
- package/esm2022/date-picker/src/datepicker.module.mjs +45 -44
- package/esm2022/decorators/acorex-components-decorators.mjs +4 -4
- package/esm2022/decorators/public-api.mjs +14 -14
- package/esm2022/decorators/src/close-button.component.mjs +44 -43
- package/esm2022/decorators/src/content.component.mjs +22 -21
- package/esm2022/decorators/src/decorators.module.mjs +72 -71
- package/esm2022/decorators/src/footer.component.mjs +22 -21
- package/esm2022/decorators/src/form-hint.component.mjs +21 -20
- package/esm2022/decorators/src/header.component.mjs +22 -21
- package/esm2022/decorators/src/icon.component.mjs +31 -30
- package/esm2022/decorators/src/overlay.component.mjs +21 -20
- package/esm2022/decorators/src/placeholder.component.mjs +15 -14
- package/esm2022/decorators/src/prefix.component.mjs +22 -21
- package/esm2022/decorators/src/sub-title.component.mjs +26 -25
- package/esm2022/decorators/src/suffix.component.mjs +22 -21
- package/esm2022/decorators/src/text.component.mjs +23 -22
- package/esm2022/decorators/src/title.component.mjs +21 -20
- package/esm2022/dialog/acorex-components-dialog.mjs +4 -4
- package/esm2022/dialog/public-api.mjs +4 -4
- package/esm2022/dialog/src/dialog.class.mjs +1 -1
- package/esm2022/dialog/src/dialog.component.mjs +56 -55
- package/esm2022/dialog/src/dialog.module.mjs +28 -27
- package/esm2022/dialog/src/dialog.service.mjs +155 -154
- package/esm2022/drawer/acorex-components-drawer.mjs +4 -4
- package/esm2022/drawer/public-api.mjs +3 -3
- package/esm2022/drawer/src/drawer-container.component.mjs +31 -30
- package/esm2022/drawer/src/drawer.component.mjs +139 -138
- package/esm2022/drawer/src/drawer.module.mjs +23 -22
- package/esm2022/dropdown/acorex-components-dropdown.mjs +4 -4
- package/esm2022/dropdown/public-api.mjs +2 -2
- package/esm2022/dropdown/src/dropdown-panel.component.mjs +106 -105
- package/esm2022/dropdown/src/dropdown.module.mjs +26 -25
- package/esm2022/form/acorex-components-form.mjs +4 -4
- package/esm2022/form/public-api.mjs +6 -6
- package/esm2022/form/src/form-field.component.mjs +16 -15
- package/esm2022/form/src/form.component.mjs +164 -163
- package/esm2022/form/src/form.module.mjs +64 -63
- package/esm2022/form/src/validation-rule.widget.mjs +114 -113
- package/esm2022/form/src/validation-summary.component.mjs +82 -81
- package/esm2022/form/src/validation.class.mjs +1 -1
- package/esm2022/image/acorex-components-image.mjs +4 -4
- package/esm2022/image/public-api.mjs +2 -2
- package/esm2022/image/src/image.component.mjs +80 -79
- package/esm2022/image/src/image.module.mjs +20 -19
- package/esm2022/label/acorex-components-label.mjs +4 -4
- package/esm2022/label/public-api.mjs +2 -2
- package/esm2022/label/src/label.component.mjs +49 -48
- package/esm2022/label/src/label.module.mjs +22 -21
- package/esm2022/loading/acorex-components-loading.mjs +4 -4
- package/esm2022/loading/public-api.mjs +5 -5
- package/esm2022/loading/src/loading-spinner.component.mjs +18 -17
- package/esm2022/loading/src/loading.component.mjs +58 -57
- package/esm2022/loading/src/loading.directive.mjs +77 -76
- package/esm2022/loading/src/loading.module.mjs +36 -35
- package/esm2022/loading/src/loading.service.mjs +159 -158
- package/esm2022/menu/acorex-components-menu.mjs +4 -4
- package/esm2022/menu/public-api.mjs +2 -2
- package/esm2022/menu/src/menu.component.mjs +347 -346
- package/esm2022/menu/src/menu.module.mjs +34 -33
- package/esm2022/mixin/acorex-components-mixin.mjs +4 -4
- package/esm2022/mixin/public-api.mjs +17 -17
- package/esm2022/mixin/src/base-components.class.mjs +111 -110
- package/esm2022/mixin/src/base-menu-mixin.class.mjs +133 -133
- package/esm2022/mixin/src/button-mixin.class.mjs +70 -70
- package/esm2022/mixin/src/clickable-mixin.class.mjs +23 -23
- package/esm2022/mixin/src/color-look-mixing.class.mjs +47 -47
- package/esm2022/mixin/src/constratctor.mjs +1 -1
- package/esm2022/mixin/src/datalist-component.class.mjs +150 -150
- package/esm2022/mixin/src/datalist.class.mjs +2 -2
- package/esm2022/mixin/src/dropdown-mixin.class.mjs +98 -98
- package/esm2022/mixin/src/interactive-mixin.class.mjs +80 -80
- package/esm2022/mixin/src/loading-mixin.class.mjs +25 -25
- package/esm2022/mixin/src/mixin.class.mjs +25 -25
- package/esm2022/mixin/src/page-component.class.mjs +10 -10
- package/esm2022/mixin/src/selection-component.class.mjs +182 -182
- package/esm2022/mixin/src/sizable-mixin.class.mjs +21 -21
- package/esm2022/mixin/src/textbox-mixin.class.mjs +65 -65
- package/esm2022/mixin/src/value-mixin.class.mjs +219 -219
- package/esm2022/notification/acorex-components-notification.mjs +4 -4
- package/esm2022/notification/public-api.mjs +4 -4
- package/esm2022/notification/src/notification.class.mjs +1 -1
- package/esm2022/notification/src/notification.component.mjs +93 -92
- package/esm2022/notification/src/notification.module.mjs +24 -23
- package/esm2022/notification/src/notification.service.mjs +110 -109
- package/esm2022/number-box/acorex-components-number-box.mjs +4 -4
- package/esm2022/number-box/public-api.mjs +2 -2
- package/esm2022/number-box/src/number-box.component.mjs +269 -268
- package/esm2022/number-box/src/number-box.module.mjs +36 -35
- package/esm2022/page/acorex-components-page.mjs +4 -4
- package/esm2022/page/public-api.mjs +3 -3
- package/esm2022/page/src/base-page.class.mjs +64 -63
- package/esm2022/page/src/page.component.mjs +47 -46
- package/esm2022/page/src/page.module.mjs +19 -18
- package/esm2022/password-box/acorex-components-password-box.mjs +4 -4
- package/esm2022/password-box/public-api.mjs +2 -2
- package/esm2022/password-box/src/password-box.component.mjs +64 -63
- package/esm2022/password-box/src/password-box.module.mjs +33 -32
- package/esm2022/picker/acorex-components-picker.mjs +4 -4
- package/esm2022/picker/public-api.mjs +3 -3
- package/esm2022/picker/src/picker-column.component.mjs +21 -20
- package/esm2022/picker/src/picker.component.mjs +17 -16
- package/esm2022/picker/src/picker.module.mjs +38 -37
- package/esm2022/popover/acorex-components-popover.mjs +4 -4
- package/esm2022/popover/public-api.mjs +2 -2
- package/esm2022/popover/src/popover.component.mjs +263 -262
- package/esm2022/popover/src/popover.module.mjs +20 -19
- package/esm2022/popup/acorex-components-popup.mjs +4 -4
- package/esm2022/popup/public-api.mjs +3 -3
- package/esm2022/popup/src/popup.component.mjs +146 -145
- package/esm2022/popup/src/popup.module.mjs +28 -27
- package/esm2022/popup/src/popup.service.mjs +117 -116
- package/esm2022/progress-bar/acorex-components-progress-bar.mjs +4 -4
- package/esm2022/progress-bar/public-api.mjs +2 -2
- package/esm2022/progress-bar/src/progress-bar.component.mjs +34 -33
- package/esm2022/progress-bar/src/progress-bar.module.mjs +20 -19
- package/esm2022/public-api.mjs +4 -4
- package/esm2022/radio/acorex-components-radio.mjs +4 -4
- package/esm2022/radio/public-api.mjs +2 -2
- package/esm2022/radio/src/radio.component.mjs +40 -39
- package/esm2022/radio/src/radio.module.mjs +23 -22
- package/esm2022/range-slider/acorex-components-range-slider.mjs +4 -4
- package/esm2022/range-slider/public-api.mjs +2 -2
- package/esm2022/range-slider/src/range-slider.component.mjs +118 -117
- package/esm2022/range-slider/src/range-slider.module.mjs +23 -22
- package/esm2022/rating/acorex-components-rating.mjs +4 -4
- package/esm2022/rating/public-api.mjs +2 -2
- package/esm2022/rating/src/rating.component.mjs +42 -41
- package/esm2022/rating/src/rating.component.module.mjs +20 -19
- package/esm2022/result/acorex-components-result.mjs +4 -4
- package/esm2022/result/public-api.mjs +2 -2
- package/esm2022/result/src/result.component.mjs +27 -26
- package/esm2022/result/src/result.module.mjs +20 -19
- package/esm2022/search-box/acorex-components-search-box.mjs +4 -4
- package/esm2022/search-box/public-api.mjs +2 -2
- package/esm2022/search-box/src/search-box.component.mjs +55 -54
- package/esm2022/search-box/src/search-box.module.mjs +26 -25
- package/esm2022/select-box/acorex-components-select-box.mjs +4 -4
- package/esm2022/select-box/public-api.mjs +2 -2
- package/esm2022/select-box/src/selectbox.component.mjs +392 -391
- package/esm2022/select-box/src/selectbox.module.mjs +65 -64
- package/esm2022/selection-list/acorex-components-selection-list.mjs +4 -4
- package/esm2022/selection-list/public-api.mjs +2 -2
- package/esm2022/selection-list/src/selection-list.component.mjs +60 -60
- package/esm2022/selection-list/src/selection-list.module.mjs +25 -24
- package/esm2022/switch/acorex-components-switch.mjs +4 -4
- package/esm2022/switch/public-api.mjs +3 -3
- package/esm2022/switch/src/switch-content.component.mjs +17 -16
- package/esm2022/switch/src/switch.component.mjs +55 -54
- package/esm2022/switch/src/switch.module.mjs +23 -22
- package/esm2022/tabs/acorex-components-tabs.mjs +4 -4
- package/esm2022/tabs/public-api.mjs +5 -5
- package/esm2022/tabs/src/tab-content.directive.mjs +32 -31
- package/esm2022/tabs/src/tab-item.component.mjs +91 -90
- package/esm2022/tabs/src/tabs.class.mjs +5 -5
- package/esm2022/tabs/src/tabs.component.mjs +103 -102
- package/esm2022/tabs/src/tabs.module.mjs +26 -25
- package/esm2022/tag/acorex-components-tag.mjs +4 -4
- package/esm2022/tag/public-api.mjs +2 -2
- package/esm2022/tag/src/tag.component.mjs +30 -29
- package/esm2022/tag/src/tag.module.mjs +20 -19
- package/esm2022/textarea/acorex-components-textarea.mjs +4 -4
- package/esm2022/textarea/public-api.mjs +2 -2
- package/esm2022/textarea/src/textarea.component.mjs +30 -29
- package/esm2022/textarea/src/textarea.module.mjs +20 -19
- package/esm2022/textbox/acorex-components-textbox.mjs +4 -4
- package/esm2022/textbox/public-api.mjs +3 -3
- package/esm2022/textbox/src/mask-options.directive.mjs +20 -19
- package/esm2022/textbox/src/textbox.component.mjs +96 -95
- package/esm2022/textbox/src/textbox.module.mjs +39 -38
- package/esm2022/time-box/acorex-components-time-box.mjs +4 -4
- package/esm2022/time-box/public-api.mjs +2 -2
- package/esm2022/time-box/src/time-box.component.mjs +306 -305
- package/esm2022/time-box/src/time-box.module.mjs +33 -32
- package/esm2022/toast/acorex-components-toast.mjs +4 -4
- package/esm2022/toast/public-api.mjs +4 -4
- package/esm2022/toast/src/toast.class.mjs +1 -1
- package/esm2022/toast/src/toast.component.mjs +68 -67
- package/esm2022/toast/src/toast.module.mjs +23 -22
- package/esm2022/toast/src/toast.service.mjs +137 -136
- package/esm2022/tooltip/acorex-components-tooltip.mjs +4 -4
- package/esm2022/tooltip/public-api.mjs +3 -3
- package/esm2022/tooltip/src/tooltip.component.mjs +22 -21
- package/esm2022/tooltip/src/tooltip.directive.mjs +164 -163
- package/esm2022/tooltip/src/tooltip.module.mjs +23 -22
- package/esm2022/tree-view/acorex-components-tree-view.mjs +4 -4
- package/esm2022/tree-view/public-api.mjs +2 -2
- package/esm2022/tree-view/src/tree-view.component.mjs +108 -107
- package/esm2022/tree-view/src/tree-view.module.mjs +21 -20
- package/esm2022/uploader/acorex-components-uploader.mjs +4 -4
- package/esm2022/uploader/public-api.mjs +2 -2
- package/esm2022/uploader/src/uploader.component.mjs +102 -101
- package/esm2022/uploader/src/uploader.module.mjs +21 -20
- package/fesm2022/acorex-components-action-sheet.mjs +170 -170
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +196 -196
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +66 -66
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +39 -39
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +78 -78
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +245 -245
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +815 -815
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-card.mjs +28 -28
- package/fesm2022/acorex-components-card.mjs.map +1 -1
- package/fesm2022/acorex-components-checkbox.mjs +51 -51
- package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +42 -42
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +102 -102
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +717 -717
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +153 -153
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1150 -1150
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +287 -287
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +487 -487
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +205 -205
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +256 -256
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +287 -287
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +207 -207
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +174 -174
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +111 -111
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +392 -392
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +88 -88
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +59 -59
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +308 -308
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +359 -359
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +1214 -1214
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +200 -200
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +284 -284
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +112 -112
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +81 -81
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +54 -54
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +266 -266
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +258 -258
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +43 -43
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +50 -50
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +127 -127
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rating.mjs +51 -51
- package/fesm2022/acorex-components-rating.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +35 -35
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +59 -59
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +422 -422
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +68 -69
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +74 -74
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +227 -227
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +38 -38
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-textarea.mjs +37 -37
- package/fesm2022/acorex-components-textarea.mjs.map +1 -1
- package/fesm2022/acorex-components-textbox.mjs +130 -130
- package/fesm2022/acorex-components-textbox.mjs.map +1 -1
- package/fesm2022/acorex-components-time-box.mjs +319 -319
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +204 -204
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +187 -187
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +116 -116
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +109 -109
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs +5 -5
- package/form/index.d.ts +5 -5
- package/form/public-api.d.ts +6 -6
- package/form/src/form-field.component.d.ts +8 -8
- package/form/src/form.component.d.ts +51 -51
- package/form/src/form.module.d.ts +15 -15
- package/form/src/validation-rule.widget.d.ts +18 -18
- package/form/src/validation-summary.component.d.ts +23 -23
- package/form/src/validation.class.d.ts +18 -18
- package/image/index.d.ts +5 -5
- package/image/public-api.d.ts +2 -2
- package/image/src/image.component.d.ts +27 -27
- package/image/src/image.module.d.ts +8 -8
- package/index.d.ts +5 -5
- package/label/index.d.ts +5 -5
- package/label/public-api.d.ts +2 -2
- package/label/src/label.component.d.ts +17 -17
- package/label/src/label.module.d.ts +8 -8
- package/loading/index.d.ts +5 -5
- package/loading/public-api.d.ts +5 -5
- package/loading/src/loading-spinner.component.d.ts +6 -6
- package/loading/src/loading.component.d.ts +21 -21
- package/loading/src/loading.directive.d.ts +22 -22
- package/loading/src/loading.module.d.ts +13 -13
- package/loading/src/loading.service.d.ts +48 -48
- package/menu/index.d.ts +5 -5
- package/menu/public-api.d.ts +2 -2
- package/menu/src/menu.component.d.ts +39 -39
- package/menu/src/menu.module.d.ts +12 -12
- package/mixin/index.d.ts +5 -5
- package/mixin/public-api.d.ts +17 -17
- package/mixin/src/base-components.class.d.ts +84 -84
- package/mixin/src/base-menu-mixin.class.d.ts +53 -53
- package/mixin/src/button-mixin.class.d.ts +53 -53
- package/mixin/src/clickable-mixin.class.d.ts +36 -36
- package/mixin/src/color-look-mixing.class.d.ts +44 -44
- package/mixin/src/constratctor.d.ts +4 -4
- package/mixin/src/datalist-component.class.d.ts +59 -59
- package/mixin/src/datalist.class.d.ts +11 -11
- package/mixin/src/dropdown-mixin.class.d.ts +47 -47
- package/mixin/src/interactive-mixin.class.d.ts +63 -63
- package/mixin/src/loading-mixin.class.d.ts +40 -40
- package/mixin/src/mixin.class.d.ts +679 -679
- package/mixin/src/page-component.class.d.ts +28 -28
- package/mixin/src/selection-component.class.d.ts +61 -61
- package/mixin/src/sizable-mixin.class.d.ts +34 -34
- package/mixin/src/textbox-mixin.class.d.ts +72 -72
- package/mixin/src/value-mixin.class.d.ts +63 -63
- package/notification/index.d.ts +5 -5
- package/notification/public-api.d.ts +4 -4
- package/notification/src/notification.class.d.ts +18 -18
- package/notification/src/notification.component.d.ts +30 -30
- package/notification/src/notification.module.d.ts +10 -10
- package/notification/src/notification.service.d.ts +16 -16
- package/number-box/index.d.ts +5 -5
- package/number-box/public-api.d.ts +2 -2
- package/number-box/src/number-box.component.d.ts +77 -77
- package/number-box/src/number-box.module.d.ts +12 -12
- package/package.json +13 -13
- package/page/index.d.ts +5 -5
- package/page/public-api.d.ts +3 -3
- package/page/src/base-page.class.d.ts +25 -25
- package/page/src/page.component.d.ts +14 -14
- package/page/src/page.module.d.ts +6 -6
- package/password-box/index.d.ts +5 -5
- package/password-box/public-api.d.ts +2 -2
- package/password-box/src/password-box.component.d.ts +25 -25
- package/password-box/src/password-box.module.d.ts +11 -11
- package/picker/index.d.ts +5 -5
- package/picker/public-api.d.ts +3 -3
- package/picker/src/picker-column.component.d.ts +11 -11
- package/picker/src/picker.component.d.ts +10 -10
- package/picker/src/picker.module.d.ts +14 -14
- package/popover/index.d.ts +5 -5
- package/popover/public-api.d.ts +2 -2
- package/popover/src/popover.component.d.ts +51 -51
- package/popover/src/popover.module.d.ts +8 -8
- package/popup/index.d.ts +5 -5
- package/popup/public-api.d.ts +3 -3
- package/popup/src/popup.component.d.ts +45 -45
- package/popup/src/popup.module.d.ts +14 -14
- package/popup/src/popup.service.d.ts +42 -42
- package/progress-bar/index.d.ts +5 -5
- package/progress-bar/public-api.d.ts +2 -2
- package/progress-bar/src/progress-bar.component.d.ts +18 -18
- package/progress-bar/src/progress-bar.module.d.ts +8 -8
- package/public-api.d.ts +1 -1
- package/radio/index.d.ts +5 -5
- package/radio/public-api.d.ts +2 -2
- package/radio/src/radio.component.d.ts +18 -18
- package/radio/src/radio.module.d.ts +9 -9
- package/range-slider/index.d.ts +5 -5
- package/range-slider/public-api.d.ts +2 -2
- package/range-slider/src/range-slider.component.d.ts +41 -41
- package/range-slider/src/range-slider.module.d.ts +9 -9
- package/rating/index.d.ts +5 -5
- package/rating/public-api.d.ts +2 -2
- package/rating/src/rating.component.d.ts +21 -21
- package/rating/src/rating.component.module.d.ts +8 -8
- package/result/index.d.ts +5 -5
- package/result/public-api.d.ts +2 -2
- package/result/src/result.component.d.ts +12 -12
- package/result/src/result.module.d.ts +8 -8
- package/search-box/index.d.ts +5 -5
- package/search-box/public-api.d.ts +2 -2
- package/search-box/src/search-box.component.d.ts +18 -18
- package/search-box/src/search-box.module.d.ts +12 -12
- package/select-box/index.d.ts +5 -5
- package/select-box/public-api.d.ts +2 -2
- package/select-box/src/selectbox.component.d.ts +66 -66
- package/select-box/src/selectbox.module.d.ts +19 -19
- package/selection-list/index.d.ts +5 -5
- package/selection-list/public-api.d.ts +2 -2
- package/selection-list/src/selection-list.component.d.ts +23 -23
- package/selection-list/src/selection-list.module.d.ts +13 -13
- package/switch/index.d.ts +5 -5
- package/switch/public-api.d.ts +3 -3
- package/switch/src/switch-content.component.d.ts +8 -8
- package/switch/src/switch.component.d.ts +13 -13
- package/switch/src/switch.module.d.ts +11 -11
- package/tabs/index.d.ts +5 -5
- package/tabs/public-api.d.ts +5 -5
- package/tabs/src/tab-content.directive.d.ts +11 -11
- package/tabs/src/tab-item.component.d.ts +48 -48
- package/tabs/src/tabs.class.d.ts +7 -7
- package/tabs/src/tabs.component.d.ts +29 -29
- package/tabs/src/tabs.module.d.ts +12 -12
- package/tag/index.d.ts +5 -5
- package/tag/public-api.d.ts +2 -2
- package/tag/src/tag.component.d.ts +11 -11
- package/tag/src/tag.module.d.ts +8 -8
- package/textarea/index.d.ts +5 -5
- package/textarea/public-api.d.ts +2 -2
- package/textarea/src/textarea.component.d.ts +14 -14
- package/textarea/src/textarea.module.d.ts +9 -9
- package/textbox/index.d.ts +5 -5
- package/textbox/public-api.d.ts +3 -3
- package/textbox/src/mask-options.directive.d.ts +13 -13
- package/textbox/src/textbox.component.d.ts +27 -27
- package/textbox/src/textbox.module.d.ts +13 -13
- package/time-box/index.d.ts +5 -5
- package/time-box/public-api.d.ts +2 -2
- package/time-box/src/time-box.component.d.ts +50 -50
- package/time-box/src/time-box.module.d.ts +11 -11
- package/toast/index.d.ts +5 -5
- package/toast/public-api.d.ts +4 -4
- package/toast/src/toast.class.d.ts +15 -15
- package/toast/src/toast.component.d.ts +25 -25
- package/toast/src/toast.module.d.ts +9 -9
- package/toast/src/toast.service.d.ts +21 -21
- package/tooltip/index.d.ts +5 -5
- package/tooltip/public-api.d.ts +3 -3
- package/tooltip/src/tooltip.component.d.ts +11 -11
- package/tooltip/src/tooltip.directive.d.ts +22 -22
- package/tooltip/src/tooltip.module.d.ts +10 -10
- package/tree-view/index.d.ts +5 -5
- package/tree-view/public-api.d.ts +2 -2
- package/tree-view/src/tree-view.component.d.ts +33 -33
- package/tree-view/src/tree-view.module.d.ts +9 -9
- package/uploader/index.d.ts +5 -5
- package/uploader/public-api.d.ts +2 -2
- package/uploader/src/uploader.component.d.ts +28 -28
- package/uploader/src/uploader.module.d.ts +9 -9
@@ -1,57 +1,58 @@
|
|
1
|
-
import { Directive, Host, Input, Optional, Self, } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "../classes/components.class";
|
4
|
-
|
5
|
-
el;
|
6
|
-
_host;
|
7
|
-
autoFocus = true;
|
8
|
-
constructor(el, _host) {
|
9
|
-
this.el = el;
|
10
|
-
this._host = _host;
|
11
|
-
}
|
12
|
-
time = 100;
|
13
|
-
ngAfterContentInit() {
|
14
|
-
if (this.autoFocus) {
|
15
|
-
const list = [
|
16
|
-
'button',
|
17
|
-
'input',
|
18
|
-
'[href]',
|
19
|
-
'select',
|
20
|
-
'textarea',
|
21
|
-
'[tabindex]',
|
22
|
-
].map((c) => c + ':not([tabindex="-1"])');
|
23
|
-
const focusable = this.el.nativeElement.querySelector(list.join(', ')) ??
|
24
|
-
this.el.nativeElement;
|
25
|
-
const attr = document.createAttribute('autofocus');
|
26
|
-
focusable.setAttributeNode(attr);
|
27
|
-
const hasTabindex = focusable.hasAttribute('tabindex');
|
28
|
-
if (!hasTabindex) {
|
29
|
-
focusable.setAttribute('tabIndex', '0');
|
30
|
-
}
|
31
|
-
setTimeout(() => {
|
32
|
-
focusable.focus();
|
33
|
-
}, 100);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
37
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 });
|
38
|
-
}
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
1
|
+
import { Directive, Host, Input, Optional, Self, } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../classes/components.class";
|
4
|
+
class AXAutoFocusDirective {
|
5
|
+
el;
|
6
|
+
_host;
|
7
|
+
autoFocus = true;
|
8
|
+
constructor(el, _host) {
|
9
|
+
this.el = el;
|
10
|
+
this._host = _host;
|
11
|
+
}
|
12
|
+
time = 100;
|
13
|
+
ngAfterContentInit() {
|
14
|
+
if (this.autoFocus) {
|
15
|
+
const list = [
|
16
|
+
'button',
|
17
|
+
'input',
|
18
|
+
'[href]',
|
19
|
+
'select',
|
20
|
+
'textarea',
|
21
|
+
'[tabindex]',
|
22
|
+
].map((c) => c + ':not([tabindex="-1"])');
|
23
|
+
const focusable = this.el.nativeElement.querySelector(list.join(', ')) ??
|
24
|
+
this.el.nativeElement;
|
25
|
+
const attr = document.createAttribute('autofocus');
|
26
|
+
focusable.setAttributeNode(attr);
|
27
|
+
const hasTabindex = focusable.hasAttribute('tabindex');
|
28
|
+
if (!hasTabindex) {
|
29
|
+
focusable.setAttribute('tabIndex', '0');
|
30
|
+
}
|
31
|
+
setTimeout(() => {
|
32
|
+
focusable.focus();
|
33
|
+
}, 100);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
37
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 });
|
38
|
+
}
|
39
|
+
export { AXAutoFocusDirective };
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
|
41
|
+
type: Directive,
|
42
|
+
args: [{
|
43
|
+
selector: '[axAutoFocus]',
|
44
|
+
}]
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXFocusableComponent, decorators: [{
|
46
|
+
type: Host
|
47
|
+
}, {
|
48
|
+
type: Self
|
49
|
+
}, {
|
50
|
+
type: Optional
|
51
|
+
}] }]; }, propDecorators: { autoFocus: [{
|
52
|
+
type: Input,
|
53
|
+
args: ['axAutoFocus']
|
54
|
+
}], time: [{
|
55
|
+
type: Input,
|
56
|
+
args: ['focus-time']
|
57
|
+
}] } });
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7OztBQUd2QixNQUdhLG9CQUFvQjtJQU1yQjtJQUlEO0lBUEYsU0FBUyxHQUFhLElBQUksQ0FBQztJQUVsQyxZQUNVLEVBQTJCLEVBSTVCLEtBQTJCO1FBSjFCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBSTVCLFVBQUssR0FBTCxLQUFLLENBQXNCO0lBQ2hDLENBQUM7SUFJTCxJQUFJLEdBQVcsR0FBRyxDQUFDO0lBRW5CLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsUUFBUTtnQkFDUixPQUFPO2dCQUNQLFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixVQUFVO2dCQUNWLFlBQVk7YUFDYixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUM7WUFFMUMsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBRXhCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEIsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDekM7WUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7dUdBMUNVLG9CQUFvQjsyRkFBcEIsb0JBQW9COztTQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OzBCQVFJLElBQUk7OzBCQUNKLElBQUk7OzBCQUNKLFFBQVE7NENBTkosU0FBUztzQkFEZixLQUFLO3VCQUFDLGFBQWE7Z0JBYXBCLElBQUk7c0JBREgsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhGb2N1c2FibGVDb21wb25lbnQgfSBmcm9tICcuLi9jbGFzc2VzL2NvbXBvbmVudHMuY2xhc3MnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXhBdXRvRm9jdXNdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgnYXhBdXRvRm9jdXMnKVxyXG4gIHB1YmxpYyBhdXRvRm9jdXM/OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIEBIb3N0KClcclxuICAgIEBTZWxmKClcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBwdWJsaWMgX2hvc3Q6IEFYRm9jdXNhYmxlQ29tcG9uZW50XHJcbiAgKSB7IH1cclxuXHJcblxyXG4gIEBJbnB1dCgnZm9jdXMtdGltZScpXHJcbiAgdGltZTogbnVtYmVyID0gMTAwO1xyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcclxuICAgICAgY29uc3QgbGlzdCA9IFtcclxuICAgICAgICAnYnV0dG9uJyxcclxuICAgICAgICAnaW5wdXQnLFxyXG4gICAgICAgICdbaHJlZl0nLFxyXG4gICAgICAgICdzZWxlY3QnLFxyXG4gICAgICAgICd0ZXh0YXJlYScsXHJcbiAgICAgICAgJ1t0YWJpbmRleF0nLFxyXG4gICAgICBdLm1hcCgoYykgPT4gYyArICc6bm90KFt0YWJpbmRleD1cIi0xXCJdKScpO1xyXG5cclxuICAgICAgY29uc3QgZm9jdXNhYmxlID1cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4obGlzdC5qb2luKCcsICcpKSA/P1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGF0dHIgPSBkb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUoJ2F1dG9mb2N1cycpO1xyXG4gICAgICBmb2N1c2FibGUuc2V0QXR0cmlidXRlTm9kZShhdHRyKTtcclxuICAgICAgY29uc3QgaGFzVGFiaW5kZXggPSBmb2N1c2FibGUuaGFzQXR0cmlidXRlKCd0YWJpbmRleCcpO1xyXG4gICAgICBpZiAoIWhhc1RhYmluZGV4KSB7XHJcbiAgICAgICAgZm9jdXNhYmxlLnNldEF0dHJpYnV0ZSgndGFiSW5kZXgnLCAnMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,49 +1,50 @@
|
|
1
|
-
import { Directive, EventEmitter, Input, Output } from "@angular/core";
|
2
|
-
import { debounceTime, distinctUntilChanged, skip } from "rxjs";
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/forms";
|
5
|
-
|
6
|
-
ngModel;
|
7
|
-
ngModelChangeDebounced = new EventEmitter();
|
8
|
-
ngModelChangeDebounceTimeChange = new EventEmitter();
|
9
|
-
_ngModelChangeDebounceTime = 0;
|
10
|
-
get ngModelChangeDebounceTime() {
|
11
|
-
return this._ngModelChangeDebounceTime;
|
12
|
-
}
|
13
|
-
set ngModelChangeDebounceTime(v) {
|
14
|
-
if (v != this._ngModelChangeDebounceTime) {
|
15
|
-
this._ngModelChangeDebounceTime = v;
|
16
|
-
this.ngModelChangeDebounceTimeChange.emit(v);
|
17
|
-
this.update();
|
18
|
-
}
|
19
|
-
}
|
20
|
-
subscription;
|
21
|
-
ngOnDestroy() {
|
22
|
-
this.subscription.unsubscribe();
|
23
|
-
}
|
24
|
-
constructor(ngModel) {
|
25
|
-
this.ngModel = ngModel;
|
26
|
-
this.ngModelChangeDebounceTime = 0;
|
27
|
-
}
|
28
|
-
update() {
|
29
|
-
this.subscription?.unsubscribe();
|
30
|
-
//
|
31
|
-
this.subscription = this.ngModel.control.valueChanges.pipe(skip(1), // skip initial value
|
32
|
-
distinctUntilChanged(), debounceTime(this.ngModelChangeDebounceTime)).subscribe((value) => this.ngModelChangeDebounced.emit(value));
|
33
|
-
}
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, deps: [{ token: i1.NgModel }], target: i0.ɵɵFactoryTarget.Directive });
|
35
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXNgModelChangeDebouncedDirective, selector: "[ngModelChangeDebounced]", inputs: { ngModelChangeDebounceTime: "ngModelChangeDebounceTime" }, outputs: { ngModelChangeDebounced: "ngModelChangeDebounced", ngModelChangeDebounceTimeChange: "ngModelChangeDebounceTimeChange" }, ngImport: i0 });
|
36
|
-
}
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
1
|
+
import { Directive, EventEmitter, Input, Output } from "@angular/core";
|
2
|
+
import { debounceTime, distinctUntilChanged, skip } from "rxjs";
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/forms";
|
5
|
+
class AXNgModelChangeDebouncedDirective {
|
6
|
+
ngModel;
|
7
|
+
ngModelChangeDebounced = new EventEmitter();
|
8
|
+
ngModelChangeDebounceTimeChange = new EventEmitter();
|
9
|
+
_ngModelChangeDebounceTime = 0;
|
10
|
+
get ngModelChangeDebounceTime() {
|
11
|
+
return this._ngModelChangeDebounceTime;
|
12
|
+
}
|
13
|
+
set ngModelChangeDebounceTime(v) {
|
14
|
+
if (v != this._ngModelChangeDebounceTime) {
|
15
|
+
this._ngModelChangeDebounceTime = v;
|
16
|
+
this.ngModelChangeDebounceTimeChange.emit(v);
|
17
|
+
this.update();
|
18
|
+
}
|
19
|
+
}
|
20
|
+
subscription;
|
21
|
+
ngOnDestroy() {
|
22
|
+
this.subscription.unsubscribe();
|
23
|
+
}
|
24
|
+
constructor(ngModel) {
|
25
|
+
this.ngModel = ngModel;
|
26
|
+
this.ngModelChangeDebounceTime = 0;
|
27
|
+
}
|
28
|
+
update() {
|
29
|
+
this.subscription?.unsubscribe();
|
30
|
+
//
|
31
|
+
this.subscription = this.ngModel.control.valueChanges.pipe(skip(1), // skip initial value
|
32
|
+
distinctUntilChanged(), debounceTime(this.ngModelChangeDebounceTime)).subscribe((value) => this.ngModelChangeDebounced.emit(value));
|
33
|
+
}
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, deps: [{ token: i1.NgModel }], target: i0.ɵɵFactoryTarget.Directive });
|
35
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXNgModelChangeDebouncedDirective, selector: "[ngModelChangeDebounced]", inputs: { ngModelChangeDebounceTime: "ngModelChangeDebounceTime" }, outputs: { ngModelChangeDebounced: "ngModelChangeDebounced", ngModelChangeDebounceTimeChange: "ngModelChangeDebounceTimeChange" }, ngImport: i0 });
|
36
|
+
}
|
37
|
+
export { AXNgModelChangeDebouncedDirective };
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, decorators: [{
|
39
|
+
type: Directive,
|
40
|
+
args: [{
|
41
|
+
selector: '[ngModelChangeDebounced]',
|
42
|
+
}]
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.NgModel }]; }, propDecorators: { ngModelChangeDebounced: [{
|
44
|
+
type: Output
|
45
|
+
}], ngModelChangeDebounceTimeChange: [{
|
46
|
+
type: Output
|
47
|
+
}], ngModelChangeDebounceTime: [{
|
48
|
+
type: Input
|
49
|
+
}] } });
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UtdGltZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvZGVib3VuY2UtdGltZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBZ0IsTUFBTSxNQUFNLENBQUM7OztBQUU5RSxNQUdhLGlDQUFpQztJQTJCdEI7SUF4QnBCLHNCQUFzQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFHakQsK0JBQStCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQTtJQUVwRCwwQkFBMEIsR0FBVyxDQUFDLENBQUM7SUFDL0MsSUFDVyx5QkFBeUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQVcseUJBQXlCLENBQUMsQ0FBUztRQUMxQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUNoQjtJQUNMLENBQUM7SUFFTyxZQUFZLENBQWU7SUFFbkMsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQW9CLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sTUFBTTtRQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsRUFBRTtRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQjtRQUM5QixvQkFBb0IsRUFBRSxFQUN0QixZQUFZLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQy9DLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQzt1R0F2Q1EsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7O1NBQWpDLGlDQUFpQzsyRkFBakMsaUNBQWlDO2tCQUg3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDOzhGQUlHLHNCQUFzQjtzQkFEckIsTUFBTTtnQkFJUCwrQkFBK0I7c0JBRDlCLE1BQU07Z0JBS0kseUJBQXlCO3NCQURuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc2tpcCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbmdNb2RlbENoYW5nZURlYm91bmNlZF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhOZ01vZGVsQ2hhbmdlRGVib3VuY2VkRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG5nTW9kZWxDaGFuZ2VEZWJvdW5jZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG5nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxyXG5cclxuICAgIHByaXZhdGUgX25nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWU6IG51bWJlciA9IDA7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBuZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWU7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IG5nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgIT0gdGhpcy5fbmdNb2RlbENoYW5nZURlYm91bmNlVGltZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9uZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lID0gdjtcclxuICAgICAgICAgICAgdGhpcy5uZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKClcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdNb2RlbDogTmdNb2RlbCkge1xyXG4gICAgICAgIHRoaXMubmdNb2RlbENoYW5nZURlYm91bmNlVGltZSA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMubmdNb2RlbC5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBza2lwKDEpLCAvLyBza2lwIGluaXRpYWwgdmFsdWVcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMubmdNb2RlbENoYW5nZURlYm91bmNlVGltZSlcclxuICAgICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMubmdNb2RlbENoYW5nZURlYm91bmNlZC5lbWl0KHZhbHVlKSk7XHJcbiAgICB9XHJcbn0iXX0=
|
@@ -1,82 +1,83 @@
|
|
1
|
-
import { Directive, Host, Input, Optional, Self, } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "../classes/components.class";
|
4
|
-
import * as i2 from "../services/hotkey.service";
|
5
|
-
|
6
|
-
el;
|
7
|
-
_host;
|
8
|
-
hs;
|
9
|
-
hotkey = '';
|
10
|
-
_subs = [];
|
11
|
-
constructor(el, _host, hs) {
|
12
|
-
this.el = el;
|
13
|
-
this._host = _host;
|
14
|
-
this.hs = hs;
|
15
|
-
}
|
16
|
-
ngAfterViewInit() {
|
17
|
-
if (!this.hotkey || !this._host)
|
18
|
-
return;
|
19
|
-
if (typeof this.hotkey == 'string') {
|
20
|
-
this._addDefaultAction(this.hotkey);
|
21
|
-
}
|
22
|
-
else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {
|
23
|
-
this._addHotKeyAction([this.hotkey]);
|
24
|
-
}
|
25
|
-
else if (Array.isArray(this.hotkey)) {
|
26
|
-
this._addHotKeyAction(this.hotkey);
|
27
|
-
}
|
28
|
-
}
|
29
|
-
_addDefaultAction(hotkey) {
|
30
|
-
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
31
|
-
['click', 'toggle', 'open', 'focus'].forEach((a) => {
|
32
|
-
if (this._host[a]) {
|
33
|
-
this._host[a]();
|
34
|
-
return;
|
35
|
-
}
|
36
|
-
});
|
37
|
-
}));
|
38
|
-
}
|
39
|
-
_addHotKeyAction(hotkeys) {
|
40
|
-
hotkeys.forEach((k) => {
|
41
|
-
const hotkey = Object.entries(k)[0][0];
|
42
|
-
const action = Object.entries(k)[0][1];
|
43
|
-
if (!action)
|
44
|
-
this._addDefaultAction(hotkey);
|
45
|
-
else {
|
46
|
-
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
47
|
-
if (typeof action == 'string' && this._host[action]) {
|
48
|
-
this._host[action]();
|
49
|
-
return;
|
50
|
-
}
|
51
|
-
if (typeof action == 'function') {
|
52
|
-
action();
|
53
|
-
return;
|
54
|
-
}
|
55
|
-
}));
|
56
|
-
}
|
57
|
-
});
|
58
|
-
}
|
59
|
-
ngOnDestroy() {
|
60
|
-
this._subs.forEach((s) => {
|
61
|
-
s.unsubscribe();
|
62
|
-
});
|
63
|
-
}
|
64
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXComponent, host: true, optional: true, self: true }, { token: i2.AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive });
|
65
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXHotkeyDirective, selector: "[hotkey]", inputs: { hotkey: "hotkey" }, ngImport: i0 });
|
66
|
-
}
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
type:
|
80
|
-
|
81
|
-
|
82
|
-
|
1
|
+
import { Directive, Host, Input, Optional, Self, } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../classes/components.class";
|
4
|
+
import * as i2 from "../services/hotkey.service";
|
5
|
+
class AXHotkeyDirective {
|
6
|
+
el;
|
7
|
+
_host;
|
8
|
+
hs;
|
9
|
+
hotkey = '';
|
10
|
+
_subs = [];
|
11
|
+
constructor(el, _host, hs) {
|
12
|
+
this.el = el;
|
13
|
+
this._host = _host;
|
14
|
+
this.hs = hs;
|
15
|
+
}
|
16
|
+
ngAfterViewInit() {
|
17
|
+
if (!this.hotkey || !this._host)
|
18
|
+
return;
|
19
|
+
if (typeof this.hotkey == 'string') {
|
20
|
+
this._addDefaultAction(this.hotkey);
|
21
|
+
}
|
22
|
+
else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {
|
23
|
+
this._addHotKeyAction([this.hotkey]);
|
24
|
+
}
|
25
|
+
else if (Array.isArray(this.hotkey)) {
|
26
|
+
this._addHotKeyAction(this.hotkey);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
_addDefaultAction(hotkey) {
|
30
|
+
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
31
|
+
['click', 'toggle', 'open', 'focus'].forEach((a) => {
|
32
|
+
if (this._host[a]) {
|
33
|
+
this._host[a]();
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
});
|
37
|
+
}));
|
38
|
+
}
|
39
|
+
_addHotKeyAction(hotkeys) {
|
40
|
+
hotkeys.forEach((k) => {
|
41
|
+
const hotkey = Object.entries(k)[0][0];
|
42
|
+
const action = Object.entries(k)[0][1];
|
43
|
+
if (!action)
|
44
|
+
this._addDefaultAction(hotkey);
|
45
|
+
else {
|
46
|
+
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
47
|
+
if (typeof action == 'string' && this._host[action]) {
|
48
|
+
this._host[action]();
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
if (typeof action == 'function') {
|
52
|
+
action();
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
}));
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
ngOnDestroy() {
|
60
|
+
this._subs.forEach((s) => {
|
61
|
+
s.unsubscribe();
|
62
|
+
});
|
63
|
+
}
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXComponent, host: true, optional: true, self: true }, { token: i2.AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive });
|
65
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXHotkeyDirective, selector: "[hotkey]", inputs: { hotkey: "hotkey" }, ngImport: i0 });
|
66
|
+
}
|
67
|
+
export { AXHotkeyDirective };
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, decorators: [{
|
69
|
+
type: Directive,
|
70
|
+
args: [{
|
71
|
+
selector: '[hotkey]',
|
72
|
+
}]
|
73
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXComponent, decorators: [{
|
74
|
+
type: Host
|
75
|
+
}, {
|
76
|
+
type: Self
|
77
|
+
}, {
|
78
|
+
type: Optional
|
79
|
+
}] }, { type: i2.AXHotkeysService }]; }, propDecorators: { hotkey: [{
|
80
|
+
type: Input,
|
81
|
+
args: ['hotkey']
|
82
|
+
}] } });
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvZGlyZWN0aXZlcy9ob3RrZXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsSUFBSSxFQUNKLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BR2EsaUJBQWlCO0lBT2xCO0lBSUQ7SUFDQztJQVZILE1BQU0sR0FBK0MsRUFBRSxDQUFDO0lBRXZELEtBQUssR0FBbUIsRUFBRSxDQUFDO0lBRW5DLFlBQ1UsRUFBMkIsRUFJNUIsS0FBa0IsRUFDakIsRUFBb0I7UUFMcEIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFJNUIsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUNqQixPQUFFLEdBQUYsRUFBRSxDQUFrQjtJQUMzQixDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRXhDLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQXdCLENBQUMsQ0FBQyxDQUFDO1NBQ3hEO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWM7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ25ELENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNoQixPQUFPO2lCQUNSO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQXlCO1FBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixNQUFNLE1BQU0sR0FBYSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBWSxDQUFDO1lBQzVELE1BQU0sTUFBTSxHQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU07Z0JBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QztnQkFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ25ELElBQUksT0FBTyxNQUFNLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDckIsT0FBTztxQkFDUjtvQkFDRCxJQUFJLE9BQU8sTUFBTSxJQUFJLFVBQVUsRUFBRTt3QkFDL0IsTUFBTSxFQUFFLENBQUM7d0JBQ1QsT0FBTztxQkFDUjtnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWxFVSxpQkFBaUI7MkZBQWpCLGlCQUFpQjs7U0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCOzswQkFTSSxJQUFJOzswQkFDSixJQUFJOzswQkFDSixRQUFROzJFQVJKLE1BQU07c0JBRFosS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYQ29tcG9uZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQVhIb3RrZXlzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2hvdGtleS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYSG90S2V5QWN0aW9uID0geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBGdW5jdGlvbjsgcGFybWFzPzogYW55IH07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tob3RrZXldJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYSG90a2V5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCdob3RrZXknKVxyXG4gIHB1YmxpYyBob3RrZXk6IHN0cmluZyB8IEFYSG90S2V5QWN0aW9uIHwgQVhIb3RLZXlBY3Rpb25bXSA9ICcnO1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgQEhvc3QoKVxyXG4gICAgQFNlbGYoKVxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIHB1YmxpYyBfaG9zdDogQVhDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGhzOiBBWEhvdGtleXNTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaG90a2V5IHx8ICF0aGlzLl9ob3N0KSByZXR1cm47XHJcblxyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmhvdGtleSA9PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLl9hZGREZWZhdWx0QWN0aW9uKHRoaXMuaG90a2V5KTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuaG90a2V5ID09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHRoaXMuaG90a2V5KSkge1xyXG4gICAgICB0aGlzLl9hZGRIb3RLZXlBY3Rpb24oW3RoaXMuaG90a2V5IGFzIEFYSG90S2V5QWN0aW9uXSk7XHJcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ob3RrZXkpKSB7XHJcbiAgICAgIHRoaXMuX2FkZEhvdEtleUFjdGlvbih0aGlzLmhvdGtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGREZWZhdWx0QWN0aW9uKGhvdGtleTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuaHMuYWRkU2hvcnRjdXQoeyBrZXlzOiBob3RrZXkgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBbJ2NsaWNrJywgJ3RvZ2dsZScsICdvcGVuJywgJ2ZvY3VzJ10uZm9yRWFjaCgoYSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuX2hvc3RbYV0pIHtcclxuICAgICAgICAgICAgdGhpcy5faG9zdFthXSgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkSG90S2V5QWN0aW9uKGhvdGtleXM6IEFYSG90S2V5QWN0aW9uW10pIHtcclxuICAgIGhvdGtleXMuZm9yRWFjaCgoaykgPT4ge1xyXG4gICAgICBjb25zdCBob3RrZXkgPSAoPHVua25vd24+T2JqZWN0LmVudHJpZXMoaylbMF1bMF0pIGFzIHN0cmluZztcclxuICAgICAgY29uc3QgYWN0aW9uID0gPHVua25vd24+T2JqZWN0LmVudHJpZXMoaylbMF1bMV07XHJcbiAgICAgIGlmICghYWN0aW9uKSB0aGlzLl9hZGREZWZhdWx0QWN0aW9uKGhvdGtleSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICAgIHRoaXMuaHMuYWRkU2hvcnRjdXQoeyBrZXlzOiBob3RrZXkgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24gPT0gJ3N0cmluZycgJiYgdGhpcy5faG9zdFthY3Rpb25dKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5faG9zdFthY3Rpb25dKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICBhY3Rpb24oKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaCgocykgPT4ge1xyXG4gICAgICBzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,69 +1,70 @@
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
2
|
-
import { fromEvent } from 'rxjs';
|
3
|
-
import { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
;
|
6
|
-
const AX_DEFAULT_SCROLL_POSITION = {
|
7
|
-
scrollHeight: 0,
|
8
|
-
scrollTop: 0,
|
9
|
-
clientHeight: 0
|
10
|
-
};
|
11
|
-
|
12
|
-
elm;
|
13
|
-
scrollEvent$;
|
14
|
-
userScrolledDown$;
|
15
|
-
requestOnScroll$;
|
16
|
-
scrollCallback;
|
17
|
-
immediateCallback;
|
18
|
-
scrollPercent = 70;
|
19
|
-
constructor(elm) {
|
20
|
-
this.elm = elm;
|
21
|
-
}
|
22
|
-
ngAfterViewInit() {
|
23
|
-
this.registerScrollEvent();
|
24
|
-
this.streamScrollEvents();
|
25
|
-
this.requestCallbackOnScroll();
|
26
|
-
}
|
27
|
-
registerScrollEvent() {
|
28
|
-
this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');
|
29
|
-
}
|
30
|
-
streamScrollEvents() {
|
31
|
-
this.userScrolledDown$ = this.scrollEvent$
|
32
|
-
.pipe(map((e) => ({
|
33
|
-
scrollHeight: e.target.scrollHeight,
|
34
|
-
scrollTop: e.target.scrollTop,
|
35
|
-
clientHeight: e.target.clientHeight
|
36
|
-
})), pairwise(), filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])));
|
37
|
-
}
|
38
|
-
requestCallbackOnScroll() {
|
39
|
-
this.requestOnScroll$ = this.userScrolledDown$;
|
40
|
-
if (this.immediateCallback) {
|
41
|
-
this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));
|
42
|
-
}
|
43
|
-
this.requestOnScroll$.pipe(exhaustMap(() => {
|
44
|
-
return this.scrollCallback();
|
45
|
-
}));
|
46
|
-
//.subscribe((data) => { console.log(data) }, (err) => console.log(err));
|
47
|
-
}
|
48
|
-
isUserScrollingDown = (positions) => {
|
49
|
-
return positions[0].sT < positions[1].sT;
|
50
|
-
};
|
51
|
-
isScrollExpectedPercent = (position) => {
|
52
|
-
return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);
|
53
|
-
};
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
55
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXInfiniteScrollerDirective, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 });
|
56
|
-
}
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
1
|
+
import { Directive, Input } from '@angular/core';
|
2
|
+
import { fromEvent } from 'rxjs';
|
3
|
+
import { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
;
|
6
|
+
const AX_DEFAULT_SCROLL_POSITION = {
|
7
|
+
scrollHeight: 0,
|
8
|
+
scrollTop: 0,
|
9
|
+
clientHeight: 0
|
10
|
+
};
|
11
|
+
class AXInfiniteScrollerDirective {
|
12
|
+
elm;
|
13
|
+
scrollEvent$;
|
14
|
+
userScrolledDown$;
|
15
|
+
requestOnScroll$;
|
16
|
+
scrollCallback;
|
17
|
+
immediateCallback;
|
18
|
+
scrollPercent = 70;
|
19
|
+
constructor(elm) {
|
20
|
+
this.elm = elm;
|
21
|
+
}
|
22
|
+
ngAfterViewInit() {
|
23
|
+
this.registerScrollEvent();
|
24
|
+
this.streamScrollEvents();
|
25
|
+
this.requestCallbackOnScroll();
|
26
|
+
}
|
27
|
+
registerScrollEvent() {
|
28
|
+
this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');
|
29
|
+
}
|
30
|
+
streamScrollEvents() {
|
31
|
+
this.userScrolledDown$ = this.scrollEvent$
|
32
|
+
.pipe(map((e) => ({
|
33
|
+
scrollHeight: e.target.scrollHeight,
|
34
|
+
scrollTop: e.target.scrollTop,
|
35
|
+
clientHeight: e.target.clientHeight
|
36
|
+
})), pairwise(), filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])));
|
37
|
+
}
|
38
|
+
requestCallbackOnScroll() {
|
39
|
+
this.requestOnScroll$ = this.userScrolledDown$;
|
40
|
+
if (this.immediateCallback) {
|
41
|
+
this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));
|
42
|
+
}
|
43
|
+
this.requestOnScroll$.pipe(exhaustMap(() => {
|
44
|
+
return this.scrollCallback();
|
45
|
+
}));
|
46
|
+
//.subscribe((data) => { console.log(data) }, (err) => console.log(err));
|
47
|
+
}
|
48
|
+
isUserScrollingDown = (positions) => {
|
49
|
+
return positions[0].sT < positions[1].sT;
|
50
|
+
};
|
51
|
+
isScrollExpectedPercent = (position) => {
|
52
|
+
return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);
|
53
|
+
};
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
55
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXInfiniteScrollerDirective, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 });
|
56
|
+
}
|
57
|
+
export { AXInfiniteScrollerDirective };
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, decorators: [{
|
59
|
+
type: Directive,
|
60
|
+
args: [{
|
61
|
+
selector: '[axInfiniteScroller]'
|
62
|
+
}]
|
63
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollCallback: [{
|
64
|
+
type: Input
|
65
|
+
}], immediateCallback: [{
|
66
|
+
type: Input
|
67
|
+
}], scrollPercent: [{
|
68
|
+
type: Input
|
69
|
+
}] } });
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTZCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdFLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFxQjtJQUNqRCxZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0lBQ1osWUFBWSxFQUFFLENBQUM7Q0FDbEIsQ0FBQztBQUVGLE1BR2EsMkJBQTJCO0lBa0JoQjtJQWhCWixZQUFZLENBQWtCO0lBRTlCLGlCQUFpQixDQUFrQjtJQUduQyxnQkFBZ0IsQ0FBa0I7SUFHMUMsY0FBYyxDQUFXO0lBR3pCLGlCQUFpQixDQUFDO0lBR2xCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFbkIsWUFBb0IsR0FBZTtRQUFmLFFBQUcsR0FBSCxHQUFHLENBQVk7SUFBSSxDQUFDO0lBRXhDLGVBQWU7UUFFWCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUVuQyxDQUFDO0lBRU8sbUJBQW1CO1FBRXZCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXBFLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZO2FBQ3JDLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDbkMsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUztZQUM3QixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZO1NBQ3RDLENBQUMsQ0FBQyxFQUNILFFBQVEsRUFBRSxFQUNWLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekcsQ0FBQztJQUNWLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUUvQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDOUMsU0FBUyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxDQUN0RSxDQUFDO1NBQ0w7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNILHlFQUF5RTtJQUVqRixDQUFDO0lBRU8sbUJBQW1CLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUN4QyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3QyxDQUFDLENBQUE7SUFFTyx1QkFBdUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFBO3VHQXhFUSwyQkFBMkI7MkZBQTNCLDJCQUEyQjs7U0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtpQkFDbkM7aUdBV0csY0FBYztzQkFEYixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEFmdGVyVmlld0luaXQsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmaWx0ZXIsIG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYU2Nyb2xsUG9zaXRpb24ge1xyXG4gICAgc2Nyb2xsSGVpZ2h0OiBudW1iZXI7XHJcbiAgICBzY3JvbGxUb3A6IG51bWJlcjtcclxuICAgIGNsaWVudEhlaWdodDogbnVtYmVyO1xyXG59O1xyXG5cclxuY29uc3QgQVhfREVGQVVMVF9TQ1JPTExfUE9TSVRJT046IEFYU2Nyb2xsUG9zaXRpb24gPSB7XHJcbiAgICBzY3JvbGxIZWlnaHQ6IDAsXHJcbiAgICBzY3JvbGxUb3A6IDAsXHJcbiAgICBjbGllbnRIZWlnaHQ6IDBcclxufTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYXhJbmZpbml0ZVNjcm9sbGVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYSW5maW5pdGVTY3JvbGxlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAgIHByaXZhdGUgc2Nyb2xsRXZlbnQkOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gICAgcHJpdmF0ZSB1c2VyU2Nyb2xsZWREb3duJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RPblNjcm9sbCQ6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2Nyb2xsQ2FsbGJhY2s6IEZ1bmN0aW9uO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpbW1lZGlhdGVDYWxsYmFjaztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2Nyb2xsUGVyY2VudCA9IDcwO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxtOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJTY3JvbGxFdmVudCgpO1xyXG5cclxuICAgICAgICB0aGlzLnN0cmVhbVNjcm9sbEV2ZW50cygpO1xyXG5cclxuICAgICAgICB0aGlzLnJlcXVlc3RDYWxsYmFja09uU2Nyb2xsKCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVnaXN0ZXJTY3JvbGxFdmVudCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxFdmVudCQgPSBmcm9tRXZlbnQodGhpcy5lbG0ubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0cmVhbVNjcm9sbEV2ZW50cygpIHtcclxuICAgICAgICB0aGlzLnVzZXJTY3JvbGxlZERvd24kID0gdGhpcy5zY3JvbGxFdmVudCRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAoKGU6IGFueSk6IEFYU2Nyb2xsUG9zaXRpb24gPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxIZWlnaHQ6IGUudGFyZ2V0LnNjcm9sbEhlaWdodCxcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IGUudGFyZ2V0LnNjcm9sbFRvcCxcclxuICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6IGUudGFyZ2V0LmNsaWVudEhlaWdodFxyXG4gICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcclxuICAgICAgICAgICAgICAgIGZpbHRlcihwb3NpdGlvbnMgPT4gdGhpcy5pc1VzZXJTY3JvbGxpbmdEb3duKHBvc2l0aW9ucykgJiYgdGhpcy5pc1Njcm9sbEV4cGVjdGVkUGVyY2VudChwb3NpdGlvbnNbMV0pKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVxdWVzdENhbGxiYWNrT25TY3JvbGwoKSB7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0T25TY3JvbGwkID0gdGhpcy51c2VyU2Nyb2xsZWREb3duJDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW1tZWRpYXRlQ2FsbGJhY2spIHtcclxuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0T25TY3JvbGwkID0gdGhpcy5yZXF1ZXN0T25TY3JvbGwkLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoW0FYX0RFRkFVTFRfU0NST0xMX1BPU0lUSU9OLCBBWF9ERUZBVUxUX1NDUk9MTF9QT1NJVElPTl0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlcXVlc3RPblNjcm9sbCQucGlwZShcclxuICAgICAgICAgICAgZXhoYXVzdE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxDYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgLy8uc3Vic2NyaWJlKChkYXRhKSA9PiB7IGNvbnNvbGUubG9nKGRhdGEpIH0sIChlcnIpID0+IGNvbnNvbGUubG9nKGVycikpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzVXNlclNjcm9sbGluZ0Rvd24gPSAocG9zaXRpb25zKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uc1swXS5zVCA8IHBvc2l0aW9uc1sxXS5zVDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzU2Nyb2xsRXhwZWN0ZWRQZXJjZW50ID0gKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICgocG9zaXRpb24uc1QgKyBwb3NpdGlvbi5jSCkgLyBwb3NpdGlvbi5zSCkgPiAodGhpcy5zY3JvbGxQZXJjZW50IC8gMTAwKTtcclxuICAgIH1cclxuXHJcbn0iXX0=
|