@radix-ng/primitives 0.37.0 → 0.39.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.
Files changed (78) hide show
  1. package/accordion/index.d.ts +3 -1
  2. package/accordion/src/accordion-content-presence.directive.d.ts +6 -0
  3. package/accordion/src/accordion-content.directive.d.ts +7 -8
  4. package/accordion/src/accordion-header.directive.d.ts +2 -2
  5. package/accordion/src/accordion-item.directive.d.ts +29 -77
  6. package/accordion/src/accordion-root.directive.d.ts +49 -78
  7. package/accordion/src/accordion-trigger.directive.d.ts +6 -11
  8. package/collapsible/index.d.ts +11 -0
  9. package/collapsible/src/collapsible-content-presence.directive.d.ts +6 -0
  10. package/collapsible/src/collapsible-content.directive.d.ts +13 -9
  11. package/collapsible/src/collapsible-root.directive.d.ts +19 -37
  12. package/collapsible/src/collapsible-trigger.directive.d.ts +1 -21
  13. package/core/index.d.ts +5 -0
  14. package/core/src/accessor/control-value-accessor.d.ts +67 -0
  15. package/core/src/create-context.d.ts +10 -0
  16. package/core/src/date-time/comparators.d.ts +7 -1
  17. package/core/src/date-time/useDateField.d.ts +2 -2
  18. package/core/src/types.d.ts +24 -0
  19. package/{stepper/src/utils → core/src}/useArrowNavigation.d.ts +2 -2
  20. package/core/src/useResizeObserver.d.ts +15 -0
  21. package/fesm2022/radix-ng-primitives-accordion.mjs +231 -398
  22. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-avatar.mjs +2 -10
  24. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-calendar.mjs +3 -14
  26. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-collapsible.mjs +151 -143
  29. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-core.mjs +248 -7
  31. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-hover-card.mjs +1 -3
  33. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-menubar.mjs +1 -8
  35. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-pagination.mjs +2 -6
  37. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-popover.mjs +2 -6
  39. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-presence.mjs +34 -1
  41. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-progress.mjs +2 -7
  43. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-radio.mjs +1 -3
  45. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-select.mjs +75 -33
  47. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-stepper.mjs +1 -84
  49. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-switch.mjs +61 -97
  51. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-tabs.mjs +4 -19
  53. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-time-field.mjs +351 -0
  55. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -0
  56. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  57. package/fesm2022/radix-ng-primitives-toggle.mjs +1 -6
  58. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  59. package/fesm2022/radix-ng-primitives-tooltip.mjs +1 -3
  60. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  61. package/hover-card/src/hover-card-root.directive.d.ts +4 -4
  62. package/package.json +5 -1
  63. package/popover/src/popover-root.directive.d.ts +4 -4
  64. package/presence/index.d.ts +1 -0
  65. package/presence/src/presence.directive.d.ts +27 -0
  66. package/select/src/select-trigger.directive.d.ts +8 -2
  67. package/select/src/select.component.d.ts +23 -6
  68. package/switch/index.d.ts +0 -1
  69. package/switch/src/switch-input.directive.d.ts +1 -1
  70. package/switch/src/switch-root.directive.d.ts +23 -43
  71. package/switch/src/switch-thumb.directive.d.ts +1 -1
  72. package/time-field/README.md +1 -0
  73. package/time-field/index.d.ts +11 -0
  74. package/time-field/src/time-field-context.token.d.ts +19 -0
  75. package/time-field/src/time-field-input.directive.d.ts +53 -0
  76. package/time-field/src/time-field-root.directive.d.ts +125 -0
  77. package/tooltip/src/tooltip-root.directive.d.ts +4 -4
  78. package/collapsible/src/collapsible-content.token.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-select.mjs","sources":["../../../packages/primitives/select/src/select-value.directive.ts","../../../packages/primitives/select/src/select-trigger.directive.ts","../../../packages/primitives/select/src/select.component.ts","../../../packages/primitives/select/src/select-item.directive.ts","../../../packages/primitives/select/src/select-content.directive.ts","../../../packages/primitives/select/src/select-group.directive.ts","../../../packages/primitives/select/src/select-icon.directive.ts","../../../packages/primitives/select/src/select-item-indicator.directive.ts","../../../packages/primitives/select/src/select-label.directive.ts","../../../packages/primitives/select/src/select-separator.directive.ts","../../../packages/primitives/select/index.ts","../../../packages/primitives/select/radix-ng-primitives-select.ts"],"sourcesContent":["import { Component, inject, Input } from '@angular/core';\nimport { RdxSelectComponent } from './select.component';\n\n@Component({\n selector: '[rdxSelectValue]',\n standalone: true,\n exportAs: 'rdxSelectValue',\n template: `\n {{ select.selectionModel.isEmpty() ? placeholder : select.selected }}\n `,\n styles: `\n /* we don't want events from the children to bubble through the item they came from */\n :host {\n pointer-events: none;\n }\n `\n})\nexport class RdxSelectValueDirective {\n select = inject(RdxSelectComponent);\n\n @Input() placeholder: string;\n}\n","import { ContentChild, Directive, ElementRef, inject } from '@angular/core';\nimport { RdxSelectValueDirective } from './select-value.directive';\nimport { RdxSelectComponent } from './select.component';\n\n@Directive({\n selector: '[rdxSelectTrigger]',\n standalone: true,\n host: {\n '[attr.type]': '\"button\"',\n '[attr.role]': '\"combobox\"',\n '[attr.aria-autocomplete]': '\"none\"',\n '[attr.dir]': 'select.dir.value',\n '[attr.aria-expanded]': 'select.open',\n '[attr.aria-required]': 'select.required',\n\n '[attr.disabled]': 'select.disabled ? \"\" : null',\n '[attr.data-disabled]': 'select.disabled ? \"\" : null',\n '[attr.data-state]': \"select.open ? 'open': 'closed'\",\n '[attr.data-placeholder]': 'value.placeholder || null'\n }\n})\nexport class RdxSelectTriggerDirective {\n protected nativeElement = inject(ElementRef).nativeElement;\n protected select = inject(RdxSelectComponent);\n\n @ContentChild(RdxSelectValueDirective) protected value: RdxSelectValueDirective;\n\n focus() {\n this.nativeElement.focus();\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { CdkConnectedOverlay, ConnectedPosition, Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgZone,\n OnInit,\n Output,\n QueryList,\n ViewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { defer, delay, merge, Observable, Subscription, switchMap, take } from 'rxjs';\nimport { RdxSelectContentDirective } from './select-content.directive';\nimport { RdxSelectItemChange, RdxSelectItemDirective } from './select-item.directive';\nimport { RdxSelectTriggerDirective } from './select-trigger.directive';\n\nlet nextId = 0;\n\n@Component({\n selector: '[rdxSelect]',\n template: `\n <ng-content select=\"[rdxSelectTrigger]\" />\n\n <ng-template\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayOrigin]=\"elementRef\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"overlay.scrollStrategies.reposition()\"\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"onDetach()\"\n cdkConnectedOverlay\n >\n <ng-content select=\"[rdxSelectContent]\" />\n </ng-template>\n `,\n host: {\n '(click)': 'toggle()',\n '(keydown)': 'content.keyManager.onKeydown($event)'\n },\n imports: [\n OverlayModule\n ]\n})\nexport class RdxSelectComponent implements OnInit, AfterContentInit {\n protected overlay = inject(Overlay);\n protected elementRef = inject(ElementRef);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngZone = inject(NgZone);\n\n @ContentChild(RdxSelectTriggerDirective) protected trigger: RdxSelectTriggerDirective;\n\n @ContentChild(forwardRef(() => RdxSelectContentDirective))\n protected content: RdxSelectContentDirective;\n\n @ContentChildren(forwardRef(() => RdxSelectItemDirective), { descendants: true })\n items: QueryList<RdxSelectItemDirective>;\n\n @ViewChild(CdkConnectedOverlay, { static: false }) overlayDir: CdkConnectedOverlay;\n\n /** Deals with the selection logic. */\n selectionModel: SelectionModel<RdxSelectItemDirective>;\n\n /**\n * This position config ensures that the top \"start\" corner of the overlay\n * is aligned with the top \"start\" of the origin by default (overlapping\n * the trigger completely). If the panel cannot fit below the trigger, it\n * will fall back to a position above the trigger.\n */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ];\n\n private closeSubscription = Subscription.EMPTY;\n\n /**\n * @ignore\n */\n readonly dir = inject(Directionality, { optional: true });\n\n /**\n * @ignore\n */\n protected keyManager: ActiveDescendantKeyManager<RdxSelectItemDirective>;\n\n /**\n * @ignore\n */\n readonly id: string = `rdx-select-${nextId++}`;\n\n @Input() defaultValue: string;\n @Input() name: string;\n\n @Input({ transform: booleanAttribute }) defaultOpen: boolean;\n\n @Input({ transform: booleanAttribute }) open: boolean = false;\n\n /** Whether the Select is disabled. */\n @Input({ transform: booleanAttribute }) disabled: boolean;\n\n @Input({ transform: booleanAttribute }) required: boolean;\n\n /**\n * The controlled value of the item to expand\n */\n @Input()\n set value(value: string) {\n if (this._value !== value) {\n this._value = value;\n\n this.selectValue(value);\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n get value(): string | null {\n return this._value ?? this.defaultValue;\n }\n\n private _value?: string;\n\n @Output() readonly onValueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @Output() readonly onOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n readonly optionSelectionChanges: Observable<RdxSelectItemChange> = defer(() => {\n if (this.content.options) {\n return merge(...this.content.options.map((option) => option.onSelectionChange));\n }\n\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.optionSelectionChanges)\n );\n }) as Observable<RdxSelectItemChange>;\n\n get selected(): string | null {\n return this.selectionModel.selected[0].viewValue || null;\n }\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<RdxSelectItemDirective>();\n\n this.selectionModel.changed.subscribe((changes) => {\n if (changes.added.length) {\n this.onValueChange.emit(this.selectionModel.selected[0].value);\n }\n\n if (changes.removed.length) {\n changes.removed.forEach((item) => (item.selected = false));\n }\n });\n }\n\n ngAfterContentInit() {\n this.selectDefaultValue();\n\n this.optionSelectionChanges.subscribe((event) => {\n this.selectionModel.clear();\n\n this.selectionModel.select(event.source);\n\n this.close();\n this.trigger.focus();\n });\n\n this.content.keyManager.tabOut.subscribe(() => {\n if (this.open) this.close();\n });\n\n if (this.defaultOpen) {\n this.openPanel();\n }\n }\n\n /**\n * Callback that is invoked when the overlay panel has been attached.\n */\n onAttached(): void {\n this.closeSubscription = this.closingActions()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .pipe(delay(0))\n .subscribe(() => this.close());\n }\n\n onDetach() {\n this.close();\n this.closeSubscription.unsubscribe();\n }\n\n /** Toggles the overlay panel open or closed. */\n toggle(): void {\n if (this.open) {\n this.close();\n } else {\n this.openPanel();\n }\n }\n\n openPanel() {\n this.open = true;\n\n this.onOpenChange.emit(this.open);\n }\n\n close() {\n this.open = false;\n\n this.onOpenChange.emit(this.open);\n }\n\n updateActiveItem(item: RdxSelectItemDirective) {\n this.content.keyManager.updateActiveItem(item);\n }\n\n private selectDefaultValue(): void {\n if (!this.defaultValue) return;\n\n this.selectValue(this.defaultValue);\n }\n\n private selectValue(value: string): void {\n const option = this.content?.options.find((option) => option.value === value);\n\n if (option) {\n option.selected = true;\n option.highlighted = true;\n\n this.selectionModel.select(option);\n this.updateActiveItem(option);\n }\n }\n\n private closingActions() {\n return merge(this.overlayDir.overlayRef!.outsidePointerEvents(), this.overlayDir.overlayRef!.detachments());\n }\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { booleanAttribute, Directive, ElementRef, EventEmitter, inject, Input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RdxSelectContentDirective } from './select-content.directive';\nimport { RdxSelectComponent } from './select.component';\n\nlet nextId = 0;\n\nexport class RdxSelectItemChange<T = RdxSelectItemDirective> {\n constructor(public source: T) {}\n}\n\n@Directive({\n selector: '[rdxSelectItem]',\n standalone: true,\n exportAs: 'rdxSelectItem',\n host: {\n '[attr.role]': '\"option\"',\n '[attr.data-state]': 'dataState',\n '[attr.aria-selected]': 'selected',\n '[attr.data-disabled]': 'disabled || null',\n '[attr.data-highlighted]': 'highlighted || null',\n '[attr.tabindex]': '-1',\n '(focus)': 'content.highlighted.next(this)',\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)',\n '(pointermove)': 'onPointerMove()'\n }\n})\nexport class RdxSelectItemDirective implements Highlightable {\n protected readonly select = inject(RdxSelectComponent);\n protected readonly content = inject(RdxSelectContentDirective);\n readonly onSelectionChange = new EventEmitter<RdxSelectItemChange>();\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n\n highlighted: boolean = false;\n\n selected: boolean;\n\n get dataState(): string {\n return this.selected ? 'checked' : 'unchecked';\n }\n\n /**\n * The unique SelectItem id.\n * @ignore\n */\n readonly id: string = `rdx-select-item-${nextId++}`;\n\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value || this.id;\n }\n\n private _value?: string;\n\n @Input() textValue: string | null = null;\n\n /** Whether the SelectItem is disabled. */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled: boolean;\n\n get viewValue(): string {\n return this.textValue ?? this.nativeElement.textContent;\n }\n\n constructor() {\n this.content.highlighted.pipe(takeUntilDestroyed()).subscribe((value) => {\n if (value !== this) {\n this.highlighted = false;\n }\n });\n }\n\n /** Gets the label to be used when determining whether the option should be focused.\n * @ignore\n */\n getLabel(): string {\n return this.viewValue;\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n * @ignore\n */\n selectViaInteraction(): void {\n if (!this.disabled) {\n this.selected = true;\n\n this.onSelectionChange.emit(new RdxSelectItemChange(this));\n }\n }\n\n /** @ignore */\n handleKeydown(event: KeyboardEvent): void {\n if (event.keyCode === ENTER || event.keyCode === SPACE) {\n this.selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /** @ignore */\n setActiveStyles(): void {\n this.highlighted = true;\n this.nativeElement.focus({ preventScroll: true });\n }\n\n /** @ignore */\n setInactiveStyles(): void {\n this.highlighted = false;\n }\n\n protected onPointerMove(): void {\n if (!this.highlighted) {\n this.nativeElement.focus({ preventScroll: true });\n this.select.updateActiveItem(this);\n }\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { AfterContentInit, ContentChildren, DestroyRef, Directive, inject, QueryList } from '@angular/core';\nimport { pairwise, startWith, Subject } from 'rxjs';\nimport { RdxSelectItemDirective } from './select-item.directive';\nimport { RdxSelectComponent } from './select.component';\n\n@Directive({\n selector: '[rdxSelectContent]',\n standalone: true,\n exportAs: 'rdxSelectContent',\n host: {\n '[attr.role]': '\"listbox\"',\n '[attr.data-state]': \"select.open ? 'open': 'closed'\",\n '[attr.data-side]': 'true',\n '[attr.data-align]': 'true',\n '(keydown)': 'keyManager.onKeydown($event)'\n }\n})\nexport class RdxSelectContentDirective implements AfterContentInit {\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly dir = inject(Directionality, { optional: true });\n protected select = inject(RdxSelectComponent);\n\n readonly highlighted = new Subject<RdxSelectItemDirective>();\n\n keyManager: ActiveDescendantKeyManager<RdxSelectItemDirective>;\n\n @ContentChildren(RdxSelectItemDirective, { descendants: true })\n options: QueryList<RdxSelectItemDirective>;\n\n constructor() {\n this.highlighted.pipe(startWith(null), pairwise()).subscribe(([prev, item]) => {\n if (prev) {\n prev.highlighted = false;\n }\n\n if (item) {\n item.highlighted = true;\n }\n });\n }\n\n initKeyManager() {\n return new ActiveDescendantKeyManager<RdxSelectItemDirective>(this.options)\n .withTypeAhead()\n .withVerticalOrientation()\n .withHorizontalOrientation(this.dir?.value ?? 'ltr');\n }\n\n ngAfterContentInit(): void {\n this.keyManager = this.initKeyManager();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectGroup]',\n standalone: true,\n exportAs: 'rdxSelectGroup',\n host: {\n '[attr.role]': '\"group\"'\n }\n})\nexport class RdxSelectGroupDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectIcon]',\n standalone: true,\n exportAs: 'rdxSelectIcon',\n host: {\n '[attr.aria-hidden]': 'true'\n }\n})\nexport class RdxSelectIconDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { RdxSelectItemDirective } from './select-item.directive';\n\n@Directive({\n selector: '[rdxSelectItemIndicator]',\n standalone: true,\n exportAs: 'rdxSelectItemIndicator',\n host: {\n '[attr.aria-hidden]': 'true',\n '[style.display]': 'item.selected ? \"\" : \"none\"'\n }\n})\nexport class RdxSelectItemIndicatorDirective {\n protected item = inject(RdxSelectItemDirective);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectLabel]',\n standalone: true,\n exportAs: 'rdxSelectLabel'\n})\nexport class RdxSelectLabelDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectSeparator]',\n standalone: true,\n exportAs: 'rdxSelectSeparator',\n host: {\n '[attr.aria-hidden]': 'true'\n }\n})\nexport class RdxSelectSeparatorDirective {}\n","import { NgModule } from '@angular/core';\nimport { RdxSelectContentDirective } from './src/select-content.directive';\nimport { RdxSelectGroupDirective } from './src/select-group.directive';\nimport { RdxSelectIconDirective } from './src/select-icon.directive';\nimport { RdxSelectItemIndicatorDirective } from './src/select-item-indicator.directive';\nimport { RdxSelectItemDirective } from './src/select-item.directive';\nimport { RdxSelectLabelDirective } from './src/select-label.directive';\nimport { RdxSelectSeparatorDirective } from './src/select-separator.directive';\nimport { RdxSelectTriggerDirective } from './src/select-trigger.directive';\nimport { RdxSelectValueDirective } from './src/select-value.directive';\nimport { RdxSelectComponent } from './src/select.component';\n\nexport * from './src/select-content.directive';\nexport * from './src/select-group.directive';\nexport * from './src/select-icon.directive';\nexport * from './src/select-item-indicator.directive';\nexport * from './src/select-item.directive';\nexport * from './src/select-label.directive';\nexport * from './src/select-separator.directive';\nexport * from './src/select-trigger.directive';\nexport * from './src/select-value.directive';\nexport * from './src/select.component';\n\nconst _imports = [\n RdxSelectContentDirective,\n RdxSelectGroupDirective,\n RdxSelectItemDirective,\n RdxSelectItemIndicatorDirective,\n RdxSelectLabelDirective,\n RdxSelectComponent,\n RdxSelectSeparatorDirective,\n RdxSelectTriggerDirective,\n RdxSelectValueDirective,\n RdxSelectIconDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextId"],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-select.mjs","sources":["../../../packages/primitives/select/src/select-value.directive.ts","../../../packages/primitives/select/src/select-trigger.directive.ts","../../../packages/primitives/select/src/select.component.ts","../../../packages/primitives/select/src/select-item.directive.ts","../../../packages/primitives/select/src/select-content.directive.ts","../../../packages/primitives/select/src/select-group.directive.ts","../../../packages/primitives/select/src/select-icon.directive.ts","../../../packages/primitives/select/src/select-item-indicator.directive.ts","../../../packages/primitives/select/src/select-label.directive.ts","../../../packages/primitives/select/src/select-separator.directive.ts","../../../packages/primitives/select/index.ts","../../../packages/primitives/select/radix-ng-primitives-select.ts"],"sourcesContent":["import { Component, inject, Input } from '@angular/core';\nimport { RdxSelectComponent } from './select.component';\n\n@Component({\n selector: '[rdxSelectValue]',\n standalone: true,\n exportAs: 'rdxSelectValue',\n template: `\n {{ select.selectionModel.isEmpty() ? placeholder : select.selected }}\n `,\n styles: `\n /* we don't want events from the children to bubble through the item they came from */\n :host {\n pointer-events: none;\n }\n `\n})\nexport class RdxSelectValueDirective {\n select = inject(RdxSelectComponent);\n\n @Input() placeholder: string;\n}\n","import { AfterViewInit, contentChild, Directive, ElementRef, inject, NgZone, OnDestroy } from '@angular/core';\nimport { RdxSelectValueDirective } from './select-value.directive';\nimport { RdxSelectComponent } from './select.component';\n\n@Directive({\n selector: '[rdxSelectTrigger]',\n standalone: true,\n host: {\n '[attr.type]': '\"button\"',\n '[attr.role]': '\"combobox\"',\n '[attr.aria-autocomplete]': '\"none\"',\n '[attr.dir]': 'select.dir.value',\n '[attr.aria-expanded]': 'select.open',\n '[attr.aria-required]': 'select.required',\n '[attr.disabled]': 'select.disabled ? \"\" : null',\n '[attr.data-disabled]': 'select.disabled ? \"\" : null',\n '[attr.data-state]': \"select.open ? 'open': 'closed'\",\n '[attr.data-placeholder]': 'value().placeholder || null'\n }\n})\nexport class RdxSelectTriggerDirective implements AfterViewInit, OnDestroy {\n readonly ngZone = inject(NgZone);\n protected nativeElement = inject(ElementRef).nativeElement;\n protected select = inject(RdxSelectComponent);\n\n protected readonly value = contentChild.required(RdxSelectValueDirective);\n\n private resizeObserver: ResizeObserver | null;\n\n ngAfterViewInit(): void {\n this.select.triggerSize.set([this.nativeElement.offsetWidth, this.nativeElement.offsetHeight]);\n this.observeTriggerResize();\n }\n\n ngOnDestroy(): void {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n\n focus() {\n this.nativeElement.focus();\n }\n\n private observeTriggerResize() {\n if (typeof ResizeObserver === 'undefined' || !ResizeObserver) {\n return;\n }\n\n this.ngZone.runOutsideAngular(() => {\n this.resizeObserver = new ResizeObserver(() => {\n this.select.triggerSize.set([this.nativeElement.offsetWidth, this.nativeElement.offsetHeight]);\n });\n this.resizeObserver.observe(this.nativeElement);\n });\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { CdkConnectedOverlay, ConnectedPosition, Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n contentChild,\n contentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgZone,\n OnInit,\n Output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { defer, delay, merge, Observable, Subscription, switchMap, take } from 'rxjs';\nimport { RdxSelectContentDirective } from './select-content.directive';\nimport { RdxSelectItemChange, RdxSelectItemDirective } from './select-item.directive';\nimport { RdxSelectTriggerDirective } from './select-trigger.directive';\n\nlet nextId = 0;\n\n@Component({\n selector: '[rdxSelect]',\n template: `\n <ng-content select=\"[rdxSelectTrigger]\" />\n\n <ng-template\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayOrigin]=\"elementRef\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"overlay.scrollStrategies.reposition()\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth() > 0 ? triggerWidth() : 'auto'\"\n [cdkConnectedOverlayWidth]=\"matchTriggerWidth ? triggerWidth() : 'auto'\"\n [cdkConnectedOverlay]\n (attach)=\"onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"onDetach()\"\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlay\n >\n <ng-content select=\"[rdxSelectContent]\" />\n </ng-template>\n `,\n host: {\n '[style.--radix-select-trigger-width.px]': 'triggerSize()[0]',\n '[style.--radix-select-trigger-height.px]': 'triggerSize()[1]',\n '(click)': 'toggle()',\n '(keydown)': 'content().keyManager.onKeydown($event)'\n },\n imports: [OverlayModule]\n})\nexport class RdxSelectComponent implements OnInit, AfterContentInit {\n protected overlay = inject(Overlay);\n protected elementRef = inject(ElementRef);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngZone = inject(NgZone);\n\n protected readonly trigger = contentChild.required(RdxSelectTriggerDirective);\n protected readonly content = contentChild.required<RdxSelectContentDirective>(\n forwardRef(() => RdxSelectContentDirective)\n );\n readonly items = contentChildren<RdxSelectItemDirective>(\n forwardRef(() => RdxSelectItemDirective),\n { descendants: true }\n );\n readonly overlayDir = viewChild.required(CdkConnectedOverlay);\n\n /**\n * Tuple type for the trigger element size. Set by the trigger element itself.\n * The first element is the width and the second element is the height.\n * @returns The size of the trigger element.\n */\n readonly triggerSize = signal<[number, number]>([0, 0]);\n\n /**\n * The width of the trigger element.\n * @returns The width of the trigger element.\n */\n readonly triggerWidth = computed<number>(() => this.triggerSize()[0]);\n\n /** Deals with the selection logic. */\n selectionModel: SelectionModel<RdxSelectItemDirective>;\n\n /**\n * This position config ensures that the top \"start\" corner of the overlay\n * is aligned with the top \"start\" of the origin by default (overlapping\n * the trigger completely). If the panel cannot fit below the trigger, it\n * will fall back to a position above the trigger.\n */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ];\n\n private closeSubscription = Subscription.EMPTY;\n\n /**\n * @ignore\n */\n readonly dir = inject(Directionality, { optional: true });\n\n /**\n * @ignore\n */\n protected keyManager: ActiveDescendantKeyManager<RdxSelectItemDirective>;\n\n /**\n * @ignore\n */\n readonly id: string = `rdx-select-${nextId++}`;\n\n @Input() defaultValue: string;\n @Input() name: string;\n\n @Input({ transform: booleanAttribute }) defaultOpen: boolean;\n\n @Input({ transform: booleanAttribute }) open: boolean = false;\n\n /** Whether the Select is disabled. */\n @Input({ transform: booleanAttribute }) disabled: boolean;\n\n @Input({ transform: booleanAttribute }) required: boolean;\n\n /**\n * The overlay width will be set to the trigger width if this is true.\n * Otherwise, the overlay width will be set to the width of the content.\n */\n @Input({ transform: booleanAttribute }) matchTriggerWidth: boolean = false;\n\n /**\n * The controlled value of the item to expand\n */\n @Input()\n set value(value: string) {\n if (this._value !== value) {\n this._value = value;\n\n this.selectValue(value);\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n get value(): string | null {\n return this._value ?? this.defaultValue;\n }\n\n private _value?: string;\n\n @Output() readonly onValueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @Output() readonly onOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n readonly optionSelectionChanges: Observable<RdxSelectItemChange> = defer(() => {\n const content = this.content();\n if (content.options) {\n return merge(...content.options.map((option) => option.onSelectionChange));\n }\n\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.optionSelectionChanges)\n );\n }) as Observable<RdxSelectItemChange>;\n\n get selected(): string | null {\n return this.selectionModel.selected[0].viewValue || null;\n }\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<RdxSelectItemDirective>();\n\n this.selectionModel.changed.subscribe((changes) => {\n if (changes.added.length) {\n this.onValueChange.emit(this.selectionModel.selected[0].value);\n }\n\n if (changes.removed.length) {\n changes.removed.forEach((item) => (item.selected = false));\n }\n });\n }\n\n ngAfterContentInit() {\n this.selectDefaultValue();\n\n this.optionSelectionChanges.subscribe((event) => {\n this.selectionModel.clear();\n\n this.selectionModel.select(event.source);\n\n this.close();\n this.trigger().focus();\n });\n\n this.content().keyManager.tabOut.subscribe(() => {\n if (this.open) this.close();\n });\n\n if (this.defaultOpen) {\n this.openPanel();\n }\n }\n\n /**\n * Callback that is invoked when the overlay panel has been attached.\n */\n onAttached(): void {\n this.closeSubscription = this.closingActions()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .pipe(delay(0))\n .subscribe(() => this.close());\n }\n\n onDetach() {\n this.close();\n this.closeSubscription.unsubscribe();\n }\n\n /** Toggles the overlay panel open or closed. */\n toggle(): void {\n if (this.open) {\n this.close();\n } else {\n this.openPanel();\n }\n }\n\n openPanel() {\n this.open = true;\n\n this.onOpenChange.emit(this.open);\n }\n\n close() {\n this.open = false;\n\n this.onOpenChange.emit(this.open);\n }\n\n updateActiveItem(item: RdxSelectItemDirective) {\n this.content().keyManager.updateActiveItem(item);\n }\n\n private selectDefaultValue(): void {\n if (!this.defaultValue) return;\n\n this.selectValue(this.defaultValue);\n }\n\n private selectValue(value: string): void {\n const option = this.content()?.options.find((option) => option.value === value);\n\n if (option) {\n option.selected = true;\n option.highlighted = true;\n\n this.selectionModel.select(option);\n this.updateActiveItem(option);\n }\n }\n\n private closingActions() {\n return merge(this.overlayDir().overlayRef!.outsidePointerEvents(), this.overlayDir().overlayRef!.detachments());\n }\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { booleanAttribute, Directive, ElementRef, EventEmitter, inject, Input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RdxSelectContentDirective } from './select-content.directive';\nimport { RdxSelectComponent } from './select.component';\n\nlet nextId = 0;\n\nexport class RdxSelectItemChange<T = RdxSelectItemDirective> {\n constructor(public source: T) {}\n}\n\n@Directive({\n selector: '[rdxSelectItem]',\n standalone: true,\n exportAs: 'rdxSelectItem',\n host: {\n '[attr.role]': '\"option\"',\n '[attr.data-state]': 'dataState',\n '[attr.aria-selected]': 'selected',\n '[attr.data-disabled]': 'disabled || null',\n '[attr.data-highlighted]': 'highlighted || null',\n '[attr.tabindex]': '-1',\n '(focus)': 'content.highlighted.next(this)',\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)',\n '(pointermove)': 'onPointerMove()'\n }\n})\nexport class RdxSelectItemDirective implements Highlightable {\n protected readonly select = inject(RdxSelectComponent);\n protected readonly content = inject(RdxSelectContentDirective);\n readonly onSelectionChange = new EventEmitter<RdxSelectItemChange>();\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n\n highlighted: boolean = false;\n\n selected: boolean;\n\n get dataState(): string {\n return this.selected ? 'checked' : 'unchecked';\n }\n\n /**\n * The unique SelectItem id.\n * @ignore\n */\n readonly id: string = `rdx-select-item-${nextId++}`;\n\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value || this.id;\n }\n\n private _value?: string;\n\n @Input() textValue: string | null = null;\n\n /** Whether the SelectItem is disabled. */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n private _disabled: boolean;\n\n get viewValue(): string {\n return this.textValue ?? this.nativeElement.textContent;\n }\n\n constructor() {\n this.content.highlighted.pipe(takeUntilDestroyed()).subscribe((value) => {\n if (value !== this) {\n this.highlighted = false;\n }\n });\n }\n\n /** Gets the label to be used when determining whether the option should be focused.\n * @ignore\n */\n getLabel(): string {\n return this.viewValue;\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n * @ignore\n */\n selectViaInteraction(): void {\n if (!this.disabled) {\n this.selected = true;\n\n this.onSelectionChange.emit(new RdxSelectItemChange(this));\n }\n }\n\n /** @ignore */\n handleKeydown(event: KeyboardEvent): void {\n if (event.keyCode === ENTER || event.keyCode === SPACE) {\n this.selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /** @ignore */\n setActiveStyles(): void {\n this.highlighted = true;\n this.nativeElement.focus({ preventScroll: true });\n }\n\n /** @ignore */\n setInactiveStyles(): void {\n this.highlighted = false;\n }\n\n protected onPointerMove(): void {\n if (!this.highlighted) {\n this.nativeElement.focus({ preventScroll: true });\n this.select.updateActiveItem(this);\n }\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { AfterContentInit, ContentChildren, DestroyRef, Directive, inject, QueryList } from '@angular/core';\nimport { pairwise, startWith, Subject } from 'rxjs';\nimport { RdxSelectItemDirective } from './select-item.directive';\nimport { RdxSelectComponent } from './select.component';\n\n@Directive({\n selector: '[rdxSelectContent]',\n standalone: true,\n exportAs: 'rdxSelectContent',\n host: {\n '[attr.role]': '\"listbox\"',\n '[attr.data-state]': \"select.open ? 'open': 'closed'\",\n '[attr.data-side]': 'true',\n '[attr.data-align]': 'true',\n '(keydown)': 'keyManager.onKeydown($event)'\n }\n})\nexport class RdxSelectContentDirective implements AfterContentInit {\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly dir = inject(Directionality, { optional: true });\n protected select = inject(RdxSelectComponent);\n\n readonly highlighted = new Subject<RdxSelectItemDirective>();\n\n keyManager: ActiveDescendantKeyManager<RdxSelectItemDirective>;\n\n @ContentChildren(RdxSelectItemDirective, { descendants: true })\n options: QueryList<RdxSelectItemDirective>;\n\n constructor() {\n this.highlighted.pipe(startWith(null), pairwise()).subscribe(([prev, item]) => {\n if (prev) {\n prev.highlighted = false;\n }\n\n if (item) {\n item.highlighted = true;\n }\n });\n }\n\n initKeyManager() {\n return new ActiveDescendantKeyManager<RdxSelectItemDirective>(this.options)\n .withTypeAhead()\n .withVerticalOrientation()\n .withHorizontalOrientation(this.dir?.value ?? 'ltr');\n }\n\n ngAfterContentInit(): void {\n this.keyManager = this.initKeyManager();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectGroup]',\n standalone: true,\n exportAs: 'rdxSelectGroup',\n host: {\n '[attr.role]': '\"group\"'\n }\n})\nexport class RdxSelectGroupDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectIcon]',\n standalone: true,\n exportAs: 'rdxSelectIcon',\n host: {\n '[attr.aria-hidden]': 'true'\n }\n})\nexport class RdxSelectIconDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { RdxSelectItemDirective } from './select-item.directive';\n\n@Directive({\n selector: '[rdxSelectItemIndicator]',\n standalone: true,\n exportAs: 'rdxSelectItemIndicator',\n host: {\n '[attr.aria-hidden]': 'true',\n '[style.display]': 'item.selected ? \"\" : \"none\"'\n }\n})\nexport class RdxSelectItemIndicatorDirective {\n protected item = inject(RdxSelectItemDirective);\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectLabel]',\n standalone: true,\n exportAs: 'rdxSelectLabel'\n})\nexport class RdxSelectLabelDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectSeparator]',\n standalone: true,\n exportAs: 'rdxSelectSeparator',\n host: {\n '[attr.aria-hidden]': 'true'\n }\n})\nexport class RdxSelectSeparatorDirective {}\n","import { NgModule } from '@angular/core';\nimport { RdxSelectContentDirective } from './src/select-content.directive';\nimport { RdxSelectGroupDirective } from './src/select-group.directive';\nimport { RdxSelectIconDirective } from './src/select-icon.directive';\nimport { RdxSelectItemIndicatorDirective } from './src/select-item-indicator.directive';\nimport { RdxSelectItemDirective } from './src/select-item.directive';\nimport { RdxSelectLabelDirective } from './src/select-label.directive';\nimport { RdxSelectSeparatorDirective } from './src/select-separator.directive';\nimport { RdxSelectTriggerDirective } from './src/select-trigger.directive';\nimport { RdxSelectValueDirective } from './src/select-value.directive';\nimport { RdxSelectComponent } from './src/select.component';\n\nexport * from './src/select-content.directive';\nexport * from './src/select-group.directive';\nexport * from './src/select-icon.directive';\nexport * from './src/select-item-indicator.directive';\nexport * from './src/select-item.directive';\nexport * from './src/select-label.directive';\nexport * from './src/select-separator.directive';\nexport * from './src/select-trigger.directive';\nexport * from './src/select-value.directive';\nexport * from './src/select.component';\n\nconst _imports = [\n RdxSelectContentDirective,\n RdxSelectGroupDirective,\n RdxSelectItemDirective,\n RdxSelectItemIndicatorDirective,\n RdxSelectLabelDirective,\n RdxSelectComponent,\n RdxSelectSeparatorDirective,\n RdxSelectTriggerDirective,\n RdxSelectValueDirective,\n RdxSelectIconDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextId"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, Directive, input, numberAttribute, booleanAttribute, computed, forwardRef, model, output, signal, effect, ElementRef, NgModule } from '@angular/core';
3
3
  import * as kbd from '@radix-ng/primitives/core';
4
- import { _IdGenerator, getActiveElement } from '@radix-ng/primitives/core';
4
+ import { _IdGenerator, useArrowNavigation, getActiveElement } from '@radix-ng/primitives/core';
5
5
  import { LiveAnnouncer } from '@angular/cdk/a11y';
6
6
  import * as i1 from '@radix-ng/primitives/separator';
7
7
  import { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';
@@ -252,89 +252,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
252
252
  }]
253
253
  }] });
