sveltacular 0.0.48 → 0.0.50

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 (128) 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 +40 -0
  29. package/dist/generic/address/address.svelte.d.ts +20 -0
  30. package/dist/generic/card/card-container.svelte +7 -7
  31. package/dist/generic/card/card.svelte +10 -10
  32. package/dist/generic/date/date-time.svelte +3 -3
  33. package/dist/generic/divider/divider.svelte +3 -3
  34. package/dist/generic/dot/dot.svelte +5 -5
  35. package/dist/generic/email/email.svelte +30 -0
  36. package/dist/generic/email/email.svelte.d.ts +16 -0
  37. package/dist/generic/empty/empty.svelte +14 -14
  38. package/dist/generic/header/header.svelte +17 -17
  39. package/dist/generic/link/link.svelte +13 -13
  40. package/dist/generic/menu/menu.svelte +39 -39
  41. package/dist/generic/menu/menu.svelte.d.ts +1 -1
  42. package/dist/generic/notice/notice.svelte +25 -25
  43. package/dist/generic/overlay.svelte +8 -8
  44. package/dist/generic/panel/panel.svelte +10 -10
  45. package/dist/generic/phone/phone.svelte +56 -0
  46. package/dist/generic/phone/phone.svelte.d.ts +17 -0
  47. package/dist/generic/pill/pill.svelte +7 -7
  48. package/dist/generic/scorecard/scorecard.svelte +10 -10
  49. package/dist/generic/section/section.svelte +10 -10
  50. package/dist/helpers/capitalize.d.ts +4 -0
  51. package/dist/helpers/capitalize.js +13 -0
  52. package/dist/helpers/navigate-to.js +15 -3
  53. package/dist/helpers/nobr.d.ts +4 -0
  54. package/dist/helpers/nobr.js +4 -0
  55. package/dist/helpers/split-new-lines.d.ts +4 -0
  56. package/dist/helpers/split-new-lines.js +4 -0
  57. package/dist/helpers/ucfirst.d.ts +1 -0
  58. package/dist/helpers/ucfirst.js +3 -0
  59. package/dist/icons/angle-right-icon.svelte +11 -11
  60. package/dist/icons/angle-up-icon.svelte +9 -9
  61. package/dist/icons/check-icon.svelte +15 -15
  62. package/dist/icons/envelope-icon.svelte +8 -0
  63. package/dist/icons/envelope-icon.svelte.d.ts +23 -0
  64. package/dist/icons/folder-open-icon.svelte +12 -12
  65. package/dist/icons/hamburger-icon.svelte +15 -15
  66. package/dist/icons/home-icon.svelte +7 -7
  67. package/dist/icons/link-icon.svelte +15 -15
  68. package/dist/icons/mobile-phone-icon.svelte +5 -0
  69. package/dist/icons/mobile-phone-icon.svelte.d.ts +23 -0
  70. package/dist/icons/phone-icon.svelte +9 -0
  71. package/dist/icons/phone-icon.svelte.d.ts +23 -0
  72. package/dist/icons/svg-icon.svelte +5 -5
  73. package/dist/icons/upload-icon.svelte +9 -9
  74. package/dist/images/icon.svelte +5 -5
  75. package/dist/images/image.svelte +28 -28
  76. package/dist/index.d.ts +6 -0
  77. package/dist/index.js +6 -0
  78. package/dist/layout/flex-col.svelte +7 -7
  79. package/dist/layout/flex-item.svelte +7 -7
  80. package/dist/layout/flex-row.svelte +10 -10
  81. package/dist/layout/grid.svelte +17 -17
  82. package/dist/modals/alert.svelte +24 -24
  83. package/dist/modals/confirm.svelte +27 -27
  84. package/dist/modals/dialog-body.svelte +5 -5
  85. package/dist/modals/dialog-close-button.svelte +7 -7
  86. package/dist/modals/dialog-footer.svelte +9 -9
  87. package/dist/modals/dialog-header.svelte +5 -5
  88. package/dist/modals/dialog-window.svelte +9 -9
  89. package/dist/modals/modal.svelte +12 -12
  90. package/dist/modals/prompt.svelte +29 -29
  91. package/dist/navigation/accordian/accordian.svelte +17 -17
  92. package/dist/navigation/app-bar/app-bar.svelte +7 -7
  93. package/dist/navigation/app-bar/app-branding.svelte +18 -18
  94. package/dist/navigation/app-bar/app-logo.svelte +11 -11
  95. package/dist/navigation/app-bar/app-nav-item.svelte +14 -14
  96. package/dist/navigation/app-bar/app-nav.svelte +12 -12
  97. package/dist/navigation/breadcrumbs/breadcrumbs.svelte +25 -25
  98. package/dist/navigation/pagination/pagination.svelte +27 -27
  99. package/dist/navigation/side-bar/side-bar.svelte +10 -10
  100. package/dist/navigation/tabs/tab-group.svelte +20 -20
  101. package/dist/navigation/tabs/tab.svelte +20 -10
  102. package/dist/navigation/tabs/tab.svelte.d.ts +1 -0
  103. package/dist/navigation/wizard/wizard-step.svelte +12 -12
  104. package/dist/navigation/wizard/wizard.svelte +27 -27
  105. package/dist/placeholders/loading.svelte +9 -9
  106. package/dist/placeholders/progress.svelte +9 -9
  107. package/dist/placeholders/skeleton-text.svelte +13 -13
  108. package/dist/tables/data-grid.svelte +80 -80
  109. package/dist/tables/table-body.svelte +3 -3
  110. package/dist/tables/table-caption.svelte +5 -5
  111. package/dist/tables/table-cell.svelte +7 -7
  112. package/dist/tables/table-footer-cell.svelte +21 -21
  113. package/dist/tables/table-footer-row.svelte +3 -3
  114. package/dist/tables/table-footer.svelte +13 -13
  115. package/dist/tables/table-header-cell.svelte +7 -7
  116. package/dist/tables/table-header-row.svelte +4 -4
  117. package/dist/tables/table-header.svelte +14 -14
  118. package/dist/tables/table-row.svelte +16 -16
  119. package/dist/tables/table.svelte +11 -11
  120. package/dist/timeline/timeline-item.svelte +26 -26
  121. package/dist/timeline/timeline.svelte +5 -5
  122. package/dist/types/form.d.ts +1 -1
  123. package/dist/typography/code-block.svelte +7 -7
  124. package/dist/typography/headline.svelte +19 -19
  125. package/dist/typography/paragraph.svelte +13 -13
  126. package/dist/typography/subtitle.svelte +7 -7
  127. package/dist/typography/text.svelte +7 -7
  128. package/package.json +101 -101
