svelte-carbonara
TypeScript icon, indicating that this package has built-in type declarations

0.1.9 • Public • Published

svelte-carbonara

Simple form rendering in Svelte and Carbon.

Add to your project

npm install -s svelte-carbonara

Example

<script lang="ts">
    import "carbon-components-svelte/css/g100.css";
    import {Grid, Row, Column, Form, Button} from "carbon-components-svelte";
    import {Carbonara, CarbonTextInput, CarbonTextArea, CarbonNumberInput, CarbonCheckbox, CarbonaraList} from "svelte-carbonara";


    class Role {

        @CarbonTextInput({labelText: "Title"})
        public title: string;

        @CarbonTextArea({labelText: "Description"})
        public description: string;
    }

    class Employee {

        @CarbonTextInput({labelText: "Name"})
        public name: string;

        @CarbonTextArea({labelText: "Background"})
        public occupation: string;

        @CarbonNumberInput({label: "Age"})
        public age: number = 0;

        @CarbonCheckbox({labelText: "Manager"})
        public manager: boolean;

        @CarbonaraList({
            labelText: "Role",
            labelProperty: "title",
            factory: () => new Role()
        })
        public roles: Role[] = [];

    }

    let employee = new Employee();
</script>

<Grid>
    <Row>
        <Column>
            <h1>Carbonara Sample Form</h1>
        </Column>
    </Row>
    <Row>
        <Column>
            <Form>
                <Carbonara bind:value={employee}/>
            </Form>
        </Column>
    </Row>
    <Row>
        <Column>
            <Button on:click={() => {
                alert(JSON.stringify(employee));
            }}>
                Save
            </Button>
        </Column>
    </Row>
    <Row style="margin-top: 100px;">
        <Column>
            <h4>{JSON.stringify(employee)}</h4>
        </Column>
    </Row>
</Grid>

Readme

Keywords

none

Package Sidebar

Install

npm i svelte-carbonara

Weekly Downloads

0

Version

0.1.9

License

MIT

Unpacked Size

13.4 kB

Total Files

10

Last publish

Collaborators

  • dkarl