{"version":3,"file":"ngx-forms-helpers-material-forms-models.mjs","sources":["../../../projects/ngx-forms-helpers/material-forms-models/src/models/base/mat-form-field-base.model.ts","../../../projects/ngx-forms-helpers/material-forms-models/src/models/form-input.model.ts","../../../projects/ngx-forms-helpers/material-forms-models/src/models/form-group.model.ts","../../../projects/ngx-forms-helpers/material-forms-models/src/models/form-array.model.ts","../../../projects/ngx-forms-helpers/material-forms-models/src/models/form-select.model.ts","../../../projects/ngx-forms-helpers/material-forms-models/src/ngx-forms-helpers-material-forms-models.ts"],"sourcesContent":["import {\n    signal,\n    WritableSignal\n} from \"@angular/core\";\nimport {BaseFormControlModel, BaseFormControlModelParams } from \"ngx-forms-helpers/base-forms-models\";\n\ntype Params = Partial<Record<\n    | 'label'\n    | 'suffixIcon'\n    | 'prefix'\n    | 'suffix'\n    | 'hint'\n    ,\n    string\n>>\n\nexport interface MatFormFieldBaseModelParams<Value = unknown>\n    extends\n        BaseFormControlModelParams<Value>,\n        Params\n{\n    floatLabel?: 'always' | 'auto'\n}\n\nexport class MatFormFieldBaseModel<Value = unknown> extends BaseFormControlModel<Value> {\n    public readonly floatLabel: WritableSignal<'always' | 'auto'>;\n    public readonly label: WritableSignal<string>;\n    public readonly suffixIcon: WritableSignal<string>;\n    public readonly prefix: WritableSignal<string>;\n    public readonly suffix: WritableSignal<string>;\n    public readonly hint: WritableSignal<string>;\n\n    constructor(params: MatFormFieldBaseModelParams<Value>) {\n        super(params);\n\n        const {\n            label,\n            suffix,\n            prefix,\n            suffixIcon,\n            floatLabel,\n            hint,\n        } = params;\n\n        this.floatLabel = signal(floatLabel ?? 'auto');\n        this.label = signal(label ?? '');\n        this.suffixIcon = signal(suffixIcon ?? '');\n        this.prefix = signal(prefix ?? '');\n        this.suffix = signal(suffix ?? '');\n        this.hint = signal(hint ?? '');\n    }\n}\n","import {\n      signal,\n      WritableSignal\n} from \"@angular/core\";\n\nimport {WithVisible} from \"../system/with-visible\";\nimport {\n    MatFormFieldBaseModel,\n    MatFormFieldBaseModelParams\n} from \"./base/mat-form-field-base.model\";\n\nexport type InputTypes =\n    | 'color'\n    | 'date'\n    | 'datetime-local'\n    | 'email'\n    | 'month'\n    | 'number'\n    | 'password'\n    | 'search'\n    | 'tel'\n    | 'text'\n    | 'time'\n    | 'url'\n    | 'week'\n\ntype Params = Partial<Record<\n    | 'label'\n    | 'placeholder'\n    | 'suffixIcon'\n    | 'prefix'\n    | 'suffix'\n    | 'hint'\n    ,\n    string\n>>\n\nexport interface FormInputModelParams<Value = unknown>\n    extends MatFormFieldBaseModelParams<Value>,\n        WithVisible.Params,\n        Params\n{\n    inputType?: InputTypes\n}\n\nexport class FormInputModel<Value = unknown>\n    extends MatFormFieldBaseModel<Value>\n{\n    public readonly inputType: WritableSignal<InputTypes>;\n    public readonly placeholder: WritableSignal<string>;\n\n    constructor(params: FormInputModelParams<Value>) {\n        super(params);\n\n        const {\n            inputType,\n            placeholder,\n        } = params;\n\n        this.placeholder = signal(placeholder ?? '');\n        this.inputType = signal(inputType ?? 'text');\n    }\n}\n","import {\n    signal,\n    Signal\n} from \"@angular/core\";\n\nimport {WithVisible} from \"../system/with-visible\";\nimport {BaseFormGroupModel, BaseFormGroupModelParams, ModelsRecord } from \"ngx-forms-helpers/base-forms-models\";\n\nexport interface FormGroupModelParams<Models extends ModelsRecord = any>\n    extends BaseFormGroupModelParams<Models>,\n        WithVisible.Params\n{}\n\nexport class FormGroupModel<Models extends ModelsRecord = any>\n    extends BaseFormGroupModel<Models>\n    implements WithVisible.Implement\n{\n    public readonly isVisible: Signal<boolean>;\n\n    constructor(params: FormGroupModelParams<Models>) {\n        super(params);\n\n        const {\n            isVisible\n        } = params;\n\n        this.isVisible = signal(isVisible ?? true);\n    }\n}\n","import {\n    signal,\n    WritableSignal\n} from \"@angular/core\";\n\nimport {WithVisible} from \"../system/with-visible\";\nimport {BaseFormArrayModel, BaseFormArrayModelParams, BaseFormModels } from \"ngx-forms-helpers/base-forms-models\";\n\ninterface FormArrayModelParams<Models extends BaseFormModels[] = any>\n    extends BaseFormArrayModelParams<Models>,\n        WithVisible.Params\n{}\n\nexport class FormArrayModel<Models extends BaseFormModels[] = any>\n    extends BaseFormArrayModel<Models>\n    implements WithVisible.Implement\n{\n    public readonly isVisible: WritableSignal<boolean>;\n    constructor(params: FormArrayModelParams<Models>) {\n        super(params);\n\n        const {\n            isVisible,\n        } = params;\n\n        this.isVisible = signal(isVisible ?? true);\n    }\n}\n","import {\n      signal,\n      WritableSignal\n} from \"@angular/core\";\n\nimport {\n    MatFormFieldBaseModel,\n    MatFormFieldBaseModelParams\n} from \"./base/mat-form-field-base.model\";\n\nexport interface Option<T = unknown> {\n      value: T\n      label: string\n      disabled?: boolean\n}\n\nexport type SelectSource<T = unknown> = Option<T>[]\n\ntype Params = Partial<Record<\n    | 'label'\n    ,\n    string\n>>\n\nexport interface FormSelectModelParams<Value = unknown>\n    extends MatFormFieldBaseModelParams<Value>,\n        Params\n{\n    disableRipple?: boolean\n    source?: SelectSource<Value>\n    options?: SelectSource<Value>\n}\n\nexport class FormSelectModel<Value = unknown>\n    extends MatFormFieldBaseModel<Value>\n{\n    public readonly source: WritableSignal<SelectSource>;\n    public readonly options: WritableSignal<SelectSource>;\n    public readonly disableRipple: WritableSignal<boolean>;\n\n    constructor(params: FormSelectModelParams<Value>) {\n        super(params);\n\n        const {\n            source,\n            options,\n            disableRipple,\n        } = params;\n\n        this.source = signal(source ?? []);\n        this.options = signal(options ?? []);\n        this.disableRipple = signal(disableRipple ?? false);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAwBM,MAAO,qBAAuC,SAAQ,oBAA2B,CAAA;AAQnF,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,KAAK,CAAC,MAAM,CAAC,CAAC;AAEd,QAAA,MAAM,EACF,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,IAAI,GACP,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;KAClC;AACJ;;ACNK,MAAO,cACT,SAAQ,qBAA4B,CAAA;AAKpC,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;AAEd,QAAA,MAAM,EACF,SAAS,EACT,WAAW,GACd,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;KAChD;AACJ;;ACjDK,MAAO,cACT,SAAQ,kBAA0B,CAAA;AAKlC,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC;AAEd,QAAA,MAAM,EACF,SAAS,EACZ,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;KAC9C;AACJ;;ACfK,MAAO,cACT,SAAQ,kBAA0B,CAAA;AAIlC,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC;AAEd,QAAA,MAAM,EACF,SAAS,GACZ,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;KAC9C;AACJ;;ACMK,MAAO,eACT,SAAQ,qBAA4B,CAAA;AAMpC,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,MAAM,EACF,MAAM,EACN,OAAO,EACP,aAAa,GAChB,GAAG,MAAM,CAAC;QAEX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;KACvD;AACJ;;ACrDD;;AAEG;;;;"}