extended-dynamic-forms 0.1.15 → 0.1.18

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.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +859 -551
  3. package/dist/extended-dynamic-forms.standalone.js +882 -0
  4. package/dist/style.css +1 -1
  5. package/examples/conditional-v2-example.tsx +64 -0
  6. package/examples/dynamic-array-items-example.tsx +211 -0
  7. package/examples/form-devtools-example.tsx +386 -0
  8. package/examples/global-ui-rules-example.tsx +356 -0
  9. package/examples/vanilla-js/README.md +212 -0
  10. package/examples/vanilla-js/basic-form.html +142 -0
  11. package/examples/vanilla-js/conditional-form.html +159 -0
  12. package/examples/vanilla-js/wizard-form.html +185 -0
  13. package/package.json +53 -37
  14. package/dist/ExtendedForm.d.ts +0 -4
  15. package/dist/components/arrays/ArrayFieldItemTemplate.d.ts +0 -3
  16. package/dist/components/arrays/ArrayFieldTemplate.d.ts +0 -3
  17. package/dist/components/arrays/index.d.ts +0 -2
  18. package/dist/components/fields/AddressField.d.ts +0 -4
  19. package/dist/components/fields/CurrencyField.d.ts +0 -4
  20. package/dist/components/fields/PhoneField.d.ts +0 -4
  21. package/dist/components/index.d.ts +0 -15
  22. package/dist/components/ui/badge.d.ts +0 -9
  23. package/dist/components/ui/button.d.ts +0 -11
  24. package/dist/components/ui/calendar.d.ts +0 -8
  25. package/dist/components/ui/card.d.ts +0 -8
  26. package/dist/components/ui/checkbox.d.ts +0 -4
  27. package/dist/components/ui/date-picker.d.ts +0 -13
  28. package/dist/components/ui/input.d.ts +0 -5
  29. package/dist/components/ui/label.d.ts +0 -5
  30. package/dist/components/ui/popover.d.ts +0 -6
  31. package/dist/components/ui/select.d.ts +0 -13
  32. package/dist/components/ui/slider.d.ts +0 -4
  33. package/dist/components/ui/textarea.d.ts +0 -5
  34. package/dist/conditionals/ConditionalForm.d.ts +0 -7
  35. package/dist/conditionals/index.d.ts +0 -4
  36. package/dist/conditionals/initialStateUtils.d.ts +0 -18
  37. package/dist/conditionals/types.d.ts +0 -65
  38. package/dist/conditionals/utils.d.ts +0 -22
  39. package/dist/events/FormEventContext.d.ts +0 -20
  40. package/dist/events/FormEventHub.d.ts +0 -27
  41. package/dist/events/FormEventManager.d.ts +0 -10
  42. package/dist/events/index.d.ts +0 -4
  43. package/dist/index.d.ts +0 -15
  44. package/dist/index.es.js +0 -15405
  45. package/dist/index.umd.js +0 -116
  46. package/dist/layouts/grid/GridLayout.d.ts +0 -11
  47. package/dist/layouts/horizontal/HorizontalLayout.d.ts +0 -10
  48. package/dist/layouts/index.d.ts +0 -3
  49. package/dist/layouts/vertical/VerticalLayout.d.ts +0 -9
  50. package/dist/lib/utils.d.ts +0 -3
  51. package/dist/types/index.d.ts +0 -47
  52. package/dist/utils/formDataUtils.d.ts +0 -22
  53. package/dist/utils/index.d.ts +0 -3
  54. package/dist/utils/schemaUtils.d.ts +0 -24
  55. package/dist/utils/validationUtils.d.ts +0 -26
  56. package/dist/vanilla-wrapper.d.ts +0 -35
  57. package/dist/widgets/date/DateWidget.d.ts +0 -4
  58. package/dist/widgets/enhanced/EnhancedWidgets.d.ts +0 -36
  59. package/dist/widgets/file/FileWidget.d.ts +0 -4
  60. package/dist/widgets/index.d.ts +0 -33
  61. package/dist/widgets/input/ColorWidget.d.ts +0 -4
  62. package/dist/widgets/input/RangeWidget.d.ts +0 -4
  63. package/dist/widgets/input/RatingWidget.d.ts +0 -4
