@moser-inc/moser-labs-react 7.3.1 → 7.4.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/dist/index.d.ts CHANGED
@@ -22,6 +22,8 @@ import { InputTextareaProps } from "primereact/inputtextarea";
22
22
  import { MenuItem } from "primereact/menuitem";
23
23
  import { IconType } from "primereact/utils";
24
24
  import { FormEvent } from "primereact/ts-helpers";
25
+ import * as react_hook_form0 from "react-hook-form";
26
+ import { ControllerFieldState, FieldPath, FieldValues, UseControllerReturn } from "react-hook-form";
25
27
 
26
28
  //#region src/constants/app.d.ts
27
29
  declare const VERSION: string;
@@ -134,6 +136,22 @@ declare const LabsEmpty: ({
134
136
  ...rest
135
137
  }: LabsEmptyProps) => react_jsx_runtime0.JSX.Element;
136
138
  //#endregion
139
+ //#region src/components/LabsFieldContainerChoice.d.ts
140
+ type LabsFieldContainerChoiceProps = LabsFieldContainerProps;
141
+ declare const LabsFieldContainerChoice: ({
142
+ id,
143
+ containerId,
144
+ labelId,
145
+ messageId,
146
+ hintId,
147
+ label,
148
+ message,
149
+ hint,
150
+ className,
151
+ children,
152
+ ...rest
153
+ }: LabsFieldContainerChoiceProps) => react_jsx_runtime0.JSX.Element;
154
+ //#endregion
137
155
  //#region src/components/LabsFieldContainerHint.d.ts
138
156
  type BaseProps = Omit<ComponentProps<typeof motion.span>, 'children'>;