254
254
 
255
- // made by https://reka-ui.com/
256
- const ignoredElement = ['INPUT', 'TEXTAREA'];
257
- /**
258
- * Allow arrow navigation for every html element with data-reka-collection-item tag
259
- *
260
- * @param e Keyboard event
261
- * @param currentElement Event initiator element or any element that wants to handle the navigation
262
- * @param parentElement Parent element where contains all the collection items, this will collect every item to be used when nav
263
- * @param options further options
264
- * @returns the navigated html element or null if none
265
- */
266
- function useArrowNavigation(e, currentElement, parentElement, options = {}) {
267
- if (!currentElement || (options.enableIgnoredElement && ignoredElement.includes(currentElement.nodeName)))
268
- return null;
269
- const { arrowKeyOptions = 'both', attributeName = '[data-reka-collection-item]', itemsArray = [], loop = true, dir = 'ltr', preventScroll = true, focus = false } = options;
270
- const [right, left, up, down, home, end] = [
271
- e.key === 'ArrowRight',
272
- e.key === 'ArrowLeft',
273
- e.key === 'ArrowUp',
274
- e.key === 'ArrowDown',
275
- e.key === 'Home',
276
- e.key === 'End'
277
- ];
278
- const goingVertical = up || down;
279
- const goingHorizontal = right || left;
280
- if (!home &&
281
- !end &&
282
- ((!goingVertical && !goingHorizontal) ||
283
- (arrowKeyOptions === 'vertical' && goingHorizontal) ||
284
- (arrowKeyOptions === 'horizontal' && goingVertical))) {
285
- return null;
286
- }
287
- const allCollectionItems = parentElement
288
- ? Array.from(parentElement.querySelectorAll(attributeName))
289
- : itemsArray;
290
- if (!allCollectionItems.length)
291
- return null;
292
- if (preventScroll)
293
- e.preventDefault();
294
- let item = null;
295
- if (goingHorizontal || goingVertical) {
296
- const goForward = goingVertical ? down : dir === 'ltr' ? right : left;
297
- item = findNextFocusableElement(allCollectionItems, currentElement, {
298
- goForward,
299
- loop
300
- });
301
- }
302
- else if (home) {
303
- item = allCollectionItems.length ? allCollectionItems[0] : null;
304
- }
305
- else if (end) {
306
- item = allCollectionItems.length ? allCollectionItems[allCollectionItems.length - 1] : null;
307
- }
308
- if (focus)
309
- item?.focus();
310
- return item;
311
- }
312
- /**
313
- * Recursive function to find the next focusable element to avoid disabled elements
314
- *
315
- * @param elements Elements to navigate
316
- * @param currentElement Current active element
317
- * @param options
318
- * @returns next focusable element
319
- */
320
- function findNextFocusableElement(elements, currentElement, options, iterations = elements.length) {
321
- if (--iterations === 0)
322
- return null;
323
- const index = elements.indexOf(currentElement);
324
- const newIndex = options.goForward ? index + 1 : index - 1;
325
- if (!options.loop && (newIndex < 0 || newIndex >= elements.length))
326
- return null;
327
- const adjustedNewIndex = (newIndex + elements.length) % elements.length;
328
- const candidate = elements[adjustedNewIndex];
329
- if (!candidate)
330
- return null;
331
- const isDisabled = candidate.hasAttribute('disabled') && candidate.getAttribute('disabled') !== 'false';
332
- if (isDisabled) {
333
- return findNextFocusableElement(elements, candidate, options, iterations);
334
- }
335
- return candidate;
336
- }
337
-
338
255
  // as button