@@ -0,0 +1,159 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Conditional Form - Vanilla JS</title>
7
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/antd@5.24.0/dist/reset.css">
8
+ <style>
9
+ body {
10
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial;
11
+ padding: 20px;
12
+ max-width: 800px;
13
+ margin: 0 auto;
14
+ background: #f0f2f5;
15
+ }
16
+ .form-container {
17
+ background: #fff;
18
+ padding: 24px;
19
+ border-radius: 8px;
20
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
21
+ margin-bottom: 20px;
22
+ }
23
+ .info-box {
24
+ background: #e6f7ff;
25
+ border: 1px solid #91d5ff;
26
+ padding: 12px;
27
+ border-radius: 4px;
28
+ margin-bottom: 20px;
29
+ }
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <h1>Conditional Form Example</h1>
34
+
35
+ <div class="info-box">
36
+ This example demonstrates conditional logic where fields appear/disappear based on user selections.
37
+ </div>
38
+
39
+ <div class="form-container">
40
+ <div id="conditional-form"></div>
41
+ </div>
42
+
43
+ <script src="../../dist/extended-dynamic-forms.standalone.js"></script>
44
+
45
+ <script>
46
+ window.addEventListener('DOMContentLoaded', function() {
47
+ const schema = {
48
+ type: 'object',
49
+ properties: {
50
+ userType: {
51
+ type: 'string',
52
+ title: 'User Type',
53
+ enum: ['individual', 'business'],
54
+ enumNames: ['Individual', 'Business']
55
+ },
56
+ firstName: {
57
+ type: 'string',
58
+ title: 'First Name'
59
+ },
60
+ lastName: {
61
+ type: 'string',
62
+ title: 'Last Name'
63
+ },
64
+ businessName: {
65
+ type: 'string',
66
+ title: 'Business Name'
67
+ },
68
+ taxId: {
69
+ type: 'string',
70
+ title: 'Tax ID / EIN'
71
+ },
72
+ hasInternationalOperations: {
73
+ type: 'boolean',
74
+ title: 'International Operations'
75
+ },
76
+ countries: {
77
+ type: 'array',
78
+ title: 'Countries of Operation',
79
+ items: {
80
+ type: 'string'
81
+ }
82
+ }
83
+ },
84
+ required: ['userType']
85
+ };
86
+
87
+ const uiSchema = {
88
+ userType: {
89
+ 'ui:widget': 'radio'
90
+ },
91
+ countries: {
92
+ 'ui:widget': 'checkboxes',
93
+ 'ui:options': {
94
+ inline: true
95
+ }
96
+ }
97
+ };
98
+
99
+ // Define conditional rules
100
+ const conditionals = {
101
+ rules: [
102
+ // Show individual fields
103
+ {
104
+ conditions: { userType: 'individual' },
105
+ event: {
106
+ type: 'remove',
107
+ params: { field: ['businessName', 'taxId', 'hasInternationalOperations', 'countries'] }
108
+ }
109
+ },
110
+ // Show business fields
111
+ {
112
+ conditions: { userType: 'business' },
113
+ event: {
114
+ type: 'remove',
115
+ params: { field: ['firstName', 'lastName'] }
116
+ }
117
+ },
118
+ // Show countries when international
119
+ {
120
+ conditions: {
121
+ userType: 'business',
122
+ hasInternationalOperations: { not: true }
123
+ },
124
+ event: {
125
+ type: 'remove',
126
+ params: { field: 'countries' }
127
+ }
128
+ },
129
+ // Make business fields required
130
+ {
131
+ conditions: { userType: 'business' },
132
+ event: {
133
+ type: 'require',
134
+ params: { field: ['businessName', 'taxId'] }
135
+ }
136
+ }
137
+ ]
138
+ };
139
+
140
+ // Create the form with conditionals
141
+ ExtendedDynamicForms.createForm({
142
+ container: '#conditional-form',
143
+ schema: schema,
144
+ uiSchema: uiSchema,
145
+ conditionals: conditionals,
146
+ formData: {
147
+ userType: 'individual'
148
+ },
149
+ onChange: function(formData) {
150
+ console.log('Form data:', formData);
151
+ },
152
+ onSubmit: function(formData) {
153
+ alert('Submitted: ' + JSON.stringify(formData, null, 2));
154
+ }
155
+ });
156
+ });
157
+ </script>
158
+ </body>
159
+ </html>
@@ -0,0 +1,185 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Wizard Form - Vanilla JS</title>
7
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/antd@5.24.0/dist/reset.css">
8
+ <style>
9
+ body {
10
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial;
11
+ padding: 20px;
12
+ max-width: 900px;
13
+ margin: 0 auto;
14
+ background: #f0f2f5;
15
+ }
16
+ .wizard-container {
17
+ background: #fff;
18
+ padding: 24px;
19
+ border-radius: 8px;
20
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
21
+ min-height: 500px;
22
+ }
23
+ h1 {
24
+ text-align: center;
25
+ color: #1890ff;
26
+ }
27
+ </style>
28
+ </head>
29
+ <body>
30
+ <h1>Multi-Step Wizard Form</h1>
31
+
32
+ <div class="wizard-container">
33
+ <div id="wizard-form"></div>
34
+ </div>
35
+
36
+ <script src="../../dist/extended-dynamic-forms.standalone.js"></script>
37
+
38
+ <script>
39
+ window.addEventListener('DOMContentLoaded', function() {
40
+ // Define wizard steps
41
+ const steps = [
42
+ {
43
+ id: 'personal',
44
+ title: 'Personal Information',
45
+ schema: {
46
+ type: 'object',
47
+ properties: {
48
+ firstName: {
49
+ type: 'string',
50
+ title: 'First Name',
51
+ minLength: 2
52
+ },
53
+ lastName: {
54
+ type: 'string',
55
+ title: 'Last Name',
56
+ minLength: 2
57
+ },
58
+ dateOfBirth: {
59
+ type: 'string',
60
+ format: 'date',
61
+ title: 'Date of Birth'
62
+ }
63
+ },
64
+ required: ['firstName', 'lastName', 'dateOfBirth']
65
+ },
66
+ uiSchema: {
67
+ dateOfBirth: {
68
+ 'ui:widget': 'date'
69
+ }
70
+ }
71
+ },
72
+ {
73
+ id: 'contact',
74
+ title: 'Contact Details',
75
+ schema: {
76
+ type: 'object',
77
+ properties: {
78
+ email: {
79
+ type: 'string',
80
+ format: 'email',
81
+ title: 'Email Address'
82
+ },
83
+ phone: {
84
+ type: 'string',
85
+ title: 'Phone Number',
86
+ pattern: '^[0-9-+()\\s]+$'
87
+ },
88
+ preferredContact: {
89
+ type: 'string',
90
+ title: 'Preferred Contact Method',
91
+ enum: ['email', 'phone', 'both'],
92
+ enumNames: ['Email', 'Phone', 'Both']
93
+ }
94
+ },
95
+ required: ['email', 'phone', 'preferredContact']
96
+ },
97
+ uiSchema: {
98
+ email: {
99
+ 'ui:widget': 'email'
100
+ },
101
+ preferredContact: {
102
+ 'ui:widget': 'radio'
103
+ }
104
+ }
105
+ },
106
+ {
107
+ id: 'address',
108
+ title: 'Address Information',
109
+ schema: {
110
+ type: 'object',
111
+ properties: {
112
+ street: {
113
+ type: 'string',
114
+ title: 'Street Address'
115
+ },
116
+ city: {
117
+ type: 'string',
118
+ title: 'City'
119
+ },
120
+ state: {
121
+ type: 'string',
122
+ title: 'State/Province'
123
+ },
124
+ postalCode: {
125
+ type: 'string',
126
+ title: 'Postal Code'
127
+ },
128
+ country: {
129
+ type: 'string',
130
+ title: 'Country',
131
+ enum: ['US', 'CA', 'UK', 'AU'],
132
+ enumNames: ['United States', 'Canada', 'United Kingdom', 'Australia']
133
+ }
134
+ },
135
+ required: ['street', 'city', 'country']
136
+ },
137
+ uiSchema: {
138
+ street: {
139
+ 'ui:widget': 'textarea',
140
+ 'ui:options': {
141
+ rows: 2
142
+ }
143
+ },
144
+ country: {
145
+ 'ui:widget': 'select'
146
+ }
147
+ }
148
+ },
149
+ {
150
+ id: 'review',
151
+ title: 'Review & Submit',
152
+ schema: {
153
+ type: 'object',
154
+ properties: {
155
+ agreeToTerms: {
156
+ type: 'boolean',
157
+ title: 'I agree to the terms and conditions'
158
+ },
159
+ newsletter: {
160
+ type: 'boolean',
161
+ title: 'Subscribe to newsletter',
162
+ default: true
163
+ }
164
+ },
165
+ required: ['agreeToTerms']
166
+ }
167
+ }
168
+ ];
169
+
170
+ // Create the wizard form
171
+ ExtendedDynamicForms.createWizardForm({
172
+ container: '#wizard-form',
173
+ steps: steps,
174
+ initialData: {},
175
+ onStepChange: function(step, formData) {
176
+ console.log('Step ' + step + ' data:', formData);
177
+ },
178
+ onComplete: function(formData) {
179
+ alert('Wizard completed!\n\nFinal data:\n' + JSON.stringify(formData, null, 2));
180
+ }
181
+ });
182
+ });
183
+ </script>
184
+ </body>
185
+ </html>
package/package.json CHANGED
@@ -1,23 +1,42 @@
1
1
  {
2
2
  "name": "extended-dynamic-forms",
3
- "version": "0.1.15",
3
+ "version": "0.1.18",
4
4
  "description": "Extended React JSON Schema Form (RJSF) v6 with custom components, widgets, templates, layouts, and form events",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.es.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
9
- "dist"
9
+ "dist",
10
+ "examples",
11
+ "LICENSE",
12
+ "README.md"
10
13
  ],
