sveltacular 0.0.74 → 0.0.76

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 (119) 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 +26 -26
  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 +44 -44
  18. package/dist/forms/money-box/money-box.svelte +54 -54
  19. package/dist/forms/number-box/number-box.svelte +31 -31
  20. package/dist/forms/phone-box/phone-box.svelte +50 -50
  21. package/dist/forms/radio-group/radio-box.svelte +15 -15
  22. package/dist/forms/radio-group/radio-group.svelte +12 -12
  23. package/dist/forms/switch-box/switch-box.svelte +16 -16
  24. package/dist/forms/text-area/text-area.svelte +10 -10
  25. package/dist/forms/text-box/text-box.svelte +34 -34
  26. package/dist/forms/url-box/url-box.svelte +14 -14
  27. package/dist/generic/address/address.svelte +16 -16
  28. package/dist/generic/card/card-container.svelte +7 -7
  29. package/dist/generic/card/card.svelte +10 -10
  30. package/dist/generic/date/date-time.svelte +3 -3
  31. package/dist/generic/divider/divider.svelte +3 -3
  32. package/dist/generic/dot/dot.svelte +5 -5
  33. package/dist/generic/dropdown-item/dropdown-item.svelte +35 -0
  34. package/dist/generic/dropdown-item/dropdown-item.svelte.d.ts +22 -0
  35. package/dist/generic/email/email.svelte +12 -12
  36. package/dist/generic/empty/empty.svelte +14 -14
  37. package/dist/generic/header/header.svelte +17 -17
  38. package/dist/generic/link/link.svelte +13 -13
  39. package/dist/generic/list/list-item.svelte +19 -19
  40. package/dist/generic/list/list.svelte +12 -12
  41. package/dist/generic/menu/menu.svelte +38 -38
  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 +16 -16
  46. package/dist/generic/phone/phone.svelte.d.ts +1 -1
  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/generic/toaster/toaster.svelte +6 -6
  51. package/dist/icons/angle-right-icon.svelte +11 -11
  52. package/dist/icons/angle-up-icon.svelte +9 -9
  53. package/dist/icons/check-icon.svelte +17 -17
  54. package/dist/icons/envelope-icon.svelte +8 -8
  55. package/dist/icons/folder-open-icon.svelte +12 -12
  56. package/dist/icons/hamburger-icon.svelte +15 -15
  57. package/dist/icons/home-icon.svelte +7 -7
  58. package/dist/icons/link-icon.svelte +15 -15
  59. package/dist/icons/mobile-phone-icon.svelte +5 -5
  60. package/dist/icons/phone-icon.svelte +9 -9
  61. package/dist/icons/svg-icon.svelte +5 -5
  62. package/dist/icons/upload-icon.svelte +9 -9
  63. package/dist/images/icon.svelte +5 -5
  64. package/dist/images/image.svelte +28 -28
  65. package/dist/index.d.ts +13 -0
  66. package/dist/index.js +14 -0
  67. package/dist/layout/flex-col.svelte +10 -10
  68. package/dist/layout/flex-item.svelte +5 -5
  69. package/dist/layout/flex-row.svelte +13 -13
  70. package/dist/layout/grid.svelte +17 -17
  71. package/dist/modals/alert.svelte +24 -24
  72. package/dist/modals/confirm.svelte +27 -27
  73. package/dist/modals/dialog-body.svelte +5 -5
  74. package/dist/modals/dialog-close-button.svelte +7 -7
  75. package/dist/modals/dialog-footer.svelte +9 -9
  76. package/dist/modals/dialog-header.svelte +5 -5
  77. package/dist/modals/dialog-window.svelte +9 -9
  78. package/dist/modals/modal.svelte +12 -12
  79. package/dist/modals/prompt.svelte +29 -29
  80. package/dist/navigation/accordian/accordian.svelte +17 -17
  81. package/dist/navigation/app-bar/app-bar.svelte +7 -7
  82. package/dist/navigation/app-bar/app-branding.svelte +18 -18
  83. package/dist/navigation/app-bar/app-logo.svelte +11 -11
  84. package/dist/navigation/app-bar/app-nav-item.svelte +14 -14
  85. package/dist/navigation/app-bar/app-nav.svelte +12 -12
  86. package/dist/navigation/breadcrumbs/breadcrumbs.svelte +25 -25
  87. package/dist/navigation/dropdown-button/dropdown-button.svelte +117 -0
  88. package/dist/navigation/dropdown-button/dropdown-button.svelte.d.ts +21 -0
  89. package/dist/navigation/pagination/pagination.svelte +27 -27
  90. package/dist/navigation/side-bar/side-bar.svelte +10 -10
  91. package/dist/navigation/tabs/tab-group.svelte +20 -20
  92. package/dist/navigation/tabs/tab.svelte +13 -13
  93. package/dist/navigation/wizard/wizard-step.svelte +12 -12
  94. package/dist/navigation/wizard/wizard.svelte +27 -27
  95. package/dist/placeholders/loading.svelte +9 -9
  96. package/dist/placeholders/progress.svelte +9 -9
  97. package/dist/placeholders/skeleton-input.svelte +43 -43
  98. package/dist/placeholders/skeleton-text.svelte +5 -5
  99. package/dist/tables/data-grid.svelte +101 -85
  100. package/dist/tables/data-grid.svelte.d.ts +7 -3
  101. package/dist/tables/table-body.svelte +3 -3
  102. package/dist/tables/table-caption.svelte +7 -7
  103. package/dist/tables/table-cell.svelte +7 -7
  104. package/dist/tables/table-footer-cell.svelte +21 -21
  105. package/dist/tables/table-footer-row.svelte +3 -3
  106. package/dist/tables/table-footer.svelte +13 -13
  107. package/dist/tables/table-header-cell.svelte +7 -7
  108. package/dist/tables/table-header-row.svelte +4 -4
  109. package/dist/tables/table-header.svelte +14 -14
  110. package/dist/tables/table-row.svelte +16 -16
  111. package/dist/tables/table.svelte +11 -11
  112. package/dist/timeline/timeline-item.svelte +26 -26
  113. package/dist/timeline/timeline.svelte +5 -5
  114. package/dist/typography/code-block.svelte +7 -7
  115. package/dist/typography/headline.svelte +19 -19
  116. package/dist/typography/paragraph.svelte +13 -13
  117. package/dist/typography/subtitle.svelte +7 -7
  118. package/dist/typography/text.svelte +11 -11
  119. package/package.json +101 -101
