Skip to content

Commit f88789a

Browse files
Merge pull request tjinauyeung#88 from tjinauyeung/feat/add-textarea-component
feat(textarea): add component and tests
2 parents 7d8e46f + 12172c2 commit f88789a

File tree

9 files changed

+584
-130
lines changed

9 files changed

+584
-130
lines changed

babel.config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@ module.exports = {
22
env: {
33
test: {
44
presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
5+
plugins: [
6+
// required for svelte-jsx and svelte-fragment-component
7+
[
8+
'@babel/plugin-transform-react-jsx',
9+
{runtime: 'automatic', importSource: 'svelte-jsx'},
10+
],
11+
],
512
},
613
},
714
};

jest.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
const jestCommon = require('./test/config/jest.common');
22
const lintProject = require('./test/config/jest.lint');
3-
const unitTestProject = require('./test/config/jest.unit');
3+
const testProject = require('./test/config/jest.test');
44

55
module.exports = {
66
...jestCommon,
77

8-
projects: [unitTestProject, lintProject],
8+
projects: [testProject, lintProject],
99
};

lib/components/Textarea.svelte

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<script>
2+
import {getContext} from 'svelte';
3+
import {key} from './key';
4+
5+
export let name;
6+
7+
const {form, handleChange} = getContext(key);
8+
</script>
9+
10+
<textarea {name} on:change={handleChange} on:blur={handleChange} {...$$props}>
11+
{$form[name]}
12+
</textarea>

lib/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {key} from './components/key';
33
export {createForm} from './create-form';
44

55
export {default as Form} from './components/Form.svelte';
6+
export {default as Textarea} from './components/Textarea.svelte';
67
export {default as Field} from './components/Field.svelte';
78
export {default as Select} from './components/Select.svelte';
89
export {default as ErrorMessage} from './components/ErrorMessage.svelte';

0 commit comments

Comments
 (0)