139
157
  interface LabsFieldContainerHintProps extends BaseProps {
@@ -20469,284 +20487,8 @@ declare const LabsPrimeProvider: ({
20469
20487
  children
20470
20488
  }: LabsPrimeProviderProps) => react_jsx_runtime0.JSX.Element;
20471
20489
  //#endregion
20472
- //#region ../../node_modules/react-hook-form/dist/types/path/common.d.ts
20473
- /**
20474
- * Type to query whether an array type T is a tuple type.
20475
- * @typeParam T - type which may be an array or tuple
20476
- * @example
20477
- * ```
20478
- * IsTuple<[number]> = true
20479
- * IsTuple<number[]> = false
20480
- * ```
20481
- */
20482
- type IsTuple<T extends ReadonlyArray<any>> = number extends T['length'] ? false : true;
20483
- /**
20484
- * Type which can be used to index an array or tuple type.
20485
- */
20486
- type ArrayKey = number;
20487
- /**
20488
- * Type which given a tuple type returns its own keys, i.e. only its indices.
20489
- * @typeParam T - tuple type
20490
- * @example
20491
- * ```
20492
- * TupleKeys<[number, string]> = '0' | '1'
20493
- * ```
20494
- */
20495
- type TupleKeys<T extends ReadonlyArray<any>> = Exclude<keyof T, keyof any[]>;
20496
- //#endregion
20497
- //#region ../../node_modules/react-hook-form/dist/types/path/eager.d.ts
20498
- /**
20499
- * Helper function to break apart T1 and check if any are equal to T2
20500
- *
20501
- * See {@link IsEqual}
20502
- */
20503
- type AnyIsEqual<T1, T2> = T1 extends T2 ? IsEqual<T1, T2> extends true ? true : never : never;
20504
- /**
20505
- * Helper type for recursively constructing paths through a type.
20506
- * This actually constructs the strings and recurses into nested
20507
- * object types.
20508
- *
20509
- * See {@link Path}
20510
- */
20511
- type PathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? `${K}` : true extends AnyIsEqual<TraversedTypes, V> ? `${K}` : `${K}` | `${K}.${PathInternal<V, TraversedTypes | V>}`;
20512
- /**
20513
- * Helper type for recursively constructing paths through a type.
20514
- * This obscures the internal type param TraversedTypes from exported contract.
20515
- *
20516
- * See {@link Path}
20517
- */
20518
- type PathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? { [K in TupleKeys<T>]-?: PathImpl<K & string, T[K], TraversedTypes> }[TupleKeys<T>] : PathImpl<ArrayKey, V, TraversedTypes> : { [K in keyof T]-?: PathImpl<K & string, T[K], TraversedTypes> }[keyof T];
20519
- /**
20520
- * Type which eagerly collects all paths through a type
20521
- * @typeParam T - type which should be introspected
20522
- * @example
20523
- * ```
20524
- * Path<{foo: {bar: string}}> = 'foo' | 'foo.bar'
20525
- * ```
20526
- */
20527
- type Path<T> = T extends any ? PathInternal<T> : never;
20528
- /**
20529
- * See {@link Path}
20530
- */
20531
- type FieldPath<TFieldValues extends FieldValues> = Path<TFieldValues>;
20532
- /**
20533
- * Helper type for recursively constructing paths through a type.
20534
- * This actually constructs the strings and recurses into nested
20535
- * object types.
20536
- *
20537
- * See {@link ArrayPath}
20538
- */
20539
- type ArrayPathImpl<K extends string | number, V, TraversedTypes> = V extends Primitive | BrowserNativeObject ? IsAny<V> extends true ? string : never : V extends ReadonlyArray<infer U> ? U extends Primitive | BrowserNativeObject ? IsAny<V> extends true ? string : never : true extends AnyIsEqual<TraversedTypes, V> ? never : `${K}` | `${K}.${ArrayPathInternal<V, TraversedTypes | V>}` : true extends AnyIsEqual<TraversedTypes, V> ? never : `${K}.${ArrayPathInternal<V, TraversedTypes | V>}`;
20540
- /**
20541
- * Helper type for recursively constructing paths through a type.
20542
- * This obscures the internal type param TraversedTypes from exported contract.
20543
- *
20544
- * See {@link ArrayPath}
20545
- */
20546
- type ArrayPathInternal<T, TraversedTypes = T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? { [K in TupleKeys<T>]-?: ArrayPathImpl<K & string, T[K], TraversedTypes> }[TupleKeys<T>] : ArrayPathImpl<ArrayKey, V, TraversedTypes> : { [K in keyof T]-?: ArrayPathImpl<K & string, T[K], TraversedTypes> }[keyof T];
20547
- /**
20548
- * Type which eagerly collects all paths through a type which point to an array
20549
- * type.
20550
- * @typeParam T - type which should be introspected.
20551
- * @example
20552
- * ```
20553
- * Path<{foo: {bar: string[], baz: number[]}}> = 'foo.bar' | 'foo.baz'
20554
- * ```
20555
- */
20556
- type ArrayPath<T> = T extends any ? ArrayPathInternal<T> : never;
20557
- /**
20558
- * Type to evaluate the type which the given path points to.
20559
- * @typeParam T - deeply nested type which is indexed by the path
20560
- * @typeParam P - path into the deeply nested type
20561
- * @example
20562
- * ```
20563
- * PathValue<{foo: {bar: string}}, 'foo.bar'> = string
20564
- * PathValue<[number, string], '1'> = string
20565
- * ```
20566
- */
20567
- type PathValue<T, P extends Path<T> | ArrayPath<T>> = PathValueImpl<T, P>;
20568
- type PathValueImpl<T, P extends string> = T extends any ? P extends `${infer K}.${infer R}` ? K extends keyof T ? undefined extends T[K] ? PathValueImpl<T[K], R> | undefined : PathValueImpl<T[K], R> : K extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? PathValueImpl<V, R> : never : never : P extends keyof T ? T[P] : P extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? V : T extends undefined ? undefined : never : never : never;
20569
- /**
20570
- * See {@link PathValue}
20571
- */
20572
- type FieldPathValue<TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>> = PathValue<TFieldValues, TFieldPath>;
20573
- //#endregion
20574
- //#region ../../node_modules/react-hook-form/dist/types/form.d.ts
20575
- declare const $NestedValue: unique symbol;
20576
- /**
20577
- * @deprecated to be removed in the next major version
20578
- */
20579
- type NestedValue<TValue extends object = object> = {
20580
- [$NestedValue]: never;
20581
- } & TValue;
20582
- type FieldNamesMarkedBoolean<TFieldValues extends FieldValues> = DeepMap<DeepPartial<TFieldValues>, boolean>;
20583
- type FormState<TFieldValues extends FieldValues> = {
20584
- isDirty: boolean;
20585
- isLoading: boolean;
20586
- isSubmitted: boolean;
20587
- isSubmitSuccessful: boolean;
20588
- isSubmitting: boolean;
20589
- isValidating: boolean;
20590
- isValid: boolean;
20591
- disabled: boolean;
20592
- submitCount: number;
20593
- defaultValues?: undefined | Readonly<DeepPartial<TFieldValues>>;
20594
- dirtyFields: Partial<Readonly<FieldNamesMarkedBoolean<TFieldValues>>>;
20595
- touchedFields: Partial<Readonly<FieldNamesMarkedBoolean<TFieldValues>>>;
20596
- validatingFields: Partial<Readonly<FieldNamesMarkedBoolean<TFieldValues>>>;
20597
- errors: FieldErrors<TFieldValues>;
20598
- isReady: boolean;
20599
- };
20600
- type RefCallBack = (instance: any) => void;
20601
- type UseFormStateReturn<TFieldValues extends FieldValues> = FormState<TFieldValues>;
20602
- //#endregion
20603
- //#region ../../node_modules/react-hook-form/dist/types/utils.d.ts
20604
- type Noop = () => void;
20605
- interface File extends Blob {
20606
- readonly lastModified: number;
20607
- readonly name: string;
20608
- }
20609
- interface FileList$1 {
20610
- readonly length: number;
20611
- item(index: number): File | null;
20612
- [index: number]: File;
20613
- }
20614
- type Primitive = null | undefined | string | number | boolean | symbol | bigint;
20615
- type BrowserNativeObject = Date | FileList$1 | File;
20616
- type NonUndefined<T> = T extends undefined ? never : T;
20617
- type LiteralUnion<T extends U, U extends Primitive> = T | (U & {
20618
- _?: never;
20619
- });
20620
- type ExtractObjects<T> = T extends infer U ? U extends object ? U : never : never;
20621
- type IsPrimitiveLike<T> = T extends Primitive ? true : T extends Primitive & object ? true : false;
20622
- type DeepPartial<T> = IsPrimitiveLike<T> extends true ? T : T extends BrowserNativeObject | NestedValue ? T : { [K in keyof T]?: ExtractObjects<T[K]> extends never ? T[K] : DeepPartial<T[K]> };
20623
- /**
20624
- * Checks whether the type is any
20625
- * See {@link https://stackoverflow.com/a/49928360/3406963}
20626
- * @typeParam T - type which may be any
20627
- * ```
20628
- * IsAny<any> = true
20629
- * IsAny<string> = false
20630
- * ```
20631
- */
20632
- type IsAny<T> = 0 extends 1 & T ? true : false;
20633
- /**
20634
- * Checks whether T1 can be exactly (mutually) assigned to T2
20635
- * @typeParam T1 - type to check
20636
- * @typeParam T2 - type to check against
20637
- * ```
20638
- * IsEqual<string, string> = true
20639
- * IsEqual<'foo', 'foo'> = true
20640
- * IsEqual<string, number> = false
20641
- * IsEqual<string, number> = false
20642
- * IsEqual<string, 'foo'> = false
20643
- * IsEqual<'foo', string> = false
20644
- * IsEqual<'foo' | 'bar', 'foo'> = boolean // 'foo' is assignable, but 'bar' is not (true | false) -> boolean
20645
- * ```
20646
- */
20647
- type IsEqual<T1, T2> = T1 extends T2 ? (<G>() => G extends T1 ? 1 : 2) extends (<G>() => G extends T2 ? 1 : 2) ? true : false : false;
20648
- type DeepMap<T, TValue> = IsAny<T> extends true ? any : T extends BrowserNativeObject | NestedValue ? TValue : T extends object ? { [K in keyof T]: DeepMap<NonUndefined<T[K]>, TValue> } : TValue;
20649
- type IsFlatObject<T extends object> = Extract<Exclude<T[keyof T], NestedValue | Date | FileList$1>, any[] | object> extends never ? true : false;
20650
- type Merge<A, B> = { [K in keyof A | keyof B]?: K extends keyof A & keyof B ? [A[K], B[K]] extends [object, object] ? Merge<A[K], B[K]> : B[K] : K extends keyof A ? A[K] : K extends keyof B ? B[K] : never };
20651
- //#endregion
20652
- //#region ../../node_modules/react-hook-form/dist/types/fields.d.ts
20653
- type FieldName<TFieldValues extends FieldValues> = IsFlatObject<TFieldValues> extends true ? Extract<keyof TFieldValues, string> : string;
20654
- type CustomElement<TFieldValues extends FieldValues> = Partial<HTMLElement> & {
20655
- name: FieldName<TFieldValues>;
20656
- type?: string;
20657
- value?: any;
20658
- disabled?: boolean;
20659
- checked?: boolean;
20660
- options?: HTMLOptionsCollection;
20661
- files?: FileList | null;
20662
- focus?: Noop;
20663
- };
20664
- type FieldValues = Record<string, any>;
20665
- type FieldElement<TFieldValues extends FieldValues = FieldValues> = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | CustomElement<TFieldValues>;
20666
- type Ref = FieldElement;
20667
- //#endregion
20668
- //#region ../../node_modules/react-hook-form/dist/types/errors.d.ts
20669
- type Message = string;
20670
- type MultipleFieldErrors = { [K in keyof RegisterOptions]?: ValidateResult } & {
20671
- [key: string]: ValidateResult;
20672
- };
20673
- type FieldError = {
20674
- type: LiteralUnion<keyof RegisterOptions, string>;
20675
- root?: FieldError;
20676
- ref?: Ref;
20677
- types?: MultipleFieldErrors;
20678
- message?: Message;
20679
- };
20680
- type DeepRequired<T> = T extends BrowserNativeObject | Blob ? T : { [K in keyof T]-?: NonNullable<DeepRequired<T[K]>> };
20681
- type FieldErrorsImpl<T extends FieldValues = FieldValues> = { [K in keyof T]?: T[K] extends BrowserNativeObject | Blob ? FieldError : K extends 'root' | `root.${string}` ? GlobalError : T[K] extends object ? Merge<FieldError, FieldErrorsImpl<T[K]>> : FieldError };
20682
- type GlobalError = Partial<{
20683
- type: string | number;
20684
- message: Message;
20685
- }>;
20686
- type FieldErrors<T extends FieldValues = FieldValues> = Partial<FieldValues extends IsAny<FieldValues> ? any : FieldErrorsImpl<DeepRequired<T>>> & {
20687
- root?: Record<string, GlobalError> & GlobalError;
20688
- };
20689
- //#endregion
20690
- //#region ../../node_modules/react-hook-form/dist/types/validator.d.ts
20691
- type ValidationValue = boolean | number | string | RegExp;
20692
- type ValidationRule<TValidationValue extends ValidationValue = ValidationValue> = TValidationValue | ValidationValueMessage<TValidationValue>;
20693
- type ValidationValueMessage<TValidationValue extends ValidationValue = ValidationValue> = {
20694
- value: TValidationValue;
20695
- message: Message;
20696
- };
20697
- type ValidateResult = Message | Message[] | boolean | undefined;
20698
- type Validate<TFieldValue, TFormValues> = (value: TFieldValue, formValues: TFormValues) => ValidateResult | Promise<ValidateResult>;
20699
- type RegisterOptions<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Partial<{
20700
- required: Message | ValidationRule<boolean>;
20701
- min: ValidationRule<number | string>;
20702
- max: ValidationRule<number | string>;
20703
- maxLength: ValidationRule<number>;
20704
- minLength: ValidationRule<number>;
20705
- validate: Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues> | Record<string, Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues>>;
20706
- value: FieldPathValue<TFieldValues, TFieldName>;
20707
- setValueAs: (value: any) => any;
20708
- shouldUnregister?: boolean;
20709
- onChange?: (event: any) => void;
20710
- onBlur?: (event: any) => void;
20711
- disabled: boolean;
20712
- deps: FieldPath<TFieldValues> | FieldPath<TFieldValues>[];
20713
- }> & ({
20714
- pattern?: ValidationRule<RegExp>;
20715
- valueAsNumber?: false;
20716
- valueAsDate?: false;
20717
- } | {
20718
- pattern?: undefined;
20719
- valueAsNumber?: false;
20720
- valueAsDate?: true;
20721
- } | {
20722
- pattern?: undefined;
20723
- valueAsNumber?: true;
20724
- valueAsDate?: false;
20725
- });
20726
- //#endregion
20727
- //#region ../../node_modules/react-hook-form/dist/types/controller.d.ts
20728
- type ControllerFieldState = {
20729
- invalid: boolean;
20730
- isTouched: boolean;
20731
- isDirty: boolean;
20732
- isValidating: boolean;
20733
- error?: FieldError;
20734
- };
20735
- type ControllerRenderProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
20736
- onChange: (...event: any[]) => void;
20737
- onBlur: Noop;
20738
- value: FieldPathValue<TFieldValues, TName>;
20739
- disabled?: boolean;
20740
- name: TName;
20741
- ref: RefCallBack;
20742
- };
20743
- //#endregion
20744
20490
  //#region src/types/ReactHookForm.type.d.ts
