sveltacular 0.0.49 → 0.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +31 -31
  2. package/dist/forms/bool-box/bool-box.svelte +3 -3
  3. package/dist/forms/button/button.svelte +7 -7
  4. package/dist/forms/check-box/check-box-group.svelte +14 -14
  5. package/dist/forms/check-box/check-box.svelte +23 -23
  6. package/dist/forms/combo/new-or-existing-combo.svelte +56 -56
  7. package/dist/forms/date-box/date-box.svelte +19 -19
  8. package/dist/forms/file-area/file-area.svelte +31 -31
  9. package/dist/forms/file-box/file-box.svelte +23 -23
  10. package/dist/forms/form-field.svelte +7 -7
  11. package/dist/forms/form-footer.svelte +15 -15
  12. package/dist/forms/form-header.svelte +9 -9
  13. package/dist/forms/form-label.svelte +5 -5
  14. package/dist/forms/form-section.svelte +14 -14
  15. package/dist/forms/form.svelte +7 -7
  16. package/dist/forms/info-box/info-box.svelte +19 -19
  17. package/dist/forms/list-box/list-box.svelte +45 -45
  18. package/dist/forms/list-box/list-box.svelte.d.ts +2 -2
  19. package/dist/forms/money-box/money-box.svelte +5 -5
  20. package/dist/forms/number-box/number-box.svelte +29 -29
  21. package/dist/forms/phone-box/phone-box.svelte +50 -50
  22. package/dist/forms/radio-group/radio-box.svelte +15 -15
  23. package/dist/forms/radio-group/radio-group.svelte +12 -12
  24. package/dist/forms/switch-box/switch-box.svelte +16 -16
  25. package/dist/forms/text-area/text-area.svelte +10 -10
  26. package/dist/forms/text-box/text-box.svelte +34 -34
  27. package/dist/forms/url-box/url-box.svelte +14 -14
  28. package/dist/generic/address/address.svelte +16 -16
  29. package/dist/generic/card/card-container.svelte +7 -7
  30. package/dist/generic/card/card.svelte +10 -10
  31. package/dist/generic/date/date-time.svelte +3 -3
  32. package/dist/generic/divider/divider.svelte +3 -3
  33. package/dist/generic/dot/dot.svelte +5 -5
  34. package/dist/generic/email/email.svelte +12 -12
  35. package/dist/generic/empty/empty.svelte +14 -14
  36. package/dist/generic/header/header.svelte +17 -17
  37. package/dist/generic/link/link.svelte +13 -13
  38. package/dist/generic/menu/menu.svelte +39 -39
  39. package/dist/generic/menu/menu.svelte.d.ts +1 -1
  40. package/dist/generic/notice/notice.svelte +25 -25
  41. package/dist/generic/overlay.svelte +8 -8
  42. package/dist/generic/panel/panel.svelte +10 -10
  43. package/dist/generic/phone/phone.svelte +16 -16
  44. package/dist/generic/pill/pill.svelte +7 -7
  45. package/dist/generic/scorecard/scorecard.svelte +10 -10
  46. package/dist/generic/section/section.svelte +10 -10
  47. package/dist/icons/angle-right-icon.svelte +11 -11
  48. package/dist/icons/angle-up-icon.svelte +9 -9
  49. package/dist/icons/check-icon.svelte +15 -15
  50. package/dist/icons/envelope-icon.svelte +8 -8
  51. package/dist/icons/folder-open-icon.svelte +12 -12
  52. package/dist/icons/hamburger-icon.svelte +15 -15
  53. package/dist/icons/home-icon.svelte +7 -7
  54. package/dist/icons/link-icon.svelte +15 -15
  55. package/dist/icons/mobile-phone-icon.svelte +5 -5
  56. package/dist/icons/phone-icon.svelte +9 -9
  57. package/dist/icons/svg-icon.svelte +5 -5
  58. package/dist/icons/upload-icon.svelte +9 -9
  59. package/dist/images/icon.svelte +5 -5
  60. package/dist/images/image.svelte +28 -28
  61. package/dist/layout/flex-col.svelte +7 -7
  62. package/dist/layout/flex-item.svelte +7 -7
  63. package/dist/layout/flex-row.svelte +10 -10
  64. package/dist/layout/grid.svelte +17 -17
  65. package/dist/modals/alert.svelte +24 -24
  66. package/dist/modals/confirm.svelte +27 -27
  67. package/dist/modals/dialog-body.svelte +5 -5
  68. package/dist/modals/dialog-close-button.svelte +7 -7
  69. package/dist/modals/dialog-footer.svelte +9 -9
  70. package/dist/modals/dialog-header.svelte +5 -5
  71. package/dist/modals/dialog-window.svelte +9 -9
  72. package/dist/modals/modal.svelte +12 -12
  73. package/dist/modals/prompt.svelte +29 -29
  74. package/dist/navigation/accordian/accordian.svelte +17 -17
  75. package/dist/navigation/app-bar/app-bar.svelte +7 -7
  76. package/dist/navigation/app-bar/app-branding.svelte +18 -18
  77. package/dist/navigation/app-bar/app-logo.svelte +11 -11
  78. package/dist/navigation/app-bar/app-nav-item.svelte +14 -14
  79. package/dist/navigation/app-bar/app-nav.svelte +12 -12
  80. package/dist/navigation/breadcrumbs/breadcrumbs.svelte +25 -25
  81. package/dist/navigation/pagination/pagination.svelte +27 -27
  82. package/dist/navigation/side-bar/side-bar.svelte +10 -10
  83. package/dist/navigation/tabs/tab-group.svelte +20 -20
  84. package/dist/navigation/tabs/tab.svelte +13 -13
  85. package/dist/navigation/wizard/wizard-step.svelte +12 -12
  86. package/dist/navigation/wizard/wizard.svelte +27 -27
  87. package/dist/placeholders/loading.svelte +9 -9
  88. package/dist/placeholders/progress.svelte +9 -9
  89. package/dist/placeholders/skeleton-text.svelte +13 -13
  90. package/dist/tables/data-grid.svelte +84 -80
  91. package/dist/tables/table-body.svelte +3 -3
  92. package/dist/tables/table-caption.svelte +5 -5
  93. package/dist/tables/table-cell.svelte +7 -7
  94. package/dist/tables/table-footer-cell.svelte +21 -21
  95. package/dist/tables/table-footer-row.svelte +3 -3
  96. package/dist/tables/table-footer.svelte +13 -13
  97. package/dist/tables/table-header-cell.svelte +7 -7
  98. package/dist/tables/table-header-row.svelte +4 -4
  99. package/dist/tables/table-header.svelte +14 -14
  100. package/dist/tables/table-row.svelte +16 -16
  101. package/dist/tables/table.svelte +11 -11
  102. package/dist/timeline/timeline-item.svelte +26 -26
  103. package/dist/timeline/timeline.svelte +5 -5
  104. package/dist/types/data.d.ts +2 -0
  105. package/dist/types/form.d.ts +1 -1
  106. package/dist/typography/code-block.svelte +7 -7
  107. package/dist/typography/headline.svelte +19 -19
  108. package/dist/typography/paragraph.svelte +13 -13
  109. package/dist/typography/subtitle.svelte +7 -7
  110. package/dist/typography/text.svelte +7 -7
  111. package/package.json +101 -101
