@radix-ng/primitives 0.24.0 → 0.26.0
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/avatar/src/avatar-fallback.directive.d.ts +1 -1
- package/compodoc/documentation.json +14105 -11035
- package/core/index.d.ts +3 -2
- package/core/src/positioning/constants.d.ts +3 -0
- package/core/src/positioning/types.d.ts +42 -0
- package/{popover/src/popover.utils.d.ts → core/src/positioning/utils.d.ts} +4 -4
- package/dialog/src/dialog-trigger.directive.d.ts +12 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +17 -17
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +16 -16
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +224 -236
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +31 -26
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +3 -3
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +75 -277
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +12 -12
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +6 -6
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +34 -35
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +31 -34
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +18 -15
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +16 -16
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +1023 -511
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/package.json +3 -57
- package/popover/index.d.ts +0 -1
- package/popover/src/popover-arrow.directive.d.ts +6 -6
- package/popover/src/popover-content.directive.d.ts +9 -8
- package/popover/src/popover-root.directive.d.ts +9 -8
- package/popover/src/popover.types.d.ts +0 -31
- package/popover/src/utils/cdk-event.service.d.ts +1 -0
- package/switch/src/switch-root.directive.d.ts +4 -1
- package/tooltip/README.md +2 -0
- package/tooltip/index.d.ts +9 -6
- package/tooltip/src/tooltip-anchor.directive.d.ts +28 -0
- package/tooltip/src/tooltip-anchor.token.d.ts +3 -0
- package/tooltip/src/tooltip-arrow.directive.d.ts +23 -8
- package/tooltip/src/tooltip-close.directive.d.ts +18 -0
- package/tooltip/src/tooltip-close.token.d.ts +3 -0
- package/tooltip/src/tooltip-content-attributes.component.d.ts +17 -0
- package/tooltip/src/tooltip-content-attributes.token.d.ts +3 -0
- package/tooltip/src/tooltip-content.directive.d.ts +88 -20
- package/tooltip/src/tooltip-root.directive.d.ts +122 -57
- package/tooltip/src/tooltip-root.inject.d.ts +3 -0
- package/tooltip/src/tooltip-trigger.directive.d.ts +11 -11
- package/tooltip/src/tooltip.types.d.ts +16 -16
- package/tooltip/src/utils/cdk-event.service.d.ts +30 -0
- package/tooltip/src/utils/constants.d.ts +1 -0
- package/tooltip/src/utils/types.d.ts +7 -0
- package/core/src/control-value-accessor/index.d.ts +0 -75
- package/core/src/create-inject-context/assert-injector.d.ts +0 -51
- package/core/src/create-inject-context/index.d.ts +0 -68
- package/core/src/types.d.ts +0 -23
- package/esm2022/accordion/index.mjs +0 -40
- package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
- package/esm2022/accordion/src/accordion-content.directive.mjs +0 -42
- package/esm2022/accordion/src/accordion-header.directive.mjs +0 -23
- package/esm2022/accordion/src/accordion-item.directive.mjs +0 -196
- package/esm2022/accordion/src/accordion-root.directive.mjs +0 -200
- package/esm2022/accordion/src/accordion-trigger.directive.mjs +0 -42
- package/esm2022/alert-dialog/index.mjs +0 -41
- package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +0 -5
- package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +0 -24
- package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +0 -34
- package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +0 -24
- package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +0 -14
- package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +0 -24
- package/esm2022/alert-dialog/src/alert-dialog.service.mjs +0 -46
- package/esm2022/aspect-ratio/index.mjs +0 -2
- package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +0 -5
- package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +0 -57
- package/esm2022/avatar/index.mjs +0 -31
- package/esm2022/avatar/radix-ng-primitives-avatar.mjs +0 -5
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +0 -67
- package/esm2022/avatar/src/avatar-image.directive.mjs +0 -65
- package/esm2022/avatar/src/avatar-root.directive.mjs +0 -26
- package/esm2022/avatar/src/avatar.config.mjs +0 -17
- package/esm2022/checkbox/index.mjs +0 -36
- package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +0 -5
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +0 -33
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +0 -24
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +0 -44
- package/esm2022/checkbox/src/checkbox.directive.mjs +0 -141
- package/esm2022/checkbox/src/checkbox.token.mjs +0 -6
- package/esm2022/collapsible/index.mjs +0 -4
- package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +0 -5
- package/esm2022/collapsible/src/collapsible-content.directive.mjs +0 -42
- package/esm2022/collapsible/src/collapsible-content.token.mjs +0 -3
- package/esm2022/collapsible/src/collapsible-root.directive.mjs +0 -127
- package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +0 -49
- package/esm2022/context-menu/index.mjs +0 -65
- package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +0 -5
- package/esm2022/context-menu/src/context-menu-content.directive.mjs +0 -56
- package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +0 -39
- package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +0 -22
- package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +0 -37
- package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +0 -67
- package/esm2022/context-menu/src/context-menu-item-selectable.mjs +0 -31
- package/esm2022/context-menu/src/context-menu-item.directive.mjs +0 -70
- package/esm2022/context-menu/src/context-menu-label.directive.mjs +0 -14
- package/esm2022/context-menu/src/context-menu-separator.directive.mjs +0 -21
- package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +0 -92
- package/esm2022/core/index.mjs +0 -11
- package/esm2022/core/radix-ng-primitives-core.mjs +0 -5
- package/esm2022/core/src/accessor/provide-value-accessor.mjs +0 -19
- package/esm2022/core/src/auto-focus.directive.mjs +0 -80
- package/esm2022/core/src/control-value-accessor/index.mjs +0 -103
- package/esm2022/core/src/create-inject-context/assert-injector.mjs +0 -15
- package/esm2022/core/src/create-inject-context/index.mjs +0 -116
- package/esm2022/core/src/document.mjs +0 -6
- package/esm2022/core/src/id-generator.mjs +0 -43
- package/esm2022/core/src/inject-ng-control.mjs +0 -17
- package/esm2022/core/src/is-client.mjs +0 -6
- package/esm2022/core/src/is-inside-form.mjs +0 -7
- package/esm2022/core/src/types.mjs +0 -2
- package/esm2022/core/src/window.mjs +0 -15
- package/esm2022/dialog/index.mjs +0 -50
- package/esm2022/dialog/radix-ng-primitives-dialog.mjs +0 -5
- package/esm2022/dialog/src/dialog-close.directive.mjs +0 -25
- package/esm2022/dialog/src/dialog-content.directive.mjs +0 -46
- package/esm2022/dialog/src/dialog-description.directive.mjs +0 -14
- package/esm2022/dialog/src/dialog-dismiss.directive.mjs +0 -25
- package/esm2022/dialog/src/dialog-ref.mjs +0 -46
- package/esm2022/dialog/src/dialog-title.directive.mjs +0 -14
- package/esm2022/dialog/src/dialog-trigger.directive.mjs +0 -54
- package/esm2022/dialog/src/dialog.config.mjs +0 -6
- package/esm2022/dialog/src/dialog.injectors.mjs +0 -10
- package/esm2022/dialog/src/dialog.providers.mjs +0 -26
- package/esm2022/dialog/src/dialog.service.mjs +0 -96
- package/esm2022/dropdown-menu/index.mjs +0 -68
- package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +0 -5
- package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +0 -56
- package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +0 -39
- package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +0 -22
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +0 -37
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +0 -67
- package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +0 -31
- package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +0 -73
- package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +0 -14
- package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +0 -21
- package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +0 -210
- package/esm2022/index.mjs +0 -2
- package/esm2022/label/index.mjs +0 -2
- package/esm2022/label/radix-ng-primitives-label.mjs +0 -5
- package/esm2022/label/src/label.directive.mjs +0 -57
- package/esm2022/menu/index.mjs +0 -45
- package/esm2022/menu/radix-ng-primitives-menu.mjs +0 -5
- package/esm2022/menu/src/menu-content.directive.mjs +0 -17
- package/esm2022/menu/src/menu-directive.mjs +0 -18
- package/esm2022/menu/src/menu-group.directive.mjs +0 -20
- package/esm2022/menu/src/menu-item.directive.mjs +0 -46
- package/esm2022/menu/src/menu-label.directive.mjs +0 -14
- package/esm2022/menu/src/menu-separator.directive.mjs +0 -21
- package/esm2022/menubar/index.mjs +0 -60
- package/esm2022/menubar/radix-ng-primitives-menubar.mjs +0 -5
- package/esm2022/menubar/src/menubar-content.directive.mjs +0 -17
- package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +0 -34
- package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +0 -17
- package/esm2022/menubar/src/menubar-item-radio.directive.mjs +0 -35
- package/esm2022/menubar/src/menubar-item.directive.mjs +0 -20
- package/esm2022/menubar/src/menubar-radio-group.directive.mjs +0 -17
- package/esm2022/menubar/src/menubar-root.directive.mjs +0 -24
- package/esm2022/menubar/src/menubar-separator.directive.mjs +0 -17
- package/esm2022/menubar/src/menubar-trigger.directive.mjs +0 -45
- package/esm2022/popover/index.mjs +0 -51
- package/esm2022/popover/radix-ng-primitives-popover.mjs +0 -5
- package/esm2022/popover/src/popover-anchor.directive.mjs +0 -75
- package/esm2022/popover/src/popover-anchor.token.mjs +0 -3
- package/esm2022/popover/src/popover-arrow.directive.mjs +0 -117
- package/esm2022/popover/src/popover-arrow.token.mjs +0 -3
- package/esm2022/popover/src/popover-close.directive.mjs +0 -49
- package/esm2022/popover/src/popover-close.token.mjs +0 -3
- package/esm2022/popover/src/popover-content-attributes.component.mjs +0 -70
- package/esm2022/popover/src/popover-content-attributes.token.mjs +0 -3
- package/esm2022/popover/src/popover-content.directive.mjs +0 -270
- package/esm2022/popover/src/popover-root.directive.mjs +0 -320
- package/esm2022/popover/src/popover-root.inject.mjs +0 -7
- package/esm2022/popover/src/popover-trigger.directive.mjs +0 -41
- package/esm2022/popover/src/popover.constants.mjs +0 -90
- package/esm2022/popover/src/popover.types.mjs +0 -31
- package/esm2022/popover/src/popover.utils.mjs +0 -107
- package/esm2022/popover/src/utils/cdk-event.service.mjs +0 -153
- package/esm2022/popover/src/utils/constants.mjs +0 -2
- package/esm2022/popover/src/utils/types.mjs +0 -2
- package/esm2022/progress/index.mjs +0 -25
- package/esm2022/progress/radix-ng-primitives-progress.mjs +0 -5
- package/esm2022/progress/src/progress-indicator.directive.mjs +0 -33
- package/esm2022/progress/src/progress-root.directive.mjs +0 -132
- package/esm2022/radio/index.mjs +0 -5
- package/esm2022/radio/radix-ng-primitives-radio.mjs +0 -5
- package/esm2022/radio/src/radio-indicator.directive.mjs +0 -25
- package/esm2022/radio/src/radio-item-input.directive.mjs +0 -37
- package/esm2022/radio/src/radio-item.directive.mjs +0 -86
- package/esm2022/radio/src/radio-root.directive.mjs +0 -104
- package/esm2022/radio/src/radio-tokens.mjs +0 -3
- package/esm2022/radix-ng-primitives.mjs +0 -5
- package/esm2022/roving-focus/index.mjs +0 -3
- package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -138
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -133
- package/esm2022/roving-focus/src/utils.mjs +0 -47
- package/esm2022/select/index.mjs +0 -65
- package/esm2022/select/radix-ng-primitives-select.mjs +0 -5
- package/esm2022/select/src/select-content.directive.mjs +0 -53
- package/esm2022/select/src/select-group.directive.mjs +0 -18
- package/esm2022/select/src/select-icon.directive.mjs +0 -18
- package/esm2022/select/src/select-item-indicator.directive.mjs +0 -23
- package/esm2022/select/src/select-item.directive.mjs +0 -122
- package/esm2022/select/src/select-label.directive.mjs +0 -15
- package/esm2022/select/src/select-separator.directive.mjs +0 -18
- package/esm2022/select/src/select-trigger.directive.mjs +0 -38
- package/esm2022/select/src/select-value.directive.mjs +0 -21
- package/esm2022/select/src/select.component.mjs +0 -234
- package/esm2022/separator/index.mjs +0 -2
- package/esm2022/separator/radix-ng-primitives-separator.mjs +0 -5
- package/esm2022/separator/src/separator.directive.mjs +0 -61
- package/esm2022/slider/index.mjs +0 -28
- package/esm2022/slider/radix-ng-primitives-slider.mjs +0 -5
- package/esm2022/slider/src/slider-horizontal.component.mjs +0 -117
- package/esm2022/slider/src/slider-impl.directive.mjs +0 -89
- package/esm2022/slider/src/slider-orientation-context.service.mjs +0 -27
- package/esm2022/slider/src/slider-range.component.mjs +0 -41
- package/esm2022/slider/src/slider-root.component.mjs +0 -210
- package/esm2022/slider/src/slider-thumb-impl.directive.mjs +0 -106
- package/esm2022/slider/src/slider-thumb.component.mjs +0 -22
- package/esm2022/slider/src/slider-track.component.mjs +0 -27
- package/esm2022/slider/src/slider-vertical.component.mjs +0 -117
- package/esm2022/slider/src/utils.mjs +0 -94
- package/esm2022/switch/index.mjs +0 -30
- package/esm2022/switch/radix-ng-primitives-switch.mjs +0 -5
- package/esm2022/switch/src/switch-input.directive.mjs +0 -44
- package/esm2022/switch/src/switch-root.directive.mjs +0 -145
- package/esm2022/switch/src/switch-thumb.directive.mjs +0 -26
- package/esm2022/tabs/index.mjs +0 -35
- package/esm2022/tabs/radix-ng-primitives-tabs.mjs +0 -5
- package/esm2022/tabs/src/tabs-content.directive.mjs +0 -35
- package/esm2022/tabs/src/tabs-list.directive.mjs +0 -26
- package/esm2022/tabs/src/tabs-root.directive.mjs +0 -57
- package/esm2022/tabs/src/tabs-trigger.directive.mjs +0 -78
- package/esm2022/tabs/src/utils.mjs +0 -7
- package/esm2022/toggle/index.mjs +0 -3
- package/esm2022/toggle/radix-ng-primitives-toggle.mjs +0 -5
- package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +0 -31
- package/esm2022/toggle/src/toggle.directive.mjs +0 -79
- package/esm2022/toggle-group/index.mjs +0 -6
- package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +0 -5
- package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +0 -85
- package/esm2022/toggle-group/src/toggle-group-item.token.mjs +0 -3
- package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +0 -185
- package/esm2022/toggle-group/src/toggle-group.directive.mjs +0 -179
- package/esm2022/toggle-group/src/toggle-group.token.mjs +0 -6
- package/esm2022/tooltip/index.mjs +0 -41
- package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
- package/esm2022/tooltip/src/get-content-position.mjs +0 -31
- package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -92
- package/esm2022/tooltip/src/tooltip-arrow.token.mjs +0 -3
- package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +0 -24
- package/esm2022/tooltip/src/tooltip-content.directive.mjs +0 -48
- package/esm2022/tooltip/src/tooltip-content.token.mjs +0 -3
- package/esm2022/tooltip/src/tooltip-root.directive.mjs +0 -288
- package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -70
- package/esm2022/tooltip/src/tooltip.config.mjs +0 -18
- package/esm2022/tooltip/src/tooltip.constants.mjs +0 -84
- package/esm2022/tooltip/src/tooltip.types.mjs +0 -14
- package/esm2022/visually-hidden/index.mjs +0 -4
- package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
- package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +0 -74
- package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +0 -74
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
- package/popover/src/popover.constants.d.ts +0 -8
- package/tooltip/src/get-content-position.d.ts +0 -3
- package/tooltip/src/tooltip-content-attributes.directive.d.ts +0 -8
- package/tooltip/src/tooltip-content.token.d.ts +0 -3
- package/tooltip/src/tooltip.config.d.ts +0 -6
- package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,234 +0,0 @@
|
|
1
|
-
import { Directionality } from '@angular/cdk/bidi';
|
2
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
3
|
-
import { CdkConnectedOverlay, Overlay, OverlayModule } from '@angular/cdk/overlay';
|
4
|
-
import { booleanAttribute, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, forwardRef, inject, Input, NgZone, Output, QueryList, ViewChild } from '@angular/core';
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
6
|
-
import { defer, delay, merge, Subscription, switchMap, take } from 'rxjs';
|
7
|
-
import { RdxSelectContentDirective } from './select-content.directive';
|
8
|
-
import { RdxSelectItemDirective } from './select-item.directive';
|
9
|
-
import { RdxSelectTriggerDirective } from './select-trigger.directive';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
import * as i1 from "@angular/cdk/overlay";
|
12
|
-
let nextId = 0;
|
13
|
-
export class RdxSelectComponent {
|
14
|
-
constructor() {
|
15
|
-
this.overlay = inject(Overlay);
|
16
|
-
this.elementRef = inject(ElementRef);
|
17
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
18
|
-
this.destroyRef = inject(DestroyRef);
|
19
|
-
this.ngZone = inject(NgZone);
|
20
|
-
/**
|
21
|
-
* This position config ensures that the top "start" corner of the overlay
|
22
|
-
* is aligned with the top "start" of the origin by default (overlapping
|
23
|
-
* the trigger completely). If the panel cannot fit below the trigger, it
|
24
|
-
* will fall back to a position above the trigger.
|
25
|
-
*/
|
26
|
-
this.positions = [
|
27
|
-
{
|
28
|
-
originX: 'start',
|
29
|
-
originY: 'bottom',
|
30
|
-
overlayX: 'start',
|
31
|
-
overlayY: 'top'
|
32
|
-
},
|
33
|
-
{
|
34
|
-
originX: 'start',
|
35
|
-
originY: 'top',
|
36
|
-
overlayX: 'start',
|
37
|
-
overlayY: 'bottom'
|
38
|
-
}
|
39
|
-
];
|
40
|
-
this.closeSubscription = Subscription.EMPTY;
|
41
|
-
/**
|
42
|
-
* @ignore
|
43
|
-
*/
|
44
|
-
this.dir = inject(Directionality, { optional: true });
|
45
|
-
/**
|
46
|
-
* @ignore
|
47
|
-
*/
|
48
|
-
this.id = `rdx-select-${nextId++}`;
|
49
|
-
this.open = false;
|
50
|
-
this.onValueChange = new EventEmitter();
|
51
|
-
this.onOpenChange = new EventEmitter();
|
52
|
-
this.optionSelectionChanges = defer(() => {
|
53
|
-
if (this.content.options) {
|
54
|
-
return merge(...this.content.options.map((option) => option.onSelectionChange));
|
55
|
-
}
|
56
|
-
return this.ngZone.onStable.asObservable().pipe(take(1), switchMap(() => this.optionSelectionChanges));
|
57
|
-
});
|
58
|
-
}
|
59
|
-
/**
|
60
|
-
* The controlled value of the item to expand
|
61
|
-
*/
|
62
|
-
set value(value) {
|
63
|
-
if (this._value !== value) {
|
64
|
-
this._value = value;
|
65
|
-
this.selectValue(value);
|
66
|
-
this.changeDetectorRef.markForCheck();
|
67
|
-
}
|
68
|
-
}
|
69
|
-
get value() {
|
70
|
-
return this._value ?? this.defaultValue;
|
71
|
-
}
|
72
|
-
get selected() {
|
73
|
-
return this.selectionModel.selected[0].viewValue || null;
|
74
|
-
}
|
75
|
-
ngOnInit() {
|
76
|
-
this.selectionModel = new SelectionModel();
|
77
|
-
this.selectionModel.changed.subscribe((changes) => {
|
78
|
-
if (changes.added.length) {
|
79
|
-
this.onValueChange.emit(this.selectionModel.selected[0].value);
|
80
|
-
}
|
81
|
-
if (changes.removed.length) {
|
82
|
-
changes.removed.forEach((item) => (item.selected = false));
|
83
|
-
}
|
84
|
-
});
|
85
|
-
}
|
86
|
-
ngAfterContentInit() {
|
87
|
-
this.selectDefaultValue();
|
88
|
-
this.optionSelectionChanges.subscribe((event) => {
|
89
|
-
this.selectionModel.clear();
|
90
|
-
this.selectionModel.select(event.source);
|
91
|
-
this.close();
|
92
|
-
this.trigger.focus();
|
93
|
-
});
|
94
|
-
this.content.keyManager.tabOut.subscribe(() => {
|
95
|
-
if (this.open)
|
96
|
-
this.close();
|
97
|
-
});
|
98
|
-
if (this.defaultOpen) {
|
99
|
-
this.openPanel();
|
100
|
-
}
|
101
|
-
}
|
102
|
-
/**
|
103
|
-
* Callback that is invoked when the overlay panel has been attached.
|
104
|
-
*/
|
105
|
-
onAttached() {
|
106
|
-
this.closeSubscription = this.closingActions()
|
107
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
108
|
-
.pipe(delay(0))
|
109
|
-
.subscribe(() => this.close());
|
110
|
-
}
|
111
|
-
onDetach() {
|
112
|
-
this.close();
|
113
|
-
this.closeSubscription.unsubscribe();
|
114
|
-
}
|
115
|
-
/** Toggles the overlay panel open or closed. */
|
116
|
-
toggle() {
|
117
|
-
if (this.open) {
|
118
|
-
this.close();
|
119
|
-
}
|
120
|
-
else {
|
121
|
-
this.openPanel();
|
122
|
-
}
|
123
|
-
}
|
124
|
-
openPanel() {
|
125
|
-
this.open = true;
|
126
|
-
this.onOpenChange.emit(this.open);
|
127
|
-
}
|
128
|
-
close() {
|
129
|
-
this.open = false;
|
130
|
-
this.onOpenChange.emit(this.open);
|
131
|
-
}
|
132
|
-
updateActiveItem(item) {
|
133
|
-
this.content.keyManager.updateActiveItem(item);
|
134
|
-
}
|
135
|
-
selectDefaultValue() {
|
136
|
-
if (!this.defaultValue)
|
137
|
-
return;
|
138
|
-
this.selectValue(this.defaultValue);
|
139
|
-
}
|
140
|
-
selectValue(value) {
|
141
|
-
const option = this.content?.options.find((option) => option.value === value);
|
142
|
-
if (option) {
|
143
|
-
option.selected = true;
|
144
|
-
option.highlighted = true;
|
145
|
-
this.selectionModel.select(option);
|
146
|
-
this.updateActiveItem(option);
|
147
|
-
}
|
148
|
-
}
|
149
|
-
closingActions() {
|
150
|
-
return merge(this.overlayDir.overlayRef.outsidePointerEvents(), this.overlayDir.overlayRef.detachments());
|
151
|
-
}
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.11", type: RdxSelectComponent, isStandalone: true, selector: "[rdxSelect]", inputs: { defaultValue: "defaultValue", name: "name", defaultOpen: ["defaultOpen", "defaultOpen", booleanAttribute], open: ["open", "open", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, outputs: { onValueChange: "onValueChange", onOpenChange: "onOpenChange" }, host: { listeners: { "click": "toggle()", "keydown": "content.keyManager.onKeydown($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: RdxSelectTriggerDirective, descendants: true }, { propertyName: "content", first: true, predicate: i0.forwardRef(() => RdxSelectContentDirective), descendants: true }, { propertyName: "items", predicate: i0.forwardRef(() => RdxSelectItemDirective), descendants: true }], viewQueries: [{ propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }], ngImport: i0, template: `
|
154
|
-
<ng-content select="[rdxSelectTrigger]" />
|
155
|
-
|
156
|
-
<ng-template
|
157
|
-
[cdkConnectedOverlayOpen]="open"
|
158
|
-
[cdkConnectedOverlayOrigin]="elementRef"
|
159
|
-
[cdkConnectedOverlayPositions]="positions"
|
160
|
-
[cdkConnectedOverlayScrollStrategy]="overlay.scrollStrategies.reposition()"
|
161
|
-
(attach)="onAttached()"
|
162
|
-
(backdropClick)="close()"
|
163
|
-
(detach)="onDetach()"
|
164
|
-
cdkConnectedOverlay
|
165
|
-
>
|
166
|
-
<ng-content select="[rdxSelectContent]" />
|
167
|
-
</ng-template>
|
168
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }] }); }
|
169
|
-
}
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectComponent, decorators: [{
|
171
|
-
type: Component,
|
172
|
-
args: [{
|
173
|
-
standalone: true,
|
174
|
-
selector: '[rdxSelect]',
|
175
|
-
template: `
|
176
|
-
<ng-content select="[rdxSelectTrigger]" />
|
177
|
-
|
178
|
-
<ng-template
|
179
|
-
[cdkConnectedOverlayOpen]="open"
|
180
|
-
[cdkConnectedOverlayOrigin]="elementRef"
|
181
|
-
[cdkConnectedOverlayPositions]="positions"
|
182
|
-
[cdkConnectedOverlayScrollStrategy]="overlay.scrollStrategies.reposition()"
|
183
|
-
(attach)="onAttached()"
|
184
|
-
(backdropClick)="close()"
|
185
|
-
(detach)="onDetach()"
|
186
|
-
cdkConnectedOverlay
|
187
|
-
>
|
188
|
-
<ng-content select="[rdxSelectContent]" />
|
189
|
-
</ng-template>
|
190
|
-
`,
|
191
|
-
host: {
|
192
|
-
'(click)': 'toggle()',
|
193
|
-
'(keydown)': 'content.keyManager.onKeydown($event)'
|
194
|
-
},
|
195
|
-
imports: [
|
196
|
-
OverlayModule
|
197
|
-
]
|
198
|
-
}]
|
199
|
-
}], propDecorators: { trigger: [{
|
200
|
-
type: ContentChild,
|
201
|
-
args: [RdxSelectTriggerDirective]
|
202
|
-
}], content: [{
|
203
|
-
type: ContentChild,
|
204
|
-
args: [forwardRef(() => RdxSelectContentDirective)]
|
205
|
-
}], items: [{
|
206
|
-
type: ContentChildren,
|
207
|
-
args: [forwardRef(() => RdxSelectItemDirective), { descendants: true }]
|
208
|
-
}], overlayDir: [{
|
209
|
-
type: ViewChild,
|
210
|
-
args: [CdkConnectedOverlay, { static: false }]
|
211
|
-
}], defaultValue: [{
|
212
|
-
type: Input
|
213
|
-
}], name: [{
|
214
|
-
type: Input
|
215
|
-
}], defaultOpen: [{
|
216
|
-
type: Input,
|
217
|
-
args: [{ transform: booleanAttribute }]
|
218
|
-
}], open: [{
|
219
|
-
type: Input,
|
220
|
-
args: [{ transform: booleanAttribute }]
|
221
|
-
}], disabled: [{
|
222
|
-
type: Input,
|
223
|
-
args: [{ transform: booleanAttribute }]
|
224
|
-
}], required: [{
|
225
|
-
type: Input,
|
226
|
-
args: [{ transform: booleanAttribute }]
|
227
|
-
}], value: [{
|
228
|
-
type: Input
|
229
|
-
}], onValueChange: [{
|
230
|
-
type: Output
|
231
|
-
}], onOpenChange: [{
|
232
|
-
type: Output
|
233
|
-
}] } });
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VsZWN0L3NyYy9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUVILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQXVCLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUV2RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUE2QmYsTUFBTSxPQUFPLGtCQUFrQjtJQTNCL0I7UUE0QmMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixlQUFVLEdBQUcsTUFBTSxDQUFD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QkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBMkN4QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFa0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxJQUFJO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUdFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRUUsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNbEMsS0FBSztzQkFEUixLQUFLO2dCQWlCYSxhQUFhO3NCQUEvQixNQUFNO2dCQUVZLFlBQVk7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBkZWZlciwgZGVsYXksIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR4U2VsZWN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFNlbGVjdEl0ZW1DaGFuZ2UsIFJkeFNlbGVjdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QtdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1tyZHhTZWxlY3RdJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmR4U2VsZWN0VHJpZ2dlcl1cIiAvPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwiZWxlbWVudFJlZlwiXG4gICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJwb3NpdGlvbnNcIlxuICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJvdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXCJcbiAgICAgICAgICAgIChhdHRhY2gpPVwib25BdHRhY2hlZCgpXCJcbiAgICAgICAgICAgIChiYWNrZHJvcENsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgKGRldGFjaCk9XCJvbkRldGFjaCgpXCJcbiAgICAgICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JkeFNlbGVjdENvbnRlbnRdXCIgLz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlKCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ2NvbnRlbnQua2V5TWFuYWdlci5vbktleWRvd24oJGV2ZW50KSdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgT3ZlcmxheU1vZHVsZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmR4U2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgQENvbnRlbnRDaGlsZChSZHhTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlKSBwcm90ZWN0ZWQgdHJpZ2dlcjogUmR4U2VsZWN0VHJpZ2dlckRpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBSZHhTZWxlY3RDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwcm90ZWN0ZWQgY29udGVudDogUmR4U2VsZWN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBSZHhTZWxlY3RJdGVtRGlyZWN0aXZlKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGl0ZW1zOiBRdWVyeUxpc3Q8UmR4U2VsZWN0SXRlbURpcmVjdGl2ZT47XG5cbiAgICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXksIHsgc3RhdGljOiBmYWxzZSB9KSBvdmVybGF5RGlyOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xuXG4gICAgLyoqIERlYWxzIHdpdGggdGhlIHNlbGVjdGlvbiBsb2dpYy4gKi9cbiAgICBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8UmR4U2VsZWN0SXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIHBvc2l0aW9uIGNvbmZpZyBlbnN1cmVzIHRoYXQgdGhlIHRvcCBcInN0YXJ0XCIgY29ybmVyIG9mIHRoZSBvdmVybGF5XG4gICAgICogaXMgYWxpZ25lZCB3aXRoIHRoZSB0b3AgXCJzdGFydFwiIG9mIHRoZSBvcmlnaW4gYnkgZGVmYXVsdCAob3ZlcmxhcHBpbmdcbiAgICAgKiB0aGUgdHJpZ2dlciBjb21wbGV0ZWx5KS4gSWYgdGhlIHBhbmVsIGNhbm5vdCBmaXQgYmVsb3cgdGhlIHRyaWdnZXIsIGl0XG4gICAgICogd2lsbCBmYWxsIGJhY2sgdG8gYSBwb3NpdGlvbiBhYm92ZSB0aGUgdHJpZ2dlci5cbiAgICAgKi9cbiAgICBwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHJpdmF0ZSBjbG9zZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBkaXIgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHksIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGtleU1hbmFnZXI6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFJkeFNlbGVjdEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgPSBgcmR4LXNlbGVjdC0ke25leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKSBkZWZhdWx0VmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGVmYXVsdE9wZW46IGJvb2xlYW47XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIFNlbGVjdCBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29udHJvbGxlZCB2YWx1ZSBvZiB0aGUgaXRlbSB0byBleHBhbmRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VmFsdWUodmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUgPz8gdGhpcy5kZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBvbk9wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHJlYWRvbmx5IG9wdGlvblNlbGVjdGlvbkNoYW5nZXM6IE9ic2VydmFibGU8UmR4U2VsZWN0SXRlbUNoYW5nZT4gPSBkZWZlcigoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnQub3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnRoaXMuY29udGVudC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24ub25TZWxlY3Rpb25DaGFuZ2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5nWm9uZS5vblN0YWJsZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLm9wdGlvblNlbGVjdGlvbkNoYW5nZXMpXG4gICAgICAgICk7XG4gICAgfSkgYXMgT2JzZXJ2YWJsZTxSZHhTZWxlY3RJdGVtQ2hhbmdlPjtcblxuICAgIGdldCBzZWxlY3RlZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWRbMF0udmlld1ZhbHVlIHx8IG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8UmR4U2VsZWN0SXRlbURpcmVjdGl2ZT4oKTtcblxuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmNoYW5nZWQuc3Vic2NyaWJlKChjaGFuZ2VzKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlcy5hZGRlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkWzBdLnZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNoYW5nZXMucmVtb3ZlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2VzLnJlbW92ZWQuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RGVmYXVsdFZhbHVlKCk7XG5cbiAgICAgICAgdGhpcy5vcHRpb25TZWxlY3Rpb25DaGFuZ2VzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoZXZlbnQuc291cmNlKTtcblxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGVudC5rZXlNYW5hZ2VyLnRhYk91dC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMub3BlbikgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5kZWZhdWx0T3Blbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRoYXQgaXMgaW52b2tlZCB3aGVuIHRoZSBvdmVybGF5IHBhbmVsIGhhcyBiZWVuIGF0dGFjaGVkLlxuICAgICAqL1xuICAgIG9uQXR0YWNoZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VTdWJzY3JpcHRpb24gPSB0aGlzLmNsb3NpbmdBY3Rpb25zKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnBpcGUoZGVsYXkoMCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgfVxuXG4gICAgb25EZXRhY2goKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5jbG9zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBUb2dnbGVzIHRoZSBvdmVybGF5IHBhbmVsIG9wZW4gb3IgY2xvc2VkLiAqL1xuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5QYW5lbCgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlLmVtaXQodGhpcy5vcGVuKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBY3RpdmVJdGVtKGl0ZW06IFJkeFNlbGVjdEl0ZW1EaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5jb250ZW50LmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShpdGVtKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdERlZmF1bHRWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRWYWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0VmFsdWUodGhpcy5kZWZhdWx0VmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0VmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmNvbnRlbnQ/Lm9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlKTtcblxuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgb3B0aW9uLmhpZ2hsaWdodGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Qob3B0aW9uKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbShvcHRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zaW5nQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmIS5vdXRzaWRlUG9pbnRlckV2ZW50cygpLCB0aGlzLm92ZXJsYXlEaXIub3ZlcmxheVJlZiEuZGV0YWNobWVudHMoKSk7XG4gICAgfVxufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './src/separator.directive';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NlcGFyYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VwYXJhdG9yLmRpcmVjdGl2ZSc7XG4iXX0=
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NlcGFyYXRvci9yYWRpeC1uZy1wcmltaXRpdmVzLXNlcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,61 +0,0 @@
|
|
1
|
-
import { booleanAttribute, computed, Directive, input } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
const DEFAULT_ORIENTATION = 'horizontal';
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
5
|
-
const ORIENTATIONS = ['horizontal', 'vertical'];
|
6
|
-
/**
|
7
|
-
* Directive that adds accessible and configurable separator element to the DOM.
|
8
|
-
* This can be either horizontal or vertical and optionally decorative (which removes
|
9
|
-
* it from the accessibility tree).
|
10
|
-
*
|
11
|
-
* @group Components
|
12
|
-
*/
|
13
|
-
export class RdxSeparatorRootDirective {
|
14
|
-
constructor() {
|
15
|
-
/**
|
16
|
-
* Orientation of the separator, can be either 'horizontal' or 'vertical'.
|
17
|
-
*
|
18
|
-
* @defaultValue 'horizontal'
|
19
|
-
* @group Props
|
20
|
-
*/
|
21
|
-
this.orientation = input(DEFAULT_ORIENTATION);
|
22
|
-
/**
|
23
|
-
* If true, the separator will be considered decorative and removed from
|
24
|
-
* the accessibility tree. Defaults to false.
|
25
|
-
*
|
26
|
-
* @defaultValue false
|
27
|
-
* @group Props
|
28
|
-
*/
|
29
|
-
this.decorative = input(false, { transform: booleanAttribute });
|
30
|
-
/**
|
31
|
-
* Computes the `role` attribute for the separator. If `decorative` is true,
|
32
|
-
* the role is set to "none", otherwise it is "separator".
|
33
|
-
*
|
34
|
-
* @ignore
|
35
|
-
*/
|
36
|
-
this.computedRole = computed(() => (this.decorative() ? 'none' : 'separator'));
|
37
|
-
/**
|
38
|
-
* Computes the `aria-orientation` attribute. It is set to "vertical" only if
|
39
|
-
* the separator is not decorative and the orientation is set to "vertical".
|
40
|
-
* For horizontal orientation, the attribute is omitted.
|
41
|
-
*
|
42
|
-
* @ignore
|
43
|
-
*/
|
44
|
-
this.computedAriaOrientation = computed(() => !this.decorative() && this.orientation() === 'vertical' ? 'vertical' : null);
|
45
|
-
}
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSeparatorRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
47
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxSeparatorRootDirective, isStandalone: true, selector: "div[rdxSeparatorRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "computedRole()", "attr.aria-orientation": "computedAriaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 }); }
|
48
|
-
}
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSeparatorRootDirective, decorators: [{
|
50
|
-
type: Directive,
|
51
|
-
args: [{
|
52
|
-
selector: 'div[rdxSeparatorRoot]',
|
53
|
-
standalone: true,
|
54
|
-
host: {
|
55
|
-
'[attr.role]': 'computedRole()',
|
56
|
-
'[attr.aria-orientation]': 'computedAriaOrientation()',
|
57
|
-
'[attr.data-orientation]': 'orientation()'
|
58
|
-
}
|
59
|
-
}]
|
60
|
-
}] });
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VwYXJhdG9yL3NyYy9zZXBhcmF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0UsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7QUFFekMsNkRBQTZEO0FBQzdELE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBVSxDQUFDO0FBZ0J6RDs7Ozs7O0dBTUc7QUFXSCxNQUFNLE9BQU8seUJBQXlCO0lBVnRDO1FBV0k7Ozs7O1dBS0c7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBYyxtQkFBbUIsQ0FBQyxDQUFDO1FBRS9EOzs7Ozs7V0FNRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFM0Y7Ozs7O1dBS0c7UUFDZ0IsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUU3Rjs7Ozs7O1dBTUc7UUFDZ0IsNEJBQXVCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN2RCxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDOUUsQ0FBQztLQUNMOytHQXBDWSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLGFBQWEsRUFBRSxnQkFBZ0I7d0JBQy9CLHlCQUF5QixFQUFFLDJCQUEyQjt3QkFFdEQseUJBQXlCLEVBQUUsZUFBZTtxQkFDN0M7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgREVGQVVMVF9PUklFTlRBVElPTiA9ICdob3Jpem9udGFsJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuY29uc3QgT1JJRU5UQVRJT05TID0gWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE9yaWVudGF0aW9uID0gKHR5cGVvZiBPUklFTlRBVElPTlMpW251bWJlcl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VwYXJhdG9yUHJvcHMge1xuICAgIC8qKlxuICAgICAqIEVpdGhlciBgdmVydGljYWxgIG9yIGBob3Jpem9udGFsYC4gRGVmYXVsdHMgdG8gYGhvcml6b250YWxgLlxuICAgICAqL1xuICAgIG9yaWVudGF0aW9uPzogT3JpZW50YXRpb247XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHB1cmVseSBkZWNvcmF0aXZlLiBXaGVuIHRydWUsIGFjY2Vzc2liaWxpdHktcmVsYXRlZCBhdHRyaWJ1dGVzXG4gICAgICogYXJlIHVwZGF0ZWQgc28gdGhhdCB0aGUgcmVuZGVyZWQgZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZS5cbiAgICAgKi9cbiAgICBkZWNvcmF0aXZlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBhZGRzIGFjY2Vzc2libGUgYW5kIGNvbmZpZ3VyYWJsZSBzZXBhcmF0b3IgZWxlbWVudCB0byB0aGUgRE9NLlxuICogVGhpcyBjYW4gYmUgZWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgYW5kIG9wdGlvbmFsbHkgZGVjb3JhdGl2ZSAod2hpY2ggcmVtb3Zlc1xuICogaXQgZnJvbSB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlKS5cbiAqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2RpdltyZHhTZXBhcmF0b3JSb290XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5yb2xlXSc6ICdjb21wdXRlZFJvbGUoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSc6ICdjb21wdXRlZEFyaWFPcmllbnRhdGlvbigpJyxcblxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24oKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFNlcGFyYXRvclJvb3REaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIE9yaWVudGF0aW9uIG9mIHRoZSBzZXBhcmF0b3IsIGNhbiBiZSBlaXRoZXIgJ2hvcml6b250YWwnIG9yICd2ZXJ0aWNhbCcuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdFZhbHVlICdob3Jpem9udGFsJ1xuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8T3JpZW50YXRpb24+KERFRkFVTFRfT1JJRU5UQVRJT04pO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhlIHNlcGFyYXRvciB3aWxsIGJlIGNvbnNpZGVyZWQgZGVjb3JhdGl2ZSBhbmQgcmVtb3ZlZCBmcm9tXG4gICAgICogdGhlIGFjY2Vzc2liaWxpdHkgdHJlZS4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVjb3JhdGl2ZSA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgdGhlIGByb2xlYCBhdHRyaWJ1dGUgZm9yIHRoZSBzZXBhcmF0b3IuIElmIGBkZWNvcmF0aXZlYCBpcyB0cnVlLFxuICAgICAqIHRoZSByb2xlIGlzIHNldCB0byBcIm5vbmVcIiwgb3RoZXJ3aXNlIGl0IGlzIFwic2VwYXJhdG9yXCIuXG4gICAgICpcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbXB1dGVkUm9sZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRlY29yYXRpdmUoKSA/ICdub25lJyA6ICdzZXBhcmF0b3InKSk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgYGFyaWEtb3JpZW50YXRpb25gIGF0dHJpYnV0ZS4gSXQgaXMgc2V0IHRvIFwidmVydGljYWxcIiBvbmx5IGlmXG4gICAgICogdGhlIHNlcGFyYXRvciBpcyBub3QgZGVjb3JhdGl2ZSBhbmQgdGhlIG9yaWVudGF0aW9uIGlzIHNldCB0byBcInZlcnRpY2FsXCIuXG4gICAgICogRm9yIGhvcml6b250YWwgb3JpZW50YXRpb24sIHRoZSBhdHRyaWJ1dGUgaXMgb21pdHRlZC5cbiAgICAgKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcHV0ZWRBcmlhT3JpZW50YXRpb24gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICAhdGhpcy5kZWNvcmF0aXZlKCkgJiYgdGhpcy5vcmllbnRhdGlvbigpID09PSAndmVydGljYWwnID8gJ3ZlcnRpY2FsJyA6IG51bGxcbiAgICApO1xufVxuIl19
|
package/esm2022/slider/index.mjs
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { RdxSliderRangeComponent } from './src/slider-range.component';
|
3
|
-
import { RdxSliderRootComponent } from './src/slider-root.component';
|
4
|
-
import { RdxSliderThumbComponent } from './src/slider-thumb.component';
|
5
|
-
import { RdxSliderTrackComponent } from './src/slider-track.component';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
export * from './src/slider-horizontal.component';
|
8
|
-
export * from './src/slider-impl.directive';
|
9
|
-
export * from './src/slider-range.component';
|
10
|
-
export * from './src/slider-root.component';
|
11
|
-
export * from './src/slider-thumb-impl.directive';
|
12
|
-
export * from './src/slider-thumb.component';
|
13
|
-
export * from './src/slider-track.component';
|
14
|
-
export * from './src/slider-vertical.component';
|
15
|
-
const _imports = [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent];
|
16
|
-
export class RdxSliderModule {
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderModule, imports: [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent], exports: [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent] }); }
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderModule }); }
|
20
|
-
}
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderModule, decorators: [{
|
22
|
-
type: NgModule,
|
23
|
-
args: [{
|
24
|
-
imports: [..._imports],
|
25
|
-
exports: [..._imports]
|
26
|
-
}]
|
27
|
-
}] });
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUV2RSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBTXJILE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxZQU5WLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixhQUFqRyxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUI7Z0hBTXRHLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vc3JjL3NsaWRlci1yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc3JjL3NsaWRlci1yb290LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHhTbGlkZXJUaHVtYkNvbXBvbmVudCB9IGZyb20gJy4vc3JjL3NsaWRlci10aHVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR4U2xpZGVyVHJhY2tDb21wb25lbnQgfSBmcm9tICcuL3NyYy9zbGlkZXItdHJhY2suY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2xpZGVyLWhvcml6b250YWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NsaWRlci1pbXBsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zbGlkZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NsaWRlci1yb290LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zbGlkZXItdGh1bWItaW1wbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2xpZGVyLXRodW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zbGlkZXItdHJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NsaWRlci12ZXJ0aWNhbC5jb21wb25lbnQnO1xuXG5jb25zdCBfaW1wb3J0cyA9IFtSZHhTbGlkZXJSb290Q29tcG9uZW50LCBSZHhTbGlkZXJUcmFja0NvbXBvbmVudCwgUmR4U2xpZGVyUmFuZ2VDb21wb25lbnQsIFJkeFNsaWRlclRodW1iQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uX2ltcG9ydHNdLFxuICAgIGV4cG9ydHM6IFsuLi5faW1wb3J0c11cbn0pXG5leHBvcnQgY2xhc3MgUmR4U2xpZGVyTW9kdWxlIHt9XG4iXX0=
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1zbGlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9yYWRpeC1uZy1wcmltaXRpdmVzLXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,117 +0,0 @@
|
|
1
|
-
import { booleanAttribute, Component, EventEmitter, inject, input, Input, Output, signal, viewChild } from '@angular/core';
|
2
|
-
import { RdxSliderImplDirective } from './slider-impl.directive';
|
3
|
-
import { RdxSliderRootComponent } from './slider-root.component';
|
4
|
-
import { BACK_KEYS, linearScale } from './utils';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class RdxSliderHorizontalComponent {
|
7
|
-
constructor() {
|
8
|
-
this.rootContext = inject(RdxSliderRootComponent);
|
9
|
-
this.dir = 'ltr';
|
10
|
-
this.inverted = input(false, { transform: booleanAttribute });
|
11
|
-
this.min = 0;
|
12
|
-
this.max = 100;
|
13
|
-
this.className = '';
|
14
|
-
this.slideStart = new EventEmitter();
|
15
|
-
this.slideMove = new EventEmitter();
|
16
|
-
this.slideEnd = new EventEmitter();
|
17
|
-
this.stepKeyDown = new EventEmitter();
|
18
|
-
this.endKeyDown = new EventEmitter();
|
19
|
-
this.homeKeyDown = new EventEmitter();
|
20
|
-
this.sliderElement = viewChild('sliderElement');
|
21
|
-
this.rect = signal(undefined);
|
22
|
-
}
|
23
|
-
onSlideStart(event) {
|
24
|
-
const value = this.getValueFromPointer(event.clientX);
|
25
|
-
this.slideStart.emit(value);
|
26
|
-
}
|
27
|
-
onSlideMove(event) {
|
28
|
-
const value = this.getValueFromPointer(event.clientX);
|
29
|
-
this.slideMove.emit(value);
|
30
|
-
}
|
31
|
-
onSlideEnd() {
|
32
|
-
this.rect.set(undefined);
|
33
|
-
this.slideEnd.emit();
|
34
|
-
}
|
35
|
-
onStepKeyDown(event) {
|
36
|
-
const slideDirection = this.rootContext.isSlidingFromLeft() ? 'from-left' : 'from-right';
|
37
|
-
const isBackKey = BACK_KEYS[slideDirection].includes(event.key);
|
38
|
-
this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });
|
39
|
-
}
|
40
|
-
getValueFromPointer(pointerPosition) {
|
41
|
-
this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());
|
42
|
-
const rect = this.rect();
|
43
|
-
if (!rect)
|
44
|
-
return 0;
|
45
|
-
const input = [0, rect.width];
|
46
|
-
const output = this.rootContext.isSlidingFromLeft()
|
47
|
-
? [this.min, this.max]
|
48
|
-
: [this.max, this.min];
|
49
|
-
const value = linearScale(input, output);
|
50
|
-
this.rect.set(rect);
|
51
|
-
return value(pointerPosition - rect.left);
|
52
|
-
}
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: RdxSliderHorizontalComponent, isStandalone: true, selector: "rdx-slider-horizontal", inputs: { dir: { classPropertyName: "dir", publicName: "dir", isSignal: false, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: false, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: false, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { slideStart: "slideStart", slideMove: "slideMove", slideEnd: "slideEnd", stepKeyDown: "stepKeyDown", endKeyDown: "endKeyDown", homeKeyDown: "homeKeyDown" }, viewQueries: [{ propertyName: "sliderElement", first: true, predicate: ["sliderElement"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
55
|
-
<span
|
56
|
-
#sliderElement
|
57
|
-
[class]="className"
|
58
|
-
[attr.data-orientation]="'horizontal'"
|
59
|
-
[style]="{ '--rdx-slider-thumb-transform': 'translateX(-50%)' }"
|
60
|
-
(slideStart)="onSlideStart($event)"
|
61
|
-
(slideMove)="onSlideMove($event)"
|
62
|
-
(slideEnd)="onSlideEnd()"
|
63
|
-
(stepKeyDown)="onStepKeyDown($event)"
|
64
|
-
(endKeyDown)="endKeyDown.emit($event)"
|
65
|
-
(homeKeyDown)="homeKeyDown.emit($event)"
|
66
|
-
rdxSliderImpl
|
67
|
-
>
|
68
|
-
<ng-content />
|
69
|
-
</span>
|
70
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: RdxSliderImplDirective, selector: "[rdxSliderImpl]", outputs: ["slideStart", "slideMove", "slideEnd", "homeKeyDown", "endKeyDown", "stepKeyDown"] }] }); }
|
71
|
-
}
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderHorizontalComponent, decorators: [{
|
73
|
-
type: Component,
|
74
|
-
args: [{
|
75
|
-
selector: 'rdx-slider-horizontal',
|
76
|
-
standalone: true,
|
77
|
-
imports: [RdxSliderImplDirective],
|
78
|
-
template: `
|
79
|
-
<span
|
80
|
-
#sliderElement
|
81
|
-
[class]="className"
|
82
|
-
[attr.data-orientation]="'horizontal'"
|
83
|
-
[style]="{ '--rdx-slider-thumb-transform': 'translateX(-50%)' }"
|
84
|
-
(slideStart)="onSlideStart($event)"
|
85
|
-
(slideMove)="onSlideMove($event)"
|
86
|
-
(slideEnd)="onSlideEnd()"
|
87
|
-
(stepKeyDown)="onStepKeyDown($event)"
|
88
|
-
(endKeyDown)="endKeyDown.emit($event)"
|
89
|
-
(homeKeyDown)="homeKeyDown.emit($event)"
|
90
|
-
rdxSliderImpl
|
91
|
-
>
|
92
|
-
<ng-content />
|
93
|
-
</span>
|
94
|
-
`
|
95
|
-
}]
|
96
|
-
}], propDecorators: { dir: [{
|
97
|
-
type: Input
|
98
|
-
}], min: [{
|
99
|
-
type: Input
|
100
|
-
}], max: [{
|
101
|
-
type: Input
|
102
|
-
}], className: [{
|
103
|
-
type: Input
|
104
|
-
}], slideStart: [{
|
105
|
-
type: Output
|
106
|
-
}], slideMove: [{
|
107
|
-
type: Output
|
108
|
-
}], slideEnd: [{
|
109
|
-
type: Output
|
110
|
-
}], stepKeyDown: [{
|
111
|
-
type: Output
|
112
|
-
}], endKeyDown: [{
|
113
|
-
type: Output
|
114
|
-
}], homeKeyDown: [{
|
115
|
-
type: Output
|
116
|
-
}] } });
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWhvcml6b250YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci1ob3Jpem9udGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBd0JqRCxNQUFNLE9BQU8sNEJBQTRCO0lBdEJ6QztRQXVCcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVyRCxRQUFHLEdBQWtCLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRWhGLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixRQUFHLEdBQUcsR0FBRyxDQUFDO1FBRVYsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVkLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3ZDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQStDLENBQUM7UUFDOUUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBQy9DLGdCQUFXLEdBQUcs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QUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJJbXBsRGlyZWN0aXZlIH0gZnJvbSAnLi9zbGlkZXItaW1wbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJBQ0tfS0VZUywgbGluZWFyU2NhbGUgfSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdyZHgtc2xpZGVyLWhvcml6b250YWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JkeFNsaWRlckltcGxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAjc2xpZGVyRWxlbWVudFxuICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzTmFtZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIidob3Jpem9udGFsJ1wiXG4gICAgICAgICAgICBbc3R5bGVdPVwieyAnLS1yZHgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybSc6ICd0cmFuc2xhdGVYKC01MCUpJyB9XCJcbiAgICAgICAgICAgIChzbGlkZVN0YXJ0KT1cIm9uU2xpZGVTdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzbGlkZU1vdmUpPVwib25TbGlkZU1vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2xpZGVFbmQpPVwib25TbGlkZUVuZCgpXCJcbiAgICAgICAgICAgIChzdGVwS2V5RG93bik9XCJvblN0ZXBLZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGVuZEtleURvd24pPVwiZW5kS2V5RG93bi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKGhvbWVLZXlEb3duKT1cImhvbWVLZXlEb3duLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICByZHhTbGlkZXJJbXBsXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFJkeFNsaWRlckhvcml6b250YWxDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG5cbiAgICBASW5wdXQoKSBkaXI6ICdsdHInIHwgJ3J0bCcgPSAnbHRyJztcblxuICAgIHJlYWRvbmx5IGludmVydGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICBASW5wdXQoKSBtaW4gPSAwO1xuICAgIEBJbnB1dCgpIG1heCA9IDEwMDtcblxuICAgIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gICAgQE91dHB1dCgpIHNsaWRlU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBAT3V0cHV0KCkgc2xpZGVNb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIHNsaWRlRW5kID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBzdGVwS2V5RG93biA9IG5ldyBFdmVudEVtaXR0ZXI8eyBldmVudDogS2V5Ym9hcmRFdmVudDsgZGlyZWN0aW9uOiBudW1iZXIgfT4oKTtcbiAgICBAT3V0cHV0KCkgZW5kS2V5RG93biA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgaG9tZUtleURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlckVsZW1lbnQgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ3NsaWRlckVsZW1lbnQnKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVjdCA9IHNpZ25hbDxET01SZWN0IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgb25TbGlkZVN0YXJ0KGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WCk7XG4gICAgICAgIHRoaXMuc2xpZGVTdGFydC5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBvblNsaWRlTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZUZyb21Qb2ludGVyKGV2ZW50LmNsaWVudFgpO1xuICAgICAgICB0aGlzLnNsaWRlTW92ZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBvblNsaWRlRW5kKCkge1xuICAgICAgICB0aGlzLnJlY3Quc2V0KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuc2xpZGVFbmQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uU3RlcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2xpZGVEaXJlY3Rpb24gPSB0aGlzLnJvb3RDb250ZXh0LmlzU2xpZGluZ0Zyb21MZWZ0KCkgPyAnZnJvbS1sZWZ0JyA6ICdmcm9tLXJpZ2h0JztcbiAgICAgICAgY29uc3QgaXNCYWNrS2V5ID0gQkFDS19LRVlTW3NsaWRlRGlyZWN0aW9uXS5pbmNsdWRlcyhldmVudC5rZXkpO1xuXG4gICAgICAgIHRoaXMuc3RlcEtleURvd24uZW1pdCh7IGV2ZW50LCBkaXJlY3Rpb246IGlzQmFja0tleSA/IC0xIDogMSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbHVlRnJvbVBvaW50ZXIocG9pbnRlclBvc2l0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0aGlzLnJlY3Quc2V0KHRoaXMuc2xpZGVyRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMucmVjdCgpO1xuICAgICAgICBpZiAoIXJlY3QpIHJldHVybiAwO1xuXG4gICAgICAgIGNvbnN0IGlucHV0OiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIHJlY3Qud2lkdGhdO1xuICAgICAgICBjb25zdCBvdXRwdXQ6IFtudW1iZXIsIG51bWJlcl0gPSB0aGlzLnJvb3RDb250ZXh0LmlzU2xpZGluZ0Zyb21MZWZ0KClcbiAgICAgICAgICAgID8gW3RoaXMubWluLCB0aGlzLm1heF1cbiAgICAgICAgICAgIDogW3RoaXMubWF4LCB0aGlzLm1pbl07XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBsaW5lYXJTY2FsZShpbnB1dCwgb3V0cHV0KTtcbiAgICAgICAgdGhpcy5yZWN0LnNldChyZWN0KTtcblxuICAgICAgICByZXR1cm4gdmFsdWUocG9pbnRlclBvc2l0aW9uIC0gcmVjdC5sZWZ0KTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,89 +0,0 @@
|
|
1
|
-
import { Directive, EventEmitter, inject, Output } from '@angular/core';
|
2
|
-
import { RdxSliderRootComponent } from './slider-root.component';
|
3
|
-
import { ARROW_KEYS, PAGE_KEYS } from './utils';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class RdxSliderImplDirective {
|
6
|
-
constructor() {
|
7
|
-
this.rootContext = inject(RdxSliderRootComponent);
|
8
|
-
this.slideStart = new EventEmitter();
|
9
|
-
this.slideMove = new EventEmitter();
|
10
|
-
this.slideEnd = new EventEmitter();
|
11
|
-
this.homeKeyDown = new EventEmitter();
|
12
|
-
this.endKeyDown = new EventEmitter();
|
13
|
-
this.stepKeyDown = new EventEmitter();
|
14
|
-
}
|
15
|
-
onKeyDown(event) {
|
16
|
-
if (event.key === 'Home') {
|
17
|
-
this.homeKeyDown.emit(event);
|
18
|
-
// Prevent scrolling to page start
|
19
|
-
event.preventDefault();
|
20
|
-
}
|
21
|
-
else if (event.key === 'End') {
|
22
|
-
this.endKeyDown.emit(event);
|
23
|
-
// Prevent scrolling to page end
|
24
|
-
event.preventDefault();
|
25
|
-
}
|
26
|
-
else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
|
27
|
-
this.stepKeyDown.emit(event);
|
28
|
-
// Prevent scrolling for directional key presses
|
29
|
-
event.preventDefault();
|
30
|
-
}
|
31
|
-
}
|
32
|
-
onPointerDown(event) {
|
33
|
-
const target = event.target;
|
34
|
-
target.setPointerCapture(event.pointerId);
|
35
|
-
// Prevent browser focus behaviour because we focus a thumb manually when values change.
|
36
|
-
event.preventDefault();
|
37
|
-
// Touch devices have a delay before focusing so won't focus if touch immediately moves
|
38
|
-
// away from target (sliding). We want thumb to focus regardless.
|
39
|
-
if (this.rootContext.thumbElements.includes(target)) {
|
40
|
-
target.focus();
|
41
|
-
}
|
42
|
-
else {
|
43
|
-
this.slideStart.emit(event);
|
44
|
-
}
|
45
|
-
}
|
46
|
-
onPointerMove(event) {
|
47
|
-
const target = event.target;
|
48
|
-
if (target.hasPointerCapture(event.pointerId)) {
|
49
|
-
this.slideMove.emit(event);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
onPointerUp(event) {
|
53
|
-
const target = event.target;
|
54
|
-
if (target.hasPointerCapture(event.pointerId)) {
|
55
|
-
target.releasePointerCapture(event.pointerId);
|
56
|
-
this.slideEnd.emit(event);
|
57
|
-
}
|
58
|
-
}
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderImplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
60
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSliderImplDirective, isStandalone: true, selector: "[rdxSliderImpl]", outputs: { slideStart: "slideStart", slideMove: "slideMove", slideEnd: "slideEnd", homeKeyDown: "homeKeyDown", endKeyDown: "endKeyDown", stepKeyDown: "stepKeyDown" }, host: { attributes: { "role": "slider", "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "pointerdown": "onPointerDown($event)", "pointermove": "onPointerMove($event)", "pointerup": "onPointerUp($event)" } }, ngImport: i0 }); }
|
61
|
-
}
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderImplDirective, decorators: [{
|
63
|
-
type: Directive,
|
64
|
-
args: [{
|
65
|
-
selector: '[rdxSliderImpl]',
|
66
|
-
standalone: true,
|
67
|
-
host: {
|
68
|
-
role: 'slider',
|
69
|
-
tabindex: '0',
|
70
|
-
'(keydown)': 'onKeyDown($event)',
|
71
|
-
'(pointerdown)': 'onPointerDown($event)',
|
72
|
-
'(pointermove)': 'onPointerMove($event)',
|
73
|
-
'(pointerup)': 'onPointerUp($event)'
|
74
|
-
}
|
75
|
-
}]
|
76
|
-
}], propDecorators: { slideStart: [{
|
77
|
-
type: Output
|
78
|
-
}], slideMove: [{
|
79
|
-
type: Output
|
80
|
-
}], slideEnd: [{
|
81
|
-
type: Output
|
82
|
-
}], homeKeyDown: [{
|
83
|
-
type: Output
|
84
|
-
}], endKeyDown: [{
|
85
|
-
type: Output
|
86
|
-
}], stepKeyDown: [{
|
87
|
-
type: Output
|
88
|
-
}] } });
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWltcGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci1pbXBsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQWNoRCxNQUFNLE9BQU8sc0JBQXNCO0lBWm5DO1FBYXVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFdEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzlDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUM3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDL0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztLQWdEN0Q7SUE5Q0csU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixrQ0FBa0M7WUFDbEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsZ0NBQWdDO1lBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixnREFBZ0Q7WUFDaEQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW1CO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUMsd0ZBQXdGO1FBQ3hGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2Qix1RkFBdUY7UUFDdkYsaUVBQWlFO1FBQ2pFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBbUI7UUFDN0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBbUI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzsrR0F2RFEsc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBWmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxRQUFRLEVBQUUsR0FBRzt3QkFDYixXQUFXLEVBQUUsbUJBQW1CO3dCQUNoQyxlQUFlLEVBQUUsdUJBQXVCO3dCQUN4QyxlQUFlLEVBQUUsdUJBQXVCO3dCQUN4QyxhQUFhLEVBQUUscUJBQXFCO3FCQUN2QztpQkFDSjs4QkFJYSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFSUk9XX0tFWVMsIFBBR0VfS0VZUyB9IGZyb20gJy4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhTbGlkZXJJbXBsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdzbGlkZXInLFxuICAgICAgICB0YWJpbmRleDogJzAnLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhwb2ludGVyZG93biknOiAnb25Qb2ludGVyRG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhwb2ludGVybW92ZSknOiAnb25Qb2ludGVyTW92ZSgkZXZlbnQpJyxcbiAgICAgICAgJyhwb2ludGVydXApJzogJ29uUG9pbnRlclVwKCRldmVudCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJJbXBsRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG5cbiAgICBAT3V0cHV0KCkgc2xpZGVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8UG9pbnRlckV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBzbGlkZU1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFBvaW50ZXJFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgc2xpZGVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPFBvaW50ZXJFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgaG9tZUtleURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGVuZEtleURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHN0ZXBLZXlEb3duID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgICAgICAgdGhpcy5ob21lS2V5RG93bi5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgc2Nyb2xsaW5nIHRvIHBhZ2Ugc3RhcnRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgICAgICAgdGhpcy5lbmRLZXlEb3duLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgLy8gUHJldmVudCBzY3JvbGxpbmcgdG8gcGFnZSBlbmRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoUEFHRV9LRVlTLmNvbmNhdChBUlJPV19LRVlTKS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICB0aGlzLnN0ZXBLZXlEb3duLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgLy8gUHJldmVudCBzY3JvbGxpbmcgZm9yIGRpcmVjdGlvbmFsIGtleSBwcmVzc2VzXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qb2ludGVyRG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgdGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG5cbiAgICAgICAgLy8gUHJldmVudCBicm93c2VyIGZvY3VzIGJlaGF2aW91ciBiZWNhdXNlIHdlIGZvY3VzIGEgdGh1bWIgbWFudWFsbHkgd2hlbiB2YWx1ZXMgY2hhbmdlLlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIC8vIFRvdWNoIGRldmljZXMgaGF2ZSBhIGRlbGF5IGJlZm9yZSBmb2N1c2luZyBzbyB3b24ndCBmb2N1cyBpZiB0b3VjaCBpbW1lZGlhdGVseSBtb3Zlc1xuICAgICAgICAvLyBhd2F5IGZyb20gdGFyZ2V0IChzbGlkaW5nKS4gV2Ugd2FudCB0aHVtYiB0byBmb2N1cyByZWdhcmRsZXNzLlxuICAgICAgICBpZiAodGhpcy5yb290Q29udGV4dC50aHVtYkVsZW1lbnRzLmluY2x1ZGVzKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zbGlkZVN0YXJ0LmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qb2ludGVyTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKHRhcmdldC5oYXNQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpKSB7XG4gICAgICAgICAgICB0aGlzLnNsaWRlTW92ZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUG9pbnRlclVwKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGFyZ2V0Lmhhc1BvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVFbmQuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|