@bexis2/bexis2-core-ui 0.4.88 → 0.4.90

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 (66) hide show
  1. package/README.md +8 -1
  2. package/dist/TableView.svelte.d.ts +2 -0
  3. package/dist/components/CodeEditor/CodeEditor.svelte.d.ts +4 -1
  4. package/dist/components/Facets/Facets.svelte.d.ts +2 -0
  5. package/dist/components/Facets/ShowMore.svelte.d.ts +2 -0
  6. package/dist/components/File/FileIcon.svelte.d.ts +2 -0
  7. package/dist/components/File/FileInfo.svelte.d.ts +2 -0
  8. package/dist/components/File/FileUploader.svelte.d.ts +2 -0
  9. package/dist/components/ListView.svelte.d.ts +2 -0
  10. package/dist/components/Table/ColumnsMenu.svelte.d.ts +2 -0
  11. package/dist/components/Table/Table.svelte.d.ts +2 -0
  12. package/dist/components/Table/TableContent.svelte.d.ts +2 -0
  13. package/dist/components/Table/TableFilter.svelte.d.ts +2 -0
  14. package/dist/components/Table/TableFilterServer.svelte.d.ts +2 -0
  15. package/dist/components/Table/TablePagination.svelte.d.ts +2 -0
  16. package/dist/components/Table/TablePaginationServer.svelte.d.ts +2 -0
  17. package/dist/components/form/Checkbox.svelte.d.ts +2 -0
  18. package/dist/components/form/CheckboxKvPList.svelte.d.ts +2 -0
  19. package/dist/components/form/CheckboxList.svelte.d.ts +2 -0
  20. package/dist/components/form/DateInput.svelte.d.ts +2 -0
  21. package/dist/components/form/DatePickerInput.svelte +48 -0
  22. package/dist/components/form/DatePickerInput.svelte.d.ts +34 -0
  23. package/dist/components/form/Dropdown.svelte.d.ts +4 -2
  24. package/dist/components/form/DropdownKvP.svelte.d.ts +4 -2
  25. package/dist/components/form/InputContainer.svelte +14 -2
  26. package/dist/components/form/InputContainer.svelte.d.ts +6 -0
  27. package/dist/components/form/MultiSelect.svelte +1 -1
  28. package/dist/components/form/MultiSelect.svelte.d.ts +12 -6
  29. package/dist/components/form/NumberInput.svelte.d.ts +2 -0
  30. package/dist/components/form/TextArea.svelte.d.ts +2 -0
  31. package/dist/components/form/TextInput.svelte.d.ts +2 -0
  32. package/dist/components/page/Alert.svelte.d.ts +2 -0
  33. package/dist/components/page/BackToTop.svelte.d.ts +2 -0
  34. package/dist/components/page/Docs.svelte.d.ts +2 -0
  35. package/dist/components/page/ErrorMessage.svelte.d.ts +2 -0
  36. package/dist/components/page/Footer.svelte.d.ts +2 -0
  37. package/dist/components/page/GoToTop.svelte.d.ts +2 -0
  38. package/dist/components/page/Header.svelte.d.ts +2 -0
  39. package/dist/components/page/HelpPopUp.svelte.d.ts +2 -0
  40. package/dist/components/page/Notification.svelte.d.ts +2 -0
  41. package/dist/components/page/Page.svelte.d.ts +2 -0
  42. package/dist/components/page/Spinner.svelte.d.ts +2 -0
  43. package/dist/components/page/TablePlaceholder.svelte.d.ts +2 -0
  44. package/dist/components/page/breadcrumb/Breadcrumb.svelte.d.ts +2 -0
  45. package/dist/components/page/menu/Menu.svelte +6 -2
  46. package/dist/components/page/menu/Menu.svelte.d.ts +2 -0
  47. package/dist/components/page/menu/MenuAccountBar.svelte.d.ts +2 -0
  48. package/dist/components/page/menu/MenuBar.svelte.d.ts +2 -0
  49. package/dist/components/page/menu/MenuItem.svelte.d.ts +2 -0
  50. package/dist/components/page/menu/MenuSublist.svelte.d.ts +2 -0
  51. package/dist/components/page/menu/SettingsBar.svelte.d.ts +2 -0
  52. package/dist/components/toggle/Toggle.svelte.d.ts +3 -1
  53. package/dist/css/themes/theme-bexis2.css_old +100 -0
  54. package/dist/index.d.ts +2 -1
  55. package/dist/index.js +2 -1
  56. package/dist/services/Api.d.ts +5 -5
  57. package/dist/themes/theme-bexis2 copy.d.ts +2 -0
  58. package/dist/themes/theme-bexis2 copy.js +112 -0
  59. package/package.json +2 -1
  60. package/src/lib/components/form/DatePickerInput.svelte +53 -0
  61. package/src/lib/components/form/InputContainer.svelte +19 -2
  62. package/src/lib/components/form/MultiSelect.svelte +1 -1
  63. package/src/lib/components/page/menu/Menu.svelte +9 -2
  64. package/src/lib/css/themes/theme-bexis2.css_old +100 -0
  65. package/src/lib/index.ts +3 -0
  66. package/src/lib/themes/theme-bexis2 copy.ts +114 -0
