@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,68 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
*
|
3
|
-
* Copyright (c) ngxtension Authors. Licensed under the MIT License.
|
4
|
-
*/
|
5
|
-
import { InjectionToken, type EnvironmentProviders, type Host, type InjectOptions, type Injector, type Optional, type Provider, type Self, type SkipSelf, type Type } from '@angular/core';
|
6
|
-
type CreateInjectionTokenDep<TTokenType> = Type<TTokenType> | (abstract new (...args: any[]) => TTokenType) | InjectionToken<TTokenType>;
|
7
|
-
type CreateInjectionTokenDeps<TFactory extends (...args: any[]) => any, TFactoryDeps extends Parameters<TFactory> = Parameters<TFactory>> = {
|
8
|
-
[Index in keyof TFactoryDeps]: CreateInjectionTokenDep<TFactoryDeps[Index]> | [...modifiers: Array<Optional | Self | SkipSelf | Host>, token: CreateInjectionTokenDep<TFactoryDeps[Index]>];
|
9
|
-
} & {
|
10
|
-
length: TFactoryDeps['length'];
|
11
|
-
};
|
12
|
-
export type CreateInjectionTokenOptions<TFactory extends (...args: any[]) => any, TFactoryDeps extends Parameters<TFactory> = Parameters<TFactory>> = (TFactoryDeps[0] extends undefined ? {
|
13
|
-
deps?: never;
|
14
|
-
} : {
|
15
|
-
deps: CreateInjectionTokenDeps<TFactory, TFactoryDeps>;
|
16
|
-
}) & {
|
17
|
-
isRoot?: boolean;
|
18
|
-
isFunctionValue?: boolean;
|
19
|
-
multi?: boolean;
|
20
|
-
token?: InjectionToken<ReturnType<TFactory>>;
|
21
|
-
extraProviders?: Provider | EnvironmentProviders;
|
22
|
-
};
|
23
|
-
type InjectFn<TFactoryReturn> = {
|
24
|
-
(): TFactoryReturn;
|
25
|
-
(injectOptions: InjectOptions & {
|
26
|
-
optional?: false;
|
27
|
-
} & {
|
28
|
-
injector?: Injector;
|
29
|
-
}): TFactoryReturn;
|
30
|
-
(injectOptions: InjectOptions & {
|
31
|
-
injector?: Injector;
|
32
|
-
}): TFactoryReturn | null;
|
33
|
-
};
|
34
|
-
type ProvideFn<TNoop extends boolean, TFactoryReturn, TReturn = TFactoryReturn extends Array<infer Item> ? Item : TFactoryReturn> = (TNoop extends true ? (value: TReturn | (() => TReturn)) => Provider : () => Provider) & (TReturn extends Function ? (value: TReturn | (() => TReturn), isFunctionValue: boolean) => Provider : (value: TReturn | (() => TReturn)) => Provider);
|
35
|
-
export type CreateInjectionTokenReturn<TFactoryReturn, TNoop extends boolean = false> = [
|
36
|
-
InjectFn<TFactoryReturn>,
|
37
|
-
ProvideFn<TNoop, TFactoryReturn>,
|
38
|
-
InjectionToken<TFactoryReturn>,
|
39
|
-
() => Provider
|
40
|
-
];
|
41
|
-
/**
|
42
|
-
* `createInjectionToken` accepts a factory function and returns a tuple of `injectFn`, `provideFn`, and the `InjectionToken`
|
43
|
-
* that the factory function is for.
|
44
|
-
*
|
45
|
-
* @param {Function} factory - Factory Function that returns the value for the `InjectionToken`
|
46
|
-
* @param {CreateInjectionTokenOptions} options - object to control how the `InjectionToken` behaves
|
47
|
-
* @returns {CreateInjectionTokenReturn}
|
48
|
-
*
|
49
|
-
* @example
|
50
|
-
* ```ts
|
51
|
-
* const [injectCounter, provideCounter, COUNTER] = createInjectionToken(() => signal(0));
|
52
|
-
*
|
53
|
-
* export class Counter {
|
54
|
-
* counter = injectCounter(); // WritableSignal<number>
|
55
|
-
* }
|
56
|
-
* ```
|
57
|
-
*/
|
58
|
-
export declare function createInjectionToken<TFactory extends (...args: any[]) => any, TFactoryDeps extends Parameters<TFactory> = Parameters<TFactory>, TOptions extends CreateInjectionTokenOptions<TFactory, TFactoryDeps> = CreateInjectionTokenOptions<TFactory, TFactoryDeps>, TFactoryReturn = TOptions['multi'] extends true ? Array<ReturnType<TFactory>> : ReturnType<TFactory>>(factory: TFactory, options?: TOptions): CreateInjectionTokenReturn<TFactoryReturn>;
|
59
|
-
export declare function createNoopInjectionToken<TValue, TMulti extends boolean = false, TOptions = Pick<CreateInjectionTokenOptions<() => void, []>, 'extraProviders'> & (TValue extends (...args: any[]) => any ? {
|
60
|
-
isFunctionValue: true;
|
61
|
-
} : {
|
62
|
-
isFunctionValue?: never;
|
63
|
-
}) & (TMulti extends true ? {
|
64
|
-
multi: true;
|
65
|
-
} : {
|
66
|
-
multi?: never;
|
67
|
-
})>(description: string, options?: TOptions): CreateInjectionTokenReturn<TMulti extends true ? TValue[] : TValue, true>;
|
68
|
-
export {};
|
package/core/src/types.d.ts
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Nullable from `Type` adds `null` and `undefined`
|
3
|
-
*
|
4
|
-
* @example ```ts
|
5
|
-
* // Expect: string | number | undefined | null
|
6
|
-
* type Value = Nulling<string | number>;
|
7
|
-
* ```
|
8
|
-
*/
|
9
|
-
export type Nullable<Type> = null | Type | undefined;
|
10
|
-
/**
|
11
|
-
* SafeFunction is a type for functions that accept any number of arguments of unknown types
|
12
|
-
* and return a value of an unknown type. This is useful when you want to define a function
|
13
|
-
* without being strict about the input or output types, maintaining flexibility.
|
14
|
-
*
|
15
|
-
* @example ```ts
|
16
|
-
* const safeFn: SafeFunction = (...args) => {
|
17
|
-
* return args.length > 0 ? args[0] : null;
|
18
|
-
* };
|
19
|
-
*
|
20
|
-
* const result = safeFn(1, 'hello'); // result: 1
|
21
|
-
* ```
|
22
|
-
*/
|
23
|
-
export type SafeFunction = (...args: unknown[]) => unknown;
|
@@ -1,40 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { RdxAccordionContentDirective } from './src/accordion-content.directive';
|
3
|
-
import { RdxAccordionHeaderDirective } from './src/accordion-header.directive';
|
4
|
-
import { RdxAccordionItemDirective } from './src/accordion-item.directive';
|
5
|
-
import { RdxAccordionRootDirective } from './src/accordion-root.directive';
|
6
|
-
import { RdxAccordionTriggerDirective } from './src/accordion-trigger.directive';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
export * from './src/accordion-content.directive';
|
9
|
-
export * from './src/accordion-header.directive';
|
10
|
-
export * from './src/accordion-item.directive';
|
11
|
-
export * from './src/accordion-root.directive';
|
12
|
-
export * from './src/accordion-trigger.directive';
|
13
|
-
const _imports = [
|
14
|
-
RdxAccordionContentDirective,
|
15
|
-
RdxAccordionHeaderDirective,
|
16
|
-
RdxAccordionItemDirective,
|
17
|
-
RdxAccordionRootDirective,
|
18
|
-
RdxAccordionTriggerDirective
|
19
|
-
];
|
20
|
-
export class RdxAccordionModule {
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
22
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionModule, imports: [RdxAccordionContentDirective,
|
23
|
-
RdxAccordionHeaderDirective,
|
24
|
-
RdxAccordionItemDirective,
|
25
|
-
RdxAccordionRootDirective,
|
26
|
-
RdxAccordionTriggerDirective], exports: [RdxAccordionContentDirective,
|
27
|
-
RdxAccordionHeaderDirective,
|
28
|
-
RdxAccordionItemDirective,
|
29
|
-
RdxAccordionRootDirective,
|
30
|
-
RdxAccordionTriggerDirective] }); }
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionModule }); }
|
32
|
-
}
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionModule, decorators: [{
|
34
|
-
type: NgModule,
|
35
|
-
args: [{
|
36
|
-
imports: [..._imports],
|
37
|
-
exports: [..._imports]
|
38
|
-
}]
|
39
|
-
}] });
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FjY29yZGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVqRixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsTUFBTSxRQUFRLEdBQUc7SUFDYiw0QkFBNEI7SUFDNUIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsNEJBQTRCO0NBQy9CLENBQUM7QUFNRixNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQVgzQiw0QkFBNEI7WUFDNUIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsNEJBQTRCLGFBSjVCLDRCQUE0QjtZQUM1QiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6Qiw0QkFBNEI7Z0hBT25CLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztvQkFDdEIsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvbkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hY2NvcmRpb24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvYWNjb3JkaW9uLWhlYWRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL2FjY29yZGlvbi1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhBY2NvcmRpb25Sb290RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvYWNjb3JkaW9uLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvblRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hY2NvcmRpb24tdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hY2NvcmRpb24tY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYWNjb3JkaW9uLWhlYWRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYWNjb3JkaW9uLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FjY29yZGlvbi1yb290LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hY2NvcmRpb24tdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5jb25zdCBfaW1wb3J0cyA9IFtcbiAgICBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlLFxuICAgIFJkeEFjY29yZGlvbkhlYWRlckRpcmVjdGl2ZSxcbiAgICBSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlLFxuICAgIFJkeEFjY29yZGlvblJvb3REaXJlY3RpdmUsXG4gICAgUmR4QWNjb3JkaW9uVHJpZ2dlckRpcmVjdGl2ZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uX2ltcG9ydHNdLFxuICAgIGV4cG9ydHM6IFsuLi5faW1wb3J0c11cbn0pXG5leHBvcnQgY2xhc3MgUmR4QWNjb3JkaW9uTW9kdWxlIHt9XG4iXX0=
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1hY2NvcmRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FjY29yZGlvbi9yYWRpeC1uZy1wcmltaXRpdmVzLWFjY29yZGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import { Directive, ElementRef, inject } from '@angular/core';
|
2
|
-
import { RdxAccordionItemDirective } from './accordion-item.directive';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class RdxAccordionContentDirective {
|
5
|
-
constructor() {
|
6
|
-
this.item = inject(RdxAccordionItemDirective);
|
7
|
-
this.nativeElement = inject(ElementRef).nativeElement;
|
8
|
-
this.hidden = false;
|
9
|
-
}
|
10
|
-
onAnimationEnd() {
|
11
|
-
this.hidden = !this.item.expanded;
|
12
|
-
const { height, width } = this.nativeElement.getBoundingClientRect();
|
13
|
-
this.nativeElement.style.setProperty('--radix-collapsible-content-height', `${height}px`);
|
14
|
-
this.nativeElement.style.setProperty('--radix-collapsible-content-width', `${width}px`);
|
15
|
-
this.nativeElement.style.setProperty('--radix-accordion-content-height', 'var(--radix-collapsible-content-height)');
|
16
|
-
this.nativeElement.style.setProperty('--radix-accordion-content-width', 'var(--radix-collapsible-content-width)');
|
17
|
-
}
|
18
|
-
onToggle() {
|
19
|
-
if (!this.item.expanded) {
|
20
|
-
this.hidden = false;
|
21
|
-
}
|
22
|
-
}
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAccordionContentDirective, isStandalone: true, selector: "[rdxAccordionContent]", host: { listeners: { "animationend": "onAnimationEnd()" }, properties: { "attr.role": "\"region\"", "style.display": "hidden ? \"none\" : \"\"", "attr.data-state": "item.dataState", "attr.data-disabled": "item.disabled", "attr.data-orientation": "item.orientation" } }, exportAs: ["rdxAccordionContent"], ngImport: i0 }); }
|
25
|
-
}
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionContentDirective, decorators: [{
|
27
|
-
type: Directive,
|
28
|
-
args: [{
|
29
|
-
selector: '[rdxAccordionContent]',
|
30
|
-
standalone: true,
|
31
|
-
exportAs: 'rdxAccordionContent',
|
32
|
-
host: {
|
33
|
-
'[attr.role]': '"region"',
|
34
|
-
'[style.display]': 'hidden ? "none" : ""',
|
35
|
-
'[attr.data-state]': 'item.dataState',
|
36
|
-
'[attr.data-disabled]': 'item.disabled',
|
37
|
-
'[attr.data-orientation]': 'item.orientation',
|
38
|
-
'(animationend)': 'onAnimationEnd()'
|
39
|
-
}
|
40
|
-
}]
|
41
|
-
}] });
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZXZFLE1BQU0sT0FBTyw0QkFBNEI7SUFiekM7UUFjdUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUUxRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBeUI1QjtJQXZCYSxjQUFjO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUVsQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVyRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7UUFFeEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNoQyxrQ0FBa0MsRUFDbEMseUNBQXlDLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ2hDLGlDQUFpQyxFQUNqQyx3Q0FBd0MsQ0FDM0MsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7K0dBNUJRLDRCQUE0QjttR0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQWJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLFVBQVU7d0JBQ3pCLGlCQUFpQixFQUFFLHNCQUFzQjt3QkFDekMsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxzQkFBc0IsRUFBRSxlQUFlO3dCQUN2Qyx5QkFBeUIsRUFBRSxrQkFBa0I7d0JBQzdDLGdCQUFnQixFQUFFLGtCQUFrQjtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4QWNjb3JkaW9uQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdyZHhBY2NvcmRpb25Db250ZW50JyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5yb2xlXSc6ICdcInJlZ2lvblwiJyxcbiAgICAgICAgJ1tzdHlsZS5kaXNwbGF5XSc6ICdoaWRkZW4gPyBcIm5vbmVcIiA6IFwiXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXRlbS5kYXRhU3RhdGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnaXRlbS5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdpdGVtLm9yaWVudGF0aW9uJyxcbiAgICAgICAgJyhhbmltYXRpb25lbmQpJzogJ29uQW5pbWF0aW9uRW5kKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbSA9IGluamVjdChSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmF0aXZlRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG9uQW5pbWF0aW9uRW5kKCkge1xuICAgICAgICB0aGlzLmhpZGRlbiA9ICF0aGlzLml0ZW0uZXhwYW5kZWQ7XG5cbiAgICAgICAgY29uc3QgeyBoZWlnaHQsIHdpZHRoIH0gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1yYWRpeC1jb2xsYXBzaWJsZS1jb250ZW50LXdpZHRoJywgYCR7d2lkdGh9cHhgKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAnLS1yYWRpeC1hY2NvcmRpb24tY29udGVudC1oZWlnaHQnLFxuICAgICAgICAgICAgJ3ZhcigtLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtaGVpZ2h0KSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tcmFkaXgtYWNjb3JkaW9uLWNvbnRlbnQtd2lkdGgnLFxuICAgICAgICAgICAgJ3ZhcigtLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtd2lkdGgpJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbS5leHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
2
|
-
import { RdxAccordionItemDirective } from './accordion-item.directive';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class RdxAccordionHeaderDirective {
|
5
|
-
constructor() {
|
6
|
-
this.item = inject(RdxAccordionItemDirective);
|
7
|
-
}
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAccordionHeaderDirective, isStandalone: true, selector: "[rdxAccordionHeader]", host: { properties: { "attr.data-state": "item.dataState", "attr.data-disabled": "item.disabled", "attr.data-orientation": "item.orientation" } }, ngImport: i0 }); }
|
10
|
-
}
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionHeaderDirective, decorators: [{
|
12
|
-
type: Directive,
|
13
|
-
args: [{
|
14
|
-
selector: '[rdxAccordionHeader]',
|
15
|
-
standalone: true,
|
16
|
-
host: {
|
17
|
-
'[attr.data-state]': 'item.dataState',
|
18
|
-
'[attr.data-disabled]': 'item.disabled',
|
19
|
-
'[attr.data-orientation]': 'item.orientation'
|
20
|
-
}
|
21
|
-
}]
|
22
|
-
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FjY29yZGlvbi9zcmMvYWNjb3JkaW9uLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBV3ZFLE1BQU0sT0FBTywyQkFBMkI7SUFUeEM7UUFVdUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQy9EOytHQUZZLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQVR2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxzQkFBc0IsRUFBRSxlQUFlO3dCQUN2Qyx5QkFBeUIsRUFBRSxrQkFBa0I7cUJBQ2hEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvbkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2FjY29yZGlvbi1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeEFjY29yZGlvbkhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXRlbS5kYXRhU3RhdGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnaXRlbS5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdpdGVtLm9yaWVudGF0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QWNjb3JkaW9uSGVhZGVyRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbSA9IGluamVjdChSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlKTtcbn1cbiJdfQ==
|
@@ -1,196 +0,0 @@
|
|
1
|
-
import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
|
2
|
-
import { booleanAttribute, ChangeDetectorRef, ContentChild, Directive, EventEmitter, forwardRef, inject, Input, Output } from '@angular/core';
|
3
|
-
import { Subscription } from 'rxjs';
|
4
|
-
import { RdxAccordionContentDirective } from './accordion-content.directive';
|
5
|
-
import { RdxAccordionRootToken } from './accordion-root.directive';
|
6
|
-
import { RdxAccordionTriggerDirective } from './accordion-trigger.directive';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
let nextId = 0;
|
9
|
-
/**
|
10
|
-
* @group Components
|
11
|
-
*/
|
12
|
-
export class RdxAccordionItemDirective {
|
13
|
-
get dataState() {
|
14
|
-
return this.expanded ? 'open' : 'closed';
|
15
|
-
}
|
16
|
-
get orientation() {
|
17
|
-
return this.accordion.orientation;
|
18
|
-
}
|
19
|
-
/**
|
20
|
-
* @defaultValue false
|
21
|
-
* @group Props
|
22
|
-
*/
|
23
|
-
set expanded(expanded) {
|
24
|
-
// Only emit events and update the internal value if the value changes.
|
25
|
-
if (this._expanded !== expanded) {
|
26
|
-
this._expanded = expanded;
|
27
|
-
this.expandedChange.emit(expanded);
|
28
|
-
if (expanded) {
|
29
|
-
this.opened.emit();
|
30
|
-
/**
|
31
|
-
* In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,
|
32
|
-
* the name value is the id of the accordion.
|
33
|
-
*/
|
34
|
-
const accordionId = this.accordion ? this.accordion.id : this.value;
|
35
|
-
this.expansionDispatcher.notify(this.value, accordionId);
|
36
|
-
}
|
37
|
-
else {
|
38
|
-
this.closed.emit();
|
39
|
-
}
|
40
|
-
// Ensures that the animation will run when the value is set outside of an `@Input`.
|
41
|
-
// This includes cases like the open, close and toggle methods.
|
42
|
-
this.changeDetectorRef.markForCheck();
|
43
|
-
}
|
44
|
-
}
|
45
|
-
get expanded() {
|
46
|
-
return this._expanded;
|
47
|
-
}
|
48
|
-
/**
|
49
|
-
* Accordion value.
|
50
|
-
*
|
51
|
-
* @group Props
|
52
|
-
*/
|
53
|
-
set value(value) {
|
54
|
-
this._value = value;
|
55
|
-
}
|
56
|
-
get value() {
|
57
|
-
return this._value || this.id;
|
58
|
-
}
|
59
|
-
/**
|
60
|
-
* Whether the AccordionItem is disabled.
|
61
|
-
*
|
62
|
-
* @defaultValue false
|
63
|
-
* @group Props
|
64
|
-
*/
|
65
|
-
set disabled(value) {
|
66
|
-
this._disabled = value;
|
67
|
-
}
|
68
|
-
get disabled() {
|
69
|
-
return this.accordion.disabled ?? this._disabled;
|
70
|
-
}
|
71
|
-
constructor() {
|
72
|
-
this.accordion = inject(RdxAccordionRootToken, { skipSelf: true });
|
73
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
74
|
-
this.expansionDispatcher = inject(UniqueSelectionDispatcher);
|
75
|
-
/**
|
76
|
-
* The unique AccordionItem id.
|
77
|
-
* @ignore
|
78
|
-
*/
|
79
|
-
this.id = `rdx-accordion-item-${nextId++}`;
|
80
|
-
this._expanded = false;
|
81
|
-
this._disabled = false;
|
82
|
-
/**
|
83
|
-
* Event emitted every time the AccordionItem is closed.
|
84
|
-
*/
|
85
|
-
this.closed = new EventEmitter();
|
86
|
-
/** Event emitted every time the AccordionItem is opened. */
|
87
|
-
this.opened = new EventEmitter();
|
88
|
-
/**
|
89
|
-
* Event emitted when the AccordionItem is destroyed.
|
90
|
-
* @ignore
|
91
|
-
*/
|
92
|
-
this.destroyed = new EventEmitter();
|
93
|
-
/**
|
94
|
-
* Emits whenever the expanded state of the accordion changes.
|
95
|
-
* Primarily used to facilitate two-way binding.
|
96
|
-
* @group Emits
|
97
|
-
*/
|
98
|
-
this.expandedChange = new EventEmitter();
|
99
|
-
/** Subscription to openAll/closeAll events. */
|
100
|
-
this.openCloseAllSubscription = Subscription.EMPTY;
|
101
|
-
this.removeUniqueSelectionListener = this.expansionDispatcher.listen((id, accordionId) => {
|
102
|
-
if (this.accordion.isMultiple) {
|
103
|
-
if (this.accordion.id === accordionId && id.includes(this.value)) {
|
104
|
-
this.expanded = true;
|
105
|
-
}
|
106
|
-
}
|
107
|
-
else {
|
108
|
-
this.expanded = this.accordion.id === accordionId && id.includes(this.value);
|
109
|
-
}
|
110
|
-
});
|
111
|
-
// When an accordion item is hosted in an accordion, subscribe to open/close events.
|
112
|
-
if (this.accordion) {
|
113
|
-
this.openCloseAllSubscription = this.subscribeToOpenCloseAllActions();
|
114
|
-
}
|
115
|
-
}
|
116
|
-
/** Emits an event for the accordion item being destroyed. */
|
117
|
-
ngOnDestroy() {
|
118
|
-
this.opened.complete();
|
119
|
-
this.closed.complete();
|
120
|
-
this.destroyed.emit();
|
121
|
-
this.destroyed.complete();
|
122
|
-
this.removeUniqueSelectionListener();
|
123
|
-
this.openCloseAllSubscription.unsubscribe();
|
124
|
-
}
|
125
|
-
focus() {
|
126
|
-
this.trigger.focus();
|
127
|
-
}
|
128
|
-
/** Toggles the expanded state of the accordion item. */
|
129
|
-
toggle() {
|
130
|
-
if (!this.disabled) {
|
131
|
-
this.content.onToggle();
|
132
|
-
this.expanded = !this.expanded;
|
133
|
-
}
|
134
|
-
}
|
135
|
-
/** Sets the expanded state of the accordion item to false. */
|
136
|
-
close() {
|
137
|
-
if (!this.disabled) {
|
138
|
-
this.expanded = false;
|
139
|
-
}
|
140
|
-
}
|
141
|
-
/** Sets the expanded state of the accordion item to true. */
|
142
|
-
open() {
|
143
|
-
if (!this.disabled) {
|
144
|
-
this.expanded = true;
|
145
|
-
}
|
146
|
-
}
|
147
|
-
subscribeToOpenCloseAllActions() {
|
148
|
-
return this.accordion.openCloseAllActions.subscribe((expanded) => {
|
149
|
-
// Only change expanded state if item is enabled
|
150
|
-
if (!this.disabled) {
|
151
|
-
this.expanded = expanded;
|
152
|
-
}
|
153
|
-
});
|
154
|
-
}
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
156
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxAccordionItemDirective, isStandalone: true, selector: "[rdxAccordionItem]", inputs: { expanded: ["expanded", "expanded", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "attr.data-state": "dataState", "attr.data-disabled": "disabled", "attr.data-orientation": "orientation" } }, providers: [
|
157
|
-
{ provide: RdxAccordionRootToken, useValue: undefined }
|
158
|
-
], queries: [{ propertyName: "trigger", first: true, predicate: RdxAccordionTriggerDirective, descendants: true }, { propertyName: "content", first: true, predicate: i0.forwardRef(() => RdxAccordionContentDirective), descendants: true }], exportAs: ["rdxAccordionItem"], ngImport: i0 }); }
|
159
|
-
}
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionItemDirective, decorators: [{
|
161
|
-
type: Directive,
|
162
|
-
args: [{
|
163
|
-
selector: '[rdxAccordionItem]',
|
164
|
-
standalone: true,
|
165
|
-
exportAs: 'rdxAccordionItem',
|
166
|
-
host: {
|
167
|
-
'[attr.data-state]': 'dataState',
|
168
|
-
'[attr.data-disabled]': 'disabled',
|
169
|
-
'[attr.data-orientation]': 'orientation'
|
170
|
-
},
|
171
|
-
providers: [
|
172
|
-
{ provide: RdxAccordionRootToken, useValue: undefined }
|
173
|
-
]
|
174
|
-
}]
|
175
|
-
}], ctorParameters: () => [], propDecorators: { trigger: [{
|
176
|
-
type: ContentChild,
|
177
|
-
args: [RdxAccordionTriggerDirective, { descendants: true }]
|
178
|
-
}], content: [{
|
179
|
-
type: ContentChild,
|
180
|
-
args: [forwardRef(() => RdxAccordionContentDirective), { descendants: true }]
|
181
|
-
}], expanded: [{
|
182
|
-
type: Input,
|
183
|
-
args: [{ transform: booleanAttribute }]
|
184
|
-
}], value: [{
|
185
|
-
type: Input
|
186
|
-
}], disabled: [{
|
187
|
-
type: Input,
|
188
|
-
args: [{ transform: booleanAttribute }]
|
189
|
-
}], closed: [{
|
190
|
-
type: Output
|
191
|
-
}], opened: [{
|
192
|
-
type: Output
|
193
|
-
}], expandedChange: [{
|
194
|
-
type: Output
|
195
|
-
}] } });
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RSxPQUFPLEVBQTJCLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSTdFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOztHQUVHO0FBYUgsTUFBTSxPQUFPLHlCQUF5QjtJQWtCbEMsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBUUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxRQUFRLENBQUMsUUFBaUI7UUFDMUIsdUVBQXVFO1FBQ3ZFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJ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QixLQUFLO2dCQWdCc0MsUUFBUTtzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFhbkIsTUFBTTtzQkFBeEIsTUFBTTtnQkFHWSxNQUFNO3NCQUF4QixNQUFNO2dCQWFZLGNBQWM7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9hY2NvcmRpb24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uT3JpZW50YXRpb24sIFJkeEFjY29yZGlvblJvb3RUb2tlbiB9IGZyb20gJy4vYWNjb3JkaW9uLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvblRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FjY29yZGlvbi10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFJkeEFjY29yZGlvbkl0ZW1TdGF0ZSA9ICdvcGVuJyB8ICdjbG9zZWQnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhBY2NvcmRpb25JdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBleHBvcnRBczogJ3JkeEFjY29yZGlvbkl0ZW0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2RhdGFTdGF0ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbidcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJkeEFjY29yZGlvblJvb3RUb2tlbiwgdXNlVmFsdWU6IHVuZGVmaW5lZCB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uLCBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhY2NvcmRpb24gPSBpbmplY3QoUmR4QWNjb3JkaW9uUm9vdFRva2VuLCB7IHNraXBTZWxmOiB0cnVlIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBleHBhbnNpb25EaXNwYXRjaGVyID0gaW5qZWN0KFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIpO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoUmR4QWNjb3JkaW9uVHJpZ2dlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSB0cmlnZ2VyOiBSZHhBY2NvcmRpb25UcmlnZ2VyRGlyZWN0aXZlO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGNvbnRlbnQ6IFJkeEFjY29yZGlvbkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBnZXQgZGF0YVN0YXRlKCk6IFJkeEFjY29yZGlvbkl0ZW1TdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHVuaXF1ZSBBY2NvcmRpb25JdGVtIGlkLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBpZDogc3RyaW5nID0gYHJkeC1hY2NvcmRpb24taXRlbS0ke25leHRJZCsrfWA7XG5cbiAgICBnZXQgb3JpZW50YXRpb24oKTogUmR4QWNjb3JkaW9uT3JpZW50YXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY2NvcmRpb24ub3JpZW50YXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICAvLyBPbmx5IGVtaXQgZXZlbnRzIGFuZCB1cGRhdGUgdGhlIGludGVybmFsIHZhbHVlIGlmIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAgICBpZiAodGhpcy5fZXhwYW5kZWQgIT09IGV4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KGV4cGFuZGVkKTtcblxuICAgICAgICAgICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEluIHRoZSB1bmlxdWUgc2VsZWN0aW9uIGRpc3BhdGNoZXIsIHRoZSBpZCBwYXJhbWV0ZXIgaXMgdGhlIGlkIG9mIHRoZSBDZGtBY2NvcmRpb25JdGVtLFxuICAgICAgICAgICAgICAgICAqIHRoZSBuYW1lIHZhbHVlIGlzIHRoZSBpZCBvZiB0aGUgYWNjb3JkaW9uLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjY29yZGlvbklkID0gdGhpcy5hY2NvcmRpb24gPyB0aGlzLmFjY29yZGlvbi5pZCA6IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbnNpb25EaXNwYXRjaGVyLm5vdGlmeSh0aGlzLnZhbHVlLCBhY2NvcmRpb25JZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBhbmltYXRpb24gd2lsbCBydW4gd2hlbiB0aGUgdmFsdWUgaXMgc2V0IG91dHNpZGUgb2YgYW4gYEBJbnB1dGAuXG4gICAgICAgICAgICAvLyBUaGlzIGluY2x1ZGVzIGNhc2VzIGxpa2UgdGhlIG9wZW4sIGNsb3NlIGFuZCB0b2dnbGUgbWV0aG9kcy5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQWNjb3JkaW9uIHZhbHVlLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBBY2NvcmRpb25JdGVtIGlzIGRpc2FibGVkLlxuICAgICAqXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY29yZGlvbi5kaXNhYmxlZCA/PyB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCBldmVyeSB0aW1lIHRoZSBBY2NvcmRpb25JdGVtIGlzIGNsb3NlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBldmVyeSB0aW1lIHRoZSBBY2NvcmRpb25JdGVtIGlzIG9wZW5lZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIEFjY29yZGlvbkl0ZW0gaXMgZGVzdHJveWVkLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXN0cm95ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBleHBhbmRlZCBzdGF0ZSBvZiB0aGUgYWNjb3JkaW9uIGNoYW5nZXMuXG4gICAgICogUHJpbWFyaWx5IHVzZWQgdG8gZmFjaWxpdGF0ZSB0d28td2F5IGJpbmRpbmcuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogVW5yZWdpc3RlciBmdW5jdGlvbiBmb3IgZXhwYW5zaW9uRGlzcGF0Y2hlci4gKi9cbiAgICBwcml2YXRlIHJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFN1YnNjcmlwdGlvbiB0byBvcGVuQWxsL2Nsb3NlQWxsIGV2ZW50cy4gKi9cbiAgICBwcml2YXRlIG9wZW5DbG9zZUFsbFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyID0gdGhpcy5leHBhbnNpb25EaXNwYXRjaGVyLmxpc3RlbigoaWQ6IHN0cmluZywgYWNjb3JkaW9uSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWNjb3JkaW9uLmlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24uaWQgPT09IGFjY29yZGlvbklkICYmIGlkLmluY2x1ZGVzKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRoaXMuYWNjb3JkaW9uLmlkID09PSBhY2NvcmRpb25JZCAmJiBpZC5pbmNsdWRlcyh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gV2hlbiBhbiBhY2NvcmRpb24gaXRlbSBpcyBob3N0ZWQgaW4gYW4gYWNjb3JkaW9uLCBzdWJzY3JpYmUgdG8gb3Blbi9jbG9zZSBldmVudHMuXG4gICAgICAgIGlmICh0aGlzLmFjY29yZGlvbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2xvc2VBbGxTdWJzY3JpcHRpb24gPSB0aGlzLnN1YnNjcmliZVRvT3BlbkNsb3NlQWxsQWN0aW9ucygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIGFuIGV2ZW50IGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0gYmVpbmcgZGVzdHJveWVkLiAqL1xuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9wZW5lZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5lbWl0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVW5pcXVlU2VsZWN0aW9uTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5vcGVuQ2xvc2VBbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIGV4cGFuZGVkIHN0YXRlIG9mIHRoZSBhY2NvcmRpb24gaXRlbS4gKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Lm9uVG9nZ2xlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXRzIHRoZSBleHBhbmRlZCBzdGF0ZSBvZiB0aGUgYWNjb3JkaW9uIGl0ZW0gdG8gZmFsc2UuICovXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGhlIGV4cGFuZGVkIHN0YXRlIG9mIHRoZSBhY2NvcmRpb24gaXRlbSB0byB0cnVlLiAqL1xuICAgIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvT3BlbkNsb3NlQWxsQWN0aW9ucygpOiBTdWJzY3JpcHRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY2NvcmRpb24ub3BlbkNsb3NlQWxsQWN0aW9ucy5zdWJzY3JpYmUoKGV4cGFuZGVkKSA9PiB7XG4gICAgICAgICAgICAvLyBPbmx5IGNoYW5nZSBleHBhbmRlZCBzdGF0ZSBpZiBpdGVtIGlzIGVuYWJsZWRcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|