@bexis2/bexis2-core-ui 0.1.13 → 0.2.0

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 (77) hide show
  1. package/README.md +11 -5
  2. package/dist/components/file/FileUploader.svelte.d.ts +2 -2
  3. package/dist/components/form/CheckboxKvPList.svelte +3 -1
  4. package/dist/components/form/CheckboxKvPList.svelte.d.ts +2 -0
  5. package/dist/components/form/DateInput.svelte +2 -1
  6. package/dist/components/form/DateInput.svelte.d.ts +1 -0
  7. package/dist/components/form/DropdownKvP.svelte +2 -1
  8. package/dist/components/form/DropdownKvP.svelte.d.ts +2 -0
  9. package/dist/components/form/InputContainer.svelte +16 -2
  10. package/dist/components/form/InputContainer.svelte.d.ts +2 -0
  11. package/dist/components/form/MultiSelect.svelte +5 -3
  12. package/dist/components/form/MultiSelect.svelte.d.ts +2 -0
  13. package/dist/components/form/NumberInput.svelte +3 -1
  14. package/dist/components/form/NumberInput.svelte.d.ts +1 -0
  15. package/dist/components/form/TextArea.svelte +14 -13
  16. package/dist/components/form/TextArea.svelte.d.ts +1 -0
  17. package/dist/components/form/TextInput.svelte +4 -1
  18. package/dist/components/form/TextInput.svelte.d.ts +1 -0
  19. package/dist/components/page/Help.svelte +38 -0
  20. package/dist/components/page/Help.svelte.d.ts +23 -0
  21. package/dist/components/page/Page.svelte +43 -9
  22. package/dist/components/page/Page.svelte.d.ts +3 -2
  23. package/dist/components/page/Spinner.svelte +2 -2
  24. package/dist/components/page/Spinner.svelte.d.ts +2 -2
  25. package/dist/components/page/breadcrumb/Breadcrumb.svelte +32 -0
  26. package/dist/components/page/breadcrumb/Breadcrumb.svelte.d.ts +16 -0
  27. package/dist/components/page/menu/Menu.svelte +14 -12
  28. package/dist/components/page/menu/MenuBar.svelte +0 -1
  29. package/dist/components/page/menu/MenuItem.svelte +9 -14
  30. package/dist/components/page/menu/MenuItem.svelte.d.ts +0 -1
  31. package/dist/components/page/menu/MenuSublist.svelte +35 -0
  32. package/dist/components/page/menu/MenuSublist.svelte.d.ts +18 -0
  33. package/dist/components/page/menu/SettingsBar.svelte +14 -32
  34. package/dist/index.d.ts +3 -3
  35. package/dist/index.js +2 -2
  36. package/dist/models/Enums.d.ts +1 -1
  37. package/dist/models/Enums.js +6 -6
  38. package/dist/models/Models.d.ts +20 -10
  39. package/dist/models/Models.js +1 -0
  40. package/dist/models/Page.js +16 -0
  41. package/dist/services/Api.js +1 -1
  42. package/dist/services/BaseCaller.d.ts +1 -0
  43. package/dist/services/BaseCaller.js +12 -0
  44. package/dist/stores/pageStores.d.ts +25 -0
  45. package/dist/stores/pageStores.js +112 -0
  46. package/package.json +1 -1
  47. package/src/lib/components/file/FileUploader.svelte +4 -4
  48. package/src/lib/components/form/CheckboxKvPList.svelte +3 -1
  49. package/src/lib/components/form/DateInput.svelte +3 -1
  50. package/src/lib/components/form/DropdownKvP.svelte +2 -1
  51. package/src/lib/components/form/InputContainer.svelte +26 -1
  52. package/src/lib/components/form/MultiSelect.svelte +5 -3
  53. package/src/lib/components/form/NumberInput.svelte +5 -1
  54. package/src/lib/components/form/TextArea.svelte +27 -25
  55. package/src/lib/components/form/TextInput.svelte +4 -2
  56. package/src/lib/components/page/Help.svelte +43 -0
  57. package/src/lib/components/page/Page.svelte +58 -10
  58. package/src/lib/components/page/Spinner.svelte +2 -2
  59. package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +43 -0
  60. package/src/lib/components/page/menu/Menu.svelte +18 -16
  61. package/src/lib/components/page/menu/MenuBar.svelte +1 -1
  62. package/src/lib/components/page/menu/MenuItem.svelte +15 -15
  63. package/src/lib/components/page/menu/MenuSublist.svelte +48 -0
  64. package/src/lib/components/page/menu/SettingsBar.svelte +39 -60
  65. package/src/lib/index.ts +8 -8
  66. package/src/lib/models/Enums.ts +1 -1
  67. package/src/lib/models/Models.ts +23 -10
  68. package/src/lib/models/Page.ts +41 -0
  69. package/src/lib/services/Api.ts +1 -1
  70. package/src/lib/services/BaseCaller.js +12 -0
  71. package/src/lib/stores/pageStores.ts +135 -0
  72. package/dist/components/page/menu/menu.d.ts +0 -21
  73. package/dist/components/page/menu/menu.js +0 -1
  74. package/src/lib/components/page/menu/menu.ts +0 -23
  75. /package/dist/stores/{apistore.d.ts → apiStores.d.ts} +0 -0
  76. /package/dist/stores/{apistore.js → apiStores.js} +0 -0
  77. /package/src/lib/stores/{apistore.ts → apiStores.ts} +0 -0
