UNPKG

kwikid-components-react

Version:

KwikID's Component Library in React

438 lines (437 loc) 10.7 kB
{ "title": "Customer Basic Details", "key": "CUSTOMER_DETAILS", "fields": [ { "type": "title", "label": "Customer Information", "key": "customer_information_title" }, { "type": "html", "key": "customer_info_description", "html": "<div style='margin-bottom: 20px; color: #666;'>Please provide the following personal details to complete the customer profile.</div>" }, { "label": "Customer Type", "type": "radio", "key": "customerType", "disabled": false, "validators": { "required": true }, "properties": { "readOnly": false, "orientation": "horizontal" }, "options": [ { "label": "Individual", "value": "individual" }, { "label": "Business", "value": "business" } ], "connectedElements": { "connectedFields": [ { "key": "businessName", "triggers": ["ON_INIT", "ON_CHANGE"], "rules": [ { "id": "1", "key": "VALUE_CHECK", "props": { "value": { "source": { "key": "OBJECT", "props": { "object": { "key": "FORM_DATA", "path": "$.customerType" } } } }, "pattern": { "key": "CUSTOM", "pattern": "^(business)$" } } } ], "actions": [ { "id": "1", "key": "FIELD_SHOW", "condition": "1", "props": { "fieldKey": "businessName" } }, { "id": "2", "key": "FIELD_HIDE", "condition": "NOT(1)", "props": { "fieldKey": "businessName" } } ] }, { "key": "gstNumber", "triggers": ["ON_INIT", "ON_CHANGE"], "rules": [ { "id": "1", "key": "VALUE_CHECK", "props": { "value": { "source": { "key": "OBJECT", "props": { "object": { "key": "FORM_DATA", "path": "$.customerType" } } } }, "pattern": { "key": "CUSTOM", "pattern": "^(business)$" } } } ], "actions": [ { "id": "1", "key": "FIELD_SHOW", "condition": "1", "props": { "fieldKey": "gstNumber" } }, { "id": "2", "key": "FIELD_HIDE", "condition": "NOT(1)", "props": { "fieldKey": "gstNumber" } } ] } ] } }, { "label": "Business Name", "type": "text", "key": "businessName", "disabled": false, "hidden": true, "validators": { "required": true }, "properties": { "placeholder": "Enter business name", "readOnly": false } }, { "label": "GST Number", "type": "text", "key": "gstNumber", "disabled": false, "hidden": true, "validators": { "required": true, "pattern": { "key": "CUSTOM", "pattern": "^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$" } }, "properties": { "placeholder": "Enter 15-digit GST number", "readOnly": false } }, { "label": "Salutation", "type": "select", "key": "salutation", "disabled": false, "validators": { "required": false }, "properties": { "placeholder": "Select salutation", "readOnly": false }, "options": [ { "label": "Mr.", "value": "mr" }, { "label": "Mrs.", "value": "mrs" }, { "label": "Ms.", "value": "ms" }, { "label": "Dr.", "value": "dr" } ] }, { "label": "First Name", "type": "text", "key": "firstName", "disabled": false, "validators": { "required": true }, "properties": { "placeholder": "Enter your first name", "readOnly": false } }, { "label": "Middle Name", "type": "text", "key": "middleName", "disabled": false, "validators": { "required": false }, "properties": { "placeholder": "Enter your middle name (optional)", "readOnly": false } }, { "label": "Last Name", "type": "text", "key": "lastName", "disabled": false, "validators": { "required": true }, "properties": { "placeholder": "Enter your last name", "readOnly": false } }, { "label": "Date of Birth", "type": "date", "key": "dateOfBirth", "disabled": false, "validators": { "required": true }, "properties": { "placeholder": "Select your date of birth", "readOnly": false, "min": { "year": 1940, "month": 1, "day": 1 }, "max": { "year": 2005, "month": 12, "day": 31 } } }, { "label": "Gender", "type": "radio", "key": "gender", "disabled": false, "validators": { "required": true }, "properties": { "readOnly": false, "orientation": "horizontal" }, "options": [ { "label": "Male", "value": "male" }, { "label": "Female", "value": "female" }, { "label": "Other", "value": "other" }, { "label": "Prefer not to say", "value": "prefer-not-to-say" } ] }, { "label": "Email Address", "type": "text", "key": "email", "disabled": false, "validators": { "required": true, "pattern": { "key": "IS_EMAIL" } }, "properties": { "placeholder": "Enter your email address", "readOnly": false } }, { "label": "Phone Number", "type": "text", "key": "phone", "disabled": false, "validators": { "pattern": { "key": "IS_MOBILE_NUMBER" }, "required": true }, "properties": { "placeholder": "Enter your phone number", "readOnly": false } }, { "label": "Alternative Phone Number", "type": "text", "key": "alternativePhone", "disabled": false, "validators": { "pattern": { "key": "IS_MOBILE_NUMBER" }, "required": false }, "properties": { "placeholder": "Enter alternative phone number (optional)", "readOnly": false } }, { "label": "Nationality", "type": "select", "key": "nationality", "disabled": false, "validators": { "required": true }, "properties": { "placeholder": "Select your nationality", "readOnly": false }, "options": [ { "label": "Indian", "value": "in" }, { "label": "American", "value": "us" }, { "label": "British", "value": "uk" }, { "label": "Canadian", "value": "ca" }, { "label": "Australian", "value": "au" }, { "label": "Other", "value": "other" } ] }, { "label": "Marital Status", "type": "select", "key": "maritalStatus", "disabled": false, "validators": { "required": false }, "properties": { "placeholder": "Select your marital status", "readOnly": false }, "options": [ { "label": "Single", "value": "single" }, { "label": "Married", "value": "married" }, { "label": "Divorced", "value": "divorced" }, { "label": "Widowed", "value": "widowed" } ] }, { "label": "Emergency Contact Name", "type": "text", "key": "emergencyContactName", "disabled": false, "validators": { "required": false }, "properties": { "placeholder": "Enter emergency contact name", "readOnly": false } }, { "label": "Emergency Contact Number", "type": "text", "key": "emergencyContactNumber", "disabled": false, "validators": { "pattern": { "key": "IS_MOBILE_NUMBER" }, "required": false }, "properties": { "placeholder": "Enter emergency contact number", "readOnly": false } }, { "label": "Upload Photo", "type": "file", "key": "photo", "disabled": false, "validators": { "required": false }, "properties": { "accept": "image/jpeg,image/png,image/jpg", "placeholder": "Upload your photo (optional)", "readOnly": false } }, { "label": "Notes/Additional Information", "type": "textarea", "key": "notes", "disabled": false, "validators": { "required": false }, "properties": { "placeholder": "Any additional information about the customer", "readOnly": false } }, { "label": "I consent to the processing of my personal information", "type": "checkbox", "key": "dataConsent", "disabled": false, "validators": { "required": true }, "properties": { "readOnly": false } }, { "type": "button", "label": "Save Customer Details", "key": "save_details_button", "properties": { "variant": "primary", "size": "medium", "action": "submit" } } ], "layout": { "type": "vertical", "styles": { "container": { "maxWidth": "800px", "margin": "0 auto", "padding": "20px", "backgroundColor": "#ffffff", "borderRadius": "8px" } } } }