move astro-reactive-form to separate workspace
This commit is contained in:
parent
5caf3d9cde
commit
c1f9716d8b
18 changed files with 163 additions and 81 deletions
|
@ -11,11 +11,11 @@
|
|||
"astro": "astro"
|
||||
},
|
||||
"dependencies": {
|
||||
"astro": "^1.4.2"
|
||||
"astro": "^1.4.2",
|
||||
"astro-reactive-form": "^0.1.1"
|
||||
},
|
||||
"description": "``` npm create astro@latest -- --template minimal ```",
|
||||
"main": "index.js",
|
||||
"devDependencies": {},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ayoayco/astro-reactive-form.git"
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
---
|
||||
import Form, { FormGroup } from '../../../';
|
||||
import { FormGroup, Submit } from 'astro-reactive-form/core';
|
||||
import Form from 'astro-reactive-form';
|
||||
|
||||
const form = new FormGroup([
|
||||
{
|
||||
name: 'username',
|
||||
|
@ -19,6 +21,13 @@ form.controls.push({
|
|||
name: 'is-awesome',
|
||||
label: 'is Awesome?',
|
||||
});
|
||||
|
||||
form.controls.push({
|
||||
type: 'submit',
|
||||
name: 'submit',
|
||||
value: 'Submit',
|
||||
callBack: () => console.log('hey'),
|
||||
} as Submit);
|
||||
---
|
||||
|
||||
<html lang="en">
|
||||
|
|
3
index.ts
3
index.ts
|
@ -1,3 +0,0 @@
|
|||
import Form from './src/Form.astro';
|
||||
export default Form;
|
||||
export * from './src/index';
|
93
package-lock.json
generated
93
package-lock.json
generated
|
@ -1,45 +1,25 @@
|
|||
{
|
||||
"name": "astro-reactive-form",
|
||||
"version": "0.1.1",
|
||||
"name": "astro-reactive-form-workspace",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "astro-reactive-form",
|
||||
"version": "0.1.1",
|
||||
"name": "astro-reactive-form-workspace",
|
||||
"version": "0.0.0",
|
||||
"license": "ISC",
|
||||
"workspaces": [
|
||||
"demo"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/eslint": "^8.4.6",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/node": "^18.7.18",
|
||||
"@types/prettier": "^2.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.37.0",
|
||||
"@typescript-eslint/parser": "^5.37.0",
|
||||
"astro": "^1.0.0",
|
||||
"astro-component-tester": "^0.6.0",
|
||||
"chai": "^4.3.6",
|
||||
"eslint": "^8.23.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"mocha": "^10.0.0",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier-plugin-astro": "^0.5.4",
|
||||
"typescript": "^4.8.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"astro": "^1.0.0"
|
||||
}
|
||||
"demo",
|
||||
"packages/astro-reactive-form"
|
||||
]
|
||||
},
|
||||
"demo": {
|
||||
"name": "@example/minimal",
|
||||
"version": "0.0.1",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"astro": "^1.4.2"
|
||||
"astro": "^1.4.2",
|
||||
"astro-reactive-form": "^0.1.1"
|
||||
},
|
||||
"devDependencies": {}
|
||||
},
|
||||
|
@ -1408,6 +1388,10 @@
|
|||
"astro": "^1.0.0-rc.1"
|
||||
}
|
||||
},
|
||||
"node_modules/astro-reactive-form": {
|
||||
"resolved": "packages/astro-reactive-form",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/bail": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
|
||||
|
@ -7938,6 +7922,32 @@
|
|||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"packages/astro-reactive-form": {
|
||||
"version": "0.1.1",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/eslint": "^8.4.6",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/node": "^18.7.18",
|
||||
"@types/prettier": "^2.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.37.0",
|
||||
"@typescript-eslint/parser": "^5.37.0",
|
||||
"astro": "^1.0.0",
|
||||
"astro-component-tester": "^0.6.0",
|
||||
"chai": "^4.3.6",
|
||||
"eslint": "^8.23.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"mocha": "^10.0.0",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier-plugin-astro": "^0.5.4",
|
||||
"typescript": "^4.8.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"astro": "^1.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
|
@ -8376,7 +8386,8 @@
|
|||
"@example/minimal": {
|
||||
"version": "file:demo",
|
||||
"requires": {
|
||||
"astro": "^1.4.2"
|
||||
"astro": "^1.4.2",
|
||||
"astro-reactive-form": "*"
|
||||
}
|
||||
},
|
||||
"@humanwhocodes/config-array": {
|
||||
|
@ -8984,6 +8995,28 @@
|
|||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"astro-reactive-form": {
|
||||
"version": "file:packages/astro-reactive-form",
|
||||
"requires": {
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/eslint": "^8.4.6",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/node": "^18.7.18",
|
||||
"@types/prettier": "^2.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.37.0",
|
||||
"@typescript-eslint/parser": "^5.37.0",
|
||||
"astro": "^1.0.0",
|
||||
"astro-component-tester": "^0.6.0",
|
||||
"chai": "^4.3.6",
|
||||
"eslint": "^8.23.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"mocha": "^10.0.0",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier-plugin-astro": "^0.5.4",
|
||||
"typescript": "^4.8.3"
|
||||
}
|
||||
},
|
||||
"bail": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
|
||||
|
|
40
package.json
40
package.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "astro-reactive-form",
|
||||
"description": "The Reactive Form component for Astro 🔥",
|
||||
"version": "0.1.1",
|
||||
"name": "astro-reactive-form-workspace",
|
||||
"description": "Astro Reactive Form Workspace",
|
||||
"version": "0.0.0",
|
||||
"repository": "https://github.com/ayoayco/astro-reactive-form",
|
||||
"homepage": "https://ayco.io/showcase/astro-reactive-form",
|
||||
"type": "module",
|
||||
|
@ -13,15 +13,6 @@
|
|||
"email": "ramon.aycojr@gmail.com",
|
||||
"url": "https://ayco.io"
|
||||
},
|
||||
"files": [
|
||||
"src",
|
||||
"index.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"astro-component",
|
||||
"css",
|
||||
"ui"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "mocha --parallel --timeout 15000",
|
||||
"test:watch": "mocha --watch --parallel --timeout 15000",
|
||||
|
@ -30,30 +21,9 @@
|
|||
"lint:fix": "eslint --fix . --ext .ts,.js",
|
||||
"demo": "npm run dev -w demo"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/eslint": "^8.4.6",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/node": "^18.7.18",
|
||||
"@types/prettier": "^2.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.37.0",
|
||||
"@typescript-eslint/parser": "^5.37.0",
|
||||
"astro": "^1.0.0",
|
||||
"astro-component-tester": "^0.6.0",
|
||||
"chai": "^4.3.6",
|
||||
"eslint": "^8.23.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"mocha": "^10.0.0",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier-plugin-astro": "^0.5.4",
|
||||
"typescript": "^4.8.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"astro": "^1.0.0"
|
||||
},
|
||||
"license": "ISC",
|
||||
"workspaces": [
|
||||
"demo"
|
||||
"demo",
|
||||
"packages/astro-reactive-form"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
import { FormGroup } from './core/form-group';
|
||||
import FieldSet from './FieldSet.astro';
|
||||
import type { FormGroup } from './core';
|
||||
import FieldSet from './components/FieldSet.astro';
|
||||
|
||||
export interface Props {
|
||||
formGroups: FormGroup[];
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
import { FormControl } from './core/form-control';
|
||||
import { FormControl } from '../core/form-control';
|
||||
|
||||
export interface Props {
|
||||
control: FormControl;
|
||||
|
@ -10,9 +10,9 @@ const { control } = Astro.props;
|
|||
|
||||
<div>
|
||||
{
|
||||
control.label && (!control.labelPosition || control.labelPosition === 'left') ? (
|
||||
control.label && (!control.labelPosition || control.labelPosition === 'left') && (
|
||||
<label for={control.name}>{control.label}</label>
|
||||
) : null
|
||||
)
|
||||
}
|
||||
|
||||
<input
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
import Field from './Field.astro';
|
||||
import { FormGroup } from './core/form-group';
|
||||
import { FormGroup } from '../core/form-group';
|
||||
|
||||
export interface Props {
|
||||
group: FormGroup;
|
|
@ -1,3 +1,7 @@
|
|||
/**
|
||||
* FormControlType - determines the type of form control
|
||||
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types
|
||||
*/
|
||||
type FormControlType =
|
||||
| 'text'
|
||||
| 'checkbox'
|
||||
|
@ -42,3 +46,8 @@ export class Radio extends FormControl {
|
|||
type: 'checkbox';
|
||||
checked: boolean;
|
||||
}
|
||||
|
||||
export class Submit extends FormControl {
|
||||
type: 'submit';
|
||||
callBack: () => void;
|
||||
}
|
2
packages/astro-reactive-form/core/index.ts
Normal file
2
packages/astro-reactive-form/core/index.ts
Normal file
|
@ -0,0 +1,2 @@
|
|||
export * from './form-control';
|
||||
export * from './form-group';
|
2
packages/astro-reactive-form/index.ts
Normal file
2
packages/astro-reactive-form/index.ts
Normal file
|
@ -0,0 +1,2 @@
|
|||
import Form from './Form.astro';
|
||||
export default Form;
|
58
packages/astro-reactive-form/package.json
Normal file
58
packages/astro-reactive-form/package.json
Normal file
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"name": "astro-reactive-form",
|
||||
"description": "The Reactive Form component for Astro 🔥",
|
||||
"version": "0.1.1",
|
||||
"repository": "https://github.com/ayoayco/astro-reactive-form",
|
||||
"homepage": "https://ayco.io/showcase/astro-reactive-form",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./index.ts",
|
||||
"./core": "./core/index.ts"
|
||||
},
|
||||
"author": {
|
||||
"name": "Ayo Ayco",
|
||||
"email": "ramon.aycojr@gmail.com",
|
||||
"url": "https://ayco.io"
|
||||
},
|
||||
"files": [
|
||||
"core/",
|
||||
"components/",
|
||||
"Form.astro",
|
||||
"index.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"astro-component",
|
||||
"css",
|
||||
"ui"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "mocha --parallel --timeout 15000",
|
||||
"test:watch": "mocha --watch --parallel --timeout 15000",
|
||||
"format": "prettier -w .",
|
||||
"lint": "eslint . --ext .ts,.js",
|
||||
"lint:fix": "eslint --fix . --ext .ts,.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.3.3",
|
||||
"@types/eslint": "^8.4.6",
|
||||
"@types/mocha": "^9.1.1",
|
||||
"@types/node": "^18.7.18",
|
||||
"@types/prettier": "^2.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.37.0",
|
||||
"@typescript-eslint/parser": "^5.37.0",
|
||||
"astro": "^1.0.0",
|
||||
"astro-component-tester": "^0.6.0",
|
||||
"chai": "^4.3.6",
|
||||
"eslint": "^8.23.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"mocha": "^10.0.0",
|
||||
"prettier": "^2.7.1",
|
||||
"prettier-plugin-astro": "^0.5.4",
|
||||
"typescript": "^4.8.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"astro": "^1.0.0"
|
||||
},
|
||||
"license": "ISC"
|
||||
}
|
3
packages/astro-reactive-form/tsconfig.json
Normal file
3
packages/astro-reactive-form/tsconfig.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "astro/tsconfigs/strictest"
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
export * from './Form.astro';
|
||||
export * from './core/form-group';
|
||||
export * from './core/form-control';
|
|
@ -5,5 +5,6 @@
|
|||
"allowJs": true,
|
||||
"noEmit": true
|
||||
},
|
||||
"include": ["index.ts", "src"]
|
||||
"include": ["index.ts", "src"],
|
||||
"extends": "astro/tsconfigs/strictest"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue