@radix-ng/primitives 0.23.0 → 0.25.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 +14309 -15232
- package/core/index.d.ts +3 -2
- package/core/src/positioning/constants.d.ts +2 -0
- package/core/src/positioning/types.d.ts +31 -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 +211 -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 +246 -266
- 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 +143 -242
- 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 +3 -4
- package/popover/src/popover-content.directive.d.ts +17 -9
- package/popover/src/popover-root.directive.d.ts +25 -1
- package/popover/src/popover.constants.d.ts +0 -2
- package/popover/src/popover.types.d.ts +0 -31
- package/popover/src/utils/cdk-event.service.d.ts +30 -0
- package/popover/src/utils/constants.d.ts +1 -0
- package/popover/src/utils/types.d.ts +7 -0
- package/switch/src/switch-root.directive.d.ts +4 -1
- package/tooltip/src/tooltip-arrow.directive.d.ts +14 -1
- package/tooltip/src/tooltip-content.directive.d.ts +4 -5
- package/tooltip/src/tooltip-root.directive.d.ts +6 -3
- package/tooltip/src/tooltip.types.d.ts +0 -11
- 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 -70
- 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 -255
- package/esm2022/popover/src/popover-root.directive.mjs +0 -315
- 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/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/tooltip/src/get-content-position.d.ts +0 -3
- package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,107 +0,0 @@
|
|
1
|
-
import { POPOVER_POSITIONS } from './popover.constants';
|
2
|
-
import { RdxPopoverAlign, RdxPopoverSide } from './popover.types';
|
3
|
-
let allPossibleConnectedPositions;
|
4
|
-
export function getAllPossibleConnectedPositions() {
|
5
|
-
if (!allPossibleConnectedPositions) {
|
6
|
-
allPossibleConnectedPositions = new Map();
|
7
|
-
}
|
8
|
-
if (allPossibleConnectedPositions.size < 1) {
|
9
|
-
Object.keys(POPOVER_POSITIONS).forEach((side) => {
|
10
|
-
Object.keys(POPOVER_POSITIONS[side] ?? {}).forEach((align) => {
|
11
|
-
allPossibleConnectedPositions.set(`${side}|${align}`, POPOVER_POSITIONS[side][align]);
|
12
|
-
});
|
13
|
-
});
|
14
|
-
}
|
15
|
-
return allPossibleConnectedPositions;
|
16
|
-
}
|
17
|
-
export function getSideAndAlignFromAllPossibleConnectedPositions(position) {
|
18
|
-
const allPossibleConnectedPositions = getAllPossibleConnectedPositions();
|
19
|
-
let sideAndAlign;
|
20
|
-
allPossibleConnectedPositions.forEach((value, key) => {
|
21
|
-
if (position.originX === value.originX &&
|
22
|
-
position.originY === value.originY &&
|
23
|
-
position.overlayX === value.overlayX &&
|
24
|
-
position.overlayY === value.overlayY) {
|
25
|
-
const sideAndAlignArray = key.split('|');
|
26
|
-
sideAndAlign = {
|
27
|
-
side: sideAndAlignArray[0],
|
28
|
-
align: sideAndAlignArray[1]
|
29
|
-
};
|
30
|
-
}
|
31
|
-
});
|
32
|
-
if (!sideAndAlign) {
|
33
|
-
throw Error(`[RdxPopover] cannot infer both side and align from the given position (${JSON.stringify(position)})`);
|
34
|
-
}
|
35
|
-
return sideAndAlign;
|
36
|
-
}
|
37
|
-
export function getContentPosition(sideAndAlignWithOffsets) {
|
38
|
-
const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;
|
39
|
-
const position = {
|
40
|
-
...(POPOVER_POSITIONS[side]?.[align] ?? POPOVER_POSITIONS[RdxPopoverSide.Top][RdxPopoverAlign.Center])
|
41
|
-
};
|
42
|
-
if (sideOffset || alignOffset) {
|
43
|
-
if ([RdxPopoverSide.Top, RdxPopoverSide.Bottom].includes(side)) {
|
44
|
-
if (sideOffset) {
|
45
|
-
position.offsetY = side === RdxPopoverSide.Top ? -sideOffset : sideOffset;
|
46
|
-
}
|
47
|
-
if (alignOffset) {
|
48
|
-
position.offsetX = alignOffset;
|
49
|
-
}
|
50
|
-
}
|
51
|
-
else {
|
52
|
-
if (sideOffset) {
|
53
|
-
position.offsetX = side === RdxPopoverSide.Left ? -sideOffset : sideOffset;
|
54
|
-
}
|
55
|
-
if (alignOffset) {
|
56
|
-
position.offsetY = alignOffset;
|
57
|
-
}
|
58
|
-
}
|
59
|
-
}
|
60
|
-
return position;
|
61
|
-
}
|
62
|
-
export function getArrowPositionParams(sideAndAlign, arrowWidthAndHeight, triggerWidthAndHeight) {
|
63
|
-
const posParams = {
|
64
|
-
top: '',
|
65
|
-
left: '',
|
66
|
-
transform: ''
|
67
|
-
};
|
68
|
-
if ([RdxPopoverSide.Top, RdxPopoverSide.Bottom].includes(sideAndAlign.side)) {
|
69
|
-
if (sideAndAlign.side === RdxPopoverSide.Top) {
|
70
|
-
posParams.top = '100%';
|
71
|
-
}
|
72
|
-
else {
|
73
|
-
posParams.top = `-${arrowWidthAndHeight.height}px`;
|
74
|
-
posParams.transform = `rotate(180deg)`;
|
75
|
-
}
|
76
|
-
if (sideAndAlign.align === RdxPopoverAlign.Start) {
|
77
|
-
posParams.left = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;
|
78
|
-
}
|
79
|
-
else if (sideAndAlign.align === RdxPopoverAlign.Center) {
|
80
|
-
posParams.left = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;
|
81
|
-
}
|
82
|
-
else if (sideAndAlign.align === RdxPopoverAlign.End) {
|
83
|
-
posParams.left = `calc(100% - ${(triggerWidthAndHeight.width + arrowWidthAndHeight.width) / 2}px)`;
|
84
|
-
}
|
85
|
-
}
|
86
|
-
else if ([RdxPopoverSide.Left, RdxPopoverSide.Right].includes(sideAndAlign.side)) {
|
87
|
-
if (sideAndAlign.side === RdxPopoverSide.Left) {
|
88
|
-
posParams.left = `100%`;
|
89
|
-
posParams.transform = `rotate(-90deg) translate(0, -50%)`;
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
posParams.left = `-${arrowWidthAndHeight.width}px`;
|
93
|
-
posParams.transform = `rotate(90deg) translate(0, -50%)`;
|
94
|
-
}
|
95
|
-
if (sideAndAlign.align === RdxPopoverAlign.Start) {
|
96
|
-
posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;
|
97
|
-
}
|
98
|
-
else if (sideAndAlign.align === RdxPopoverAlign.Center) {
|
99
|
-
posParams.top = `calc(50% - ${arrowWidthAndHeight.height / 2}px)`;
|
100
|
-
}
|
101
|
-
else if (sideAndAlign.align === RdxPopoverAlign.End) {
|
102
|
-
posParams.top = `calc(100% - ${(triggerWidthAndHeight.height + arrowWidthAndHeight.height) / 2}px)`;
|
103
|
-
}
|
104
|
-
}
|
105
|
-
return posParams;
|
106
|
-
}
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBR0gsZUFBZSxFQUNmLGNBQWMsRUFHakIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixJQUFJLDZCQUErRCxDQUFDO0FBQ3BFLE1BQU0sVUFBVSxnQ0FBZ0M7SUFDNUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDakMsNkJBQTZCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUMxRSw2QkFBK0MsQ0FBQyxHQUFHLENBQ2hELEdBQUcsSUFBc0IsSUFBSSxLQUF3QixFQUFFLEVBQ3ZELGlCQUFpQixDQUFDLElBQXNCLENBQUMsQ0FBQyxLQUF3QixDQUFDLENBQ3RFLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELE9BQU8sNkJBQTZCLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxnREFBZ0QsQ0FBQyxRQUFnQztJQUM3RixNQUFNLDZCQUE2QixHQUFHLGdDQUFnQyxFQUFFLENBQUM7SUFDekUsSUFBSSxZQUF5QyxDQUFDO0lBQzlDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNqRCxJQUNJLFFBQVEsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFDbEMsUUFBUSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUNsQyxRQUFRLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxRQUFRO1lBQ3BDLFFBQVEsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFDdEMsQ0FBQztZQUNDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxZQUFZLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBbUI7Z0JBQzVDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQW9CO2FBQ2pELENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEIsTUFBTSxLQUFLLENBQ1AsMEVBQTBFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDeEcsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUM5Qix1QkFBaUU7SUFFakUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUFHLHVCQUF1QixDQUFDO0lBQ3pFLE1BQU0sUUFBUSxHQUFHO1FBQ2IsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksaUJBQWlCLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN6RyxDQUFDO0lBQ0YsSUFBSSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLEtBQUssY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxRQUFRLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztZQUNuQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDL0UsQ0FBQztZQUNELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7WUFDbkMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsWUFBNkIsRUFDN0IsbUJBQXNELEVBQ3RELHFCQUF3RDtJQUV4RCxNQUFNLFNBQVMsR0FBMkI7UUFDdEMsR0FBRyxFQUFFLEVBQUU7UUFDUCxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxFQUFFO0tBQ2hCLENBQUM7SUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzFFLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDM0MsU0FBUyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDSixTQUFTLENBQUMsR0FBRyxHQUFHLElBQUksbUJBQW1CLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDbkQsU0FBUyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQyxTQUFTLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDMUYsQ0FBQzthQUFNLElBQUksWUFBWSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkQsU0FBUyxDQUFDLElBQUksR0FBRyxjQUFjLG1CQUFtQixDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN0RSxDQUFDO2FBQU0sSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwRCxTQUFTLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDdkcsQ0FBQztJQUNMLENBQUM7U0FBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2pGLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUMsU0FBUyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7WUFDeEIsU0FBUyxDQUFDLFNBQVMsR0FBRyxtQ0FBbUMsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUNKLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLElBQUksQ0FBQztZQUNuRCxTQUFTLENBQUMsU0FBUyxHQUFHLGtDQUFrQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9DLFNBQVMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUMzRixDQUFDO2FBQU0sSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2RCxTQUFTLENBQUMsR0FBRyxHQUFHLGNBQWMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3RFLENBQUM7YUFBTSxJQUFJLFlBQVksQ0FBQyxLQUFLLEtBQUssZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BELFNBQVMsQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN4RyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgQ29ubmVjdGlvblBvc2l0aW9uUGFpciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBPUE9WRVJfUE9TSVRJT05TIH0gZnJvbSAnLi9wb3BvdmVyLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFJkeEFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zLFxuICAgIFJkeEFycm93UG9zaXRpb25QYXJhbXMsXG4gICAgUmR4UG9wb3ZlckFsaWduLFxuICAgIFJkeFBvcG92ZXJTaWRlLFxuICAgIFJkeFNpZGVBbmRBbGlnbixcbiAgICBSZHhTaWRlQW5kQWxpZ25PZmZzZXRzXG59IGZyb20gJy4vcG9wb3Zlci50eXBlcyc7XG5cbmxldCBhbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9uczogUmR4QWxsUG9zc2libGVDb25uZWN0ZWRQb3NpdGlvbnM7XG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsUG9zc2libGVDb25uZWN0ZWRQb3NpdGlvbnMoKSB7XG4gICAgaWYgKCFhbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucykge1xuICAgICAgICBhbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgaWYgKGFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zLnNpemUgPCAxKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKFBPUE9WRVJfUE9TSVRJT05TKS5mb3JFYWNoKChzaWRlKSA9PiB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhQT1BPVkVSX1BPU0lUSU9OU1tzaWRlIGFzIFJkeFBvcG92ZXJTaWRlXSA/PyB7fSkuZm9yRWFjaCgoYWxpZ24pID0+IHtcbiAgICAgICAgICAgICAgICAoYWxsUG9zc2libGVDb25uZWN0ZWRQb3NpdGlvbnMgYXMgTWFwPGFueSwgYW55Pikuc2V0KFxuICAgICAgICAgICAgICAgICAgICBgJHtzaWRlIGFzIFJkeFBvcG92ZXJTaWRlfXwke2FsaWduIGFzIFJkeFBvcG92ZXJBbGlnbn1gLFxuICAgICAgICAgICAgICAgICAgICBQT1BPVkVSX1BPU0lUSU9OU1tzaWRlIGFzIFJkeFBvcG92ZXJTaWRlXVthbGlnbiBhcyBSZHhQb3BvdmVyQWxpZ25dXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lkZUFuZEFsaWduRnJvbUFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zKHBvc2l0aW9uOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyKTogUmR4U2lkZUFuZEFsaWduIHtcbiAgICBjb25zdCBhbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucyA9IGdldEFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zKCk7XG4gICAgbGV0IHNpZGVBbmRBbGlnbjogUmR4U2lkZUFuZEFsaWduIHwgdW5kZWZpbmVkO1xuICAgIGFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcG9zaXRpb24ub3JpZ2luWCA9PT0gdmFsdWUub3JpZ2luWCAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3JpZ2luWSA9PT0gdmFsdWUub3JpZ2luWSAmJlxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVggPT09IHZhbHVlLm92ZXJsYXlYICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WSA9PT0gdmFsdWUub3ZlcmxheVlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBzaWRlQW5kQWxpZ25BcnJheSA9IGtleS5zcGxpdCgnfCcpO1xuICAgICAgICAgICAgc2lkZUFuZEFsaWduID0ge1xuICAgICAgICAgICAgICAgIHNpZGU6IHNpZGVBbmRBbGlnbkFycmF5WzBdIGFzIFJkeFBvcG92ZXJTaWRlLFxuICAgICAgICAgICAgICAgIGFsaWduOiBzaWRlQW5kQWxpZ25BcnJheVsxXSBhcyBSZHhQb3BvdmVyQWxpZ25cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIXNpZGVBbmRBbGlnbikge1xuICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgIGBbUmR4UG9wb3Zlcl0gY2Fubm90IGluZmVyIGJvdGggc2lkZSBhbmQgYWxpZ24gZnJvbSB0aGUgZ2l2ZW4gcG9zaXRpb24gKCR7SlNPTi5zdHJpbmdpZnkocG9zaXRpb24pfSlgXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzaWRlQW5kQWxpZ247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb250ZW50UG9zaXRpb24oXG4gICAgc2lkZUFuZEFsaWduV2l0aE9mZnNldHM6IFJkeFNpZGVBbmRBbGlnbiAmIFJkeFNpZGVBbmRBbGlnbk9mZnNldHNcbik6IENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgICBjb25zdCB7IHNpZGUsIGFsaWduLCBzaWRlT2Zmc2V0LCBhbGlnbk9mZnNldCB9ID0gc2lkZUFuZEFsaWduV2l0aE9mZnNldHM7XG4gICAgY29uc3QgcG9zaXRpb24gPSB7XG4gICAgICAgIC4uLihQT1BPVkVSX1BPU0lUSU9OU1tzaWRlXT8uW2FsaWduXSA/PyBQT1BPVkVSX1BPU0lUSU9OU1tSZHhQb3BvdmVyU2lkZS5Ub3BdW1JkeFBvcG92ZXJBbGlnbi5DZW50ZXJdKVxuICAgIH07XG4gICAgaWYgKHNpZGVPZmZzZXQgfHwgYWxpZ25PZmZzZXQpIHtcbiAgICAgICAgaWYgKFtSZHhQb3BvdmVyU2lkZS5Ub3AsIFJkeFBvcG92ZXJTaWRlLkJvdHRvbV0uaW5jbHVkZXMoc2lkZSkpIHtcbiAgICAgICAgICAgIGlmIChzaWRlT2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WSA9IHNpZGUgPT09IFJkeFBvcG92ZXJTaWRlLlRvcCA/IC1zaWRlT2Zmc2V0IDogc2lkZU9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhbGlnbk9mZnNldCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uLm9mZnNldFggPSBhbGlnbk9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChzaWRlT2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WCA9IHNpZGUgPT09IFJkeFBvcG92ZXJTaWRlLkxlZnQgPyAtc2lkZU9mZnNldCA6IHNpZGVPZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYWxpZ25PZmZzZXQpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi5vZmZzZXRZID0gYWxpZ25PZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBvc2l0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXJyb3dQb3NpdGlvblBhcmFtcyhcbiAgICBzaWRlQW5kQWxpZ246IFJkeFNpZGVBbmRBbGlnbixcbiAgICBhcnJvd1dpZHRoQW5kSGVpZ2h0OiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0sXG4gICAgdHJpZ2dlcldpZHRoQW5kSGVpZ2h0OiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH1cbik6IFJkeEFycm93UG9zaXRpb25QYXJhbXMge1xuICAgIGNvbnN0IHBvc1BhcmFtczogUmR4QXJyb3dQb3NpdGlvblBhcmFtcyA9IHtcbiAgICAgICAgdG9wOiAnJyxcbiAgICAgICAgbGVmdDogJycsXG4gICAgICAgIHRyYW5zZm9ybTogJydcbiAgICB9O1xuXG4gICAgaWYgKFtSZHhQb3BvdmVyU2lkZS5Ub3AsIFJkeFBvcG92ZXJTaWRlLkJvdHRvbV0uaW5jbHVkZXMoc2lkZUFuZEFsaWduLnNpZGUpKSB7XG4gICAgICAgIGlmIChzaWRlQW5kQWxpZ24uc2lkZSA9PT0gUmR4UG9wb3ZlclNpZGUuVG9wKSB7XG4gICAgICAgICAgICBwb3NQYXJhbXMudG9wID0gJzEwMCUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9zUGFyYW1zLnRvcCA9IGAtJHthcnJvd1dpZHRoQW5kSGVpZ2h0LmhlaWdodH1weGA7XG4gICAgICAgICAgICBwb3NQYXJhbXMudHJhbnNmb3JtID0gYHJvdGF0ZSgxODBkZWcpYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaWRlQW5kQWxpZ24uYWxpZ24gPT09IFJkeFBvcG92ZXJBbGlnbi5TdGFydCkge1xuICAgICAgICAgICAgcG9zUGFyYW1zLmxlZnQgPSBgJHsodHJpZ2dlcldpZHRoQW5kSGVpZ2h0LndpZHRoIC0gYXJyb3dXaWR0aEFuZEhlaWdodC53aWR0aCkgLyAyfXB4YDtcbiAgICAgICAgfSBlbHNlIGlmIChzaWRlQW5kQWxpZ24uYWxpZ24gPT09IFJkeFBvcG92ZXJBbGlnbi5DZW50ZXIpIHtcbiAgICAgICAgICAgIHBvc1BhcmFtcy5sZWZ0ID0gYGNhbGMoNTAlIC0gJHthcnJvd1dpZHRoQW5kSGVpZ2h0LndpZHRoIC8gMn1weClgO1xuICAgICAgICB9IGVsc2UgaWYgKHNpZGVBbmRBbGlnbi5hbGlnbiA9PT0gUmR4UG9wb3ZlckFsaWduLkVuZCkge1xuICAgICAgICAgICAgcG9zUGFyYW1zLmxlZnQgPSBgY2FsYygxMDAlIC0gJHsodHJpZ2dlcldpZHRoQW5kSGVpZ2h0LndpZHRoICsgYXJyb3dXaWR0aEFuZEhlaWdodC53aWR0aCkgLyAyfXB4KWA7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFtSZHhQb3BvdmVyU2lkZS5MZWZ0LCBSZHhQb3BvdmVyU2lkZS5SaWdodF0uaW5jbHVkZXMoc2lkZUFuZEFsaWduLnNpZGUpKSB7XG4gICAgICAgIGlmIChzaWRlQW5kQWxpZ24uc2lkZSA9PT0gUmR4UG9wb3ZlclNpZGUuTGVmdCkge1xuICAgICAgICAgICAgcG9zUGFyYW1zLmxlZnQgPSBgMTAwJWA7XG4gICAgICAgICAgICBwb3NQYXJhbXMudHJhbnNmb3JtID0gYHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb3NQYXJhbXMubGVmdCA9IGAtJHthcnJvd1dpZHRoQW5kSGVpZ2h0LndpZHRofXB4YDtcbiAgICAgICAgICAgIHBvc1BhcmFtcy50cmFuc2Zvcm0gPSBgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSlgO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpZGVBbmRBbGlnbi5hbGlnbiA9PT0gUmR4UG9wb3ZlckFsaWduLlN0YXJ0KSB7XG4gICAgICAgICAgICBwb3NQYXJhbXMudG9wID0gYCR7KHRyaWdnZXJXaWR0aEFuZEhlaWdodC5oZWlnaHQgLSBhcnJvd1dpZHRoQW5kSGVpZ2h0LmhlaWdodCkgLyAyfXB4YDtcbiAgICAgICAgfSBlbHNlIGlmIChzaWRlQW5kQWxpZ24uYWxpZ24gPT09IFJkeFBvcG92ZXJBbGlnbi5DZW50ZXIpIHtcbiAgICAgICAgICAgIHBvc1BhcmFtcy50b3AgPSBgY2FsYyg1MCUgLSAke2Fycm93V2lkdGhBbmRIZWlnaHQuaGVpZ2h0IC8gMn1weClgO1xuICAgICAgICB9IGVsc2UgaWYgKHNpZGVBbmRBbGlnbi5hbGlnbiA9PT0gUmR4UG9wb3ZlckFsaWduLkVuZCkge1xuICAgICAgICAgICAgcG9zUGFyYW1zLnRvcCA9IGBjYWxjKDEwMCUgLSAkeyh0cmlnZ2VyV2lkdGhBbmRIZWlnaHQuaGVpZ2h0ICsgYXJyb3dXaWR0aEFuZEhlaWdodC5oZWlnaHQpIC8gMn1weClgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvc1BhcmFtcztcbn1cbiJdfQ==
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { RdxProgressIndicatorDirective } from './src/progress-indicator.directive';
|
3
|
-
import { RdxProgressRootDirective } from './src/progress-root.directive';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export * from './src/progress-indicator.directive';
|
6
|
-
export * from './src/progress-root.directive';
|
7
|
-
const _imports = [
|
8
|
-
RdxProgressRootDirective,
|
9
|
-
RdxProgressIndicatorDirective
|
10
|
-
];
|
11
|
-
export class RdxProgressModule {
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressModule, imports: [RdxProgressRootDirective,
|
14
|
-
RdxProgressIndicatorDirective], exports: [RdxProgressRootDirective,
|
15
|
-
RdxProgressIndicatorDirective] }); }
|
16
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressModule }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressModule, decorators: [{
|
19
|
-
type: NgModule,
|
20
|
-
args: [{
|
21
|
-
imports: [..._imports],
|
22
|
-
exports: [..._imports]
|
23
|
-
}]
|
24
|
-
}] });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Byb2dyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRXpFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUk5QyxNQUFNLFFBQVEsR0FBRztJQUNiLHdCQUF3QjtJQUN4Qiw2QkFBNkI7Q0FDaEMsQ0FBQztBQU1GLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLFlBUjFCLHdCQUF3QjtZQUN4Qiw2QkFBNkIsYUFEN0Isd0JBQXdCO1lBQ3hCLDZCQUE2QjtnSEFPcEIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4UHJvZ3Jlc3NJbmRpY2F0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9wcm9ncmVzcy1pbmRpY2F0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFByb2dyZXNzUm9vdERpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL3Byb2dyZXNzLXJvb3QuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvcHJvZ3Jlc3MtaW5kaWNhdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9wcm9ncmVzcy1yb290LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIHsgUHJvZ3Jlc3NQcm9wcyB9IGZyb20gJy4vc3JjL3Byb2dyZXNzLXJvb3QuZGlyZWN0aXZlJztcblxuY29uc3QgX2ltcG9ydHMgPSBbXG4gICAgUmR4UHJvZ3Jlc3NSb290RGlyZWN0aXZlLFxuICAgIFJkeFByb2dyZXNzSW5kaWNhdG9yRGlyZWN0aXZlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5faW1wb3J0c10sXG4gICAgZXhwb3J0czogWy4uLl9pbXBvcnRzXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhQcm9ncmVzc01vZHVsZSB7fVxuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1wcm9ncmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcHJvZ3Jlc3MvcmFkaXgtbmctcHJpbWl0aXZlcy1wcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { Directive } from '@angular/core';
|
2
|
-
import { injectProgress } from './progress-root.directive';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* Directive to manage progress indicator state and attributes.
|
6
|
-
*
|
7
|
-
* This directive is used to display the progress indicator inside the progress bar.
|
8
|
-
* It inherits the state and value from the `RdxProgressRootDirective`.
|
9
|
-
*/
|
10
|
-
export class RdxProgressIndicatorDirective {
|
11
|
-
constructor() {
|
12
|
-
/**
|
13
|
-
* This allows the directive to access the progress bar state and values.
|
14
|
-
*/
|
15
|
-
this.progress = injectProgress();
|
16
|
-
}
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxProgressIndicatorDirective, isStandalone: true, selector: "[rdxProgressIndicator]", host: { properties: { "attr.data-state": "progress.state", "attr.data-value": "progress.value", "attr.data-max": "progress.max" } }, exportAs: ["rdxProgressIndicator"], ngImport: i0 }); }
|
19
|
-
}
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressIndicatorDirective, decorators: [{
|
21
|
-
type: Directive,
|
22
|
-
args: [{
|
23
|
-
selector: '[rdxProgressIndicator]',
|
24
|
-
exportAs: 'rdxProgressIndicator',
|
25
|
-
standalone: true,
|
26
|
-
host: {
|
27
|
-
'[attr.data-state]': 'progress.state',
|
28
|
-
'[attr.data-value]': 'progress.value',
|
29
|
-
'[attr.data-max]': 'progress.max'
|
30
|
-
}
|
31
|
-
}]
|
32
|
-
}] });
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcHJvZ3Jlc3Mvc3JjL3Byb2dyZXNzLWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRTNEOzs7OztHQUtHO0FBV0gsTUFBTSxPQUFPLDZCQUE2QjtJQVYxQztRQVdJOztXQUVHO1FBQ2dCLGFBQVEsR0FBRyxjQUFjLEVBQUUsQ0FBQztLQUNsRDsrR0FMWSw2QkFBNkI7bUdBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFWekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLG1CQUFtQixFQUFFLGdCQUFnQjt3QkFDckMsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxpQkFBaUIsRUFBRSxjQUFjO3FCQUNwQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0UHJvZ3Jlc3MgfSBmcm9tICcuL3Byb2dyZXNzLXJvb3QuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gbWFuYWdlIHByb2dyZXNzIGluZGljYXRvciBzdGF0ZSBhbmQgYXR0cmlidXRlcy5cbiAqXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB1c2VkIHRvIGRpc3BsYXkgdGhlIHByb2dyZXNzIGluZGljYXRvciBpbnNpZGUgdGhlIHByb2dyZXNzIGJhci5cbiAqIEl0IGluaGVyaXRzIHRoZSBzdGF0ZSBhbmQgdmFsdWUgZnJvbSB0aGUgYFJkeFByb2dyZXNzUm9vdERpcmVjdGl2ZWAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFByb2dyZXNzSW5kaWNhdG9yXScsXG4gICAgZXhwb3J0QXM6ICdyZHhQcm9ncmVzc0luZGljYXRvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdwcm9ncmVzcy5zdGF0ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLXZhbHVlXSc6ICdwcm9ncmVzcy52YWx1ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLW1heF0nOiAncHJvZ3Jlc3MubWF4J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UHJvZ3Jlc3NJbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFRoaXMgYWxsb3dzIHRoZSBkaXJlY3RpdmUgdG8gYWNjZXNzIHRoZSBwcm9ncmVzcyBiYXIgc3RhdGUgYW5kIHZhbHVlcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvZ3Jlc3MgPSBpbmplY3RQcm9ncmVzcygpO1xufVxuIl19
|
@@ -1,132 +0,0 @@
|
|
1
|
-
import { Directive, inject, InjectionToken, Input, numberAttribute } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
let idIterator = 0;
|
4
|
-
const MIN_PERCENT = 0;
|
5
|
-
const DEFAULT_MAX = 100;
|
6
|
-
const PROGRESS_NAME = 'Radix Progress';
|
7
|
-
const RdxProgressToken = new InjectionToken('RdxProgressDirective');
|
8
|
-
/**
|
9
|
-
* Injects the current instance of RdxProgressRootDirective.
|
10
|
-
* @returns The instance of RdxProgressRootDirective.
|
11
|
-
*/
|
12
|
-
export function injectProgress() {
|
13
|
-
return inject(RdxProgressToken);
|
14
|
-
}
|
15
|
-
/**
|
16
|
-
* Directive to manage progress bar state and attributes.
|
17
|
-
*
|
18
|
-
* This directive provides a way to create a progress bar with customizable value and max attributes.
|
19
|
-
* It handles aria attributes for accessibility and provides different states like 'indeterminate', 'complete', and 'loading'.
|
20
|
-
*
|
21
|
-
* @group Components
|
22
|
-
*/
|
23
|
-
export class RdxProgressRootDirective {
|
24
|
-
constructor() {
|
25
|
-
/**
|
26
|
-
* The unique ID for the progress bar.
|
27
|
-
* @default 'rdx-progress-bar-{idIterator}'
|
28
|
-
*/
|
29
|
-
this.id = `rdx-progress-bar-${idIterator++}`;
|
30
|
-
/**
|
31
|
-
* The current value of the progress bar.
|
32
|
-
* @group Props
|
33
|
-
* @defaultValue 0
|
34
|
-
*/
|
35
|
-
this.value = MIN_PERCENT;
|
36
|
-
/**
|
37
|
-
* The maximum value of the progress bar.
|
38
|
-
* @defaultValue 100
|
39
|
-
* @group Props
|
40
|
-
*/
|
41
|
-
this.max = DEFAULT_MAX;
|
42
|
-
/**
|
43
|
-
* Function to generate the value label.
|
44
|
-
* @group Props
|
45
|
-
*/
|
46
|
-
this.valueLabel = (value, max) => this.defaultGetValueLabel(value, max);
|
47
|
-
}
|
48
|
-
/**
|
49
|
-
* Lifecycle hook that is called when any data-bound property of a directive changes.
|
50
|
-
* @param changes - The changed properties.
|
51
|
-
* @ignore
|
52
|
-
*/
|
53
|
-
ngOnChanges(changes) {
|
54
|
-
if (changes['max'] && !this.isValidMaxNumber(this.max)) {
|
55
|
-
console.error(this.getInvalidMaxError(`${this.max}`, PROGRESS_NAME));
|
56
|
-
}
|
57
|
-
if (changes['value'] && this.value !== null && !this.isValidValueNumber(this.value, this.max)) {
|
58
|
-
console.error(this.getInvalidValueError(`${this.value}`, PROGRESS_NAME));
|
59
|
-
}
|
60
|
-
}
|
61
|
-
/**
|
62
|
-
* Get the state of the progress bar.
|
63
|
-
* @returns 'indeterminate' | 'loading' | 'complete'
|
64
|
-
* @ignore
|
65
|
-
*/
|
66
|
-
get state() {
|
67
|
-
return this.getProgressState(this.value, this.max);
|
68
|
-
}
|
69
|
-
getProgressState(value, maxValue) {
|
70
|
-
return value == null ? 'indeterminate' : value === maxValue ? 'complete' : 'loading';
|
71
|
-
}
|
72
|
-
defaultGetValueLabel(value, max) {
|
73
|
-
return `${Math.round((value / max) * 100)}%`;
|
74
|
-
}
|
75
|
-
isValidMaxNumber(max) {
|
76
|
-
return this.isNumber(max) && !isNaN(max) && max > 0;
|
77
|
-
}
|
78
|
-
isNumber(value) {
|
79
|
-
return typeof value === 'number';
|
80
|
-
}
|
81
|
-
isValidValueNumber(value, max) {
|
82
|
-
return this.isNumber(value) && !isNaN(value) && value <= max && value >= 0;
|
83
|
-
}
|
84
|
-
getInvalidMaxError(propValue, componentName) {
|
85
|
-
return `Invalid prop \`max\` of value \`${propValue}\` supplied to \`${componentName}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${DEFAULT_MAX}\`.`;
|
86
|
-
}
|
87
|
-
getInvalidValueError(propValue, componentName) {
|
88
|
-
return `Invalid prop \`value\` of value \`${propValue}\` supplied to \`${componentName}\`. The \`value\` prop must be:
|
89
|
-
- a positive number
|
90
|
-
- less than the value passed to \`max\` (or ${DEFAULT_MAX} if no \`max\` prop is set)
|
91
|
-
- \`null\` or \`undefined\` if the progress is indeterminate.
|
92
|
-
|
93
|
-
Defaulting to \`null\`.`;
|
94
|
-
}
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
96
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxProgressRootDirective, isStandalone: true, selector: "[rdxProgressRoot]", inputs: { id: "id", value: ["rdxValue", "value", numberAttribute], max: ["rdxMax", "max", numberAttribute], valueLabel: ["rdxValueLabel", "valueLabel"] }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "id": "id", "attr.aria-valuemax": "max", "attr.aria-valuemin": "0", "attr.aria-valuenow": "value", "attr.aria-valuetext": "valueLabel(value, max)", "attr.data-state": "state", "attr.data-value": "value", "attr.data-max": "max" } }, providers: [{ provide: RdxProgressToken, useExisting: RdxProgressRootDirective }], exportAs: ["rdxProgressRoot"], usesOnChanges: true, ngImport: i0 }); }
|
97
|
-
}
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxProgressRootDirective, decorators: [{
|
99
|
-
type: Directive,
|
100
|
-
args: [{
|
101
|
-
selector: '[rdxProgressRoot]',
|
102
|
-
exportAs: 'rdxProgressRoot',
|
103
|
-
standalone: true,
|
104
|
-
providers: [{ provide: RdxProgressToken, useExisting: RdxProgressRootDirective }],
|
105
|
-
host: {
|
106
|
-
role: 'progressbar',
|
107
|
-
'[id]': 'id',
|
108
|
-
'[attr.aria-valuemax]': 'max',
|
109
|
-
'[attr.aria-valuemin]': '0',
|
110
|
-
'[attr.aria-valuenow]': 'value',
|
111
|
-
'[attr.aria-valuetext]': 'valueLabel(value, max)',
|
112
|
-
'[attr.data-state]': 'state',
|
113
|
-
'[attr.data-value]': 'value',
|
114
|
-
'[attr.data-max]': 'max',
|
115
|
-
// set tab index to -1 so screen readers will read the aria-label
|
116
|
-
// Note: there is a known issue with JAWS that does not read progressbar aria labels on FireFox
|
117
|
-
tabindex: '-1'
|
118
|
-
}
|
119
|
-
}]
|
120
|
-
}], propDecorators: { id: [{
|
121
|
-
type: Input
|
122
|
-
}], value: [{
|
123
|
-
type: Input,
|
124
|
-
args: [{ alias: 'rdxValue', transform: numberAttribute }]
|
125
|
-
}], max: [{
|
126
|
-
type: Input,
|
127
|
-
args: [{ alias: 'rdxMax', transform: numberAttribute }]
|
128
|
-
}], valueLabel: [{
|
129
|
-
type: Input,
|
130
|
-
args: ['rdxValueLabel']
|
131
|
-
}] } });
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtcm9vdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Byb2dyZXNzL3NyYy9wcm9ncmVzcy1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxlQUFlLENBQUM7O0FBRXBILElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVuQixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDO0FBQ3hCLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBRXZDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQTJCLHNCQUFzQixDQUFDLENBQUM7QUFFOUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGNBQWM7SUFDMUIsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBVUQ7Ozs7Ozs7R0FPRztBQXFCSCxNQUFNLE9BQU8sd0JBQXdCO0lBcEJyQztRQXFCSTs7O1dBR0c7UUFDTSxPQUFFLEdBQUcsb0JBQW9CLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFFakQ7Ozs7V0FJRztRQUN1RCxVQUFLLEdBQUcsV0FBVyxDQUFDO1FBRTlFOzs7O1dBSUc7UUFDcUQsUUFBRyxHQUFHLFdBQVcsQ0FBQztRQUUxRTs7O1dBR0c7UUFDcUIsZUFBVSxHQUEyQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUN4RixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBMEQ3QztJQXhERzs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMs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QzNCLHNCQUFzQixFQUFFLE9BQU87d0JBQy9CLHVCQUF1QixFQUFFLHdCQUF3Qjt3QkFDakQsbUJBQW1CLEVBQUUsT0FBTzt3QkFDNUIsbUJBQW1CLEVBQUUsT0FBTzt3QkFDNUIsaUJBQWlCLEVBQUUsS0FBSzt3QkFDeEIsaUVBQWlFO3dCQUNqRSwrRkFBK0Y7d0JBQy9GLFFBQVEsRUFBRSxJQUFJO3FCQUNqQjtpQkFDSjs4QkFNWSxFQUFFO3NCQUFWLEtBQUs7Z0JBT29ELEtBQUs7c0JBQTlELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBT0EsR0FBRztzQkFBMUQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFNOUIsVUFBVTtzQkFBakMsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IGlkSXRlcmF0b3IgPSAwO1xuXG5jb25zdCBNSU5fUEVSQ0VOVCA9IDA7XG5jb25zdCBERUZBVUxUX01BWCA9IDEwMDtcbmNvbnN0IFBST0dSRVNTX05BTUUgPSAnUmFkaXggUHJvZ3Jlc3MnO1xuXG5jb25zdCBSZHhQcm9ncmVzc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFByb2dyZXNzUm9vdERpcmVjdGl2ZT4oJ1JkeFByb2dyZXNzRGlyZWN0aXZlJyk7XG5cbi8qKlxuICogSW5qZWN0cyB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiBSZHhQcm9ncmVzc1Jvb3REaXJlY3RpdmUuXG4gKiBAcmV0dXJucyBUaGUgaW5zdGFuY2Ugb2YgUmR4UHJvZ3Jlc3NSb290RGlyZWN0aXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UHJvZ3Jlc3MoKTogUmR4UHJvZ3Jlc3NSb290RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeFByb2dyZXNzVG9rZW4pO1xufVxuXG5leHBvcnQgdHlwZSBQcm9ncmVzc1N0YXRlID0gJ2luZGV0ZXJtaW5hdGUnIHwgJ2NvbXBsZXRlJyB8ICdsb2FkaW5nJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmVzc1Byb3BzIHtcbiAgICB2YWx1ZT86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgbWF4PzogbnVtYmVyO1xuICAgIGdldFZhbHVlTGFiZWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIG1hbmFnZSBwcm9ncmVzcyBiYXIgc3RhdGUgYW5kIGF0dHJpYnV0ZXMuXG4gKlxuICogVGhpcyBkaXJlY3RpdmUgcHJvdmlkZXMgYSB3YXkgdG8gY3JlYXRlIGEgcHJvZ3Jlc3MgYmFyIHdpdGggY3VzdG9taXphYmxlIHZhbHVlIGFuZCBtYXggYXR0cmlidXRlcy5cbiAqIEl0IGhhbmRsZXMgYXJpYSBhdHRyaWJ1dGVzIGZvciBhY2Nlc3NpYmlsaXR5IGFuZCBwcm92aWRlcyBkaWZmZXJlbnQgc3RhdGVzIGxpa2UgJ2luZGV0ZXJtaW5hdGUnLCAnY29tcGxldGUnLCBhbmQgJ2xvYWRpbmcnLlxuICpcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFByb2dyZXNzUm9vdF0nLFxuICAgIGV4cG9ydEFzOiAncmR4UHJvZ3Jlc3NSb290JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4UHJvZ3Jlc3NUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeFByb2dyZXNzUm9vdERpcmVjdGl2ZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdwcm9ncmVzc2JhcicsXG4gICAgICAgICdbaWRdJzogJ2lkJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtYXhdJzogJ21heCcsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWluXSc6ICcwJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVub3ddJzogJ3ZhbHVlJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWV0ZXh0XSc6ICd2YWx1ZUxhYmVsKHZhbHVlLCBtYXgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3N0YXRlJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtdmFsdWVdJzogJ3ZhbHVlJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtbWF4XSc6ICdtYXgnLFxuICAgICAgICAvLyBzZXQgdGFiIGluZGV4IHRvIC0xIHNvIHNjcmVlbiByZWFkZXJzIHdpbGwgcmVhZCB0aGUgYXJpYS1sYWJlbFxuICAgICAgICAvLyBOb3RlOiB0aGVyZSBpcyBhIGtub3duIGlzc3VlIHdpdGggSkFXUyB0aGF0IGRvZXMgbm90IHJlYWQgcHJvZ3Jlc3NiYXIgYXJpYSBsYWJlbHMgb24gRmlyZUZveFxuICAgICAgICB0YWJpbmRleDogJy0xJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UHJvZ3Jlc3NSb290RGlyZWN0aXZlIGltcGxlbWVudHMgUHJvZ3Jlc3NQcm9wcywgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLlxuICAgICAqIEBkZWZhdWx0ICdyZHgtcHJvZ3Jlc3MtYmFyLXtpZEl0ZXJhdG9yfSdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpZCA9IGByZHgtcHJvZ3Jlc3MtYmFyLSR7aWRJdGVyYXRvcisrfWA7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgcHJvZ3Jlc3MgYmFyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4VmFsdWUnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB2YWx1ZSA9IE1JTl9QRVJDRU5UO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHByb2dyZXNzIGJhci5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIDEwMFxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAncmR4TWF4JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgbWF4ID0gREVGQVVMVF9NQVg7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBnZW5lcmF0ZSB0aGUgdmFsdWUgbGFiZWwuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCdyZHhWYWx1ZUxhYmVsJykgdmFsdWVMYWJlbDogKHZhbHVlOiBudW1iZXIsIG1heDogbnVtYmVyKSA9PiBzdHJpbmcgPSAodmFsdWUsIG1heCkgPT5cbiAgICAgICAgdGhpcy5kZWZhdWx0R2V0VmFsdWVMYWJlbCh2YWx1ZSwgbWF4KTtcblxuICAgIC8qKlxuICAgICAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIHdoZW4gYW55IGRhdGEtYm91bmQgcHJvcGVydHkgb2YgYSBkaXJlY3RpdmUgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gY2hhbmdlcyAtIFRoZSBjaGFuZ2VkIHByb3BlcnRpZXMuXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ21heCddICYmICF0aGlzLmlzVmFsaWRNYXhOdW1iZXIodGhpcy5tYXgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKHRoaXMuZ2V0SW52YWxpZE1heEVycm9yKGAke3RoaXMubWF4fWAsIFBST0dSRVNTX05BTUUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWyd2YWx1ZSddICYmIHRoaXMudmFsdWUgIT09IG51bGwgJiYgIXRoaXMuaXNWYWxpZFZhbHVlTnVtYmVyKHRoaXMudmFsdWUsIHRoaXMubWF4KSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcih0aGlzLmdldEludmFsaWRWYWx1ZUVycm9yKGAke3RoaXMudmFsdWV9YCwgUFJPR1JFU1NfTkFNRSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdGF0ZSBvZiB0aGUgcHJvZ3Jlc3MgYmFyLlxuICAgICAqIEByZXR1cm5zICdpbmRldGVybWluYXRlJyB8ICdsb2FkaW5nJyB8ICdjb21wbGV0ZSdcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgZ2V0IHN0YXRlKCk6IFByb2dyZXNzU3RhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9ncmVzc1N0YXRlKHRoaXMudmFsdWUsIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2dyZXNzU3RhdGUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGwsIG1heFZhbHVlOiBudW1iZXIpOiBQcm9ncmVzc1N0YXRlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnaW5kZXRlcm1pbmF0ZScgOiB2YWx1ZSA9PT0gbWF4VmFsdWUgPyAnY29tcGxldGUnIDogJ2xvYWRpbmcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVmYXVsdEdldFZhbHVlTGFiZWwodmFsdWU6IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoKHZhbHVlIC8gbWF4KSAqIDEwMCl9JWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkTWF4TnVtYmVyKG1heDogdW5rbm93bik6IG1heCBpcyBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc051bWJlcihtYXgpICYmICFpc05hTihtYXgpICYmIG1heCA+IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc051bWJlcih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZFZhbHVlTnVtYmVyKHZhbHVlOiB1bmtub3duLCBtYXg6IG51bWJlcik6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTnVtYmVyKHZhbHVlKSAmJiAhaXNOYU4odmFsdWUpICYmIHZhbHVlIDw9IG1heCAmJiB2YWx1ZSA+PSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW52YWxpZE1heEVycm9yKHByb3BWYWx1ZTogc3RyaW5nLCBjb21wb25lbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYEludmFsaWQgcHJvcCBcXGBtYXhcXGAgb2YgdmFsdWUgXFxgJHtwcm9wVmFsdWV9XFxgIHN1cHBsaWVkIHRvIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuIE9ubHkgbnVtYmVycyBncmVhdGVyIHRoYW4gMCBhcmUgdmFsaWQgbWF4IHZhbHVlcy4gRGVmYXVsdGluZyB0byBcXGAke0RFRkFVTFRfTUFYfVxcYC5gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW52YWxpZFZhbHVlRXJyb3IocHJvcFZhbHVlOiBzdHJpbmcsIGNvbXBvbmVudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgSW52YWxpZCBwcm9wIFxcYHZhbHVlXFxgIG9mIHZhbHVlIFxcYCR7cHJvcFZhbHVlfVxcYCBzdXBwbGllZCB0byBcXGAke2NvbXBvbmVudE5hbWV9XFxgLiBUaGUgXFxgdmFsdWVcXGAgcHJvcCBtdXN0IGJlOlxuICAgIC0gYSBwb3NpdGl2ZSBudW1iZXJcbiAgICAtIGxlc3MgdGhhbiB0aGUgdmFsdWUgcGFzc2VkIHRvIFxcYG1heFxcYCAob3IgJHtERUZBVUxUX01BWH0gaWYgbm8gXFxgbWF4XFxgIHByb3AgaXMgc2V0KVxuICAgIC0gXFxgbnVsbFxcYCBvciBcXGB1bmRlZmluZWRcXGAgaWYgdGhlIHByb2dyZXNzIGlzIGluZGV0ZXJtaW5hdGUuXG5cbiAgICBEZWZhdWx0aW5nIHRvIFxcYG51bGxcXGAuYDtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/radio/index.mjs
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
export * from './src/radio-root.directive';
|
2
|
-
export * from './src/radio-indicator.directive';
|
3
|
-
export * from './src/radio-item-input.directive';
|
4
|
-
export * from './src/radio-item.directive';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9yYWRpby1yb290LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3JhZGlvLWluZGljYXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcmFkaW8taXRlbS1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcmFkaW8taXRlbS5kaXJlY3RpdmUnO1xuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1yYWRpby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaW8vcmFkaXgtbmctcHJpbWl0aXZlcy1yYWRpby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
2
|
-
import { RdxRadioItemDirective } from './radio-item.directive';
|
3
|
-
import { RDX_RADIO_GROUP } from './radio-tokens';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class RdxRadioIndicatorDirective {
|
6
|
-
constructor() {
|
7
|
-
this.radioGroup = inject(RDX_RADIO_GROUP);
|
8
|
-
this.radioItem = inject(RdxRadioItemDirective);
|
9
|
-
}
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
11
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxRadioIndicatorDirective, isStandalone: true, selector: "[rdxRadioIndicator]", host: { properties: { "attr.data-state": "radioItem.checkedState() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "radioItem.disabled ? \"\" : null" } }, exportAs: ["rdxRadioIndicator"], ngImport: i0 }); }
|
12
|
-
}
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioIndicatorDirective, decorators: [{
|
14
|
-
type: Directive,
|
15
|
-
args: [{
|
16
|
-
selector: '[rdxRadioIndicator]',
|
17
|
-
exportAs: 'rdxRadioIndicator',
|
18
|
-
standalone: true,
|
19
|
-
host: {
|
20
|
-
'[attr.data-state]': 'radioItem.checkedState() ? "checked" : "unchecked"',
|
21
|
-
'[attr.data-disabled]': 'radioItem.disabled ? "" : null'
|
22
|
-
}
|
23
|
-
}]
|
24
|
-
}] });
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaW8vc3JjL3JhZGlvLWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFXdEUsTUFBTSxPQUFPLDBCQUEwQjtJQVR2QztRQVV1QixlQUFVLEdBQXdCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRCxjQUFTLEdBQTBCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3ZGOytHQUhZLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQVR0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsb0RBQW9EO3dCQUN6RSxzQkFBc0IsRUFBRSxnQ0FBZ0M7cUJBQzNEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFJhZGlvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcmFkaW8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUkRYX1JBRElPX0dST1VQLCBSYWRpb0dyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9yYWRpby10b2tlbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhSYWRpb0luZGljYXRvcl0nLFxuICAgIGV4cG9ydEFzOiAncmR4UmFkaW9JbmRpY2F0b3InLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAncmFkaW9JdGVtLmNoZWNrZWRTdGF0ZSgpID8gXCJjaGVja2VkXCIgOiBcInVuY2hlY2tlZFwiJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3JhZGlvSXRlbS5kaXNhYmxlZCA/IFwiXCIgOiBudWxsJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UmFkaW9JbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSByYWRpb0dyb3VwOiBSYWRpb0dyb3VwRGlyZWN0aXZlID0gaW5qZWN0KFJEWF9SQURJT19HUk9VUCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhZGlvSXRlbTogUmR4UmFkaW9JdGVtRGlyZWN0aXZlID0gaW5qZWN0KFJkeFJhZGlvSXRlbURpcmVjdGl2ZSk7XG59XG4iXX0=
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { computed, Directive, input } from '@angular/core';
|
2
|
-
import { RdxVisuallyHiddenDirective } from '@radix-ng/primitives/visually-hidden';
|
3
|
-
import { injectRadioItem } from './radio-item.directive';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@radix-ng/primitives/visually-hidden";
|
6
|
-
export class RdxRadioItemInputDirective {
|
7
|
-
constructor() {
|
8
|
-
this.radioItem = injectRadioItem();
|
9
|
-
this.name = input();
|
10
|
-
this.value = computed(() => this.radioItem.value() || undefined);
|
11
|
-
this.checked = computed(() => this.radioItem.checkedState() || undefined);
|
12
|
-
this.required = input(this.radioItem.required());
|
13
|
-
this.disabled = input(this.radioItem.disabled());
|
14
|
-
}
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioItemInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
16
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxRadioItemInputDirective, isStandalone: true, selector: "[rdxRadioItemInput]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "radio" }, properties: { "attr.name": "name()", "attr.required": "required()", "attr.disabled": "disabled() ? disabled() : undefined", "attr.checked": "checked()", "value": "value()" } }, exportAs: ["rdxRadioItemInput"], hostDirectives: [{ directive: i1.RdxVisuallyHiddenDirective, inputs: ["feature", "feature"] }], ngImport: i0 }); }
|
17
|
-
}
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioItemInputDirective, decorators: [{
|
19
|
-
type: Directive,
|
20
|
-
args: [{
|
21
|
-
selector: '[rdxRadioItemInput]',
|
22
|
-
exportAs: 'rdxRadioItemInput',
|
23
|
-
standalone: true,
|
24
|
-
hostDirectives: [
|
25
|
-
{ directive: RdxVisuallyHiddenDirective, inputs: ['feature'] }
|
26
|
-
],
|
27
|
-
host: {
|
28
|
-
type: 'radio',
|
29
|
-
'[attr.name]': 'name()',
|
30
|
-
'[attr.required]': 'required()',
|
31
|
-
'[attr.disabled]': 'disabled() ? disabled() : undefined',
|
32
|
-
'[attr.checked]': 'checked()',
|
33
|
-
'[value]': 'value()'
|
34
|
-
}
|
35
|
-
}]
|
36
|
-
}] });
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1pdGVtLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFpQnpELE1BQU0sT0FBTywwQkFBMEI7SUFmdkM7UUFnQnFCLGNBQVMsR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUV0QyxTQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkIsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQzVELFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUNyRSxhQUFRLEdBQUcsS0FBSyxDQUFzQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDakUsYUFBUSxHQUFHLEtBQUssQ0FBc0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQzdFOytHQVJZLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQWZ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixjQUFjLEVBQUU7d0JBQ1osRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUU7cUJBQUM7b0JBQ25FLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsT0FBTzt3QkFDYixhQUFhLEVBQUUsUUFBUTt3QkFDdkIsaUJBQWlCLEVBQUUsWUFBWTt3QkFDL0IsaUJBQWlCLEVBQUUscUNBQXFDO3dCQUN4RCxnQkFBZ0IsRUFBRSxXQUFXO3dCQUM3QixTQUFTLEVBQUUsU0FBUztxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VmlzdWFsbHlIaWRkZW5EaXJlY3RpdmUgfSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy92aXN1YWxseS1oaWRkZW4nO1xuaW1wb3J0IHsgaW5qZWN0UmFkaW9JdGVtIH0gZnJvbSAnLi9yYWRpby1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFJhZGlvSXRlbUlucHV0XScsXG4gICAgZXhwb3J0QXM6ICdyZHhSYWRpb0l0ZW1JbnB1dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7IGRpcmVjdGl2ZTogUmR4VmlzdWFsbHlIaWRkZW5EaXJlY3RpdmUsIGlucHV0czogWydmZWF0dXJlJ10gfV0sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAncmFkaW8nLFxuICAgICAgICAnW2F0dHIubmFtZV0nOiAnbmFtZSgpJyxcbiAgICAgICAgJ1thdHRyLnJlcXVpcmVkXSc6ICdyZXF1aXJlZCgpJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCgpID8gZGlzYWJsZWQoKSA6IHVuZGVmaW5lZCcsXG4gICAgICAgICdbYXR0ci5jaGVja2VkXSc6ICdjaGVja2VkKCknLFxuICAgICAgICAnW3ZhbHVlXSc6ICd2YWx1ZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UmFkaW9JdGVtSW5wdXREaXJlY3RpdmUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFkaW9JdGVtID0gaW5qZWN0UmFkaW9JdGVtKCk7XG5cbiAgICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIHJlYWRvbmx5IHZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yYWRpb0l0ZW0udmFsdWUoKSB8fCB1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IGNoZWNrZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJhZGlvSXRlbS5jaGVja2VkU3RhdGUoKSB8fCB1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odGhpcy5yYWRpb0l0ZW0ucmVxdWlyZWQoKSk7XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih0aGlzLnJhZGlvSXRlbS5kaXNhYmxlZCgpKTtcbn1cbiJdfQ==
|
@@ -1,86 +0,0 @@
|
|
1
|
-
import { booleanAttribute, computed, Directive, ElementRef, inject, InjectionToken, input, signal } from '@angular/core';
|
2
|
-
import { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';
|
3
|
-
import { RDX_RADIO_GROUP } from './radio-tokens';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@radix-ng/primitives/roving-focus";
|
6
|
-
export const RdxRadioItemToken = new InjectionToken('RadioItemToken');
|
7
|
-
export function injectRadioItem() {
|
8
|
-
return inject(RdxRadioItemToken);
|
9
|
-
}
|
10
|
-
export class RdxRadioItemDirective {
|
11
|
-
constructor() {
|
12
|
-
this.radioGroup = inject(RDX_RADIO_GROUP);
|
13
|
-
this.elementRef = inject(ElementRef);
|
14
|
-
this.value = input.required();
|
15
|
-
this.id = input();
|
16
|
-
this.required = input();
|
17
|
-
this.disabled = input(false, { transform: booleanAttribute });
|
18
|
-
this.disabledState = computed(() => this.radioGroup.disableState() || this.disabled());
|
19
|
-
this.checkedState = computed(() => this.radioGroup.value() === this.value());
|
20
|
-
this.ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
21
|
-
this.isArrowKeyPressedSignal = signal(false);
|
22
|
-
}
|
23
|
-
/** @ignore */
|
24
|
-
ngOnInit() {
|
25
|
-
if (this.radioGroup.defaultValue === this.value()) {
|
26
|
-
this.radioGroup.select(this.value());
|
27
|
-
}
|
28
|
-
}
|
29
|
-
/** @ignore */
|
30
|
-
onClick() {
|
31
|
-
if (!this.disabledState()) {
|
32
|
-
this.radioGroup.select(this.value());
|
33
|
-
this.isArrowKeyPressedSignal.set(true);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
/** @ignore */
|
37
|
-
onKeyDown(event) {
|
38
|
-
if (this.ARROW_KEYS.includes(event.key)) {
|
39
|
-
this.isArrowKeyPressedSignal.set(true);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
/** @ignore */
|
43
|
-
onKeyUp() {
|
44
|
-
this.isArrowKeyPressedSignal.set(false);
|
45
|
-
}
|
46
|
-
/** @ignore */
|
47
|
-
onFocus() {
|
48
|
-
this.radioGroup.select(this.value());
|
49
|
-
setTimeout(() => {
|
50
|
-
/**
|
51
|
-
* When navigating with arrow keys, focus triggers on the radio item.
|
52
|
-
* To "check" the radio, we programmatically trigger a click event.
|
53
|
-
*/
|
54
|
-
if (this.isArrowKeyPressedSignal()) {
|
55
|
-
this.elementRef.nativeElement.click();
|
56
|
-
}
|
57
|
-
}, 0);
|
58
|
-
}
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
60
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxRadioItemDirective, isStandalone: true, selector: "[rdxRadioItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "radio" }, listeners: { "click": "onClick()", "keydown": "onKeyDown($event)", "keyup": "onKeyUp()", "focus": "onFocus()" }, properties: { "attr.aria-checked": "checkedState()", "attr.data-disabled": "disabledState() ? \"\" : null", "attr.data-state": "checkedState() ? \"checked\" : \"unchecked\"", "disabled": "disabledState()" } }, providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }], exportAs: ["rdxRadioItem"], hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective, inputs: ["tabStopId", "id", "focusable", "focusable", "active", "active", "allowShiftKey", "allowShiftKey"] }], ngImport: i0 }); }
|
61
|
-
}
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxRadioItemDirective, decorators: [{
|
63
|
-
type: Directive,
|
64
|
-
args: [{
|
65
|
-
selector: '[rdxRadioItem]',
|
66
|
-
exportAs: 'rdxRadioItem',
|
67
|
-
standalone: true,
|
68
|
-
providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }],
|
69
|
-
hostDirectives: [
|
70
|
-
{ directive: RdxRovingFocusItemDirective, inputs: ['tabStopId: id', 'focusable', 'active', 'allowShiftKey'] }
|
71
|
-
],
|
72
|
-
host: {
|
73
|
-
type: 'button',
|
74
|
-
role: 'radio',
|
75
|
-
'[attr.aria-checked]': 'checkedState()',
|
76
|
-
'[attr.data-disabled]': 'disabledState() ? "" : null',
|
77
|
-
'[attr.data-state]': 'checkedState() ? "checked" : "unchecked"',
|
78
|
-
'[disabled]': 'disabledState()',
|
79
|
-
'(click)': 'onClick()',
|
80
|
-
'(keydown)': 'onKeyDown($event)',
|
81
|
-
'(keyup)': 'onKeyUp()',
|
82
|
-
'(focus)': 'onFocus()'
|
83
|
-
}
|
84
|
-
}]
|
85
|
-
}] });
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUVMLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsZ0JBQWdCLENBQUMsQ0FBQztBQUU3RixNQUFNLFVBQVUsZUFBZTtJQUMzQixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUF1QkQsTUFBTSxPQUFPLHFCQUFxQjtJQXJCbEM7UUFzQnFCLGVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4QyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRWpDLE9BQUUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUVyQixhQUFRLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFFNUIsYUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUV0RSxrQkFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxD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dCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBpbnB1dCxcbiAgICBPbkluaXQsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4Um92aW5nRm9jdXNJdGVtRGlyZWN0aXZlIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvcm92aW5nLWZvY3VzJztcbmltcG9ydCB7IFJEWF9SQURJT19HUk9VUCB9IGZyb20gJy4vcmFkaW8tdG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IFJkeFJhZGlvSXRlbVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFJhZGlvSXRlbURpcmVjdGl2ZT4oJ1JhZGlvSXRlbVRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSYWRpb0l0ZW0oKTogUmR4UmFkaW9JdGVtRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeFJhZGlvSXRlbVRva2VuKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4UmFkaW9JdGVtXScsXG4gICAgZXhwb3J0QXM6ICdyZHhSYWRpb0l0ZW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZHhSYWRpb0l0ZW1Ub2tlbiwgdXNlRXhpc3Rpbmc6IFJkeFJhZGlvSXRlbURpcmVjdGl2ZSB9XSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7IGRpcmVjdGl2ZTogUmR4Um92aW5nRm9jdXNJdGVtRGlyZWN0aXZlLCBpbnB1dHM6IFsndGFiU3RvcElkOiBpZCcsICdmb2N1c2FibGUnLCAnYWN0aXZlJywgJ2FsbG93U2hpZnRLZXknXSB9XSxcblxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIHJvbGU6ICdyYWRpbycsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2NoZWNrZWRTdGF0ZSgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkU3RhdGUoKSA/IFwiXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2NoZWNrZWRTdGF0ZSgpID8gXCJjaGVja2VkXCIgOiBcInVuY2hlY2tlZFwiJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWRTdGF0ZSgpJyxcbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG4gICAgICAgICcoa2V5dXApJzogJ29uS2V5VXAoKScsXG4gICAgICAgICcoZm9jdXMpJzogJ29uRm9jdXMoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFJhZGlvSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByYWRpb0dyb3VwID0gaW5qZWN0KFJEWF9SQURJT19HUk9VUCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAgIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmFkaW9Hcm91cC5kaXNhYmxlU3RhdGUoKSB8fCB0aGlzLmRpc2FibGVkKCkpO1xuXG4gICAgcmVhZG9ubHkgY2hlY2tlZFN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yYWRpb0dyb3VwLnZhbHVlKCkgPT09IHRoaXMudmFsdWUoKSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IEFSUk9XX0tFWVMgPSBbJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCcsICdBcnJvd1JpZ2h0J107XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0Fycm93S2V5UHJlc3NlZFNpZ25hbCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5yYWRpb0dyb3VwLmRlZmF1bHRWYWx1ZSA9PT0gdGhpcy52YWx1ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnJhZGlvR3JvdXAuc2VsZWN0KHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZFN0YXRlKCkpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9Hcm91cC5zZWxlY3QodGhpcy52YWx1ZSgpKTtcbiAgICAgICAgICAgIHRoaXMuaXNBcnJvd0tleVByZXNzZWRTaWduYWwuc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuQVJST1dfS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICB0aGlzLmlzQXJyb3dLZXlQcmVzc2VkU2lnbmFsLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgb25LZXlVcCgpIHtcbiAgICAgICAgdGhpcy5pc0Fycm93S2V5UHJlc3NlZFNpZ25hbC5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgb25Gb2N1cygpIHtcbiAgICAgICAgdGhpcy5yYWRpb0dyb3VwLnNlbGVjdCh0aGlzLnZhbHVlKCkpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogV2hlbiBuYXZpZ2F0aW5nIHdpdGggYXJyb3cga2V5cywgZm9jdXMgdHJpZ2dlcnMgb24gdGhlIHJhZGlvIGl0ZW0uXG4gICAgICAgICAgICAgKiBUbyBcImNoZWNrXCIgdGhlIHJhZGlvLCB3ZSBwcm9ncmFtbWF0aWNhbGx5IHRyaWdnZXIgYSBjbGljayBldmVudC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNBcnJvd0tleVByZXNzZWRTaWduYWwoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbiJdfQ==
|