@enki-tek/fms-web-components 0.0.38 → 0.0.40

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 (43) hide show
  1. package/components/Alert/Alert.svelte +1 -2
  2. package/components/Alert/Alert.svelte.d.ts +0 -1
  3. package/components/Button/Button.svelte.d.ts +2 -2
  4. package/components/Button/ButtonFilter.svelte.d.ts +2 -2
  5. package/components/Card/Card.svelte.d.ts +2 -2
  6. package/components/CheckBox/Checkbox.svelte.d.ts +2 -2
  7. package/components/EnkiSidbar/EnkiSidebar.svelte +23 -9
  8. package/components/EnkiSidbar/EnkiSidebar.svelte.d.ts +4 -2
  9. package/components/EnkiSidbar/NavIcon.svelte +1 -0
  10. package/components/EnkiSidbar/{NavIteam.svelte → NavItem.svelte} +1 -0
  11. package/components/EnkiSidbar/NavItem.svelte.d.ts +27 -0
  12. package/components/EnkiSidbar/NavLink.svelte +1 -0
  13. package/components/EnkiSidbar/Sidebar.scss +1 -0
  14. package/components/EnkiTable/EnkiTable.svelte +1 -0
  15. package/components/EnkiTable/EnkiTable.svelte.d.ts +2 -2
  16. package/components/EnkiTable/Table.scss +1 -2
  17. package/components/EnkiTable/TableBody.svelte +1 -0
  18. package/components/EnkiTable/TableCell.svelte +1 -0
  19. package/components/EnkiTable/TableHead.svelte +1 -0
  20. package/components/EnkiTable/TableHeadCell.svelte +1 -0
  21. package/components/EnkiTable/TableRow.svelte +1 -0
  22. package/components/Switches/Switch.svelte.d.ts +2 -2
  23. package/components/i18n/ShiftLanguage.svelte +34 -0
  24. package/components/i18n/ShiftLanguage.svelte.d.ts +23 -0
  25. package/components/i18n/i18n.d.ts +1 -0
  26. package/components/i18n/i18n.js +47 -0
  27. package/components/lay-out/Footer.svelte +17 -2
  28. package/components/lay-out/Footer.svelte.d.ts +6 -2
  29. package/components/lay-out/LayOut.svelte +36 -6
  30. package/components/lay-out/LayOut.svelte.d.ts +23 -6
  31. package/components/lay-out/MainMenuHead.svelte +15 -0
  32. package/components/lay-out/MainMenuHead.svelte.d.ts +27 -0
  33. package/components/lay-out/Page.svelte +21 -0
  34. package/components/lay-out/Page.svelte.d.ts +31 -0
  35. package/components/lay-out/menuStore.d.ts +15 -0
  36. package/components/lay-out/menuStore.js +90 -0
  37. package/components/textField/TextField.svelte.d.ts +2 -2
  38. package/index.d.ts +10 -3
  39. package/index.js +10 -3
  40. package/package.json +7 -3
  41. package/components/EnkiSidbar/NavIteam.svelte.d.ts +0 -27
  42. package/components/lay-out/LayOut.spec.d.ts +0 -1
  43. package/components/lay-out/LayOut.spec.js +0 -10
@@ -1,11 +1,10 @@
1
1
  <script>import { Alert } from "sveltestrap";
2
2
  export let color = "info";
3
- export let message = "I am an alert and I can be dismissed!";
4
3
  </script>
5
4
 
6
5
  <Alert class={`alert-${color}`} dismissible>
7
6
  <slot />
8
- {message}
7
+
9
8
  </Alert>
10
9
 
11
10
 
@@ -2,7 +2,6 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  color?: "info" | "success" | "danger" | "warning" | undefined;
5
- message?: string | undefined;
6
5
  };