14
+ "sideEffects": [
15
+ "**/*.css"
16
+ ],
17
+ "exports": {
18
+ ".": {
19
+ "import": "./dist/index.es.js",
20
+ "require": "./dist/index.umd.js",
21
+ "types": "./dist/index.d.ts"
22
+ },
23
+ "./dist/style.css": "./dist/style.css"
24
+ },
11
25
  "scripts": {
12
26
  "dev": "vite",
13
27
  "build": "tsc && vite build",
14
- "build:vanilla": "vite build --config vite.vanilla.config.ts",
28
+ "build:vanilla": "vite build --config vite.config.vanilla.ts",
15
29
  "build:all": "npm run build && npm run build:vanilla",
16
30
  "preview": "vite preview",
17
31
  "test": "vitest",
18
32
  "test:ui": "vitest --ui",
19
- "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
20
- "prepublishOnly": "npm run build"
33
+ "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 10",
34
+ "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
35
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
36
+ "prepublishOnly": "npm run build:all",
37
+ "playground": "cd playground && npm install && npm run dev",
38
+ "playground:build": "cd playground && npm run build",
39
+ "serve:examples": "npx http-server examples/vanilla-js -p 8080 -o"
21
40
  },
22
41
  "keywords": [
23
42
  "react",
@@ -29,40 +48,46 @@
29
48
  ],