20745
- type ControllerRenderParams<TValues extends FieldValues = FieldValues, TName extends FieldPath<TValues> = FieldPath<TValues>> = {
20746
- field: ControllerRenderProps<TValues, TName>;
20747
- fieldState: ControllerFieldState;
20748
- formState: UseFormStateReturn<TValues>;
20749
- };
20491
+ type ControllerRenderParams<TValues extends FieldValues = FieldValues, TName extends FieldPath<TValues> = FieldPath<TValues>> = Pick<UseControllerReturn<TValues, TName>, 'field' | 'fieldState' | 'formState'>;
20750
20492
  //#endregion
20751
20493
  //#region src/utils/animations.d.ts
20752
20494
  declare const DEFAULT_TRANSITION_MS = 100;
@@ -20902,11 +20644,11 @@ declare const toLabsCheckboxProps: <TValues extends FieldValues = FieldValues, T
20902
20644
  },
20903
20645
  fieldState
20904
20646
  }: ControllerRenderParams<TValues, TName>) => {
20905
- inputRef: RefCallBack;
20647
+ inputRef: react_hook_form0.RefCallBack;
20906
20648
  checked: TValues[TName];
20907
20649
  onChange: (event: primereact_checkbox0.CheckboxChangeEvent) => void;
20908
20650
  message: string | undefined;
20909
- onBlur: Noop;
20651
+ onBlur: react_hook_form0.Noop;
20910
20652
  disabled?: boolean;
20911
20653
  name: TName;
20912
20654
  };
