@ngxs/form-plugin 21.0.0-dev.master-cc2731d → 21.0.0-dev.master-416d6de

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.
@@ -308,7 +308,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
308
308
  args: ['ngxsFormClearOnDestroy']
309
309
  }] } });
310
310
 
311
+ /**
312
+ * @deprecated Use `withNgxsFormPlugin()` instead.
313
+ */
311
314
  class NgxsFormPluginModule {
315
+ /**
316
+ * @deprecated Use `withNgxsFormPlugin()` instead.
317
+ */
312
318
  static forRoot() {
313
319
  return {
314
320
  ngModule: NgxsFormPluginModule,
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-form-plugin.mjs","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static readonly type = '[Forms] Update Form Status';\n\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static readonly type = '[Forms] Update Form Value';\n\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static readonly type = '[Forms] Update Form';\n\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static readonly type = '[Forms] Update Form Dirty';\n\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static readonly type = '[Forms] Set Form Dirty';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static readonly type = '[Forms] Set Form Pristine';\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static readonly type = '[Forms] Update Form Errors';\n\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static readonly type = '[Forms] Set Form Disabled';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static readonly type = '[Forms] Set Form Enabled';\n\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static readonly type = '[Forms] Reset Form';\n\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store/plugins';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import {\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n inject,\n Input,\n OnInit\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, ofActionDispatched, Store } from '@ngxs/store';\nimport { getValue } from '@ngxs/store/plugins';\nimport { Observable, debounceTime, distinctUntilChanged } from 'rxjs';\n\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]', standalone: true })\nexport class NgxsFormDirective implements OnInit {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n set debounce(debounce: string | number) {\n this._debounce = Number(debounce);\n }\n get debounce() {\n return this._debounce;\n }\n private _debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n private _clearDestroy = false;\n\n private _updating = false;\n\n private _actions$ = inject(Actions);\n private _store = inject(Store);\n private _formGroupDirective = inject(FormGroupDirective);\n private _cd = inject(ChangeDetectorRef);\n\n private readonly _destroyRef = inject(DestroyRef);\n\n constructor() {\n this._destroyRef.onDestroy(() => {\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n });\n }\n\n ngOnInit() {\n const resetForm$ = this._actions$.pipe(\n ofActionDispatched(ResetForm),\n takeUntilDestroyed(this._destroyRef)\n );\n\n resetForm$.subscribe((action: ResetForm) => {\n if (action.payload.path !== this.path) {\n return;\n }\n\n this.form.reset(action.payload.value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntilDestroyed(this._destroyRef))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this._debounce), takeUntilDestroyed(this._destroyRef));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store\n .select(state => getValue(state, path))\n .pipe(takeUntilDestroyed(this._destroyRef));\n }\n}\n","import { NgModule, ModuleWithProviders, EnvironmentProviders } from '@angular/core';\nimport { withNgxsPlugin } from '@ngxs/store';\n\nimport { NgxsFormPlugin } from './form.plugin';\nimport { NgxsFormDirective } from './directive';\n\n@NgModule({\n imports: [NgxsFormDirective],\n exports: [NgxsFormDirective]\n})\nexport class NgxsFormPluginModule {\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [withNgxsPlugin(NgxsFormPlugin)]\n };\n }\n}\n\nexport function withNgxsFormPlugin(): EnvironmentProviders {\n return withNgxsPlugin(NgxsFormPlugin);\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-form-plugin.mjs","sources":["../../../packages/form-plugin/src/actions.ts","../../../packages/form-plugin/src/form.plugin.ts","../../../packages/form-plugin/src/directive.ts","../../../packages/form-plugin/src/form.module.ts","../../../packages/form-plugin/index.ts","../../../packages/form-plugin/ngxs-form-plugin.ts"],"sourcesContent":["export class UpdateFormStatus {\n static readonly type = '[Forms] Update Form Status';\n\n constructor(\n public payload: {\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormValue {\n static readonly type = '[Forms] Update Form Value';\n\n constructor(public payload: { value: any; path: string; propertyPath?: string }) {}\n}\n\nexport class UpdateForm {\n static readonly type = '[Forms] Update Form';\n\n constructor(\n public payload: {\n value: any;\n errors: { [k: string]: string } | null;\n dirty: boolean | null;\n status: string | null;\n path: string;\n }\n ) {}\n}\n\nexport class UpdateFormDirty {\n static readonly type = '[Forms] Update Form Dirty';\n\n constructor(public payload: { dirty: boolean | null; path: string }) {}\n}\n\nexport class SetFormDirty {\n static readonly type = '[Forms] Set Form Dirty';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormPristine {\n static readonly type = '[Forms] Set Form Pristine';\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateFormErrors {\n static readonly type = '[Forms] Update Form Errors';\n\n constructor(public payload: { errors: { [k: string]: string } | null; path: string }) {}\n}\n\nexport class SetFormDisabled {\n static readonly type = '[Forms] Set Form Disabled';\n\n constructor(public payload: string) {}\n}\n\nexport class SetFormEnabled {\n static readonly type = '[Forms] Set Form Enabled';\n\n constructor(public payload: string) {}\n}\n\nexport class ResetForm {\n static readonly type = '[Forms] Reset Form';\n\n constructor(public payload: { path: string; value?: any }) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n getActionTypeFromInstance,\n getValue,\n NgxsNextPluginFn,\n NgxsPlugin,\n setValue\n} from '@ngxs/store/plugins';\nimport {\n ResetForm,\n SetFormDirty,\n SetFormDisabled,\n SetFormEnabled,\n SetFormPristine,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Injectable()\nexport class NgxsFormPlugin implements NgxsPlugin {\n handle(state: any, event: any, next: NgxsNextPluginFn) {\n const type = getActionTypeFromInstance(event);\n\n let nextState = state;\n\n if (type === UpdateFormValue.type || type === UpdateForm.type || type === ResetForm.type) {\n const { value } = event.payload;\n const payloadValue = Array.isArray(value)\n ? value.slice()\n : isObjectLike(value)\n ? { ...value }\n : value;\n const path = this.joinPathWithPropertyPath(event);\n nextState = setValue(nextState, path, payloadValue);\n }\n\n if (type === ResetForm.type) {\n const model = getValue(nextState, `${event.payload.path}.model`);\n nextState = setValue(nextState, `${event.payload.path}`, { model: model });\n }\n\n if (type === UpdateFormStatus.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.status`, event.payload.status);\n }\n\n if (type === UpdateFormErrors.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.errors`, {\n ...event.payload.errors\n });\n }\n\n if (type === UpdateFormDirty.type || type === UpdateForm.type) {\n nextState = setValue(nextState, `${event.payload.path}.dirty`, event.payload.dirty);\n }\n\n if (type === SetFormDirty.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, true);\n }\n\n if (type === SetFormPristine.type) {\n nextState = setValue(nextState, `${event.payload}.dirty`, false);\n }\n\n if (type === SetFormDisabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, true);\n }\n\n if (type === SetFormEnabled.type) {\n nextState = setValue(nextState, `${event.payload}.disabled`, false);\n }\n\n return next(nextState, event);\n }\n\n private joinPathWithPropertyPath({ payload }: UpdateFormValue): string {\n let path = `${payload.path}.model`;\n\n if (payload.propertyPath) {\n path += `.${payload.propertyPath}`;\n }\n\n return path;\n }\n}\n\nfunction isObjectLike(target: unknown): target is object {\n return target !== null && typeof target === 'object';\n}\n","import {\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n inject,\n Input,\n OnInit\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormGroup, FormGroupDirective } from '@angular/forms';\nimport { Actions, ofActionDispatched, Store } from '@ngxs/store';\nimport { getValue } from '@ngxs/store/plugins';\nimport { Observable, debounceTime, distinctUntilChanged } from 'rxjs';\n\nimport {\n ResetForm,\n UpdateForm,\n UpdateFormDirty,\n UpdateFormErrors,\n UpdateFormStatus,\n UpdateFormValue\n} from './actions';\n\n@Directive({ selector: '[ngxsForm]', standalone: true })\nexport class NgxsFormDirective implements OnInit {\n @Input('ngxsForm')\n path: string = null!;\n\n @Input('ngxsFormDebounce')\n set debounce(debounce: string | number) {\n this._debounce = Number(debounce);\n }\n get debounce() {\n return this._debounce;\n }\n private _debounce = 100;\n\n @Input('ngxsFormClearOnDestroy')\n set clearDestroy(val: boolean) {\n this._clearDestroy = val != null && `${val}` !== 'false';\n }\n get clearDestroy(): boolean {\n return this._clearDestroy;\n }\n private _clearDestroy = false;\n\n private _updating = false;\n\n private _actions$ = inject(Actions);\n private _store = inject(Store);\n private _formGroupDirective = inject(FormGroupDirective);\n private _cd = inject(ChangeDetectorRef);\n\n private readonly _destroyRef = inject(DestroyRef);\n\n constructor() {\n this._destroyRef.onDestroy(() => {\n if (this.clearDestroy) {\n this._store.dispatch(\n new UpdateForm({\n path: this.path,\n value: null,\n dirty: null,\n status: null,\n errors: null\n })\n );\n }\n });\n }\n\n ngOnInit() {\n const resetForm$ = this._actions$.pipe(\n ofActionDispatched(ResetForm),\n takeUntilDestroyed(this._destroyRef)\n );\n\n resetForm$.subscribe((action: ResetForm) => {\n if (action.payload.path !== this.path) {\n return;\n }\n\n this.form.reset(action.payload.value);\n this.updateFormStateWithRawValue(true);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.model`).subscribe(model => {\n if (this._updating || !model) {\n return;\n }\n\n this.form.patchValue(model);\n this._cd.markForCheck();\n });\n\n this.getStateStream(`${this.path}.dirty`).subscribe(dirty => {\n if (this.form.dirty === dirty || typeof dirty !== 'boolean') {\n return;\n }\n\n if (dirty) {\n this.form.markAsDirty();\n } else {\n this.form.markAsPristine();\n }\n\n this._cd.markForCheck();\n });\n\n // On first state change, sync form model, status and dirty with state\n this._store\n .selectOnce(state => getValue(state, this.path))\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._store.dispatch([\n new UpdateFormValue({\n path: this.path,\n value: this.form.getRawValue()\n }),\n new UpdateFormStatus({\n path: this.path,\n status: this.form.status\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this.form.dirty\n })\n ]);\n });\n\n this.getStateStream(`${this.path}.disabled`).subscribe(disabled => {\n if (this.form.disabled === disabled || typeof disabled !== 'boolean') {\n return;\n }\n\n if (disabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n\n this._cd.markForCheck();\n });\n\n this._formGroupDirective\n .valueChanges!.pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n this.debounceChange()\n )\n .subscribe(() => {\n this.updateFormStateWithRawValue();\n });\n\n this._formGroupDirective\n .statusChanges!.pipe(distinctUntilChanged(), this.debounceChange())\n .subscribe((status: string) => {\n this._store.dispatch(\n new UpdateFormStatus({\n status,\n path: this.path\n })\n );\n });\n }\n\n updateFormStateWithRawValue(withFormStatus?: boolean) {\n if (this._updating) return;\n\n const value = this._formGroupDirective.control.getRawValue();\n\n const actions: any[] = [\n new UpdateFormValue({\n path: this.path,\n value\n }),\n new UpdateFormDirty({\n path: this.path,\n dirty: this._formGroupDirective.dirty\n }),\n new UpdateFormErrors({\n path: this.path,\n errors: this._formGroupDirective.errors\n })\n ];\n\n if (withFormStatus) {\n actions.push(\n new UpdateFormStatus({\n path: this.path,\n status: this._formGroupDirective.status\n })\n );\n }\n\n this._updating = true;\n this._store.dispatch(actions).subscribe({\n error: () => (this._updating = false),\n complete: () => (this._updating = false)\n });\n }\n\n private debounceChange() {\n const skipDebounceTime =\n this._formGroupDirective.control.updateOn !== 'change' || this._debounce < 0;\n\n return skipDebounceTime\n ? (change: Observable<any>) => change.pipe(takeUntilDestroyed(this._destroyRef))\n : (change: Observable<any>) =>\n change.pipe(debounceTime(this._debounce), takeUntilDestroyed(this._destroyRef));\n }\n\n private get form(): FormGroup {\n return this._formGroupDirective.form;\n }\n\n private getStateStream(path: string) {\n return this._store\n .select(state => getValue(state, path))\n .pipe(takeUntilDestroyed(this._destroyRef));\n }\n}\n","import { NgModule, ModuleWithProviders, EnvironmentProviders } from '@angular/core';\nimport { withNgxsPlugin } from '@ngxs/store';\n\nimport { NgxsFormPlugin } from './form.plugin';\nimport { NgxsFormDirective } from './directive';\n\n/**\n * @deprecated Use `withNgxsFormPlugin()` instead.\n */\n@NgModule({\n imports: [NgxsFormDirective],\n exports: [NgxsFormDirective]\n})\nexport class NgxsFormPluginModule {\n /**\n * @deprecated Use `withNgxsFormPlugin()` instead.\n */\n static forRoot(): ModuleWithProviders<NgxsFormPluginModule> {\n return {\n ngModule: NgxsFormPluginModule,\n providers: [withNgxsPlugin(NgxsFormPlugin)]\n };\n }\n}\n\nexport function withNgxsFormPlugin(): EnvironmentProviders {\n return withNgxsPlugin(NgxsFormPlugin);\n}\n","/**\n * The public api for consumers of @ngxs/form-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -26,7 +26,13 @@ declare class NgxsFormDirective implements OnInit {
26
26
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgxsFormDirective, "[ngxsForm]", never, { "path": { "alias": "ngxsForm"; "required": false; }; "debounce": { "alias": "ngxsFormDebounce"; "required": false; }; "clearDestroy": { "alias": "ngxsFormClearOnDestroy"; "required": false; }; }, {}, never, never, true, never>;
27
27
  }
28
28
 
29
+ /**
30
+ * @deprecated Use `withNgxsFormPlugin()` instead.
31
+ */
29
32
  declare class NgxsFormPluginModule {
33
+ /**
34
+ * @deprecated Use `withNgxsFormPlugin()` instead.
35
+ */
30
36
  static forRoot(): ModuleWithProviders<NgxsFormPluginModule>;
31
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxsFormPluginModule, never>;
32
38
  static ɵmod: i0.ɵɵNgModuleDeclaration<NgxsFormPluginModule, never, [typeof NgxsFormDirective], [typeof NgxsFormDirective]>;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@ngxs/form-plugin",
3
3
  "description": "form plugin for @ngxs/store",
4
- "version": "21.0.0-dev.master-cc2731d",
4
+ "version": "21.0.0-dev.master-416d6de",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
+ "@ngxs/store": "^21.0.0 || ^21.0.0-dev",
7
8
  "@angular/core": ">=21.0.0 <22.0.0",
8
9
  "@angular/forms": ">=21.0.0 <22.0.0",
9
- "@ngxs/store": "^21.0.0 || ^21.0.0-dev",
10
10
  "rxjs": ">=7.0.0"
11
11
  },
12
12
  "module": "fesm2022/ngxs-form-plugin.mjs",