30
49
  "author": "",
31
50
  "license": "MIT",
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "https://github.com/user/extended-dynamic-forms.git"
54
+ },
55
+ "homepage": "https://github.com/user/extended-dynamic-forms#readme",
56
+ "bugs": {
57
+ "url": "https://github.com/user/extended-dynamic-forms/issues"
58
+ },
32
59
  "peerDependencies": {
33
- "@rjsf/core": "^6.0.0-beta.10",
34
- "@rjsf/shadcn": "^6.0.0-beta.10",
35
- "@rjsf/utils": "^6.0.0-beta.10",
36
- "@rjsf/validator-ajv8": "^6.0.0-beta.10",
60
+ "antd": "^5.24.0",
37
61
  "react": "^18.0.0",
38
62
  "react-dom": "^18.0.0"
39
63
  },
40
64
  "devDependencies": {
41
- "@radix-ui/react-label": "^2.0.2",
42
- "@radix-ui/react-select": "^2.0.0",
43
- "@radix-ui/react-slider": "^1.1.2",
44
- "@radix-ui/react-switch": "^1.0.3",
45
- "@rjsf/core": "^6.0.0-beta.10",
46
- "@rjsf/utils": "^6.0.0-beta.10",
47
- "@rjsf/validator-ajv8": "^6.0.0-beta.10",
65
+ "@rjsf/antd": "file:../react-jsonschema-form/packages/antd",
66
+ "@rjsf/core": "file:../react-jsonschema-form/packages/core",
67
+ "@rjsf/utils": "file:../react-jsonschema-form/packages/utils",
68
+ "@rjsf/validator-ajv8": "file:../react-jsonschema-form/packages/validator-ajv8",
69
+ "@testing-library/dom": "^10.4.0",
70
+ "@testing-library/jest-dom": "^6.6.3",
71
+ "@testing-library/react": "^16.3.0",
72
+ "@testing-library/user-event": "^14.6.1",
73
+ "@types/node": "^24.0.1",
48
74
  "@types/react": "^18.2.43",
49
75
  "@types/react-dom": "^18.2.17",
50
76
  "@typescript-eslint/eslint-plugin": "^6.14.0",
51
77
  "@typescript-eslint/parser": "^6.14.0",
52
78
  "@vitejs/plugin-react": "^4.2.1",
53
- "autoprefixer": "^10.4.16",
54
- "class-variance-authority": "^0.7.0",
55
- "clsx": "^2.1.0",
79
+ "antd": "^5.26.0",
80
+ "clsx": "^2.1.1",
81
+ "dotenv": "^16.3.1",
56
82
  "eslint": "^8.55.0",
83
+ "eslint-config-prettier": "^10.1.5",
84
+ "eslint-plugin-prettier": "^5.4.1",
57
85
  "eslint-plugin-react-hooks": "^4.6.0",
58
86
  "eslint-plugin-react-refresh": "^0.4.5",
59
- "lucide-react": "^0.303.0",
60
- "postcss": "^8.4.32",
87
+ "jsdom": "^26.1.0",
88
+ "prettier": "^3.5.3",
61
89
  "react": "^18.2.0",
62
90
  "react-dom": "^18.2.0",
63
- "tailwind-merge": "^2.2.0",
64
- "tailwindcss": "^3.4.0",
65
- "tailwindcss-animate": "^1.0.7",
66
91
  "terser": "^5.40.0",
67
92
  "typescript": "^5.2.2",
68
93
  "vite": "^5.0.8",
@@ -70,18 +95,9 @@
70
95
  "vitest": "^1.0.0"
71
96
  },