@@ -1,25 +1,27 @@
1
- <script lang="ts">
2
- import InputContainer from './InputContainer.svelte';
3
-
4
- export let id: string = '';
5
- export let label: string = '';
6
- export let value: string = '';
7
-
8
- export let valid: boolean = false;
9
- export let invalid: boolean = false;
10
- export let required: boolean = false;
11
- export let feedback: string[] = [''];
12
- export let placeholder: string = "";
13
- </script>
14
-
15
- <InputContainer {label} {feedback} {required}>
16
- <textarea
17
- {id}
18
- class="textarea variant-form-material"
19
- class:input-success={valid}
20
- class:input-error={invalid}
21
- bind:value
22
- on:input
23
- {placeholder}
24
- />
25
- </InputContainer>
1
+ <script lang="ts">
2
+ import InputContainer from './InputContainer.svelte';
3
+
4
+ export let id: string = '';
5
+ export let label: string = '';
6
+ export let value: string = '';
7
+
8
+ export let valid: boolean = false;
9
+ export let invalid: boolean = false;
10
+ export let required: boolean = false;
11
+ export let feedback: string[] = [''];
12
+ export let placeholder: string = "";
13
+ export let help:boolean=false;
14
+
15
+ </script>
16
+
17
+ <InputContainer {id} {label} {feedback} {required} {help}>
18
+ <textarea
19
+ {id}
20
+ class="textarea variant-form-material"
21
+ class:input-success={valid}
22
+ class:input-error={invalid}
23
+ bind:value
24
+ on:input
25
+ {placeholder}
26
+ />
27
+ </InputContainer>
@@ -4,16 +4,18 @@
4
4
  export let id: string = '';
5
5
  export let label: string = '';
6
6
  export let value: string = '';
7
-
8
7
  export let valid: boolean = false;
9
8
  export let invalid: boolean = false;
10
9
  export let required: boolean = false;
11
10
  export let feedback: string[] = [''];
12
11
  export let placeholder: string ="";
12
+ export let help:boolean=false;
13
13
 
14
14
  </script>
15
15
 
16
- <InputContainer {label} {feedback} {required}>
16
+
17
+
18
+ <InputContainer {id} {label} {feedback} {required} {help}>
17
19
  <input
18
20
  {id}
19
21
  class="input variant-form-material"
