@xyo-network/react-form-group 2.81.10 → 2.83.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/browser/index.d.ts +228 -6
- package/dist/browser/{index.js → index.mjs} +176 -123
- package/dist/browser/index.mjs.map +1 -0
- package/package.json +19 -35
- package/src/FormGroup.ts +5 -5
- package/src/context/Context.ts +1 -1
- package/src/context/Provider.tsx +4 -3
- package/src/context/State.ts +1 -1
- package/src/context/index.ts +4 -4
- package/src/context/{use.tsx → use.ts} +1 -1
- package/src/control/AbstractControl.ts +2 -2
- package/src/control/FormControl.ts +1 -1
- package/src/control/FormControlBase.ts +4 -3
- package/src/control/accessor/ControlValueAccessor.ts +1 -1
- package/src/control/accessor/ControlValueAccessorBase.ts +6 -7
- package/src/control/accessor/index.ts +4 -4
- package/src/control/index.ts +4 -4
- package/src/index.ts +5 -5
- package/src/storage/ArchivistFormGroupStorage.ts +1 -1
- package/src/storage/index.ts +2 -2
- package/src/stories/test.stories.tsx +0 -1
- package/xy.config.ts +12 -0
- package/dist/browser/FormGroup.d.cts +0 -44
- package/dist/browser/FormGroup.d.cts.map +0 -1
- package/dist/browser/FormGroup.d.mts +0 -44
- package/dist/browser/FormGroup.d.mts.map +0 -1
- package/dist/browser/FormGroup.d.ts +0 -44
- package/dist/browser/FormGroup.d.ts.map +0 -1
- package/dist/browser/InputError.d.cts +0 -5
- package/dist/browser/InputError.d.cts.map +0 -1
- package/dist/browser/InputError.d.mts +0 -5
- package/dist/browser/InputError.d.mts.map +0 -1
- package/dist/browser/InputError.d.ts +0 -5
- package/dist/browser/InputError.d.ts.map +0 -1
- package/dist/browser/context/Context.d.cts +0 -7
- package/dist/browser/context/Context.d.cts.map +0 -1
- package/dist/browser/context/Context.d.mts +0 -7
- package/dist/browser/context/Context.d.mts.map +0 -1
- package/dist/browser/context/Context.d.ts +0 -7
- package/dist/browser/context/Context.d.ts.map +0 -1
- package/dist/browser/context/Provider.d.cts +0 -8
- package/dist/browser/context/Provider.d.cts.map +0 -1
- package/dist/browser/context/Provider.d.mts +0 -8
- package/dist/browser/context/Provider.d.mts.map +0 -1
- package/dist/browser/context/Provider.d.ts +0 -8
- package/dist/browser/context/Provider.d.ts.map +0 -1
- package/dist/browser/context/State.d.cts +0 -7
- package/dist/browser/context/State.d.cts.map +0 -1
- package/dist/browser/context/State.d.mts +0 -7
- package/dist/browser/context/State.d.mts.map +0 -1
- package/dist/browser/context/State.d.ts +0 -7
- package/dist/browser/context/State.d.ts.map +0 -1
- package/dist/browser/context/index.d.cts +0 -5
- package/dist/browser/context/index.d.cts.map +0 -1
- package/dist/browser/context/index.d.mts +0 -5
- package/dist/browser/context/index.d.mts.map +0 -1
- package/dist/browser/context/index.d.ts +0 -5
- package/dist/browser/context/index.d.ts.map +0 -1
- package/dist/browser/context/use.d.cts +0 -6
- package/dist/browser/context/use.d.cts.map +0 -1
- package/dist/browser/context/use.d.mts +0 -6
- package/dist/browser/context/use.d.mts.map +0 -1
- package/dist/browser/context/use.d.ts +0 -6
- package/dist/browser/context/use.d.ts.map +0 -1
- package/dist/browser/control/AbstractControl.d.cts +0 -21
- package/dist/browser/control/AbstractControl.d.cts.map +0 -1
- package/dist/browser/control/AbstractControl.d.mts +0 -21
- package/dist/browser/control/AbstractControl.d.mts.map +0 -1
- package/dist/browser/control/AbstractControl.d.ts +0 -21
- package/dist/browser/control/AbstractControl.d.ts.map +0 -1
- package/dist/browser/control/FormControl.d.cts +0 -25
- package/dist/browser/control/FormControl.d.cts.map +0 -1
- package/dist/browser/control/FormControl.d.mts +0 -25
- package/dist/browser/control/FormControl.d.mts.map +0 -1
- package/dist/browser/control/FormControl.d.ts +0 -25
- package/dist/browser/control/FormControl.d.ts.map +0 -1
- package/dist/browser/control/FormControlBase.d.cts +0 -26
- package/dist/browser/control/FormControlBase.d.cts.map +0 -1
- package/dist/browser/control/FormControlBase.d.mts +0 -26
- package/dist/browser/control/FormControlBase.d.mts.map +0 -1
- package/dist/browser/control/FormControlBase.d.ts +0 -26
- package/dist/browser/control/FormControlBase.d.ts.map +0 -1
- package/dist/browser/control/accessor/ControlValueAccessor.d.cts +0 -21
- package/dist/browser/control/accessor/ControlValueAccessor.d.cts.map +0 -1
- package/dist/browser/control/accessor/ControlValueAccessor.d.mts +0 -21
- package/dist/browser/control/accessor/ControlValueAccessor.d.mts.map +0 -1
- package/dist/browser/control/accessor/ControlValueAccessor.d.ts +0 -21
- package/dist/browser/control/accessor/ControlValueAccessor.d.ts.map +0 -1
- package/dist/browser/control/accessor/ControlValueAccessorBase.d.cts +0 -45
- package/dist/browser/control/accessor/ControlValueAccessorBase.d.cts.map +0 -1
- package/dist/browser/control/accessor/ControlValueAccessorBase.d.mts +0 -45
- package/dist/browser/control/accessor/ControlValueAccessorBase.d.mts.map +0 -1
- package/dist/browser/control/accessor/ControlValueAccessorBase.d.ts +0 -45
- package/dist/browser/control/accessor/ControlValueAccessorBase.d.ts.map +0 -1
- package/dist/browser/control/accessor/FormControlStatus.d.cts +0 -6
- package/dist/browser/control/accessor/FormControlStatus.d.cts.map +0 -1
- package/dist/browser/control/accessor/FormControlStatus.d.mts +0 -6
- package/dist/browser/control/accessor/FormControlStatus.d.mts.map +0 -1
- package/dist/browser/control/accessor/FormControlStatus.d.ts +0 -6
- package/dist/browser/control/accessor/FormControlStatus.d.ts.map +0 -1
- package/dist/browser/control/accessor/ValidControlValue.d.cts +0 -2
- package/dist/browser/control/accessor/ValidControlValue.d.cts.map +0 -1
- package/dist/browser/control/accessor/ValidControlValue.d.mts +0 -2
- package/dist/browser/control/accessor/ValidControlValue.d.mts.map +0 -1
- package/dist/browser/control/accessor/ValidControlValue.d.ts +0 -2
- package/dist/browser/control/accessor/ValidControlValue.d.ts.map +0 -1
- package/dist/browser/control/accessor/index.d.cts +0 -5
- package/dist/browser/control/accessor/index.d.cts.map +0 -1
- package/dist/browser/control/accessor/index.d.mts +0 -5
- package/dist/browser/control/accessor/index.d.mts.map +0 -1
- package/dist/browser/control/accessor/index.d.ts +0 -5
- package/dist/browser/control/accessor/index.d.ts.map +0 -1
- package/dist/browser/control/index.d.cts +0 -5
- package/dist/browser/control/index.d.cts.map +0 -1
- package/dist/browser/control/index.d.mts +0 -5
- package/dist/browser/control/index.d.mts.map +0 -1
- package/dist/browser/control/index.d.ts +0 -5
- package/dist/browser/control/index.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -517
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -6
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -6
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/storage/ArchivistFormGroupStorage.d.cts +0 -13
- package/dist/browser/storage/ArchivistFormGroupStorage.d.cts.map +0 -1
- package/dist/browser/storage/ArchivistFormGroupStorage.d.mts +0 -13
- package/dist/browser/storage/ArchivistFormGroupStorage.d.mts.map +0 -1
- package/dist/browser/storage/ArchivistFormGroupStorage.d.ts +0 -13
- package/dist/browser/storage/ArchivistFormGroupStorage.d.ts.map +0 -1
- package/dist/browser/storage/FormGroupStorage.d.cts +0 -8
- package/dist/browser/storage/FormGroupStorage.d.cts.map +0 -1
- package/dist/browser/storage/FormGroupStorage.d.mts +0 -8
- package/dist/browser/storage/FormGroupStorage.d.mts.map +0 -1
- package/dist/browser/storage/FormGroupStorage.d.ts +0 -8
- package/dist/browser/storage/FormGroupStorage.d.ts.map +0 -1
- package/dist/browser/storage/index.d.cts +0 -3
- package/dist/browser/storage/index.d.cts.map +0 -1
- package/dist/browser/storage/index.d.mts +0 -3
- package/dist/browser/storage/index.d.mts.map +0 -1
- package/dist/browser/storage/index.d.ts +0 -3
- package/dist/browser/storage/index.d.ts.map +0 -1
- package/dist/neutral/FormGroup.d.cts +0 -44
- package/dist/neutral/FormGroup.d.cts.map +0 -1
- package/dist/neutral/FormGroup.d.mts +0 -44
- package/dist/neutral/FormGroup.d.mts.map +0 -1
- package/dist/neutral/FormGroup.d.ts +0 -44
- package/dist/neutral/FormGroup.d.ts.map +0 -1
- package/dist/neutral/InputError.d.cts +0 -5
- package/dist/neutral/InputError.d.cts.map +0 -1
- package/dist/neutral/InputError.d.mts +0 -5
- package/dist/neutral/InputError.d.mts.map +0 -1
- package/dist/neutral/InputError.d.ts +0 -5
- package/dist/neutral/InputError.d.ts.map +0 -1
- package/dist/neutral/context/Context.d.cts +0 -7
- package/dist/neutral/context/Context.d.cts.map +0 -1
- package/dist/neutral/context/Context.d.mts +0 -7
- package/dist/neutral/context/Context.d.mts.map +0 -1
- package/dist/neutral/context/Context.d.ts +0 -7
- package/dist/neutral/context/Context.d.ts.map +0 -1
- package/dist/neutral/context/Provider.d.cts +0 -8
- package/dist/neutral/context/Provider.d.cts.map +0 -1
- package/dist/neutral/context/Provider.d.mts +0 -8
- package/dist/neutral/context/Provider.d.mts.map +0 -1
- package/dist/neutral/context/Provider.d.ts +0 -8
- package/dist/neutral/context/Provider.d.ts.map +0 -1
- package/dist/neutral/context/State.d.cts +0 -7
- package/dist/neutral/context/State.d.cts.map +0 -1
- package/dist/neutral/context/State.d.mts +0 -7
- package/dist/neutral/context/State.d.mts.map +0 -1
- package/dist/neutral/context/State.d.ts +0 -7
- package/dist/neutral/context/State.d.ts.map +0 -1
- package/dist/neutral/context/index.d.cts +0 -5
- package/dist/neutral/context/index.d.cts.map +0 -1
- package/dist/neutral/context/index.d.mts +0 -5
- package/dist/neutral/context/index.d.mts.map +0 -1
- package/dist/neutral/context/index.d.ts +0 -5
- package/dist/neutral/context/index.d.ts.map +0 -1
- package/dist/neutral/context/use.d.cts +0 -6
- package/dist/neutral/context/use.d.cts.map +0 -1
- package/dist/neutral/context/use.d.mts +0 -6
- package/dist/neutral/context/use.d.mts.map +0 -1
- package/dist/neutral/context/use.d.ts +0 -6
- package/dist/neutral/context/use.d.ts.map +0 -1
- package/dist/neutral/control/AbstractControl.d.cts +0 -21
- package/dist/neutral/control/AbstractControl.d.cts.map +0 -1
- package/dist/neutral/control/AbstractControl.d.mts +0 -21
- package/dist/neutral/control/AbstractControl.d.mts.map +0 -1
- package/dist/neutral/control/AbstractControl.d.ts +0 -21
- package/dist/neutral/control/AbstractControl.d.ts.map +0 -1
- package/dist/neutral/control/FormControl.d.cts +0 -25
- package/dist/neutral/control/FormControl.d.cts.map +0 -1
- package/dist/neutral/control/FormControl.d.mts +0 -25
- package/dist/neutral/control/FormControl.d.mts.map +0 -1
- package/dist/neutral/control/FormControl.d.ts +0 -25
- package/dist/neutral/control/FormControl.d.ts.map +0 -1
- package/dist/neutral/control/FormControlBase.d.cts +0 -26
- package/dist/neutral/control/FormControlBase.d.cts.map +0 -1
- package/dist/neutral/control/FormControlBase.d.mts +0 -26
- package/dist/neutral/control/FormControlBase.d.mts.map +0 -1
- package/dist/neutral/control/FormControlBase.d.ts +0 -26
- package/dist/neutral/control/FormControlBase.d.ts.map +0 -1
- package/dist/neutral/control/accessor/ControlValueAccessor.d.cts +0 -21
- package/dist/neutral/control/accessor/ControlValueAccessor.d.cts.map +0 -1
- package/dist/neutral/control/accessor/ControlValueAccessor.d.mts +0 -21
- package/dist/neutral/control/accessor/ControlValueAccessor.d.mts.map +0 -1
- package/dist/neutral/control/accessor/ControlValueAccessor.d.ts +0 -21
- package/dist/neutral/control/accessor/ControlValueAccessor.d.ts.map +0 -1
- package/dist/neutral/control/accessor/ControlValueAccessorBase.d.cts +0 -45
- package/dist/neutral/control/accessor/ControlValueAccessorBase.d.cts.map +0 -1
- package/dist/neutral/control/accessor/ControlValueAccessorBase.d.mts +0 -45
- package/dist/neutral/control/accessor/ControlValueAccessorBase.d.mts.map +0 -1
- package/dist/neutral/control/accessor/ControlValueAccessorBase.d.ts +0 -45
- package/dist/neutral/control/accessor/ControlValueAccessorBase.d.ts.map +0 -1
- package/dist/neutral/control/accessor/FormControlStatus.d.cts +0 -6
- package/dist/neutral/control/accessor/FormControlStatus.d.cts.map +0 -1
- package/dist/neutral/control/accessor/FormControlStatus.d.mts +0 -6
- package/dist/neutral/control/accessor/FormControlStatus.d.mts.map +0 -1
- package/dist/neutral/control/accessor/FormControlStatus.d.ts +0 -6
- package/dist/neutral/control/accessor/FormControlStatus.d.ts.map +0 -1
- package/dist/neutral/control/accessor/ValidControlValue.d.cts +0 -2
- package/dist/neutral/control/accessor/ValidControlValue.d.cts.map +0 -1
- package/dist/neutral/control/accessor/ValidControlValue.d.mts +0 -2
- package/dist/neutral/control/accessor/ValidControlValue.d.mts.map +0 -1
- package/dist/neutral/control/accessor/ValidControlValue.d.ts +0 -2
- package/dist/neutral/control/accessor/ValidControlValue.d.ts.map +0 -1
- package/dist/neutral/control/accessor/index.d.cts +0 -5
- package/dist/neutral/control/accessor/index.d.cts.map +0 -1
- package/dist/neutral/control/accessor/index.d.mts +0 -5
- package/dist/neutral/control/accessor/index.d.mts.map +0 -1
- package/dist/neutral/control/accessor/index.d.ts +0 -5
- package/dist/neutral/control/accessor/index.d.ts.map +0 -1
- package/dist/neutral/control/index.d.cts +0 -5
- package/dist/neutral/control/index.d.cts.map +0 -1
- package/dist/neutral/control/index.d.mts +0 -5
- package/dist/neutral/control/index.d.mts.map +0 -1
- package/dist/neutral/control/index.d.ts +0 -5
- package/dist/neutral/control/index.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -517
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -6
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -6
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts +0 -6
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/neutral/index.js +0 -494
- package/dist/neutral/index.js.map +0 -1
- package/dist/neutral/storage/ArchivistFormGroupStorage.d.cts +0 -13
- package/dist/neutral/storage/ArchivistFormGroupStorage.d.cts.map +0 -1
- package/dist/neutral/storage/ArchivistFormGroupStorage.d.mts +0 -13
- package/dist/neutral/storage/ArchivistFormGroupStorage.d.mts.map +0 -1
- package/dist/neutral/storage/ArchivistFormGroupStorage.d.ts +0 -13
- package/dist/neutral/storage/ArchivistFormGroupStorage.d.ts.map +0 -1
- package/dist/neutral/storage/FormGroupStorage.d.cts +0 -8
- package/dist/neutral/storage/FormGroupStorage.d.cts.map +0 -1
- package/dist/neutral/storage/FormGroupStorage.d.mts +0 -8
- package/dist/neutral/storage/FormGroupStorage.d.mts.map +0 -1
- package/dist/neutral/storage/FormGroupStorage.d.ts +0 -8
- package/dist/neutral/storage/FormGroupStorage.d.ts.map +0 -1
- package/dist/neutral/storage/index.d.cts +0 -3
- package/dist/neutral/storage/index.d.cts.map +0 -1
- package/dist/neutral/storage/index.d.mts +0 -3
- package/dist/neutral/storage/index.d.mts.map +0 -1
- package/dist/neutral/storage/index.d.ts +0 -3
- package/dist/neutral/storage/index.d.ts.map +0 -1
- package/dist/node/FormGroup.d.cts +0 -44
- package/dist/node/FormGroup.d.cts.map +0 -1
- package/dist/node/FormGroup.d.mts +0 -44
- package/dist/node/FormGroup.d.mts.map +0 -1
- package/dist/node/FormGroup.d.ts +0 -44
- package/dist/node/FormGroup.d.ts.map +0 -1
- package/dist/node/InputError.d.cts +0 -5
- package/dist/node/InputError.d.cts.map +0 -1
- package/dist/node/InputError.d.mts +0 -5
- package/dist/node/InputError.d.mts.map +0 -1
- package/dist/node/InputError.d.ts +0 -5
- package/dist/node/InputError.d.ts.map +0 -1
- package/dist/node/context/Context.d.cts +0 -7
- package/dist/node/context/Context.d.cts.map +0 -1
- package/dist/node/context/Context.d.mts +0 -7
- package/dist/node/context/Context.d.mts.map +0 -1
- package/dist/node/context/Context.d.ts +0 -7
- package/dist/node/context/Context.d.ts.map +0 -1
- package/dist/node/context/Provider.d.cts +0 -8
- package/dist/node/context/Provider.d.cts.map +0 -1
- package/dist/node/context/Provider.d.mts +0 -8
- package/dist/node/context/Provider.d.mts.map +0 -1
- package/dist/node/context/Provider.d.ts +0 -8
- package/dist/node/context/Provider.d.ts.map +0 -1
- package/dist/node/context/State.d.cts +0 -7
- package/dist/node/context/State.d.cts.map +0 -1
- package/dist/node/context/State.d.mts +0 -7
- package/dist/node/context/State.d.mts.map +0 -1
- package/dist/node/context/State.d.ts +0 -7
- package/dist/node/context/State.d.ts.map +0 -1
- package/dist/node/context/index.d.cts +0 -5
- package/dist/node/context/index.d.cts.map +0 -1
- package/dist/node/context/index.d.mts +0 -5
- package/dist/node/context/index.d.mts.map +0 -1
- package/dist/node/context/index.d.ts +0 -5
- package/dist/node/context/index.d.ts.map +0 -1
- package/dist/node/context/use.d.cts +0 -6
- package/dist/node/context/use.d.cts.map +0 -1
- package/dist/node/context/use.d.mts +0 -6
- package/dist/node/context/use.d.mts.map +0 -1
- package/dist/node/context/use.d.ts +0 -6
- package/dist/node/context/use.d.ts.map +0 -1
- package/dist/node/control/AbstractControl.d.cts +0 -21
- package/dist/node/control/AbstractControl.d.cts.map +0 -1
- package/dist/node/control/AbstractControl.d.mts +0 -21
- package/dist/node/control/AbstractControl.d.mts.map +0 -1
- package/dist/node/control/AbstractControl.d.ts +0 -21
- package/dist/node/control/AbstractControl.d.ts.map +0 -1
- package/dist/node/control/FormControl.d.cts +0 -25
- package/dist/node/control/FormControl.d.cts.map +0 -1
- package/dist/node/control/FormControl.d.mts +0 -25
- package/dist/node/control/FormControl.d.mts.map +0 -1
- package/dist/node/control/FormControl.d.ts +0 -25
- package/dist/node/control/FormControl.d.ts.map +0 -1
- package/dist/node/control/FormControlBase.d.cts +0 -26
- package/dist/node/control/FormControlBase.d.cts.map +0 -1
- package/dist/node/control/FormControlBase.d.mts +0 -26
- package/dist/node/control/FormControlBase.d.mts.map +0 -1
- package/dist/node/control/FormControlBase.d.ts +0 -26
- package/dist/node/control/FormControlBase.d.ts.map +0 -1
- package/dist/node/control/accessor/ControlValueAccessor.d.cts +0 -21
- package/dist/node/control/accessor/ControlValueAccessor.d.cts.map +0 -1
- package/dist/node/control/accessor/ControlValueAccessor.d.mts +0 -21
- package/dist/node/control/accessor/ControlValueAccessor.d.mts.map +0 -1
- package/dist/node/control/accessor/ControlValueAccessor.d.ts +0 -21
- package/dist/node/control/accessor/ControlValueAccessor.d.ts.map +0 -1
- package/dist/node/control/accessor/ControlValueAccessorBase.d.cts +0 -45
- package/dist/node/control/accessor/ControlValueAccessorBase.d.cts.map +0 -1
- package/dist/node/control/accessor/ControlValueAccessorBase.d.mts +0 -45
- package/dist/node/control/accessor/ControlValueAccessorBase.d.mts.map +0 -1
- package/dist/node/control/accessor/ControlValueAccessorBase.d.ts +0 -45
- package/dist/node/control/accessor/ControlValueAccessorBase.d.ts.map +0 -1
- package/dist/node/control/accessor/FormControlStatus.d.cts +0 -6
- package/dist/node/control/accessor/FormControlStatus.d.cts.map +0 -1
- package/dist/node/control/accessor/FormControlStatus.d.mts +0 -6
- package/dist/node/control/accessor/FormControlStatus.d.mts.map +0 -1
- package/dist/node/control/accessor/FormControlStatus.d.ts +0 -6
- package/dist/node/control/accessor/FormControlStatus.d.ts.map +0 -1
- package/dist/node/control/accessor/ValidControlValue.d.cts +0 -2
- package/dist/node/control/accessor/ValidControlValue.d.cts.map +0 -1
- package/dist/node/control/accessor/ValidControlValue.d.mts +0 -2
- package/dist/node/control/accessor/ValidControlValue.d.mts.map +0 -1
- package/dist/node/control/accessor/ValidControlValue.d.ts +0 -2
- package/dist/node/control/accessor/ValidControlValue.d.ts.map +0 -1
- package/dist/node/control/accessor/index.d.cts +0 -5
- package/dist/node/control/accessor/index.d.cts.map +0 -1
- package/dist/node/control/accessor/index.d.mts +0 -5
- package/dist/node/control/accessor/index.d.mts.map +0 -1
- package/dist/node/control/accessor/index.d.ts +0 -5
- package/dist/node/control/accessor/index.d.ts.map +0 -1
- package/dist/node/control/index.d.cts +0 -5
- package/dist/node/control/index.d.cts.map +0 -1
- package/dist/node/control/index.d.mts +0 -5
- package/dist/node/control/index.d.mts.map +0 -1
- package/dist/node/control/index.d.ts +0 -5
- package/dist/node/control/index.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -542
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -6
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -6
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts +0 -6
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.js +0 -503
- package/dist/node/index.js.map +0 -1
- package/dist/node/storage/ArchivistFormGroupStorage.d.cts +0 -13
- package/dist/node/storage/ArchivistFormGroupStorage.d.cts.map +0 -1
- package/dist/node/storage/ArchivistFormGroupStorage.d.mts +0 -13
- package/dist/node/storage/ArchivistFormGroupStorage.d.mts.map +0 -1
- package/dist/node/storage/ArchivistFormGroupStorage.d.ts +0 -13
- package/dist/node/storage/ArchivistFormGroupStorage.d.ts.map +0 -1
- package/dist/node/storage/FormGroupStorage.d.cts +0 -8
- package/dist/node/storage/FormGroupStorage.d.cts.map +0 -1
- package/dist/node/storage/FormGroupStorage.d.mts +0 -8
- package/dist/node/storage/FormGroupStorage.d.mts.map +0 -1
- package/dist/node/storage/FormGroupStorage.d.ts +0 -8
- package/dist/node/storage/FormGroupStorage.d.ts.map +0 -1
- package/dist/node/storage/index.d.cts +0 -3
- package/dist/node/storage/index.d.cts.map +0 -1
- package/dist/node/storage/index.d.mts +0 -3
- package/dist/node/storage/index.d.mts.map +0 -1
- package/dist/node/storage/index.d.ts +0 -3
- package/dist/node/storage/index.d.ts.map +0 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/context/Context.ts
|
|
2
5
|
import { createContextEx } from "@xyo-network/react-shared";
|
|
3
6
|
var FormGroupBaseContext = createContextEx();
|
|
4
7
|
|
|
5
8
|
// src/context/Provider.tsx
|
|
6
|
-
import { useMemo } from "react";
|
|
9
|
+
import React, { useMemo } from "react";
|
|
7
10
|
|
|
8
11
|
// src/FormGroup.ts
|
|
9
12
|
import { forget as forget3 } from "@xylabs/forget";
|
|
@@ -14,104 +17,113 @@ import { forget as forget2 } from "@xylabs/forget";
|
|
|
14
17
|
// src/control/accessor/ControlValueAccessorBase.ts
|
|
15
18
|
import { forget } from "@xylabs/forget";
|
|
16
19
|
import { BaseEmitter } from "@xyo-network/module-abstract";
|
|
17
|
-
var DefaultSetOptions = {
|
|
20
|
+
var DefaultSetOptions = {
|
|
21
|
+
disableEmit: false
|
|
22
|
+
};
|
|
18
23
|
var ControlValueAccessorBase = class extends BaseEmitter {
|
|
24
|
+
static {
|
|
25
|
+
__name(this, "ControlValueAccessorBase");
|
|
26
|
+
}
|
|
27
|
+
config;
|
|
28
|
+
_error;
|
|
29
|
+
_previousValue;
|
|
30
|
+
_serializeSettings;
|
|
31
|
+
_touched;
|
|
32
|
+
_value;
|
|
19
33
|
constructor(config) {
|
|
20
34
|
super({});
|
|
21
35
|
this.config = config;
|
|
36
|
+
this._error = "";
|
|
37
|
+
this._previousValue = void 0;
|
|
38
|
+
this._serializeSettings = {
|
|
39
|
+
sensitive: false,
|
|
40
|
+
serializable: false
|
|
41
|
+
};
|
|
42
|
+
this._touched = false;
|
|
43
|
+
this._value = void 0;
|
|
44
|
+
this.onChange = (_) => {
|
|
45
|
+
};
|
|
46
|
+
this.onErrorChange = () => {
|
|
47
|
+
};
|
|
48
|
+
this.onTouched = (_isTouched) => {
|
|
49
|
+
};
|
|
22
50
|
}
|
|
23
|
-
_error = "";
|
|
24
|
-
_previousValue = void 0;
|
|
25
|
-
_serializeSettings = { sensitive: false, serializable: false };
|
|
26
|
-
_touched = false;
|
|
27
|
-
_value = void 0;
|
|
28
51
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
52
|
+
* The error message for the control.
|
|
53
|
+
*/
|
|
31
54
|
get error() {
|
|
32
55
|
return this._error;
|
|
33
56
|
}
|
|
34
57
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
58
|
+
* The "previous value" of the input element.
|
|
59
|
+
*/
|
|
37
60
|
get previousValue() {
|
|
38
61
|
return this._previousValue;
|
|
39
62
|
}
|
|
40
63
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
64
|
+
* The serialize settings of the input element.
|
|
65
|
+
*/
|
|
43
66
|
get serializeSettings() {
|
|
44
67
|
return this._serializeSettings;
|
|
45
68
|
}
|
|
46
69
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
70
|
+
* The "touched" state of the input element.
|
|
71
|
+
*/
|
|
49
72
|
get touched() {
|
|
50
73
|
return this._touched;
|
|
51
74
|
}
|
|
52
75
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
* The current value of the input element.
|
|
77
|
+
*/
|
|
55
78
|
get value() {
|
|
56
79
|
return this._value;
|
|
57
80
|
}
|
|
81
|
+
onChange;
|
|
82
|
+
onErrorChange;
|
|
83
|
+
onTouched;
|
|
58
84
|
/**
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Registers a function called when the control error changes.
|
|
66
|
-
*/
|
|
67
|
-
onErrorChange = () => {
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* The registered callback function called when a blur event occurs on the input element.
|
|
71
|
-
*/
|
|
72
|
-
onTouched = (_isTouched) => {
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* Registers a function called when the control value changes.
|
|
76
|
-
* @param {(_value:ValidControlValue)=>void} fn
|
|
77
|
-
* @returns void
|
|
78
|
-
*/
|
|
85
|
+
* Registers a function called when the control value changes.
|
|
86
|
+
* @param {(_value:ValidControlValue)=>void} fn
|
|
87
|
+
* @returns void
|
|
88
|
+
*/
|
|
79
89
|
registerOnChange(fn) {
|
|
80
90
|
this.onChange = fn;
|
|
81
91
|
}
|
|
82
92
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
93
|
+
* Registers a function called when the control error changes.
|
|
94
|
+
* @param {(error:string)=>void} fn
|
|
95
|
+
*/
|
|
86
96
|
registerOnErrorChange(fn) {
|
|
87
97
|
this.onErrorChange = fn;
|
|
88
98
|
}
|
|
89
99
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
100
|
+
* Registers a function called when the control is touched.
|
|
101
|
+
* @param {(isTouched:boolean)=>void} fn
|
|
102
|
+
* @returns void
|
|
103
|
+
*/
|
|
94
104
|
registerOnTouched(fn) {
|
|
95
105
|
this.onTouched = fn;
|
|
96
106
|
}
|
|
97
107
|
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
108
|
+
* Sets the "touched" state of the input element.
|
|
109
|
+
* @param {boolean} isTouched
|
|
110
|
+
*/
|
|
101
111
|
setTouched(isTouched) {
|
|
102
112
|
if (this.touched !== isTouched) {
|
|
103
113
|
this._touched = isTouched;
|
|
104
114
|
this.onTouched(isTouched);
|
|
105
115
|
if (this.config.disableEvents) return;
|
|
106
|
-
const emit = async () => await this.emit("touchChanged", {
|
|
116
|
+
const emit = /* @__PURE__ */ __name(async () => await this.emit("touchChanged", {
|
|
117
|
+
touched: isTouched
|
|
118
|
+
}), "emit");
|
|
107
119
|
forget(emit());
|
|
108
120
|
}
|
|
109
121
|
}
|
|
110
122
|
/**
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
123
|
+
* Sets the "value" property on the input element.
|
|
124
|
+
* @param {ValidControlValue} value
|
|
125
|
+
* @returns void
|
|
126
|
+
*/
|
|
115
127
|
setValue(value, options = DefaultSetOptions) {
|
|
116
128
|
this._previousValue = this._value;
|
|
117
129
|
const normalizedValue = value == null ? "" : value;
|
|
@@ -119,35 +131,39 @@ var ControlValueAccessorBase = class extends BaseEmitter {
|
|
|
119
131
|
this._value = normalizedValue;
|
|
120
132
|
this.onChange(normalizedValue);
|
|
121
133
|
if (this.config.disableEvents || options.disableEmit) return;
|
|
122
|
-
const emit = async () => await this.emit("valueChanged", {
|
|
134
|
+
const emit = /* @__PURE__ */ __name(async () => await this.emit("valueChanged", {
|
|
135
|
+
value: normalizedValue
|
|
136
|
+
}), "emit");
|
|
123
137
|
forget(emit());
|
|
124
138
|
}
|
|
125
139
|
}
|
|
126
140
|
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
141
|
+
* Set the error message for the control.
|
|
142
|
+
* @param {string} error
|
|
143
|
+
*/
|
|
130
144
|
setError(error) {
|
|
131
145
|
if (this.error !== error) {
|
|
132
146
|
this._error = error;
|
|
133
147
|
this.onErrorChange(error);
|
|
134
148
|
if (this.config.disableEvents) return;
|
|
135
|
-
const emit = async () => await this.emit("errorChanged", {
|
|
149
|
+
const emit = /* @__PURE__ */ __name(async () => await this.emit("errorChanged", {
|
|
150
|
+
error
|
|
151
|
+
}), "emit");
|
|
136
152
|
forget(emit());
|
|
137
153
|
}
|
|
138
154
|
}
|
|
139
155
|
/**
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
156
|
+
* Sets the "previous value" of the input element.
|
|
157
|
+
* @param {ValidControlValue} value
|
|
158
|
+
* @returns void
|
|
159
|
+
*/
|
|
144
160
|
setPreviousValue(value) {
|
|
145
161
|
this._previousValue = value;
|
|
146
162
|
}
|
|
147
163
|
/**
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
164
|
+
* Sets the serialize settings of the input element.
|
|
165
|
+
* @param {ControlSerializeSettings} settings
|
|
166
|
+
*/
|
|
151
167
|
setSerializeSettings(settings) {
|
|
152
168
|
this._serializeSettings = settings;
|
|
153
169
|
}
|
|
@@ -161,69 +177,72 @@ var DISABLED = "DISABLED";
|
|
|
161
177
|
|
|
162
178
|
// src/control/AbstractControl.ts
|
|
163
179
|
var AbstractControl = class extends ControlValueAccessorBase {
|
|
180
|
+
static {
|
|
181
|
+
__name(this, "AbstractControl");
|
|
182
|
+
}
|
|
164
183
|
_status = void 0;
|
|
165
184
|
constructor() {
|
|
166
185
|
super({});
|
|
167
186
|
}
|
|
168
187
|
/**
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
188
|
+
* A control is `disabled` when its `status` is `DISABLED`.
|
|
189
|
+
*
|
|
190
|
+
* Disabled controls are exempt from validation checks and
|
|
191
|
+
* are not included in the aggregate value of their ancestor
|
|
192
|
+
* controls.
|
|
193
|
+
*
|
|
194
|
+
* @returns True if the control is disabled, false otherwise.
|
|
195
|
+
*/
|
|
177
196
|
/** @deprecated - disabled functionality not implemented */
|
|
178
197
|
get disabled() {
|
|
179
198
|
return this.status === DISABLED;
|
|
180
199
|
}
|
|
181
200
|
/**
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
201
|
+
* A control is `enabled` as long as its `status` is not `DISABLED`.
|
|
202
|
+
*
|
|
203
|
+
* @returns True if the control has any status other than 'DISABLED',
|
|
204
|
+
* false if the status is 'DISABLED'.
|
|
205
|
+
*/
|
|
187
206
|
get enabled() {
|
|
188
207
|
return this.status !== DISABLED;
|
|
189
208
|
}
|
|
190
209
|
/**
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
210
|
+
* A control is `invalid` when its `status` is `INVALID`.
|
|
211
|
+
|
|
212
|
+
*
|
|
213
|
+
* @returns True if this control has failed one or more of its validation checks,
|
|
214
|
+
* false otherwise.
|
|
215
|
+
*/
|
|
197
216
|
get invalid() {
|
|
198
217
|
return this.status === INVALID;
|
|
199
218
|
}
|
|
200
219
|
/**
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
220
|
+
* A control is `pending` when its `status` is `PENDING`.
|
|
221
|
+
*
|
|
222
|
+
* @returns True if this control is in the process of conducting a validation check,
|
|
223
|
+
* false otherwise.
|
|
224
|
+
*/
|
|
206
225
|
get pending() {
|
|
207
226
|
return this.status == PENDING;
|
|
208
227
|
}
|
|
209
228
|
/**
|
|
210
|
-
|
|
211
|
-
|
|
229
|
+
* The raw value of the control.
|
|
230
|
+
*/
|
|
212
231
|
get rawValue() {
|
|
213
232
|
return this.value;
|
|
214
233
|
}
|
|
215
234
|
/**
|
|
216
|
-
|
|
217
|
-
|
|
235
|
+
* The current status of the control.
|
|
236
|
+
*/
|
|
218
237
|
get status() {
|
|
219
238
|
return this._status;
|
|
220
239
|
}
|
|
221
240
|
/**
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
241
|
+
* A control is `valid` when its `status` is `VALID`.
|
|
242
|
+
*
|
|
243
|
+
* @returns True if the control has passed all of its validation tests,
|
|
244
|
+
* false otherwise.
|
|
245
|
+
*/
|
|
227
246
|
get valid() {
|
|
228
247
|
return this.status === VALID;
|
|
229
248
|
}
|
|
@@ -234,7 +253,9 @@ var AbstractControl = class extends ControlValueAccessorBase {
|
|
|
234
253
|
setStatus(status) {
|
|
235
254
|
if (this._status === status) return;
|
|
236
255
|
this._status = status;
|
|
237
|
-
const emit = async () => await this.emit("statusChanged", {
|
|
256
|
+
const emit = /* @__PURE__ */ __name(async () => await this.emit("statusChanged", {
|
|
257
|
+
status
|
|
258
|
+
}), "emit");
|
|
238
259
|
forget2(emit());
|
|
239
260
|
}
|
|
240
261
|
validate() {
|
|
@@ -245,10 +266,16 @@ var AbstractControl = class extends ControlValueAccessorBase {
|
|
|
245
266
|
// src/control/FormControlBase.ts
|
|
246
267
|
var AllowAllRegex = /^.*$/s;
|
|
247
268
|
var FormControlBase = class extends AbstractControl {
|
|
269
|
+
static {
|
|
270
|
+
__name(this, "FormControlBase");
|
|
271
|
+
}
|
|
248
272
|
/**
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
cursorPosition = {
|
|
273
|
+
* The current and previous cursor position of the input element.
|
|
274
|
+
*/
|
|
275
|
+
cursorPosition = {
|
|
276
|
+
current: void 0,
|
|
277
|
+
previous: void 0
|
|
278
|
+
};
|
|
252
279
|
invalidMessage = "Invalid input";
|
|
253
280
|
pattern = AllowAllRegex;
|
|
254
281
|
patternStrict = AllowAllRegex;
|
|
@@ -264,8 +291,8 @@ var FormControlBase = class extends AbstractControl {
|
|
|
264
291
|
get rawValue() {
|
|
265
292
|
return this.unmask && this.value ? this.unmask(this.value) : this.value;
|
|
266
293
|
}
|
|
267
|
-
onCursorChange = () => {
|
|
268
|
-
};
|
|
294
|
+
onCursorChange = /* @__PURE__ */ __name(() => {
|
|
295
|
+
}, "onCursorChange");
|
|
269
296
|
setValue(value = "", setOptions) {
|
|
270
297
|
if (this.unmask && this.pattern) {
|
|
271
298
|
const unmasked = this.unmask(value);
|
|
@@ -298,14 +325,22 @@ var FormControlBase = class extends AbstractControl {
|
|
|
298
325
|
|
|
299
326
|
// src/FormGroup.ts
|
|
300
327
|
var FormGroup = class extends AbstractControl {
|
|
328
|
+
static {
|
|
329
|
+
__name(this, "FormGroup");
|
|
330
|
+
}
|
|
331
|
+
fgParams;
|
|
332
|
+
_controls;
|
|
333
|
+
serializeListeners;
|
|
334
|
+
serializedSensitiveState;
|
|
335
|
+
serializedState;
|
|
301
336
|
constructor(fgParams) {
|
|
302
337
|
super();
|
|
303
338
|
this.fgParams = fgParams;
|
|
339
|
+
this._controls = {};
|
|
340
|
+
this.serializeListeners = {};
|
|
341
|
+
this.serializedSensitiveState = {};
|
|
342
|
+
this.serializedState = {};
|
|
304
343
|
}
|
|
305
|
-
_controls = {};
|
|
306
|
-
serializeListeners = {};
|
|
307
|
-
serializedSensitiveState = {};
|
|
308
|
-
serializedState = {};
|
|
309
344
|
get errorSummary() {
|
|
310
345
|
const errorSummary = {
|
|
311
346
|
errorMessage: "",
|
|
@@ -411,7 +446,7 @@ var FormGroup = class extends AbstractControl {
|
|
|
411
446
|
if (!shouldSerialize && (storage || sensitiveStorage)) console.warn("storage medium set but serialize is not enabled");
|
|
412
447
|
if (shouldSerialize && control.serializeSettings.serializable) {
|
|
413
448
|
this.setStateValueFromStorage(name, control);
|
|
414
|
-
const listener = ({ value }) => {
|
|
449
|
+
const listener = /* @__PURE__ */ __name(({ value }) => {
|
|
415
450
|
if (control.serializeSettings.serializable) {
|
|
416
451
|
const targetStorage = control.serializeSettings.sensitive ? sensitiveStorage : storage;
|
|
417
452
|
const targetState = control.serializeSettings.sensitive ? this.serializedSensitiveState : this.serializedState;
|
|
@@ -420,48 +455,64 @@ var FormGroup = class extends AbstractControl {
|
|
|
420
455
|
payloadWithTimestamp.timestamp = Date.now();
|
|
421
456
|
this.serializeValues(targetStorage, targetState);
|
|
422
457
|
}
|
|
423
|
-
};
|
|
458
|
+
}, "listener");
|
|
424
459
|
control.on("valueChanged", listener);
|
|
425
460
|
this.serializeListeners[name] = listener;
|
|
426
461
|
}
|
|
427
462
|
}
|
|
428
463
|
serializeValues(storage, values) {
|
|
429
464
|
if (storage && values) {
|
|
430
|
-
const write = async () => await storage.insert(values);
|
|
431
|
-
const clear = async () => await storage.clear();
|
|
465
|
+
const write = /* @__PURE__ */ __name(async () => await storage.insert(values), "write");
|
|
466
|
+
const clear = /* @__PURE__ */ __name(async () => await storage.clear(), "clear");
|
|
432
467
|
forget3(clear());
|
|
433
468
|
forget3(write());
|
|
434
469
|
}
|
|
435
470
|
}
|
|
436
471
|
setStateValueFromStorage(name, control) {
|
|
437
|
-
const read = async () => {
|
|
472
|
+
const read = /* @__PURE__ */ __name(async () => {
|
|
438
473
|
const savedValue = await this.getSerializedValue(name, control.serializeSettings.sensitive);
|
|
439
474
|
if (savedValue) {
|
|
440
475
|
const targetState = control.serializeSettings.sensitive ? this.serializedSensitiveState : this.serializedState;
|
|
441
476
|
targetState[name] = savedValue;
|
|
442
|
-
control.setValue(savedValue, {
|
|
477
|
+
control.setValue(savedValue, {
|
|
478
|
+
disableEmit: true
|
|
479
|
+
});
|
|
443
480
|
}
|
|
444
|
-
};
|
|
481
|
+
}, "read");
|
|
445
482
|
forget3(read());
|
|
446
483
|
}
|
|
447
484
|
};
|
|
448
485
|
|
|
449
486
|
// src/context/Provider.tsx
|
|
450
|
-
|
|
451
|
-
var FormGroupPayloadProvider = ({ children, params, ...props }) => {
|
|
487
|
+
var FormGroupPayloadProvider = /* @__PURE__ */ __name(({ children, params, ...props }) => {
|
|
452
488
|
const formGroup = useMemo(() => {
|
|
453
489
|
const formGroup2 = new FormGroup(params);
|
|
454
490
|
return formGroup2;
|
|
455
|
-
}, [
|
|
456
|
-
|
|
457
|
-
|
|
491
|
+
}, [
|
|
492
|
+
params
|
|
493
|
+
]);
|
|
494
|
+
return (
|
|
495
|
+
// eslint-disable-next-line @eslint-react/no-unstable-context-value
|
|
496
|
+
/* @__PURE__ */ React.createElement(FormGroupBaseContext.Provider, {
|
|
497
|
+
value: {
|
|
498
|
+
formGroup,
|
|
499
|
+
provided: true
|
|
500
|
+
},
|
|
501
|
+
...props
|
|
502
|
+
}, children)
|
|
503
|
+
);
|
|
504
|
+
}, "FormGroupPayloadProvider");
|
|
458
505
|
|
|
459
|
-
// src/context/use.
|
|
506
|
+
// src/context/use.ts
|
|
460
507
|
import { useContextEx } from "@xyo-network/react-shared";
|
|
461
|
-
var useFormGroup = (required = false) => useContextEx(FormGroupBaseContext, "FormGroup", required);
|
|
508
|
+
var useFormGroup = /* @__PURE__ */ __name((required = false) => useContextEx(FormGroupBaseContext, "FormGroup", required), "useFormGroup");
|
|
462
509
|
|
|
463
510
|
// src/storage/ArchivistFormGroupStorage.ts
|
|
464
511
|
var ArchivistFormGroupStorage = class {
|
|
512
|
+
static {
|
|
513
|
+
__name(this, "ArchivistFormGroupStorage");
|
|
514
|
+
}
|
|
515
|
+
archivist;
|
|
465
516
|
constructor(archivist) {
|
|
466
517
|
this.archivist = archivist;
|
|
467
518
|
}
|
|
@@ -473,7 +524,9 @@ var ArchivistFormGroupStorage = class {
|
|
|
473
524
|
return all.at(-1);
|
|
474
525
|
}
|
|
475
526
|
async insert(value) {
|
|
476
|
-
await this.archivist.insert?.([
|
|
527
|
+
await this.archivist.insert?.([
|
|
528
|
+
value
|
|
529
|
+
]);
|
|
477
530
|
}
|
|
478
531
|
};
|
|
479
532
|
export {
|
|
@@ -491,4 +544,4 @@ export {
|
|
|
491
544
|
VALID,
|
|
492
545
|
useFormGroup
|
|
493
546
|
};
|
|
494
|
-
//# sourceMappingURL=index.
|
|
547
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/context/Context.ts","../../src/context/Provider.tsx","../../src/FormGroup.ts","../../src/control/AbstractControl.ts","../../src/control/accessor/ControlValueAccessorBase.ts","../../src/control/accessor/FormControlStatus.ts","../../src/control/FormControlBase.ts","../../src/context/use.ts","../../src/storage/ArchivistFormGroupStorage.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { FormGroupContextWithPayloadState } from './State.ts'\n\nexport const FormGroupBaseContext = createContextEx<FormGroupContextWithPayloadState>()\n","import { Payload } from '@xyo-network/payload-model'\nimport React, { PropsWithChildren, useMemo } from 'react'\n\nimport { FormGroup, FormGroupParams } from '../FormGroup.ts'\nimport { FormGroupBaseContext } from './Context.ts'\n\nexport interface FormGroupPayloadProviderProps<TStorage extends Payload = Payload> extends PropsWithChildren {\n params?: FormGroupParams<TStorage>\n}\n\n/**\n * Provides a FormGroup to child components.\n */\nexport const FormGroupPayloadProvider = ({ children, params, ...props }: FormGroupPayloadProviderProps) => {\n const formGroup = useMemo(() => {\n const formGroup = new FormGroup<Payload, Payload>(params)\n return formGroup\n }, [params])\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <FormGroupBaseContext.Provider value={{ formGroup, provided: true }} {...props}>\n {children}\n </FormGroupBaseContext.Provider>\n )\n}\n","import { forget } from '@xylabs/forget'\nimport { EventListener } from '@xyo-network/module-events'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { AbstractControl, ControlValueAccessorBaseEvents } from './control/index.ts'\nimport { ErrorSummary } from './InputError.ts'\nimport { FormGroupStorage } from './storage/index.ts'\n\nexport type PayloadWithTimestamp = Payload<{ timestamp?: number }>\n\nexport type KeyOfString<T> = keyof T extends string ? keyof T : never\n\ntype FormGroupErrors<TValue> = Record<KeyOfString<TValue>, string>\n\nexport type FormGroupParams<TStorageValue extends Payload = Payload> = {\n serialize?: boolean\n storage?: {\n sensitive?: FormGroupStorage<TStorageValue>\n storage?: FormGroupStorage<TStorageValue>\n }\n ttlStorage?: number\n}\n\ntype ValueChangeEventListener = EventListener<ControlValueAccessorBaseEvents['valueChanged']>\n\n/**\n * Organize form controls in a group.\n *\n * NOTE: This is a work in progress and only supports top level controls. Nested controls are not supported.\n */\nexport class FormGroup<\n TValue extends PayloadWithTimestamp = PayloadWithTimestamp,\n TStorageValue extends PayloadWithTimestamp = PayloadWithTimestamp,\n> extends AbstractControl {\n private _controls = {} as Record<KeyOfString<TValue>, AbstractControl>\n\n private serializeListeners: Record<string, ValueChangeEventListener> = {}\n\n private serializedSensitiveState = {} as Record<KeyOfString<TStorageValue>, string>\n private serializedState = {} as Record<KeyOfString<TStorageValue>, string>\n\n constructor(private fgParams?: FormGroupParams<TStorageValue>) {\n super()\n }\n\n get errorSummary() {\n const errorSummary: ErrorSummary = {\n errorMessage: '',\n invalidFields: [],\n }\n for (const [key, value] of Object.entries(this.errors)) {\n if (value) {\n errorSummary.errorMessage = `${errorSummary.errorMessage}, ${value}`\n errorSummary.invalidFields.push(key)\n }\n }\n\n return errorSummary\n }\n\n get errors(): FormGroupErrors<TValue> {\n const value = {} as FormGroupErrors<TValue>\n for (const key in this._controls) {\n const castKey = key as KeyOfString<TValue>\n value[castKey] = this._controls[castKey].error\n }\n return value\n }\n\n get nonSensitiveStorage() {\n return this.fgParams?.storage?.storage\n }\n\n get sensitiveStorage() {\n return this.fgParams?.storage?.sensitive\n }\n\n override get touched() {\n return Object.values<AbstractControl>(this._controls).some(control => control.touched)\n }\n\n override get valid() {\n return Object.values<AbstractControl>(this._controls).every(control => control.valid)\n }\n\n get values(): TValue {\n const value = {} as TValue\n for (const key in this._controls) {\n const castKey = key as KeyOfString<TValue>\n value[castKey] = this._controls[castKey].rawValue as TValue[KeyOfString<TValue>]\n }\n return value\n }\n\n getControl(name: string) {\n return this._controls[name as KeyOfString<TValue>]\n }\n\n async getSerializedValue(name: string, sensitive = false): Promise<string | undefined> {\n const storage = sensitive ? this.sensitiveStorage : this.nonSensitiveStorage\n if (storage) {\n if (!storage) {\n console.warn(`Cannot return value for ${name}. No storage set`)\n return\n }\n\n const savedState = await storage.get()\n if (savedState && name in savedState) {\n const savedValue = savedState[name as keyof typeof savedState] as string\n\n // casting to PayloadWithTimestamp to check for timestamp\n const savedStateWithTimestamp = savedState as unknown as PayloadWithTimestamp\n if (savedStateWithTimestamp.timestamp && this.fgParams?.ttlStorage) {\n const expirationDate = savedStateWithTimestamp.timestamp + (this.fgParams?.ttlStorage ?? 0)\n const now = Date.now()\n return now > expirationDate ? undefined : savedValue\n }\n return savedValue\n }\n }\n }\n\n registerControl(name: string, control: AbstractControl) {\n if (this._controls[name as KeyOfString<TValue>]) console.error(`Replacing Control with name ${name} since it already exists!`)\n this._controls[name as KeyOfString<TValue>] = control\n this.serializeControlValue(name, control)\n }\n\n resetControls() {\n for (const key in this._controls) {\n this.unregisterControl(key)\n }\n }\n\n resetValues() {\n for (const control of Object.values<AbstractControl>(this._controls)) {\n control.setValue('')\n }\n }\n\n unregisterControl(name: string) {\n const control = this._controls[name as KeyOfString<TValue>]\n\n if (control) {\n const listener = this.serializeListeners[name]\n control.off('valueChanged', listener)\n delete this.serializeListeners[name]\n delete this._controls[name as KeyOfString<TValue>]\n }\n }\n\n validateFields(requiredFields?: string[] | undefined) {\n const castRequiredFields = requiredFields as KeyOfString<TValue>[]\n for (const key in this._controls) {\n const castKey = key as KeyOfString<TValue>\n if (castRequiredFields === undefined || castRequiredFields.includes(castKey)) {\n const control = this._controls[castKey]\n control.validate()\n }\n }\n }\n\n private serializeControlValue(name: string, control: AbstractControl) {\n const shouldSerialize = this.fgParams?.serialize\n const sensitiveStorage = this.sensitiveStorage\n const storage = this.nonSensitiveStorage\n\n if (!shouldSerialize && (storage || sensitiveStorage)) console.warn('storage medium set but serialize is not enabled')\n\n if (shouldSerialize && control.serializeSettings.serializable) {\n this.setStateValueFromStorage(name, control)\n\n const listener: ValueChangeEventListener = ({ value }) => {\n // detect if control wants to be serialized\n if (control.serializeSettings.serializable) {\n // detect control's preferred storage\n const targetStorage = control.serializeSettings.sensitive ? sensitiveStorage : storage\n\n // detect control's preferred state\n const targetState = control.serializeSettings.sensitive ? this.serializedSensitiveState : this.serializedState\n\n // set the value\n targetState[name as KeyOfString<TStorageValue>] = value ?? ''\n\n // add a timestamp\n const payloadWithTimestamp = targetState as PayloadWithTimestamp\n payloadWithTimestamp.timestamp = Date.now()\n\n // serialize the value\n this.serializeValues(targetStorage, targetState as TStorageValue)\n }\n }\n\n // listen for value changes\n control.on('valueChanged', listener)\n\n // store the listener for later removal\n this.serializeListeners[name] = listener\n }\n }\n\n private serializeValues(storage?: FormGroupStorage<TStorageValue>, values?: TStorageValue) {\n if (storage && values) {\n const write = async () => await storage.insert(values)\n const clear = async () => await storage.clear()\n\n forget(clear())\n forget(write())\n }\n }\n\n private setStateValueFromStorage(name: string, control: AbstractControl) {\n const read = async () => {\n const savedValue = await this.getSerializedValue(name, control.serializeSettings.sensitive)\n\n if (savedValue) {\n const targetState = control.serializeSettings.sensitive ? this.serializedSensitiveState : this.serializedState\n targetState[name as KeyOfString<TStorageValue>] = savedValue\n\n control.setValue(savedValue, { disableEmit: true })\n }\n }\n\n forget(read())\n }\n}\n","import { forget } from '@xylabs/forget'\n\nimport {\n ControlValueAccessorBase,\n ControlValueAccessorBaseEvents,\n DISABLED,\n FormControlStatus,\n INVALID,\n PENDING,\n VALID,\n ValidControlValue,\n} from './accessor/index.ts'\n\nexport type AbstractControlEvents<TValue> = ControlValueAccessorBaseEvents<TValue> & {\n statusChanged: { status: FormControlStatus }\n}\n\n/**\n * This is the base class for `Control` classes (i.e. FormControl),\n *\n * It provides some of the shared behavior that all controls and groups of controls have, like\n * running validators, calculating status, and resetting state. It also defines the properties\n * that are shared between all sub-classes, like `value`, `valid`, and `dirty`. It shouldn't be\n * instantiated directly.\n *\n * NOTE: Heavily borrowed from Angular's AbstractControl:\n * https://github.com/angular/angular/blob/5dcdbfcba934a930468aec140a7183b034466bdf/packages/forms/src/model/abstract_model.ts\n */\nexport class AbstractControl<TValue extends ValidControlValue = ValidControlValue> extends ControlValueAccessorBase<\n TValue,\n AbstractControlEvents<TValue>\n> {\n private _status: FormControlStatus | undefined = undefined\n\n constructor() {\n super({})\n }\n\n /**\n * A control is `disabled` when its `status` is `DISABLED`.\n *\n * Disabled controls are exempt from validation checks and\n * are not included in the aggregate value of their ancestor\n * controls.\n *\n * @returns True if the control is disabled, false otherwise.\n */\n /** @deprecated - disabled functionality not implemented */\n get disabled(): boolean {\n return this.status === DISABLED\n }\n\n /**\n * A control is `enabled` as long as its `status` is not `DISABLED`.\n *\n * @returns True if the control has any status other than 'DISABLED',\n * false if the status is 'DISABLED'.\n */\n get enabled(): boolean {\n return this.status !== DISABLED\n }\n\n /**\n * A control is `invalid` when its `status` is `INVALID`.\n\n *\n * @returns True if this control has failed one or more of its validation checks,\n * false otherwise.\n */\n get invalid(): boolean {\n return this.status === INVALID\n }\n\n /**\n * A control is `pending` when its `status` is `PENDING`.\n *\n * @returns True if this control is in the process of conducting a validation check,\n * false otherwise.\n */\n get pending(): boolean {\n return this.status == PENDING\n }\n\n /**\n * The raw value of the control.\n */\n get rawValue(): TValue {\n return this.value\n }\n\n /**\n * The current status of the control.\n */\n get status() {\n return this._status\n }\n\n /**\n * A control is `valid` when its `status` is `VALID`.\n *\n * @returns True if the control has passed all of its validation tests,\n * false otherwise.\n */\n get valid(): boolean {\n return this.status === VALID\n }\n\n setErrorAndValidity(error: string, status: FormControlStatus) {\n this.setError(error)\n this.setStatus(status)\n }\n\n setStatus(status: FormControlStatus) {\n if (this._status === status) return\n\n this._status = status\n\n const emit = async () => await this.emit('statusChanged', { status })\n forget(emit())\n }\n\n validate(): boolean {\n return true\n }\n}\n","import { forget } from '@xylabs/forget'\nimport { BaseParams } from '@xylabs/object'\nimport { BaseEmitter } from '@xyo-network/module-abstract'\n\nimport { ControlSerializeSettings, ControlValueAccessor, SetOptions } from './ControlValueAccessor.ts'\nimport { ValidControlValue } from './ValidControlValue.ts'\n\nexport type ControlValueAccessorBaseConfig = {\n disableEvents?: boolean\n}\n\nexport const DefaultSetOptions: SetOptions = { disableEmit: false }\n\nexport type ControlValueAccessorBaseEvents<TValue = ValidControlValue> = {\n errorChanged: { error: string }\n touchChanged: { touched: boolean }\n valueChanged: { value: TValue }\n}\n\n/**\n * The base class for control value accessors interface\n */\nexport class ControlValueAccessorBase<\n TValue = ValidControlValue,\n TEventData extends ControlValueAccessorBaseEvents<TValue> = ControlValueAccessorBaseEvents<TValue>,\n>\n extends BaseEmitter<BaseParams, TEventData>\n implements ControlValueAccessor<TValue> {\n private _error: string = ''\n\n private _previousValue = undefined as TValue\n\n private _serializeSettings: ControlSerializeSettings = { sensitive: false, serializable: false }\n\n private _touched: boolean = false\n\n private _value = undefined as TValue\n\n constructor(private config: ControlValueAccessorBaseConfig) {\n super({})\n }\n\n /**\n * The error message for the control.\n */\n get error() {\n return this._error\n }\n\n /**\n * The \"previous value\" of the input element.\n */\n get previousValue() {\n return this._previousValue\n }\n\n /**\n * The serialize settings of the input element.\n */\n get serializeSettings() {\n return this._serializeSettings\n }\n\n /**\n * The \"touched\" state of the input element.\n */\n get touched() {\n return this._touched\n }\n\n /**\n * The current value of the input element.\n */\n get value() {\n return this._value\n }\n\n /**\n * The registered callback function called when a change or input event occurs on the input\n * element.\n */\n onChange = (_: TValue) => {}\n\n /**\n * Registers a function called when the control error changes.\n */\n onErrorChange: (error: string) => void = () => {}\n\n /**\n * The registered callback function called when a blur event occurs on the input element.\n */\n onTouched = (_isTouched: boolean) => {}\n\n /**\n * Registers a function called when the control value changes.\n * @param {(_value:ValidControlValue)=>void} fn\n * @returns void\n */\n registerOnChange(fn: (_value: TValue) => void): void {\n this.onChange = fn\n }\n\n /**\n * Registers a function called when the control error changes.\n * @param {(error:string)=>void} fn\n */\n registerOnErrorChange(fn: (error: string) => void) {\n this.onErrorChange = fn\n }\n\n /**\n * Registers a function called when the control is touched.\n * @param {(isTouched:boolean)=>void} fn\n * @returns void\n */\n registerOnTouched(fn: (isTouched: boolean) => void): void {\n this.onTouched = fn\n }\n\n /**\n * Sets the \"touched\" state of the input element.\n * @param {boolean} isTouched\n */\n setTouched(isTouched: boolean) {\n if (this.touched !== isTouched) {\n this._touched = isTouched\n this.onTouched(isTouched)\n\n if (this.config.disableEvents) return\n const emit = async () => await this.emit('touchChanged', { touched: isTouched })\n forget(emit())\n }\n }\n\n /**\n * Sets the \"value\" property on the input element.\n * @param {ValidControlValue} value\n * @returns void\n */\n setValue(value: TValue, options = DefaultSetOptions): void {\n this._previousValue = this._value\n\n const normalizedValue = value == null ? ('' as TValue) : value\n\n if (this.value !== normalizedValue) {\n this._value = normalizedValue\n this.onChange(normalizedValue)\n\n if (this.config.disableEvents || options.disableEmit) return\n const emit = async () => await this.emit('valueChanged', { value: normalizedValue })\n forget(emit())\n }\n }\n\n /**\n * Set the error message for the control.\n * @param {string} error\n */\n protected setError(error: string) {\n if (this.error !== error) {\n this._error = error\n this.onErrorChange(error)\n\n if (this.config.disableEvents) return\n const emit = async () => await this.emit('errorChanged', { error })\n forget(emit())\n }\n }\n\n /**\n * Sets the \"previous value\" of the input element.\n * @param {ValidControlValue} value\n * @returns void\n */\n protected setPreviousValue(value: TValue): void {\n this._previousValue = value\n }\n\n /**\n * Sets the serialize settings of the input element.\n * @param {ControlSerializeSettings} settings\n */\n protected setSerializeSettings(settings: ControlSerializeSettings) {\n this._serializeSettings = settings\n }\n}\n","/**\n * Reports that a control is valid, meaning that no errors exist in the input value.\n */\nexport const VALID = 'VALID' as const\n\n/**\n * Reports that a control is invalid, meaning that an error exists in the input value.\n */\nexport const INVALID = 'INVALID' as const\n\n/**\n * Reports that a control is pending, meaning that async validation is occurring and\n * errors are not yet available for the input value.\n */\nexport const PENDING = 'PENDING' as const\n\n/**\n * Reports that a control is disabled, meaning that the control is exempt from ancestor\n * calculations of validity or value.\n */\nexport const DISABLED = 'DISABLED' as const\n\n/**\n * A control can have several different statuses. Each\n * possible status is returned as a string literal.\n *\n * * **VALID**: Reports that a control is valid, meaning that no errors exist in the input\n * value.\n * * **INVALID**: Reports that a control is invalid, meaning that an error exists in the input\n * value.\n * * **PENDING**: Reports that a control is pending, meaning that async validation is\n * occurring and errors are not yet available for the input value.\n * * **DISABLED**: Reports that a control is\n * disabled, meaning that the control is exempt from ancestor calculations of validity or value.\n */\nexport type FormControlStatus = typeof VALID | typeof INVALID | typeof PENDING | typeof DISABLED\n","import { EmptyObject } from '@xylabs/object'\n\nimport { AbstractControl } from './AbstractControl.ts'\nimport { SetOptions } from './accessor/index.ts'\nimport { CursorPosition, FormControl } from './FormControl.ts'\n\nconst AllowAllRegex = /^.*$/s\n\n/**\n * A base class for form controls and their validation.\n */\nexport abstract class FormControlBase<TProps extends EmptyObject = EmptyObject> extends AbstractControl implements FormControl {\n /**\n * The current and previous cursor position of the input element.\n */\n cursorPosition: CursorPosition = { current: undefined, previous: undefined }\n invalidMessage = 'Invalid input'\n pattern = AllowAllRegex\n patternStrict = AllowAllRegex\n props = {} as TProps\n required = false\n\n private _name: string | undefined = undefined\n\n constructor() {\n super()\n }\n\n get name() {\n return this._name\n }\n\n override get rawValue() {\n return this.unmask && this.value ? this.unmask(this.value) : this.value\n }\n\n blurError?(value: string): void | undefined\n changeError?(value: string): void\n getCursorPosition?(): number | undefined\n mask?(value: string): string\n onCursorChange: (cursor: number | undefined) => void = () => {}\n\n override setValue(value: string = '', setOptions: SetOptions) {\n // check for pattern validation\n if (this.unmask && this.pattern) {\n const unmasked = this.unmask(value)\n const match = unmasked.match(this.pattern)\n // set the new value before checking for errors\n super.setValue(this.mask ? this.mask(unmasked) : unmasked, setOptions)\n if (match) {\n // if the value matches the pattern, update the cursor position\n if (this.getCursorPosition) {\n const newCursor = this.getCursorPosition()\n this.onCursorChange(newCursor)\n }\n } else {\n // if no match, set the error and return to the previous value\n this.setValue(this.previousValue, setOptions)\n this.onCursorChange?.(this.cursorPosition.previous)\n }\n } else {\n // if no mask or pattern, just set the value\n super.setValue(value, setOptions)\n }\n // check for changeError validation after pattern validation\n this.changeError?.(value)\n }\n\n unmask?(value: string): string\n\n // For FormControls, validate is the same as running one of the error checking functions\n override validate(): boolean {\n const normalizedValue = this.value ?? ''\n // prefer the blurError function since validation assumes the user is done typing\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.blurError ? this.blurError(normalizedValue) : this.changeError?.(normalizedValue)\n return !this.error\n }\n\n protected setName(name: string | undefined) {\n this._name = name\n }\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { FormGroupBaseContext } from './Context.ts'\n\nexport const useFormGroup = (required = false) => useContextEx(FormGroupBaseContext, 'FormGroup', required)\n","import { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { FormGroupStorage } from './FormGroupStorage.ts'\n\nexport class ArchivistFormGroupStorage implements FormGroupStorage {\n constructor(private archivist: ArchivistInstance) {}\n\n async clear() {\n await this.archivist.clear?.()\n }\n\n async get() {\n const all = await this.archivist.all?.()\n return all.at(-1)\n }\n\n async insert(value: Payload) {\n await this.archivist.insert?.([value])\n }\n}\n"],"mappings":"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","names":["createContextEx","FormGroupBaseContext","React","useMemo","forget","forget","forget","BaseEmitter","DefaultSetOptions","disableEmit","ControlValueAccessorBase","BaseEmitter","_error","_previousValue","_serializeSettings","_touched","_value","constructor","config","undefined","sensitive","serializable","onChange","_","onErrorChange","onTouched","_isTouched","error","previousValue","serializeSettings","touched","value","registerOnChange","fn","registerOnErrorChange","registerOnTouched","setTouched","isTouched","disableEvents","emit","forget","setValue","options","normalizedValue","setError","setPreviousValue","setSerializeSettings","settings","VALID","INVALID","PENDING","DISABLED","AbstractControl","ControlValueAccessorBase","_status","undefined","constructor","disabled","status","DISABLED","enabled","invalid","INVALID","pending","PENDING","rawValue","value","valid","VALID","setErrorAndValidity","error","setError","setStatus","emit","forget","validate","AllowAllRegex","FormControlBase","AbstractControl","cursorPosition","current","undefined","previous","invalidMessage","pattern","patternStrict","props","required","_name","constructor","name","rawValue","unmask","value","onCursorChange","setValue","setOptions","unmasked","match","mask","getCursorPosition","newCursor","previousValue","changeError","validate","normalizedValue","blurError","error","setName","FormGroup","AbstractControl","_controls","serializeListeners","serializedSensitiveState","serializedState","constructor","fgParams","errorSummary","errorMessage","invalidFields","key","value","Object","entries","errors","push","castKey","error","nonSensitiveStorage","storage","sensitiveStorage","sensitive","touched","values","some","control","valid","every","rawValue","getControl","name","getSerializedValue","console","warn","savedState","get","savedValue","savedStateWithTimestamp","timestamp","ttlStorage","expirationDate","now","Date","undefined","registerControl","serializeControlValue","resetControls","unregisterControl","resetValues","setValue","listener","off","validateFields","requiredFields","castRequiredFields","includes","validate","shouldSerialize","serialize","serializeSettings","serializable","setStateValueFromStorage","targetStorage","targetState","payloadWithTimestamp","serializeValues","on","write","insert","clear","forget","read","disableEmit","FormGroupPayloadProvider","children","params","props","formGroup","useMemo","FormGroup","FormGroupBaseContext","Provider","value","provided","useContextEx","useFormGroup","required","useContextEx","FormGroupBaseContext","ArchivistFormGroupStorage","constructor","archivist","clear","get","all","at","insert","value"]}
|