@radix-ng/primitives 0.35.0 → 0.36.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.
@@ -0,0 +1,24 @@
1
+ import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
2
+ import { InjectionToken, InputSignal, InputSignalWithTransform, ModelSignal, Signal } from '@angular/core';
3
+ import { InputMode } from './types';
4
+ export interface NumberFieldContextToken {
5
+ value: ModelSignal<number | undefined>;
6
+ locale: InputSignal<string>;
7
+ inputMode: Signal<InputMode>;
8
+ textValue: Signal<any>;
9
+ max: InputSignalWithTransform<number | undefined, NumberInput>;
10
+ min: InputSignalWithTransform<number | undefined, NumberInput>;
11
+ onInputElement: (el: HTMLInputElement) => void;
12
+ disabled: InputSignalWithTransform<boolean, BooleanInput>;
13
+ disableWheelChange: InputSignalWithTransform<boolean, BooleanInput>;
14
+ handleIncrease: (multiplier?: number) => void;
15
+ handleDecrease: (multiplier?: number) => void;
16
+ applyInputValue: (val: string) => void;
17
+ validate: (val: string) => boolean;
18
+ setInputValue: (val: string) => void;
19
+ isIncreaseDisabled: Signal<boolean>;
20
+ isDecreaseDisabled: Signal<boolean>;
21
+ handleMinMaxValue: (type: 'min' | 'max') => void;
22
+ }
23
+ export declare const NUMBER_FIELD_ROOT_CONTEXT: InjectionToken<NumberFieldContextToken>;
24
+ export declare function injectNumberFieldRootContext(): NumberFieldContextToken;
@@ -0,0 +1,23 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { OnInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RdxNumberFieldDecrementDirective implements OnInit {
5
+ private readonly elementRef;
6
+ private readonly pressedHold;
7
+ protected readonly rootContext: import("./number-field-context.token").NumberFieldContextToken;
8
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
9
+ /**
10
+ * @ignore
11
+ */
12
+ readonly isDisabled: import("@angular/core").Signal<boolean>;
13
+ /**
14
+ * @ignore
15
+ */
16
+ readonly useHold: {
17
+ isPressed: import("@angular/core").Signal<boolean>;
18
+ onTrigger: (fn: () => void) => void;
19
+ };
20
+ ngOnInit(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxNumberFieldDecrementDirective, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxNumberFieldDecrementDirective, "button[rdxNumberFieldDecrement]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,23 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import { OnInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RdxNumberFieldIncrementDirective implements OnInit {
5
+ private readonly elementRef;
6
+ private readonly pressedHold;
7
+ protected readonly rootContext: import("./number-field-context.token").NumberFieldContextToken;
8
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
9
+ /**
10
+ * @ignore
11
+ */
12
+ readonly isDisabled: import("@angular/core").Signal<boolean>;
13
+ /**
14
+ * @ignore
15
+ */
16
+ readonly useHold: {
17
+ isPressed: import("@angular/core").Signal<boolean>;
18
+ onTrigger: (fn: () => void) => void;
19
+ };
20
+ ngOnInit(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxNumberFieldIncrementDirective, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxNumberFieldIncrementDirective, "button[rdxNumberFieldIncrement]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,22 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class RdxNumberFieldInputDirective implements OnInit {
4
+ private readonly elementRef;
5
+ protected readonly rootContext: import("./number-field-context.token").NumberFieldContextToken;
6
+ readonly inputValue: import("@angular/core").WritableSignal<any>;
7
+ constructor();
8
+ ngOnInit(): void;
9
+ onBeforeInput(event: InputEvent): void;
10
+ onWheelEvent(event: WheelEvent): void;
11
+ onKeydownPageUp(event: KeyboardEvent): void;
12
+ onKeydownPageDown(event: KeyboardEvent): void;
13
+ onKeydownHome(event: KeyboardEvent): void;
14
+ onKeydownEnd(event: KeyboardEvent): void;
15
+ onInput(event: InputEvent): void;
16
+ onChange(): void;
17
+ onKeydownEnter(event: KeyboardEvent): void;
18
+ onKeydownUp(event: KeyboardEvent): void;
19
+ onKeydownDown(event: KeyboardEvent): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxNumberFieldInputDirective, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxNumberFieldInputDirective, "input[rdxNumberFieldInput]", never, {}, {}, never, never, true, never>;
22
+ }
@@ -0,0 +1,86 @@
1
+ import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
2
+ import { OnInit } from '@angular/core';
3
+ import { NumberFieldContextToken } from './number-field-context.token';
4
+ import { InputMode } from './types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class RdxNumberFieldRootDirective implements OnInit, NumberFieldContextToken {
7
+ readonly value: import("@angular/core").ModelSignal<number | undefined>;
8
+ readonly min: import("@angular/core").InputSignalWithTransform<number | undefined, NumberInput>;
9
+ readonly max: import("@angular/core").InputSignalWithTransform<number | undefined, NumberInput>;
10
+ readonly step: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
11
+ readonly stepSnapping: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
12
+ readonly disableWheelChange: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
13
+ readonly locale: import("@angular/core").InputSignal<string>;
14
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
15
+ readonly formatOptions: import("@angular/core").InputSignal<Intl.NumberFormatOptions | undefined>;
16
+ /**
17
+ * @ignore
18
+ */
19
+ readonly inputEl: import("@angular/core").WritableSignal<HTMLInputElement | undefined>;
20
+ /**
21
+ * @ignore
22
+ */
23
+ readonly isDecreaseDisabled: import("@angular/core").Signal<boolean>;
24
+ /**
25
+ * @ignore
26
+ */
27
+ readonly isIncreaseDisabled: import("@angular/core").Signal<boolean>;
28
+ /**
29
+ * @ignore
30
+ */
31
+ readonly inputMode: import("@angular/core").Signal<InputMode>;
32
+ /**
33
+ * Replace negative textValue formatted using currencySign: 'accounting'
34
+ * with a textValue that can be announced using a minus sign.
35
+ * @ignore
36
+ */
37
+ readonly textValue: import("@angular/core").Signal<any>;
38
+ /**
39
+ * @ignore
40
+ */
41
+ readonly onInputElement: (el: HTMLInputElement) => void;
42
+ /**
43
+ * @ignore
44
+ */
45
+ numberParser: any;
46
+ /**
47
+ * @ignore
48
+ */
49
+ numberFormatter: any;
50
+ /**
51
+ * @ignore
52
+ */
53
+ textValueFormatter: any;
54
+ /**
55
+ * @ignore
56
+ */
57
+ clampInputValue(val: number): number;
58
+ ngOnInit(): void;
59
+ /**
60
+ * @ignore
61
+ */
62
+ handleMinMaxValue(type: 'min' | 'max'): void;
63
+ /**
64
+ * @ignore
65
+ */
66
+ handleDecrease(multiplier?: number): void;
67
+ /**
68
+ * @ignore
69
+ */
70
+ handleIncrease(multiplier?: number): void;
71
+ /**
72
+ * @ignore
73
+ */
74
+ applyInputValue(val: string): void;
75
+ /**
76
+ * @ignore
77
+ */
78
+ setInputValue(val: string): void;
79
+ /**
80
+ * @ignore
81
+ */
82
+ validate(val: string): any;
83
+ private handleChangingValue;
84
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxNumberFieldRootDirective, never>;
85
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxNumberFieldRootDirective, "[rdxNumberFieldRoot]", ["rdxNumberFieldRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "stepSnapping": { "alias": "stepSnapping"; "required": false; "isSignal": true; }; "disableWheelChange": { "alias": "disableWheelChange"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "formatOptions": { "alias": "formatOptions"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
86
+ }
@@ -0,0 +1 @@
1
+ export type InputMode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
@@ -0,0 +1,18 @@
1
+ import { Signal } from '@angular/core';
2
+ import { NumberFormatter, NumberParser } from '@internationalized/number';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PressedHoldService {
5
+ private readonly destroyRef;
6
+ create(options: {
7
+ target?: Signal<HTMLElement | undefined>;
8
+ disabled: Signal<boolean>;
9
+ }): {
10
+ isPressed: Signal<boolean>;
11
+ onTrigger: (fn: () => void) => void;
12
+ };
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<PressedHoldService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<PressedHoldService>;
15
+ }
16
+ export declare function useNumberFormatter(locale: Signal<string>, options?: Signal<Intl.NumberFormatOptions | undefined>): Signal<NumberFormatter>;
17
+ export declare function useNumberParser(locale: Signal<string>, options?: Signal<Intl.NumberFormatOptions | undefined>): Signal<NumberParser>;
18
+ export declare function handleDecimalOperation(operator: '-' | '+', value1: number, value2: number): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ng/primitives",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -108,6 +108,10 @@
108
108
  "types": "./navigation-menu/index.d.ts",
109
109
  "default": "./fesm2022/radix-ng-primitives-navigation-menu.mjs"
110
110
  },
111
+ "./number-field": {
112
+ "types": "./number-field/index.d.ts",
113
+ "default": "./fesm2022/radix-ng-primitives-number-field.mjs"
114
+ },
111
115
  "./pagination": {
112
116
  "types": "./pagination/index.d.ts",
113
117
  "default": "./fesm2022/radix-ng-primitives-pagination.mjs"
@@ -70,7 +70,7 @@ export declare class RdxPopoverRootDirective {
70
70
  window: Window & typeof globalThis;
71
71
  primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
72
72
  onDestroyCallbacks: Set<() => void>;
73
- "__#15681@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
73
+ "__#17319@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
74
74
  registerPrimitive<T extends object>(primitiveInstance: T): void;
75
75
  deregisterPrimitive<T extends object>(primitiveInstance: T): void;
76
76
  preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
@@ -81,9 +81,9 @@ export declare class RdxPopoverRootDirective {
81
81
  primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
82
82
  addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
83
83
  removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
84
- "__#15681@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
85
- "__#15681@#registerOnDestroyCallbacks"(): void;
86
- "__#15681@#listenToClickDomRootEvent"(): void;
84
+ "__#17319@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
85
+ "__#17319@#registerOnDestroyCallbacks"(): void;
86
+ "__#17319@#listenToClickDomRootEvent"(): void;
87
87
  } | null;
88
88
  /** @ignore */
89
89
  readonly destroyRef: DestroyRef;
@@ -79,7 +79,7 @@ export declare class RdxTooltipRootDirective {
79
79
  window: Window & typeof globalThis;
80
80
  primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
81
81
  onDestroyCallbacks: Set<() => void>;
82
- "__#19148@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
82
+ "__#20782@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
83
83
  registerPrimitive<T extends object>(primitiveInstance: T): void;
84
84
  deregisterPrimitive<T extends object>(primitiveInstance: T): void;
85
85
  preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
@@ -90,9 +90,9 @@ export declare class RdxTooltipRootDirective {
90
90
  primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
91
91
  addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
92
92
  removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
93
- "__#19148@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
94
- "__#19148@#registerOnDestroyCallbacks"(): void;
95
- "__#19148@#listenToClickDomRootEvent"(): void;
93
+ "__#20782@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
94
+ "__#20782@#registerOnDestroyCallbacks"(): void;
95
+ "__#20782@#listenToClickDomRootEvent"(): void;
96
96
  } | null;
97
97
  /** @ignore */
98
98
  readonly destroyRef: DestroyRef;