@@ -0,0 +1,43 @@
1
+ <script lang=ts>
2
+ import { helpStore } from '$store/pageStores'
3
+ import type { helpItemType, helpStoreType } from "$models/Models";
4
+
5
+ let Value:helpStoreType;
6
+ $:helpStore.subscribe(value => {
7
+ Value = value;
8
+ });
9
+ let helpItem:helpItemType;
10
+ $:helpItem = getHelpItem(Value);
11
+
12
+ function getHelpItem(value:helpStoreType):helpItemType
13
+ {
14
+ if(value != undefined && value.helpItems != undefined && value.itemId != undefined)
15
+ {
16
+ return (value.itemId == "") ? {id:undefined,name:'',description:''}:value.helpItems.find(h => h.id === value.itemId)!;
17
+ }
18
+ return {id:undefined,name:'',description:''};
19
+ }
20
+ window.origin
21
+
22
+ </script>
23
+ {#if helpItem && helpItem.id}
24
+ <div class="p-5 w-96 space-y-4" id={helpItem.id}>
25
+ <h3 class="h3">{ helpItem.name }</h3>
26
+ <p>{@html helpItem.description }</p>
27
+ {#if helpItem.link}
28
+ <p><a href="{helpItem.link}">... read more</a></p>
29
+ {/if}
30
+ </div>
31
+ {:else}
32
+ <div class="p-5 w-96 space-y-4">
33
+ <h3 class="h3">Help</h3>
34
+ <div class="space-y-4">
35
+ <div class="grid grid-cols-3 gap-8">
36
+ <div class="placeholder animate-pulse" />
37
+ <div class="placeholder animate-pulse" />
38
+ <div class="placeholder animate-pulse" />
39
+ </div>
40
+ <div class="placeholder w-28 animate-pulse" />
41
+ </div>
42
+ </div>
43
+ {/if}
@@ -1,29 +1,65 @@
1
1
  <script lang="ts">
2
+ import {onMount} from 'svelte'
2
3
 
3
- import type { Link } from "$lib/models/Models";
4
+ import type { linkType } from "$lib/models/Models";
4
5
 
6
+ // ui components
5
7
  import Menu from './menu/Menu.svelte'
8
+ import Help from "./Help.svelte";
9
+ import Breadcrumb from './breadcrumb/Breadcrumb.svelte';
10
+
11
+ //popup
12
+ import { popup } from '@skeletonlabs/skeleton';
13
+ import type { PopupSettings } from '@skeletonlabs/skeleton';
14
+ import { computePosition, autoUpdate, offset, shift, flip, arrow } from '@floating-ui/dom';
15
+ import { storePopup } from '@skeletonlabs/skeleton';
16
+ import { breadcrumbStore } from '$store/pageStores';
17
+
18
+ storePopup.set({ computePosition, autoUpdate, offset, shift, flip, arrow });
19
+
20
+ import { AppShell } from '@skeletonlabs/skeleton';
21
+
22
+ // stores
23
+ import { helpStore } from '$store/pageStores';
6
24
 
7
25
  export let title = "";
8
26
  export let note = "";
9
- export let links:Link[]=[];
27
+ export let links:linkType[]=[];
10
28
 
11
29
  // active or hide menu
12
30
  export let menu:boolean = true;
13
31
  export let footer:boolean = true;
32
+ export let help:boolean = false;
33
+
34
+ onMount(async () => {
35
+ console.log("on mount page ")
36
+ breadcrumbStore.clean();
37
+ breadcrumbStore.addItem({label:title,link:window.location.pathname})
14
38
 
15
- </script>
39
+ // clean help when is not active
40
+ //if(!help){ helpStore.clear() }
41
+ });
42
+
43
+ //popup
44
+ const popupClick: PopupSettings = {
45
+ event: 'click',
46
+ target: 'popupClick',
47
+ placement: 'top'
48
+ };
16
49
 
17
- {#if menu}
50
+ </script>
51
+
52
+ {#if true}
18
53
  <Menu/>
19
54
  {/if}
55
+ <Breadcrumb {title}/>
20
56
 
21
57
  <div class="px-5 grid gap-5 content-center" >
22
58
 
23
- <h3 class="h3">{title}</h3>
59
+ <!-- <h3 class="h3">{title}</h3>
24
60
  {#if note}
25
61
  <blockquote class="blockquote">{note}</blockquote>
26
- {/if}
62
+ {/if} -->
27
63
 
28
64
  <slot name="description" />
29
65
 
@@ -46,16 +82,28 @@
46
82
  {/if}
47
83
  <slot/>
48
84
  </div>
49
- {#if $$slots.right}
50
- <div class="w-fixed w-full max-w-min flex-shrink flex-grow-0 px-2">
51
- <slot name="right" />
85
+ {#if $$slots.right || help}
86
+ <div class="w-fixed w-full max-w-min flex-shrink flex-grow-0 px-2" class:w-96:={help}>
87
+ <!--if help is active show Help-->
88
+ <!--if help is active and slot is set -->
89
+ <!-- help is deactiveated -->
90
+ <slot name="right"/>
91
+
52
92
  </div>
53
93
  {/if}
54
94
 
95
+
55
96
  </div>
56
97
  </div>
57
98
 
58
-
99
+ {#if help}
100
+ <button class="btn btn-sm variant-filled-warning fixed bottom-5 right-10" use:popup={popupClick}>?</button>
101
+
102
+ <div class="card p-4 variant-filled-primary" data-popup="popupClick">
103
+ <Help />
104
+ <div class="arrow variant-filled-primary" />
105
+ </div>
106
+ {/if}
59
107
 
60
108
 
61
109
  {#if menu}
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">
2
- import { Position } from "$lib/models/Enums";
2
+ import { positionType } from "$lib/models/Enums";
3
3
 
4
4
  export let textCss = "text-secundary-500"
5
5
  export let label = "";
6
- export let position:Position = Position.start
6
+ export let position:positionType = positionType.start;
7
7
 
8
8
  </script>
9
9
 
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+
3
+ import { breadcrumbStore } from '$store/pageStores';
4
+ import type{ breadcrumbItemType } from '$models/Page';
5
+
6
+
7
+ export let title;
8
+
9
+
10
+ let list:breadcrumbItemType[] = [];
11
+ $:list;
12
+
13
+ $:breadcrumbStore.subscribe(value => {
14
+
15
+ list = value?.items;
16
+
17
+ });
18
+
19
+
20
+
21
+ </script>
22
+
23
+
24
+ <div class="px-5 py-2">
25
+ <ol class="breadcrumb -p50">
26
+
27
+ <!--default home-->
28
+ <li class="crumb"><a class="anchor" href={"/"}>Home</a></li>
29
+ <li class="crumb-separator" aria-hidden>&rsaquo;</li>
30
+
31
+ {#each list as crumb, i}
32
+ <!-- If crumb index is less than the breadcrumb length minus 1 -->
33
+ {#if i < list.length - 1}
34
+ <li class="crumb"><a class="anchor" href={crumb.link}>{crumb.label}</a></li>
35
+ <li class="crumb-separator" aria-hidden>&rsaquo;</li>
36
+ {:else}
37
+ <li class="crumb">{crumb.label}</li>
38
+ {/if}
39
+ {/each}
40
+ </ol>
41
+ </div>
42
+
43
+
@@ -1,24 +1,27 @@
1
1
  <script lang="ts">
2
- //
3
- import Fa from 'svelte-fa/src/fa.svelte'
4
- import { faCog } from '@fortawesome/free-solid-svg-icons'
5
2
 
6
3
  import { onMount } from 'svelte';
7
-
4
+ import { get } from 'svelte/store';
8
5
  import { getMenuItems} from './MenuDataCaller';
6
+ import { menuStore } from '$store/pageStores';
9
7
 
10
- import type { Menu } from "./menu";
8
+ import type { MenuModel } from "$models/Page";
11
9
 
12
10
  import MenuBar from './MenuBar.svelte';
13
11
  import SettingsBar from './SettingsBar.svelte';
14
12
 
15
- let menu:Menu;
13
+ let menu:MenuModel;
16
14
 
15
+
17
16
  onMount(async () => {
18
17
 
19
- menu = await getMenuItems();
20
- console.log(menu);
21
-
18
+ menu = get(menuStore);
19
+ if(menu === undefined)
20
+ {
21
+ menu = await getMenuItems();
22
+ menuStore.set(menu);
23
+ //console.log("menu loaded",menu);
24
+ }
22
25
  })
23
26
 
24
27
 
@@ -28,7 +31,8 @@
28
31
 
29
32
  {#if menu}
30
33
 
31
- <div class="flex flex-row md:flex px-3 py-2">
34
+ <div class="flex flex-row md:flex px-3 py-2 bg-tertiary-50 text-surface-800 z-50 shadow-md">
35
+
32
36
  <div class="basis-8">
33
37
  {#if menu.Logo}
34
38
  <img src='data:{menu.Logo.Mime};charset=utf-8;base64, {menu.Logo.Data}' alt='{menu.Logo.Name}' style='height:40px;' />
@@ -37,16 +41,14 @@
37
41
 
38
42
 
39
43
  <div class="flex items-center md:space-x-5 px-3 text-lg justify-start">
40
-
41
44
  <MenuBar menuBar={menu.MenuBar} />
42
45
  <MenuBar menuBar={menu.Extended} />
43
46
  </div>
44
47
  <div class="flex-auto w-64 flex items-left md:space-x-3 justify-end">
45
- <MenuBar menuBar={menu.AccountBar} />
46
- <MenuBar menuBar={menu.LaunchBar} />
47
- <SettingsBar menuBar={menu.Settings} />
48
-
49
- </div>
48
+ <MenuBar menuBar={menu.AccountBar} />
49
+ <MenuBar menuBar={menu.LaunchBar} />
50
+ <SettingsBar menuBar={menu.Settings} />
51
+ </div>
50
52
 
51
53
  </div>
52
54
 
@@ -15,7 +15,7 @@
15
15
  let radomNumber = Math.floor(Math.random() * 100);
16
16
 
17
17
 
18
- console.log(menuBar);
18
+
19
19
  </script>
20
20
 
21
21
 
@@ -1,18 +1,24 @@
1
1
  <script lang="ts">
2
2
  import { popup } from '@skeletonlabs/skeleton';
3
- import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
4
3
 
4
+ //uicomponents
5
+ import MenuSublist from './MenuSublist.svelte';
6
+
7
+ //types
5
8
  import type { PopupSettings } from '@skeletonlabs/skeleton';
6
- import type { MenuItem } from "./menu";
9
+ import type { MenuItem } from "$models/Page";
10
+
11
+ import { goTo } from '$services/BaseCaller';
12
+
7
13
 
8
14
  export let menubarItem:MenuItem;
9
15
  export let comboboxValue;
10
16
 
11
- let radomNumber = Math.floor(Math.random() * 100).toString();
17
+ let id = Math.floor(Math.random() * 100).toString();
12
18
 
13
19
  let popupCombobox: PopupSettings = {
14
20
  event: 'click',
15
- target: radomNumber,
21
+ target: id,
16
22
  placement: 'bottom',
17
23
  // Close the popup when the item is clicked
18
24
  closeQuery: '.listbox-item'
@@ -21,24 +27,18 @@ closeQuery: '.listbox-item'
21
27
  </script>
22
28
  {#if menubarItem.Items.length<1}
23
29
 
24
- <button class="flex items-center gap-x-1 text-xl font-semibold leading-6 text-gray-500" use:popup={popupCombobox}>
30
+ <button use:popup={popupCombobox} on:click={()=> goTo(menubarItem.Url)}>
25
31
  <span class="capitalize">{comboboxValue ?? menubarItem.Title}</span>
26
-
27
32
  </button>
28
33
 
29
34
  {:else}
30
- <button class="flex items-center gap-x-1 text-xl font-semibold leading-6 text-gray-00" use:popup={popupCombobox}>
35
+
36
+
37
+ <button class="flex items-center gap-x-1 " use:popup={popupCombobox}>
31
38
  <span class="capitalize">{menubarItem.Title}</span>
32
39
  <div class="before:content-['▾']"></div>
33
40
  </button>
34
- <div class="card w-48 shadow-xl py-2" data-popup={radomNumber}>
35
-
36
- <ListBox rounded="rounded-none">
37
- {#each menubarItem.Items as item}
38
41
 
39
- <ListBoxItem class="bg-white text-gray-900 py-1 text-sm" bind:group={item.Title} name="medium" value={item.Title}><a class="bg-white text-gray-900 py-1 text-sm" href={item.Url}>{item.Title}</a></ListBoxItem>
40
- {/each}
41
- </ListBox>
42
- </div>
42
+ <MenuSublist {id} items={menubarItem.Items} />
43
43
 
44
44
  {/if}
@@ -0,0 +1,48 @@
1
+ <script lang="ts">
2
+ import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
3
+ import type { MenuItem } from "./menu";
4
+ import { goTo } from '$services/BaseCaller';
5
+
6
+ export let id;
7
+ export let items:MenuItem[];
8
+
9
+
10
+ let lastModule = "";
11
+ let first = true;
12
+
13
+ // store last module
14
+ function isNewModule(module)
15
+ {
16
+ if(module === lastModule ){
17
+ return false;
18
+ }
19
+ else
20
+ {
21
+ lastModule = module;
22
+ if(first)
23
+ {
24
+ first = false;
25
+ return false;
26
+ }
27
+
28
+ return true;
29
+ }
30
+ }
31
+
32
+ </script>
33
+
34
+ <div class="z-50 w-max" data-popup={id}>
35
+ <ListBox class="bg-white border-solid border border-surface-500">
36
+ {#each items as item}
37
+ {#if isNewModule(item.Module) }<hr class="text-surface-800">{/if}
38
+ <ListBoxItem class="bg-white text-sm text-surface-800 py-1 hover:bg-surface-100 hover:text-secondary-500"
39
+ bind:group={item.Title}
40
+ name="medium"
41
+ value={item.Title}
42
+ on:click={()=> goTo(item.Url)}
43
+ >
44
+ {item.Title}
45
+ </ListBoxItem>
46
+ {/each}
47
+ </ListBox>
48
+ </div>
@@ -1,61 +1,40 @@
1
1
  <script lang="ts">
2
- import { popup } from '@skeletonlabs/skeleton';
3
- import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
4
-
5
- import type { PopupSettings } from '@skeletonlabs/skeleton';
6
- import type { MenuItem } from "./menu";
7
- import Fa from 'svelte-fa/src/fa.svelte'
8
- import { faCog } from '@fortawesome/free-solid-svg-icons'
9
-
10
- export let menuBar:MenuItem [];
11
-
12
-
13
- let lastModule = "";
14
- let first = true;
15
-
16
- function isNewModule(module)
17
- {
18
- if(module === lastModule ){
19
- return false;
20
- }
21
- else
22
- {
23
- lastModule = module;
24
- if(first)
25
- {
26
- first = false;
27
- return false;
28
- }
29
-
30
- return true;
31
- }
32
- }
33
-
34
- let popupCombobox: PopupSettings = {
35
- event: 'click',
36
- target: 'popupCombobox',
37
- placement: 'bottom',
38
- // Close the popup when the item is clicked
39
- closeQuery: '.listbox-item'
40
- };
41
-
42
- </script>
43
-
44
- {#if menuBar}
45
- <button class="flex items-center gap-x-1 text-sm font-semibold leading-6 text-gray-900" use:popup={popupCombobox}>
46
- <span class="capitalize"><Fa icon={faCog} /></span>
47
-
48
- </button>
49
- <div class="card w-48 shadow-xl py-2" data-popup="popupCombobox">
50
- <ListBox rounded="rounded-none bg-white">
51
- {#each menuBar as menubarItem}
52
- {#if isNewModule(menubarItem.Module) }<hr class="bg-gray-900">{/if}
53
- <ListBoxItem class="bg-white text-gray-900 py-1" href="{menubarItem.Url}" bind:group={menubarItem.Title} name="medium" value={menubarItem.Title}><a href={menubarItem.Url}>{menubarItem.Title}</a></ListBoxItem>
54
-
55
-
56
-
57
- {/each}
58
- </ListBox>
59
- </div>
60
- {/if}
61
-
2
+ import { popup } from '@skeletonlabs/skeleton';
3
+ import { ListBox, ListBoxItem } from '@skeletonlabs/skeleton';
4
+
5
+ import type { PopupSettings } from '@skeletonlabs/skeleton';
6
+ import type { MenuItem } from "./menu";
7
+ import Fa from 'svelte-fa/src/fa.svelte'
8
+ import { faCog } from '@fortawesome/free-solid-svg-icons'
9
+
10
+ import { goTo } from '$services/BaseCaller';
11
+
12
+ export let menuBar:MenuItem [];
13
+ //uicomponents
14
+ import MenuSublist from './MenuSublist.svelte';
15
+
16
+
17
+
18
+
19
+ let popupCombobox: PopupSettings = {
20
+ event: 'click',
21
+ target: 'settings',
22
+ placement: 'bottom',
23
+ // Close the popup when the item is clicked
24
+ closeQuery: '.listbox-item'
25
+ };
26
+
27
+ </script>
28
+
29
+ {#if menuBar}
30
+ <button class="flex items-center gap-x-1 text-sm text-surface-800" use:popup={popupCombobox}>
31
+ <span class="capitalize"><Fa icon={faCog} /></span>
32
+
33
+ </button>
34
+
35
+ <MenuSublist id="settings" items={menuBar} />
36
+
37
+
38
+ {/if}
39
+
40
+
package/src/lib/index.ts CHANGED
@@ -48,20 +48,20 @@ export { ListView, TableView, Spinner, Page, Alert };
48
48
 
49
49
  //Api
50
50
  export { Api } from './services/Api.js';
51
- export { host, username, password, setApiConfig } from './stores/apistore.js';
51
+ export { host, username, password, setApiConfig } from './stores/apiStores.ts';
52
52
 
53
53
  //Type
54
54
  export type {
55
55
  user,
56
- Input,
57
- FileUploaderModel,
58
- Link,
59
- ListItem,
60
- KvP
61
- } from './models/Models.js';
56
+ inputType,
57
+ fileUploaderModel,
58
+ linkType,
59
+ listItemType,
60
+ keyValuePairType
61
+ } from './models/Models.ts';
62
62
 
63
63
  //enum
64
- export { Position } from './models/Enums';
64
+ export { positionType } from './models/Enums';
65
65
 
66
66
  // Table
67
67
  export { Table, TableFilter, columnFilter, searchFilter };
@@ -1,5 +1,5 @@
1
1
 
2
- export enum Position {
2
+ export enum positionType {
3
3
  start = "start",
4
4
  end = "end",
5
5
  center = "center"