@algodomain/smart-forms 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/opinionated/FieldEmail.tsx","../src/opinionated/FieldPhone.tsx","../src/opinionated/FieldName.tsx","../src/opinionated/FieldPassword.tsx","../src/opinionated/FieldAge.tsx","../src/opinionated/FieldAddress.tsx","../src/opinionated/FieldMessage.tsx"],"names":["jsx","SmartInput","z","jsxs","Link"],"mappings":"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","file":"opinionated.cjs","sourcesContent":["import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\n\n// =============================================================================\n// OPINIONATED EMAIL FIELD COMPONENT\n// =============================================================================\n\nexport interface FieldEmailProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n // Allow override of any SmartInput props\n [key: string]: any;\n}\n\n/**\n * Opinionated Email Field Component\n * \n * Pre-configured with:\n * - Standard email validation\n * - Proper label and placeholder\n * - Email input type\n * - Required field indicator\n * \n * Usage:\n * <FieldEmail /> // Uses 'email' as field name\n * <FieldEmail field=\"userEmail\" /> // Custom field name\n * <FieldEmail required={false} /> // Override required\n */\nexport const FieldEmail: React.FC<FieldEmailProps> = ({\n field = 'email',\n label = 'Email Address',\n placeholder = 'Enter your email address',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"email\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`).email('Please enter a valid email address')}\n required={required}\n className={className}\n {...props}\n />\n );\n};\n","import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\n\n// =============================================================================\n// OPINIONATED PHONE FIELD COMPONENT\n// =============================================================================\n\nexport interface FieldPhoneProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n // Allow override of any SmartInput props\n [key: string]: any;\n}\n\n/**\n * Opinionated Phone Field Component\n * \n * Pre-configured with:\n * - Phone number validation (minimum 10 digits)\n * - Tel input type\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldPhone /> // Uses 'phone' as field name\n * <FieldPhone field=\"mobileNumber\" /> // Custom field name\n * <FieldPhone required={false} /> // Override required\n */\nexport const FieldPhone: React.FC<FieldPhoneProps> = ({\n field = 'phone',\n label = 'Phone Number',\n placeholder = 'Enter your phone number',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"tel\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(10, 'Phone number must be at least 10 digits')\n .regex(/^[\\d\\s\\-\\+\\(\\)]+$/, 'Please enter a valid phone number')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n","import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\n\n// =============================================================================\n// OPINIONATED NAME FIELD COMPONENTS\n// =============================================================================\n\nexport interface FieldNameProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n // Allow override of any SmartInput props\n [key: string]: any;\n}\n\n/**\n * Opinionated First Name Field Component\n * \n * Pre-configured with:\n * - Name validation (minimum 2 characters, letters only)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldFirstName /> // Uses 'firstName' as field name\n * <FieldFirstName field=\"givenName\" /> // Custom field name\n */\nexport const FieldFirstName: React.FC<FieldNameProps> = ({\n field = 'firstName',\n label = 'First Name',\n placeholder = 'Enter your first name',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(2, 'First name must be at least 2 characters')\n .regex(/^[a-zA-Z\\s\\-']+$/, 'First name can only contain letters, spaces, hyphens, and apostrophes')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n\n/**\n * Opinionated Last Name Field Component\n * \n * Pre-configured with:\n * - Name validation (minimum 2 characters, letters only)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldLastName /> // Uses 'lastName' as field name\n * <FieldLastName field=\"surname\" /> // Custom field name\n */\nexport const FieldLastName: React.FC<FieldNameProps> = ({\n field = 'lastName',\n label = 'Last Name',\n placeholder = 'Enter your last name',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(2, 'Last name must be at least 2 characters')\n .regex(/^[a-zA-Z\\s\\-']+$/, 'Last name can only contain letters, spaces, hyphens, and apostrophes')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n\n/**\n * Opinionated Full Name Field Component\n * \n * Pre-configured with:\n * - Name validation (minimum 2 characters, letters only)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldFullName /> // Uses 'fullName' as field name\n * <FieldFullName field=\"displayName\" /> // Custom field name\n */\nexport const FieldFullName: React.FC<FieldNameProps> = ({\n field = 'fullName',\n label = 'Full Name',\n placeholder = 'Enter your full name',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(2, 'Full name must be at least 2 characters')\n .regex(/^[a-zA-Z\\s\\-']+$/, 'Full name can only contain letters, spaces, hyphens, and apostrophes')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n","import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\nimport { Link } from 'react-router-dom';\n\n// =============================================================================\n// OPINIONATED PASSWORD FIELD COMPONENT\n// =============================================================================\n\nexport interface FieldPasswordProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n minLength?: number;\n requireUppercase?: boolean;\n requireLowercase?: boolean;\n requireNumbers?: boolean;\n requireSpecialChars?: boolean;\n forgotPasswordLink?: {\n text?: string;\n href?: string;\n to?: string;\n onClick?: () => void;\n };\n // Allow override of any SmartInput props\n [key: string]: unknown;\n}\n\n/**\n * Opinionated Password Field Component\n * \n * Pre-configured with:\n * - Strong password validation\n * - Password input type with show/hide toggle\n * - Proper label and placeholder\n * - Required field indicator\n * - Optional \"Forgot your password?\" link\n * \n * Usage:\n * <FieldPassword /> // Uses 'password' as field name\n * <FieldPassword field=\"userPassword\" /> // Custom field name\n * <FieldPassword minLength={12} /> // Custom minimum length\n * <FieldPassword forgotPasswordLink={{ onClick: handleForgotPassword }} /> // With forgot password link\n * <FieldPassword forgotPasswordLink={{ text: \"Reset password\", onClick: handleReset }} /> // Custom link text\n * <FieldPassword forgotPasswordLink={{ to: \"/forgot-password\" }} /> // React Router Link\n * <FieldPassword forgotPasswordLink={{ href: \"/forgot-password\" }} /> // External link\n */\nexport const FieldPassword: React.FC<FieldPasswordProps> = ({\n field = 'password',\n label = 'Password',\n placeholder = 'Enter your password',\n required = false,\n className = '',\n minLength = 8,\n requireUppercase = true,\n requireLowercase = true,\n requireNumbers = true,\n requireSpecialChars = true,\n forgotPasswordLink,\n ...props\n}) => {\n // Build validation schema based on requirements\n let validation = z.string(`${label} is required`).min(minLength, `Password must be at least ${minLength} characters`);\n \n if (requireUppercase) {\n validation = validation.regex(/[A-Z]/, 'Password must contain at least one uppercase letter');\n }\n \n if (requireLowercase) {\n validation = validation.regex(/[a-z]/, 'Password must contain at least one lowercase letter');\n }\n \n if (requireNumbers) {\n validation = validation.regex(/[0-9]/, 'Password must contain at least one number');\n }\n \n if (requireSpecialChars) {\n validation = validation.regex(/[!@#$%^&*(),.?\":{}|<>]/, 'Password must contain at least one special character');\n }\n\n return (\n <div className={`flex-1 min-w-0 ${className}`}>\n {/* Custom label row with forgot password link */}\n <div className=\"flex justify-between items-center mb-1\">\n <label className=\"block text-sm font-medium text-foreground\">\n {label} {required && <span className=\"text-destructive\">*</span>}\n </label>\n {forgotPasswordLink && (\n forgotPasswordLink.to ? (\n <Link\n to={forgotPasswordLink.to}\n className=\"text-sm text-foreground hover:text-foreground/80 transition-colors\"\n onClick={forgotPasswordLink.onClick}\n >\n {forgotPasswordLink.text || 'Forgot your password?'}\n </Link>\n ) : forgotPasswordLink.href ? (\n <a\n href={forgotPasswordLink.href}\n className=\"text-sm text-foreground hover:text-foreground/80 transition-colors\"\n onClick={forgotPasswordLink.onClick}\n >\n {forgotPasswordLink.text || 'Forgot your password?'}\n </a>\n ) : (\n <button\n type=\"button\"\n onClick={forgotPasswordLink.onClick}\n className=\"text-sm text-foreground hover:text-foreground/80 transition-colors\"\n >\n {forgotPasswordLink.text || 'Forgot your password?'}\n </button>\n )\n )}\n </div>\n \n {/* Password input field */}\n <SmartInput\n field={field}\n type=\"password\"\n placeholder={placeholder}\n validation={validation}\n required={required}\n className=\"\"\n {...props}\n />\n </div>\n );\n};\n\n/**\n * Opinionated Confirm Password Field Component\n * \n * Pre-configured for password confirmation\n * \n * Usage:\n * <FieldConfirmPassword /> // Uses 'confirmPassword' as field name\n * <FieldConfirmPassword field=\"passwordConfirmation\" /> // Custom field name\n */\nexport const FieldConfirmPassword: React.FC<FieldPasswordProps> = ({\n field = 'confirmPassword',\n label = 'Confirm Password',\n placeholder = 'Confirm your password',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"password\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`).min(1, 'Please confirm your password')}\n required={required}\n className={className}\n {...props}\n />\n );\n};\n","import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\n\n// =============================================================================\n// OPINIONATED AGE FIELD COMPONENT\n// =============================================================================\n\nexport interface FieldAgeProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n minAge?: number;\n maxAge?: number;\n // Allow override of any SmartInput props\n [key: string]: any;\n}\n\n/**\n * Opinionated Age Field Component\n * \n * Pre-configured with:\n * - Age validation (typically 18+ for adults)\n * - Number input type\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldAge /> // Uses 'age' as field name, 18+ validation\n * <FieldAge field=\"userAge\" minAge={21} /> // Custom field name, 21+ validation\n * <FieldAge minAge={13} maxAge={100} /> // Custom age range\n */\nexport const FieldAge: React.FC<FieldAgeProps> = ({\n field = 'age',\n label = 'Age',\n placeholder = 'Enter your age',\n required = true,\n className = '',\n minAge = 18,\n maxAge = 120,\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"number\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(1, `${label} is required`)\n .transform((val) => {\n const num = Number(val);\n if (isNaN(num)) throw new Error('Age must be a valid number');\n return num;\n })\n .refine((val) => val >= minAge, `You must be at least ${minAge} years old`)\n .refine((val) => val <= maxAge, `Age cannot exceed ${maxAge} years`)\n .refine((val) => Number.isInteger(val), 'Age must be a whole number')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n","import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\n\n// =============================================================================\n// OPINIONATED ADDRESS FIELD COMPONENTS\n// =============================================================================\n\nexport interface FieldAddressProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n // Allow override of any SmartInput props\n [key: string]: any;\n}\n\n/**\n * Opinionated Street Address Field Component\n * \n * Pre-configured with:\n * - Address validation (minimum 5 characters)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldStreetAddress /> // Uses 'streetAddress' as field name\n * <FieldStreetAddress field=\"address\" /> // Custom field name\n */\nexport const FieldStreetAddress: React.FC<FieldAddressProps> = ({\n field = 'streetAddress',\n label = 'Street Address',\n placeholder = 'Enter your street address',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(5, 'Street address must be at least 5 characters')\n .max(100, 'Street address must be less than 100 characters')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n\n/**\n * Opinionated City Field Component\n * \n * Pre-configured with:\n * - City validation (letters, spaces, hyphens, apostrophes)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldCity /> // Uses 'city' as field name\n * <FieldCity field=\"town\" /> // Custom field name\n */\nexport const FieldCity: React.FC<FieldAddressProps> = ({\n field = 'city',\n label = 'City',\n placeholder = 'Enter your city',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(2, 'City must be at least 2 characters')\n .max(50, 'City must be less than 50 characters')\n .regex(/^[a-zA-Z\\s\\-']+$/, 'City can only contain letters, spaces, hyphens, and apostrophes')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n\n/**\n * Opinionated ZIP Code Field Component\n * \n * Pre-configured with:\n * - ZIP code validation (US format: 12345 or 12345-6789)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldZipCode /> // Uses 'zipCode' as field name\n * <FieldZipCode field=\"postalCode\" /> // Custom field name\n */\nexport const FieldZipCode: React.FC<FieldAddressProps> = ({\n field = 'zipCode',\n label = 'ZIP Code',\n placeholder = 'Enter your ZIP code',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .regex(/^\\d{5}(-\\d{4})?$/, 'Please enter a valid ZIP code (12345 or 12345-6789)')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n\n/**\n * Opinionated State Field Component\n * \n * Pre-configured with:\n * - State validation (2-letter state codes or full state names)\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldState /> // Uses 'state' as field name\n * <FieldState field=\"province\" /> // Custom field name\n */\nexport const FieldState: React.FC<FieldAddressProps> = ({\n field = 'state',\n label = 'State',\n placeholder = 'Enter your state',\n required = true,\n className = '',\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"text\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(2, 'State must be at least 2 characters')\n .max(20, 'State must be less than 20 characters')\n .regex(/^[a-zA-Z\\s]+$/, 'State can only contain letters and spaces')\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n","import React from 'react';\nimport { SmartInput } from '../smart-fields/SmartInput';\nimport { z } from 'zod';\n\n// =============================================================================\n// OPINIONATED MESSAGE FIELD COMPONENT\n// =============================================================================\n\nexport interface FieldMessageProps {\n field?: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n className?: string;\n maxLength?: number;\n minLength?: number;\n rows?: number;\n // Allow override of any SmartInput props\n [key: string]: any;\n}\n\n/**\n * Opinionated Message Field Component\n * \n * Pre-configured with:\n * - Message validation (configurable min/max length)\n * - Textarea input type\n * - Proper label and placeholder\n * - Required field indicator\n * \n * Usage:\n * <FieldMessage /> // Uses 'message' as field name\n * <FieldMessage field=\"comments\" maxLength={1000} /> // Custom field name and length\n * <FieldMessage required={false} /> // Override required\n */\nexport const FieldMessage: React.FC<FieldMessageProps> = ({\n field = 'message',\n label = 'Message',\n placeholder = 'Enter your message',\n required = false,\n className = '',\n maxLength = 500,\n minLength = 10,\n rows = 4,\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"textarea\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(minLength, `Message must be at least ${minLength} characters`)\n .max(maxLength, `Message must be less than ${maxLength} characters`)\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n\n/**\n * Opinionated Comments Field Component\n * \n * Pre-configured for comments with longer length limits\n * \n * Usage:\n * <FieldComments /> // Uses 'comments' as field name\n * <FieldComments field=\"feedback\" maxLength={2000} /> // Custom field name and length\n */\nexport const FieldComments: React.FC<FieldMessageProps> = ({\n field = 'comments',\n label = 'Comments',\n placeholder = 'Enter your comments',\n required = false,\n className = '',\n maxLength = 1000,\n minLength = 10,\n rows = 4,\n ...props\n}) => {\n return (\n <SmartInput\n field={field}\n label={label}\n type=\"textarea\"\n placeholder={placeholder}\n validation={z.string(`${label} is required`)\n .min(minLength, `Comments must be at least ${minLength} characters`)\n .max(maxLength, `Comments must be less than ${maxLength} characters`)\n }\n required={required}\n className={className}\n {...props}\n />\n );\n};\n"]}
@@ -0,0 +1,274 @@
1
+ export { S as SmartFormProvider, a as useFormField, u as useSmartForm } from './SmartFormProvider-B-BTl4wO.cjs';
2
+ import React__default from 'react';
3
+
4
+ interface FieldEmailProps {
5
+ field?: string;
6
+ label?: string;
7
+ placeholder?: string;
8
+ required?: boolean;
9
+ className?: string;
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * Opinionated Email Field Component
14
+ *
15
+ * Pre-configured with:
16
+ * - Standard email validation
17
+ * - Proper label and placeholder
18
+ * - Email input type
19
+ * - Required field indicator
20
+ *
21
+ * Usage:
22
+ * <FieldEmail /> // Uses 'email' as field name
23
+ * <FieldEmail field="userEmail" /> // Custom field name
24
+ * <FieldEmail required={false} /> // Override required
25
+ */
26
+ declare const FieldEmail: React__default.FC<FieldEmailProps>;
27
+
28
+ interface FieldPhoneProps {
29
+ field?: string;
30
+ label?: string;
31
+ placeholder?: string;
32
+ required?: boolean;
33
+ className?: string;
34
+ [key: string]: any;
35
+ }
36
+ /**
37
+ * Opinionated Phone Field Component
38
+ *
39
+ * Pre-configured with:
40
+ * - Phone number validation (minimum 10 digits)
41
+ * - Tel input type
42
+ * - Proper label and placeholder
43
+ * - Required field indicator
44
+ *
45
+ * Usage:
46
+ * <FieldPhone /> // Uses 'phone' as field name
47
+ * <FieldPhone field="mobileNumber" /> // Custom field name
48
+ * <FieldPhone required={false} /> // Override required
49
+ */
50
+ declare const FieldPhone: React__default.FC<FieldPhoneProps>;
51
+
52
+ interface FieldNameProps {
53
+ field?: string;
54
+ label?: string;
55
+ placeholder?: string;
56
+ required?: boolean;
57
+ className?: string;
58
+ [key: string]: any;
59
+ }
60
+ /**
61
+ * Opinionated First Name Field Component
62
+ *
63
+ * Pre-configured with:
64
+ * - Name validation (minimum 2 characters, letters only)
65
+ * - Proper label and placeholder
66
+ * - Required field indicator
67
+ *
68
+ * Usage:
69
+ * <FieldFirstName /> // Uses 'firstName' as field name
70
+ * <FieldFirstName field="givenName" /> // Custom field name
71
+ */
72
+ declare const FieldFirstName: React__default.FC<FieldNameProps>;
73
+ /**
74
+ * Opinionated Last Name Field Component
75
+ *
76
+ * Pre-configured with:
77
+ * - Name validation (minimum 2 characters, letters only)
78
+ * - Proper label and placeholder
79
+ * - Required field indicator
80
+ *
81
+ * Usage:
82
+ * <FieldLastName /> // Uses 'lastName' as field name
83
+ * <FieldLastName field="surname" /> // Custom field name
84
+ */
85
+ declare const FieldLastName: React__default.FC<FieldNameProps>;
86
+ /**
87
+ * Opinionated Full Name Field Component
88
+ *
89
+ * Pre-configured with:
90
+ * - Name validation (minimum 2 characters, letters only)
91
+ * - Proper label and placeholder
92
+ * - Required field indicator
93
+ *
94
+ * Usage:
95
+ * <FieldFullName /> // Uses 'fullName' as field name
96
+ * <FieldFullName field="displayName" /> // Custom field name
97
+ */
98
+ declare const FieldFullName: React__default.FC<FieldNameProps>;
99
+
100
+ interface FieldPasswordProps {
101
+ field?: string;
102
+ label?: string;
103
+ placeholder?: string;
104
+ required?: boolean;
105
+ className?: string;
106
+ minLength?: number;
107
+ requireUppercase?: boolean;
108
+ requireLowercase?: boolean;
109
+ requireNumbers?: boolean;
110
+ requireSpecialChars?: boolean;
111
+ forgotPasswordLink?: {
112
+ text?: string;
113
+ href?: string;
114
+ to?: string;
115
+ onClick?: () => void;
116
+ };
117
+ [key: string]: unknown;
118
+ }
119
+ /**
120
+ * Opinionated Password Field Component
121
+ *
122
+ * Pre-configured with:
123
+ * - Strong password validation
124
+ * - Password input type with show/hide toggle
125
+ * - Proper label and placeholder
126
+ * - Required field indicator
127
+ * - Optional "Forgot your password?" link
128
+ *
129
+ * Usage:
130
+ * <FieldPassword /> // Uses 'password' as field name
131
+ * <FieldPassword field="userPassword" /> // Custom field name
132
+ * <FieldPassword minLength={12} /> // Custom minimum length
133
+ * <FieldPassword forgotPasswordLink={{ onClick: handleForgotPassword }} /> // With forgot password link
134
+ * <FieldPassword forgotPasswordLink={{ text: "Reset password", onClick: handleReset }} /> // Custom link text
135
+ * <FieldPassword forgotPasswordLink={{ to: "/forgot-password" }} /> // React Router Link
136
+ * <FieldPassword forgotPasswordLink={{ href: "/forgot-password" }} /> // External link
137
+ */
138
+ declare const FieldPassword: React__default.FC<FieldPasswordProps>;
139
+ /**
140
+ * Opinionated Confirm Password Field Component
141
+ *
142
+ * Pre-configured for password confirmation
143
+ *
144
+ * Usage:
145
+ * <FieldConfirmPassword /> // Uses 'confirmPassword' as field name
146
+ * <FieldConfirmPassword field="passwordConfirmation" /> // Custom field name
147
+ */
148
+ declare const FieldConfirmPassword: React__default.FC<FieldPasswordProps>;
149
+
150
+ interface FieldAgeProps {
151
+ field?: string;
152
+ label?: string;
153
+ placeholder?: string;
154
+ required?: boolean;
155
+ className?: string;
156
+ minAge?: number;
157
+ maxAge?: number;
158
+ [key: string]: any;
159
+ }
160
+ /**
161
+ * Opinionated Age Field Component
162
+ *
163
+ * Pre-configured with:
164
+ * - Age validation (typically 18+ for adults)
165
+ * - Number input type
166
+ * - Proper label and placeholder
167
+ * - Required field indicator
168
+ *
169
+ * Usage:
170
+ * <FieldAge /> // Uses 'age' as field name, 18+ validation
171
+ * <FieldAge field="userAge" minAge={21} /> // Custom field name, 21+ validation
172
+ * <FieldAge minAge={13} maxAge={100} /> // Custom age range
173
+ */
174
+ declare const FieldAge: React__default.FC<FieldAgeProps>;
175
+
176
+ interface FieldAddressProps {
177
+ field?: string;
178
+ label?: string;
179
+ placeholder?: string;
180
+ required?: boolean;
181
+ className?: string;
182
+ [key: string]: any;
183
+ }
184
+ /**
185
+ * Opinionated Street Address Field Component
186
+ *
187
+ * Pre-configured with:
188
+ * - Address validation (minimum 5 characters)
189
+ * - Proper label and placeholder
190
+ * - Required field indicator
191
+ *
192
+ * Usage:
193
+ * <FieldStreetAddress /> // Uses 'streetAddress' as field name
194
+ * <FieldStreetAddress field="address" /> // Custom field name
195
+ */
196
+ declare const FieldStreetAddress: React__default.FC<FieldAddressProps>;
197
+ /**
198
+ * Opinionated City Field Component
199
+ *
200
+ * Pre-configured with:
201
+ * - City validation (letters, spaces, hyphens, apostrophes)
202
+ * - Proper label and placeholder
203
+ * - Required field indicator
204
+ *
205
+ * Usage:
206
+ * <FieldCity /> // Uses 'city' as field name
207
+ * <FieldCity field="town" /> // Custom field name
208
+ */
209
+ declare const FieldCity: React__default.FC<FieldAddressProps>;
210
+ /**
211
+ * Opinionated ZIP Code Field Component
212
+ *
213
+ * Pre-configured with:
214
+ * - ZIP code validation (US format: 12345 or 12345-6789)
215
+ * - Proper label and placeholder
216
+ * - Required field indicator
217
+ *
218
+ * Usage:
219
+ * <FieldZipCode /> // Uses 'zipCode' as field name
220
+ * <FieldZipCode field="postalCode" /> // Custom field name
221
+ */
222
+ declare const FieldZipCode: React__default.FC<FieldAddressProps>;
223
+ /**
224
+ * Opinionated State Field Component
225
+ *
226
+ * Pre-configured with:
227
+ * - State validation (2-letter state codes or full state names)
228
+ * - Proper label and placeholder
229
+ * - Required field indicator
230
+ *
231
+ * Usage:
232
+ * <FieldState /> // Uses 'state' as field name
233
+ * <FieldState field="province" /> // Custom field name
234
+ */
235
+ declare const FieldState: React__default.FC<FieldAddressProps>;
236
+
237
+ interface FieldMessageProps {
238
+ field?: string;
239
+ label?: string;
240
+ placeholder?: string;
241
+ required?: boolean;
242
+ className?: string;
243
+ maxLength?: number;
244
+ minLength?: number;
245
+ rows?: number;
246
+ [key: string]: any;
247
+ }
248
+ /**
249
+ * Opinionated Message Field Component
250
+ *
251
+ * Pre-configured with:
252
+ * - Message validation (configurable min/max length)
253
+ * - Textarea input type
254
+ * - Proper label and placeholder
255
+ * - Required field indicator
256
+ *
257
+ * Usage:
258
+ * <FieldMessage /> // Uses 'message' as field name
259
+ * <FieldMessage field="comments" maxLength={1000} /> // Custom field name and length
260
+ * <FieldMessage required={false} /> // Override required
261
+ */
262
+ declare const FieldMessage: React__default.FC<FieldMessageProps>;
263
+ /**
264
+ * Opinionated Comments Field Component
265
+ *
266
+ * Pre-configured for comments with longer length limits
267
+ *
268
+ * Usage:
269
+ * <FieldComments /> // Uses 'comments' as field name
270
+ * <FieldComments field="feedback" maxLength={2000} /> // Custom field name and length
271
+ */
272
+ declare const FieldComments: React__default.FC<FieldMessageProps>;
273
+
274
+ export { type FieldAddressProps, FieldAge, type FieldAgeProps, FieldCity, FieldComments, FieldConfirmPassword, FieldEmail, type FieldEmailProps, FieldFirstName, FieldFullName, FieldLastName, FieldMessage, type FieldMessageProps, type FieldNameProps, FieldPassword, type FieldPasswordProps, FieldPhone, type FieldPhoneProps, FieldState, FieldStreetAddress, FieldZipCode };
@@ -0,0 +1,274 @@
1
+ export { S as SmartFormProvider, a as useFormField, u as useSmartForm } from './SmartFormProvider-B-BTl4wO.js';
2
+ import React__default from 'react';
3
+
4
+ interface FieldEmailProps {
5
+ field?: string;
6
+ label?: string;
7
+ placeholder?: string;
8
+ required?: boolean;
9
+ className?: string;
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * Opinionated Email Field Component
14
+ *
15
+ * Pre-configured with:
16
+ * - Standard email validation
17
+ * - Proper label and placeholder
18
+ * - Email input type
19
+ * - Required field indicator
20
+ *
21
+ * Usage:
22
+ * <FieldEmail /> // Uses 'email' as field name
23
+ * <FieldEmail field="userEmail" /> // Custom field name
24
+ * <FieldEmail required={false} /> // Override required
25
+ */
26
+ declare const FieldEmail: React__default.FC<FieldEmailProps>;
27
+
28
+ interface FieldPhoneProps {
29
+ field?: string;
30
+ label?: string;
31
+ placeholder?: string;
32
+ required?: boolean;
33
+ className?: string;
34
+ [key: string]: any;
35
+ }
36
+ /**
37
+ * Opinionated Phone Field Component
38
+ *
39
+ * Pre-configured with:
40
+ * - Phone number validation (minimum 10 digits)
41
+ * - Tel input type
42
+ * - Proper label and placeholder
43
+ * - Required field indicator
44
+ *
45
+ * Usage:
46
+ * <FieldPhone /> // Uses 'phone' as field name
47
+ * <FieldPhone field="mobileNumber" /> // Custom field name
48
+ * <FieldPhone required={false} /> // Override required
49
+ */
50
+ declare const FieldPhone: React__default.FC<FieldPhoneProps>;
51
+
52
+ interface FieldNameProps {
53
+ field?: string;
54
+ label?: string;
55
+ placeholder?: string;
56
+ required?: boolean;
57
+ className?: string;
58
+ [key: string]: any;
59
+ }
60
+ /**
61
+ * Opinionated First Name Field Component
62
+ *
63
+ * Pre-configured with:
64
+ * - Name validation (minimum 2 characters, letters only)
65
+ * - Proper label and placeholder
66
+ * - Required field indicator
67
+ *
68
+ * Usage:
69
+ * <FieldFirstName /> // Uses 'firstName' as field name
70
+ * <FieldFirstName field="givenName" /> // Custom field name
71
+ */
72
+ declare const FieldFirstName: React__default.FC<FieldNameProps>;
73
+ /**
74
+ * Opinionated Last Name Field Component
75
+ *
76
+ * Pre-configured with:
77
+ * - Name validation (minimum 2 characters, letters only)
78
+ * - Proper label and placeholder
79
+ * - Required field indicator
80
+ *
81
+ * Usage:
82
+ * <FieldLastName /> // Uses 'lastName' as field name
83
+ * <FieldLastName field="surname" /> // Custom field name
84
+ */
85
+ declare const FieldLastName: React__default.FC<FieldNameProps>;
86
+ /**
87
+ * Opinionated Full Name Field Component
88
+ *
89
+ * Pre-configured with:
90
+ * - Name validation (minimum 2 characters, letters only)
91
+ * - Proper label and placeholder
92
+ * - Required field indicator
93
+ *
94
+ * Usage:
95
+ * <FieldFullName /> // Uses 'fullName' as field name
96
+ * <FieldFullName field="displayName" /> // Custom field name
97
+ */
98
+ declare const FieldFullName: React__default.FC<FieldNameProps>;
99
+
100
+ interface FieldPasswordProps {
101
+ field?: string;
102
+ label?: string;
103
+ placeholder?: string;
104
+ required?: boolean;
105
+ className?: string;
106
+ minLength?: number;
107
+ requireUppercase?: boolean;
108
+ requireLowercase?: boolean;
109
+ requireNumbers?: boolean;
110
+ requireSpecialChars?: boolean;
111
+ forgotPasswordLink?: {
112
+ text?: string;
113
+ href?: string;
114
+ to?: string;
115
+ onClick?: () => void;
116
+ };
117
+ [key: string]: unknown;
118
+ }
119
+ /**
120
+ * Opinionated Password Field Component
121
+ *
122
+ * Pre-configured with:
123
+ * - Strong password validation
124
+ * - Password input type with show/hide toggle
125
+ * - Proper label and placeholder
126
+ * - Required field indicator
127
+ * - Optional "Forgot your password?" link
128
+ *
129
+ * Usage:
130
+ * <FieldPassword /> // Uses 'password' as field name
131
+ * <FieldPassword field="userPassword" /> // Custom field name
132
+ * <FieldPassword minLength={12} /> // Custom minimum length
133
+ * <FieldPassword forgotPasswordLink={{ onClick: handleForgotPassword }} /> // With forgot password link
134
+ * <FieldPassword forgotPasswordLink={{ text: "Reset password", onClick: handleReset }} /> // Custom link text
135
+ * <FieldPassword forgotPasswordLink={{ to: "/forgot-password" }} /> // React Router Link
136
+ * <FieldPassword forgotPasswordLink={{ href: "/forgot-password" }} /> // External link
137
+ */
138
+ declare const FieldPassword: React__default.FC<FieldPasswordProps>;
139
+ /**
140
+ * Opinionated Confirm Password Field Component
141
+ *
142
+ * Pre-configured for password confirmation
143
+ *
144
+ * Usage:
145
+ * <FieldConfirmPassword /> // Uses 'confirmPassword' as field name
146
+ * <FieldConfirmPassword field="passwordConfirmation" /> // Custom field name
147
+ */
148
+ declare const FieldConfirmPassword: React__default.FC<FieldPasswordProps>;
149
+
150
+ interface FieldAgeProps {
151
+ field?: string;
152
+ label?: string;
153
+ placeholder?: string;
154
+ required?: boolean;
155
+ className?: string;
156
+ minAge?: number;
157
+ maxAge?: number;
158
+ [key: string]: any;
159
+ }
160
+ /**
161
+ * Opinionated Age Field Component
162
+ *
163
+ * Pre-configured with:
164
+ * - Age validation (typically 18+ for adults)
165
+ * - Number input type
166
+ * - Proper label and placeholder
167
+ * - Required field indicator
168
+ *
169
+ * Usage:
170
+ * <FieldAge /> // Uses 'age' as field name, 18+ validation
171
+ * <FieldAge field="userAge" minAge={21} /> // Custom field name, 21+ validation
172
+ * <FieldAge minAge={13} maxAge={100} /> // Custom age range
173
+ */
174
+ declare const FieldAge: React__default.FC<FieldAgeProps>;
175
+
176
+ interface FieldAddressProps {
177
+ field?: string;
178
+ label?: string;
179
+ placeholder?: string;
180
+ required?: boolean;
181
+ className?: string;
182
+ [key: string]: any;
183
+ }
184
+ /**
185
+ * Opinionated Street Address Field Component
186
+ *
187
+ * Pre-configured with:
188
+ * - Address validation (minimum 5 characters)
189
+ * - Proper label and placeholder
190
+ * - Required field indicator
191
+ *
192
+ * Usage:
193
+ * <FieldStreetAddress /> // Uses 'streetAddress' as field name
194
+ * <FieldStreetAddress field="address" /> // Custom field name
195
+ */
196
+ declare const FieldStreetAddress: React__default.FC<FieldAddressProps>;
197
+ /**
198
+ * Opinionated City Field Component
199
+ *
200
+ * Pre-configured with:
201
+ * - City validation (letters, spaces, hyphens, apostrophes)
202
+ * - Proper label and placeholder
203
+ * - Required field indicator
204
+ *
205
+ * Usage:
206
+ * <FieldCity /> // Uses 'city' as field name
207
+ * <FieldCity field="town" /> // Custom field name
208
+ */
209
+ declare const FieldCity: React__default.FC<FieldAddressProps>;
210
+ /**
211
+ * Opinionated ZIP Code Field Component
212
+ *
213
+ * Pre-configured with:
214
+ * - ZIP code validation (US format: 12345 or 12345-6789)
215
+ * - Proper label and placeholder
216
+ * - Required field indicator
217
+ *
218
+ * Usage:
219
+ * <FieldZipCode /> // Uses 'zipCode' as field name
220
+ * <FieldZipCode field="postalCode" /> // Custom field name
221
+ */
222
+ declare const FieldZipCode: React__default.FC<FieldAddressProps>;
223
+ /**
224
+ * Opinionated State Field Component
225
+ *
226
+ * Pre-configured with:
227
+ * - State validation (2-letter state codes or full state names)
228
+ * - Proper label and placeholder
229
+ * - Required field indicator
230
+ *
231
+ * Usage:
232
+ * <FieldState /> // Uses 'state' as field name
233
+ * <FieldState field="province" /> // Custom field name
234
+ */
235
+ declare const FieldState: React__default.FC<FieldAddressProps>;
236
+
237
+ interface FieldMessageProps {
238
+ field?: string;
239
+ label?: string;
240
+ placeholder?: string;
241
+ required?: boolean;
242
+ className?: string;
243
+ maxLength?: number;
244
+ minLength?: number;
245
+ rows?: number;
246
+ [key: string]: any;
247
+ }
248
+ /**
249
+ * Opinionated Message Field Component
250
+ *
251
+ * Pre-configured with:
252
+ * - Message validation (configurable min/max length)
253
+ * - Textarea input type
254
+ * - Proper label and placeholder
255
+ * - Required field indicator
256
+ *
257
+ * Usage:
258
+ * <FieldMessage /> // Uses 'message' as field name
259
+ * <FieldMessage field="comments" maxLength={1000} /> // Custom field name and length
260
+ * <FieldMessage required={false} /> // Override required
261
+ */
262
+ declare const FieldMessage: React__default.FC<FieldMessageProps>;
263
+ /**
264
+ * Opinionated Comments Field Component
265
+ *
266
+ * Pre-configured for comments with longer length limits
267
+ *
268
+ * Usage:
269
+ * <FieldComments /> // Uses 'comments' as field name
270
+ * <FieldComments field="feedback" maxLength={2000} /> // Custom field name and length
271
+ */
272
+ declare const FieldComments: React__default.FC<FieldMessageProps>;
273
+
274
+ export { type FieldAddressProps, FieldAge, type FieldAgeProps, FieldCity, FieldComments, FieldConfirmPassword, FieldEmail, type FieldEmailProps, FieldFirstName, FieldFullName, FieldLastName, FieldMessage, type FieldMessageProps, type FieldNameProps, FieldPassword, type FieldPasswordProps, FieldPhone, type FieldPhoneProps, FieldState, FieldStreetAddress, FieldZipCode };