Modal

Source code

Usage

Default (transactional)

<script>
  import { Button, Modal } from "carbon-components-svelte";

  let open = false;
</script>

<Button on:click={() => (open = true)}>Create database</Button>

<Modal
  bind:open
  modalHeading="Create database"
  primaryButtonText="Confirm"
  secondaryButtonText="Cancel"
  on:click:button--secondary={() => (open = false)}
  on:open
  on:close
  on:submit
>
  <p>Create a new Cloudant database in the US South region.</p>
</Modal>

Danger modal

<script>
  import { Button, Modal } from "carbon-components-svelte";

  let open = false;
</script>

<Button kind="danger" on:click={() => (open = true)}>Delete all</Button>

<Modal
  danger
  bind:open
  modalHeading="Delete all instances"
  primaryButtonText="Delete"
  secondaryButtonText="Cancel"
  on:click:button--secondary={() => (open = false)}
  on:open
  on:close
  on:submit
>
  <p>This is a permanent action and cannot be undone.</p>
</Modal>

Passive modal

<script>
  import { Button, Modal } from "carbon-components-svelte";

  let open = false;
</script>

<Button kind="tertiary" on:click={() => (open = true)}>Learn more</Button>

<Modal passiveModal bind:open modalHeading="IBM Cloudant" on:open on:close>
  <p>
    IBM Cloudant is a distributed, secure database with global availability and
    zero vendor lock-in used to build web and mobile apps at scale.
  </p>
</Modal>

Extra-small size

<script>
  import { Modal } from "carbon-components-svelte";
</script>

<Modal
  size="xs"
  open
  modalHeading="Create database"
  primaryButtonText="Confirm"
  secondaryButtonText="Cancel"
  on:click:button--secondary
  on:open
  on:close
  on:submit
>
  <p>Create a new Cloudant database in the US South region.</p>
</Modal>

Small size

<script>
  import { Modal } from "carbon-components-svelte";
</script>

<Modal
  size="sm"
  open
  modalHeading="Create database"
  primaryButtonText="Confirm"
  secondaryButtonText="Cancel"
  on:click:button--secondary
  on:open
  on:close
  on:submit
>
  <p>Create a new Cloudant database in the US South region.</p>
</Modal>

Large size

<script>
  import { Modal } from "carbon-components-svelte";
</script>

<Modal
  size="lg"
  open
  modalHeading="Create database"
  primaryButtonText="Confirm"
  secondaryButtonText="Cancel"
  on:click:button--secondary
  on:open
  on:close
  on:submit
>
  <p>Create a new Cloudant database in the US South region.</p>
</Modal>

Prevent close on outside click

preventCloseOnClickOutside prevents the modal from being closed when clicking outside of an open modal. This prop is intended to be used for transactional modals.

<script>
  import { Modal } from "carbon-components-svelte";
</script>

<Modal
  preventCloseOnClickOutside
  open
  modalHeading="Create database"
  primaryButtonText="Confirm"
  secondaryButtonText="Cancel"
  on:click:button--secondary
  on:open
  on:close
  on:submit
>
  <p>Create a new Cloudant database in the US South region.</p>
</Modal>