339
256
  class RdxStepperTriggerDirective {
340
257
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-stepper.mjs","sources":["../../../packages/primitives/stepper/src/stepper-item-context.token.ts","../../../packages/primitives/stepper/src/stepper-description.directive.ts","../../../packages/primitives/stepper/src/stepper-indicator.directive.ts","../../../packages/primitives/stepper/src/stepper-root-context.token.ts","../../../packages/primitives/stepper/src/stepper-item.directive.ts","../../../packages/primitives/stepper/src/stepper-root.directive.ts","../../../packages/primitives/stepper/src/stepper-separator.directive.ts","../../../packages/primitives/stepper/src/stepper-title.directive.ts","../../../packages/primitives/stepper/src/utils/useArrowNavigation.ts","../../../packages/primitives/stepper/src/stepper-trigger.directive.ts","../../../packages/primitives/stepper/index.ts","../../../packages/primitives/stepper/radix-ng-primitives-stepper.ts"],"sourcesContent":["import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { inject, InjectionToken, InputSignalWithTransform, Signal } from '@angular/core';\nimport { StepperState } from './types';\n\nexport interface StepperItemContext {\n titleId: string;\n descriptionId: string;\n step: InputSignalWithTransform<number, NumberInput>;\n disabled: InputSignalWithTransform<boolean, BooleanInput>;\n isFocusable: Signal<boolean>;\n itemState: Signal<StepperState>;\n}\n\nexport const STEPPER_ITEM_CONTEXT = new InjectionToken<StepperItemContext>('StepperItemContext');\n\nexport function injectStepperItemContext(): StepperItemContext {\n return inject(STEPPER_ITEM_CONTEXT);\n}\n","import { Directive } from '@angular/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\n\n@Directive({\n selector: '[rdxStepperDescription]',\n host: {\n '[attr.id]': 'itemContext.descriptionId'\n }\n})\nexport class RdxStepperDescriptionDirective {\n readonly itemContext = injectStepperItemContext();\n}\n","import { Directive } from '@angular/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\n\n@Directive({\n selector: '[rdxStepperIndicator]',\n exportAs: 'rdxStepperIndicator'\n})\nexport class RdxStepperIndicatorDirective {\n readonly itemContext = injectStepperItemContext();\n}\n","import { Direction } from '@angular/cdk/bidi';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport {\n inject,\n InjectionToken,\n InputSignal,\n InputSignalWithTransform,\n ModelSignal,\n WritableSignal\n} from '@angular/core';\n\nexport interface StepperRootContext {\n value: ModelSignal<number | undefined>;\n orientation: InputSignal<'vertical' | 'horizontal'>;\n dir: InputSignal<Direction>;\n linear: InputSignalWithTransform<boolean, BooleanInput>;\n totalStepperItems: WritableSignal<HTMLElement[]>;\n}\n\nexport const STEPPER_ROOT_CONTEXT = new InjectionToken<StepperRootContext>('StepperRootContext');\n\nexport function injectStepperRootContext(): StepperRootContext {\n return inject(STEPPER_ROOT_CONTEXT);\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, forwardRef, inject, input, numberAttribute } from '@angular/core';\nimport { _IdGenerator } from '@radix-ng/primitives/core';\nimport { STEPPER_ITEM_CONTEXT, StepperItemContext } from './stepper-item-context.token';\nimport { injectStepperRootContext } from './stepper-root-context.token';\nimport { StepperState } from './types';\n\n@Directive({\n selector: '[rdxStepperItem]',\n providers: [\n {\n provide: STEPPER_ITEM_CONTEXT,\n useExisting: forwardRef(() => RdxStepperItemDirective)\n }\n ],\n host: {\n '[attr.aria-current]': 'itemState() === \"active\" ? true : undefined',\n\n '[attr.data-state]': 'itemState()',\n '[attr.disabled]': 'disabled() || !isFocusable() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() || !isFocusable() ? \"\" : undefined',\n '[attr.data-orientation]': 'rootContext.orientation()'\n }\n})\nexport class RdxStepperItemDirective implements StepperItemContext {\n protected readonly rootContext = injectStepperRootContext();\n\n /** @ignore */\n readonly titleId = inject(_IdGenerator).getId('rdx-stepper-item-title');\n\n /** @ignore */\n readonly descriptionId = inject(_IdGenerator).getId('rdx-stepper-item-description');\n\n readonly step = input<number, NumberInput>(NaN, { transform: numberAttribute });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** @ignore */\n readonly completed = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** @ignore */\n readonly itemState = computed<StepperState>(() => {\n if (this.completed()) return 'completed';\n if (this.rootContext.value() === this.step()) return 'active';\n\n const step = this.step() ?? 1;\n if (this.rootContext.value()! > step) {\n return 'completed';\n }\n\n return 'inactive';\n });\n\n /** @ignore */\n readonly isFocusable = computed(() => {\n if (this.disabled()) return false;\n\n const step = this.step() ?? 1;\n if (this.rootContext.linear()) {\n return step <= this.rootContext.value()! || step === this.rootContext.value()! + 1;\n }\n\n return true;\n });\n}\n","import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n forwardRef,\n inject,\n input,\n model,\n numberAttribute,\n output,\n signal\n} from '@angular/core';\nimport { STEPPER_ROOT_CONTEXT, StepperRootContext } from './stepper-root-context.token';\n\n@Directive({\n selector: '[rdxStepperRoot]',\n exportAs: 'rdxStepperRoot',\n providers: [\n {\n provide: STEPPER_ROOT_CONTEXT,\n useExisting: forwardRef(() => RdxStepperRootDirective)\n }\n ],\n host: {\n role: 'group',\n '[attr.aria-label]': '\"progress\"',\n '[attr.data-linear]': 'linear() ? \"\" : undefined',\n '[attr.data-orientation]': 'orientation()'\n }\n})\nexport class RdxStepperRootDirective implements StepperRootContext {\n private readonly liveAnnouncer = inject(LiveAnnouncer);\n\n readonly defaultValue = input<number, NumberInput>(undefined, { transform: numberAttribute });\n\n readonly value = model<number | undefined>(this.defaultValue());\n\n readonly linear = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n readonly dir = input<Direction>('ltr');\n\n readonly orientation = input<'vertical' | 'horizontal'>('horizontal');\n\n /** @ignore */\n readonly totalStepperItemsArray = computed(() => Array.from(this.totalStepperItems()));\n\n readonly onValueChange = output<number>();\n\n /** @ignore */\n readonly isFirstStep = computed(() => this.value() === 1);\n\n /** @ignore */\n readonly isLastStep = computed(() => this.value() === this.totalStepperItemsArray().length);\n\n /** @ignore */\n readonly totalSteps = computed(() => this.totalStepperItems().length);\n\n /** @ignore */\n readonly isNextDisabled = computed<boolean>(() => {\n const item = this.nextStepperItem();\n return item ? item.hasAttribute('disabled') : true;\n });\n\n /** @ignore */\n readonly isPrevDisabled = computed<boolean>(() => {\n const item = this.prevStepperItem();\n return item ? item.hasAttribute('disabled') : true;\n });\n\n /** @ignore */\n readonly totalStepperItems = signal<HTMLElement[]>([]);\n\n private readonly nextStepperItem = signal<HTMLElement | null>(null);\n private readonly prevStepperItem = signal<HTMLElement | null>(null);\n\n constructor() {\n effect(() => {\n const items = this.totalStepperItemsArray();\n const currentValue = this.value();\n\n if (currentValue) {\n if (items.length && currentValue < items.length) {\n this.nextStepperItem.set(items[currentValue]);\n } else {\n this.nextStepperItem.set(null);\n }\n\n if (items.length && currentValue > 1) {\n this.prevStepperItem.set(items[currentValue - 2]);\n } else {\n this.prevStepperItem.set(null);\n }\n\n this.onValueChange.emit(currentValue);\n this.liveAnnouncer.announce(`Step ${currentValue} of ${items.length}`);\n }\n });\n }\n\n goToStep(step: number) {\n if (step > this.totalSteps()) {\n return;\n }\n\n if (step < 1) {\n return;\n }\n\n if (\n this.totalStepperItems().length &&\n !!this.totalStepperItemsArray()[step] &&\n this.totalStepperItemsArray()[step].hasAttribute('disabled')\n ) {\n return;\n }\n\n if (this.linear()) {\n const currentValue = this.value() ?? 1;\n if (step > currentValue + 1) {\n return;\n }\n }\n this.value.set(step);\n this.onValueChange.emit(step);\n }\n}\n","import { Directive, effect, inject } from '@angular/core';\nimport { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';\nimport { injectStepperItemContext } from './stepper-item-context.token';\nimport { injectStepperRootContext } from './stepper-root-context.token';\n\n@Directive({\n selector: '[rdxStepperSeparator]',\n hostDirectives: [{ directive: RdxSeparatorRootDirective, inputs: ['orientation', 'decorative'] }],\n host: {\n '[attr.data-state]': 'itemContext.itemState()'\n }\n})\nexport class RdxStepperSeparatorDirective {\n protected readonly rootContext = injectStepperRootContext();\n protected readonly itemContext = injectStepperItemContext();\n\n private readonly rdxSeparator = inject(RdxSeparatorRootDirective, { host: true });\n\n constructor() {\n effect(() => {\n this.rdxSeparator.updateDecorative(true);\n this.rdxSeparator.updateOrientation(this.rootContext.orientation());\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\n\n@Directive({\n selector: '[rdxStepperTitle]',\n host: {\n '[attr.id]': 'itemContext.titleId'\n }\n})\nexport class RdxStepperTitleDirective {\n readonly itemContext = injectStepperItemContext();\n}\n","// made by https://reka-ui.com/\n\nimport { Direction } from '@angular/cdk/bidi';\n\ntype ArrowKeyOptions = 'horizontal' | 'vertical' | 'both';\n\ninterface ArrowNavigationOptions {\n /**\n * The arrow key options to allow navigation\n *\n * @defaultValue \"both\"\n */\n arrowKeyOptions?: ArrowKeyOptions;\n\n /**\n * The attribute name to find the collection items in the parent element.\n *\n * @defaultValue \"data-reka-collection-item\"\n */\n attributeName?: string;\n\n /**\n * The parent element where contains all the collection items, this will collect every item to be used when nav\n * It will be ignored if attributeName is provided\n *\n * @defaultValue []\n */\n itemsArray?: HTMLElement[];\n\n /**\n * Allow loop navigation. If false, it will stop at the first and last element\n *\n * @defaultValue true\n */\n loop?: boolean;\n\n /**\n * The orientation of the collection\n *\n * @defaultValue \"ltr\"\n */\n dir?: Direction;\n\n /**\n * Prevent the scroll when navigating. This happens when the direction of the\n * key matches the scroll direction of any ancestor scrollable elements.\n *\n * @defaultValue true\n */\n preventScroll?: boolean;\n\n /**\n * By default all currentElement would trigger navigation. If `true`, currentElement nodeName in the ignore list will return null\n *\n * @defaultValue false\n */\n enableIgnoredElement?: boolean;\n\n /**\n * Focus the element after navigation\n *\n * @defaultValue false\n */\n focus?: boolean;\n}\n\nconst ignoredElement = ['INPUT', 'TEXTAREA'];\n\n/**\n * Allow arrow navigation for every html element with data-reka-collection-item tag\n *\n * @param e Keyboard event\n * @param currentElement Event initiator element or any element that wants to handle the navigation\n * @param parentElement Parent element where contains all the collection items, this will collect every item to be used when nav\n * @param options further options\n * @returns the navigated html element or null if none\n */\nexport function useArrowNavigation(\n e: KeyboardEvent,\n currentElement: HTMLElement,\n parentElement: HTMLElement | undefined,\n options: ArrowNavigationOptions = {}\n): HTMLElement | null {\n if (!currentElement || (options.enableIgnoredElement && ignoredElement.includes(currentElement.nodeName)))\n return null;\n\n const {\n arrowKeyOptions = 'both',\n attributeName = '[data-reka-collection-item]',\n itemsArray = [],\n loop = true,\n dir = 'ltr',\n preventScroll = true,\n focus = false\n } = options;\n\n const [right, left, up, down, home, end] = [\n e.key === 'ArrowRight',\n e.key === 'ArrowLeft',\n e.key === 'ArrowUp',\n e.key === 'ArrowDown',\n e.key === 'Home',\n e.key === 'End'\n ];\n const goingVertical = up || down;\n const goingHorizontal = right || left;\n if (\n !home &&\n !end &&\n ((!goingVertical && !goingHorizontal) ||\n (arrowKeyOptions === 'vertical' && goingHorizontal) ||\n (arrowKeyOptions === 'horizontal' && goingVertical))\n ) {\n return null;\n }\n\n const allCollectionItems: HTMLElement[] = parentElement\n ? Array.from(parentElement.querySelectorAll(attributeName))\n : itemsArray;\n\n if (!allCollectionItems.length) return null;\n\n if (preventScroll) e.preventDefault();\n\n let item: HTMLElement | null = null;\n\n if (goingHorizontal || goingVertical) {\n const goForward = goingVertical ? down : dir === 'ltr' ? right : left;\n item = findNextFocusableElement(allCollectionItems, currentElement, {\n goForward,\n loop\n });\n } else if (home) {\n item = allCollectionItems.length ? allCollectionItems[0] : null;\n } else if (end) {\n item = allCollectionItems.length ? allCollectionItems[allCollectionItems.length - 1] : null;\n }\n\n if (focus) item?.focus();\n\n return item;\n}\n\ninterface FindNextFocusableElementOptions {\n /**\n * Whether to search forwards or backwards.\n */\n goForward: boolean;\n /**\n * Whether to allow looping the search. If false, it will stop at the first/last element.\n *\n * @default true\n */\n loop?: boolean;\n}\n\n/**\n * Recursive function to find the next focusable element to avoid disabled elements\n *\n * @param elements Elements to navigate\n * @param currentElement Current active element\n * @param options\n * @returns next focusable element\n */\nfunction findNextFocusableElement(\n elements: HTMLElement[],\n currentElement: HTMLElement,\n options: FindNextFocusableElementOptions,\n iterations = elements.length\n): HTMLElement | null {\n if (--iterations === 0) return null;\n\n const index = elements.indexOf(currentElement);\n const newIndex = options.goForward ? index + 1 : index - 1;\n\n if (!options.loop && (newIndex < 0 || newIndex >= elements.length)) return null;\n\n const adjustedNewIndex = (newIndex + elements.length) % elements.length;\n const candidate = elements[adjustedNewIndex];\n if (!candidate) return null;\n\n const isDisabled = candidate.hasAttribute('disabled') && candidate.getAttribute('disabled') !== 'false';\n if (isDisabled) {\n return findNextFocusableElement(elements, candidate, options, iterations);\n }\n return candidate;\n}\n","import { computed, Directive, ElementRef, inject, OnDestroy, OnInit } from '@angular/core';\nimport * as kbd from '@radix-ng/primitives/core';\nimport { getActiveElement } from '@radix-ng/primitives/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\nimport { injectStepperRootContext } from './stepper-root-context.token';\nimport { useArrowNavigation } from './utils/useArrowNavigation';\n\n// as button\n@Directive({\n selector: 'button[rdxStepperTrigger]',\n host: {\n '[attr.tabindex]': 'itemContext.isFocusable() ? 0 : -1',\n '[attr.aria-describedby]': 'itemContext.descriptionId',\n '[attr.aria-labelledby]': 'itemContext.titleId',\n\n '[attr.data-state]': 'itemContext.itemState()',\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[attr.disabled]': 'itemContext.disabled() || !itemContext.isFocusable() ? \"\" : undefined',\n '[attr.data-disabled]': 'itemContext.disabled() || !itemContext.isFocusable() ? \"\" : undefined',\n\n '(mousedown)': 'handleMouseDown($event)',\n\n '(keydown.Enter)': 'handleKeyDown($event)',\n '(keydown.Space)': 'handleKeyDown($event)',\n '(keydown.ArrowLeft)': 'handleKeyDown($event)',\n '(keydown.ArrowRight)': 'handleKeyDown($event)',\n '(keydown.ArrowUp)': 'handleKeyDown($event)',\n '(keydown.ArrowDown)': 'handleKeyDown($event)'\n }\n})\nexport class RdxStepperTriggerDirective implements OnInit, OnDestroy {\n protected readonly rootContext = injectStepperRootContext();\n protected readonly itemContext = injectStepperItemContext();\n\n private readonly elementRef = inject(ElementRef);\n\n readonly stepperItems = computed(() => Array.from(this.rootContext.totalStepperItems()));\n\n ngOnInit() {\n const current = this.rootContext.totalStepperItems();\n this.rootContext.totalStepperItems.set([...current, this.elementRef.nativeElement]);\n }\n\n ngOnDestroy() {\n const current = this.rootContext.totalStepperItems();\n const updated = current.filter((el: HTMLElement) => el !== this.elementRef.nativeElement);\n\n this.rootContext.totalStepperItems.set(updated);\n }\n\n handleMouseDown(event: MouseEvent) {\n if (this.itemContext.disabled()) {\n return;\n }\n\n // handler only left mouse click\n if (event.button !== 0) {\n return;\n }\n\n if (this.rootContext.linear()) {\n if (\n this.itemContext.step() <= this.rootContext.value()! ||\n this.itemContext.step() === this.rootContext.value()! + 1\n ) {\n if (!event.ctrlKey) {\n this.rootContext.value.set(this.itemContext.step());\n return;\n }\n }\n } else {\n if (!event.ctrlKey) {\n this.rootContext.value.set(this.itemContext.step());\n return;\n }\n }\n\n // prevent focus to avoid accidental activation\n event.preventDefault();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.itemContext.disabled()) {\n return;\n }\n\n if ((event.key === kbd.ENTER || event.key === kbd.SPACE) && !event.ctrlKey && !event.shiftKey)\n this.rootContext.value.set(this.itemContext.step());\n\n if ([kbd.ARROW_LEFT, kbd.ARROW_RIGHT, kbd.ARROW_UP, kbd.ARROW_DOWN].includes(event.key)) {\n useArrowNavigation(event, getActiveElement() as HTMLElement, undefined, {\n itemsArray: this.stepperItems() as HTMLElement[],\n focus: true,\n loop: false,\n arrowKeyOptions: this.rootContext.orientation(),\n dir: this.rootContext.dir()\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxStepperDescriptionDirective } from './src/stepper-description.directive';\nimport { RdxStepperIndicatorDirective } from './src/stepper-indicator.directive';\nimport { RdxStepperItemDirective } from './src/stepper-item.directive';\nimport { RdxStepperRootDirective } from './src/stepper-root.directive';\nimport { RdxStepperSeparatorDirective } from './src/stepper-separator.directive';\nimport { RdxStepperTitleDirective } from './src/stepper-title.directive';\nimport { RdxStepperTriggerDirective } from './src/stepper-trigger.directive';\n\nexport * from './src/stepper-description.directive';\nexport * from './src/stepper-indicator.directive';\nexport * from './src/stepper-item.directive';\nexport * from './src/stepper-root-context.token';\nexport * from './src/stepper-root.directive';\nexport * from './src/stepper-separator.directive';\nexport * from './src/stepper-title.directive';\nexport * from './src/stepper-trigger.directive';\nexport * from './src/types';\n\nconst _imports = [\n RdxStepperDescriptionDirective,\n RdxStepperTitleDirective,\n RdxStepperSeparatorDirective,\n RdxStepperItemDirective,\n RdxStepperIndicatorDirective,\n RdxStepperRootDirective,\n RdxStepperTriggerDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-stepper.mjs","sources":["../../../packages/primitives/stepper/src/stepper-item-context.token.ts","../../../packages/primitives/stepper/src/stepper-description.directive.ts","../../../packages/primitives/stepper/src/stepper-indicator.directive.ts","../../../packages/primitives/stepper/src/stepper-root-context.token.ts","../../../packages/primitives/stepper/src/stepper-item.directive.ts","../../../packages/primitives/stepper/src/stepper-root.directive.ts","../../../packages/primitives/stepper/src/stepper-separator.directive.ts","../../../packages/primitives/stepper/src/stepper-title.directive.ts","../../../packages/primitives/stepper/src/stepper-trigger.directive.ts","../../../packages/primitives/stepper/index.ts","../../../packages/primitives/stepper/radix-ng-primitives-stepper.ts"],"sourcesContent":["import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { inject, InjectionToken, InputSignalWithTransform, Signal } from '@angular/core';\nimport { StepperState } from './types';\n\nexport interface StepperItemContext {\n titleId: string;\n descriptionId: string;\n step: InputSignalWithTransform<number, NumberInput>;\n disabled: InputSignalWithTransform<boolean, BooleanInput>;\n isFocusable: Signal<boolean>;\n itemState: Signal<StepperState>;\n}\n\nexport const STEPPER_ITEM_CONTEXT = new InjectionToken<StepperItemContext>('StepperItemContext');\n\nexport function injectStepperItemContext(): StepperItemContext {\n return inject(STEPPER_ITEM_CONTEXT);\n}\n","import { Directive } from '@angular/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\n\n@Directive({\n selector: '[rdxStepperDescription]',\n host: {\n '[attr.id]': 'itemContext.descriptionId'\n }\n})\nexport class RdxStepperDescriptionDirective {\n readonly itemContext = injectStepperItemContext();\n}\n","import { Directive } from '@angular/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\n\n@Directive({\n selector: '[rdxStepperIndicator]',\n exportAs: 'rdxStepperIndicator'\n})\nexport class RdxStepperIndicatorDirective {\n readonly itemContext = injectStepperItemContext();\n}\n","import { Direction } from '@angular/cdk/bidi';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport {\n inject,\n InjectionToken,\n InputSignal,\n InputSignalWithTransform,\n ModelSignal,\n WritableSignal\n} from '@angular/core';\n\nexport interface StepperRootContext {\n value: ModelSignal<number | undefined>;\n orientation: InputSignal<'vertical' | 'horizontal'>;\n dir: InputSignal<Direction>;\n linear: InputSignalWithTransform<boolean, BooleanInput>;\n totalStepperItems: WritableSignal<HTMLElement[]>;\n}\n\nexport const STEPPER_ROOT_CONTEXT = new InjectionToken<StepperRootContext>('StepperRootContext');\n\nexport function injectStepperRootContext(): StepperRootContext {\n return inject(STEPPER_ROOT_CONTEXT);\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, forwardRef, inject, input, numberAttribute } from '@angular/core';\nimport { _IdGenerator } from '@radix-ng/primitives/core';\nimport { STEPPER_ITEM_CONTEXT, StepperItemContext } from './stepper-item-context.token';\nimport { injectStepperRootContext } from './stepper-root-context.token';\nimport { StepperState } from './types';\n\n@Directive({\n selector: '[rdxStepperItem]',\n providers: [\n {\n provide: STEPPER_ITEM_CONTEXT,\n useExisting: forwardRef(() => RdxStepperItemDirective)\n }\n ],\n host: {\n '[attr.aria-current]': 'itemState() === \"active\" ? true : undefined',\n\n '[attr.data-state]': 'itemState()',\n '[attr.disabled]': 'disabled() || !isFocusable() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() || !isFocusable() ? \"\" : undefined',\n '[attr.data-orientation]': 'rootContext.orientation()'\n }\n})\nexport class RdxStepperItemDirective implements StepperItemContext {\n protected readonly rootContext = injectStepperRootContext();\n\n /** @ignore */\n readonly titleId = inject(_IdGenerator).getId('rdx-stepper-item-title');\n\n /** @ignore */\n readonly descriptionId = inject(_IdGenerator).getId('rdx-stepper-item-description');\n\n readonly step = input<number, NumberInput>(NaN, { transform: numberAttribute });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** @ignore */\n readonly completed = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** @ignore */\n readonly itemState = computed<StepperState>(() => {\n if (this.completed()) return 'completed';\n if (this.rootContext.value() === this.step()) return 'active';\n\n const step = this.step() ?? 1;\n if (this.rootContext.value()! > step) {\n return 'completed';\n }\n\n return 'inactive';\n });\n\n /** @ignore */\n readonly isFocusable = computed(() => {\n if (this.disabled()) return false;\n\n const step = this.step() ?? 1;\n if (this.rootContext.linear()) {\n return step <= this.rootContext.value()! || step === this.rootContext.value()! + 1;\n }\n\n return true;\n });\n}\n","import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n computed,\n Directive,\n effect,\n forwardRef,\n inject,\n input,\n model,\n numberAttribute,\n output,\n signal\n} from '@angular/core';\nimport { STEPPER_ROOT_CONTEXT, StepperRootContext } from './stepper-root-context.token';\n\n@Directive({\n selector: '[rdxStepperRoot]',\n exportAs: 'rdxStepperRoot',\n providers: [\n {\n provide: STEPPER_ROOT_CONTEXT,\n useExisting: forwardRef(() => RdxStepperRootDirective)\n }\n ],\n host: {\n role: 'group',\n '[attr.aria-label]': '\"progress\"',\n '[attr.data-linear]': 'linear() ? \"\" : undefined',\n '[attr.data-orientation]': 'orientation()'\n }\n})\nexport class RdxStepperRootDirective implements StepperRootContext {\n private readonly liveAnnouncer = inject(LiveAnnouncer);\n\n readonly defaultValue = input<number, NumberInput>(undefined, { transform: numberAttribute });\n\n readonly value = model<number | undefined>(this.defaultValue());\n\n readonly linear = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n readonly dir = input<Direction>('ltr');\n\n readonly orientation = input<'vertical' | 'horizontal'>('horizontal');\n\n /** @ignore */\n readonly totalStepperItemsArray = computed(() => Array.from(this.totalStepperItems()));\n\n readonly onValueChange = output<number>();\n\n /** @ignore */\n readonly isFirstStep = computed(() => this.value() === 1);\n\n /** @ignore */\n readonly isLastStep = computed(() => this.value() === this.totalStepperItemsArray().length);\n\n /** @ignore */\n readonly totalSteps = computed(() => this.totalStepperItems().length);\n\n /** @ignore */\n readonly isNextDisabled = computed<boolean>(() => {\n const item = this.nextStepperItem();\n return item ? item.hasAttribute('disabled') : true;\n });\n\n /** @ignore */\n readonly isPrevDisabled = computed<boolean>(() => {\n const item = this.prevStepperItem();\n return item ? item.hasAttribute('disabled') : true;\n });\n\n /** @ignore */\n readonly totalStepperItems = signal<HTMLElement[]>([]);\n\n private readonly nextStepperItem = signal<HTMLElement | null>(null);\n private readonly prevStepperItem = signal<HTMLElement | null>(null);\n\n constructor() {\n effect(() => {\n const items = this.totalStepperItemsArray();\n const currentValue = this.value();\n\n if (currentValue) {\n if (items.length && currentValue < items.length) {\n this.nextStepperItem.set(items[currentValue]);\n } else {\n this.nextStepperItem.set(null);\n }\n\n if (items.length && currentValue > 1) {\n this.prevStepperItem.set(items[currentValue - 2]);\n } else {\n this.prevStepperItem.set(null);\n }\n\n this.onValueChange.emit(currentValue);\n this.liveAnnouncer.announce(`Step ${currentValue} of ${items.length}`);\n }\n });\n }\n\n goToStep(step: number) {\n if (step > this.totalSteps()) {\n return;\n }\n\n if (step < 1) {\n return;\n }\n\n if (\n this.totalStepperItems().length &&\n !!this.totalStepperItemsArray()[step] &&\n this.totalStepperItemsArray()[step].hasAttribute('disabled')\n ) {\n return;\n }\n\n if (this.linear()) {\n const currentValue = this.value() ?? 1;\n if (step > currentValue + 1) {\n return;\n }\n }\n this.value.set(step);\n this.onValueChange.emit(step);\n }\n}\n","import { Directive, effect, inject } from '@angular/core';\nimport { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';\nimport { injectStepperItemContext } from './stepper-item-context.token';\nimport { injectStepperRootContext } from './stepper-root-context.token';\n\n@Directive({\n selector: '[rdxStepperSeparator]',\n hostDirectives: [{ directive: RdxSeparatorRootDirective, inputs: ['orientation', 'decorative'] }],\n host: {\n '[attr.data-state]': 'itemContext.itemState()'\n }\n})\nexport class RdxStepperSeparatorDirective {\n protected readonly rootContext = injectStepperRootContext();\n protected readonly itemContext = injectStepperItemContext();\n\n private readonly rdxSeparator = inject(RdxSeparatorRootDirective, { host: true });\n\n constructor() {\n effect(() => {\n this.rdxSeparator.updateDecorative(true);\n this.rdxSeparator.updateOrientation(this.rootContext.orientation());\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\n\n@Directive({\n selector: '[rdxStepperTitle]',\n host: {\n '[attr.id]': 'itemContext.titleId'\n }\n})\nexport class RdxStepperTitleDirective {\n readonly itemContext = injectStepperItemContext();\n}\n","import { computed, Directive, ElementRef, inject, OnDestroy, OnInit } from '@angular/core';\nimport * as kbd from '@radix-ng/primitives/core';\nimport { getActiveElement, useArrowNavigation } from '@radix-ng/primitives/core';\nimport { injectStepperItemContext } from './stepper-item-context.token';\nimport { injectStepperRootContext } from './stepper-root-context.token';\n\n// as button\n@Directive({\n selector: 'button[rdxStepperTrigger]',\n host: {\n '[attr.tabindex]': 'itemContext.isFocusable() ? 0 : -1',\n '[attr.aria-describedby]': 'itemContext.descriptionId',\n '[attr.aria-labelledby]': 'itemContext.titleId',\n\n '[attr.data-state]': 'itemContext.itemState()',\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[attr.disabled]': 'itemContext.disabled() || !itemContext.isFocusable() ? \"\" : undefined',\n '[attr.data-disabled]': 'itemContext.disabled() || !itemContext.isFocusable() ? \"\" : undefined',\n\n '(mousedown)': 'handleMouseDown($event)',\n\n '(keydown.Enter)': 'handleKeyDown($event)',\n '(keydown.Space)': 'handleKeyDown($event)',\n '(keydown.ArrowLeft)': 'handleKeyDown($event)',\n '(keydown.ArrowRight)': 'handleKeyDown($event)',\n '(keydown.ArrowUp)': 'handleKeyDown($event)',\n '(keydown.ArrowDown)': 'handleKeyDown($event)'\n }\n})\nexport class RdxStepperTriggerDirective implements OnInit, OnDestroy {\n protected readonly rootContext = injectStepperRootContext();\n protected readonly itemContext = injectStepperItemContext();\n\n private readonly elementRef = inject(ElementRef);\n\n readonly stepperItems = computed(() => Array.from(this.rootContext.totalStepperItems()));\n\n ngOnInit() {\n const current = this.rootContext.totalStepperItems();\n this.rootContext.totalStepperItems.set([...current, this.elementRef.nativeElement]);\n }\n\n ngOnDestroy() {\n const current = this.rootContext.totalStepperItems();\n const updated = current.filter((el: HTMLElement) => el !== this.elementRef.nativeElement);\n\n this.rootContext.totalStepperItems.set(updated);\n }\n\n handleMouseDown(event: MouseEvent) {\n if (this.itemContext.disabled()) {\n return;\n }\n\n // handler only left mouse click\n if (event.button !== 0) {\n return;\n }\n\n if (this.rootContext.linear()) {\n if (\n this.itemContext.step() <= this.rootContext.value()! ||\n this.itemContext.step() === this.rootContext.value()! + 1\n ) {\n if (!event.ctrlKey) {\n this.rootContext.value.set(this.itemContext.step());\n return;\n }\n }\n } else {\n if (!event.ctrlKey) {\n this.rootContext.value.set(this.itemContext.step());\n return;\n }\n }\n\n // prevent focus to avoid accidental activation\n event.preventDefault();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.itemContext.disabled()) {\n return;\n }\n\n if ((event.key === kbd.ENTER || event.key === kbd.SPACE) && !event.ctrlKey && !event.shiftKey)\n this.rootContext.value.set(this.itemContext.step());\n\n if ([kbd.ARROW_LEFT, kbd.ARROW_RIGHT, kbd.ARROW_UP, kbd.ARROW_DOWN].includes(event.key)) {\n useArrowNavigation(event, getActiveElement() as HTMLElement, undefined, {\n itemsArray: this.stepperItems() as HTMLElement[],\n focus: true,\n loop: false,\n arrowKeyOptions: this.rootContext.orientation(),\n dir: this.rootContext.dir()\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxStepperDescriptionDirective } from './src/stepper-description.directive';\nimport { RdxStepperIndicatorDirective } from './src/stepper-indicator.directive';\nimport { RdxStepperItemDirective } from './src/stepper-item.directive';\nimport { RdxStepperRootDirective } from './src/stepper-root.directive';\nimport { RdxStepperSeparatorDirective } from './src/stepper-separator.directive';\nimport { RdxStepperTitleDirective } from './src/stepper-title.directive';\nimport { RdxStepperTriggerDirective } from './src/stepper-trigger.directive';\n\nexport * from './src/stepper-description.directive';\nexport * from './src/stepper-indicator.directive';\nexport * from './src/stepper-item.directive';\nexport * from './src/stepper-root-context.token';\nexport * from './src/stepper-root.directive';\nexport * from './src/stepper-separator.directive';\nexport * from './src/stepper-title.directive';\nexport * from './src/stepper-trigger.directive';\nexport * from './src/types';\n\nconst _imports = [\n RdxStepperDescriptionDirective,\n RdxStepperTitleDirective,\n RdxStepperSeparatorDirective,\n RdxStepperItemDirective,\n RdxStepperIndicatorDirective,\n RdxStepperRootDirective,\n RdxStepperTriggerDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}