@@ -20918,11 +20660,11 @@ declare const toLabsDateProps: <TValues extends FieldValues = FieldValues, TName
20918
20660
  },
20919
20661
  fieldState
20920
20662
  }: ControllerRenderParams<TValues, TName>) => {
20921
- inputRef: RefCallBack;
20663
+ inputRef: react_hook_form0.RefCallBack;
20922
20664
  value: TValues[TName];
20923
20665
  onChange: (event: FormEvent<TValues[TName]>) => void;
20924
20666
  message: string | undefined;
20925
- onBlur: Noop;
20667
+ onBlur: react_hook_form0.Noop;
20926
20668
  disabled?: boolean;
20927
20669
  name: TName;
20928
20670
  };
@@ -20934,11 +20676,11 @@ declare const toLabsMultiSelectProps: <TValues extends FieldValues = FieldValues
20934
20676
  },
20935
20677
  fieldState
20936
20678
  }: ControllerRenderParams<TValues, TName>) => {
20937
- inputRef: RefCallBack;
20679
+ inputRef: react_hook_form0.RefCallBack;
20938
20680
  value: TValues[TName];
20939
20681
  onChange: (event: LabsMultiSelectChangeEvent<TValues[TName][number]>) => void;
20940
20682
  message: string | undefined;
20941
- onBlur: Noop;
20683
+ onBlur: react_hook_form0.Noop;
20942
20684
  disabled?: boolean;
20943
20685
  name: TName;
20944
20686
  };