72
97
  "dependencies": {
73
- "@radix-ui/react-checkbox": "^1.3.2",
74
- "@radix-ui/react-popover": "^1.1.14",
75
- "@radix-ui/react-slot": "^1.0.2",
76
- "@rjsf/shadcn": "^6.0.0-beta.10",
77
- "@testing-library/jest-dom": "^6.6.3",
78
- "@testing-library/react": "^16.3.0",
79
- "clsx": "^2.1.0",
80
98
  "date-fns": "^4.1.0",
81
- "jsdom": "^26.1.0",
82
- "json-rules-engine": "^7.3.1",
83
- "lucide-react": "^0.303.0",
84
- "react-day-picker": "^9.7.0",
85
- "tailwind-merge": "^2.2.0"
86
- }
99
+ "dayjs": "^1.11.13",
100
+ "json-rules-engine-simplified": "^0.2.0"
101
+ },
102
+ "type": "module"
87
103
  }
@@ -1,4 +0,0 @@
1
- import { default as React } from 'react';
2
- import { ExtendedFormProps } from './types';
3
-
4
- export declare const ExtendedForm: React.FC<ExtendedFormProps>;
@@ -1,3 +0,0 @@
1
- import { ArrayFieldItemTemplateType } from '@rjsf/utils';
2
-
3
- export declare const ArrayFieldItemTemplate: (props: ArrayFieldItemTemplateType) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- import { ArrayFieldTemplateProps } from '@rjsf/utils';
2
-
3
- export declare const ArrayFieldTemplate: (props: ArrayFieldTemplateProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- export { ArrayFieldTemplate } from './ArrayFieldTemplate';
2
- export { ArrayFieldItemTemplate } from './ArrayFieldItemTemplate';
@@ -1,4 +0,0 @@
1
- import { default as React } from 'react';
2
- import { FieldProps } from '@rjsf/utils';
3
-
4
- export declare const AddressField: React.FC<FieldProps>;
@@ -1,4 +0,0 @@
1
- import { default as React } from 'react';
2
- import { FieldProps } from '@rjsf/utils';
3
-
4
- export declare const CurrencyField: React.FC<FieldProps>;
@@ -1,4 +0,0 @@
1
- import { default as React } from 'react';
2
- import { FieldProps } from '@rjsf/utils';
3
-
4
- export declare const PhoneField: React.FC<FieldProps>;
@@ -1,15 +0,0 @@
1
- import { AddressField } from './fields/AddressField';
2
- import { PhoneField } from './fields/PhoneField';
3
- import { CurrencyField } from './fields/CurrencyField';
4
- import { ArrayFieldTemplate, ArrayFieldItemTemplate } from './arrays';
5
-
6
- export declare const customFields: {
7
- address: import('react').FC<import('@rjsf/utils').FieldProps<any, import('@rjsf/utils').RJSFSchema, any>>;
8
- phone: import('react').FC<import('@rjsf/utils').FieldProps<any, import('@rjsf/utils').RJSFSchema, any>>;
9
- currency: import('react').FC<import('@rjsf/utils').FieldProps<any, import('@rjsf/utils').RJSFSchema, any>>;
10
- };
11
- export declare const customTemplates: {
12
- ArrayFieldTemplate: (props: import('@rjsf/utils').ArrayFieldTemplateProps) => import("react/jsx-runtime").JSX.Element;
13
- ArrayFieldItemTemplate: (props: import('@rjsf/utils').ArrayFieldItemTemplateType) => import("react/jsx-runtime").JSX.Element;
14
- };
15
- export { AddressField, PhoneField, CurrencyField, ArrayFieldTemplate, ArrayFieldItemTemplate, };
@@ -1,9 +0,0 @@
1
- import { VariantProps } from 'class-variance-authority';
2
- import * as React from "react";
3
- declare const badgeVariants: (props?: ({
4
- variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
5
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
- export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
- }
8
- declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
9
- export { Badge, badgeVariants };
@@ -1,11 +0,0 @@
1
- import { VariantProps } from 'class-variance-authority';
2
- import * as React from "react";
3
- declare const buttonVariants: (props?: ({
4
- variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
5
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
- asChild?: boolean;
9
- }
10
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
- export { Button, buttonVariants };
@@ -1,8 +0,0 @@
1
- import { DayPicker } from 'react-day-picker';
2
- import * as React from "react";
3
- export type CalendarProps = React.ComponentProps<typeof DayPicker>;
4
- declare function Calendar({ className, classNames, showOutsideDays, ...props }: CalendarProps): import("react/jsx-runtime").JSX.Element;
5
- declare namespace Calendar {
6
- var displayName: string;
7
- }
8
- export { Calendar };
@@ -1,8 +0,0 @@
1
- import * as React from "react";
2
- declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
- declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
- declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
5
- declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
6
- declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
- declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
- export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
@@ -1,4 +0,0 @@
1
- import * as React from "react";
2
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
3
- declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
- export { Checkbox };
@@ -1,13 +0,0 @@
1
- interface DatePickerProps {
2
- id?: string;
3
- value?: string;
4
- placeholder?: string;
5
- disabled?: boolean;
6
- onChange?: (value: string) => void;
7
- onBlur?: () => void;
8
- onFocus?: () => void;
9
- className?: string;
10
- "aria-invalid"?: boolean;
11
- }
12
- export declare function DatePicker({ id, value, placeholder, disabled, onChange, onBlur, onFocus, className, "aria-invalid": ariaInvalid, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
13
- export {};
@@ -1,5 +0,0 @@
1
- import * as React from "react";
2
- export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
- }
4
- declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
5
- export { Input };
@@ -1,5 +0,0 @@
1
- import { VariantProps } from 'class-variance-authority';
2
- import * as React from "react";
3
- import * as LabelPrimitive from "@radix-ui/react-label";
4
- declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: import('class-variance-authority/types').ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
5
- export { Label };
@@ -1,6 +0,0 @@
1
- import * as React from "react";
2
- import * as PopoverPrimitive from "@radix-ui/react-popover";
3
- declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
- declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
- declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
- export { Popover, PopoverTrigger, PopoverContent };
@@ -1,13 +0,0 @@
1
- import * as React from "react";
2
- import * as SelectPrimitive from "@radix-ui/react-select";
3
- declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
- declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
- declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
- declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
- declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
- declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
- declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
- declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
- export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
@@ -1,4 +0,0 @@
1
- import * as React from "react";
2
- import * as SliderPrimitive from "@radix-ui/react-slider";
3
- declare const Slider: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
4
- export { Slider };
@@ -1,5 +0,0 @@
1
- import * as React from "react";
2
- export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
- }
4
- declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
- export { Textarea };
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- import { ConditionalFormProps } from './types';
3
-
4
- /**
5
- * Conditional form using json-rules-engine
6
- */
7
- export declare const ConditionalForm: React.FC<ConditionalFormProps>;