@@ -7,6 +7,8 @@ declare const __propDef: {
7
7
  [evt: string]: CustomEvent<any>;
8
8
  };
9
9
  slots: {};
10
+ exports?: {} | undefined;
11
+ bindings?: string | undefined;
10
12
  };
11
13
  export type BreadcrumbProps = typeof __propDef.props;
12
14
  export type BreadcrumbEvents = typeof __propDef.events;
@@ -15,6 +15,7 @@ onMount(async () => {
15
15
  const storedFontSize = localStorage.getItem("fontSize");
16
16
  if (storedFontSize) {
17
17
  document.documentElement.style.fontSize = storedFontSize;
18
+ document.documentElement.style.setProperty("--font-size", storedFontSize);
18
19
  }
19
20
  });
20
21
  let hamburger = true;
@@ -22,11 +23,13 @@ const theme = writable("light");
22
23
  function increaseFontSize() {
23
24
  const currentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
24
25
  document.documentElement.style.fontSize = currentFontSize + 1 + "px";
26
+ document.documentElement.style.setProperty("--font-size", document.documentElement.style.fontSize);
25
27
  localStorage.setItem("fontSize", document.documentElement.style.fontSize);
26
28
  }
27
29
  function decreaseFontSize() {
28
30
  const currentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
29
31
  document.documentElement.style.fontSize = currentFontSize - 1 + "px";
32
+ document.documentElement.style.setProperty("--font-size", document.documentElement.style.fontSize);
30
33
  localStorage.setItem("fontSize", document.documentElement.style.fontSize);
31
34
  }
32
35
  function toggleDarkMode() {
@@ -71,8 +74,7 @@ if (import.meta.env.DEV) {
71
74
  <Accordion>
72
75
  <div class="sm:flex w-full justify-between">
73
76
  <!-- <div class="sm:flex items-center sm:gap-5 px-1 text-lg justify-start gap-2 py-0"> -->
74
- <MenuBar menuBar={$menuStore.MenuBar} />
75
- <MenuBar menuBar={$menuStore.Extended} />
77
+
76
78
  <!-- </div> -->
77
79
  <!-- <div class="sm:flex items-center sm:gap-5 px-1 text-lg justify-end gap-2"> -->
78
80
  <div class="grid w-full sm:flex gap-2 justify-auto sm:justify-end">
@@ -143,6 +145,8 @@ if (import.meta.env.DEV) {
143
145
  {/if}
144
146
  {/if}
145
147
  </button>
148
+ <MenuBar menuBar={$menuStore.MenuBar} />
149
+ <MenuBar menuBar={$menuStore.Extended} />
146
150
  <SettingsBar menuBar={$menuStore.Settings} />
147
151
  <!-- </div> -->
148
152
 
@@ -5,6 +5,8 @@ declare const __propDef: {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  };
7
7
  slots: {};
8
+ exports?: {} | undefined;
9
+ bindings?: string | undefined;
8
10
  };
9
11
  export type MenuProps = typeof __propDef.props;
10
12
  export type MenuEvents = typeof __propDef.events;
@@ -8,6 +8,8 @@ declare const __propDef: {
8
8
  [evt: string]: CustomEvent<any>;
9
9
  };
10
10
  slots: {};
11
+ exports?: {} | undefined;
12
+ bindings?: string | undefined;
11
13
  };
12
14
  export type MenuAccountBarProps = typeof __propDef.props;
13
15
  export type MenuAccountBarEvents = typeof __propDef.events;
@@ -8,6 +8,8 @@ declare const __propDef: {
8
8
  [evt: string]: CustomEvent<any>;
9
9
  };
10
10
  slots: {};
11
+ exports?: {} | undefined;
12
+ bindings?: string | undefined;
11
13
  };
12
14
  export type MenuBarProps = typeof __propDef.props;
13
15
  export type MenuBarEvents = typeof __propDef.events;
@@ -9,6 +9,8 @@ declare const __propDef: {
9
9
  [evt: string]: CustomEvent<any>;
10
10
  };
11
11
  slots: {};
