Complete React-based field rendering system that replaces WPCFTO Vue.js layer while maintaining PHP field configuration compatibility. Components: - FieldRenderer: Main renderer with tabs support (metabox) and direct mode (settings) - FieldTypes: 15+ field types (Text, Number, Select, Radio, Date, etc.) - RepeaterField: Collapsible repeater with currency label parsing - DependencyEngine: Show/hide fields based on conditions - ValidationEngine: Client-side validation with error messages - SettingsRenderer: Settings page with AJAX save to wp_options Features: - Repeater rows collapsed by default with readable currency titles - Searchable dropdowns using Popover + Command pattern - Proper label resolution for pre-selected values - Hidden input sync for WordPress form submission Also includes: - FieldConfigBridge: Transform PHP configs to React format - Updated Settings.php for React-based settings page - Radio-group UI component - wp-admin-restore.css for admin panel isolation
51 lines
1.6 KiB
JSON
51 lines
1.6 KiB
JSON
{
|
|
"name": "formipay",
|
|
"version": "2.0.0",
|
|
"description": "WordPress payment form plugin with React admin interface",
|
|
"author": "Formipay",
|
|
"license": "GPL-2.0-or-later",
|
|
"scripts": {
|
|
"build": "wp-scripts build",
|
|
"start": "wp-scripts start",
|
|
"format": "wp-scripts format",
|
|
"lint:js": "wp-scripts lint-js",
|
|
"lint:js:fix": "wp-scripts lint-js --fix",
|
|
"lint:css": "wp-scripts lint-style",
|
|
"lint:css:fix": "wp-scripts lint-style --fix",
|
|
"packages-update": "wp-scripts packages-update"
|
|
},
|
|
"devDependencies": {
|
|
"@wordpress/scripts": "^27.0.0",
|
|
"postcss-prefix-selector": "^2.1.1",
|
|
"tw-animate-css": "^1.4.0"
|
|
},
|
|
"dependencies": {
|
|
"@hugeicons/core-free-icons": "^4.1.1",
|
|
"@hugeicons/react": "^1.1.6",
|
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-label": "^2.1.8",
|
|
"@radix-ui/react-popover": "^1.1.15",
|
|
"@radix-ui/react-radio-group": "^1.3.8",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-separator": "^1.1.8",
|
|
"@radix-ui/react-switch": "^1.2.6",
|
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
"@tailwindcss/postcss": "^4.2.2",
|
|
"@wordpress/api-fetch": "^6.0.0",
|
|
"@wordpress/components": "^25.0.0",
|
|
"@wordpress/data": "^9.0.0",
|
|
"@wordpress/element": "^5.0.0",
|
|
"@wordpress/i18n": "^4.0.0",
|
|
"@wordpress/icons": "^9.0.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"radix-ui": "^1.4.3",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.5.0",
|
|
"tailwindcss": "^4.2.2"
|
|
}
|
|
}
|