@@ -20950,11 +20692,11 @@ declare const toLabsSelectProps: <TValues extends FieldValues = FieldValues, TNa
20950
20692
  },
20951
20693
  fieldState
20952
20694
  }: ControllerRenderParams<TValues, TName>) => {
20953
- inputRef: RefCallBack;
20695
+ inputRef: react_hook_form0.RefCallBack;
20954
20696
  value: TValues[TName];
20955
20697
  onChange: (event: FormEvent<TValues[TName], react.SyntheticEvent<Element, Event>>) => void;
20956
20698
  message: string | undefined;
20957
- onBlur: Noop;
20699
+ onBlur: react_hook_form0.Noop;
20958
20700
  disabled?: boolean;
20959
20701
  name: TName;
20960
20702
  };
@@ -20966,13 +20708,13 @@ declare const toLabsSelectCascadeProps: <TValues extends FieldValues = FieldValu
20966
20708
  },
20967
20709
  fieldState
20968
20710
  }: ControllerRenderParams<TValues, TName>) => {
20969
- inputRef: RefCallBack;
20711
+ inputRef: react_hook_form0.RefCallBack;
20970
20712
  value: TValues[TName];
20971
20713
  onChange: (event: Omit<primereact_cascadeselect0.CascadeSelectChangeEvent, "value"> & {
20972
20714
  value: TValues[TName];
20973
20715
  }) => void;
20974
20716
  message: string | undefined;
20975
- onBlur: Noop;
20717
+ onBlur: react_hook_form0.Noop;
20976
20718
  disabled?: boolean;
20977
20719
  name: TName;
20978
20720
  };
@@ -20984,11 +20726,11 @@ declare const toLabsTextProps: <TValues extends FieldValues = FieldValues, TName
20984
20726
  },
20985
20727
  fieldState
20986
20728
  }: ControllerRenderParams<TValues, TName>) => {
20987
- ref: RefCallBack;
20729
+ ref: react_hook_form0.RefCallBack;
20988
20730
  value: TValues[TName];
20989
20731
  message: string | undefined;
20990
20732
  onChange: (...event: any[]) => void;
20991
- onBlur: Noop;
20733
+ onBlur: react_hook_form0.Noop;
20992
20734
  disabled?: boolean;
20993
20735
  name: TName;
20994
20736
  };
@@ -21000,11 +20742,11 @@ declare const toLabsTextCurrencyProps: <TValues extends FieldValues = FieldValue
21000
20742
  },
21001
20743
  fieldState
21002
20744
  }: ControllerRenderParams<TValues, TName>) => {
21003
- ref: RefCallBack;
20745
+ ref: react_hook_form0.RefCallBack;
21004
20746
  value: TValues[TName];
21005
20747
  message: string | undefined;
21006
20748
  onChange: (...event: any[]) => void;
21007
- onBlur: Noop;
20749
+ onBlur: react_hook_form0.Noop;
21008
20750
  disabled?: boolean;
21009
20751
  name: TName;
21010
20752
  };
@@ -21016,11 +20758,11 @@ declare const toLabsTextSearchProps: <TValues extends FieldValues = FieldValues,
21016
20758
  },
21017
20759
  fieldState
21018
20760
  }: ControllerRenderParams<TValues, TName>) => {
21019
- ref: RefCallBack;
20761
+ ref: react_hook_form0.RefCallBack;
21020
20762
  value: TValues[TName];
21021
20763
  message: string | undefined;
21022
20764
  onChange: (...event: any[]) => void;
21023
- onBlur: Noop;
20765
+ onBlur: react_hook_form0.Noop;
21024
20766
  disabled?: boolean;
21025
20767
  name: TName;
21026
20768
  };
@@ -21032,13 +20774,13 @@ declare const toLabsTextareaProps: <TValues extends FieldValues = FieldValues, T
21032
20774
  },
21033
20775
  fieldState