12
+ exports?: {} | undefined;
13
+ bindings?: string | undefined;
12
14
  };
13
15
  export type MenuItemProps = typeof __propDef.props;
14
16
  export type MenuItemEvents = typeof __propDef.events;
@@ -8,6 +8,8 @@ declare const __propDef: {
8
8
  [evt: string]: CustomEvent<any>;
9
9
  };
10
10
  slots: {};
11
+ exports?: {} | undefined;
12
+ bindings?: string | undefined;
11
13
  };
12
14
  export type MenuSublistProps = typeof __propDef.props;
13
15
  export type MenuSublistEvents = typeof __propDef.events;
@@ -8,6 +8,8 @@ declare const __propDef: {
8
8
  [evt: string]: CustomEvent<any>;
9
9
  };
10
10
  slots: {};
11
+ exports?: {} | undefined;
12
+ bindings?: string | undefined;
11
13
  };
12
14
  export type SettingsBarProps = typeof __propDef.props;
13
15
  export type SettingsBarEvents = typeof __propDef.events;
@@ -14,7 +14,7 @@ declare const __propDef: {
14
14
  rounded?: CssClasses | undefined;
15
15
  };
16
16
  events: {
17
- click: MouseEvent;
17
+ click: PointerEvent;
18
18
  keydown: KeyboardEvent;
19
19
  keyup: KeyboardEvent;
20
20
  keypress: KeyboardEvent;
@@ -22,6 +22,8 @@ declare const __propDef: {
22
22
  [evt: string]: CustomEvent<any>;
23
23
  };
24
24
  slots: {};
25
+ exports?: undefined;
26
+ bindings?: undefined;
25
27
  };
26
28
  export type ToggleProps = typeof __propDef.props;
27
29
  export type ToggleEvents = typeof __propDef.events;
@@ -0,0 +1,100 @@
1
+ [data-theme='bexis2theme'] {
2
+ /* =~= Theme Properties =~= */
3
+ --base-font-family: system-ui;
4
+ --base-font-color: var(--color-surface-900);
5
+ --base-font-color-dark: 255 255 255;
6
+ /*--theme-rounded-base: 4px;
7
+ --theme-rounded-container: 4px;
8
+ --theme-border-base: 1px;*/
9
+ --radius-base: 4px;
10
+ --radius-container: 4px;
11
+ --default-border-width: 1px;
12
+ --default-divide-width: 1px;
13
+ --default-ring-width: 1px;
14
+ /* =~= Theme On-X Colors =~= */
15
+ --on-primary: 255 255 255;
16
+ --on-secondary: 255 255 255;
17
+ --on-tertiary: 0 0 0;
18
+ --on-success: 255 255 255;
19
+ --on-warning: 255 255 255;
20
+ --on-error: 255 255 255;
21
+ --on-surface: 0 0 0;
22
+ /* =~= Theme Colors =~= */
23
+ /* primary | #45b2a1 */
24
+ --color-primary-50: #e3f3f1;
25
+ --color-primary-100: #daf0ec;
26
+ --color-primary-200: #d1ece8;
27
+ --color-primary-300: #b5e0d9;
28
+ --color-primary-400: #7dc9bd;
29
+ --color-primary-500: #45b2a1;
30
+ --color-primary-600: #3ea091;
31
+ --color-primary-700: #348679;
32
+ --color-primary-800: #296b61;
33
+ --color-primary-900: #22574f;
34
+ /* secondary | #ff9700 */
35
+ --color-secondary-50: #ffefd9;
36
+ --color-secondary-100: #ffeacc;
37
+ --color-secondary-200: #ffe5bf;
38
+ --color-secondary-300: #ffd599;
39
+ --color-secondary-400: #ffb64d;
40
+ --color-secondary-500: #ff9700;
41
+ --color-secondary-600: #e68800;
42
+ --color-secondary-700: #bf7100;
43
+ --color-secondary-800: #995b00;
44
+ --color-secondary-900: #7d4a00;
45
+ /* tertiary | #bee1da */
46
+ --color-tertiary-50: #f5fbf9;
47
+ --color-tertiary-100: #f2f9f8;
48
+ --color-tertiary-200: #eff8f6;
49
+ --color-tertiary-300: #e5f3f0;
50
+ --color-tertiary-400: #d2eae5;
51
+ --color-tertiary-500: #bee1da;
52
+ --color-tertiary-600: #abcbc4;
53
+ --color-tertiary-700: #8fa9a4;
54
+ --color-tertiary-800: #728783;
55
+ --color-tertiary-900: #5d6e6b;
56
+ /* success | #4BB543 */
57
+ --color-success-50: #e4f4e3;
58
+ --color-success-100: #dbf0d9;
59
+ --color-success-200: #d2edd0;
60
+ --color-success-300: #b7e1b4;
61
+ --color-success-400: #81cb7b;
62
+ --color-success-500: #4bb543;
63
+ --color-success-600: #44a33c;
64
+ --color-success-700: #388832;
65
+ --color-success-800: #2d6d28;
66
+ --color-success-900: #255921;
67
+ /* warning | #EAB308 */
68
+ --color-warning-50: #fcf4da;
69
+ --color-warning-100: #fbf0ce;
70
+ --color-warning-200: #faecc1;
71
+ --color-warning-300: #f7e19c;
72
+ --color-warning-400: #f0ca52;
73
+ --color-warning-500: #eab308;
74
+ --color-warning-600: #d3a107;
75
+ --color-warning-700: #b08606;
76
+ --color-warning-800: #8c6b05;
77
+ --color-warning-900: #735804;
78
+ /* error | #FF0000 */
79
+ --color-error-50: #ffd9d9;
80
+ --color-error-100: #ffcccc;
81
+ --color-error-200: #ffbfbf;
82
+ --color-error-300: #ff9999;
83
+ --color-error-400: #ff4d4d;
84
+ --color-error-500: #ff0000;
85
+ --color-error-600: #e60000;
86
+ --color-error-700: #bf0000;
87
+ --color-error-800: #990000;
88
+ --color-error-900: #7d0000;
89
+ /* surface | #c7c7c7 */
90
+ --color-surface-50: #f7f7f7;
91
+ --color-surface-100: #f4f4f4;
92
+ --color-surface-200: #f1f1f1;
93
+ --color-surface-300: #e9e9e9;
94
+ --color-surface-400: #d8d8d8;
95
+ --color-surface-500: #c7c7c7;
96
+ --color-surface-600: #b3b3b3;
97
+ --color-surface-700: #959595;
98
+ --color-surface-800: #777777;
99
+ --color-surface-900: #626262;
100
+ }
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ import Checkbox from './components/form/Checkbox.svelte';
10
10
  import CheckboxKVPList from './components/form/CheckboxKvPList.svelte';
