import 'package:base_project/BuilderField/shared/fields/number_field.dart';
import 'package:base_project/BuilderField/shared/fields/password_field.dart';
import 'package:base_project/BuilderField/shared/fields/phone_field.dart';
import 'package:base_project/BuilderField/shared/fields/custom_text_field.dart';

import '../../../../BuilderField/shared/fields/base_field.dart';

import '../../../../BuilderField/shared/fields/date_field.dart';
import '../../../../BuilderField/shared/fields/datetime_field.dart';
import '../../../../BuilderField/shared/fields/email_field.dart';
import 'package:base_project/BuilderField/shared/fields/url_field.dart';
import 'package:flutter/material.dart';
import '../../../../BuilderField/shared/fields/base_field.dart';
import '../../../../BuilderField/shared/fields/custom_text_field.dart' as shared_text;
import '../../../../BuilderField/shared/fields/captcha_field.dart';
import '../../../../BuilderField/shared/fields/switch_field.dart';
import '../../../../BuilderField/shared/fields/url_field.dart';

import '../../../../BuilderField/shared/fields/audio_upload_field.dart';
import '../../../../BuilderField/shared/fields/checkbox_field.dart';
import '../../../../BuilderField/shared/fields/file_upload_field.dart';
import '../../../../BuilderField/shared/fields/image_upload_field.dart';
import '../../../../BuilderField/shared/fields/radio_field.dart';
import '../../../../BuilderField/shared/fields/video_upload_field.dart';
/// Field definitions for Forma entity
/// This defines the structure and validation for Forma forms
class FormaFields {
  /// Get field definitions for Forma entity
  static List<BaseField> getFields() {
    return [
      // Basic Information
 CustomTextField(
        fieldKey: 'name',
        label: 'Name',
        hint: 'Enter Name',
        isRequired: true,
        maxLength: 50,
      ),

CustomTextField(
        fieldKey: 'description',
        label: 'Description',
        hint: 'Enter Description',
        isRequired: false,
        maxLength: 1000,
      ),

  // Number Fields
      NumberField(
        fieldKey: 'number_field',
        label: 'Number Field',
        hint: 'Enter Number Field',
        isRequired: false,
        min: 0,
        decimalPlaces: 0,
      ),

 CustomTextField(
        fieldKey: 'phone_number',
        label: 'Phone Number',
        hint: 'Enter Phone Number',
        isRequired: false,
        countryCode: '+91',
      ),


      // Password Fields (dynamic names supported via fieldKey)
      PasswordField(
        fieldKey: 'password_field',
        label: 'Password Field',
        hint: 'Enter Password Field',
        isRequired: false,
        maxLength: 50,
        groupId: 'p1',
      ),
      PasswordField(
        fieldKey: 'confirm+password_field',
        label: 'Confirm Password Field',
        hint: 'Confirm Password Field',
        isRequired: false,
        maxLength: 50,
        groupId: 'p1',
        isConfirm: true,
      ),

CustomTextField(
        fieldKey: 'paragraph_field',
        label: 'Paragraph Field',
        hint: 'Enter Paragraph Field',
        isRequired: false,
        maxLength: 500,
      ),

 DateField(
        fieldKey: 'date_field',
        label: 'Date Field',
        hint: 'Select Date Field',
        isRequired: false,
      ),

    ];
  }
}
