@bexis2/bexis2-core-ui 0.2.11 → 0.2.13

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 (88) hide show
  1. package/README.md +273 -214
  2. package/dist/components/Table/Table.svelte +85 -85
  3. package/dist/components/Table/TableFilter.svelte +8 -8
  4. package/dist/components/Table/TablePagination.svelte +38 -38
  5. package/dist/components/file/FileUploader.svelte +34 -34
  6. package/dist/components/form/Checkbox.svelte.d.ts +1 -1
  7. package/dist/components/form/DropdownKvP.svelte +5 -11
  8. package/dist/components/form/InputContainer.svelte +20 -19
  9. package/dist/components/form/MultiSelect.svelte +163 -178
  10. package/dist/components/form/TextArea.svelte +13 -13
  11. package/dist/components/form/TextInput.svelte +0 -2
  12. package/dist/components/page/Alert.svelte +28 -30
  13. package/dist/components/page/BackToTop.svelte +30 -30
  14. package/dist/components/page/Docs.svelte +22 -19
  15. package/dist/components/page/Docs.svelte.d.ts +1 -1
  16. package/dist/components/page/ErrorMessage.svelte +8 -8
  17. package/dist/components/page/Footer.svelte +5 -5
  18. package/dist/components/page/Header.svelte +5 -4
  19. package/dist/components/page/HelpPopUp.svelte +31 -25
  20. package/dist/components/page/HelpPopUp.svelte.d.ts +5 -12
  21. package/dist/components/page/Page.svelte +57 -67
  22. package/dist/components/page/Page.svelte.d.ts +2 -2
  23. package/dist/components/page/PageCaller.js +19 -21
  24. package/dist/components/page/Spinner.svelte +9 -10
  25. package/dist/components/page/Spinner.svelte.d.ts +1 -1
  26. package/dist/components/page/breadcrumb/Breadcrumb.svelte +19 -23
  27. package/dist/components/page/menu/Menu.svelte +48 -22
  28. package/dist/components/page/menu/MenuBar.svelte +8 -14
  29. package/dist/components/page/menu/MenuBar.svelte.d.ts +1 -1
  30. package/dist/components/page/menu/MenuDataCaller.js +10 -11
  31. package/dist/components/page/menu/MenuItem.svelte +28 -15
  32. package/dist/components/page/menu/MenuItem.svelte.d.ts +2 -1
  33. package/dist/components/page/menu/MenuSublist.svelte +14 -16
  34. package/dist/components/page/menu/MenuSublist.svelte.d.ts +2 -3
  35. package/dist/components/page/menu/SettingsBar.svelte +22 -14
  36. package/dist/components/page/menu/SettingsBar.svelte.d.ts +2 -2
  37. package/dist/css/core.ui.postcss +10 -7
  38. package/dist/css/themes/theme-bexis2.css +12 -13
  39. package/dist/index.d.ts +3 -5
  40. package/dist/index.js +5 -5
  41. package/dist/models/Enums.d.ts +18 -0
  42. package/dist/models/Enums.js +22 -0
  43. package/dist/models/Models.d.ts +18 -0
  44. package/dist/models/Models.js +1 -2
  45. package/dist/models/Page.d.ts +31 -0
  46. package/dist/services/BaseCaller.js +16 -21
  47. package/dist/stores/pageStores.d.ts +4 -4
  48. package/dist/stores/pageStores.js +27 -27
  49. package/package.json +2 -2
  50. package/src/lib/components/Table/Table.svelte +246 -246
  51. package/src/lib/components/Table/TableFilter.svelte +8 -8
  52. package/src/lib/components/Table/TablePagination.svelte +61 -61
  53. package/src/lib/components/Table/filter.ts +141 -141
  54. package/src/lib/components/file/FileUploader.svelte +184 -184
  55. package/src/lib/components/form/Checkbox.svelte +1 -1
  56. package/src/lib/components/form/DateInput.svelte +0 -1
  57. package/src/lib/components/form/DropdownKvP.svelte +5 -11
  58. package/src/lib/components/form/InputContainer.svelte +36 -44
  59. package/src/lib/components/form/MultiSelect.svelte +163 -178
  60. package/src/lib/components/form/NumberInput.svelte +3 -5
  61. package/src/lib/components/form/TextArea.svelte +26 -27
  62. package/src/lib/components/form/TextInput.svelte +2 -5
  63. package/src/lib/components/page/Alert.svelte +41 -45
  64. package/src/lib/components/page/BackToTop.svelte +30 -30
  65. package/src/lib/components/page/Docs.svelte +46 -44
  66. package/src/lib/components/page/ErrorMessage.svelte +10 -12
  67. package/src/lib/components/page/Footer.svelte +18 -22
  68. package/src/lib/components/page/Header.svelte +18 -21
  69. package/src/lib/components/page/HelpPopUp.svelte +72 -66
  70. package/src/lib/components/page/Page.svelte +96 -109
  71. package/src/lib/components/page/PageCaller.js +19 -21
  72. package/src/lib/components/page/Spinner.svelte +13 -15
  73. package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +31 -43
  74. package/src/lib/components/page/menu/Menu.svelte +61 -43
  75. package/src/lib/components/page/menu/MenuBar.svelte +18 -29
  76. package/src/lib/components/page/menu/MenuDataCaller.js +10 -11
  77. package/src/lib/components/page/menu/MenuItem.svelte +45 -34
  78. package/src/lib/components/page/menu/MenuSublist.svelte +33 -41
  79. package/src/lib/components/page/menu/SettingsBar.svelte +39 -37
  80. package/src/lib/css/core.ui.postcss +10 -7
  81. package/src/lib/css/themes/theme-bexis2.css +12 -13
  82. package/src/lib/index.ts +78 -77
  83. package/src/lib/models/Enums.ts +32 -11
  84. package/src/lib/models/Models.ts +136 -113
  85. package/src/lib/models/Page.ts +40 -41
  86. package/src/lib/services/BaseCaller.js +16 -21
  87. package/src/lib/stores/apiStores.ts +31 -32
  88. package/src/lib/stores/pageStores.ts +121 -126
