npm package: @nickmanning214/svelte-crud
Description: Pass an array in `arr` prop and render it with `let:item`. For example:
Latest version: 0.0.23

# API

Pass an array in `arr` prop and render it with `let:item`. For example:

```
  <Crud arr={arr} let:item>
    <div>{item.city}, {item.state}</div>
  </Crud>
```

 * `let:index` is also available
 * events include 
 * * `change` (arr), 
 * * `delete` (deleted, index), 
 * * `add` (item, index),
 * * `reorder` (arr, startIndex, finishIndex). The `detail` prop on the event object 
 
 The `change` event is fired when you edit, delete, add, or reorder.
 
 There is no event specific to editing. ~This should be a todo item.~ This is because editing an item takes place in the slot of Crud and is not intrinsic to the component. The component does have an option though to use a default editable span, so perhaps there is use for it, but it's usually not going to be necessary because it's better to use some sort of child component that overrides the default.
 
 There is also `clickItem` but it seems deprecated.

*Looking for a shareable component template? Go here --> [sveltejs/component-template](https://github.com/sveltejs/component-template)*

---

# svelte app

This is a project template for [Svelte](https://svelte.dev) apps. It lives at https://github.com/sveltejs/template.

To create a new project based on this template using [degit](https://github.com/Rich-Harris/degit):

```bash
npx degit sveltejs/template svelte-app
cd svelte-app
```

*Note that you will need to have [Node.js](https://nodejs.org) installed.*


## Get started

Install the dependencies...

```bash
cd svelte-app
npm install
```

...then start [Rollup](https://rollupjs.org):

```bash
npm run dev
```

Navigate to [localhost:5000](http://localhost:5000). You should see your app running. Edit a component file in `src`, save it, and reload the page to see your changes.

By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the `sirv` commands in package.json to include the option `--host 0.0.0.0`.


## Building and running in production mode

To create an optimised version of the app:

```bash
npm run build
```

You can run the newly built app with `npm run start`. This uses [sirv](https://github.com/lukeed/sirv), which is included in your package.json's `dependencies` so that the app will work when you deploy to platforms like [Heroku](https://heroku.com).


## Single-page app mode

By default, sirv will only respond to requests that match files in `public`. This is to maximise compatibility with static fileservers, allowing you to deploy your app anywhere.

If you're building a single-page app (SPA) with multiple routes, sirv needs to be able to respond to requests for *any* path. You can make it so by editing the `"start"` command in package.json:

```js
"start": "sirv public --single"
```


## Deploying to the web

### With [now](https://zeit.co/now)

Install `now` if you haven't already:

```bash
npm install -g now
```

Then, from within your project folder:

```bash
cd public
now deploy --name my-project
```

As an alternative, use the [Now desktop client](https://zeit.co/download) and simply drag the unzipped project folder to the taskbar icon.

### With [surge](https://surge.sh/)

Install `surge` if you haven't already:

```bash
npm install -g surge
```

Then, from within your project folder:

```bash
npm run build
surge public my-project.surge.sh
```