21034
20776
  }: ControllerRenderParams<TValues, TName>) => {
21035
- ref: RefCallBack;
20777
+ ref: react_hook_form0.RefCallBack;
21036
20778
  value: TValues[TName];
21037
20779
  message: string | undefined;
21038
20780
  onChange: (...event: any[]) => void;
21039
- onBlur: Noop;
20781
+ onBlur: react_hook_form0.Noop;
21040
20782
  disabled?: boolean;
21041
20783
  name: TName;
21042
20784
  };
21043
20785
  //#endregion
21044
- export { ControllerRenderParams, DEFAULT_TRANSITION, DEFAULT_TRANSITION_MS, DEFAULT_TRANSITION_SECONDS, DirectoryValueBase, KeycloakUser, LABS_MAIN_ID, LabsAnalyticsContext, LabsAnalyticsInstance, LabsAnalyticsProvider, LabsAnalyticsProviderProps, LabsAuthContext, LabsAuthContextValue, LabsAuthGate, LabsAuthGateProps, LabsAuthProvider, LabsAuthProviderProps, LabsButton, LabsButtonProps, LabsCalendar, LabsCalendarBase, LabsCalendarProps, LabsCheckbox, LabsCheckboxProps, LabsContext, LabsContextValue, LabsDate, LabsDateProps, LabsEmpty, LabsEmptyProps, LabsFieldContainer, LabsFieldContainerHint, LabsFieldContainerHintProps, LabsFieldContainerInput, LabsFieldContainerInputProps, LabsFieldContainerLabel, LabsFieldContainerLabelProps, LabsFieldContainerMessage, LabsFieldContainerMessageProps, LabsFieldContainerProps, LabsHeadProvider, LabsHeadProviderProps, LabsLoader, LabsLoaderProps, LabsLogoutTimer, LabsLogoutTimerProps, LabsMain, LabsMainDesktopNav, LabsMainDesktopNavProps, LabsMainHeader, LabsMainHeaderActions, LabsMainHeaderProps, LabsMainMobileNav, LabsMainMobileNavProps, LabsMainProps, LabsMenuNav, LabsMenuNavProps, LabsMultiSelect, LabsMultiSelectChangeEvent, LabsMultiSelectOption, LabsMultiSelectProps, LabsPrimeProvider, LabsPrimeProviderProps, LabsProvider, LabsProviderProps, LabsSelect, LabsSelectCascade, LabsSelectCascadeOption, LabsSelectCascadeProps, LabsSelectOption, LabsSelectProps, LabsSpeedDialNav, LabsSpeedDialNavProps, LabsText, LabsTextCurrency, LabsTextCurrencyProps, LabsTextElement, LabsTextProps, LabsTextSearch, LabsTextSearchProps, LabsTextarea, LabsTextareaElement, LabsTextareaProps, LabsToggle, LabsToggleProps, LayoutBase, LayoutBaseProps, LayoutCentered, LayoutCenteredProps, LayoutMain, LayoutMainProps, Role, VERSION, auth, fadeAnimation, getParsedUserInfo, pluralize, refreshToken, scaleFadeAnimation, scaleFadeSubtleAnimation, slideYFadeAnimation, slideYFadeReverseAnimation, toCurrency, toFieldContainerProps, toLabsCheckboxProps, toLabsDateProps, toLabsMultiSelectProps, toLabsSelectCascadeProps, toLabsSelectProps, toLabsTextCurrencyProps, toLabsTextProps, toLabsTextSearchProps, toLabsTextareaProps, toPrecision, useAnalytics, useAuth, useBreakpoints, useLabs, withAuthHeader };
20786
+ export { ControllerRenderParams, DEFAULT_TRANSITION, DEFAULT_TRANSITION_MS, DEFAULT_TRANSITION_SECONDS, DirectoryValueBase, KeycloakUser, LABS_MAIN_ID, LabsAnalyticsContext, LabsAnalyticsInstance, LabsAnalyticsProvider, LabsAnalyticsProviderProps, LabsAuthContext, LabsAuthContextValue, LabsAuthGate, LabsAuthGateProps, LabsAuthProvider, LabsAuthProviderProps, LabsButton, LabsButtonProps, LabsCalendar, LabsCalendarBase, LabsCalendarProps, LabsCheckbox, LabsCheckboxProps, LabsContext, LabsContextValue, LabsDate, LabsDateProps, LabsEmpty, LabsEmptyProps, LabsFieldContainer, LabsFieldContainerChoice, LabsFieldContainerChoiceProps, LabsFieldContainerHint, LabsFieldContainerHintProps, LabsFieldContainerInput, LabsFieldContainerInputProps, LabsFieldContainerLabel, LabsFieldContainerLabelProps, LabsFieldContainerMessage, LabsFieldContainerMessageProps, LabsFieldContainerProps, LabsHeadProvider, LabsHeadProviderProps, LabsLoader, LabsLoaderProps, LabsLogoutTimer, LabsLogoutTimerProps, LabsMain, LabsMainDesktopNav, LabsMainDesktopNavProps, LabsMainHeader, LabsMainHeaderActions, LabsMainHeaderProps, LabsMainMobileNav, LabsMainMobileNavProps, LabsMainProps, LabsMenuNav, LabsMenuNavProps, LabsMultiSelect, LabsMultiSelectChangeEvent, LabsMultiSelectOption, LabsMultiSelectProps, LabsPrimeProvider, LabsPrimeProviderProps, LabsProvider, LabsProviderProps, LabsSelect, LabsSelectCascade, LabsSelectCascadeOption, LabsSelectCascadeProps, LabsSelectOption, LabsSelectProps, LabsSpeedDialNav, LabsSpeedDialNavProps, LabsText, LabsTextCurrency, LabsTextCurrencyProps, LabsTextElement, LabsTextProps, LabsTextSearch, LabsTextSearchProps, LabsTextarea, LabsTextareaElement, LabsTextareaProps, LabsToggle, LabsToggleProps, LayoutBase, LayoutBaseProps, LayoutCentered, LayoutCenteredProps, LayoutMain, LayoutMainProps, Role, VERSION, auth, fadeAnimation, getParsedUserInfo, pluralize, refreshToken, scaleFadeAnimation, scaleFadeSubtleAnimation, slideYFadeAnimation, slideYFadeReverseAnimation, toCurrency, toFieldContainerProps, toLabsCheckboxProps, toLabsDateProps, toLabsMultiSelectProps, toLabsSelectCascadeProps, toLabsSelectProps, toLabsTextCurrencyProps, toLabsTextProps, toLabsTextSearchProps, toLabsTextareaProps, toPrecision, useAnalytics, useAuth, useBreakpoints, useLabs, withAuthHeader };
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ import { InputTextarea } from "primereact/inputtextarea";
29
29
  import { Panel } from "primereact/panel";