@@ -7,33 +7,31 @@ export let cssClass = "";
7
7
  export let deleteBtn = true;
8
8
  $:
9
9
  show = true;
10
- </script>
11
- {#if show}
12
-
13
- <aside class="alert {cssClass}" transition:fade|local={{ duration: 100 }}>
14
- <!-- Icon -->
15
- <!-- <div>(icon)</div> -->
16
- <!-- Message -->
17
- <div class="alert-message">
18
-
19
- {#if title}
20
- <h3 class="h3">{title}</h3>
21
- {/if}
22
- <p>{message}
23
- <slot></slot>
24
- </p>
25
- </div>
26
- <!-- Actions -->
27
- <div class="alert-actions">
28
- <slot name="actions"/>
29
-
30
- {#if deleteBtn}
31
- <button class="btn hover:text-primary-100" on:click={()=>show = false}>
32
- <Fa icon={faXmark} />
33
- </button>
34
- {/if}
35
-
36
- </div>
37
- </aside>
38
-
39
- {/if}
10
+ </script>
11
+
12
+ {#if show}
13
+ <aside class="alert {cssClass}" transition:fade|local={{ duration: 100 }}>
14
+ <!-- Icon -->
15
+ <!-- <div>(icon)</div> -->
16
+ <!-- Message -->
17
+ <div class="alert-message">
18
+ {#if title}
19
+ <h3 class="h3">{title}</h3>
20
+ {/if}
21
+ <p>
22
+ {message}
23
+ <slot />
24
+ </p>
25
+ </div>
26
+ <!-- Actions -->
27
+ <div class="alert-actions">
28
+ <slot name="actions" />
29
+
30
+ {#if deleteBtn}
31
+ <button class="btn hover:text-primary-100" on:click={() => (show = false)}>
32
+ <Fa icon={faXmark} />
33
+ </button>
34
+ {/if}
35
+ </div>
36
+ </aside>
37
+ {/if}
@@ -1,30 +1,30 @@
1
- <script>
2
- export let showOnPx = 150;
3
- let hidden = true;
4
-
5
- function goTop() {
6
- document.body.scrollIntoView();
7
- }
8
-
9
- function scrollContainer() {
10
- return document.documentElement || document.body;
11
- }
12
-
13
- function handleOnScroll() {
14
- if (!scrollContainer()) {
15
- return;
16
- }
17
-
18
- if (scrollContainer().scrollTop > showOnPx) {
19
- hidden = false;
20
- } else {
21
- hidden = true;
22
- }
23
- }
24
- </script>
25
-
26
- <svelte:window on:scroll={handleOnScroll} />
27
-
28
- <div class="w-full items-center">
29
- <button class="btn ring back-to-top" on:click={goTop} class:hidden >Back to top</button>
30
- </div>
1
+ <script>
2
+ export let showOnPx = 150;
3
+ let hidden = true;
4
+
5
+ function goTop() {
6
+ document.body.scrollIntoView();
7
+ }
8
+
9
+ function scrollContainer() {
10
+ return document.documentElement || document.body;
11
+ }
12
+
13
+ function handleOnScroll() {
14
+ if (!scrollContainer()) {
15
+ return;
16
+ }
17
+
18
+ if (scrollContainer().scrollTop > showOnPx) {
19
+ hidden = false;
20
+ } else {
21
+ hidden = true;
22
+ }
23
+ }
24
+ </script>
25
+
26
+ <svelte:window on:scroll={handleOnScroll} />
27
+
28
+ <div class="w-full items-center">
29
+ <button class="btn ring back-to-top" on:click={goTop} class:hidden>Back to top</button>
30
+ </div>
@@ -12,22 +12,25 @@ const noteSettings = {
12
12
  target: "noteTarget",
13
13
  placement: "bottom"
14
14
  };
15
- </script>
16
- <div class="text-right p-2">
17
- {#if note}
18
- <span class="chip variant-soft hover:variant-filled" use:popup={noteSettings} >
19
- <span><Fa icon={faQuestion}/></span>
20
- </span>
21
-
22
- <div class="card p-4 variant-filled-primary w-60 z-50 text-left shadow-md" data-popup="noteTarget">
23
- {note}
24
- </div>
25
- {/if}
26
-
27
- {#each links as link}
28
- <span class="chip variant-soft hover:variant-filled" on:click={()=>goTo(link.url,false)}>
29
- <span>{link.label}</span>
30
- </span>
31
- {/each}
32
- </div>
33
-
15
+ </script>
16
+
17
+ <div class="text-right p-2">
18
+ {#if note}
19
+ <span class="chip variant-soft hover:variant-filled" use:popup={noteSettings}>
20
+ <span><Fa icon={faQuestion} /></span>
21
+ </span>
22
+
23
+ <div
24
+ class="card p-4 variant-filled-primary w-60 z-50 text-left shadow-md"
25
+ data-popup="noteTarget"
26
+ >
27
+ {note}
28
+ </div>
29
+ {/if}
30
+
31
+ {#each links as link}
32
+ <span class="chip variant-soft hover:variant-filled" on:click={() => goTo(link.url, false)}>
33
+ <span>{link.label}</span>
34
+ </span>
35
+ {/each}
36
+ </div>
@@ -1,5 +1,5 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { linkType } from "../../models/Models";
2
+ import type { linkType } from '../../models/Models';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  links?: linkType[] | undefined;
@@ -1,9 +1,9 @@
1
1
  <script>export let error;
2
- </script>
3
-
4
- <div class="card bg-error-300 border-solid border-2 border-error-500 shadow-md max-w-md">
5
- <div class="p-5 space-y-4">
6
- <h3 class="h3">{error.name}</h3>
7
- <p>{error.message}</p>
8
- </div>
9
- </div>
2
+ </script>
3
+
4
+ <div class="card bg-error-300 border-solid border-2 border-error-500 shadow-md max-w-md">
5
+ <div class="p-5 space-y-4">
6
+ <h3 class="h3">{error.name}</h3>
7
+ <p>{error.message}</p>
8
+ </div>
9
+ </div>
@@ -8,8 +8,8 @@ onMount(async () => {
8
8
  content = await getFooter();
9
9
  console.log(content);
10
10
  });
11
- </script>
12
-
13
- {#if content!=undefined}
14
- {@html content}
15
- {/if}
11
+ </script>
12
+
13
+ {#if content != undefined}
14
+ {@html content}
15
+ {/if}
@@ -8,7 +8,8 @@ onMount(async () => {
8
8
  content = await getHeader();
9
9
  console.log(content);
10
10
  });
11
- </script>
12
- {#if content!=undefined}
13
- {@html content}
14
- {/if}
11
+ </script>
12
+
13
+ {#if content != undefined}
14
+ {@html content}
15
+ {/if}
@@ -1,4 +1,4 @@
1
- <script lang=ts>import { helpStore } from "../../stores/pageStores";
1
+ <script>import { helpStore } from "../../stores/pageStores";
2
2
  import Fa from "svelte-fa/src/fa.svelte";
3
3
  import { faQuestion } from "@fortawesome/free-solid-svg-icons";
4
4
  import { popup } from "@skeletonlabs/skeleton";
@@ -26,27 +26,33 @@ async function resetItemId() {
26
26
  await delay(100);
27
27
  helpStore.resetItemId();
28
28
  }
29
- </script>
30
-
31
- {#if active}
32
- <button id="helpButton"class="chip variant-filled-warning fixed bottom-5 right-10 shadow-md" use:popup={helpClick}><Fa icon={faQuestion}/></button>
33
-
34
- <div class="card bg-primary-300 border-solid border-2 border-primary-500 shadow-md" data-popup="helpTarget">
35
- {#if helpItem && helpItem.id}
36
- <div class="p-5 w-96 space-y-4" id={"helpPopup." + helpItem.id}>
37
- <h3 class="h3">{ helpItem.name }</h3>
38
- <p>{@html helpItem.description }</p>
39
- {#if helpItem.link}
40
- <p><a class="anchor" href="{helpItem.link}">... read more</a></p>
41
- {/if}
42
- </div>
43
- {:else}
44
- <div class="p-5 w-96 space-y-4" id="helpPopup">
45
- <h3 class="h3">Help</h3>
46
- <p>Hover over the Element, you like to know more about.</p>
47
- </div>
48
- {/if}
49
- <div class="arrow variant-filled-primary" />
50
- </div>
51
- {/if}
52
-
29
+ </script>
30
+
31
+ {#if active}
32
+ <button
33
+ id="helpButton"
34
+ class="chip variant-filled-warning fixed bottom-5 right-10 shadow-md"
35
+ use:popup={helpClick}><Fa icon={faQuestion} /></button
36
+ >
37
+
38
+ <div
39
+ class="card bg-primary-300 border-solid border-2 border-primary-500 shadow-md"
40
+ data-popup="helpTarget"
41
+ >
42
+ {#if helpItem && helpItem.id}
43
+ <div class="p-5 w-96 space-y-4" id={'helpPopup.' + helpItem.id}>
44
+ <h3 class="h3">{helpItem.name}</h3>
45
+ <p>{@html helpItem.description}</p>
46
+ {#if helpItem.link}
47
+ <p><a class="anchor" href={helpItem.link}>... read more</a></p>
48
+ {/if}
49
+ </div>
50
+ {:else}
51
+ <div class="p-5 w-96 space-y-4" id="helpPopup">
52
+ <h3 class="h3">Help</h3>
53
+ <p>Hover over the Element, you like to know more about.</p>
54
+ </div>
55
+ {/if}
56
+ <div class="arrow variant-filled-primary" />
57
+ </div>
58
+ {/if}
@@ -1,15 +1,3 @@
1
- /** @typedef {typeof __propDef.props} HelpPopUpProps */
2
- /** @typedef {typeof __propDef.events} HelpPopUpEvents */
3
- /** @typedef {typeof __propDef.slots} HelpPopUpSlots */
4
- export default class HelpPopUp extends SvelteComponentTyped<{
5
- active?: boolean | undefined;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {}> {
9
- }
10
- export type HelpPopUpProps = typeof __propDef.props;
11
- export type HelpPopUpEvents = typeof __propDef.events;
12
- export type HelpPopUpSlots = typeof __propDef.slots;
13
1
  import { SvelteComponentTyped } from "svelte";
14
2
  declare const __propDef: {
15
3
  props: {
@@ -20,4 +8,9 @@ declare const __propDef: {
20
8
  };
21
9
  slots: {};
22
10
  };
11
+ export type HelpPopUpProps = typeof __propDef.props;
12
+ export type HelpPopUpEvents = typeof __propDef.events;
13
+ export type HelpPopUpSlots = typeof __propDef.slots;
14
+ export default class HelpPopUp extends SvelteComponentTyped<HelpPopUpProps, HelpPopUpEvents, HelpPopUpSlots> {
15
+ }
23
16
  export {};
@@ -1,6 +1,6 @@
1
1
  <script>import { onMount } from "svelte";
2
2
  import { pageContentLayoutType } from "../../models/Enums";
3
- import { AppShell, AppBar, Modal } from "@skeletonlabs/skeleton";
3
+ import { AppShell, AppBar } from "@skeletonlabs/skeleton";
4
4
  import Menu from "./menu/Menu.svelte";
5
5
  import Footer from "./Footer.svelte";
6
6
  import Header from "./Header.svelte";
@@ -24,69 +24,59 @@ onMount(async () => {
24
24
  breadcrumbStore.clean();
25
25
  breadcrumbStore.addItem({ label: title, link: window.location.pathname });
26
26
  });
27
- </script>
28
-
29
- <AppShell>
30
-
31
- <!--header-->
32
- <svelte:fragment slot="header">
33
-
34
- <AppBar padding="0" spacing="space-y-0" background="white">
35
- <svelte:fragment slot="headline">
36
- <Header/>
37
- {#if true}
38
- <Menu/>
39
- {/if}
40
-
41
- <div class="grid grid-cols-2">
42
- <Breadcrumb {title}/>
43
- <Docs {links} {note}/>
44
- </div>
45
- </svelte:fragment>
46
- </AppBar>
47
-
48
- </svelte:fragment>
49
-
50
-
51
- <svelte:fragment slot="footer">
52
- <Footer/>
53
- </svelte:fragment>
54
-
55
- <slot name="description" />
56
-
57
- <div class="flex flex-initial space-x-5">
58
-
59
- {#if $$slots.left}
60
- <div class="p-5 flex-shrink-0 w-96 w-min-96 border-y border-solid border-surface-500">
61
- <slot name="left" />
62
- </div>
63
- {/if}
64
-
65
- {#if contentLayoutType === pageContentLayoutType.center}
66
-
67
- <div class="flex justify-center w-screen ">
68
- <div class="max-w-7xl p-5 space-y-5 border-y border-solid border-surface-500">
69
- <slot/>
70
- </div>
71
- </div>
72
- {/if}
73
-
74
- {#if contentLayoutType === pageContentLayoutType.full}
75
- <div class="p-5 space-y-5 border-y border-solid border-surface-500 w-screen">
76
- <slot/>
77
- </div>
78
-
79
- {/if}
80
-
81
-
82
- {#if $$slots.right}
83
- <div class=" p-5 flex-shrink-0 w-96 border-y border-solid border-surface-500">
84
- <slot name="right"/>
85
- </div>
86
- {/if}
87
-
88
- </div>
89
-
90
- <HelpPopUp active={help}/>
91
-
92
- </AppShell>
27
+ </script>
28
+
29
+ <AppShell>
30
+ <!--header-->
31
+ <svelte:fragment slot="header">
32
+ <AppBar padding="0" spacing="space-y-0" background="white">
33
+ <svelte:fragment slot="headline">
34
+ <Header />
35
+ {#if true}
36
+ <Menu />
37
+ {/if}
38
+
39
+ <div class="grid grid-cols-2">
40
+ <Breadcrumb {title} />
41
+ <Docs {links} {note} />
42
+ </div>
43
+ </svelte:fragment>
44
+ </AppBar>
45
+ </svelte:fragment>
46
+
47
+ <svelte:fragment slot="footer">
48
+ <Footer />
49
+ </svelte:fragment>
50
+
51
+ <slot name="description" />
52
+
53
+ <div class="flex flex-initial space-x-5">
54
+ {#if $$slots.left}
55
+ <div class="p-5 flex-shrink-0 w-96 w-min-96 border-y border-solid border-surface-500">
56
+ <slot name="left" />
57
+ </div>
58
+ {/if}
59
+
60
+ {#if contentLayoutType === pageContentLayoutType.center}
61
+ <div class="flex justify-center w-screen">
62
+ <div class="max-w-7xl p-5 space-y-5 border-y border-solid border-surface-500">
63
+ <slot />
64
+ </div>
65
+ </div>
66
+ {/if}
67
+
68
+ {#if contentLayoutType === pageContentLayoutType.full}
69
+ <div class="p-5 space-y-5 border-y border-solid border-surface-500 w-screen">
70
+ <slot />
71
+ </div>
72
+ {/if}
73
+
74
+ {#if $$slots.right}
75
+ <div class=" p-5 flex-shrink-0 w-96 border-y border-solid border-surface-500">
76
+ <slot name="right" />
77
+ </div>
78
+ {/if}
79
+ </div>
80
+
81
+ <HelpPopUp active={help} />
82
+ </AppShell>
@@ -1,6 +1,6 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { linkType } from "../../models/Models";
3
- import { pageContentLayoutType } from "../../models/Enums";
2
+ import type { linkType } from '../../models/Models';
3
+ import { pageContentLayoutType } from '../../models/Enums';
4
4
  declare const __propDef: {
5
5
  props: {
6
6
  title?: string | undefined;
@@ -1,21 +1,19 @@
1
- import {Api} from "../../services/Api";
2
-
3
-
4
- export const getFooter = async () => {
5
- try {
6
- const response = await Api.get('/footer');
7
- return response.data;
8
- } catch (error) {
9
- console.error(error);
10
- }
11
- };
12
-
13
-
14
- export const getHeader = async () => {
15
- try {
16
- const response = await Api.get('/header');
17
- return response.data;
18
- } catch (error) {
19
- console.error(error);
20
- }
21
- };
1
+ import { Api } from '../../services/Api';
2
+
3
+ export const getFooter = async () => {
4
+ try {
5
+ const response = await Api.get('/footer');
6
+ return response.data;
7
+ } catch (error) {
8
+ console.error(error);
9
+ }
10
+ };
11
+
12
+ export const getHeader = async () => {
13
+ try {
14
+ const response = await Api.get('/header');
15
+ return response.data;
16
+ } catch (error) {
17
+ console.error(error);
18
+ }
19
+ };
@@ -5,15 +5,14 @@ export let position = positionType.center;
5
5
  </script>
6
6
 
7
7
  <div class="flex justify-{position} items-{position} h-full w-full gap-5 pt-2 {textCss}">
8
- <div
9
- class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite] "
10
- role="status"
11
- >
12
- <span
13
- class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
14
- >Loading...</span
8
+ <div
9
+ class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"
10
+ role="status"
15
11
  >
12
+ <span
13
+ class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
14
+ >Loading...</span
15
+ >
16
+ </div>
17
+ <span>{label}</span>
16
18
  </div>
17
- <span>{label}</span>
18
- </div>
19
-
@@ -1,5 +1,5 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import { positionType } from "../../models/Enums";
2
+ import { positionType } from '../../models/Enums';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  textCss?: string | undefined;
@@ -7,26 +7,22 @@ $:
7
7
  breadcrumbStore.subscribe((value) => {
8
8
  list = value?.items;
9
9
  });
10
- </script>
11
-
12
-
13
- <div class="px-5 py-2">
14
- <ol class="breadcrumb -p50">
15
-
16
- <!--default home-->
17
- <li class="crumb"><a class="anchor" href={"/"}>Home</a></li>
18
- <li class="crumb-separator" aria-hidden>&rsaquo;</li>
19
-
20
- {#each list as crumb, i}
21
- <!-- If crumb index is less than the breadcrumb length minus 1 -->
22
- {#if i < list.length - 1}
23
- <li class="crumb"><a class="anchor" href={crumb.link}>{crumb.label}</a></li>
24
- <li class="crumb-separator" aria-hidden>&rsaquo;</li>
25
- {:else}
26
- <li class="crumb">{crumb.label}</li>
27
- {/if}
28
- {/each}
29
- </ol>
30
- </div>
31
-
32
-
10
+ </script>
11
+
12
+ <div class="px-5 py-2">
13
+ <ol class="breadcrumb -p50">
14
+ <!--default home-->
15
+ <li class="crumb"><a class="anchor" href={'/'}>Home</a></li>
16
+ <li class="crumb-separator" aria-hidden>&rsaquo;</li>
17
+
18
+ {#each list as crumb, i}
19
+ <!-- If crumb index is less than the breadcrumb length minus 1 -->
20
+ {#if i < list.length - 1}
21
+ <li class="crumb"><a class="anchor" href={crumb.link}>{crumb.label}</a></li>
22
+ <li class="crumb-separator" aria-hidden>&rsaquo;</li>
23
+ {:else}
24
+ <li class="crumb">{crumb.label}</li>
25
+ {/if}
26
+ {/each}
27
+ </ol>
28
+ </div>