@radix-ng/primitives 0.16.0 → 0.18.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/checkbox/src/checkbox-input.directive.d.ts +2 -1
- package/compodoc/documentation.json +7419 -2200
- package/esm2022/accordion/index.mjs +4 -4
- package/esm2022/accordion/src/accordion-content.directive.mjs +3 -3
- package/esm2022/accordion/src/accordion-header.directive.mjs +3 -3
- package/esm2022/accordion/src/accordion-item.directive.mjs +3 -3
- package/esm2022/accordion/src/accordion-root.directive.mjs +3 -3
- package/esm2022/accordion/src/accordion-trigger.directive.mjs +3 -3
- package/esm2022/alert-dialog/index.mjs +4 -4
- package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog.service.mjs +3 -3
- package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +3 -3
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +3 -3
- package/esm2022/avatar/src/avatar-image.directive.mjs +3 -3
- package/esm2022/avatar/src/avatar-root.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +7 -4
- package/esm2022/checkbox/src/checkbox.directive.mjs +3 -3
- package/esm2022/collapsible/src/collapsible-content.directive.mjs +3 -3
- package/esm2022/collapsible/src/collapsible-root.directive.mjs +3 -3
- package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +3 -3
- package/esm2022/context-menu/index.mjs +4 -4
- package/esm2022/context-menu/src/context-menu-content.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-item-selectable.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-item.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-label.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-separator.directive.mjs +3 -3
- package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +3 -3
- package/esm2022/core/src/auto-focus.directive.mjs +3 -3
- package/esm2022/dialog/index.mjs +4 -4
- package/esm2022/dialog/src/dialog-close.directive.mjs +3 -3
- package/esm2022/dialog/src/dialog-content.directive.mjs +3 -3
- package/esm2022/dialog/src/dialog-description.directive.mjs +3 -3
- package/esm2022/dialog/src/dialog-dismiss.directive.mjs +3 -3
- package/esm2022/dialog/src/dialog-title.directive.mjs +3 -3
- package/esm2022/dialog/src/dialog-trigger.directive.mjs +3 -3
- package/esm2022/dialog/src/dialog.service.mjs +3 -3
- package/esm2022/dropdown-menu/index.mjs +4 -4
- package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +3 -3
- package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +3 -3
- package/esm2022/label/src/label.directive.mjs +3 -3
- package/esm2022/menu/index.mjs +4 -4
- package/esm2022/menu/src/menu-content.directive.mjs +3 -3
- package/esm2022/menu/src/menu-directive.mjs +3 -3
- package/esm2022/menu/src/menu-group.directive.mjs +3 -3
- package/esm2022/menu/src/menu-item.directive.mjs +3 -3
- package/esm2022/menu/src/menu-label.directive.mjs +3 -3
- package/esm2022/menu/src/menu-separator.directive.mjs +3 -3
- package/esm2022/menubar/index.mjs +4 -4
- package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-item-radio.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-item.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-separator.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-trigger.directive.mjs +3 -3
- package/esm2022/progress/index.mjs +4 -4
- package/esm2022/progress/src/progress-indicator.directive.mjs +3 -3
- package/esm2022/progress/src/progress-root.directive.mjs +3 -3
- package/esm2022/radio/src/radio-indicator.directive.mjs +3 -3
- package/esm2022/radio/src/radio-item.directive.mjs +3 -3
- package/esm2022/radio/src/radio-root.directive.mjs +3 -3
- package/esm2022/select/index.mjs +65 -0
- package/esm2022/select/radix-ng-primitives-select.mjs +5 -0
- package/esm2022/select/src/select-content.directive.mjs +53 -0
- package/esm2022/select/src/select-group.directive.mjs +18 -0
- package/esm2022/select/src/select-icon.directive.mjs +18 -0
- package/esm2022/select/src/select-item-indicator.directive.mjs +23 -0
- package/esm2022/select/src/select-item.directive.mjs +116 -0
- package/esm2022/select/src/select-label.directive.mjs +15 -0
- package/esm2022/select/src/select-separator.directive.mjs +18 -0
- package/esm2022/select/src/select-trigger.directive.mjs +38 -0
- package/esm2022/select/src/select-value.directive.mjs +21 -0
- package/esm2022/select/src/select.component.mjs +234 -0
- package/esm2022/separator/src/separator.directive.mjs +3 -3
- package/esm2022/slider/index.mjs +28 -0
- package/esm2022/slider/radix-ng-primitives-slider.mjs +5 -0
- package/esm2022/slider/src/slider-horizontal.component.mjs +117 -0
- package/esm2022/slider/src/slider-impl.directive.mjs +89 -0
- package/esm2022/slider/src/slider-orientation-context.service.mjs +28 -0
- package/esm2022/slider/src/slider-range.component.mjs +41 -0
- package/esm2022/slider/src/slider-root.component.mjs +207 -0
- package/esm2022/slider/src/slider-thumb-impl.directive.mjs +102 -0
- package/esm2022/slider/src/slider-thumb.component.mjs +22 -0
- package/esm2022/slider/src/slider-track.component.mjs +27 -0
- package/esm2022/slider/src/slider-vertical.component.mjs +117 -0
- package/esm2022/slider/src/utils.mjs +94 -0
- package/esm2022/switch/index.mjs +4 -4
- package/esm2022/switch/src/switch-input.directive.mjs +3 -3
- package/esm2022/switch/src/switch-root.directive.mjs +3 -3
- package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
- package/esm2022/tabs/index.mjs +4 -4
- package/esm2022/tabs/src/tabs-content.directive.mjs +3 -3
- package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
- package/esm2022/tabs/src/tabs-list.directive.mjs +3 -3
- package/esm2022/tabs/src/tabs-root.directive.mjs +3 -3
- package/esm2022/tabs/src/tabs-trigger.directive.mjs +3 -3
- package/esm2022/toggle/src/toggle-input.directive.mjs +3 -3
- package/esm2022/toggle/src/toggle.directive.mjs +3 -3
- package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +3 -3
- package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +3 -3
- package/esm2022/toggle-group/src/toggle-group.directive.mjs +3 -3
- package/esm2022/tooltip/index.mjs +41 -0
- package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +5 -0
- package/esm2022/tooltip/src/get-content-position.mjs +31 -0
- package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +92 -0
- package/esm2022/tooltip/src/tooltip-arrow.token.mjs +3 -0
- package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +24 -0
- package/esm2022/tooltip/src/tooltip-content.directive.mjs +48 -0
- package/esm2022/tooltip/src/tooltip-content.token.mjs +3 -0
- package/esm2022/tooltip/src/tooltip-root.directive.mjs +288 -0
- package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +70 -0
- package/esm2022/tooltip/src/tooltip.config.mjs +18 -0
- package/esm2022/tooltip/src/tooltip.constants.mjs +84 -0
- package/esm2022/tooltip/src/tooltip.types.mjs +14 -0
- package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +3 -3
- package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +3 -3
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +3 -3
- package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
- package/fesm2022/radix-ng-primitives-avatar.mjs +9 -9
- package/fesm2022/radix-ng-primitives-checkbox.mjs +15 -12
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
- package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
- package/fesm2022/radix-ng-primitives-core.mjs +3 -3
- package/fesm2022/radix-ng-primitives-dialog.mjs +25 -25
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
- package/fesm2022/radix-ng-primitives-label.mjs +3 -3
- package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
- package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
- package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
- package/fesm2022/radix-ng-primitives-radio.mjs +9 -9
- package/fesm2022/radix-ng-primitives-select.mjs +572 -0
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
- package/fesm2022/radix-ng-primitives-slider.mjs +830 -0
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-switch.mjs +13 -13
- package/fesm2022/radix-ng-primitives-tabs.mjs +19 -19
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
- package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
- package/fesm2022/radix-ng-primitives-tooltip.mjs +684 -0
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
- package/package.json +19 -1
- package/select/README.md +1 -0
- package/select/index.d.ts +26 -0
- package/select/src/select-content.directive.d.ts +20 -0
- package/select/src/select-group.directive.d.ts +5 -0
- package/select/src/select-icon.directive.d.ts +5 -0
- package/select/src/select-item-indicator.directive.d.ts +7 -0
- package/select/src/select-item.directive.d.ts +47 -0
- package/select/src/select-label.directive.d.ts +5 -0
- package/select/src/select-separator.directive.d.ts +5 -0
- package/select/src/select-trigger.directive.d.ts +11 -0
- package/select/src/select-value.directive.d.ts +8 -0
- package/select/src/select.component.d.ts +81 -0
- package/slider/README.md +1 -0
- package/slider/index.d.ts +18 -0
- package/slider/src/slider-horizontal.component.d.ts +29 -0
- package/slider/src/slider-impl.directive.d.ts +18 -0
- package/slider/src/slider-orientation-context.service.d.ts +14 -0
- package/slider/src/slider-range.component.d.ts +13 -0
- package/slider/src/slider-root.component.d.ts +47 -0
- package/slider/src/slider-thumb-impl.directive.d.ts +26 -0
- package/slider/src/slider-thumb.component.d.ts +6 -0
- package/slider/src/slider-track.component.d.ts +7 -0
- package/slider/src/slider-vertical.component.d.ts +29 -0
- package/slider/src/utils.d.ts +52 -0
- package/tooltip/README.md +1 -0
- package/tooltip/index.d.ts +17 -0
- package/tooltip/src/get-content-position.d.ts +3 -0
- package/tooltip/src/tooltip-arrow.directive.d.ts +25 -0
- package/tooltip/src/tooltip-arrow.token.d.ts +3 -0
- package/tooltip/src/tooltip-content-attributes.directive.d.ts +8 -0
- package/tooltip/src/tooltip-content.directive.d.ts +36 -0
- package/tooltip/src/tooltip-content.token.d.ts +3 -0
- package/tooltip/src/tooltip-root.directive.d.ts +103 -0
- package/tooltip/src/tooltip-trigger.directive.d.ts +26 -0
- package/tooltip/src/tooltip.config.d.ts +6 -0
- package/tooltip/src/tooltip.constants.d.ts +9 -0
- package/tooltip/src/tooltip.types.d.ts +18 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"radix-ng-primitives-slider.mjs","sources":["../../../packages/primitives/slider/src/utils.ts","../../../packages/primitives/slider/src/slider-impl.directive.ts","../../../packages/primitives/slider/src/slider-horizontal.component.ts","../../../packages/primitives/slider/src/slider-orientation-context.service.ts","../../../packages/primitives/slider/src/slider-vertical.component.ts","../../../packages/primitives/slider/src/slider-root.component.ts","../../../packages/primitives/slider/src/slider-range.component.ts","../../../packages/primitives/slider/src/slider-thumb-impl.directive.ts","../../../packages/primitives/slider/src/slider-thumb.component.ts","../../../packages/primitives/slider/src/slider-track.component.ts","../../../packages/primitives/slider/index.ts","../../../packages/primitives/slider/radix-ng-primitives-slider.ts"],"sourcesContent":["// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width: number, left: number, direction: number) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, 0, 100);\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length;\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = 10 ** decimalCount;\n return Math.round(value * rounder) / rounder;\n}\n\nexport function getNextSortedValues(prevValues: number[] = [], nextValue: number, atIndex: number) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown'];\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\ntype SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top';\nexport const BACK_KEYS: Record<SlideDirection, string[]> = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft']\n};\n\nexport interface OrientationContext {\n direction: number;\n size: 'width' | 'height';\n startEdge: 'left' | 'top';\n endEdge: 'right' | 'bottom';\n}\n\nexport function clamp(\n value: number,\n min: number = Number.NEGATIVE_INFINITY,\n max: number = Number.POSITIVE_INFINITY\n): number {\n return Math.min(Math.max(value, min), max);\n}\n","import { Directive, EventEmitter, inject, Output } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { ARROW_KEYS, PAGE_KEYS } from './utils';\n\n@Directive({\n selector: '[rdxSliderImpl]',\n standalone: true,\n host: {\n role: 'slider',\n tabindex: '0',\n '(keydown)': 'onKeyDown($event)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp($event)'\n }\n})\nexport class RdxSliderImplDirective {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n\n @Output() slideStart = new EventEmitter<PointerEvent>();\n @Output() slideMove = new EventEmitter<PointerEvent>();\n @Output() slideEnd = new EventEmitter<PointerEvent>();\n @Output() homeKeyDown = new EventEmitter<KeyboardEvent>();\n @Output() endKeyDown = new EventEmitter<KeyboardEvent>();\n @Output() stepKeyDown = new EventEmitter<KeyboardEvent>();\n\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Home') {\n this.homeKeyDown.emit(event);\n // Prevent scrolling to page start\n event.preventDefault();\n } else if (event.key === 'End') {\n this.endKeyDown.emit(event);\n // Prevent scrolling to page end\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n this.stepKeyDown.emit(event);\n // Prevent scrolling for directional key presses\n event.preventDefault();\n }\n }\n\n onPointerDown(event: PointerEvent) {\n const target = event.target as HTMLElement;\n target.setPointerCapture(event.pointerId);\n\n // Prevent browser focus behaviour because we focus a thumb manually when values change.\n event.preventDefault();\n\n // Touch devices have a delay before focusing so won't focus if touch immediately moves\n // away from target (sliding). We want thumb to focus regardless.\n if (this.rootContext.thumbElements.includes(target)) {\n target.focus();\n } else {\n this.slideStart.emit(event);\n }\n }\n\n onPointerMove(event: PointerEvent) {\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n this.slideMove.emit(event);\n }\n }\n\n onPointerUp(event: PointerEvent) {\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n this.slideEnd.emit(event);\n }\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n input,\n Input,\n Output,\n signal,\n viewChild\n} from '@angular/core';\nimport { RdxSliderImplDirective } from './slider-impl.directive';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { BACK_KEYS, linearScale } from './utils';\n\n@Component({\n selector: 'rdx-slider-horizontal',\n standalone: true,\n imports: [RdxSliderImplDirective],\n template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'horizontal'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateX(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `\n})\nexport class RdxSliderHorizontalComponent {\n private readonly rootContext = inject(RdxSliderRootComponent);\n\n @Input() dir: 'ltr' | 'rtl' = 'ltr';\n\n readonly inverted = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n @Input() min = 0;\n @Input() max = 100;\n\n @Input() className = '';\n\n @Output() slideStart = new EventEmitter<number>();\n @Output() slideMove = new EventEmitter<number>();\n @Output() slideEnd = new EventEmitter<void>();\n @Output() stepKeyDown = new EventEmitter<{ event: KeyboardEvent; direction: number }>();\n @Output() endKeyDown = new EventEmitter<KeyboardEvent>();\n @Output() homeKeyDown = new EventEmitter<KeyboardEvent>();\n\n private readonly sliderElement = viewChild<ElementRef>('sliderElement');\n\n private readonly rect = signal<DOMRect | undefined>(undefined);\n\n onSlideStart(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientX);\n this.slideStart.emit(value);\n }\n\n onSlideMove(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientX);\n this.slideMove.emit(value);\n }\n\n onSlideEnd() {\n this.rect.set(undefined);\n this.slideEnd.emit();\n }\n\n onStepKeyDown(event: KeyboardEvent) {\n const slideDirection = this.rootContext.isSlidingFromLeft() ? 'from-left' : 'from-right';\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n\n this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });\n }\n\n private getValueFromPointer(pointerPosition: number): number {\n this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());\n const rect = this.rect();\n if (!rect) return 0;\n\n const input: [number, number] = [0, rect.width];\n const output: [number, number] = this.rootContext.isSlidingFromLeft()\n ? [this.min, this.max]\n : [this.max, this.min];\n\n const value = linearScale(input, output);\n this.rect.set(rect);\n\n return value(pointerPosition - rect.left);\n }\n}\n","import { Injectable, signal } from '@angular/core';\n\nexport interface OrientationContext {\n startEdge: string;\n endEdge: string;\n direction: number;\n size: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class RdxSliderOrientationContextService {\n private contextSignal = signal<OrientationContext>({\n startEdge: 'left',\n endEdge: 'right',\n direction: 1,\n size: 'width'\n });\n\n get context() {\n return this.contextSignal();\n }\n\n updateContext(context: Partial<OrientationContext>) {\n this.contextSignal.update((current) => ({\n ...current,\n ...context\n }));\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n inject,\n input,\n Input,\n Output,\n signal,\n viewChild\n} from '@angular/core';\nimport { RdxSliderImplDirective } from './slider-impl.directive';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { BACK_KEYS, linearScale } from './utils';\n\n@Component({\n selector: 'rdx-slider-vertical',\n standalone: true,\n imports: [RdxSliderImplDirective],\n template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'vertical'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateY(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `\n})\nexport class RdxSliderVerticalComponent {\n private readonly rootContext = inject(RdxSliderRootComponent);\n\n @Input() dir: 'ltr' | 'rtl' = 'ltr';\n\n readonly inverted = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n @Input() min = 0;\n @Input() max = 100;\n\n @Input() className = '';\n\n @Output() slideStart = new EventEmitter<number>();\n @Output() slideMove = new EventEmitter<number>();\n @Output() slideEnd = new EventEmitter<void>();\n @Output() stepKeyDown = new EventEmitter<{ event: KeyboardEvent; direction: number }>();\n @Output() endKeyDown = new EventEmitter<KeyboardEvent>();\n @Output() homeKeyDown = new EventEmitter<KeyboardEvent>();\n\n private readonly sliderElement = viewChild<ElementRef>('sliderElement');\n\n private readonly rect = signal<DOMRect | undefined>(undefined);\n\n onSlideStart(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientY);\n this.slideStart.emit(value);\n }\n\n onSlideMove(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientY);\n this.slideMove.emit(value);\n }\n\n onSlideEnd() {\n this.rect.set(undefined);\n this.slideEnd.emit();\n }\n\n onStepKeyDown(event: KeyboardEvent) {\n const slideDirection = this.rootContext.isSlidingFromBottom() ? 'from-bottom' : 'from-top';\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n\n this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });\n }\n\n private getValueFromPointer(pointerPosition: number): number {\n this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());\n const rect = this.rect();\n if (!rect) return 0;\n\n const input: [number, number] = [0, rect.height];\n const output: [number, number] = this.rootContext.isSlidingFromBottom()\n ? [this.max, this.min]\n : [this.min, this.max];\n\n const value = linearScale(input, output);\n this.rect.set(rect);\n\n return value(pointerPosition - rect.top);\n }\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n EventEmitter,\n inject,\n input,\n Input,\n model,\n numberAttribute,\n OnInit,\n Output\n} from '@angular/core';\nimport { RdxSliderHorizontalComponent } from './slider-horizontal.component';\nimport { RdxSliderOrientationContextService } from './slider-orientation-context.service';\nimport { RdxSliderVerticalComponent } from './slider-vertical.component';\nimport {\n clamp,\n getClosestValueIndex,\n getDecimalCount,\n getNextSortedValues,\n hasMinStepsBetweenValues,\n roundValue\n} from './utils';\n\n@Component({\n selector: 'rdx-slider',\n standalone: true,\n imports: [RdxSliderHorizontalComponent, RdxSliderVerticalComponent, NgIf, NgTemplateOutlet],\n template: `\n <ng-template #transclude><ng-content /></ng-template>\n\n <ng-container *ngIf=\"orientation() === 'horizontal'\">\n <rdx-slider-horizontal\n [className]=\"className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-horizontal>\n </ng-container>\n\n <ng-container *ngIf=\"orientation() === 'vertical'\">\n <rdx-slider-vertical\n [className]=\"className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-vertical>\n </ng-container>\n `\n})\nexport class RdxSliderRootComponent implements OnInit {\n /** @ignore */\n readonly orientationContext = inject(RdxSliderOrientationContextService);\n\n readonly min = input<number, NumberInput>(0, { transform: numberAttribute });\n\n readonly max = input<number, NumberInput>(100, { transform: numberAttribute });\n\n readonly step = input<number, NumberInput>(1, { transform: numberAttribute });\n\n readonly minStepsBetweenThumbs = input<number, NumberInput>(0, { transform: numberAttribute });\n\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly inverted = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly dir = input<'ltr' | 'rtl'>('ltr');\n\n @Input() className: string = '';\n\n @Output() valueChange = new EventEmitter<number[]>();\n @Output() valueCommit = new EventEmitter<number[]>();\n\n readonly modelValue = model<number[]>([0]);\n\n /** @ignore */\n readonly valueIndexToChange = model(0);\n\n /** @ignore */\n readonly valuesBeforeSlideStart = model<number[]>([]);\n\n readonly isSlidingFromLeft = computed(\n () => (this.dir() === 'ltr' && !this.inverted()) || (this.dir() !== 'ltr' && this.inverted())\n );\n\n readonly isSlidingFromBottom = computed(() => !this.inverted());\n\n /** @ignore */\n thumbElements: HTMLElement[] = [];\n\n /** @ignore */\n ngOnInit() {\n const isHorizontal = this.orientation() === 'horizontal';\n\n if (isHorizontal) {\n this.orientationContext.updateContext({\n direction: this.isSlidingFromLeft() ? 1 : -1,\n size: 'width',\n startEdge: this.isSlidingFromLeft() ? 'left' : 'right',\n endEdge: this.isSlidingFromLeft() ? 'right' : 'left'\n });\n } else {\n this.orientationContext.updateContext({\n direction: this.isSlidingFromBottom() ? -1 : 1,\n size: 'height',\n startEdge: this.isSlidingFromBottom() ? 'bottom' : 'top',\n endEdge: this.isSlidingFromBottom() ? 'top' : 'bottom'\n });\n }\n }\n\n /** @ignore */\n onPointerDown() {\n this.valuesBeforeSlideStart.set([...this.modelValue()]);\n }\n\n /** @ignore */\n handleSlideStart(value: number): void {\n const closestIndex = getClosestValueIndex(this.modelValue(), value);\n this.updateValues(value, closestIndex);\n }\n\n /** @ignore */\n handleSlideMove(value: number): void {\n this.updateValues(value, this.valueIndexToChange());\n }\n\n /** @ignore */\n handleSlideEnd(): void {\n const prevValue = this.valuesBeforeSlideStart()[this.valueIndexToChange()];\n const nextValue = this.modelValue()[this.valueIndexToChange()];\n const hasChanged = nextValue !== prevValue;\n\n if (hasChanged) {\n this.valueCommit.emit([...this.modelValue()]);\n }\n }\n\n /** @ignore */\n handleStepKeyDown(event: { event: KeyboardEvent; direction: number }): void {\n const stepInDirection = this.step() * event.direction;\n const atIndex = this.valueIndexToChange();\n const currentValue = this.modelValue()[atIndex];\n this.updateValues(currentValue + stepInDirection, atIndex, true);\n }\n\n /** @ignore */\n updateValues(value: number, atIndex: number, commit = false): void {\n const decimalCount = getDecimalCount(this.step());\n const snapToStep = roundValue(\n Math.round((value - this.min()) / this.step()) * this.step() + this.min(),\n decimalCount\n );\n const nextValue = clamp(snapToStep, this.min(), this.max());\n\n const nextValues = getNextSortedValues(this.modelValue(), nextValue, atIndex);\n\n if (hasMinStepsBetweenValues(nextValues, this.minStepsBetweenThumbs() * this.step())) {\n this.valueIndexToChange.set(nextValues.indexOf(nextValue));\n const hasChanged = String(nextValues) !== String(this.modelValue());\n\n if (hasChanged) {\n this.modelValue.set(nextValues);\n this.valueChange.emit([...this.modelValue()]);\n this.thumbElements[this.valueIndexToChange()]?.focus();\n\n if (commit) {\n this.valueCommit.emit([...this.modelValue()]);\n }\n }\n }\n }\n}\n","import { Component, computed, inject } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { convertValueToPercentage } from './utils';\n\n@Component({\n selector: 'rdx-slider-range',\n standalone: true,\n host: {\n '[attr.data-disabled]': 'rootContext.disabled() ? \"\" : undefined',\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[style]': 'rangeStyles()'\n },\n template: `\n <ng-content />\n `\n})\nexport class RdxSliderRangeComponent {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n\n percentages = computed(() =>\n this.rootContext\n .modelValue()\n ?.map((value) => convertValueToPercentage(value, this.rootContext.min(), this.rootContext.max()))\n );\n\n offsetStart = computed(() => (this.rootContext.modelValue()!.length > 1 ? Math.min(...this.percentages()!) : 0));\n offsetEnd = computed(() => 100 - Math.max(...this.percentages()!));\n\n rangeStyles = computed(() => {\n const context = this.rootContext.orientationContext.context;\n\n return {\n [context.startEdge]: `${this.offsetStart()}%`,\n [context.endEdge]: `${this.offsetEnd()}%`\n };\n });\n}\n","import { computed, Directive, ElementRef, inject, OnDestroy, OnInit, signal } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { convertValueToPercentage, getThumbInBoundsOffset } from './utils';\n\n@Directive({\n selector: '[rdxSliderThumbImpl]',\n standalone: true,\n host: {\n role: 'slider',\n '[tabindex]': 'rootContext.disabled() ? undefined : 0',\n\n '[attr.aria-valuenow]': 'rootContext.modelValue()',\n '[attr.aria-valuemin]': 'rootContext.min()',\n '[attr.aria-valuemax]': 'rootContext.max()',\n '[attr.aria-orientation]': 'rootContext.orientation()',\n\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[attr.data-disabled]': 'rootContext.disabled() ? \"\" : undefined',\n\n '[style]': 'combinedStyles()',\n\n '(focus)': 'onFocus()'\n }\n})\nexport class RdxSliderThumbImplDirective implements OnInit, OnDestroy {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n private readonly elementRef = inject(ElementRef);\n private resizeObserver!: ResizeObserver;\n\n isMounted = signal(false);\n\n thumbIndex = computed(() => {\n const thumbElement = this.elementRef.nativeElement;\n const index = this.rootContext.thumbElements.indexOf(thumbElement);\n return index >= 0 ? index : null;\n });\n\n value = computed(() => {\n const index = this.thumbIndex();\n if (index === null) return undefined;\n return this.rootContext.modelValue()?.[index];\n });\n\n percent = computed(() => {\n const val = this.value();\n if (val === undefined) return 0;\n return convertValueToPercentage(val, this.rootContext.min(), this.rootContext.max());\n });\n\n transform = computed(() => {\n const percent = this.percent();\n const offset = this.thumbInBoundsOffset();\n return `calc(${percent}% + ${offset}px)`;\n });\n\n orientationSize = signal(0);\n\n thumbInBoundsOffset = computed(() => {\n const context = this.rootContext.orientationContext.context;\n\n const size = this.orientationSize();\n const percent = this.percent();\n const direction = context.direction;\n\n return size ? getThumbInBoundsOffset(size, percent, direction) : 0;\n });\n\n combinedStyles = computed(() => {\n const context = this.rootContext.orientationContext.context;\n\n const startEdge = context.startEdge;\n const percent = this.percent();\n const offset = this.thumbInBoundsOffset();\n\n return {\n position: 'absolute',\n transform: 'var(--rdx-slider-thumb-transform)',\n display: (this.isMounted() && this.value()) === false ? 'none' : undefined,\n [startEdge]: `calc(${percent}% + ${offset}px)`\n };\n });\n\n onFocus() {\n if (this.thumbIndex() !== null) {\n this.rootContext.valueIndexToChange.set(this.thumbIndex()!);\n }\n }\n\n ngOnInit() {\n const thumbElement = this.elementRef.nativeElement;\n this.rootContext.thumbElements.push(thumbElement);\n\n this.resizeObserver = new ResizeObserver(() => {\n const rect = thumbElement.getBoundingClientRect();\n const context = this.rootContext.orientationContext.context;\n const size = context.size === 'width' ? rect.width : rect.height;\n this.orientationSize.set(size);\n });\n\n this.resizeObserver.observe(thumbElement);\n\n this.isMounted.set(true);\n }\n\n ngOnDestroy() {\n const thumbElement = this.elementRef.nativeElement;\n const index = this.rootContext.thumbElements.indexOf(thumbElement);\n if (index >= 0) this.rootContext.thumbElements.splice(index, 1);\n\n if (this.resizeObserver) {\n this.resizeObserver.unobserve(thumbElement);\n }\n\n this.isMounted.set(false);\n }\n}\n","import { Component } from '@angular/core';\nimport { RdxSliderThumbImplDirective } from './slider-thumb-impl.directive';\n\n@Component({\n selector: 'rdx-slider-thumb',\n standalone: true,\n hostDirectives: [RdxSliderThumbImplDirective],\n template: `\n <ng-content />\n `\n})\nexport class RdxSliderThumbComponent {}\n","import { Component, inject } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\n\n@Component({\n selector: 'rdx-slider-track',\n standalone: true,\n host: {\n '[attr.data-disabled]': \"rootContext.disabled() ? '' : undefined\",\n '[attr.data-orientation]': 'rootContext.orientation()'\n },\n template: `\n <ng-content />\n `\n})\nexport class RdxSliderTrackComponent {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n}\n","import { NgModule } from '@angular/core';\nimport { RdxSliderRangeComponent } from './src/slider-range.component';\nimport { RdxSliderRootComponent } from './src/slider-root.component';\nimport { RdxSliderThumbComponent } from './src/slider-thumb.component';\nimport { RdxSliderTrackComponent } from './src/slider-track.component';\n\nexport * from './src/slider-horizontal.component';\nexport * from './src/slider-impl.directive';\nexport * from './src/slider-range.component';\nexport * from './src/slider-root.component';\nexport * from './src/slider-thumb-impl.directive';\nexport * from './src/slider-thumb.component';\nexport * from './src/slider-track.component';\nexport * from './src/slider-vertical.component';\n\nconst _imports = [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RdxSliderThumbImplDirective"],"mappings":"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"}
|
@@ -46,12 +46,12 @@ class RdxSwitchRootDirective {
|
|
46
46
|
this.checked.set(!this.checked());
|
47
47
|
this.onCheckedChange.emit(this.checked());
|
48
48
|
}
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
50
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxSwitchRootDirective, isStandalone: true, selector: "button[rdxSwitchRoot]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onCheckedChange: "onCheckedChange" }, host: { attributes: { "role": "switch", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "id": "elementId()", "attr.aria-checked": "checked()", "attr.aria-required": "required", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "disabledState() ? \"true\" : null", "attr.disabled": "disabledState() ? disabledState() : null" } }, providers: [
|
51
51
|
{ provide: RdxSwitchToken, useExisting: RdxSwitchRootDirective }
|
52
52
|
], exportAs: ["rdxSwitchRoot"], ngImport: i0 }); }
|
53
53
|
}
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchRootDirective, decorators: [{
|
55
55
|
type: Directive,
|
56
56
|
args: [{
|
57
57
|
selector: 'button[rdxSwitchRoot]',
|
@@ -78,10 +78,10 @@ class RdxSwitchInputDirective {
|
|
78
78
|
constructor() {
|
79
79
|
this.switchRoot = injectSwitch();
|
80
80
|
}
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
82
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
82
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSwitchInputDirective, isStandalone: true, selector: "input[rdxSwitchInput]", host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "attr.defaultChecked": "switchRoot.checked()", "attr.aria-checked": "switchRoot.checked()", "attr.aria-hidden": "true", "attr.aria-required": "switchRoot.required()", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.disabled": "switchRoot.disabledState() ? switchRoot.disabledState() : null", "attr.value": "switchRoot.checked() ? \"on\" : \"off\"" }, styleAttribute: "transform: translateX(-100%); position: absolute; overflow: hidden; pointerEvents: none; opacity: 0; margin: 0;" }, exportAs: ["rdxSwitchInput"], ngImport: i0 }); }
|
83
83
|
}
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchInputDirective, decorators: [{
|
85
85
|
type: Directive,
|
86
86
|
args: [{
|
87
87
|
selector: 'input[rdxSwitchInput]',
|
@@ -107,10 +107,10 @@ class RdxSwitchThumbDirective {
|
|
107
107
|
constructor() {
|
108
108
|
this.switchRoot = injectSwitch();
|
109
109
|
}
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
111
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
111
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSwitchThumbDirective, isStandalone: true, selector: "span[rdxSwitchThumb]", host: { properties: { "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"" } }, exportAs: ["rdxSwitchThumb"], ngImport: i0 }); }
|
112
112
|
}
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchThumbDirective, decorators: [{
|
114
114
|
type: Directive,
|
115
115
|
args: [{
|
116
116
|
selector: 'span[rdxSwitchThumb]',
|
@@ -129,15 +129,15 @@ const switchImports = [
|
|
129
129
|
RdxSwitchThumbDirective
|
130
130
|
];
|
131
131
|
class RdxSwitchModule {
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
133
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
133
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule, imports: [RdxSwitchRootDirective,
|
134
134
|
RdxSwitchInputDirective,
|
135
135
|
RdxSwitchThumbDirective], exports: [RdxSwitchRootDirective,
|
136
136
|
RdxSwitchInputDirective,
|
137
137
|
RdxSwitchThumbDirective] }); }
|
138
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
138
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule }); }
|
139
139
|
}
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule, decorators: [{
|
141
141
|
type: NgModule,
|
142
142
|
args: [{
|
143
143
|
imports: [...switchImports],
|
@@ -32,10 +32,10 @@ class RdxTabsContextService {
|
|
32
32
|
generateId() {
|
33
33
|
return `tabs-${Math.random().toString(36).substr(2, 9)}`;
|
34
34
|
}
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
36
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContextService, providedIn: 'root' }); }
|
37
37
|
}
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContextService, decorators: [{
|
39
39
|
type: Injectable,
|
40
40
|
args: [{
|
41
41
|
providedIn: 'root'
|
@@ -48,10 +48,10 @@ class RdxTabsContentDirective {
|
|
48
48
|
this.value = input.required();
|
49
49
|
this.selected = computed(() => this.tabsContext.value$() === this.value());
|
50
50
|
}
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
52
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
52
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsContentDirective, isStandalone: true, selector: "[rdxTabsContent]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "id": "tabsContext.getBaseId()", "attr.aria-labelledby": "tabsContext.getBaseId()", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "attr.data-orientation": "tabsContext.orientation$()", "hidden": "!selected()" } }, ngImport: i0 }); }
|
53
53
|
}
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContentDirective, decorators: [{
|
55
55
|
type: Directive,
|
56
56
|
args: [{
|
57
57
|
selector: '[rdxTabsContent]',
|
@@ -72,10 +72,10 @@ class RdxTabsListDirective {
|
|
72
72
|
constructor() {
|
73
73
|
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
74
74
|
}
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
76
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTabsListDirective, isStandalone: true, selector: "[rdxTabsList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabsContext.orientation$()", "attr.data-orientation": "tabsContext.orientation$()" } }, ngImport: i0 }); }
|
77
77
|
}
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsListDirective, decorators: [{
|
79
79
|
type: Directive,
|
80
80
|
args: [{
|
81
81
|
selector: '[rdxTabsList]',
|
@@ -113,10 +113,10 @@ class RdxTabsRootDirective {
|
|
113
113
|
this.tabsContext.setValue(this.defaultValue);
|
114
114
|
}
|
115
115
|
}
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
117
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
117
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTabsRootDirective, isStandalone: true, selector: "[rdxTabsRoot]", inputs: { value: "value", defaultValue: "defaultValue", orientation: "orientation", dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation", "attr.dir": "dir" } }, providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }], ngImport: i0 }); }
|
118
118
|
}
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsRootDirective, decorators: [{
|
120
120
|
type: Directive,
|
121
121
|
args: [{
|
122
122
|
selector: '[rdxTabsRoot]',
|
@@ -166,10 +166,10 @@ class RdxTabsTriggerDirective {
|
|
166
166
|
this.tabsContext?.setValue(this.value());
|
167
167
|
}
|
168
168
|
}
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
170
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
170
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[rdxTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)" }, properties: { "id": "triggerId", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "attr.data-state": "selected() ? 'active' : 'inactive'" } }, ngImport: i0 }); }
|
171
171
|
}
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsTriggerDirective, decorators: [{
|
173
173
|
type: Directive,
|
174
174
|
args: [{
|
175
175
|
selector: '[rdxTabsTrigger]',
|
@@ -195,17 +195,17 @@ const tabsImports = [
|
|
195
195
|
RdxTabsTriggerDirective
|
196
196
|
];
|
197
197
|
class RdxTabsModule {
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
199
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
199
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, imports: [RdxTabsRootDirective,
|
200
200
|
RdxTabsContentDirective,
|
201
201
|
RdxTabsListDirective,
|
202
202
|
RdxTabsTriggerDirective], exports: [RdxTabsRootDirective,
|
203
203
|
RdxTabsContentDirective,
|
204
204
|
RdxTabsListDirective,
|
205
205
|
RdxTabsTriggerDirective] }); }
|
206
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
206
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, providers: [RdxTabsContextService] }); }
|
207
207
|
}
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, decorators: [{
|
209
209
|
type: NgModule,
|
210
210
|
args: [{
|
211
211
|
imports: [...tabsImports],
|
@@ -61,10 +61,10 @@ class RdxToggleGroupItemDirective {
|
|
61
61
|
updateDisabled() {
|
62
62
|
// TODO
|
63
63
|
}
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
65
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
65
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxToggleGroupItemDirective, isStandalone: true, selector: "[rdxToggleGroupItem]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "radio" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-checked": "checked", "attr.aria-disabled": "disabled || toggleGroup.disabled", "attr.aria-pressed": "undefined", "attr.data-disabled": "disabled || toggleGroup.disabled", "attr.data-state": "checked ? \"on\" : \"off\"", "attr.data-orientation": "toggleGroup.orientation" } }, providers: [{ provide: RdxToggleGroupItemToken, useExisting: RdxToggleGroupItemDirective }], exportAs: ["rdxToggleGroupItem"], usesOnChanges: true, ngImport: i0 }); }
|
66
66
|
}
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupItemDirective, decorators: [{
|
68
68
|
type: Directive,
|
69
69
|
args: [{
|
70
70
|
selector: '[rdxToggleGroupItem]',
|
@@ -228,13 +228,13 @@ class RdxToggleGroupMultipleDirective {
|
|
228
228
|
this.disabled = isDisabled;
|
229
229
|
this.buttons?.forEach((button) => button.updateDisabled());
|
230
230
|
}
|
231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
232
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.
|
231
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupMultipleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
232
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxToggleGroupMultipleDirective, isStandalone: true, selector: "[rdxToggleGroupMultiple]", inputs: { value: "value", orientation: "orientation", disabled: ["disabled", "disabled", booleanAttribute], wrap: ["wrap", "wrap", booleanAttribute], valueChange: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "keydown": "handleKeydown($event)", "focusin": "onFocusIn()", "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
|
233
233
|
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultipleDirective },
|
234
234
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultipleDirective, multi: true }
|
235
235
|
], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupItemToken }], exportAs: ["rdxToggleGroupMultiple"], usesOnChanges: true, ngImport: i0 }); }
|
236
236
|
}
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupMultipleDirective, decorators: [{
|
238
238
|
type: Directive,
|
239
239
|
args: [{
|
240
240
|
selector: '[rdxToggleGroupMultiple]',
|
@@ -401,13 +401,13 @@ class RdxToggleGroupDirective {
|
|
401
401
|
this.disabled = isDisabled;
|
402
402
|
this.buttons?.forEach((button) => button.updateDisabled());
|
403
403
|
}
|
404
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
405
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.
|
404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
405
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxToggleGroupDirective, isStandalone: true, selector: "[rdxToggleGroup]", inputs: { value: "value", orientation: "orientation", disabled: ["disabled", "disabled", booleanAttribute], wrap: ["wrap", "wrap", booleanAttribute], valueChange: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onTouched?.()", "focusin": "onFocusIn()", "keydown": "handleKeydown($event)" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
|
406
406
|
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupDirective },
|
407
407
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupDirective, multi: true }
|
408
408
|
], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupItemToken }], exportAs: ["rdxToggleGroup"], usesOnChanges: true, ngImport: i0 }); }
|
409
409
|
}
|
410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
410
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleGroupDirective, decorators: [{
|
411
411
|
type: Directive,
|
412
412
|
args: [{
|
413
413
|
selector: '[rdxToggleGroup]',
|
@@ -4,10 +4,10 @@ import * as i1 from '@radix-ng/primitives/visually-hidden';
|
|
4
4
|
import { RdxVisuallyHiddenInputDirective } from '@radix-ng/primitives/visually-hidden';
|
5
5
|
|
6
6
|
class RdxToggleInputDirective {
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxToggleInputDirective, isStandalone: true, selector: "[rdxToggleInput]", host: { attributes: { "type": "checkbox" } }, exportAs: ["rdxToggleInput"], hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputDirective, inputs: ["name", "name", "required", "required"] }], ngImport: i0 }); }
|
9
9
|
}
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleInputDirective, decorators: [{
|
11
11
|
type: Directive,
|
12
12
|
args: [{
|
13
13
|
selector: '[rdxToggleInput]',
|
@@ -55,10 +55,10 @@ class RdxToggleDirective {
|
|
55
55
|
this.onPressedChange.emit(this.pressed());
|
56
56
|
}
|
57
57
|
}
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxToggleDirective, isStandalone: true, selector: "[rdxToggle]", inputs: { defaultPressed: { classPropertyName: "defaultPressed", publicName: "defaultPressed", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressed: "pressedChange", onPressedChange: "onPressedChange" }, host: { listeners: { "click": "toggle()" }, properties: { "attr.aria-pressed": "pressed()", "attr.data-state": "pressed() ? \"on\" : \"off\"", "attr.data-disabled": "disabled()", "disabled": "disabled()" } }, exportAs: ["rdxToggle"], ngImport: i0 }); }
|
60
60
|
}
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxToggleDirective, decorators: [{
|
62
62
|
type: Directive,
|
63
63
|
args: [{
|
64
64
|
selector: '[rdxToggle]',
|