7
6
  events: {
8
7
  [evt: string]: CustomEvent<any>;
@@ -3,6 +3,7 @@
3
3
  /** @typedef {typeof __propDef.slots} ButtonSlots */
4
4
  export default class Button extends SvelteComponentTyped<{
5
5
  className: any;
6
+ size?: string | undefined;
6
7
  disabled?: boolean | undefined;
7
8
  type?: string | undefined;
8
9
  label?: string | undefined;
@@ -14,7 +15,6 @@ export default class Button extends SvelteComponentTyped<{
14
15
  } | undefined;
15
16
  shade?: string | undefined;
16
17
  outlineShade?: string | undefined;
17
- size?: string | undefined;
18
18
  }, {
19
19
  click: MouseEvent;
20
20
  focus: FocusEvent;
@@ -32,6 +32,7 @@ import { SvelteComponentTyped } from "svelte";
32
32
  declare const __propDef: {
33
33
  props: {
34
34
  className: any;
35
+ size?: string | undefined;
35
36
  disabled?: boolean | undefined;
36
37
  type?: string | undefined;
37
38
  label?: string | undefined;
@@ -43,7 +44,6 @@ declare const __propDef: {
43
44
  } | undefined;
44
45
  shade?: string | undefined;
45
46
  outlineShade?: string | undefined;
46
- size?: string | undefined;
47
47
  };
48
48
  events: {
49
49
  click: MouseEvent;
@@ -3,9 +3,9 @@
3
3
  /** @typedef {typeof __propDef.slots} ButtonFilterSlots */
4
4
  export default class ButtonFilter extends SvelteComponentTyped<{
5
5
  className: any;
6
- label?: string | undefined;
7
6
  size?: string | undefined;
8
7
  isOpen?: boolean | undefined;
8
+ label?: string | undefined;
9
9
  }, {
10
10
  click: MouseEvent;
11
11
  focus: FocusEvent;
@@ -22,9 +22,9 @@ import { SvelteComponentTyped } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  className: any;
25
- label?: string | undefined;
26
25
  size?: string | undefined;
27
26
  isOpen?: boolean | undefined;
27
+ label?: string | undefined;
28
28
  };
29
29
  events: {
30
30
  click: MouseEvent;
@@ -2,10 +2,10 @@
2
2
  /** @typedef {typeof __propDef.events} CardEvents */
3
3
  /** @typedef {typeof __propDef.slots} CardSlots */
4
4
  export default class Card extends SvelteComponentTyped<{
5
+ link?: string | undefined;
5
6
  text?: string | undefined;
6
7
  title?: string | undefined;
7
8
  subTitle?: string | undefined;
8
- link?: string | undefined;
9
9
  image?: string | undefined;
10
10
  width?: string | undefined;
11
11
  linkName1?: string | undefined;
@@ -27,10 +27,10 @@ export type CardSlots = typeof __propDef.slots;
27
27
  import { SvelteComponentTyped } from "svelte";
28
28
  declare const __propDef: {
29
29
  props: {
30
+ link?: string | undefined;
30
31
  text?: string | undefined;
31
32
  title?: string | undefined;
32
33
  subTitle?: string | undefined;
33
- link?: string | undefined;
34
34
  image?: string | undefined;
35
35
  width?: string | undefined;
36
36
  linkName1?: string | undefined;
@@ -7,8 +7,8 @@ export default class Checkbox extends SvelteComponentTyped<{
7
7
  feedback: any;
8
8
  disable: any;
9
9
  enable: any;
10
- label?: string | undefined;
11
10
  size?: string | undefined;
11
+ label?: string | undefined;
12
12
  name?: string | undefined;
13
13
  value?: string | undefined;
14
14
  }, {
@@ -26,8 +26,8 @@ declare const __propDef: {
26
26
  feedback: any;
27
27
  disable: any;
28
28
  enable: any;
29
- label?: string | undefined;
30
29
  size?: string | undefined;
30
+ label?: string | undefined;
31
31
  name?: string | undefined;
32
32
  value?: string | undefined;
33
33
  };
@@ -1,10 +1,15 @@
1
1
  <script>
2
2
  import { Offcanvas } from 'sveltestrap';
3
3
  import Icon from '../Icon/Icon.svelte';
4
- export let companyName = 'Vertfarm';
5
- export let isOpen = false;
4
+ export let companyName = 'ENKITEK';
5
+ export let isOpen = true;
6
6
  export let backdrop = false;
7
- export let toggle ;
7
+ import { menuTypeStore } from '../lay-out/menuStore.js';
8
+
9
+
10
+ const setState = () =>{
11
+ menuTypeStore.set($menuTypeStore ? '': 'show');
12
+ }
8
13
  </script>
9
14
 
10
15
  <div class="container-fluid">
@@ -15,7 +20,7 @@
15
20
  <div class="icon-sidebar-content">
16
21
  <div class="upper-div">
17
22
  <div class="icon-btn">
18
- <button class="toggle-button" type="button" on:click={() => (isOpen = true)} >
23
+ <button class="toggle-button" type="button" on:click={() => {setState();isOpen = true;}}>
19
24
  <Icon iconName="chevron-double-right" />
20
25
  </button>
21
26
  </div>
@@ -28,15 +33,23 @@
28
33
  </div>
29
34
  <!-- Offcanvas menu -->
30
35
  <div class="sidebar-menu">
31
- <Offcanvas class="offcanvas offcanvas-start" scroll {isOpen} backdrop={backdrop} >
36
+ <Offcanvas class="offcanvas offcanvas-start" scroll {isOpen} {backdrop}>
32
37
  <div class="offcanvas-header">
33
- <h5 class="offcanvas-title efs-small" id="offcanvasScrollingLabel">{companyName}</h5>
38
+ <h5 class="offcanvas-title efs-small" id="offcanvasScrollingLabel">
39
+ <slot>
40
+ {#if companyName}
41
+ {companyName}
42
+ {:else}
43
+ <slot name="company-name"/>
44
+ {/if}
45
+ </slot>
46
+ </h5>
34
47
  <button
35
48
  type="button"
36
49
  class="toggle-button"
37
50
  data-bs-dismiss="offcanvas"
38
51
  aria-label="Close"
39
- on:click={() => (isOpen = false)}
52
+ on:click={() => {setState();isOpen = false;}}
40
53
  >
41
54
  <span class="material-icons">
42
55
  <Icon iconName="chevron-double-left" />
@@ -44,9 +57,9 @@
44
57
  </button>
45
58
  </div>
46
59
  <div class="line-open" />
47
- <slot name="nav-item"/>
60
+ <slot name="nav-item" />
48
61
  </Offcanvas>
49
- </div>
62
+ </div>
50
63
  </div>
51
64
  </div>
52
65
 
@@ -126,6 +139,7 @@
126
139
  }
127
140
  .offcanvas-header {
128
141
  padding: 1.5rem 1.5rem;
142
+ display: flex;
129
143
  }
130
144
  .line-open {
131
145
  width: 274px;
@@ -2,7 +2,6 @@
2
2
  /** @typedef {typeof __propDef.events} EnkiSidebarEvents */
3
3
  /** @typedef {typeof __propDef.slots} EnkiSidebarSlots */
4
4
  export default class EnkiSidebar extends SvelteComponentTyped<{
5
- toggle: any;
6
5
  isOpen?: boolean | undefined;
7
6
  backdrop?: boolean | undefined;
8
7
  companyName?: string | undefined;
@@ -10,6 +9,8 @@ export default class EnkiSidebar extends SvelteComponentTyped<{
10
9
  [evt: string]: CustomEvent<any>;
11
10
  }, {
12
11
  'nav-icons': {};
12
+ default: {};
13
+ 'company-name': {};
13
14
  'nav-item': {};
14
15
  }> {
15
16
  }
@@ -19,7 +20,6 @@ export type EnkiSidebarSlots = typeof __propDef.slots;
19
20
  import { SvelteComponentTyped } from "svelte";
20
21
  declare const __propDef: {
21
22
  props: {
22
- toggle: any;
23
23
  isOpen?: boolean | undefined;
24
24
  backdrop?: boolean | undefined;
25
25
  companyName?: string | undefined;
@@ -29,6 +29,8 @@ declare const __propDef: {
29
29
  };
30
30
  slots: {
31
31
  'nav-icons': {};
32
+ default: {};
33
+ 'company-name': {};
32
34
  'nav-item': {};
33
35
  };
34
36
  };
@@ -78,6 +78,7 @@
78
78
  }
79
79
  .offcanvas-header {
80
80
  padding: 1.5rem 1.5rem;
81
+ display: flex;
81
82
  }
82
83
  .line-open {
83
84
  width: 274px;
@@ -80,6 +80,7 @@
80
80
  }
81
81
  .offcanvas-header {
82
82
  padding: 1.5rem 1.5rem;
83
+ display: flex;
83
84
  }
84
85
  .line-open {
85
86
  width: 274px;
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} NavItemProps */
2
+ /** @typedef {typeof __propDef.events} NavItemEvents */
3
+ /** @typedef {typeof __propDef.slots} NavItemSlots */
4
+ export default class NavItem extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type NavItemProps = typeof __propDef.props;
13
+ export type NavItemEvents = typeof __propDef.events;
14
+ export type NavItemSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ [x: string]: never;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {
24
+ default: {};
25
+ };
26
+ };
27
+ export {};
@@ -88,6 +88,7 @@
88
88
  }
89
89
  .offcanvas-header {
90
90
  padding: 1.5rem 1.5rem;
91
+ display: flex;
91
92
  }
92
93
  .line-open {
93
94
  width: 274px;
@@ -119,6 +119,7 @@
119
119
 
120
120
  .offcanvas-header {
121
121
  padding: 1.5rem 1.5rem;
122
+ display: flex;
122
123
  }
123
124
 
124
125
  .line-open {
@@ -35,4 +35,5 @@
35
35
  width: 12.5rem;
36
36
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
37
37
  font-weight: 400;
38
+ vertical-align: middle;
38
39
  }</style>
@@ -2,8 +2,8 @@
2
2
  /** @typedef {typeof __propDef.events} EnkiTableEvents */
3
3
  /** @typedef {typeof __propDef.slots} EnkiTableSlots */
4
4
  export default class EnkiTable extends SvelteComponentTyped<{
5
- type?: string | undefined;
6
5
  size?: string | undefined;
6
+ type?: string | undefined;
7
7
  className?: string | undefined;
8
8
  }, {
9
9
  [evt: string]: CustomEvent<any>;
@@ -17,8 +17,8 @@ export type EnkiTableSlots = typeof __propDef.slots;
17
17
  import { SvelteComponentTyped } from "svelte";
18
18
  declare const __propDef: {
19
19
  props: {
20
- type?: string | undefined;
21
20
  size?: string | undefined;
21
+ type?: string | undefined;
22
22
  className?: string | undefined;
23
23
  };
24
24
  events: {
@@ -13,11 +13,10 @@
13
13
  font-size: 17px;
14
14
  }
15
15
 
16
-
17
-
18
16
  .td-div {
19
17
  width: 12.5rem;
20
18
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
21
19
  @extend %common-fonts;
22
20
  font-weight: 400;
21
+ vertical-align: middle;
23
22
  }
@@ -23,4 +23,5 @@
23
23
  width: 12.5rem;
24
24
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
25
25
  font-weight: 400;
26
+ vertical-align: middle;
26
27
  }</style>
@@ -25,4 +25,5 @@ let tdStyles = ['td-div', className]
25
25
  width: 12.5rem;
26
26
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
27
27
  font-weight: 400;
28
+ vertical-align: middle;
28
29
  }</style>
@@ -22,4 +22,5 @@
22
22
  width: 12.5rem;
23
23
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
24
24
  font-weight: 400;
25
+ vertical-align: middle;
25
26
  }</style>
@@ -25,4 +25,5 @@
25
25
  width: 12.5rem;
26
26
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
27
27
  font-weight: 400;
28
+ vertical-align: middle;
28
29
  }</style>
@@ -23,4 +23,5 @@
23
23
  width: 12.5rem;
24
24
  padding: 0.5rem 0.5rem 0.5625rem 0.5rem;
25
25
  font-weight: 400;
26
+ vertical-align: middle;
26
27
  }</style>
@@ -4,8 +4,8 @@
4
4
  export default class Switch extends SvelteComponentTyped<{
5
5
  disable: any;
6
6
  enable: any;
7
- label?: string | undefined;
8
7
  size?: string | undefined;
8
+ label?: string | undefined;
9
9
  }, {
10
10
  [evt: string]: CustomEvent<any>;
11
11
  }, {}> {
@@ -18,8 +18,8 @@ declare const __propDef: {
18
18
  props: {
19
19
  disable: any;
20
20
  enable: any;
21
- label?: string | undefined;
22
21
  size?: string | undefined;
22
+ label?: string | undefined;
23
23
  };
24
24
  events: {
25
25
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,34 @@
1
+ <script>
2
+ import { locale, locales } from 'svelte-i18n';
3
+ import { Dropdown, DropdownToggle,DropdownMenu, DropdownItem } from "sveltestrap";
4
+
5
+ /**
6
+ * @type {import('$app/environment').browser}
7
+ */
8
+ const browser = !import.meta.env.SSR;
9
+ // import { browser } from '$app/environment';
10
+
11
+ /**
12
+ * @type {string | null | undefined}
13
+ */
14
+ let currLang;
15
+ if (browser) {
16
+ currLang = localStorage?.getItem("lang") || 'en';
17
+ }
18
+
19
+
20
+ function changeLang(lang='en'){
21
+ currLang = lang;
22
+ locale.set(currLang);
23
+ localStorage.setItem("lang",currLang);
24
+ }
25
+ </script>
26
+
27
+ <Dropdown class="change-lang" direction="up" size="sm">
28
+ <DropdownToggle caret >{currLang}</DropdownToggle>
29
+ <DropdownMenu>
30
+ {#each $locales as lng}
31
+ <DropdownItem on:click={() => changeLang(lng)}>{lng}</DropdownItem>
32
+ {/each}
33
+ </DropdownMenu>
34
+ </Dropdown>
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} ShiftLanguageProps */
2
+ /** @typedef {typeof __propDef.events} ShiftLanguageEvents */
3
+ /** @typedef {typeof __propDef.slots} ShiftLanguageSlots */
4
+ export default class ShiftLanguage extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type ShiftLanguageProps = typeof __propDef.props;
11
+ export type ShiftLanguageEvents = typeof __propDef.events;
12
+ export type ShiftLanguageSlots = typeof __propDef.slots;
13
+ import { SvelteComponentTyped } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ [x: string]: never;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -0,0 +1 @@
1
+ export function i18nInit(lnags?: any[]): void;
@@ -0,0 +1,47 @@
1
+ // @ts-nocheck
2
+
3
+ import { addMessages, init } from 'svelte-i18n';
4
+ // import { browser } from '$app/environment';
5
+
6
+ /**
7
+ * @type {import('$app/environment').browser}
8
+ */
9
+ const browser = !import.meta.env.SSR;
10
+
11
+ function i18nInit(lnags =[]){
12
+ lnags.map(lng =>{
13
+ addMessages(lng?.code, lng?.json);
14
+ });
15
+
16
+ let lang;
17
+ if(browser){
18
+ lang = localStorage.getItem("lang");
19
+ }
20
+
21
+ init({
22
+ fallbackLocale: 'en',
23
+ initialLocale: lang ?? 'en',
24
+ })
25
+
26
+
27
+ }
28
+ export {
29
+ i18nInit
30
+ }
31
+ // register('en', () => import('./en.json'));
32
+
33
+
34
+ // en, en-US and pt are not available yet
35
+
36
+
37
+
38
+ // dictionary.update(dict => {
39
+ // dict.en = {
40
+ // ...dict.en,
41
+ // Edit: 'asasass'
42
+ // // ...french messages
43
+ // }
44
+ // return dict
45
+ // })
46
+
47
+
@@ -1,6 +1,21 @@
1
+ <script>
2
+ import ShiftLanguage from '../i18n/ShiftLanguage.svelte';
3
+
4
+ import { _ } from 'svelte-i18n';
5
+ </script>
6
+
1
7
  <footer class="main-footer p-10 d-flex flex-row align-items-center justify-content-between ">
2
8
  <div class="copy-right">
3
- All rights reserved
4
- <i class="ml-2 text-secondary ">Version 0.0.1</i>
9
+ {$_({id: 'Common.rightReserved', default: 'All rights reserved.'})}
10
+ <i class="ml-2 text-secondary ">{$_({id: 'Common.Version', default:'Version'})} 0.0.1</i>
5
11
  </div>
12
+ <div class="d-flex flex-row align-items-center justify-content-between">
13
+ <ShiftLanguage />
14
+ <slot />
15
+ </div>
16
+
6
17
  </footer>
18
+
19
+ <style>
20
+
21
+ </style>
@@ -5,7 +5,9 @@ export default class Footer extends SvelteComponentTyped<{
5
5
  [x: string]: never;
6
6
  }, {
7
7
  [evt: string]: CustomEvent<any>;
8
- }, {}> {
8
+ }, {
9
+ default: {};
10
+ }> {
9
11
  }
10
12
  export type FooterProps = typeof __propDef.props;
11
13
  export type FooterEvents = typeof __propDef.events;
@@ -18,6 +20,8 @@ declare const __propDef: {
18
20
  events: {
19
21
  [evt: string]: CustomEvent<any>;
20
22
  };
21
- slots: {};
23
+ slots: {
24
+ default: {};
25
+ };
22
26
  };
23
27
  export {};
@@ -1,13 +1,43 @@
1
- <script>import Footer from "./Footer.svelte";
1
+ <script>
2
+ import Footer from './Footer.svelte';
3
+ import { derivedStore, menuTypeStore, mediaListener } from './menuStore';
4
+
5
+ /**
6
+ * @type {import('$app/environment').browser}
7
+ */
8
+ const browser = !import.meta.env.SSR;
9
+
10
+
11
+ if(!mediaListener?.matches){
12
+ menuTypeStore.set('show');
13
+ }
14
+
2
15
  </script>
3
16
 
4
- <section >
17
+ <section class={`sidebar-mini ${$derivedStore?.css?.wrapper}`} >
5
18
  <div class="wrapper">
6
- <div class="content-wrapper">
7
- <slot />
19
+ <div class="content-wrapper">
20
+ <slot name="menu" />
21
+ {#if $$slots.content}
22
+ <div style="transition: margin-left 0.3s ease-in-out; margin-left: {$derivedStore?.isWeb && $derivedStore?.marginLeft}px">
23
+ <slot name="content" />
24
+ </div>
25
+ {:else}
26
+ <slot />
27
+ {/if}
8
28
  </div>
9
- <div>
10
- <Footer />
29
+ <div style="transition: margin-left 0.3s ease-in-out; margin-left: {$derivedStore?.isWeb && $derivedStore?.marginLeft}px">
30
+ <Footer>
31
+ {#if $$slots.footer}
32
+ <slot name="footer" />
33
+ {/if}
34
+ </Footer>
11
35
  </div>
12
36
  </div>
13
37
  </section>
38
+
39
+ <style>
40
+ .content-wrapper {
41
+ min-height: calc(100vh - 3.4em);
42
+ }
43
+ </style>
@@ -1,16 +1,33 @@
1
+ /** @typedef {typeof __propDef.props} LayOutProps */
2
+ /** @typedef {typeof __propDef.events} LayOutEvents */
3
+ /** @typedef {typeof __propDef.slots} LayOutSlots */
4
+ export default class LayOut extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ menu: {};
10
+ content: {};
11
+ default: {};
12
+ footer: {};
13
+ }> {
14
+ }
15
+ export type LayOutProps = typeof __propDef.props;
16
+ export type LayOutEvents = typeof __propDef.events;
17
+ export type LayOutSlots = typeof __propDef.slots;
1
18
  import { SvelteComponentTyped } from "svelte";
2
19
  declare const __propDef: {
3
- props: Record<string, never>;
20
+ props: {
21
+ [x: string]: never;
22
+ };
4
23
  events: {
5
24
  [evt: string]: CustomEvent<any>;
6
25
  };
7
26
  slots: {
27
+ menu: {};
28
+ content: {};
8
29
  default: {};
30
+ footer: {};
9
31
  };
10
32
  };
11
- export type LayOutProps = typeof __propDef.props;
12
- export type LayOutEvents = typeof __propDef.events;
13
- export type LayOutSlots = typeof __propDef.slots;
14
- export default class LayOut extends SvelteComponentTyped<LayOutProps, LayOutEvents, LayOutSlots> {
15
- }
16
33
  export {};
@@ -0,0 +1,15 @@
1
+ <script>
2
+
3
+ import { Button } from "sveltestrap";
4
+ import { derivedStore, menuTypeStore } from "./menuStore";
5
+ const setState = () =>{
6
+ menuTypeStore.set('');
7
+ }
8
+
9
+ </script>
10
+ <div class="logo">
11
+ <div><slot></slot></div>
12
+ {#if !$derivedStore?.isWeb}
13
+ <div > <Button color="light" on:click={setState}>x</Button></div>
14
+ {/if}
15
+ </div>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} MainMenuHeadProps */
2
+ /** @typedef {typeof __propDef.events} MainMenuHeadEvents */
3
+ /** @typedef {typeof __propDef.slots} MainMenuHeadSlots */
4
+ export default class MainMenuHead extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type MainMenuHeadProps = typeof __propDef.props;
13
+ export type MainMenuHeadEvents = typeof __propDef.events;
14
+ export type MainMenuHeadSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ [x: string]: never;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {
24
+ default: {};
25
+ };
26
+ };
27
+ export {};
@@ -0,0 +1,21 @@
1
+ <script>
2
+ import { Col, Row } from 'sveltestrap';
3
+ </script>
4
+
5
+ <section>
6
+ <div class="container-fluid mb-2">
7
+ <Row class="border-bottom py-1">
8
+ <Col>
9
+ <header>
10
+ <div class="d-flex flex-row justify-content-start">
11
+ <slot name="title" />
12
+ </div>
13
+ </header>
14
+ </Col>
15
+ <Col class="mt-1">
16
+ <slot name="actions" />
17
+ </Col>
18
+ </Row>
19
+ </div>
20
+ </section>
21
+ <slot name="content" />
@@ -0,0 +1,31 @@
1
+ /** @typedef {typeof __propDef.props} PageProps */
2
+ /** @typedef {typeof __propDef.events} PageEvents */
3
+ /** @typedef {typeof __propDef.slots} PageSlots */
4
+ export default class Page extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ title: {};
10
+ actions: {};
11
+ content: {};
12
+ }> {
13
+ }
14
+ export type PageProps = typeof __propDef.props;
15
+ export type PageEvents = typeof __propDef.events;
16
+ export type PageSlots = typeof __propDef.slots;
17
+ import { SvelteComponentTyped } from "svelte";
18
+ declare const __propDef: {
19
+ props: {
20
+ [x: string]: never;
21
+ };
22
+ events: {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {
26
+ title: {};
27
+ actions: {};
28
+ content: {};
29
+ };
30
+ };
31
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @type { import("svelte/store").Writable<(string | null)> }
3
+ */
4
+ export const menuTypeStore: import("svelte/store").Writable<(string | null)>;
5
+ export const mediaListener: MediaQueryList | null;
6
+ export const smallMenuwidth: 74;
7
+ export const fullMenuwidth: 265;
8
+ export const derivedStore: import("svelte/store").Readable<{
9
+ width: number;
10
+ marginLeft: number;
11
+ isWeb: boolean;
12
+ css?: {
13
+ wrapper: string;
14
+ } | undefined;
15
+ } | null>;
@@ -0,0 +1,90 @@
1
+ import { writable, derived } from 'svelte/store';
2
+ // import { browser } from '$app/environment';
3
+
4
+
5
+ /**
6
+ * @type {import('$app/environment').browser}
7
+ */
8
+ const browser = !import.meta.env.SSR;
9
+
10
+ /**
11
+ * @type {{ web: { full:{ width: number, marginLeft: number, isWeb: Boolean ,css?: { wrapper: string} }, mini:{ width: number, marginLeft: number,isWeb: Boolean, css?: { wrapper: string} } },
12
+ * mobile: { full:{ width: number, marginLeft: number, isWeb: Boolean, css?: { wrapper: string} }, mini:{ width: number, marginLeft: number, isWeb: Boolean, css?: { wrapper: string} } } } | null}
13
+ */
14
+ const menuConfig = {
15
+ web:{
16
+ full:{
17
+ width: 300,
18
+ marginLeft: 300,
19
+ isWeb: true,
20
+ css:{
21
+ wrapper: 'web-full'
22
+ }
23
+ },
24
+ mini:{
25
+ width: 100,
26
+ marginLeft: 100,
27
+ isWeb: true,
28
+ css:{
29
+ wrapper: 'web-mini'
30
+ }
31
+ }
32
+ },
33
+ mobile:{
34
+ full:{
35
+ width: 265,
36
+ marginLeft: 265,
37
+ isWeb: false,
38
+ css:{
39
+ wrapper: 'mobile-full'
40
+ }
41
+ },
42
+ mini:{
43
+ width: 0,
44
+ marginLeft: 0,
45
+ isWeb: false,
46
+ css:{
47
+ wrapper: 'mobile-mini'
48
+ }
49
+ }
50
+ }
51
+ } ;
52
+ /**
53
+ * @type { import("svelte/store").Writable<(string | null)> }
54
+ */
55
+ export const menuTypeStore = writable(null);
56
+ export const mediaListener = browser ? window.matchMedia("(max-width: 767px)") : null;
57
+ export const smallMenuwidth = 74;
58
+ export const fullMenuwidth = 265;
59
+ export const derivedStore = derived(
60
+ menuTypeStore,
61
+ ($values) => {
62
+ let result = null;
63
+ if($values?.trim().length){
64
+
65
+ if(browser){
66
+
67
+ const mediaListener = isMobile();
68
+
69
+ if(mediaListener?.matches){
70
+ result= menuConfig['mobile']?.full;
71
+ }else{
72
+ result = menuConfig['web']?.full;
73
+ }
74
+ }
75
+ }else{
76
+ if(browser){
77
+ const mediaListener = isMobile();
78
+ if(mediaListener?.matches){
79
+ result= menuConfig['mobile']?.mini;
80
+ }else{
81
+ result = $values === null ? menuConfig['web']?.full : menuConfig['web']?.mini;
82
+ }
83
+ }
84
+ }
85
+ return result;
86
+ }
87
+ );
88
+
89
+ const isMobile = () => window.matchMedia("(max-width: 767px)");
90
+
@@ -4,10 +4,10 @@
4
4
  export default class TextField extends SvelteComponentTyped<{
5
5
  className: any;
6
6
  feedback: any;
7
+ size?: string | undefined;
7
8
  disabled?: boolean | undefined;
8
9
  invalid?: boolean | undefined;
9
10
  type?: string | undefined;
10
- size?: string | undefined;
11
11
  name?: string | undefined;
12
12
  placeholder?: string | undefined;
13
13
  value?: string | undefined;
@@ -29,10 +29,10 @@ declare const __propDef: {
29
29
  props: {
30
30
  className: any;
31
31
  feedback: any;
32
+ size?: string | undefined;
32
33
  disabled?: boolean | undefined;
33
34
  invalid?: boolean | undefined;
34
35
  type?: string | undefined;
35
- size?: string | undefined;
36
36
  name?: string | undefined;
37
37
  placeholder?: string | undefined;
38
38
  value?: string | undefined;
package/index.d.ts CHANGED
@@ -42,8 +42,15 @@ import CardBody from './components/EnkiCard/CardBody.svelte';
42
42
  import CardFooter from './components/EnkiCard/CardFooter.svelte';
43
43
  import CardLink from './components/EnkiCard/CardLink.svelte';
44
44
  import EnkiSidebar from './components/EnkiSidbar/EnkiSidebar.svelte';
45
- import NavItem from './components/EnkiSidbar/NavIteam.svelte';
45
+ import NavItem from './components/EnkiSidbar/NavItem.svelte';
46
46
  import NavIcon from './components/EnkiSidbar/NavIcon.svelte';
47
47
  import NavLink from './components/EnkiSidbar/NavLink.svelte';
48
- export { Button, ButtonFilter, FilterOption, TextField, Card, Tooltip, Tab, Icon, Modal, ModalBody, ModalFooter, ModalHeader, Header, Dropdown, DropdownItem, Badge, Alert, Pagination, RadioButton, Accordion, AccordionItem, Switch, Checkbox, Breadcrumb, CardIcon, CardiconTitle, CardiconBody, CardiconSubtitle, EnkiTable, TableBody, TableCell, TableRow, TableHead, TableHeadCell, EnkiCard, CardBody, CardTitle, CardSubtitle, CardText, CardLink, CardFooter, EnkiSidebar, NavItem, NavIcon, NavLink, };
49
- export default Layout;
48
+ import Page from "./components/lay-out/Page.svelte";
49
+ import MainMenuHead from "./components/lay-out/MainMenuHead.svelte";
50
+ import Footer from "./components/lay-out/Footer.svelte";
51
+ import { i18nInit } from "./components/i18n/i18n";
52
+ import { menuTypeStore } from "./components/lay-out/menuStore.js";
53
+ import { derivedStore } from "./components/lay-out/menuStore.js";
54
+ import { smallMenuwidth } from "./components/lay-out/menuStore.js";
55
+ export { Button, ButtonFilter, FilterOption, TextField, Card, Tooltip, Tab, Icon, Modal, ModalBody, ModalFooter, ModalHeader, Header, Dropdown, DropdownItem, Badge, Alert, Pagination, RadioButton, Accordion, AccordionItem, Switch, Checkbox, Breadcrumb, CardIcon, CardiconTitle, CardiconBody, CardiconSubtitle, EnkiTable, TableBody, TableCell, TableRow, TableHead, TableHeadCell, EnkiCard, CardBody, CardTitle, CardSubtitle, CardText, CardLink, CardFooter, EnkiSidebar, NavItem, NavIcon, NavLink, Layout, Page, MainMenuHead, Footer, menuTypeStore, derivedStore, smallMenuwidth, };
56
+ export default i18nInit;
package/index.js CHANGED
@@ -43,8 +43,15 @@ import CardBody from './components/EnkiCard/CardBody.svelte';
43
43
  import CardFooter from './components/EnkiCard/CardFooter.svelte';
44
44
  import CardLink from './components/EnkiCard/CardLink.svelte';
45
45
  import EnkiSidebar from './components/EnkiSidbar/EnkiSidebar.svelte';
46
- import NavItem from './components/EnkiSidbar/NavIteam.svelte';
46
+ import NavItem from './components/EnkiSidbar/NavItem.svelte';
47
47
  import NavIcon from './components/EnkiSidbar/NavIcon.svelte';
48
48
  import NavLink from './components/EnkiSidbar/NavLink.svelte';
49
- export { Button, ButtonFilter, FilterOption, TextField, Card, Tooltip, Tab, Icon, Modal, ModalBody, ModalFooter, ModalHeader, Header, Dropdown, DropdownItem, Badge, Alert, Pagination, RadioButton, Accordion, AccordionItem, Switch, Checkbox, Breadcrumb, CardIcon, CardiconTitle, CardiconBody, CardiconSubtitle, EnkiTable, TableBody, TableCell, TableRow, TableHead, TableHeadCell, EnkiCard, CardBody, CardTitle, CardSubtitle, CardText, CardLink, CardFooter, EnkiSidebar, NavItem, NavIcon, NavLink, };
50
- export default Layout;
49
+ import Page from "./components/lay-out/Page.svelte";
50
+ import MainMenuHead from "./components/lay-out/MainMenuHead.svelte";
51
+ import Footer from "./components/lay-out/Footer.svelte";
52
+ import { i18nInit } from "./components/i18n/i18n";
53
+ import { menuTypeStore } from "./components/lay-out/menuStore.js";
54
+ import { derivedStore } from "./components/lay-out/menuStore.js";
55
+ import { smallMenuwidth } from "./components/lay-out/menuStore.js";
56
+ export { Button, ButtonFilter, FilterOption, TextField, Card, Tooltip, Tab, Icon, Modal, ModalBody, ModalFooter, ModalHeader, Header, Dropdown, DropdownItem, Badge, Alert, Pagination, RadioButton, Accordion, AccordionItem, Switch, Checkbox, Breadcrumb, CardIcon, CardiconTitle, CardiconBody, CardiconSubtitle, EnkiTable, TableBody, TableCell, TableRow, TableHead, TableHeadCell, EnkiCard, CardBody, CardTitle, CardSubtitle, CardText, CardLink, CardFooter, EnkiSidebar, NavItem, NavIcon, NavLink, Layout, Page, MainMenuHead, Footer, menuTypeStore, derivedStore, smallMenuwidth, };
57
+ export default i18nInit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enki-tek/fms-web-components",
3
- "version": "0.0.38",
3
+ "version": "0.0.40",
4
4
  "devDependencies": {
5
5
  "@storybook/addon-essentials": "^7.6.14",
6
6
  "@storybook/addon-interactions": "^7.6.14",
@@ -91,7 +91,7 @@
91
91
  "./components/EnkiCard/EnkiCard.svelte": "./components/EnkiCard/EnkiCard.svelte",
92
92
  "./components/EnkiSidbar/EnkiSidebar.svelte": "./components/EnkiSidbar/EnkiSidebar.svelte",
93
93
  "./components/EnkiSidbar/NavIcon.svelte": "./components/EnkiSidbar/NavIcon.svelte",
94
- "./components/EnkiSidbar/NavIteam.svelte": "./components/EnkiSidbar/NavIteam.svelte",
94
+ "./components/EnkiSidbar/NavItem.svelte": "./components/EnkiSidbar/NavItem.svelte",
95
95
  "./components/EnkiSidbar/NavLink.svelte": "./components/EnkiSidbar/NavLink.svelte",
96
96
  "./components/EnkiSidbar/Sidebar.scss": "./components/EnkiSidbar/Sidebar.scss",
97
97
  "./components/EnkiTable/EnkiTable.svelte": "./components/EnkiTable/EnkiTable.svelte",
@@ -135,10 +135,14 @@
135
135
  "./components/Tooltip/Tooltip.stories": "./components/Tooltip/Tooltip.stories.js",
136
136
  "./components/Tooltip/Tooltip.svelte": "./components/Tooltip/Tooltip.svelte",
137
137
  "./components/common.scss": "./components/common.scss",
138
+ "./components/i18n/ShiftLanguage.svelte": "./components/i18n/ShiftLanguage.svelte",
139
+ "./components/i18n/i18n": "./components/i18n/i18n.js",
138
140
  "./components/lay-out/Footer.svelte": "./components/lay-out/Footer.svelte",
139
- "./components/lay-out/LayOut.spec": "./components/lay-out/LayOut.spec.js",
140
141
  "./components/lay-out/LayOut.stories": "./components/lay-out/LayOut.stories.js",
141
142
  "./components/lay-out/LayOut.svelte": "./components/lay-out/LayOut.svelte",
143
+ "./components/lay-out/MainMenuHead.svelte": "./components/lay-out/MainMenuHead.svelte",
144
+ "./components/lay-out/Page.svelte": "./components/lay-out/Page.svelte",
145
+ "./components/lay-out/menuStore": "./components/lay-out/menuStore.js",
142
146
  "./components/textField/TextField.scss": "./components/textField/TextField.scss",
143
147
  "./components/textField/TextField.stories": "./components/textField/TextField.stories.js",
144
148
  "./components/textField/TextField.svelte": "./components/textField/TextField.svelte",
@@ -1,27 +0,0 @@
1
- /** @typedef {typeof __propDef.props} NavIteamProps */
2
- /** @typedef {typeof __propDef.events} NavIteamEvents */
3
- /** @typedef {typeof __propDef.slots} NavIteamSlots */
4
- export default class NavIteam extends SvelteComponentTyped<{
5
- [x: string]: never;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {
9
- default: {};
10
- }> {
11
- }
12
- export type NavIteamProps = typeof __propDef.props;
13
- export type NavIteamEvents = typeof __propDef.events;
14
- export type NavIteamSlots = typeof __propDef.slots;
15
- import { SvelteComponentTyped } from "svelte";
16
- declare const __propDef: {
17
- props: {
18
- [x: string]: never;
19
- };
20
- events: {
21
- [evt: string]: CustomEvent<any>;
22
- };
23
- slots: {
24
- default: {};
25
- };
26
- };
27
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import LayOut from "./LayOut.svelte";
2
- import { render, cleanup } from '@testing-library/svelte';
3
- beforeEach(cleanup);
4
- describe('LayOut', () => {
5
- test('should render correctly', () => {
6
- const { container } = render(LayOut);
7
- const component = container.querySelector('.wrapper');
8
- expect(component && component.className).toBe('wrapper');
9
- });
10
- });