30
30
  //#endregion
31
31
  //#region src/constants/app.ts
32
- const VERSION = "7.3.1";
32
+ const VERSION = "7.4.0";
33
33
  //#endregion
34
34
  //#region src/lib/head/headContext.tsx
35
35
  const head = createHead();
@@ -600,9 +600,9 @@ const LabsFieldContainerInput = ({ id, containerId = `${id}-container`, labelId
600
600
  "p-icon-field-right": !!appendIcon
601
601
  }),
602
602
  children: [
603
+ children,
603
604
  prependIcon && /* @__PURE__ */ jsx("i", { className: `${prependIcon} p-input-icon` }),
604
605
  appendIcon && /* @__PURE__ */ jsx("i", { className: `${appendIcon} p-input-icon` }),
605
- children,
606
606
  floatLabel && /* @__PURE__ */ jsx(LabsFieldContainerLabel, {
607
607
  id,
608
608
  labelId,
@@ -671,6 +671,42 @@ const LabsEmpty = ({ text, className, icon, children, ...rest }) => {
671
671
  });
672
672
  };
673
673
  //#endregion
674
+ //#region src/components/LabsFieldContainerChoice.tsx
675
+ const LabsFieldContainerChoice = ({ id, containerId = `${id}-container`, labelId = `${id}-label`, messageId = `${id}-message`, hintId = `${id}-hint`, label, message, hint, className, children, ...rest }) => {
676
+ return /* @__PURE__ */ jsxs(LabsFieldContainer, {
677
+ id,
678
+ containerId,
679
+ labelId,
680
+ messageId,
681
+ hintId,
682
+ className: clsx(className, "flex flex-col gap-1"),
683
+ ...rest,
684
+ children: [/* @__PURE__ */ jsxs("div", {
685
+ className: "flex gap-8 items-center",
686
+ children: [children, /* @__PURE__ */ jsxs(LabsFieldContainerLabel, {
687
+ id,
688
+ labelId,
689
+ label,
690
+ className: "flex flex-col gap-1",
691
+ children: [/* @__PURE__ */ jsx("span", {
692
+ className: "font-semibold",
693
+ children: label
694
+ }), /* @__PURE__ */ jsx(LabsFieldContainerHint, {
695
+ id,
696
+ hintId,
697
+ hint,
698
+ className: "text-sm"
699
+ })]
700
+ })]
701
+ }), /* @__PURE__ */ jsx(LabsFieldContainerMessage, {
702
+ id,
703
+ messageId,
704
+ message,
705
+ className: "text-xs"
706
+ })]
707
+ });
708
+ };
709
+ //#endregion
674
710
  //#region src/components/LabsLogoutTimer.tsx
675
711
  const DELAY_LOGOUT_MILLISECONDS = 1440 * 60 * 1e3;
676
712
  const LabsLogoutTimer = ({ children, options, onLogout }) => {
@@ -1172,4 +1208,4 @@ const toLabsTextareaProps = ({ field: { ref, value, ...field }, fieldState }) =>
1172
1208
  value
1173
1209
  });