@@ -17,27 +17,27 @@ const close = () => {
17
17
  dispatch("close");
18
18
  open = false;
19
19
  };
20
- </script>
21
-
22
- {#if open}
23
- <Overlay on:click={close}>
24
- <Dialog {size}>
25
- {#if title}
26
- <DialogHeader>
27
- {title}
28
- </DialogHeader>
29
- <Divider />
30
- {/if}
31
- <DialogCloseButton show={showCloseButton} on:click={close} />
32
- <DialogBody>
33
- <slot />
34
- </DialogBody>
35
- <Divider />
36
- <DialogFooter>
37
- <Button on:click={close} size="full">
38
- {buttonText}
39
- </Button>
40
- </DialogFooter>
41
- </Dialog>
42
- </Overlay>
43
- {/if}
20
+ </script>
21
+
22
+ {#if open}
23
+ <Overlay on:click={close}>
24
+ <Dialog {size}>
25
+ {#if title}
26
+ <DialogHeader>
27
+ {title}
28
+ </DialogHeader>
29
+ <Divider />
30
+ {/if}
31
+ <DialogCloseButton show={showCloseButton} on:click={close} />
32
+ <DialogBody>
33
+ <slot />
34
+ </DialogBody>
35
+ <Divider />
36
+ <DialogFooter>
37
+ <Button on:click={close} size="full">
38
+ {buttonText}
39
+ </Button>
40
+ </DialogFooter>
41
+ </Dialog>
42
+ </Overlay>
43
+ {/if}
@@ -22,30 +22,30 @@ const yes = () => {
22
22
  dispatch("yes");
23
23
  open = false;
24
24
  };
25
- </script>
26
-
27
- {#if open}
28
- <Overlay on:click={no}>
29
- <Dialog {size}>
30
- {#if title}
31
- <DialogHeader>
32
- {title}
33
- </DialogHeader>
34
- <Divider />
35
- {/if}
36
- <DialogCloseButton show={showCloseButton} on:click={no} />
37
- <DialogBody>
38
- <slot />
39
- </DialogBody>
40
- <Divider />
41
- <DialogFooter>
42
- <Button on:click={no} style="secondary" size="full">
43
- {noText}
44
- </Button>
45
- <Button on:click={yes} style="primary" size="full">
46
- {yesText}
47
- </Button>
48
- </DialogFooter>
49
- </Dialog>
50
- </Overlay>
51
- {/if}
25
+ </script>
26
+
27
+ {#if open}
28
+ <Overlay on:click={no}>
29
+ <Dialog {size}>
30
+ {#if title}
31
+ <DialogHeader>
32
+ {title}
33
+ </DialogHeader>
34
+ <Divider />
35
+ {/if}
36
+ <DialogCloseButton show={showCloseButton} on:click={no} />
37
+ <DialogBody>
38
+ <slot />
39
+ </DialogBody>
40
+ <Divider />
41
+ <DialogFooter>
42
+ <Button on:click={no} style="secondary" size="full">
43
+ {noText}
44
+ </Button>
45
+ <Button on:click={yes} style="primary" size="full">
46
+ {yesText}
47
+ </Button>
48
+ </DialogFooter>
49
+ </Dialog>
50
+ </Overlay>
51
+ {/if}
@@ -1,9 +1,9 @@
1
- <div>
2
- <slot />
3
- </div>
4
-
1
+ <div>
2
+ <slot />
3
+ </div>
4
+
5
5
  <style>div {
6
6
  color: #000;
7
7
  margin-top: 1rem;
8
8
  margin-bottom: 1rem;
9
- }</style>
9
+ }</style>
@@ -6,12 +6,12 @@ const onClick = (e) => {
6
6
  e.stopPropagation();
7
7
  dispatch("click");
8
8
  };
9
- </script>
10
-
11
- {#if show}
12
- <button type="button" on:click={onClick}>X</button>
13
- {/if}
14
-
9
+ </script>
10
+
11
+ {#if show}
12
+ <button type="button" on:click={onClick}>X</button>
13
+ {/if}
14
+
15
15
  <style>button {
16
16
  appearance: none;
17
17
  border: none;
@@ -29,4 +29,4 @@ const onClick = (e) => {
29
29
  }
30
30
  button:hover {
31
31
  background-color: #eee;
32
- }</style>
32
+ }</style>
@@ -1,9 +1,9 @@
1
- <script>
2
- import FlexRow from '../layout/flex-row.svelte';
3
- </script>
4
-
5
- <footer>
6
- <FlexRow layout="stretch">
7
- <slot />
8
- </FlexRow>
9
- </footer>
1
+ <script>
2
+ import FlexRow from '../layout/flex-row.svelte';
3
+ </script>
4
+
5
+ <footer>
6
+ <FlexRow layout="stretch">
7
+ <slot />
8
+ </FlexRow>
9
+ </footer>
@@ -1,7 +1,7 @@
1
- <header>
2
- <h1><slot /></h1>
3
- </header>
4
-
1
+ <header>
2
+ <h1><slot /></h1>
3
+ </header>
4
+
5
5
  <style>header {
6
6
  display: flex;
7
7
  justify-content: space-between;
@@ -16,4 +16,4 @@ header h1 {
16
16
  flex-grow: 1;
17
17
  font-size: 1.25rem;
18
18
  line-height: 1.75rem;
19
- }</style>
19
+ }</style>
@@ -2,14 +2,14 @@
2
2
  const captureClick = (e) => {
3
3
  e.stopPropagation();
4
4
  };
5
- </script>
6
-
7
- <!-- svelte-ignore a11y-click-events-have-key-events -->
8
- <!-- svelte-ignore a11y-no-static-element-interactions -->
9
- <div class={size} on:click={captureClick}>
10
- <slot />
11
- </div>
12
-
5
+ </script>
6
+
7
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
8
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
9
+ <div class={size} on:click={captureClick}>
10
+ <slot />
11
+ </div>
12
+
13
13
  <style>div {
14
14
  position: relative;
15
15
  border: solid 0.1rem #000;
@@ -45,4 +45,4 @@ div.full {
45
45
  div {
46
46
  max-width: 100%;
47
47
  }
48
- }</style>
48
+ }</style>
@@ -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>