11
11
  import CheckboxList from './components/form/CheckboxList.svelte';
12
12
  import DateInput from './components/form/DateInput.svelte';
13
+ import DatePickerInput from './components/form/DatePickerInput.svelte';
13
14
  import DropdownKVP from './components/form/DropdownKvP.svelte';
14
15
  import Dropdown from './components/form/Dropdown.svelte';
15
16
  import MultiSelect from './components/form/MultiSelect.svelte';
@@ -26,7 +27,7 @@ import CodeEditor from './components/CodeEditor/CodeEditor.svelte';
26
27
  import Notification from './components/page/Notification.svelte';
27
28
  import TablePlaceholder from './components/page/TablePlaceholder.svelte';
28
29
  import { bexis2theme } from './themes/theme-bexis2';
29
- export { Checkbox, CheckboxKVPList, CheckboxList, DateInput, DropdownKVP, Dropdown, MultiSelect, NumberInput, TextArea, TextInput };
30
+ export { Checkbox, CheckboxKVPList, CheckboxList, DateInput, DatePickerInput, DropdownKVP, Dropdown, MultiSelect, NumberInput, TextArea, TextInput };
30
31
  export { FileInfo, FileIcon, FileUploader };
31
32
  export { Spinner, Page, Alert, Menu, ErrorMessage };
32
33
  export { Api } from './services/Api.js';
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ import Checkbox from './components/form/Checkbox.svelte';
15
15
  import CheckboxKVPList from './components/form/CheckboxKvPList.svelte';
16
16
  import CheckboxList from './components/form/CheckboxList.svelte';
17
17
  import DateInput from './components/form/DateInput.svelte';
18
+ import DatePickerInput from './components/form/DatePickerInput.svelte';
18
19
  import DropdownKVP from './components/form/DropdownKvP.svelte';
19
20
  import Dropdown from './components/form/Dropdown.svelte';
20
21
  import MultiSelect from './components/form/MultiSelect.svelte';
@@ -36,7 +37,7 @@ import TablePlaceholder from './components/page/TablePlaceholder.svelte';
36
37
  // theme
37
38
  import { bexis2theme } from './themes/theme-bexis2';
38
39
  //Form
39
- export { Checkbox, CheckboxKVPList, CheckboxList, DateInput, DropdownKVP, Dropdown, MultiSelect, NumberInput, TextArea, TextInput };
40
+ export { Checkbox, CheckboxKVPList, CheckboxList, DateInput, DatePickerInput, DropdownKVP, Dropdown, MultiSelect, NumberInput, TextArea, TextInput };
40
41
  //File