1174
1210
  //#endregion
1175
- export { DEFAULT_TRANSITION, DEFAULT_TRANSITION_MS, DEFAULT_TRANSITION_SECONDS, LABS_MAIN_ID, LabsAnalyticsContext, LabsAnalyticsProvider, LabsAuthContext, LabsAuthGate, LabsAuthProvider, LabsButton, LabsCalendar, LabsCalendarBase, LabsCheckbox, LabsContext, LabsDate, LabsEmpty, LabsFieldContainer, LabsFieldContainerHint, LabsFieldContainerInput, LabsFieldContainerLabel, LabsFieldContainerMessage, LabsHeadProvider, LabsLoader, LabsLogoutTimer, LabsMain, LabsMainDesktopNav, LabsMainHeader, LabsMainHeaderActions, LabsMainMobileNav, LabsMenuNav, LabsMultiSelect, LabsPrimeProvider, LabsProvider, LabsSelect, LabsSelectCascade, LabsSpeedDialNav, LabsText, LabsTextCurrency, LabsTextSearch, LabsTextarea, LabsToggle, LayoutBase, LayoutCentered, LayoutMain, VERSION, auth, fadeAnimation, getParsedUserInfo, pluralize, refreshToken, scaleFadeAnimation, scaleFadeSubtleAnimation, slideYFadeAnimation, slideYFadeReverseAnimation, toCurrency, toFieldContainerProps, toLabsCheckboxProps, toLabsDateProps, toLabsMultiSelectProps, toLabsSelectCascadeProps, toLabsSelectProps, toLabsTextCurrencyProps, toLabsTextProps, toLabsTextSearchProps, toLabsTextareaProps, toPrecision, useAnalytics, useAuth, useBreakpoints, useLabs, withAuthHeader };
1211
+ export { DEFAULT_TRANSITION, DEFAULT_TRANSITION_MS, DEFAULT_TRANSITION_SECONDS, LABS_MAIN_ID, LabsAnalyticsContext, LabsAnalyticsProvider, LabsAuthContext, LabsAuthGate, LabsAuthProvider, LabsButton, LabsCalendar, LabsCalendarBase, LabsCheckbox, LabsContext, LabsDate, LabsEmpty, LabsFieldContainer, LabsFieldContainerChoice, LabsFieldContainerHint, LabsFieldContainerInput, LabsFieldContainerLabel, LabsFieldContainerMessage, LabsHeadProvider, LabsLoader, LabsLogoutTimer, LabsMain, LabsMainDesktopNav, LabsMainHeader, LabsMainHeaderActions, LabsMainMobileNav, LabsMenuNav, LabsMultiSelect, LabsPrimeProvider, LabsProvider, LabsSelect, LabsSelectCascade, LabsSpeedDialNav, LabsText, LabsTextCurrency, LabsTextSearch, LabsTextarea, LabsToggle, LayoutBase, LayoutCentered, LayoutMain, VERSION, auth, fadeAnimation, getParsedUserInfo, pluralize, refreshToken, scaleFadeAnimation, scaleFadeSubtleAnimation, slideYFadeAnimation, slideYFadeReverseAnimation, toCurrency, toFieldContainerProps, toLabsCheckboxProps, toLabsDateProps, toLabsMultiSelectProps, toLabsSelectCascadeProps, toLabsSelectProps, toLabsTextCurrencyProps, toLabsTextProps, toLabsTextSearchProps, toLabsTextareaProps, toPrecision, useAnalytics, useAuth, useBreakpoints, useLabs, withAuthHeader };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moser-inc/moser-labs-react",
3
- "version": "7.3.1",
3
+ "version": "7.4.0",
4
4
  "description": "React components for the Moser Labs suite of applications.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Moser Consulting",
@@ -58,7 +58,6 @@
58
58
  "@vitejs/plugin-react": "^5.1.4",
59
59
  "eslint": "^9.39.4",
60
60
  "prettier": "^3.8.1",
61
- "react-hook-form": "^7.71.2",
62
61
  "react-router": "^7.13.1",
63
62
  "react-router-dom": "^7.13.1",
64
63
  "tsdown": "^0.21.2",
@@ -75,7 +74,8 @@
75
74
  "motion": ">=12.35.0",
76
75
  "primereact": ">=9.6.0 < 11.0.0",
77
76
  "react": ">=18.2.0",
78
- "react-dom": ">=18.2.0"
77
+ "react-dom": ">=18.2.0",
78
+ "react-hook-form": ">=7.78.0"
79
79
  },
80
80
  "peerDependenciesMeta": {
81
81
  "motion": {
@@ -84,7 +84,6 @@
84
84
  },
85
85
  "inlinedDependencies": {
86
86
  "@primeuix/styled": "0.7.4",
87
- "@primeuix/themes": "2.0.3",
88
- "react-hook-form": "7.71.2"
87
+ "@primeuix/themes": "2.0.3"
89
88
  }
90
89
  }