@@ -1,17 +1,17 @@
1
- <div>
2
- <slot />
3
- </div>
4
-
5
- <style>
6
- div {
7
- display: grid;
8
- width: 100%;
9
- grid-template-columns: repeat(12, 1fr);
10
- grid-template-rows: auto;
11
- grid-gap: 1rem;
12
- justify-content: center;
13
- align-items: center;
14
- justify-items: center;
15
- align-content: center;
16
- }
17
- </style>
1
+ <div>
2
+ <slot />
3
+ </div>
4
+
5
+ <style>
6
+ div {
7
+ display: grid;
8
+ width: 100%;
9
+ grid-template-columns: repeat(12, 1fr);
10
+ grid-template-rows: auto;
11
+ grid-gap: 1rem;
12
+ justify-content: center;
13
+ align-items: center;
14
+ justify-items: center;
15
+ align-content: center;
16
+ }
17
+ </style>
@@ -18,27 +18,27 @@ const close = () => {
18
18
  dispatch("close");
19
19
  open = false;
20
20
  };
21
- </script>
22
-
23
- {#if open}
24
- <Overlay on:click={close}>
25
- <Dialog {size}>
26
- {#if title}
27
- <DialogHeader>
28
- {title}
29
- </DialogHeader>
30
- <Divider />
31
- {/if}
32
- <DialogCloseButton show={showCloseButton} on:click={close} />
33
- <DialogBody>
34
- <slot />
35
- </DialogBody>
36
- <Divider />
37
- <DialogFooter>
38
- <Button on:click={close} size="full" style={buttonStyle}>
39
- {buttonText}
40
- </Button>
41
- </DialogFooter>
42
- </Dialog>
43
- </Overlay>
44
- {/if}
21
+ </script>
22
+
23
+ {#if open}
24
+ <Overlay on:click={close}>
25
+ <Dialog {size}>
26
+ {#if title}
27
+ <DialogHeader>
28
+ {title}
29
+ </DialogHeader>
30
+ <Divider />
31
+ {/if}
32
+ <DialogCloseButton show={showCloseButton} on:click={close} />
33
+ <DialogBody>
34
+ <slot />
35
+ </DialogBody>
36
+ <Divider />
37
+ <DialogFooter>
38
+ <Button on:click={close} size="full" style={buttonStyle}>
39
+ {buttonText}
40
+ </Button>
41
+ </DialogFooter>
42
+ </Dialog>
43
+ </Overlay>
44
+ {/if}
@@ -24,30 +24,30 @@ const yes = () => {
24
24
  dispatch("yes");
25
25
  open = false;
26
26
  };
27
- </script>
28
-
29
- {#if open}
30
- <Overlay on:click={no}>
31
- <Dialog {size}>
32
- {#if title}
33
- <DialogHeader>
34
- {title}
35
- </DialogHeader>
36
- <Divider />
37
- {/if}
38
- <DialogCloseButton show={showCloseButton} on:click={no} />
39
- <DialogBody>
40
- <slot />
41
- </DialogBody>
42
- <Divider />
43
- <DialogFooter>
44
- <Button on:click={no} style={noStyle} size="full">
45
- {noText}
46
- </Button>
47
- <Button on:click={yes} style={yesStyle} size="full">
48
- {yesText}
49
- </Button>
50
- </DialogFooter>
51
- </Dialog>
52
- </Overlay>
53
- {/if}
27
+ </script>
28
+
29
+ {#if open}
30
+ <Overlay on:click={no}>
31
+ <Dialog {size}>
32
+ {#if title}
33
+ <DialogHeader>
34
+ {title}
35
+ </DialogHeader>
36
+ <Divider />
37
+ {/if}
38
+ <DialogCloseButton show={showCloseButton} on:click={no} />
39
+ <DialogBody>
40
+ <slot />
41
+ </DialogBody>
42
+ <Divider />
43
+ <DialogFooter>
44
+ <Button on:click={no} style={noStyle} size="full">
45
+ {noText}
46
+ </Button>
47
+ <Button on:click={yes} style={yesStyle} size="full">
48
+ {yesText}
49
+ </Button>
50
+ </DialogFooter>
51
+ </Dialog>
52
+ </Overlay>
53
+ {/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>
@@ -16,15 +16,15 @@ const close = () => {
16
16
  };
17
17
  $:
18
18
  _showCloseButton = dismissable && showCloseButton;
19
- </script>
20
-
21
- {#if open}
22
- <Overlay on:click={close}>
23
- <Dialog {size}>
24
- <DialogCloseButton show={_showCloseButton} on:click={close} />
25
- <DialogBody>
26
- <slot />
27
- </DialogBody>
28
- </Dialog>
29
- </Overlay>
30
- {/if}
19
+ </script>
20
+
21
+ {#if open}
22
+ <Overlay on:click={close}>
23
+ <Dialog {size}>
24
+ <DialogCloseButton show={_showCloseButton} on:click={close} />
25
+ <DialogBody>
26
+ <slot />
27
+ </DialogBody>
28
+ </Dialog>
29
+ </Overlay>
30
+ {/if}
@@ -31,32 +31,32 @@ const yes = () => {
31
31
  open = false;
32
32
  dispatch("ok", value);
33
33
  };
34
- </script>
35
-
36
- {#if open}
37
- <Overlay on:click={no}>
38
- <Dialog {size}>
39
- {#if title}
40
- <DialogHeader>
41
- {title}
42
- </DialogHeader>
43
- <Divider />
44
- {/if}
45
- <DialogCloseButton show={showCloseButton} on:click={no} />
46
- <DialogBody>
47
- <TextBox bind:value {placeholder} {type} {required} size="full">
48
- <slot />
49
- </TextBox>
50
- </DialogBody>
51
- <Divider />
52
- <DialogFooter>
53
- <Button on:click={no} style={cancelStyle} size="full">
54
- {cancelText}
55
- </Button>
56
- <Button on:click={yes} style={okStyle} size="full">
57
- {okText}
58
- </Button>
59
- </DialogFooter>
60
- </Dialog>
61
- </Overlay>
62
- {/if}
34
+ </script>
35
+
36
+ {#if open}
37
+ <Overlay on:click={no}>
38
+ <Dialog {size}>
39
+ {#if title}
40
+ <DialogHeader>
41
+ {title}
42
+ </DialogHeader>
43
+ <Divider />
44
+ {/if}
45
+ <DialogCloseButton show={showCloseButton} on:click={no} />
46
+ <DialogBody>
47
+ <TextBox bind:value {placeholder} {type} {required} size="full">
48
+ <slot />
49
+ </TextBox>
50
+ </DialogBody>
51
+ <Divider />
52
+ <DialogFooter>
53
+ <Button on:click={no} style={cancelStyle} size="full">
54
+ {cancelText}
55
+ </Button>
56
+ <Button on:click={yes} style={okStyle} size="full">
57
+ {okText}
58
+ </Button>
59
+ </DialogFooter>
60
+ </Dialog>
61
+ </Overlay>
62
+ {/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>