41
42
  export { FileInfo, FileIcon, FileUploader };
42
43
  //others
@@ -1,7 +1,7 @@
1
1
  export declare const Api: {
2
- get: (url: any, request?: string, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any>>;
3
- delete: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any>>;
4
- post: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any>>;
5
- put: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any>>;
6
- patch: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any>>;
2
+ get: (url: any, request?: string, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any, {}>>;
3
+ delete: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any, {}>>;
4
+ post: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any, {}>>;
5
+ put: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any, {}>>;
6
+ patch: (url: any, request: any, headers?: {}, config?: {}) => Promise<import("axios").AxiosResponse<any, any, {}>>;
7
7
  };
@@ -0,0 +1,2 @@
1
+ import type { CustomThemeConfig } from '@skeletonlabs/tw-plugin';
2
+ export declare const bexis2theme: CustomThemeConfig;
@@ -0,0 +1,112 @@
1
+ export const bexis2theme = {
2
+ name: 'bexis2theme',
3
+ properties: {
4
+ // =~= Theme Properties =~=
5
+ '--theme-font-family-base': `system-ui`,
6
+ '--theme-font-family-heading': `system-ui`,
7
+ '--theme-font-color-base': 'var(--color-surface-900)',
8
+ '--theme-font-color-dark': '#ffffff',
9
+ '--theme-rounded-base': '4px',
10
+ '--theme-rounded-container': '4px',
11
+ '--theme-border-base': '1px',
12
+ // =~= Theme On-X Colors =~=
13
+ '--on-primary': '255 255 255',
14
+ '--on-secondary': '255 255 255',
15
+ '--on-tertiary': '0 0 0',
16
+ '--on-success': '255 255 255',
17
+ '--on-warning': '255 255 255',
18
+ '--on-error': '255 255 255',
19
+ '--on-surface': '255 255 255',
20
+ // =~= Theme Colors =~=
21
+ // primary | #45b2a1
22
+ '--color-primary-50': '#e3f3f1',
23
+ '--color-primary-100': '#daf0ec',
24
+ '--color-primary-200': '#d1ece8',
25
+ '--color-primary-300': '#b5e0d9',
26
+ '--color-primary-400': '#7dc9bd',
27
+ '--color-primary-500': '#45b2a1',
28
+ '--color-primary-600': '#3ea091',
29
+ '--color-primary-700': '#348679',
30
+ '--color-primary-800': '#296b61',
31
+ '--color-primary-900': '#22574f',
32
+ // secondary | #ff9700
33
+ '--color-secondary-50': '#ffefd9',
34
+ '--color-secondary-100': '#ffeacc',
35
+ '--color-secondary-200': '#ffe5bf',
36
+ '--color-secondary-300': '#ffd599',
37
+ '--color-secondary-400': '#ffb64d',
38
+ '--color-secondary-500': '#ff9700',
39
+ '--color-secondary-600': '#e68800',
40
+ '--color-secondary-700': '#bf7100',
41
+ '--color-secondary-800': '#995b00',
42
+ '--color-secondary-900': '#7d4a00',
43
+ // tertiary | #bee1da
44
+ '--color-tertiary-50': '#f5fbf9',
45
+ '--color-tertiary-100': '#f2f9f8',
46
+ '--color-tertiary-200': '#eff8f6',
47
+ '--color-tertiary-300': '#e5f3f0',
48
+ '--color-tertiary-400': '#d2eae5',
49
+ '--color-tertiary-500': '#bee1da',
50
+ '--color-tertiary-600': '#abcbc4',
51
+ '--color-tertiary-700': '#8fa9a4',
52
+ '--color-tertiary-800': '#728783',
53
+ '--color-tertiary-900': '#5d6e6b',
54
+ // success | #4BB543
55
+ '--color-success-50': '#e4f4e3',
56
+ '--color-success-100': '#dbf0d9',
57
+ '--color-success-200': '#d2edd0',
58
+ '--color-success-300': '#b7e1b4',
59
+ '--color-success-400': '#81cb7b',
60
+ '--color-success-500': '#4bb543',
61
+ '--color-success-600': '#44a33c',
62
+ '--color-success-700': '#388832',
63
+ '--color-success-800': '#2d6d28',
64
+ '--color-success-900': '#255921',
65
+ // warning | #EAB308
66
+ '--color-warning-50': '#fcf4da',
67
+ '--color-warning-100': '#fbf0ce',
68
+ '--color-warning-200': '#faecc1',
69
+ '--color-warning-300': '#f7e19c',
70
+ '--color-warning-400': '#f0ca52',
71
+ '--color-warning-500': '#eab308',
72
+ '--color-warning-600': '#d3a107',
73
+ '--color-warning-700': '#b08606',
74
+ '--color-warning-800': '#8c6b05',
75
+ '--color-warning-900': '#735804',
76
+ // error | #FF0000
77
+ '--color-error-50': '#ffd9d9',
78
+ '--color-error-100': '#ffcccc',
79
+ '--color-error-200': '#ffbfbf',
80
+ '--color-error-300': '#ff9999',
81
+ '--color-error-400': '#ff4d4d',
82
+ '--color-error-500': '#ff0000',
83
+ '--color-error-600': '#e60000',
84
+ '--color-error-700': '#bf0000',
85
+ '--color-error-800': '#990000',
86
+ '--color-error-900': '#7d0000',
87
+ // surface | #c7c7c7
88
+ '--color-surface-50': '#f7f7f7',
89
+ '--color-surface-100': '#f4f4f4',
90
+ '--color-surface-200': '#f1f1f1',
91
+ '--color-surface-300': '#e9e9e9',
92
+ '--color-surface-400': '#d8d8d8',
93
+ '--color-surface-500': '#c7c7c7',
94
+ '--color-surface-600': '#b3b3b3',
95
+ '--color-surface-700': '#959595',
96
+ '--color-surface-800': '#777777',
97
+ '--color-surface-900': '#626262'
98
+ },
99
+ properties_dark: {
100
+ // surface | #2e2e2e
101
+ '--color-surface-50': '#e0e0e0',
102
+ '--color-surface-100': '#d5d5d5',
103
+ '--color-surface-200': '#cbcbcb',
104
+ '--color-surface-300': '#ababab',
105
+ '--color-surface-400': '#6d6d6d',
106
+ '--color-surface-500': '#2e2e2e',
107
+ '--color-surface-600': '#292929',
108
+ '--color-surface-700': '#232323',
109
+ '--color-surface-800': '#1c1c1c',
110
+ '--color-surface-900': '#171717'
111
+ }
112
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bexis2/bexis2-core-ui",
3
- "version": "0.4.88",
3
+ "version": "0.4.90",
4
4
  "private": false,
5
5
  "description": "Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).",
6
6
  "keywords": [
@@ -81,6 +81,7 @@
81
81
  "svelte-fa": "^4.0.2",
82
82
  "svelte-file-dropzone": "^2.0.7",
83
83
  "svelte-headless-table": "^0.18.2",
84
+ "svelty-picker": "^5.2.12",
84
85
  "svelte-select": "5.8.3",
85
86
  "vest": "^5.4.0"
86
87
  },
@@ -0,0 +1,53 @@
1
+ <script lang="ts">
2
+ import InputContainer from './InputContainer.svelte';
3
+ import SveltyPicker from 'svelty-picker';
4
+
5
+ export let id: string = '';
6
+ export let label: string = '';
7
+ export let value: string = '';
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
+ export let disabled: boolean = false;
15
+ export let description: string = '';
16
+ export let showDescription: boolean = false;
17
+ export let mode: 'date' | 'time' | 'datetime' = 'date';
18
+ export let initialDate: string = '';
19
+ export let format: string = 'yyyy-mm-dd';
20
+ export let displayFormat: string = 'yyyy-mm-dd';
21
+ export let onChangeHandler: (event: CustomEvent) => void = () => {};
22
+
23
+ let width = 'w-32';
24
+
25
+ if (mode !== 'date' && mode !== 'time' && mode !== 'datetime') {
26
+ throw new Error(`Invalid mode: ${mode}. Valid modes are 'date', 'time', and 'datetime'.`);
27
+ }
28
+
29
+ if (mode === 'datetime' && (format === 'yyyy-mm-dd' || displayFormat === 'yyyy-mm-dd')) {
30
+ throw new Error(
31
+ `Invalid format for datetime mode. Please use a format that includes both date and time.`
32
+ );
33
+ }
34
+
35
+ if (mode === 'datetime') {
36
+ width = 'w-64';
37
+ }
38
+ </script>
39
+
40
+ <InputContainer {id} {label} {feedback} {required} {help} {description} {showDescription}>
41
+ <SveltyPicker
42
+ {mode}
43
+ name={label}
44
+ {format}
45
+ {displayFormat}
46
+ {initialDate}
47
+ bind:value
48
+ inputClasses="input variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400 {width}"
49
+ on:change={onChangeHandler}
50
+ {disabled}
51
+ {placeholder}
52
+ />
53
+ </InputContainer>
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ import { createEventDispatcher } from 'svelte';
2
3
  import { helpStore } from '$store/pageStores';
3
4
  import Fa from 'svelte-fa';
4
5
  import { faQuestion } from '@fortawesome/free-solid-svg-icons';
@@ -10,14 +11,30 @@
10
11
  export let help: boolean = false;
11
12
  export let description : string = '';
12
13
  export let showDescription: boolean = false;
14
+ export let showIcon: boolean = true;
15
+
16
+ const dispatch = createEventDispatcher();
13
17
 
14
18
  function onMouseOver() {
15
19
  if (help) {
16
20
  helpStore.show(id);
17
21
  }
22
+ if (description.length > 0) {
23
+ // dispatch an event to show the description
24
+ dispatch('showDescription', { id, description });
25
+ }
26
+
18
27
  }
19
28
 
20
- function onMouseOut() {}
29
+ function onMouseOut() {
30
+ if (help) {
31
+ helpStore.hide(id);
32
+ }
33
+ if (description.length > 0) {
34
+ // dispatch an event to hide the description
35
+ dispatch('hideDescription', { id });
36
+ }
37
+ }
21
38
  </script>
22
39
 
23
40
  <div
@@ -33,7 +50,7 @@
33
50
  >{label}
34
51
  {#if required} <span class="text-xs text-red-600">*</span> {/if}
35
52
  </span>
36
- {#if description}
53
+ {#if description && showIcon}
37
54
  <button class="badge " on:click={()=>showDescription = !showDescription}><Fa icon={faQuestion} /></button>
38
55
  {/if}
39
56
  </label>
@@ -309,7 +309,7 @@
309
309
 
310
310
  </script>
311
311
 
312
- <InputContainer {id} label={title} {feedback} {required} {help} {description} {showDescription}>
312
+ <InputContainer {id} label={title} {feedback} {required} {help} {description} {showDescription} on:showDescription on:hideDescription>
313
313
  <Select
314
314
  {id}
315
315
  items={source}
@@ -20,6 +20,8 @@
20
20
  const storedFontSize = localStorage.getItem('fontSize');
21
21
  if (storedFontSize) {
22
22
  document.documentElement.style.fontSize = storedFontSize;
23
+ // set CSS variable --font-size to the new font size
24
+ document.documentElement.style.setProperty('--font-size', storedFontSize);
23
25
  }
24
26
  });
25
27
 
@@ -30,12 +32,16 @@
30
32
  function increaseFontSize() {
31
33
  const currentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
32
34
  document.documentElement.style.fontSize = currentFontSize + 1 + 'px';
35
+ // set CSS variable --font-size to the new font size
36
+ document.documentElement.style.setProperty('--font-size', document.documentElement.style.fontSize);
33
37
  localStorage.setItem('fontSize', document.documentElement.style.fontSize);
34
38
  }
35
39
  // function to decrease the current font size by 1 step
36
40
  function decreaseFontSize() {
37
41
  const currentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
38
42
  document.documentElement.style.fontSize = currentFontSize - 1 + 'px';
43
+ // set CSS variable --font-size to the new font size
44
+ document.documentElement.style.setProperty('--font-size', document.documentElement.style.fontSize);
39
45
  localStorage.setItem('fontSize', document.documentElement.style.fontSize);
40
46
  }
41
47
 
@@ -84,8 +90,7 @@
84
90
  <Accordion>
85
91
  <div class="sm:flex w-full justify-between">
86
92
  <!-- <div class="sm:flex items-center sm:gap-5 px-1 text-lg justify-start gap-2 py-0"> -->
87
- <MenuBar menuBar={$menuStore.MenuBar} />
88
- <MenuBar menuBar={$menuStore.Extended} />
93
+
89
94
  <!-- </div> -->
90
95
  <!-- <div class="sm:flex items-center sm:gap-5 px-1 text-lg justify-end gap-2"> -->
91
96
  <div class="grid w-full sm:flex gap-2 justify-auto sm:justify-end">
@@ -156,6 +161,8 @@
156
161
  {/if}
157
162
  {/if}
158
163
  </button>
164
+ <MenuBar menuBar={$menuStore.MenuBar} />
165
+ <MenuBar menuBar={$menuStore.Extended} />
159
166
  <SettingsBar menuBar={$menuStore.Settings} />
160
167
  <!-- </div> -->
161
168
 
@@ -0,0 +1,100 @@
1
+ [data-theme='bexis2theme'] {
2
+ /* =~= Theme Properties =~= */
3
+ --base-font-family: system-ui;
4
+ --base-font-color: var(--color-surface-900);
5
+ --base-font-color-dark: 255 255 255;
6
+ /*--theme-rounded-base: 4px;
7
+ --theme-rounded-container: 4px;
8
+ --theme-border-base: 1px;*/
9
+ --radius-base: 4px;
10
+ --radius-container: 4px;
11
+ --default-border-width: 1px;
12
+ --default-divide-width: 1px;
13
+ --default-ring-width: 1px;
14
+ /* =~= Theme On-X Colors =~= */
15
+ --on-primary: 255 255 255;
16
+ --on-secondary: 255 255 255;
17
+ --on-tertiary: 0 0 0;
18
+ --on-success: 255 255 255;
19
+ --on-warning: 255 255 255;
20
+ --on-error: 255 255 255;
21
+ --on-surface: 0 0 0;
22
+ /* =~= Theme Colors =~= */
23
+ /* primary | #45b2a1 */
24
+ --color-primary-50: #e3f3f1;
25
+ --color-primary-100: #daf0ec;
26
+ --color-primary-200: #d1ece8;
27
+ --color-primary-300: #b5e0d9;
28
+ --color-primary-400: #7dc9bd;
29
+ --color-primary-500: #45b2a1;
30
+ --color-primary-600: #3ea091;
31
+ --color-primary-700: #348679;
32
+ --color-primary-800: #296b61;
33
+ --color-primary-900: #22574f;
34
+ /* secondary | #ff9700 */
35
+ --color-secondary-50: #ffefd9;
36
+ --color-secondary-100: #ffeacc;
37
+ --color-secondary-200: #ffe5bf;
38
+ --color-secondary-300: #ffd599;
39
+ --color-secondary-400: #ffb64d;
40
+ --color-secondary-500: #ff9700;
41
+ --color-secondary-600: #e68800;
42
+ --color-secondary-700: #bf7100;
43
+ --color-secondary-800: #995b00;
44
+ --color-secondary-900: #7d4a00;
45
+ /* tertiary | #bee1da */
46
+ --color-tertiary-50: #f5fbf9;
47
+ --color-tertiary-100: #f2f9f8;
48
+ --color-tertiary-200: #eff8f6;
49
+ --color-tertiary-300: #e5f3f0;
50
+ --color-tertiary-400: #d2eae5;
51
+ --color-tertiary-500: #bee1da;
52
+ --color-tertiary-600: #abcbc4;
53
+ --color-tertiary-700: #8fa9a4;
54
+ --color-tertiary-800: #728783;
55
+ --color-tertiary-900: #5d6e6b;
56
+ /* success | #4BB543 */
57
+ --color-success-50: #e4f4e3;
58
+ --color-success-100: #dbf0d9;
59
+ --color-success-200: #d2edd0;
60
+ --color-success-300: #b7e1b4;
61
+ --color-success-400: #81cb7b;
62
+ --color-success-500: #4bb543;
63
+ --color-success-600: #44a33c;
64
+ --color-success-700: #388832;
65
+ --color-success-800: #2d6d28;
66
+ --color-success-900: #255921;
67
+ /* warning | #EAB308 */
68
+ --color-warning-50: #fcf4da;
69
+ --color-warning-100: #fbf0ce;
70
+ --color-warning-200: #faecc1;
71
+ --color-warning-300: #f7e19c;
72
+ --color-warning-400: #f0ca52;
73
+ --color-warning-500: #eab308;
74
+ --color-warning-600: #d3a107;
75
+ --color-warning-700: #b08606;
76
+ --color-warning-800: #8c6b05;
77
+ --color-warning-900: #735804;
78
+ /* error | #FF0000 */
79
+ --color-error-50: #ffd9d9;
80
+ --color-error-100: #ffcccc;
81
+ --color-error-200: #ffbfbf;
82
+ --color-error-300: #ff9999;
83
+ --color-error-400: #ff4d4d;
84
+ --color-error-500: #ff0000;
85
+ --color-error-600: #e60000;
86
+ --color-error-700: #bf0000;
87
+ --color-error-800: #990000;
88
+ --color-error-900: #7d0000;
89
+ /* surface | #c7c7c7 */
90
+ --color-surface-50: #f7f7f7;
91
+ --color-surface-100: #f4f4f4;
92
+ --color-surface-200: #f1f1f1;
93
+ --color-surface-300: #e9e9e9;
94
+ --color-surface-400: #d8d8d8;
95
+ --color-surface-500: #c7c7c7;
96
+ --color-surface-600: #b3b3b3;
97
+ --color-surface-700: #959595;
98
+ --color-surface-800: #777777;
99
+ --color-surface-900: #626262;
100
+ }