@@ -11,15 +11,15 @@ const close = () => {
11
11
  dispatch("close");
12
12
  open = false;
13
13
  };
14
- </script>
15
-
16
- {#if open}
17
- <Overlay on:click={close}>
18
- <Dialog {size}>
19
- <DialogCloseButton show={showCloseButton} on:click={close} />
20
- <DialogBody>
21
- <slot />
22
- </DialogBody>
23
- </Dialog>
24
- </Overlay>
25
- {/if}
14
+ </script>
15
+
16
+ {#if open}
17
+ <Overlay on:click={close}>
18
+ <Dialog {size}>
19
+ <DialogCloseButton show={showCloseButton} on:click={close} />
20
+ <DialogBody>
21
+ <slot />
22
+ </DialogBody>
23
+ </Dialog>
24
+ </Overlay>
25
+ {/if}
@@ -29,32 +29,32 @@ const yes = () => {
29
29
  open = false;
30
30
  dispatch("ok", value);
31
31
  };
32
- </script>
33
-
34
- {#if open}
35
- <Overlay on:click={no}>
36
- <Dialog {size}>
37
- {#if title}
38
- <DialogHeader>
39
- {title}
40
- </DialogHeader>
41
- <Divider />
42
- {/if}
43
- <DialogCloseButton show={showCloseButton} on:click={no} />
44
- <DialogBody>
45
- <TextBox bind:value {placeholder} {type} {required} size="full">
46
- <slot />
47
- </TextBox>
48
- </DialogBody>
49
- <Divider />
50
- <DialogFooter>
51
- <Button on:click={no} style="secondary" size="full">
52
- {cancelText}
53
- </Button>
54
- <Button on:click={yes} style="primary" size="full">
55
- {okText}
56
- </Button>
57
- </DialogFooter>
58
- </Dialog>
59
- </Overlay>
60
- {/if}
32
+ </script>
33
+
34
+ {#if open}
35
+ <Overlay on:click={no}>
36
+ <Dialog {size}>
37
+ {#if title}
38
+ <DialogHeader>
39
+ {title}
40
+ </DialogHeader>
41
+ <Divider />
42
+ {/if}
43
+ <DialogCloseButton show={showCloseButton} on:click={no} />
44
+ <DialogBody>
45
+ <TextBox bind:value {placeholder} {type} {required} size="full">
46
+ <slot />
47
+ </TextBox>
48
+ </DialogBody>
49
+ <Divider />
50
+ <DialogFooter>
51
+ <Button on:click={no} style="secondary" size="full">
52
+ {cancelText}
53
+ </Button>
54
+ <Button on:click={yes} style="primary" size="full">
55
+ {okText}
56
+ </Button>
57
+ </DialogFooter>
58
+ </Dialog>
59
+ </Overlay>
60
+ {/if}
@@ -1,22 +1,22 @@
1
1
  <script>import AngleUpIcon from "../../icons/angle-up-icon.svelte";
2
2
  export let title;
3
3
  export let expanded = false;
4
- </script>
5
-
6
- <div class:expanded class="accordian">
7
- <button type="button" on:click={() => (expanded = !expanded)}>
8
- <span class="title">
9
- {title}
10
- </span>
11
- <span class="icon">
12
- <AngleUpIcon />
13
- </span>
14
- </button>
15
- <div class="menu">
16
- <slot />
17
- </div>
18
- </div>
19
-
4
+ </script>
5
+
6
+ <div class:expanded class="accordian">
7
+ <button type="button" on:click={() => (expanded = !expanded)}>
8
+ <span class="title">
9
+ {title}
10
+ </span>
11
+ <span class="icon">
12
+ <AngleUpIcon />
13
+ </span>
14
+ </button>
15
+ <div class="menu">
16
+ <slot />
17
+ </div>
18
+ </div>
19
+
20
20
  <style>.accordian {
21
21
  background: #eee;
22
22
  color: #000;
@@ -59,4 +59,4 @@ export let expanded = false;
59
59
  }
60
60
  .accordian.expanded .icon {
61
61
  transform: rotate(180deg);
62
- }</style>
62
+ }</style>
@@ -9,12 +9,12 @@ setContext("app-bar", {
9
9
  size,
10
10
  padding
11
11
  });
12
- </script>
13
-
14
- <header class="{position} {size} padding-{padding} {isFixed ? 'fixed' : 'absolute'}">
15
- <slot />
16
- </header>
17
-
12
+ </script>
13
+
14
+ <header class="{position} {size} padding-{padding} {isFixed ? 'fixed' : 'absolute'}">
15
+ <slot />
16
+ </header>
17
+
18
18
  <style>header {
19
19
  display: flex;
20
20
  align-items: center;
@@ -72,4 +72,4 @@ header.padding-xl {
72
72
  header.isTransparent {
73
73
  background: transparent;
74
74
  color: inherit;
75
- }</style>
75
+ }</style>
@@ -1,20 +1,20 @@
1
1
  <script>import { setContext } from "svelte";
2
2
  setContext("app-branding", true);
3
- </script>
4
-
5
- <div class="branding">
6
- <slot />
7
- </div>
8
-
9
- <style>
10
- div {
11
- display: flex;
12
- align-items: flex-start;
13
- justify-content: center;
14
- flex-direction: column;
15
- width: 100%;
16
- height: 100%;
17
- padding-left: 0.5rem;
18
- padding-right: 0.5rem;
19
- }
20
- </style>
3
+ </script>
4
+
5
+ <div class="branding">
6
+ <slot />
7
+ </div>
8
+
9
+ <style>
10
+ div {
11
+ display: flex;
12
+ align-items: flex-start;
13
+ justify-content: center;
14
+ flex-direction: column;
15
+ width: 100%;
16
+ height: 100%;
17
+ padding-left: 0.5rem;
18
+ padding-right: 0.5rem;
19
+ }
20
+ </style>
@@ -2,16 +2,16 @@
2
2
  export let src = void 0;
3
3
  export let alt;
4
4
  export let href;
5
- </script>
6
-
7
- <div class="logo">
8
- {#if src}
9
- <Image {src} {alt} {href} align="left" />
10
- {:else}
11
- <a {href} title={alt}><slot /></a>
12
- {/if}
13
- </div>
14
-
5
+ </script>
6
+
7
+ <div class="logo">
8
+ {#if src}
9
+ <Image {src} {alt} {href} align="left" />
10
+ {:else}
11
+ <a {href} title={alt}><slot /></a>
12
+ {/if}
13
+ </div>
14
+
15
15
  <style>div {
16
16
  display: block;
17
17
  width: 100%;
@@ -27,4 +27,4 @@ div a {
27
27
  }
28
28
  div a:hover {
29
29
  color: var(--nav-link-hover, #333);
30
- }</style>
30
+ }</style>
@@ -9,19 +9,19 @@ const click = () => {
9
9
  navigateTo(href);
10
10
  dispatch("click");
11
11
  };
12
- </script>
13
-
14
- <button type="button" class={$open ? 'open' : 'closed'} on:click={click}>
15
- {#if $$slots.default}
16
- <div class="icon">
17
- <slot />
18
- </div>
19
- {/if}
20
- <div class="title">
21
- {title}
22
- </div>
23
- </button>
24
-
12
+ </script>
13
+
14
+ <button type="button" class={$open ? 'open' : 'closed'} on:click={click}>
15
+ {#if $$slots.default}
16
+ <div class="icon">
17
+ <slot />
18
+ </div>
19
+ {/if}
20
+ <div class="title">
21
+ {title}
22
+ </div>
23
+ </button>
24
+
25
25
  <style>button {
26
26
  display: flex;
27
27
  flex-direction: column;
@@ -66,4 +66,4 @@ button .icon {
66
66
  button.open .icon {
67
67
  width: 1.5rem;
68
68
  }
69
- }</style>
69
+ }</style>
@@ -8,17 +8,17 @@ setContext("app-nav-state", open);
8
8
  const toggle = () => open.set(!get(open));
9
9
  const context = getContext("app-bar");
10
10
  const collapse = context.position !== "bottom" ? "collapse" : "";
11
- </script>
12
-
13
- <div class="icon {$open ? 'open' : 'closed'} {collapse}">
14
- <button type="button" on:click={toggle}>
15
- <HamburgerIcon />
16
- </button>
17
- </div>
18
- <nav class="{align} {spacing} {collapse} {$open ? 'open' : 'closed'}">
19
- <slot />
20
- </nav>
21
-
11
+ </script>
12
+
13
+ <div class="icon {$open ? 'open' : 'closed'} {collapse}">
14
+ <button type="button" on:click={toggle}>
15
+ <HamburgerIcon />
16
+ </button>
17
+ </div>
18
+ <nav class="{align} {spacing} {collapse} {$open ? 'open' : 'closed'}">
19
+ <slot />
20
+ </nav>
21
+
22
22
  <style>.icon {
23
23
  display: none;
24
24
  }
@@ -108,4 +108,4 @@ nav.space-around {
108
108
  padding: 0;
109
109
  gap: 0;
110
110
  }
111
- }</style>
111
+ }</style>
@@ -8,30 +8,30 @@ const getCrumLabel = (crumb) => {
8
8
  return crumb;
9
9
  return crumb.label;
10
10
  };
11
- </script>
12
-
13
- <nav class={size}>
14
- {#if homeUrl}
15
- <li class="home">
16
- <a href={homeUrl}><HomeIcon /></a>
17
- </li>
18
- {/if}
19
- {#each crumbs as crumb, i}
20
- {#if typeof crumb === 'string' || !crumb.href}
21
- <li>{getCrumLabel(crumb)}</li>
22
- {:else}
23
- <li>
24
- <a href={crumb.href}>
25
- {crumb.label}
26
- </a>
27
- </li>
28
- {/if}
29
- {#if i < crumbs.length - 1}
30
- <li class="separator">{separator}</li>
31
- {/if}
32
- {/each}
33
- </nav>
34
-
11
+ </script>
12
+
13
+ <nav class={size}>
14
+ {#if homeUrl}
15
+ <li class="home">
16
+ <a href={homeUrl}><HomeIcon /></a>
17
+ </li>
18
+ {/if}
19
+ {#each crumbs as crumb, i}
20
+ {#if typeof crumb === 'string' || !crumb.href}
21
+ <li>{getCrumLabel(crumb)}</li>
22
+ {:else}
23
+ <li>
24
+ <a href={crumb.href}>
25
+ {crumb.label}
26
+ </a>
27
+ </li>
28
+ {/if}
29
+ {#if i < crumbs.length - 1}
30
+ <li class="separator">{separator}</li>
31
+ {/if}
32
+ {/each}
33
+ </nav>
34
+
35
35
  <style>nav {
36
36
  display: flex;
37
37
  align-items: center;
@@ -72,4 +72,4 @@ nav.lg li {
72
72
  }
73
73
  nav.lg li.home {
74
74
  width: 16px;
75
- }</style>
75
+ }</style>
@@ -31,32 +31,32 @@ $:
31
31
  showFirst = currentPage > 4;
32
32
  $:
33
33
  showLast = currentPage < totalPages - 3;
34
- </script>
35
-
36
- <nav class="{align} {style} {size}">
37
- {#if currentPage > 1}
38
- <button on:click={() => changePage(currentPage - 1)} class="previous page">Previous</button>
39
- {/if}
40
- {#if showFirst}
41
- <button on:click={() => changePage(1)} class="first page">1</button>
42
- <div class="ellipsis page">···</div>
43
- {/if}
44
- {#each previousPages as page}
45
- <button on:click={() => changePage(page)} class="pre page">{page}</button>
46
- {/each}
47
- <div class="current page">{currentPage}</div>
48
- {#each nextPages as page}
49
- <button on:click={() => changePage(page)} class="pro numbered page">{page}</button>
50
- {/each}
51
- {#if showLast}
52
- <div class="ellipsis page">···</div>
53
- <button on:click={() => changePage(totalPages)} class="last page">{totalPages}</button>
54
- {/if}
55
- {#if currentPage < totalPages}
56
- <button on:click={() => changePage(currentPage + 1)} class="next page">Next</button>
57
- {/if}
58
- </nav>
59
-
34
+ </script>
35
+
36
+ <nav class="{align} {style} {size}">
37
+ {#if currentPage > 1}
38
+ <button on:click={() => changePage(currentPage - 1)} class="previous page">Previous</button>
39
+ {/if}
40
+ {#if showFirst}
41
+ <button on:click={() => changePage(1)} class="first page">1</button>
42
+ <div class="ellipsis page">···</div>
43
+ {/if}
44
+ {#each previousPages as page}
45
+ <button on:click={() => changePage(page)} class="pre page">{page}</button>
46
+ {/each}
47
+ <div class="current page">{currentPage}</div>
48
+ {#each nextPages as page}
49
+ <button on:click={() => changePage(page)} class="pro numbered page">{page}</button>
50
+ {/each}
51
+ {#if showLast}
52
+ <div class="ellipsis page">···</div>
53
+ <button on:click={() => changePage(totalPages)} class="last page">{totalPages}</button>
54
+ {/if}
55
+ {#if currentPage < totalPages}
56
+ <button on:click={() => changePage(currentPage + 1)} class="next page">Next</button>
57
+ {/if}
58
+ </nav>
59
+
60
60
  <style>nav {
61
61
  display: flex;
62
62
  flex-direction: row;
@@ -126,4 +126,4 @@ nav.flat button:hover {
126
126
  nav .pro {
127
127
  display: none;
128
128
  }
129
- }</style>
129
+ }</style>
@@ -1,14 +1,14 @@
1
1
  <script>import Overlay from "../../generic/overlay.svelte";
2
2
  export let open = false;
3
- </script>
4
-
5
- <div class:open>
6
- <Overlay show={open} />
7
- <aside>
8
- <slot />
9
- </aside>
10
- </div>
11
-
3
+ </script>
4
+
5
+ <div class:open>
6
+ <Overlay show={open} />
7
+ <aside>
8
+ <slot />
9
+ </aside>
10
+ </div>
11
+
12
12
  <style>div aside {
13
13
  width: 300px;
14
14
  padding: 0;
@@ -33,4 +33,4 @@ div.open {
33
33
  }
34
34
  div.open aside {
35
35
  left: 0;
36
- }</style>
36
+ }</style>
@@ -19,25 +19,25 @@ const ctx = {
19
19
  register
20
20
  };
21
21
  setContext(tabContext, ctx);
22
- </script>
23
-
24
- <section class="tab-group {style}">
25
- <div class="tab-head">
26
- <nav>
27
- {#each $tabs as tab}
28
- <li class={$active == tab.id ? 'active' : 'inactive'}>
29
- <button on:click={() => selectTab(tab.id)}>
30
- {tab.name}
31
- </button>
32
- </li>
33
- {/each}
34
- </nav>
35
- </div>
36
- <div class="tab-content">
37
- <slot />
38
- </div>
39
- </section>
40
-
22
+ </script>
23
+
24
+ <section class="tab-group {style}">
25
+ <div class="tab-head">
26
+ <nav>
27
+ {#each $tabs as tab}
28
+ <li class={$active == tab.id ? 'active' : 'inactive'}>
29
+ <button on:click={() => selectTab(tab.id)}>
30
+ {tab.name}
31
+ </button>
32
+ </li>
33
+ {/each}
34
+ </nav>
35
+ </div>
36
+ <div class="tab-content">
37
+ <slot />
38
+ </div>
39
+ </section>
40
+
41
41
  <style>.tab-head {
42
42
  height: 2rem;
43
43
  position: relative;
@@ -154,4 +154,4 @@ setContext(tabContext, ctx);
154
154
  .overline .inactive button {
155
155
  border-style: none;
156
156
  color: var(--tab-overline-fg, rgb(180, 180, 180));
157
- }</style>
157
+ }</style>
@@ -18,21 +18,21 @@ const unsubscribe = ctx.active.subscribe((selectedId) => {
18
18
  }
19
19
  });
20
20
  onDestroy(() => unsubscribe());
21
- </script>
22
-
23
- <article class:active>
24
- {#if active}
25
- {#if $$slots.default}
26
- <slot />
27
- {:else}
28
- <Loading />
29
- {/if}
30
- {/if}
31
- </article>
32
-
21
+ </script>
22
+
23
+ <article class:active>
24
+ {#if active}
25
+ {#if $$slots.default}
26
+ <slot />
27
+ {:else}
28
+ <Loading />
29
+ {/if}
30
+ {/if}
31
+ </article>
32
+
33
33
  <style>article {
34
34
  display: none;
35
35
  }
36
36
  article.active {
37
37
  display: block;
38
- }</style>
38
+ }</style>
@@ -9,17 +9,17 @@ $:
9
9
  isCurrentStep = $state.currentStep === step;
10
10
  $:
11
11
  errors = $state.errors;
12
- </script>
13
-
14
- <div class="step {isCurrentStep ? 'current' : ''}">
15
- {#if errors.length}
16
- <div class="errors">
17
- <Notice style="error" size="md">{errors.join(' ')}</Notice>
18
- </div>
19
- {/if}
20
- <slot />
21
- </div>
22
-
12
+ </script>
13
+
14
+ <div class="step {isCurrentStep ? 'current' : ''}">
15
+ {#if errors.length}
16
+ <div class="errors">
17
+ <Notice style="error" size="md">{errors.join(' ')}</Notice>
18
+ </div>
19
+ {/if}
20
+ <slot />
21
+ </div>
22
+
23
23
  <style>.step {
24
24
  display: none;
25
25
  }
@@ -31,4 +31,4 @@ $:
31
31
  display: flex;
32
32
  flex-direction: column;
33
33
  gap: 1rem;
34
- }</style>
34
+ }</style>
@@ -82,32 +82,32 @@ $:
82
82
  subtitle = steps[currentStep];
83
83
  $:
84
84
  total = Object.values(steps).length;
85
- </script>
86
-
87
- <section class:disabled>
88
- <Header {title} {subtitle} {level} />
89
- <div class="content">
90
- <slot />
91
- </div>
92
- <footer>
93
- <div>
94
- {#if !isFirstStep}
95
- <Button type="button" style="secondary" on:click={previous} {disabled}>Previous</Button>
96
- {/if}
97
- </div>
98
- <div>
99
- <div>Step {currentStep} of {total}</div>
100
- </div>
101
- <div>
102
- {#if isLastStep}
103
- <Button type="submit" style="primary" on:click={done} {disabled}>Done</Button>
104
- {:else}
105
- <Button type="button" style="primary" on:click={next} {disabled}>Next</Button>
106
- {/if}
107
- </div>
108
- </footer>
109
- </section>
110
-
85
+ </script>
86
+
87
+ <section class:disabled>
88
+ <Header {title} {subtitle} {level} />
89
+ <div class="content">
90
+ <slot />
91
+ </div>
92
+ <footer>
93
+ <div>
94
+ {#if !isFirstStep}
95
+ <Button type="button" style="secondary" on:click={previous} {disabled}>Previous</Button>
96
+ {/if}
97
+ </div>
98
+ <div>
99
+ <div>Step {currentStep} of {total}</div>
100
+ </div>
101
+ <div>
102
+ {#if isLastStep}
103
+ <Button type="submit" style="primary" on:click={done} {disabled}>Done</Button>
104
+ {:else}
105
+ <Button type="button" style="primary" on:click={next} {disabled}>Next</Button>
106
+ {/if}
107
+ </div>
108
+ </footer>
109
+ </section>
110
+
111
111
  <style>section.disabled {
112
112
  opacity: 0.5;
113
113
  }
@@ -121,4 +121,4 @@ footer {
121
121
  }
122
122
  footer div {
123
123
  width: 100%;
124
- }</style>
124
+ }</style>