@radix-ng/primitives 0.43.0 → 0.44.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/accordion/index.d.ts +160 -15
- package/alert-dialog/index.d.ts +54 -14
- package/arrow/README.md +1 -0
- package/arrow/index.d.ts +11 -0
- package/aspect-ratio/index.d.ts +35 -1
- package/avatar/index.d.ts +81 -11
- package/calendar/index.d.ts +310 -29
- package/checkbox/index.d.ts +163 -15
- package/collapsible/index.d.ts +82 -11
- package/config/index.d.ts +35 -2
- package/context-menu/index.d.ts +126 -23
- package/core/index.d.ts +898 -27
- package/cropper/index.d.ts +134 -14
- package/date-field/index.d.ts +209 -10
- package/dialog/index.d.ts +202 -20
- package/dismissable-layer/README.md +1 -0
- package/dismissable-layer/index.d.ts +126 -0
- package/dropdown-menu/index.d.ts +168 -23
- package/editable/index.d.ts +70 -1
- package/fesm2022/radix-ng-primitives-accordion.mjs +36 -36
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +28 -28
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-arrow.mjs +38 -0
- package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +5 -5
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +20 -20
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-calendar.mjs +110 -95
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +219 -209
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +27 -27
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-config.mjs +5 -5
- package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +72 -24
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +51 -51
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +48 -48
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +33 -33
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +418 -0
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +37 -37
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +21 -21
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-guards.mjs +7 -4
- package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +17 -9
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-hover-card.mjs +74 -74
- package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +8 -8
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +65 -65
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +86 -86
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +56 -43
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-pagination.mjs +45 -45
- package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +68 -68
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +418 -0
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-portal.mjs +51 -0
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-presence.mjs +4 -4
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +15 -15
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +30 -30
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +179 -163
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +37 -37
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +16 -14
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +75 -75
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs +45 -45
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +28 -28
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +33 -33
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +78 -66
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +22 -22
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +9 -9
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +28 -28
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +74 -74
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip2.mjs +740 -0
- package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +29 -27
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives.mjs.map +1 -1
- package/focus-guards/index.d.ts +15 -1
- package/focus-scope/index.d.ts +65 -1
- package/hover-card/index.d.ts +471 -19
- package/index.d.ts +2 -1
- package/label/index.d.ts +27 -1
- package/menu/index.d.ts +136 -26
- package/menubar/index.d.ts +53 -21
- package/navigation-menu/index.d.ts +402 -25
- package/number-field/index.d.ts +202 -16
- package/package.json +22 -5
- package/pagination/index.d.ts +96 -20
- package/popover/index.d.ts +402 -19
- package/popper/README.md +3 -0
- package/popper/index.d.ts +206 -0
- package/portal/README.md +1 -0
- package/portal/index.d.ts +22 -0
- package/presence/index.d.ts +103 -5
- package/progress/index.d.ts +76 -8
- package/radio/index.d.ts +118 -4
- package/roving-focus/index.d.ts +174 -3
- package/select/index.d.ts +211 -23
- package/separator/index.d.ts +63 -1
- package/slider/index.d.ts +262 -17
- package/stepper/index.d.ts +122 -21
- package/switch/index.d.ts +102 -9
- package/tabs/index.d.ts +111 -13
- package/time-field/index.d.ts +211 -10
- package/toggle/index.d.ts +75 -3
- package/toggle-group/index.d.ts +194 -5
- package/toolbar/index.d.ts +52 -16
- package/tooltip/index.d.ts +432 -19
- package/tooltip2/README.md +3 -0
- package/tooltip2/index.d.ts +325 -0
- package/visually-hidden/index.d.ts +65 -3
- package/accordion/src/accordion-content-presence.directive.d.ts +0 -6
- package/accordion/src/accordion-content.directive.d.ts +0 -8
- package/accordion/src/accordion-header.directive.d.ts +0 -7
- package/accordion/src/accordion-item.directive.d.ts +0 -43
- package/accordion/src/accordion-root.directive.d.ts +0 -83
- package/accordion/src/accordion-trigger.directive.d.ts +0 -10
- package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +0 -7
- package/alert-dialog/src/alert-dialog-content.directive.d.ts +0 -9
- package/alert-dialog/src/alert-dialog-root.directive.d.ts +0 -9
- package/alert-dialog/src/alert-dialog-title.directive.d.ts +0 -5
- package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +0 -7
- package/alert-dialog/src/alert-dialog.service.d.ts +0 -14
- package/aspect-ratio/src/aspect-ratio.directive.d.ts +0 -32
- package/avatar/src/avatar-context.token.d.ts +0 -7
- package/avatar/src/avatar-fallback.directive.d.ts +0 -20
- package/avatar/src/avatar-image.directive.d.ts +0 -29
- package/avatar/src/avatar-root.directive.d.ts +0 -8
- package/avatar/src/avatar.config.d.ts +0 -13
- package/avatar/src/types.d.ts +0 -2
- package/calendar/src/calendar-cell-trigger.directive.d.ts +0 -54
- package/calendar/src/calendar-cell.directive.d.ts +0 -11
- package/calendar/src/calendar-grid-body.directive.d.ts +0 -5
- package/calendar/src/calendar-grid-head.directive.d.ts +0 -5
- package/calendar/src/calendar-grid-row.directive.d.ts +0 -5
- package/calendar/src/calendar-grid.directive.d.ts +0 -8
- package/calendar/src/calendar-head-cell.directive.d.ts +0 -5
- package/calendar/src/calendar-header.directive.d.ts +0 -5
- package/calendar/src/calendar-heading.directive.d.ts +0 -7
- package/calendar/src/calendar-next.directive.d.ts +0 -16
- package/calendar/src/calendar-prev.directive.d.ts +0 -16
- package/calendar/src/calendar-root.directive.d.ts +0 -148
- package/calendar/src/calendar.d.ts +0 -44
- package/calendar/src//321/201alendar-/321/201ontext.token.d.ts +0 -24
- package/checkbox/src/checkbox-button.directive.d.ts +0 -8
- package/checkbox/src/checkbox-indicator.directive.d.ts +0 -6
- package/checkbox/src/checkbox-input.directive.d.ts +0 -10
- package/checkbox/src/checkbox.directive.d.ts +0 -86
- package/checkbox/src/checkbox.token.d.ts +0 -4
- package/collapsible/src/collapsible-content-presence.directive.d.ts +0 -6
- package/collapsible/src/collapsible-content.directive.d.ts +0 -18
- package/collapsible/src/collapsible-root.directive.d.ts +0 -44
- package/collapsible/src/collapsible-trigger.directive.d.ts +0 -6
- package/config/src/config.d.ts +0 -21
- package/config/src/config.provider.d.ts +0 -10
- package/context-menu/src/context-menu-content.directive.d.ts +0 -15
- package/context-menu/src/context-menu-item-checkbox.directive.d.ts +0 -9
- package/context-menu/src/context-menu-item-indicator.directive.d.ts +0 -7
- package/context-menu/src/context-menu-item-radio-group.directive.d.ts +0 -12
- package/context-menu/src/context-menu-item-radio.directive.d.ts +0 -19
- package/context-menu/src/context-menu-item-selectable.d.ts +0 -12
- package/context-menu/src/context-menu-item.directive.d.ts +0 -17
- package/context-menu/src/context-menu-label.directive.d.ts +0 -5
- package/context-menu/src/context-menu-separator.directive.d.ts +0 -6
- package/context-menu/src/context-menu-trigger.directive.d.ts +0 -31
- package/core/src/accessor/control-value-accessor.d.ts +0 -67
- package/core/src/accessor/provide-value-accessor.d.ts +0 -12
- package/core/src/auto-focus.directive.d.ts +0 -14
- package/core/src/chunk.d.ts +0 -12
- package/core/src/clamp.d.ts +0 -38
- package/core/src/create-context.d.ts +0 -10
- package/core/src/date-time/calendar.d.ts +0 -33
- package/core/src/date-time/comparators.d.ts +0 -98
- package/core/src/date-time/formatter.d.ts +0 -30
- package/core/src/date-time/index.d.ts +0 -9
- package/core/src/date-time/parser.d.ts +0 -37
- package/core/src/date-time/parts.d.ts +0 -12
- package/core/src/date-time/placeholders.d.ts +0 -8
- package/core/src/date-time/segment.d.ts +0 -4
- package/core/src/date-time/types.d.ts +0 -58
- package/core/src/date-time/useDateField.d.ts +0 -142
- package/core/src/date-time/utils.d.ts +0 -7
- package/core/src/document.d.ts +0 -1
- package/core/src/focus-initial.directive.d.ts +0 -9
- package/core/src/getActiveElement.d.ts +0 -1
- package/core/src/id-generator.d.ts +0 -12
- package/core/src/inject-ng-control.d.ts +0 -8
- package/core/src/is-client.d.ts +0 -1
- package/core/src/is-equal.d.ts +0 -7
- package/core/src/is-inside-form.d.ts +0 -2
- package/core/src/is-nullish.d.ts +0 -1
- package/core/src/is-number.d.ts +0 -1
- package/core/src/isValueEqualOrExist.d.ts +0 -10
- package/core/src/kbd-constants.d.ts +0 -41
- package/core/src/positioning/constants.d.ts +0 -3
- package/core/src/positioning/types.d.ts +0 -42
- package/core/src/positioning/utils.d.ts +0 -12
- package/core/src/provide-token.d.ts +0 -22
- package/core/src/serialize.d.ts +0 -11
- package/core/src/types.d.ts +0 -25
- package/core/src/useArrowNavigation.d.ts +0 -65
- package/core/src/useResizeObserver.d.ts +0 -15
- package/core/src/watch.d.ts +0 -41
- package/core/src/window.d.ts +0 -3
- package/cropper/src/cropper-context.token.d.ts +0 -12
- package/cropper/src/cropper-crop-area.directive.d.ts +0 -6
- package/cropper/src/cropper-description.directive.d.ts +0 -6
- package/cropper/src/cropper-image.component.d.ts +0 -10
- package/cropper/src/cropper-root.directive.d.ts +0 -91
- package/date-field/src/date-field-context.token.d.ts +0 -19
- package/date-field/src/date-field-input.directive.d.ts +0 -53
- package/date-field/src/date-field-root.directive.d.ts +0 -131
- package/dialog/src/dialog-close.directive.d.ts +0 -7
- package/dialog/src/dialog-content.directive.d.ts +0 -21
- package/dialog/src/dialog-description.directive.d.ts +0 -5
- package/dialog/src/dialog-dismiss.directive.d.ts +0 -7
- package/dialog/src/dialog-ref.d.ts +0 -40
- package/dialog/src/dialog-title.directive.d.ts +0 -5
- package/dialog/src/dialog-trigger.directive.d.ts +0 -28
- package/dialog/src/dialog.config.d.ts +0 -41
- package/dialog/src/dialog.injectors.d.ts +0 -4
- package/dialog/src/dialog.providers.d.ts +0 -19
- package/dialog/src/dialog.service.d.ts +0 -26
- package/dismissible-layer/README.md +0 -1
- package/dismissible-layer/index.d.ts +0 -1
- package/dismissible-layer/src/utils.d.ts +0 -38
- package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +0 -15
- package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +0 -9
- package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +0 -7
- package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +0 -12
- package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +0 -19
- package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +0 -12
- package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +0 -17
- package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +0 -6
- package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +0 -6
- package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +0 -73
- package/editable/src/editable-root.d.ts +0 -67
- package/fesm2022/radix-ng-primitives-dismissible-layer.mjs +0 -211
- package/fesm2022/radix-ng-primitives-dismissible-layer.mjs.map +0 -1
- package/focus-guards/src/focus-guards.d.ts +0 -12
- package/focus-scope/src/focus-scope.d.ts +0 -53
- package/focus-scope/src/stack.d.ts +0 -13
- package/focus-scope/src/utils.d.ts +0 -46
- package/hover-card/src/hover-card-anchor.directive.d.ts +0 -28
- package/hover-card/src/hover-card-anchor.token.d.ts +0 -3
- package/hover-card/src/hover-card-arrow.directive.d.ts +0 -45
- package/hover-card/src/hover-card-arrow.token.d.ts +0 -3
- package/hover-card/src/hover-card-close.directive.d.ts +0 -18
- package/hover-card/src/hover-card-close.token.d.ts +0 -3
- package/hover-card/src/hover-card-content-attributes.component.d.ts +0 -25
- package/hover-card/src/hover-card-content-attributes.token.d.ts +0 -3
- package/hover-card/src/hover-card-content.directive.d.ts +0 -124
- package/hover-card/src/hover-card-root.directive.d.ts +0 -182
- package/hover-card/src/hover-card-root.inject.d.ts +0 -3
- package/hover-card/src/hover-card-trigger.directive.d.ts +0 -26
- package/hover-card/src/hover-card.types.d.ts +0 -18
- package/hover-card/src/utils/cdk-event.service.d.ts +0 -30
- package/hover-card/src/utils/constants.d.ts +0 -1
- package/hover-card/src/utils/types.d.ts +0 -7
- package/label/src/label.directive.d.ts +0 -24
- package/menu/src/menu-content.directive.d.ts +0 -6
- package/menu/src/menu-directive.d.ts +0 -6
- package/menu/src/menu-group.directive.d.ts +0 -6
- package/menu/src/menu-item-checkbox.directive.d.ts +0 -21
- package/menu/src/menu-item-indicator.directive.d.ts +0 -10
- package/menu/src/menu-item-radio.directive.d.ts +0 -20
- package/menu/src/menu-item.directive.d.ts +0 -18
- package/menu/src/menu-label.directive.d.ts +0 -5
- package/menu/src/menu-radio-group.directive.d.ts +0 -6
- package/menu/src/menu-separator.directive.d.ts +0 -5
- package/menu/src/menu-trigger.directive.d.ts +0 -35
- package/menu/src/utils.d.ts +0 -3
- package/menubar/src/menubar-content.directive.d.ts +0 -6
- package/menubar/src/menubar-item-checkbox.directive.d.ts +0 -6
- package/menubar/src/menubar-item-indicator.directive.d.ts +0 -6
- package/menubar/src/menubar-item-radio.directive.d.ts +0 -6
- package/menubar/src/menubar-item.directive.d.ts +0 -6
- package/menubar/src/menubar-radio-group.directive.d.ts +0 -6
- package/menubar/src/menubar-root.directive.d.ts +0 -6
- package/menubar/src/menubar-separator.directive.d.ts +0 -6
- package/menubar/src/menubar-trigger.directive.d.ts +0 -6
- package/navigation-menu/src/navigation-menu-a11y.component.d.ts +0 -15
- package/navigation-menu/src/navigation-menu-content.directive.d.ts +0 -31
- package/navigation-menu/src/navigation-menu-indicator.directive.d.ts +0 -29
- package/navigation-menu/src/navigation-menu-item.directive.d.ts +0 -44
- package/navigation-menu/src/navigation-menu-link.directive.d.ts +0 -17
- package/navigation-menu/src/navigation-menu-list.directive.d.ts +0 -38
- package/navigation-menu/src/navigation-menu-sub.directive.d.ts +0 -19
- package/navigation-menu/src/navigation-menu-trigger.directive.d.ts +0 -34
- package/navigation-menu/src/navigation-menu-viewport.directive.d.ts +0 -61
- package/navigation-menu/src/navigation-menu.directive.d.ts +0 -76
- package/navigation-menu/src/navigation-menu.token.d.ts +0 -36
- package/navigation-menu/src/navigation-menu.types.d.ts +0 -13
- package/navigation-menu/src/utils.d.ts +0 -44
- package/number-field/src/number-field-context.token.d.ts +0 -24
- package/number-field/src/number-field-decrement.directive.d.ts +0 -23
- package/number-field/src/number-field-increment.directive.d.ts +0 -23
- package/number-field/src/number-field-input.directive.d.ts +0 -22
- package/number-field/src/number-field-root.directive.d.ts +0 -86
- package/number-field/src/types.d.ts +0 -1
- package/number-field/src/utils.d.ts +0 -18
- package/pagination/src/pagination-context.token.d.ts +0 -11
- package/pagination/src/pagination-ellipsis.directive.d.ts +0 -5
- package/pagination/src/pagination-first.directive.d.ts +0 -8
- package/pagination/src/pagination-last.directive.d.ts +0 -8
- package/pagination/src/pagination-list-item.directive.d.ts +0 -10
- package/pagination/src/pagination-list.directive.d.ts +0 -12
- package/pagination/src/pagination-next.directive.d.ts +0 -8
- package/pagination/src/pagination-prev.directive.d.ts +0 -8
- package/pagination/src/pagination-root.directive.d.ts +0 -18
- package/pagination/src/utils.d.ts +0 -9
- package/popover/src/popover-anchor.directive.d.ts +0 -28
- package/popover/src/popover-anchor.token.d.ts +0 -3
- package/popover/src/popover-arrow.directive.d.ts +0 -40
- package/popover/src/popover-arrow.token.d.ts +0 -3
- package/popover/src/popover-close.directive.d.ts +0 -15
- package/popover/src/popover-close.token.d.ts +0 -3
- package/popover/src/popover-content-attributes.component.d.ts +0 -23
- package/popover/src/popover-content-attributes.token.d.ts +0 -3
- package/popover/src/popover-content.directive.d.ts +0 -104
- package/popover/src/popover-root.directive.d.ts +0 -155
- package/popover/src/popover-root.inject.d.ts +0 -3
- package/popover/src/popover-trigger.directive.d.ts +0 -18
- package/popover/src/popover.types.d.ts +0 -14
- package/popover/src/utils/cdk-event.service.d.ts +0 -30
- package/popover/src/utils/constants.d.ts +0 -1
- package/popover/src/utils/types.d.ts +0 -7
- package/presence/src/presence.d.ts +0 -42
- package/presence/src/presence.directive.d.ts +0 -27
- package/presence/src/transitions/transition.collapse.d.ts +0 -15
- package/presence/src/transitions/transition.toast.d.ts +0 -3
- package/presence/src/types.d.ts +0 -15
- package/presence/src/utils.d.ts +0 -42
- package/progress/src/progress-indicator.directive.d.ts +0 -15
- package/progress/src/progress-root.directive.d.ts +0 -54
- package/radio/src/radio-indicator.directive.d.ts +0 -9
- package/radio/src/radio-item-input.directive.d.ts +0 -12
- package/radio/src/radio-item.directive.d.ts +0 -30
- package/radio/src/radio-root.directive.d.ts +0 -57
- package/radio/src/radio-tokens.d.ts +0 -14
- package/roving-focus/src/roving-focus-group.directive.d.ts +0 -50
- package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
- package/roving-focus/src/utils.d.ts +0 -19
- package/select/src/select-content.directive.d.ts +0 -20
- package/select/src/select-group.directive.d.ts +0 -5
- package/select/src/select-icon.directive.d.ts +0 -5
- package/select/src/select-item-indicator.directive.d.ts +0 -7
- package/select/src/select-item.directive.d.ts +0 -53
- package/select/src/select-label.directive.d.ts +0 -5
- package/select/src/select-separator.directive.d.ts +0 -5
- package/select/src/select-trigger.directive.d.ts +0 -17
- package/select/src/select-value.directive.d.ts +0 -8
- package/select/src/select.component.d.ts +0 -98
- package/separator/src/separator.directive.d.ts +0 -60
- package/slider/src/slider-horizontal.component.d.ts +0 -28
- package/slider/src/slider-impl.directive.d.ts +0 -17
- package/slider/src/slider-orientation-context.service.d.ts +0 -14
- package/slider/src/slider-range.component.d.ts +0 -13
- package/slider/src/slider-root.component.d.ts +0 -123
- package/slider/src/slider-thumb-impl.directive.d.ts +0 -27
- package/slider/src/slider-thumb.component.d.ts +0 -6
- package/slider/src/slider-track.component.d.ts +0 -7
- package/slider/src/slider-vertical.component.d.ts +0 -28
- package/slider/src/utils.d.ts +0 -52
- package/stepper/src/stepper-description.directive.d.ts +0 -6
- package/stepper/src/stepper-indicator.directive.d.ts +0 -6
- package/stepper/src/stepper-item-context.token.d.ts +0 -13
- package/stepper/src/stepper-item.directive.d.ts +0 -21
- package/stepper/src/stepper-root-context.token.d.ts +0 -12
- package/stepper/src/stepper-root.directive.d.ts +0 -33
- package/stepper/src/stepper-separator.directive.d.ts +0 -10
- package/stepper/src/stepper-title.directive.d.ts +0 -6
- package/stepper/src/stepper-trigger.directive.d.ts +0 -14
- package/stepper/src/types.d.ts +0 -1
- package/switch/src/switch-input.directive.d.ts +0 -11
- package/switch/src/switch-root.directive.d.ts +0 -74
- package/switch/src/switch-thumb.directive.d.ts +0 -9
- package/tabs/src/tabs-content.directive.d.ts +0 -13
- package/tabs/src/tabs-list.directive.d.ts +0 -10
- package/tabs/src/tabs-root.directive.d.ts +0 -53
- package/tabs/src/tabs-trigger.directive.d.ts +0 -29
- package/tabs/src/utils.d.ts +0 -2
- package/time-field/src/time-field-context.token.d.ts +0 -20
- package/time-field/src/time-field-input.directive.d.ts +0 -53
- package/time-field/src/time-field-root.directive.d.ts +0 -130
- package/toggle/src/toggle-visually-hidden-input.directive.d.ts +0 -6
- package/toggle/src/toggle.directive.d.ts +0 -65
- package/toggle-group/src/toggle-group-item.directive.d.ts +0 -37
- package/toggle-group/src/toggle-group-item.token.d.ts +0 -4
- package/toggle-group/src/toggle-group-without-focus.directive.d.ts +0 -69
- package/toggle-group/src/toggle-group.directive.d.ts +0 -74
- package/toggle-group/src/toggle-group.token.d.ts +0 -10
- package/toolbar/src/toolbar-button.directive.d.ts +0 -11
- package/toolbar/src/toolbar-link.directive.d.ts +0 -7
- package/toolbar/src/toolbar-root.directive.d.ts +0 -8
- package/toolbar/src/toolbar-root.token.d.ts +0 -5
- package/toolbar/src/toolbar-separator.directive.d.ts +0 -6
- package/toolbar/src/toolbar-toggle-group.directive.d.ts +0 -6
- package/toolbar/src/toolbar-toggle-item.directive.d.ts +0 -6
- package/tooltip/src/tooltip-anchor.directive.d.ts +0 -28
- package/tooltip/src/tooltip-anchor.token.d.ts +0 -3
- package/tooltip/src/tooltip-arrow.directive.d.ts +0 -40
- package/tooltip/src/tooltip-arrow.token.d.ts +0 -3
- package/tooltip/src/tooltip-close.directive.d.ts +0 -18
- package/tooltip/src/tooltip-close.token.d.ts +0 -3
- package/tooltip/src/tooltip-content-attributes.component.d.ts +0 -25
- package/tooltip/src/tooltip-content-attributes.token.d.ts +0 -3
- package/tooltip/src/tooltip-content.directive.d.ts +0 -104
- package/tooltip/src/tooltip-root.directive.d.ts +0 -168
- package/tooltip/src/tooltip-root.inject.d.ts +0 -3
- package/tooltip/src/tooltip-trigger.directive.d.ts +0 -26
- package/tooltip/src/tooltip.types.d.ts +0 -18
- package/tooltip/src/utils/cdk-event.service.d.ts +0 -30
- package/tooltip/src/utils/constants.d.ts +0 -1
- package/tooltip/src/utils/types.d.ts +0 -7
- package/visually-hidden/src/visually-hidden-input-bubble.directive.d.ts +0 -24
- package/visually-hidden/src/visually-hidden-input.directive.d.ts +0 -23
- package/visually-hidden/src/visually-hidden.directive.d.ts +0 -18
package/core/index.d.ts
CHANGED
|
@@ -1,27 +1,898 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Type, Provider, ElementRef, Injector, InjectionToken, InputSignal, WritableSignal, ModelSignal, Signal, EffectRef, EffectCleanupRegisterFn, CreateEffectOptions } from '@angular/core';
|
|
3
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
4
|
+
import { ControlValueAccessor, FormControlDirective, FormControlName, NgModel } from '@angular/forms';
|
|
5
|
+
import { DateValue, DayOfWeek, CalendarDateTime, ZonedDateTime, Time } from '@internationalized/date';
|
|
6
|
+
import { ConnectionPositionPair, ConnectedPosition } from '@angular/cdk/overlay';
|
|
7
|
+
import { Direction } from '@angular/cdk/bidi';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A reusable ControlValueAccessor implementation for form controls
|
|
11
|
+
* @template T The type of the control's value
|
|
12
|
+
*/
|
|
13
|
+
declare class RdxControlValueAccessor<T> implements ControlValueAccessor {
|
|
14
|
+
/**
|
|
15
|
+
* Input for the control's value with alias 'value'
|
|
16
|
+
* @default undefined
|
|
17
|
+
*/
|
|
18
|
+
readonly valueInput: i0.InputSignal<T | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Input for the disabled state with alias 'disabled'
|
|
21
|
+
* Uses booleanAttribute transform to convert string attributes to booleans
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
readonly disabledInput: i0.InputSignalWithTransform<boolean, BooleanInput>;
|
|
25
|
+
readonly valueChange: i0.OutputEmitterRef<T>;
|
|
26
|
+
private readonly _value;
|
|
27
|
+
/**
|
|
28
|
+
* Readonly access to the current value
|
|
29
|
+
*/
|
|
30
|
+
readonly value: i0.Signal<T | undefined>;
|
|
31
|
+
private readonly _disabled;
|
|
32
|
+
/**
|
|
33
|
+
* Readonly access to the disabled state
|
|
34
|
+
*/
|
|
35
|
+
readonly disabled: i0.Signal<boolean>;
|
|
36
|
+
onChange?: (value: T | undefined) => void;
|
|
37
|
+
private onTouched?;
|
|
38
|
+
/**
|
|
39
|
+
* Writes a new value to the control (ControlValueAccessor interface)
|
|
40
|
+
* @param value The new value for the control
|
|
41
|
+
*/
|
|
42
|
+
writeValue(value: T | undefined): void;
|
|
43
|
+
/**
|
|
44
|
+
* Registers a callback for when the control value changes (ControlValueAccessor interface)
|
|
45
|
+
* @param fn The callback function
|
|
46
|
+
*/
|
|
47
|
+
registerOnChange(fn: (value: T | undefined) => void): void;
|
|
48
|
+
/**
|
|
49
|
+
* Registers a callback for when the control is touched (ControlValueAccessor interface)
|
|
50
|
+
* @param fn The callback function
|
|
51
|
+
*/
|
|
52
|
+
registerOnTouched(fn: () => void): void;
|
|
53
|
+
/**
|
|
54
|
+
* Sets the disabled state of the control (ControlValueAccessor interface)
|
|
55
|
+
* @param isDisabled Whether the control should be disabled
|
|
56
|
+
*/
|
|
57
|
+
setDisabledState(isDisabled: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* Updates the control's value and triggers change detection
|
|
60
|
+
* @param value The new value
|
|
61
|
+
*/
|
|
62
|
+
setValue(value: T): void;
|
|
63
|
+
markAsTouched(): void;
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxControlValueAccessor<any>, never>;
|
|
65
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxControlValueAccessor<any>, never, ["rdxControlValueAccessor"], { "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Provides a type-safe way to inject the RdxControlValueAccessor
|
|
69
|
+
* @template T The type of the control's value
|
|
70
|
+
* @returns An instance of RdxControlValueAccessor<T>
|
|
71
|
+
*/
|
|
72
|
+
declare function injectControlValueAccessor<T>(): RdxControlValueAccessor<T>;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Include in the providers section of a component which utilizes ControlValueAccessor to redundant code.
|
|
76
|
+
*
|
|
77
|
+
* ```ts
|
|
78
|
+
* @Directive({
|
|
79
|
+
* providers: [provideValueAccessor(ExampleDirective)]
|
|
80
|
+
*}
|
|
81
|
+
* export class ExampleDirective{}
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
declare function provideValueAccessor<T>(type: Type<T>): Provider;
|
|
85
|
+
|
|
86
|
+
declare class RdxAutoFocusDirective {
|
|
87
|
+
#private;
|
|
88
|
+
private _autoSelect;
|
|
89
|
+
/**
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
set autoFocus(value: boolean);
|
|
93
|
+
set autoSelect(value: boolean);
|
|
94
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxAutoFocusDirective, never>;
|
|
95
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAutoFocusDirective, "[rdxAutoFocus]", never, { "autoFocus": { "alias": "rdxAutoFocus"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; }, {}, never, never, true, never>;
|
|
96
|
+
static ngAcceptInputType_autoFocus: unknown;
|
|
97
|
+
static ngAcceptInputType_autoSelect: unknown;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* The `clamp` function restricts a number within a specified range by returning the value itself if it
|
|
102
|
+
* falls within the range, or the closest boundary value if it exceeds the range.
|
|
103
|
+
* @param {number} value - The `value` parameter represents the number that you want to clamp within
|
|
104
|
+
* the specified range defined by `min` and `max` values.
|
|
105
|
+
* @param {number} min - If the `value` parameter is less than the `min` value, the
|
|
106
|
+
* function will return the `min` value.
|
|
107
|
+
* @param {number} max - If the `value` parameter is greater than the `max` value,
|
|
108
|
+
* the function will return `max`.
|
|
109
|
+
* @returns The `clamp` function returns the value of `value` constrained within the range defined by
|
|
110
|
+
* `min` and `max`.
|
|
111
|
+
*/
|
|
112
|
+
declare function clamp(value: number, min?: number, max?: number): number;
|
|
113
|
+
/**
|
|
114
|
+
* The function `roundToStepPrecision` rounds a number to a specified precision step.
|
|
115
|
+
* @param {number} value - The `value` parameter is the number that you want to round to a specific
|
|
116
|
+
* precision based on the `step` parameter.
|
|
117
|
+
* @param {number} step - The `step` parameter in the `roundToStepPrecision` function represents the
|
|
118
|
+
* interval at which you want to round the `value`. For example, if `step` is 0.5, the `value` will be
|
|
119
|
+
* rounded to the nearest half.
|
|
120
|
+
* @returns the `roundedValue` after rounding it to the precision specified by the `step`.
|
|
121
|
+
*/
|
|
122
|
+
declare function roundToStepPrecision(value: number, step: number): number;
|
|
123
|
+
/**
|
|
124
|
+
* The function `snapValueToStep` snaps a given value to the nearest step within a specified range.
|
|
125
|
+
* @param {number} value - The `value` parameter represents the number that you want to snap to the
|
|
126
|
+
* nearest step value.
|
|
127
|
+
* @param {number | undefined} min - The `min` parameter represents the minimum value that the `value`
|
|
128
|
+
* should be snapped to. If `value` is less than `min`, it will be snapped to `min`. If `min` is not
|
|
129
|
+
* provided (undefined), then the snapping will not consider a minimum value.
|
|
130
|
+
* @param {number | undefined} max - The `max` parameter represents the maximum value that the `value`
|
|
131
|
+
* should be snapped to. It ensures that the snapped value does not exceed this maximum value.
|
|
132
|
+
* @param {number} step - The `step` parameter in the `snapValueToStep` function represents the
|
|
133
|
+
* interval at which the `value` should be snapped to. It determines the granularity of the snapping
|
|
134
|
+
* operation. For example, if `step` is 5, the `value` will be snapped to the nearest multiple of
|
|
135
|
+
* @returns a number that has been snapped to the nearest step value within the specified range of minimum and maximum values.
|
|
136
|
+
*/
|
|
137
|
+
declare function snapValueToStep(value: number, min: number | undefined, max: number | undefined, step: number): number;
|
|
138
|
+
|
|
139
|
+
declare function injectDocument(): Document;
|
|
140
|
+
|
|
141
|
+
declare function elementSize({ elementRef, injector }: {
|
|
142
|
+
elementRef: ElementRef<HTMLElement>;
|
|
143
|
+
injector: Injector;
|
|
144
|
+
}): i0.Signal<{
|
|
145
|
+
width: number;
|
|
146
|
+
height: number;
|
|
147
|
+
}>;
|
|
148
|
+
|
|
149
|
+
declare class RdxFocusInitialDirective {
|
|
150
|
+
/** @ignore */
|
|
151
|
+
private readonly nativeElement;
|
|
152
|
+
/** @ignore */
|
|
153
|
+
focus(): void;
|
|
154
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxFocusInitialDirective, never>;
|
|
155
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxFocusInitialDirective, "[rdxFocusInitial]", never, {}, {}, never, never, true, never>;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
declare function getActiveElement(): Element | null;
|
|
159
|
+
|
|
160
|
+
/** Service that generates unique IDs for DOM nodes. */
|
|
161
|
+
declare class _IdGenerator {
|
|
162
|
+
private readonly _appId;
|
|
163
|
+
/**
|
|
164
|
+
* Generates a unique ID with a specific prefix.
|
|
165
|
+
* @param prefix Prefix to add to the ID.
|
|
166
|
+
*/
|
|
167
|
+
getId(prefix: string): string;
|
|
168
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<_IdGenerator, never>;
|
|
169
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<_IdGenerator>;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
declare function injectNgControl(params: {
|
|
173
|
+
optional: true;
|
|
174
|
+
}): FormControlDirective | FormControlName | NgModel | undefined;
|
|
175
|
+
declare function injectNgControl(params: {
|
|
176
|
+
optional: false;
|
|
177
|
+
}): FormControlDirective | FormControlName | NgModel;
|
|
178
|
+
declare function injectNgControl(): FormControlDirective | FormControlName | NgModel;
|
|
179
|
+
|
|
180
|
+
declare function injectIsClient(): boolean;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Compare two objects using reference equality and stable deep hashing.
|
|
184
|
+
* @param {any} object1 First object
|
|
185
|
+
* @param {any} object2 Second object
|
|
186
|
+
* @return {boolean} true if equal and false if not
|
|
187
|
+
*/
|
|
188
|
+
declare function isEqual(object1: any, object2: any): boolean;
|
|
189
|
+
|
|
190
|
+
declare function isInsideForm(el: ElementRef<HTMLElement> | null): boolean;
|
|
191
|
+
|
|
192
|
+
declare function isNullish(value: any): value is null | undefined;
|
|
193
|
+
|
|
194
|
+
declare const isNumber: (v: any) => v is number;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* The function `isValueEqualOrExist` checks if a value is equal to or exists in another value or
|
|
198
|
+
* array.
|
|
199
|
+
* @param {T | T[] | undefined} base - It represents the base value that you want to compare with the `current` value.
|
|
200
|
+
* @param {T | T[] | undefined} current - The `current` parameter represents the current value that you want to compare with the `base` value or values.
|
|
201
|
+
* @returns The `isValueEqualOrExist` function returns a boolean value. It checks if the `base` value
|
|
202
|
+
* is equal to the `current` value or if the `current` value exists within the `base` value. The
|
|
203
|
+
* function handles cases where `base` can be a single value, an array of values, or undefined.
|
|
204
|
+
*/
|
|
205
|
+
declare function isValueEqualOrExist<T>(base: T | T[] | undefined, current: T | T[] | undefined): boolean;
|
|
206
|
+
|
|
207
|
+
declare const ALT = "Alt";
|
|
208
|
+
declare const ARROW_DOWN = "ArrowDown";
|
|
209
|
+
declare const ARROW_LEFT = "ArrowLeft";
|
|
210
|
+
declare const ARROW_RIGHT = "ArrowRight";
|
|
211
|
+
declare const ARROW_UP = "ArrowUp";
|
|
212
|
+
declare const BACKSPACE = "Backspace";
|
|
213
|
+
declare const CAPS_LOCK = "CapsLock";
|
|
214
|
+
declare const CONTROL = "Control";
|
|
215
|
+
declare const DELETE = "Delete";
|
|
216
|
+
declare const END = "End";
|
|
217
|
+
declare const ENTER = "Enter";
|
|
218
|
+
declare const ESCAPE = "Escape";
|
|
219
|
+
declare const F1 = "F1";
|
|
220
|
+
declare const F10 = "F10";
|
|
221
|
+
declare const F11 = "F11";
|
|
222
|
+
declare const F12 = "F12";
|
|
223
|
+
declare const F2 = "F2";
|
|
224
|
+
declare const F3 = "F3";
|
|
225
|
+
declare const F4 = "F4";
|
|
226
|
+
declare const F5 = "F5";
|
|
227
|
+
declare const F6 = "F6";
|
|
228
|
+
declare const F7 = "F7";
|
|
229
|
+
declare const F8 = "F8";
|
|
230
|
+
declare const F9 = "F9";
|
|
231
|
+
declare const HOME = "Home";
|
|
232
|
+
declare const META = "Meta";
|
|
233
|
+
declare const PAGE_DOWN = "PageDown";
|
|
234
|
+
declare const PAGE_UP = "PageUp";
|
|
235
|
+
declare const SHIFT = "Shift";
|
|
236
|
+
declare const SPACE = " ";
|
|
237
|
+
declare const TAB = "Tab";
|
|
238
|
+
declare const CTRL = "Control";
|
|
239
|
+
declare const ASTERISK = "*";
|
|
240
|
+
declare const a = "a";
|
|
241
|
+
declare const P = "P";
|
|
242
|
+
declare const A = "A";
|
|
243
|
+
declare const p = "p";
|
|
244
|
+
declare const n = "n";
|
|
245
|
+
declare const j = "j";
|
|
246
|
+
declare const k = "k";
|
|
247
|
+
declare const SPACE_CODE = "Space";
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Creates an Angular provider that binds the given token to the existing instance
|
|
251
|
+
* of the specified class. This is especially useful when you want multiple
|
|
252
|
+
* tokens (or interfaces) to resolve to the same directive/component instance.
|
|
253
|
+
*
|
|
254
|
+
* @template T - The type associated with the injection token.
|
|
255
|
+
* @param token - The InjectionToken or abstract type you want to provide.
|
|
256
|
+
* @param type - The class type whose existing instance will be used for this token.
|
|
257
|
+
* @returns A Provider configuration object for Angular's DI system.
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
*
|
|
261
|
+
* @Directive({
|
|
262
|
+
* providers: [
|
|
263
|
+
* provideToken(RdxToggleGroupToken, RdxToggleGroupDirective),
|
|
264
|
+
* provideValueAccessor(RdxToggleGroupDirective)
|
|
265
|
+
* ]
|
|
266
|
+
* })
|
|
267
|
+
* export class RdxToggleGroupDirective {}
|
|
268
|
+
*/
|
|
269
|
+
declare function provideToken<T>(token: InjectionToken<T>, type: Type<unknown>): Provider;
|
|
270
|
+
|
|
271
|
+
declare const WINDOW: InjectionToken<Window & typeof globalThis>;
|
|
272
|
+
declare function injectWindow(): Window & typeof globalThis;
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Creates a context with injector and provider functions for a given type
|
|
276
|
+
* @template T The type of the context value
|
|
277
|
+
* @param description Descriptive string for the context (used in token creation)
|
|
278
|
+
* @returns A tuple containing:
|
|
279
|
+
* - injectContext: Function to retrieve the context value
|
|
280
|
+
* - provideContext: Function to create a provider for the context
|
|
281
|
+
*/
|
|
282
|
+
declare function createContext<T>(description: string): readonly [injectContext: (optional?: boolean) => T | null, provideContext: (useFactory: () => T) => Provider];
|
|
283
|
+
|
|
284
|
+
declare const DATE_SEGMENT_PARTS: readonly ["day", "month", "year"];
|
|
285
|
+
declare const TIME_SEGMENT_PARTS: readonly ["hour", "minute", "second", "dayPeriod"];
|
|
286
|
+
declare const NON_EDITABLE_SEGMENT_PARTS: readonly ["literal", "timeZoneName"];
|
|
287
|
+
declare const EDITABLE_SEGMENT_PARTS: readonly ["day", "month", "year", "hour", "minute", "second", "dayPeriod"];
|
|
288
|
+
|
|
289
|
+
type DateMatcher = (date: DateValue) => boolean;
|
|
290
|
+
type DateStep = {
|
|
291
|
+
year?: number;
|
|
292
|
+
month?: number;
|
|
293
|
+
day?: number;
|
|
294
|
+
hour?: number;
|
|
295
|
+
minute?: number;
|
|
296
|
+
second?: number;
|
|
297
|
+
millisecond?: number;
|
|
298
|
+
};
|
|
299
|
+
type DateRange = {
|
|
300
|
+
start: DateValue | undefined;
|
|
301
|
+
end: DateValue | undefined;
|
|
302
|
+
};
|
|
303
|
+
type HourCycle = 12 | 24 | undefined;
|
|
304
|
+
type Month<T> = {
|
|
305
|
+
/**
|
|
306
|
+
* A `DateValue` used to represent the month. Since days
|
|
307
|
+
* from the previous and next months may be included in the
|
|
308
|
+
* calendar grid, we need a source of truth for the value
|
|
309
|
+
* the grid is representing.
|
|
310
|
+
*/
|
|
311
|
+
value: DateValue;
|
|
312
|
+
/**
|
|
313
|
+
* An array of (rows) arrays representing the weeks in the calendar.
|
|
314
|
+
* Each sub-array represents a week, and contains the dates for each
|
|
315
|
+
* day in that week. This structure is useful for rendering the calendar
|
|
316
|
+
* grid using a table, where each row represents a week and each cell
|
|
317
|
+
* represents a day.
|
|
318
|
+
*/
|
|
319
|
+
weeks: T[][];
|
|
320
|
+
/**
|
|
321
|
+
* An array of (cells) all the dates in the current month, including dates from
|
|
322
|
+
* the previous and next months that are used to fill out the calendar grid.
|
|
323
|
+
* This array is useful for rendering the calendar grid in a customizable way,
|
|
324
|
+
* as it provides all the dates that should be displayed in the grid in a flat
|
|
325
|
+
* array.
|
|
326
|
+
*/
|
|
327
|
+
dates: T[];
|
|
328
|
+
};
|
|
329
|
+
type DateSegmentPart = (typeof DATE_SEGMENT_PARTS)[number];
|
|
330
|
+
type TimeSegmentPart = (typeof TIME_SEGMENT_PARTS)[number];
|
|
331
|
+
type EditableSegmentPart = (typeof EDITABLE_SEGMENT_PARTS)[number];
|
|
332
|
+
type NonEditableSegmentPart = (typeof NON_EDITABLE_SEGMENT_PARTS)[number];
|
|
333
|
+
type SegmentPart = EditableSegmentPart | NonEditableSegmentPart;
|
|
334
|
+
type AnyExceptLiteral = Exclude<SegmentPart, 'literal'>;
|
|
335
|
+
type DayPeriod = 'AM' | 'PM' | null;
|
|
336
|
+
type DateSegmentObj = {
|
|
337
|
+
[K in DateSegmentPart]: number | null;
|
|
338
|
+
};
|
|
339
|
+
type TimeSegmentObj = {
|
|
340
|
+
[K in TimeSegmentPart]: K extends 'dayPeriod' ? DayPeriod : number | null;
|
|
341
|
+
};
|
|
342
|
+
type DateAndTimeSegmentObj = DateSegmentObj & TimeSegmentObj;
|
|
343
|
+
type SegmentValueObj = DateSegmentObj | DateAndTimeSegmentObj;
|
|
344
|
+
type SegmentContentObj = Record<EditableSegmentPart, string>;
|
|
345
|
+
|
|
346
|
+
type CreateMonthProps = {
|
|
347
|
+
/**
|
|
348
|
+
* The date object representing the month's date (usually the first day of the month).
|
|
349
|
+
*/
|
|
350
|
+
dateObj: DateValue;
|
|
351
|
+
/**
|
|
352
|
+
* The day of the week to start the calendar on (0 for Sunday, 1 for Monday, etc.).
|
|
353
|
+
*/
|
|
354
|
+
weekStartsOn: number;
|
|
355
|
+
/**
|
|
356
|
+
* Whether to always render 6 weeks in the calendar, even if the month doesn't
|
|
357
|
+
* span 6 weeks.
|
|
358
|
+
*/
|
|
359
|
+
fixedWeeks: boolean;
|
|
360
|
+
/**
|
|
361
|
+
* The locale to use when creating the calendar month.
|
|
362
|
+
*/
|
|
363
|
+
locale: string;
|
|
364
|
+
};
|
|
365
|
+
/**
|
|
366
|
+
* Retrieves an array of date values representing the days between
|
|
367
|
+
* the provided start and end dates.
|
|
368
|
+
*/
|
|
369
|
+
declare function getDaysBetween(start: DateValue, end: DateValue): DateValue[];
|
|
370
|
+
declare function createMonth(props: CreateMonthProps): Month<DateValue>;
|
|
371
|
+
type SetMonthProps = CreateMonthProps & {
|
|
372
|
+
numberOfMonths: number | undefined;
|
|
373
|
+
currentMonths?: Month<DateValue>[];
|
|
374
|
+
};
|
|
375
|
+
declare function createMonths(props: SetMonthProps): Month<DateValue>[];
|
|
376
|
+
/**
|
|
377
|
+
* Returns the locale-specific week number
|
|
378
|
+
*/
|
|
379
|
+
declare function getWeekNumber(date: DateValue, locale?: string, firstDayOfWeek?: DayOfWeek): number;
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Given a `DateValue` object, convert it to a native `Date` object.
|
|
383
|
+
* If a timezone is provided, the date will be converted to that timezone.
|
|
384
|
+
* If no timezone is provided, the date will be converted to the local timezone.
|
|
385
|
+
*/
|
|
386
|
+
declare function toDate(dateValue: DateValue, tz?: string): Date;
|
|
387
|
+
declare function isCalendarDateTime(dateValue: DateValue): dateValue is CalendarDateTime;
|
|
388
|
+
declare function isZonedDateTime(dateValue: DateValue): dateValue is ZonedDateTime;
|
|
389
|
+
declare function hasTime(dateValue: DateValue): dateValue is CalendarDateTime | ZonedDateTime;
|
|
390
|
+
/**
|
|
391
|
+
* Given a date, return the number of days in the month.
|
|
392
|
+
*/
|
|
393
|
+
declare function getDaysInMonth(date: Date | DateValue): number;
|
|
394
|
+
/**
|
|
395
|
+
* Determine if a date is before the reference date.
|
|
396
|
+
* @param dateToCompare - is this date before the `referenceDate`
|
|
397
|
+
* @param referenceDate - is the `dateToCompare` before this date
|
|
398
|
+
*
|
|
399
|
+
* @see {@link isBeforeOrSame} for inclusive
|
|
400
|
+
*/
|
|
401
|
+
declare function isBefore(dateToCompare: DateValue, referenceDate: DateValue): boolean;
|
|
402
|
+
/**
|
|
403
|
+
* Determine if a date is after the reference date.
|
|
404
|
+
* @param dateToCompare - is this date after the `referenceDate`
|
|
405
|
+
* @param referenceDate - is the `dateToCompare` after this date
|
|
406
|
+
*
|
|
407
|
+
* @see {@link isAfterOrSame} for inclusive
|
|
408
|
+
*/
|
|
409
|
+
declare function isAfter(dateToCompare: DateValue, referenceDate: DateValue): boolean;
|
|
410
|
+
/**
|
|
411
|
+
* Determine if a date is before or the same as the reference date.
|
|
412
|
+
*
|
|
413
|
+
* @param dateToCompare - the date to compare
|
|
414
|
+
* @param referenceDate - the reference date to make the comparison against
|
|
415
|
+
*
|
|
416
|
+
* @see {@link isBefore} for non-inclusive
|
|
417
|
+
*/
|
|
418
|
+
declare function isBeforeOrSame(dateToCompare: DateValue, referenceDate: DateValue): boolean;
|
|
419
|
+
/**
|
|
420
|
+
* Determine if a date is after or the same as the reference date.
|
|
421
|
+
*
|
|
422
|
+
* @param dateToCompare - is this date after or the same as the `referenceDate`
|
|
423
|
+
* @param referenceDate - is the `dateToCompare` after or the same as this date
|
|
424
|
+
*
|
|
425
|
+
* @see {@link isAfter} for non-inclusive
|
|
426
|
+
*/
|
|
427
|
+
declare function isAfterOrSame(dateToCompare: DateValue, referenceDate: DateValue): boolean;
|
|
428
|
+
/**
|
|
429
|
+
* Determine if a date is inclusively between a start and end reference date.
|
|
430
|
+
*
|
|
431
|
+
* @param date - is this date inclusively between the `start` and `end` dates
|
|
432
|
+
* @param start - the start reference date to make the comparison against
|
|
433
|
+
* @param end - the end reference date to make the comparison against
|
|
434
|
+
*
|
|
435
|
+
* @see {@link isBetween} for non-inclusive
|
|
436
|
+
*/
|
|
437
|
+
declare function isBetweenInclusive(date: DateValue, start: DateValue, end: DateValue): boolean;
|
|
438
|
+
/**
|
|
439
|
+
* Determine if a date is between a start and end reference date.
|
|
440
|
+
*
|
|
441
|
+
* @param date - is this date between the `start` and `end` dates
|
|
442
|
+
* @param start - the start reference date to make the comparison against
|
|
443
|
+
* @param end - the end reference date to make the comparison against
|
|
444
|
+
*
|
|
445
|
+
* @see {@link isBetweenInclusive} for inclusive
|
|
446
|
+
*/
|
|
447
|
+
declare function isBetween(date: DateValue, start: DateValue, end: DateValue): boolean;
|
|
448
|
+
declare function getLastFirstDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T;
|
|
449
|
+
declare function getNextLastDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T;
|
|
450
|
+
declare function areAllDaysBetweenValid(start: DateValue, end: DateValue, isUnavailable: DateMatcher | undefined, isDisabled: DateMatcher | undefined): boolean;
|
|
451
|
+
type TimeValue = Time | CalendarDateTime | ZonedDateTime;
|
|
452
|
+
type Granularity = 'day' | 'hour' | 'minute' | 'second';
|
|
453
|
+
type TimeGranularity = 'hour' | 'minute' | 'second';
|
|
454
|
+
type GetDefaultDateProps = {
|
|
455
|
+
defaultValue?: DateValue | DateValue[] | undefined;
|
|
456
|
+
defaultPlaceholder?: DateValue | undefined;
|
|
457
|
+
granularity?: Granularity;
|
|
458
|
+
locale?: string;
|
|
459
|
+
};
|
|
460
|
+
/**
|
|
461
|
+
* A helper function used throughout the various date builders
|
|
462
|
+
* to generate a default `DateValue` using the `defaultValue`,
|
|
463
|
+
* `defaultPlaceholder`, and `granularity` props.
|
|
464
|
+
*
|
|
465
|
+
* It's important to match the `DateValue` type being used
|
|
466
|
+
* elsewhere in the builder, so they behave according to the
|
|
467
|
+
* behavior the user expects based on the props they've provided.
|
|
468
|
+
*
|
|
469
|
+
*/
|
|
470
|
+
declare function getDefaultDate(props: GetDefaultDateProps): DateValue;
|
|
471
|
+
type GetDefaultTimeProps = {
|
|
472
|
+
defaultValue?: TimeValue | undefined;
|
|
473
|
+
defaultPlaceholder?: TimeValue | undefined;
|
|
474
|
+
};
|
|
475
|
+
declare function getDefaultTime(props: GetDefaultTimeProps): TimeValue;
|
|
476
|
+
|
|
477
|
+
interface DateFormatterOptions extends Intl.DateTimeFormatOptions {
|
|
478
|
+
calendar?: string;
|
|
479
|
+
}
|
|
480
|
+
type Formatter = {
|
|
481
|
+
getLocale: () => string;
|
|
482
|
+
setLocale: (newLocale: string) => void;
|
|
483
|
+
custom: (date: Date, options: DateFormatterOptions) => string;
|
|
484
|
+
selectedDate: (date: DateValue, includeTime?: boolean) => string;
|
|
485
|
+
dayOfWeek: (date: Date, length?: DateFormatterOptions['weekday']) => string;
|
|
486
|
+
fullMonthAndYear: (date: Date, options?: DateFormatterOptions) => string;
|
|
487
|
+
fullMonth: (date: Date, options?: DateFormatterOptions) => string;
|
|
488
|
+
fullYear: (date: Date, options?: DateFormatterOptions) => string;
|
|
489
|
+
dayPeriod: (date: Date) => string;
|
|
490
|
+
part: (dateObj: DateValue, type: Intl.DateTimeFormatPartTypes, options?: DateFormatterOptions) => string;
|
|
491
|
+
toParts: (date: DateValue, options?: DateFormatterOptions) => Intl.DateTimeFormatPart[];
|
|
492
|
+
getMonths: () => {
|
|
493
|
+
label: string;
|
|
494
|
+
value: number;
|
|
495
|
+
}[];
|
|
496
|
+
};
|
|
497
|
+
/**
|
|
498
|
+
* Creates a wrapper around the `DateFormatter`, which is
|
|
499
|
+
* an improved version of the {@link Intl.DateTimeFormat} API,
|
|
500
|
+
* that is used internally by the various date builders to
|
|
501
|
+
* easily format dates in a consistent way.
|
|
502
|
+
*
|
|
503
|
+
* @see [DateFormatter](https://react-spectrum.adobe.com/internationalized/date/DateFormatter.html)
|
|
504
|
+
*/
|
|
505
|
+
declare function createFormatter(initialLocale: string, opts?: DateFormatterOptions): Formatter;
|
|
506
|
+
|
|
507
|
+
type SyncDateSegmentValuesProps = {
|
|
508
|
+
value: DateValue;
|
|
509
|
+
formatter: Formatter;
|
|
510
|
+
};
|
|
511
|
+
type SyncTimeSegmentValuesProps = {
|
|
512
|
+
value: DateValue;
|
|
513
|
+
formatter: Formatter;
|
|
514
|
+
};
|
|
515
|
+
declare function syncTimeSegmentValues(props: SyncTimeSegmentValuesProps): SegmentValueObj;
|
|
516
|
+
declare function initializeSegmentValues(granularity: Granularity): SegmentValueObj;
|
|
517
|
+
type SharedContentProps = {
|
|
518
|
+
granularity: Granularity;
|
|
519
|
+
dateRef: DateValue;
|
|
520
|
+
formatter: Formatter;
|
|
521
|
+
hideTimeZone: boolean;
|
|
522
|
+
hourCycle: HourCycle;
|
|
523
|
+
isTimeValue?: boolean;
|
|
524
|
+
};
|
|
525
|
+
type CreateContentObjProps = SharedContentProps & {
|
|
526
|
+
segmentValues: SegmentValueObj;
|
|
527
|
+
locale: InputSignal<string>;
|
|
528
|
+
};
|
|
529
|
+
declare function syncSegmentValues(props: SyncDateSegmentValuesProps): SegmentValueObj;
|
|
530
|
+
type CreateContentProps = CreateContentObjProps;
|
|
531
|
+
declare function createContent(props: CreateContentProps): {
|
|
532
|
+
obj: SegmentContentObj;
|
|
533
|
+
arr: {
|
|
534
|
+
part: SegmentPart;
|
|
535
|
+
value: string;
|
|
536
|
+
}[];
|
|
537
|
+
};
|
|
538
|
+
|
|
539
|
+
declare const supportedLocales: readonly ["ach", "af", "am", "an", "ar", "ast", "az", "be", "bg", "bn", "br", "bs", "ca", "cak", "ckb", "cs", "cy", "da", "de", "dsb", "el", "en", "eo", "es", "et", "eu", "fa", "ff", "fi", "fr", "fy", "ga", "gd", "gl", "he", "hr", "hsb", "hu", "ia", "id", "it", "ja", "ka", "kk", "kn", "ko", "lb", "lo", "lt", "lv", "meh", "ml", "ms", "nl", "nn", "no", "oc", "pl", "pt", "rm", "ro", "ru", "sc", "scn", "sk", "sl", "sr", "sv", "szl", "tg", "th", "tr", "uk", "zh-CN", "zh-TW"];
|
|
540
|
+
declare const placeholderFields: readonly ["year", "month", "day"];
|
|
541
|
+
type SupportedLocale = (typeof supportedLocales)[number];
|
|
542
|
+
type PlaceholderField = (typeof placeholderFields)[number];
|
|
543
|
+
type PlaceholderMap = Record<SupportedLocale, Record<PlaceholderField, string>>;
|
|
544
|
+
type Field = 'era' | 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'dayPeriod';
|
|
545
|
+
declare function getPlaceholder(field: Field, value: string, locale: SupportedLocale | (string & {})): string;
|
|
546
|
+
|
|
547
|
+
declare function isSegmentNavigationKey(key: string): boolean;
|
|
548
|
+
declare function isNumberString(value: string): boolean;
|
|
549
|
+
declare function isAcceptableSegmentKey(key: string): boolean;
|
|
550
|
+
declare function getSegmentElements(parentElement: HTMLElement): Element[];
|
|
551
|
+
|
|
552
|
+
type UseDateFieldProps = {
|
|
553
|
+
hasLeftFocus: WritableSignal<boolean>;
|
|
554
|
+
lastKeyZero: WritableSignal<boolean>;
|
|
555
|
+
placeholder: ModelSignal<DateValue> | WritableSignal<DateValue>;
|
|
556
|
+
hourCycle: HourCycle;
|
|
557
|
+
formatter: Formatter;
|
|
558
|
+
segmentValues: WritableSignal<SegmentValueObj>;
|
|
559
|
+
step: Signal<DateStep>;
|
|
560
|
+
disabled: InputSignal<boolean>;
|
|
561
|
+
readonly: InputSignal<boolean>;
|
|
562
|
+
part: SegmentPart;
|
|
563
|
+
modelValue: ModelSignal<DateValue | undefined> | WritableSignal<DateValue | undefined>;
|
|
564
|
+
focusNext: () => void;
|
|
565
|
+
};
|
|
566
|
+
type SegmentAttrProps = {
|
|
567
|
+
disabled: boolean;
|
|
568
|
+
segmentValues: SegmentValueObj;
|
|
569
|
+
hourCycle: HourCycle;
|
|
570
|
+
placeholder: DateValue;
|
|
571
|
+
formatter: Formatter;
|
|
572
|
+
};
|
|
573
|
+
declare function daySegmentAttrs(props: SegmentAttrProps): {
|
|
574
|
+
'aria-label': string;
|
|
575
|
+
'aria-valuemin': number;
|
|
576
|
+
'aria-valuemax': number;
|
|
577
|
+
'aria-valuenow': number;
|
|
578
|
+
'aria-valuetext': string;
|
|
579
|
+
'data-placeholder': string | undefined;
|
|
580
|
+
role: string;
|
|
581
|
+
contenteditable: boolean;
|
|
582
|
+
tabindex: number | undefined;
|
|
583
|
+
spellcheck: boolean;
|
|
584
|
+
inputmode: string;
|
|
585
|
+
autocorrect: string;
|
|
586
|
+
enterkeyhint: string;
|
|
587
|
+
style: string;
|
|
588
|
+
};
|
|
589
|
+
declare function monthSegmentAttrs(props: SegmentAttrProps): {
|
|
590
|
+
'aria-label': string;
|
|
591
|
+
contenteditable: boolean;
|
|
592
|
+
'aria-valuemin': number;
|
|
593
|
+
'aria-valuemax': number;
|
|
594
|
+
'aria-valuenow': number;
|
|
595
|
+
'aria-valuetext': string;
|
|
596
|
+
'data-placeholder': string | undefined;
|
|
597
|
+
role: string;
|
|
598
|
+
tabindex: number | undefined;
|
|
599
|
+
spellcheck: boolean;
|
|
600
|
+
inputmode: string;
|
|
601
|
+
autocorrect: string;
|
|
602
|
+
enterkeyhint: string;
|
|
603
|
+
style: string;
|
|
604
|
+
};
|
|
605
|
+
declare function yearSegmentAttrs(props: SegmentAttrProps): {
|
|
606
|
+
'aria-label': string;
|
|
607
|
+
'aria-valuemin': number;
|
|
608
|
+
'aria-valuemax': number;
|
|
609
|
+
'aria-valuenow': number;
|
|
610
|
+
'aria-valuetext': string;
|
|
611
|
+
'data-placeholder': string | undefined;
|
|
612
|
+
role: string;
|
|
613
|
+
contenteditable: boolean;
|
|
614
|
+
tabindex: number | undefined;
|
|
615
|
+
spellcheck: boolean;
|
|
616
|
+
inputmode: string;
|
|
617
|
+
autocorrect: string;
|
|
618
|
+
enterkeyhint: string;
|
|
619
|
+
style: string;
|
|
620
|
+
};
|
|
621
|
+
declare function hourSegmentAttrs(props: SegmentAttrProps): {};
|
|
622
|
+
declare function minuteSegmentAttrs(props: SegmentAttrProps): {};
|
|
623
|
+
declare function secondSegmentAttrs(props: SegmentAttrProps): {};
|
|
624
|
+
declare function dayPeriodSegmentAttrs(props: SegmentAttrProps): {};
|
|
625
|
+
declare function literalSegmentAttrs(_props: SegmentAttrProps): {
|
|
626
|
+
'aria-hidden': boolean;
|
|
627
|
+
'data-segment': string;
|
|
628
|
+
};
|
|
629
|
+
declare function timeZoneSegmentAttrs(props: SegmentAttrProps): {
|
|
630
|
+
role: string;
|
|
631
|
+
'aria-label': string;
|
|
632
|
+
'data-readonly': boolean;
|
|
633
|
+
'data-segment': string;
|
|
634
|
+
tabindex: number | undefined;
|
|
635
|
+
style: string;
|
|
636
|
+
};
|
|
637
|
+
declare function eraSegmentAttrs(props: SegmentAttrProps): {
|
|
638
|
+
'aria-label': string;
|
|
639
|
+
'aria-valuemin': number;
|
|
640
|
+
'aria-valuemax': number;
|
|
641
|
+
'aria-valuenow': number;
|
|
642
|
+
'aria-valuetext': unknown;
|
|
643
|
+
role: string;
|
|
644
|
+
contenteditable: boolean;
|
|
645
|
+
tabindex: number | undefined;
|
|
646
|
+
spellcheck: boolean;
|
|
647
|
+
inputmode: string;
|
|
648
|
+
autocorrect: string;
|
|
649
|
+
enterkeyhint: string;
|
|
650
|
+
style: string;
|
|
651
|
+
};
|
|
652
|
+
declare const segmentBuilders: {
|
|
653
|
+
day: {
|
|
654
|
+
attrs: typeof daySegmentAttrs;
|
|
655
|
+
};
|
|
656
|
+
month: {
|
|
657
|
+
attrs: typeof monthSegmentAttrs;
|
|
658
|
+
};
|
|
659
|
+
year: {
|
|
660
|
+
attrs: typeof yearSegmentAttrs;
|
|
661
|
+
};
|
|
662
|
+
hour: {
|
|
663
|
+
attrs: typeof hourSegmentAttrs;
|
|
664
|
+
};
|
|
665
|
+
minute: {
|
|
666
|
+
attrs: typeof minuteSegmentAttrs;
|
|
667
|
+
};
|
|
668
|
+
second: {
|
|
669
|
+
attrs: typeof secondSegmentAttrs;
|
|
670
|
+
};
|
|
671
|
+
dayPeriod: {
|
|
672
|
+
attrs: typeof dayPeriodSegmentAttrs;
|
|
673
|
+
};
|
|
674
|
+
literal: {
|
|
675
|
+
attrs: typeof literalSegmentAttrs;
|
|
676
|
+
};
|
|
677
|
+
timeZoneName: {
|
|
678
|
+
attrs: typeof timeZoneSegmentAttrs;
|
|
679
|
+
};
|
|
680
|
+
era: {
|
|
681
|
+
attrs: typeof eraSegmentAttrs;
|
|
682
|
+
};
|
|
683
|
+
};
|
|
684
|
+
declare function useDateField(props: UseDateFieldProps): {
|
|
685
|
+
handleSegmentClick: (e: MouseEvent) => void;
|
|
686
|
+
handleSegmentKeydown: (e: KeyboardEvent) => void;
|
|
687
|
+
attributes: Signal<{}>;
|
|
688
|
+
};
|
|
689
|
+
|
|
690
|
+
declare function getOptsByGranularity(granularity: Granularity, hourCycle: HourCycle, isTimeValue?: boolean): Intl.DateTimeFormatOptions;
|
|
691
|
+
declare function normalizeDateStep(step?: DateStep): DateStep;
|
|
692
|
+
declare function handleCalendarInitialFocus(calendar: HTMLElement): void;
|
|
693
|
+
declare function normalizeHourCycle(hourCycle: HourCycle): "h11" | "h23" | undefined;
|
|
694
|
+
declare function normalizeHour12(hourCycle: HourCycle): boolean | undefined;
|
|
695
|
+
|
|
696
|
+
declare enum RdxPositionSide {
|
|
697
|
+
Top = "top",
|
|
698
|
+
Right = "right",
|
|
699
|
+
Bottom = "bottom",
|
|
700
|
+
Left = "left"
|
|
701
|
+
}
|
|
702
|
+
declare enum RdxPositionAlign {
|
|
703
|
+
Start = "start",
|
|
704
|
+
Center = "center",
|
|
705
|
+
End = "end"
|
|
706
|
+
}
|
|
707
|
+
type RdxPositionSideAndAlign = {
|
|
708
|
+
side: RdxPositionSide;
|
|
709
|
+
align: RdxPositionAlign;
|
|
710
|
+
};
|
|
711
|
+
type RdxPositionSideAndAlignOffsets = {
|
|
712
|
+
sideOffset: number;
|
|
713
|
+
alignOffset: number;
|
|
714
|
+
};
|
|
715
|
+
type RdxPositions = Readonly<{
|
|
716
|
+
[key in RdxPositionSide]: Readonly<{
|
|
717
|
+
[key in RdxPositionAlign]: Readonly<ConnectionPositionPair>;
|
|
718
|
+
}>;
|
|
719
|
+
}>;
|
|
720
|
+
type RdxPositioningDefaults = Readonly<{
|
|
721
|
+
offsets: Readonly<{
|
|
722
|
+
side: number;
|
|
723
|
+
align: number;
|
|
724
|
+
}>;
|
|
725
|
+
arrow: Readonly<{
|
|
726
|
+
width: number;
|
|
727
|
+
height: number;
|
|
728
|
+
}>;
|
|
729
|
+
}>;
|
|
730
|
+
type RdxAllPossibleConnectedPositions = ReadonlyMap<`${RdxPositionSide}|${RdxPositionAlign}`, ConnectionPositionPair>;
|
|
731
|
+
type RdxArrowPositionParams = {
|
|
732
|
+
top: string;
|
|
733
|
+
left: string;
|
|
734
|
+
transform: string;
|
|
735
|
+
transformOrigin: string;
|
|
736
|
+
};
|
|
737
|
+
|
|
738
|
+
declare const RDX_POSITIONS: RdxPositions;
|
|
739
|
+
declare const RDX_POSITIONING_DEFAULTS: RdxPositioningDefaults;
|
|
740
|
+
|
|
741
|
+
declare function getContentPosition(sideAndAlignWithOffsets: RdxPositionSideAndAlign & RdxPositionSideAndAlignOffsets): ConnectedPosition;
|
|
742
|
+
declare function getAllPossibleConnectedPositions(): RdxAllPossibleConnectedPositions;
|
|
743
|
+
declare function getSideAndAlignFromAllPossibleConnectedPositions(position: ConnectionPositionPair): RdxPositionSideAndAlign;
|
|
744
|
+
declare function getArrowPositionParams(sideAndAlign: RdxPositionSideAndAlign, arrowWidthAndHeight: {
|
|
745
|
+
width: number;
|
|
746
|
+
height: number;
|
|
747
|
+
}, triggerWidthAndHeight: {
|
|
748
|
+
width: number;
|
|
749
|
+
height: number;
|
|
750
|
+
}): RdxArrowPositionParams;
|
|
751
|
+
|
|
752
|
+
type DataOrientation = 'vertical' | 'horizontal';
|
|
753
|
+
/**
|
|
754
|
+
* Nullable from `Type` adds `null` and `undefined`
|
|
755
|
+
*
|
|
756
|
+
* @example ```ts
|
|
757
|
+
* // Expect: string | number | undefined | null
|
|
758
|
+
* type Value = Nulling<string | number>;
|
|
759
|
+
* ```
|
|
760
|
+
*/
|
|
761
|
+
type Nullable<Type> = null | Type | undefined;
|
|
762
|
+
/**
|
|
763
|
+
* SafeFunction is a type for functions that accept any number of arguments of unknown types
|
|
764
|
+
* and return a value of an unknown type. This is useful when you want to define a function
|
|
765
|
+
* without being strict about the input or output types, maintaining flexibility.
|
|
766
|
+
*
|
|
767
|
+
* @example ```ts
|
|
768
|
+
* const safeFn: SafeFunction = (...args) => {
|
|
769
|
+
* return args.length > 0 ? args[0] : null;
|
|
770
|
+
* };
|
|
771
|
+
*
|
|
772
|
+
* const result = safeFn(1, 'hello'); // result: 1
|
|
773
|
+
* ```
|
|
774
|
+
*/
|
|
775
|
+
type SafeFunction = (...args: unknown[]) => unknown;
|
|
776
|
+
type AcceptableValue = string | number | Record<string, any> | null;
|
|
777
|
+
|
|
778
|
+
type ArrowKeyOptions = 'horizontal' | 'vertical' | 'both';
|
|
779
|
+
interface ArrowNavigationOptions {
|
|
780
|
+
/**
|
|
781
|
+
* The arrow key options to allow navigation
|
|
782
|
+
*
|
|
783
|
+
* @defaultValue "both"
|
|
784
|
+
*/
|
|
785
|
+
arrowKeyOptions?: ArrowKeyOptions;
|
|
786
|
+
/**
|
|
787
|
+
* The attribute name to find the collection items in the parent element.
|
|
788
|
+
*
|
|
789
|
+
* @defaultValue "data-rdx-collection-item"
|
|
790
|
+
*/
|
|
791
|
+
attributeName?: string;
|
|
792
|
+
/**
|
|
793
|
+
* The parent element where contains all the collection items, this will collect every item to be used when nav
|
|
794
|
+
* It will be ignored if attributeName is provided
|
|
795
|
+
*
|
|
796
|
+
* @defaultValue []
|
|
797
|
+
*/
|
|
798
|
+
itemsArray?: HTMLElement[];
|
|
799
|
+
/**
|
|
800
|
+
* Allow loop navigation. If false, it will stop at the first and last element
|
|
801
|
+
*
|
|
802
|
+
* @defaultValue true
|
|
803
|
+
*/
|
|
804
|
+
loop?: boolean;
|
|
805
|
+
/**
|
|
806
|
+
* The orientation of the collection
|
|
807
|
+
*
|
|
808
|
+
* @defaultValue "ltr"
|
|
809
|
+
*/
|
|
810
|
+
dir?: Direction;
|
|
811
|
+
/**
|
|
812
|
+
* Prevent the scroll when navigating. This happens when the direction of the
|
|
813
|
+
* key matches the scroll direction of any ancestor scrollable elements.
|
|
814
|
+
*
|
|
815
|
+
* @defaultValue true
|
|
816
|
+
*/
|
|
817
|
+
preventScroll?: boolean;
|
|
818
|
+
/**
|
|
819
|
+
* By default all currentElement would trigger navigation. If `true`, currentElement nodeName in the ignore list will return null
|
|
820
|
+
*
|
|
821
|
+
* @defaultValue false
|
|
822
|
+
*/
|
|
823
|
+
enableIgnoredElement?: boolean;
|
|
824
|
+
/**
|
|
825
|
+
* Focus the element after navigation
|
|
826
|
+
*
|
|
827
|
+
* @defaultValue false
|
|
828
|
+
*/
|
|
829
|
+
focus?: boolean;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* Allow arrow navigation for every html element with data-rdx-collection-item tag
|
|
833
|
+
*
|
|
834
|
+
* @param e Keyboard event
|
|
835
|
+
* @param currentElement Event initiator element or any element that wants to handle the navigation
|
|
836
|
+
* @param parentElement Parent element where contains all the collection items, this will collect every item to be used when nav
|
|
837
|
+
* @param options further options
|
|
838
|
+
* @returns the navigated html element or null if none
|
|
839
|
+
*/
|
|
840
|
+
declare function useArrowNavigation(e: KeyboardEvent, currentElement: HTMLElement, parentElement: HTMLElement | undefined, options?: ArrowNavigationOptions): HTMLElement | null;
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* Creates a resize observer effect for element
|
|
844
|
+
*
|
|
845
|
+
* @param options Configuration options
|
|
846
|
+
* @param options.injector Angular injector
|
|
847
|
+
* @param options.element Signal returning the element to observe
|
|
848
|
+
* @param options.onResize Callback when element is resized
|
|
849
|
+
* @returns EffectRef that can be destroyed when needed
|
|
850
|
+
*/
|
|
851
|
+
declare function resizeEffect(options: {
|
|
852
|
+
injector: Injector;
|
|
853
|
+
element: Signal<ElementRef | HTMLElement | null | undefined>;
|
|
854
|
+
onResize: ResizeObserverCallback;
|
|
855
|
+
}): EffectRef;
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* We want to have the Tuple in order to use the types in the function signature
|
|
859
|
+
*/
|
|
860
|
+
type ExplicitEffectValues<T> = {
|
|
861
|
+
[K in keyof T]: () => T[K];
|
|
862
|
+
};
|
|
863
|
+
/**
|
|
864
|
+
* Extend the regular set of effect options
|
|
865
|
+
*/
|
|
866
|
+
declare interface CreateExplicitEffectOptions extends CreateEffectOptions {
|
|
867
|
+
/**
|
|
868
|
+
* Option that allows the computation not to execute immediately, but only run on first change.
|
|
869
|
+
*/
|
|
870
|
+
defer?: boolean;
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* This explicit effect function will take the dependencies and the function to run when the dependencies change.
|
|
874
|
+
*
|
|
875
|
+
* @example
|
|
876
|
+
* ```typescript
|
|
877
|
+
* import { watch } from 'radix-ng/primitives/core';
|
|
878
|
+
*
|
|
879
|
+
* const count = signal(0);
|
|
880
|
+
* const state = signal('idle');
|
|
881
|
+
*
|
|
882
|
+
* watch([count, state], ([count, state], cleanup) => {
|
|
883
|
+
* console.log('count updated', count, state);
|
|
884
|
+
*
|
|
885
|
+
* cleanup(() => {
|
|
886
|
+
* console.log('cleanup');
|
|
887
|
+
* });
|
|
888
|
+
* });
|
|
889
|
+
* ```
|
|
890
|
+
*
|
|
891
|
+
* @param deps - The dependencies that the effect will run on
|
|
892
|
+
* @param fn - The function to run when the dependencies change
|
|
893
|
+
* @param options - The options for the effect with the addition of defer (it allows the computation to run on first change, not immediately)
|
|
894
|
+
*/
|
|
895
|
+
declare function watch<Input extends readonly unknown[], Params = Input>(deps: readonly [...ExplicitEffectValues<Input>], fn: (deps: Params, onCleanup: EffectCleanupRegisterFn) => void, options?: CreateExplicitEffectOptions | undefined): EffectRef;
|
|
896
|
+
|
|
897
|
+
export { A, ALT, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, ASTERISK, BACKSPACE, CAPS_LOCK, CONTROL, CTRL, DELETE, END, ENTER, ESCAPE, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, HOME, META, P, PAGE_DOWN, PAGE_UP, RDX_POSITIONING_DEFAULTS, RDX_POSITIONS, RdxAutoFocusDirective, RdxControlValueAccessor, RdxFocusInitialDirective, RdxPositionAlign, RdxPositionSide, SHIFT, SPACE, SPACE_CODE, TAB, WINDOW, _IdGenerator, a, areAllDaysBetweenValid, clamp, createContent, createContext, createFormatter, createMonth, createMonths, elementSize, getActiveElement, getAllPossibleConnectedPositions, getArrowPositionParams, getContentPosition, getDaysBetween, getDaysInMonth, getDefaultDate, getDefaultTime, getLastFirstDayOfWeek, getNextLastDayOfWeek, getOptsByGranularity, getPlaceholder, getSegmentElements, getSideAndAlignFromAllPossibleConnectedPositions, getWeekNumber, handleCalendarInitialFocus, hasTime, initializeSegmentValues, injectControlValueAccessor, injectDocument, injectIsClient, injectNgControl, injectWindow, isAcceptableSegmentKey, isAfter, isAfterOrSame, isBefore, isBeforeOrSame, isBetween, isBetweenInclusive, isCalendarDateTime, isEqual, isInsideForm, isNullish, isNumber, isNumberString, isSegmentNavigationKey, isValueEqualOrExist, isZonedDateTime, j, k, n, normalizeDateStep, normalizeHour12, normalizeHourCycle, p, provideToken, provideValueAccessor, resizeEffect, roundToStepPrecision, segmentBuilders, snapValueToStep, syncSegmentValues, syncTimeSegmentValues, toDate, useArrowNavigation, useDateField, watch };
|
|
898
|
+
export type { AcceptableValue, AnyExceptLiteral, CreateMonthProps, DataOrientation, DateAndTimeSegmentObj, DateFormatterOptions, DateMatcher, DateRange, DateSegmentObj, DateSegmentPart, DateStep, DayPeriod, EditableSegmentPart, Formatter, Granularity, HourCycle, Month, NonEditableSegmentPart, Nullable, PlaceholderMap, RdxAllPossibleConnectedPositions, RdxArrowPositionParams, RdxPositionSideAndAlign, RdxPositionSideAndAlignOffsets, RdxPositioningDefaults, RdxPositions, SafeFunction, SegmentContentObj, SegmentPart, SegmentValueObj, TimeGranularity, TimeSegmentObj, TimeSegmentPart, TimeValue, UseDateFieldProps };
|