@bexis2/bexis2-core-ui 0.2.23 → 0.2.24

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 (93) hide show
  1. package/README.md +2 -0
  2. package/dist/TableView.svelte +1 -1
  3. package/dist/components/CodeEditor/CodeEditor.svelte +24 -12
  4. package/dist/components/CodeEditor/CodeEditor.svelte.d.ts +6 -3
  5. package/dist/components/ListView.svelte +5 -5
  6. package/dist/components/Table/Table.svelte +11 -5
  7. package/dist/components/Table/TableFilter.svelte +2 -1
  8. package/dist/components/Table/TablePagination.svelte +6 -1
  9. package/dist/components/Table/TablePagination.svelte.d.ts +1 -0
  10. package/dist/components/file/FileIcon.svelte +45 -45
  11. package/dist/components/file/FileInfo.svelte +13 -13
  12. package/dist/components/form/Checkbox.svelte +13 -13
  13. package/dist/components/form/CheckboxKvPList.svelte +16 -16
  14. package/dist/components/form/CheckboxList.svelte +10 -10
  15. package/dist/components/form/DateInput.svelte +13 -13
  16. package/dist/components/form/DropdownKvP.svelte +54 -54
  17. package/dist/components/form/InputContainer.svelte +1 -1
  18. package/dist/components/form/MultiSelect.svelte +178 -178
  19. package/dist/components/form/NumberInput.svelte +14 -14
  20. package/dist/components/form/TextArea.svelte +13 -13
  21. package/dist/components/form/TextInput.svelte +14 -14
  22. package/dist/components/page/Alert.svelte +28 -28
  23. package/dist/components/page/BackToTop.svelte +30 -30
  24. package/dist/components/page/Docs.svelte +22 -22
  25. package/dist/components/page/ErrorMessage.svelte +8 -8
  26. package/dist/components/page/Footer.svelte +5 -5
  27. package/dist/components/page/Header.svelte +5 -5
  28. package/dist/components/page/HelpPopUp.svelte +30 -30
  29. package/dist/components/page/PageCaller.js +19 -19
  30. package/dist/components/page/Spinner.svelte +14 -14
  31. package/dist/components/page/breadcrumb/Breadcrumb.svelte +19 -19
  32. package/dist/components/page/menu/MenuDataCaller.js +10 -10
  33. package/dist/css/core.ui.postcss +17 -17
  34. package/dist/css/themes/theme-bexis2.css +96 -96
  35. package/dist/css/themes/theme-crimson.css +101 -101
  36. package/dist/css/themes/theme-gold-nouveau.css +140 -140
  37. package/dist/css/themes/theme-hamlindigo.css +112 -112
  38. package/dist/css/themes/theme-modern.css +127 -127
  39. package/dist/css/themes/theme-rocket.css +119 -119
  40. package/dist/css/themes/theme-sahara.css +128 -128
  41. package/dist/css/themes/theme-seafoam.css +122 -122
  42. package/dist/css/themes/theme-seasonal.css +115 -115
  43. package/dist/css/themes/theme-skeleton.css +118 -118
  44. package/dist/css/themes/theme-vintage.css +125 -125
  45. package/dist/services/BaseCaller.js +16 -16
  46. package/package.json +3 -2
  47. package/src/lib/TableView.svelte +1 -1
  48. package/src/lib/components/CodeEditor/CodeEditor.svelte +25 -13
  49. package/src/lib/components/ListView.svelte +11 -11
  50. package/src/lib/components/Table/Table.svelte +11 -5
  51. package/src/lib/components/Table/TableFilter.svelte +2 -1
  52. package/src/lib/components/Table/TablePagination.svelte +6 -1
  53. package/src/lib/components/Table/filter.ts +141 -141
  54. package/src/lib/components/{File → file}/FileIcon.svelte +45 -45
  55. package/src/lib/components/{File → file}/FileInfo.svelte +13 -13
  56. package/src/lib/components/form/Checkbox.svelte +24 -24
  57. package/src/lib/components/form/CheckboxKvPList.svelte +29 -29
  58. package/src/lib/components/form/CheckboxList.svelte +21 -21
  59. package/src/lib/components/form/DateInput.svelte +25 -25
  60. package/src/lib/components/form/DropdownKvP.svelte +54 -54
  61. package/src/lib/components/form/InputContainer.svelte +1 -1
  62. package/src/lib/components/form/MultiSelect.svelte +178 -178
  63. package/src/lib/components/form/NumberInput.svelte +28 -28
  64. package/src/lib/components/form/TextArea.svelte +26 -26
  65. package/src/lib/components/form/TextInput.svelte +26 -26
  66. package/src/lib/components/page/Alert.svelte +41 -41
  67. package/src/lib/components/page/BackToTop.svelte +30 -30
  68. package/src/lib/components/page/Docs.svelte +46 -46
  69. package/src/lib/components/page/ErrorMessage.svelte +10 -10
  70. package/src/lib/components/page/Footer.svelte +18 -18
  71. package/src/lib/components/page/Header.svelte +18 -18
  72. package/src/lib/components/page/HelpPopUp.svelte +72 -72
  73. package/src/lib/components/page/PageCaller.js +19 -19
  74. package/src/lib/components/page/Spinner.svelte +20 -20
  75. package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +39 -39
  76. package/src/lib/components/page/menu/MenuDataCaller.js +10 -10
  77. package/src/lib/css/core.ui.postcss +17 -17
  78. package/src/lib/css/themes/theme-bexis2.css +96 -96
  79. package/src/lib/css/themes/theme-crimson.css +101 -101
  80. package/src/lib/css/themes/theme-gold-nouveau.css +140 -140
  81. package/src/lib/css/themes/theme-hamlindigo.css +112 -112
  82. package/src/lib/css/themes/theme-modern.css +127 -127
  83. package/src/lib/css/themes/theme-rocket.css +119 -119
  84. package/src/lib/css/themes/theme-sahara.css +128 -128
  85. package/src/lib/css/themes/theme-seafoam.css +122 -122
  86. package/src/lib/css/themes/theme-seasonal.css +115 -115
  87. package/src/lib/css/themes/theme-skeleton.css +118 -118
  88. package/src/lib/css/themes/theme-vintage.css +125 -125
  89. package/src/lib/models/Page.ts +40 -40
  90. package/src/lib/services/Api.ts +55 -55
  91. package/src/lib/services/BaseCaller.js +16 -16
  92. package/src/lib/stores/apiStores.ts +31 -31
  93. /package/src/lib/components/{File → file}/FileUploader.svelte +0 -0
@@ -1,125 +1,125 @@
1
- /* https://fonts.google.com/specimen/Abril+Fatface?query=Abril+Fatface&noto.query=Abril */
2
- @import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');
3
- /* https://fonts.google.com/noto/specimen/Noto+Sans?query=sans */
4
- @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100;0,200;0,300;0,400;1,100;1,200;1,300&display=swap');
5
-
6
- :root {
7
- /* =~= Theme Styles =~= */
8
- --theme-font-family-base: 'Noto Sans', sans-serif;
9
- --theme-font-family-heading: 'Abril Fatface', cursive;
10
- --theme-font-color-base: var(--color-primary-900);
11
- --theme-font-color-dark: var(--color-primary-100);
12
- --theme-rounded-base: 2px;
13
- --theme-rounded-container: 4px;
14
- --theme-border-base: 1px;
15
- /* =~= Theme On-X Colors =~= */
16
- --on-primary: 0 0 0;
17
- --on-secondary: 0 0 0;
18
- --on-tertiary: 0 0 0;
19
- --on-success: 0 0 0;
20
- --on-warning: 0 0 0;
21
- --on-error: 0 0 0;
22
- --on-surface: 255 255 255;
23
- /* =~= Theme Colors =~= */
24
- /* primary | #ea861a */
25
- --color-primary-50: 252 237 221; /* ⬅ #fceddd */
26
- --color-primary-100: 251 231 209; /* ⬅ #fbe7d1 */
27
- --color-primary-200: 250 225 198; /* ⬅ #fae1c6 */
28
- --color-primary-300: 247 207 163; /* ⬅ #f7cfa3 */
29
- --color-primary-400: 240 170 95; /* ⬅ #f0aa5f */
30
- --color-primary-500: 234 134 26; /* ⬅ #ea861a */
31
- --color-primary-600: 211 121 23; /* ⬅ #d37917 */
32
- --color-primary-700: 176 101 20; /* ⬅ #b06514 */
33
- --color-primary-800: 140 80 16; /* ⬅ #8c5010 */
34
- --color-primary-900: 115 66 13; /* ⬅ #73420d */
35
- /* secondary | #97cea5 */
36
- --color-secondary-50: 239 248 242; /* ⬅ #eff8f2 */
37
- --color-secondary-100: 234 245 237; /* ⬅ #eaf5ed */
38
- --color-secondary-200: 229 243 233; /* ⬅ #e5f3e9 */
39
- --color-secondary-300: 213 235 219; /* ⬅ #d5ebdb */
40
- --color-secondary-400: 182 221 192; /* ⬅ #b6ddc0 */
41
- --color-secondary-500: 151 206 165; /* ⬅ #97cea5 */
42
- --color-secondary-600: 136 185 149; /* ⬅ #88b995 */
43
- --color-secondary-700: 113 155 124; /* ⬅ #719b7c */
44
- --color-secondary-800: 91 124 99; /* ⬅ #5b7c63 */
45
- --color-secondary-900: 74 101 81; /* ⬅ #4a6551 */
46
- /* tertiary | #06b6d4 */
47
- --color-tertiary-50: 218 244 249; /* ⬅ #daf4f9 */
48
- --color-tertiary-100: 205 240 246; /* ⬅ #cdf0f6 */
49
- --color-tertiary-200: 193 237 244; /* ⬅ #c1edf4 */
50
- --color-tertiary-300: 155 226 238; /* ⬅ #9be2ee */
51
- --color-tertiary-400: 81 204 225; /* ⬅ #51cce1 */
52
- --color-tertiary-500: 6 182 212; /* ⬅ #06b6d4 */
53
- --color-tertiary-600: 5 164 191; /* ⬅ #05a4bf */
54
- --color-tertiary-700: 5 137 159; /* ⬅ #05899f */
55
- --color-tertiary-800: 4 109 127; /* ⬅ #046d7f */
56
- --color-tertiary-900: 3 89 104; /* ⬅ #035968 */
57
- /* success | #84cb5d */
58
- --color-success-50: 237 247 231; /* ⬅ #edf7e7 */
59
- --color-success-100: 230 245 223; /* ⬅ #e6f5df */
60
- --color-success-200: 224 242 215; /* ⬅ #e0f2d7 */
61
- --color-success-300: 206 234 190; /* ⬅ #ceeabe */
62
- --color-success-400: 169 219 142; /* ⬅ #a9db8e */
63
- --color-success-500: 132 203 93; /* ⬅ #84cb5d */
64
- --color-success-600: 119 183 84; /* ⬅ #77b754 */
65
- --color-success-700: 99 152 70; /* ⬅ #639846 */
66
- --color-success-800: 79 122 56; /* ⬅ #4f7a38 */
67
- --color-success-900: 65 99 46; /* ⬅ #41632e */
68
- /* warning | #f2ac23 */
69
- --color-warning-50: 253 243 222; /* ⬅ #fdf3de */
70
- --color-warning-100: 252 238 211; /* ⬅ #fceed3 */
71
- --color-warning-200: 252 234 200; /* ⬅ #fceac8 */
72
- --color-warning-300: 250 222 167; /* ⬅ #fadea7 */
73
- --color-warning-400: 246 197 101; /* ⬅ #f6c565 */
74
- --color-warning-500: 242 172 35; /* ⬅ #f2ac23 */
75
- --color-warning-600: 218 155 32; /* ⬅ #da9b20 */
76
- --color-warning-700: 182 129 26; /* ⬅ #b6811a */
77
- --color-warning-800: 145 103 21; /* ⬅ #916715 */
78
- --color-warning-900: 119 84 17; /* ⬅ #775411 */
79
- /* error | #d57e78 */
80
- --color-error-50: 249 236 235; /* ⬅ #f9eceb */
81
- --color-error-100: 247 229 228; /* ⬅ #f7e5e4 */
82
- --color-error-200: 245 223 221; /* ⬅ #f5dfdd */
83
- --color-error-300: 238 203 201; /* ⬅ #eecbc9 */
84
- --color-error-400: 226 165 161; /* ⬅ #e2a5a1 */
85
- --color-error-500: 213 126 120; /* ⬅ #d57e78 */
86
- --color-error-600: 192 113 108; /* ⬅ #c0716c */
87
- --color-error-700: 160 95 90; /* ⬅ #a05f5a */
88
- --color-error-800: 128 76 72; /* ⬅ #804c48 */
89
- --color-error-900: 104 62 59; /* ⬅ #683e3b */
90
- /* surface | #3f3731 */
91
- --color-surface-50: 226 225 224; /* ⬅ #e2e1e0 */
92
- --color-surface-100: 217 215 214; /* ⬅ #d9d7d6 */
93
- --color-surface-200: 207 205 204; /* ⬅ #cfcdcc */
94
- --color-surface-300: 178 175 173; /* ⬅ #b2afad */
95
- --color-surface-400: 121 115 111; /* ⬅ #79736f */
96
- --color-surface-500: 63 55 49; /* ⬅ #3f3731 */
97
- --color-surface-600: 57 50 44; /* ⬅ #39322c */
98
- --color-surface-700: 47 41 37; /* ⬅ #2f2925 */
99
- --color-surface-800: 38 33 29; /* ⬅ #26211d */
100
- --color-surface-900: 31 27 24; /* ⬅ #1f1b18 */
101
- }
102
-
103
- [data-theme='vintage'] h1,
104
- [data-theme='vintage'] h2,
105
- [data-theme='vintage'] h3,
106
- [data-theme='vintage'] h4,
107
- [data-theme='vintage'] h5,
108
- [data-theme='vintage'] h6 {
109
- letter-spacing: 1px;
110
- }
111
-
112
- /* Applied to body with `<body data-theme="vintage">` */
113
- /* Created with: https://csshero.org/mesher/ */
114
- [data-theme='vintage'] {
115
- /* prettier-ignore */
116
- background-image:
117
- radial-gradient(at 100% 0%, hsla(135,34%,70%,0.20) 0px, transparent 50%),
118
- radial-gradient(at 85% 100%, hsla(31,83%,50%,0.20) 0px, transparent 50%);
119
- }
120
- .dark [data-theme='vintage'] {
121
- /* prettier-ignore */
122
- background-image:
123
- radial-gradient(at 100% 0%, hsla(135,34%,70%,0.14) 0px, transparent 50%),
124
- radial-gradient(at 85% 100%, hsla(31,83%,50%,0.14) 0px, transparent 50%);
125
- }
1
+ /* https://fonts.google.com/specimen/Abril+Fatface?query=Abril+Fatface&noto.query=Abril */
2
+ @import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');
3
+ /* https://fonts.google.com/noto/specimen/Noto+Sans?query=sans */
4
+ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100;0,200;0,300;0,400;1,100;1,200;1,300&display=swap');
5
+
6
+ :root {
7
+ /* =~= Theme Styles =~= */
8
+ --theme-font-family-base: 'Noto Sans', sans-serif;
9
+ --theme-font-family-heading: 'Abril Fatface', cursive;
10
+ --theme-font-color-base: var(--color-primary-900);
11
+ --theme-font-color-dark: var(--color-primary-100);
12
+ --theme-rounded-base: 2px;
13
+ --theme-rounded-container: 4px;
14
+ --theme-border-base: 1px;
15
+ /* =~= Theme On-X Colors =~= */
16
+ --on-primary: 0 0 0;
17
+ --on-secondary: 0 0 0;
18
+ --on-tertiary: 0 0 0;
19
+ --on-success: 0 0 0;
20
+ --on-warning: 0 0 0;
21
+ --on-error: 0 0 0;
22
+ --on-surface: 255 255 255;
23
+ /* =~= Theme Colors =~= */
24
+ /* primary | #ea861a */
25
+ --color-primary-50: 252 237 221; /* ⬅ #fceddd */
26
+ --color-primary-100: 251 231 209; /* ⬅ #fbe7d1 */
27
+ --color-primary-200: 250 225 198; /* ⬅ #fae1c6 */
28
+ --color-primary-300: 247 207 163; /* ⬅ #f7cfa3 */
29
+ --color-primary-400: 240 170 95; /* ⬅ #f0aa5f */
30
+ --color-primary-500: 234 134 26; /* ⬅ #ea861a */
31
+ --color-primary-600: 211 121 23; /* ⬅ #d37917 */
32
+ --color-primary-700: 176 101 20; /* ⬅ #b06514 */
33
+ --color-primary-800: 140 80 16; /* ⬅ #8c5010 */
34
+ --color-primary-900: 115 66 13; /* ⬅ #73420d */
35
+ /* secondary | #97cea5 */
36
+ --color-secondary-50: 239 248 242; /* ⬅ #eff8f2 */
37
+ --color-secondary-100: 234 245 237; /* ⬅ #eaf5ed */
38
+ --color-secondary-200: 229 243 233; /* ⬅ #e5f3e9 */
39
+ --color-secondary-300: 213 235 219; /* ⬅ #d5ebdb */
40
+ --color-secondary-400: 182 221 192; /* ⬅ #b6ddc0 */
41
+ --color-secondary-500: 151 206 165; /* ⬅ #97cea5 */
42
+ --color-secondary-600: 136 185 149; /* ⬅ #88b995 */
43
+ --color-secondary-700: 113 155 124; /* ⬅ #719b7c */
44
+ --color-secondary-800: 91 124 99; /* ⬅ #5b7c63 */
45
+ --color-secondary-900: 74 101 81; /* ⬅ #4a6551 */
46
+ /* tertiary | #06b6d4 */
47
+ --color-tertiary-50: 218 244 249; /* ⬅ #daf4f9 */
48
+ --color-tertiary-100: 205 240 246; /* ⬅ #cdf0f6 */
49
+ --color-tertiary-200: 193 237 244; /* ⬅ #c1edf4 */
50
+ --color-tertiary-300: 155 226 238; /* ⬅ #9be2ee */
51
+ --color-tertiary-400: 81 204 225; /* ⬅ #51cce1 */
52
+ --color-tertiary-500: 6 182 212; /* ⬅ #06b6d4 */
53
+ --color-tertiary-600: 5 164 191; /* ⬅ #05a4bf */
54
+ --color-tertiary-700: 5 137 159; /* ⬅ #05899f */
55
+ --color-tertiary-800: 4 109 127; /* ⬅ #046d7f */
56
+ --color-tertiary-900: 3 89 104; /* ⬅ #035968 */
57
+ /* success | #84cb5d */
58
+ --color-success-50: 237 247 231; /* ⬅ #edf7e7 */
59
+ --color-success-100: 230 245 223; /* ⬅ #e6f5df */
60
+ --color-success-200: 224 242 215; /* ⬅ #e0f2d7 */
61
+ --color-success-300: 206 234 190; /* ⬅ #ceeabe */
62
+ --color-success-400: 169 219 142; /* ⬅ #a9db8e */
63
+ --color-success-500: 132 203 93; /* ⬅ #84cb5d */
64
+ --color-success-600: 119 183 84; /* ⬅ #77b754 */
65
+ --color-success-700: 99 152 70; /* ⬅ #639846 */
66
+ --color-success-800: 79 122 56; /* ⬅ #4f7a38 */
67
+ --color-success-900: 65 99 46; /* ⬅ #41632e */
68
+ /* warning | #f2ac23 */
69
+ --color-warning-50: 253 243 222; /* ⬅ #fdf3de */
70
+ --color-warning-100: 252 238 211; /* ⬅ #fceed3 */
71
+ --color-warning-200: 252 234 200; /* ⬅ #fceac8 */
72
+ --color-warning-300: 250 222 167; /* ⬅ #fadea7 */
73
+ --color-warning-400: 246 197 101; /* ⬅ #f6c565 */
74
+ --color-warning-500: 242 172 35; /* ⬅ #f2ac23 */
75
+ --color-warning-600: 218 155 32; /* ⬅ #da9b20 */
76
+ --color-warning-700: 182 129 26; /* ⬅ #b6811a */
77
+ --color-warning-800: 145 103 21; /* ⬅ #916715 */
78
+ --color-warning-900: 119 84 17; /* ⬅ #775411 */
79
+ /* error | #d57e78 */
80
+ --color-error-50: 249 236 235; /* ⬅ #f9eceb */
81
+ --color-error-100: 247 229 228; /* ⬅ #f7e5e4 */
82
+ --color-error-200: 245 223 221; /* ⬅ #f5dfdd */
83
+ --color-error-300: 238 203 201; /* ⬅ #eecbc9 */
84
+ --color-error-400: 226 165 161; /* ⬅ #e2a5a1 */
85
+ --color-error-500: 213 126 120; /* ⬅ #d57e78 */
86
+ --color-error-600: 192 113 108; /* ⬅ #c0716c */
87
+ --color-error-700: 160 95 90; /* ⬅ #a05f5a */
88
+ --color-error-800: 128 76 72; /* ⬅ #804c48 */
89
+ --color-error-900: 104 62 59; /* ⬅ #683e3b */
90
+ /* surface | #3f3731 */
91
+ --color-surface-50: 226 225 224; /* ⬅ #e2e1e0 */
92
+ --color-surface-100: 217 215 214; /* ⬅ #d9d7d6 */
93
+ --color-surface-200: 207 205 204; /* ⬅ #cfcdcc */
94
+ --color-surface-300: 178 175 173; /* ⬅ #b2afad */
95
+ --color-surface-400: 121 115 111; /* ⬅ #79736f */
96
+ --color-surface-500: 63 55 49; /* ⬅ #3f3731 */
97
+ --color-surface-600: 57 50 44; /* ⬅ #39322c */
98
+ --color-surface-700: 47 41 37; /* ⬅ #2f2925 */
99
+ --color-surface-800: 38 33 29; /* ⬅ #26211d */
100
+ --color-surface-900: 31 27 24; /* ⬅ #1f1b18 */
101
+ }
102
+
103
+ [data-theme='vintage'] h1,
104
+ [data-theme='vintage'] h2,
105
+ [data-theme='vintage'] h3,
106
+ [data-theme='vintage'] h4,
107
+ [data-theme='vintage'] h5,
108
+ [data-theme='vintage'] h6 {
109
+ letter-spacing: 1px;
110
+ }
111
+
112
+ /* Applied to body with `<body data-theme="vintage">` */
113
+ /* Created with: https://csshero.org/mesher/ */
114
+ [data-theme='vintage'] {
115
+ /* prettier-ignore */
116
+ background-image:
117
+ radial-gradient(at 100% 0%, hsla(135,34%,70%,0.20) 0px, transparent 50%),
118
+ radial-gradient(at 85% 100%, hsla(31,83%,50%,0.20) 0px, transparent 50%);
119
+ }
120
+ .dark [data-theme='vintage'] {
121
+ /* prettier-ignore */
122
+ background-image:
123
+ radial-gradient(at 100% 0%, hsla(135,34%,70%,0.14) 0px, transparent 50%),
124
+ radial-gradient(at 85% 100%, hsla(31,83%,50%,0.14) 0px, transparent 50%);
125
+ }
@@ -1,16 +1,16 @@
1
- // Implementations for all the calls for the pokemon endpoints.
2
- //import Api from "./Api";
3
- import { host } from '../stores/apiStores';
4
-
5
- // go to a internal action
6
- export const goTo = async (url, intern = true) => {
7
- if (intern == true) {
8
- // go to inside bexis2
9
- if (window != null && host != null && url != null) {
10
- window.open(host + url, '_self')?.focus();
11
- }
12
- } // go to a external page
13
- else {
14
- window.open(url, '_blank')?.focus();
15
- }
16
- };
1
+ // Implementations for all the calls for the pokemon endpoints.
2
+ //import Api from "./Api";
3
+ import { host } from '../stores/apiStores';
4
+
5
+ // go to a internal action
6
+ export const goTo = async (url, intern = true) => {
7
+ if (intern == true) {
8
+ // go to inside bexis2
9
+ if (window != null && host != null && url != null) {
10
+ window.open(host + url, '_self')?.focus();
11
+ }
12
+ } // go to a external page
13
+ else {
14
+ window.open(url, '_blank')?.focus();
15
+ }
16
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bexis2/bexis2-core-ui",
3
- "version": "0.2.23",
3
+ "version": "0.2.24",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "vite dev",
@@ -19,7 +19,7 @@
19
19
  "publish": "npm publish --access public"
20
20
  },
21
21
  "devDependencies": {
22
- "@playwright/test": "^1.28.1",
22
+ "@playwright/test": "^1.36.2",
23
23
  "@skeletonlabs/skeleton": "^1.9.0",
24
24
  "@sveltejs/adapter-auto": "^2.0.0",
25
25
  "@sveltejs/adapter-static": "^2.0.2",
@@ -70,6 +70,7 @@
70
70
  "axios": "^1.2.1",
71
71
  "codemirror": "^6.0.1",
72
72
  "delay": "^6.0.0",
73
+ "dotenv": "^16.3.1",
73
74
  "highlight.js": "^11.8.0",
74
75
  "highlightjs-svelte": "^1.0.6",
75
76
  "svelte": "^3.54.0",
@@ -1 +1 @@
1
- <h1>table</h1>
1
+ <h1>table</h1>
@@ -12,13 +12,15 @@
12
12
  import { faArrowRotateLeft, faXmark } from '@fortawesome/free-solid-svg-icons';
13
13
  import type { ThemeSpec } from 'svelte-codemirror-editor';
14
14
  import type { ModalSettings } from '@skeletonlabs/skeleton';
15
-
15
+
16
+ export let id: string;
16
17
  export let title = '';
17
18
  export let initialValue = '';
18
19
  export let value = initialValue;
19
20
  export let language = 'html';
20
21
  export let dark = true;
21
22
  export let toggle = true;
23
+ export let actions = true;
22
24
  export let styles: ThemeSpec = {
23
25
  '&': {
24
26
  borderRadius: '0.5rem',
@@ -40,10 +42,11 @@
40
42
  </script>
41
43
 
42
44
  <div class="items-center justify-center">
43
- <h1 class="h1 font-semibold text-primary-500 mb-3">{title}</h1>
44
- <slot />
45
+
46
+ <h1 class="h1 font-semibold text-primary-500 mb-3" id="{id}-title">{title}</h1>
47
+ <slot id="{id}-description" />
45
48
  <div class="grid gap-1 w-full h-full mt-5">
46
- <div class="rounded-lg shadow-lg w-full">
49
+ <div class="rounded-lg shadow-lg w-full" id="{id}-editor">
47
50
  <CodeMirror
48
51
  bind:value
49
52
  lang={language === 'html'
@@ -58,10 +61,12 @@
58
61
  </div>
59
62
  </div>
60
63
 
61
- <div class="flex justify-between gap-2 items-center mt-3">
64
+
65
+ <div class="flex justify-between gap-2 items-center mt-3" id="{id}-footer">
62
66
  <div class="flex gap-2">
63
67
  <button
64
68
  class="btn variant-filled-warning"
69
+ id="{id}-reset"
65
70
  on:click|preventDefault={() => modalStore.trigger(modal)}
66
71
  ><Fa icon={faArrowRotateLeft} /></button
67
72
  >{#if toggle}
@@ -69,6 +74,7 @@
69
74
  class="btn border"
70
75
  class:bg-slate-700={dark}
71
76
  class:bg-white={!dark}
77
+ id="{id}-toggle"
72
78
  on:click|preventDefault={() => (dark = !dark)}
73
79
  >
74
80
  {#if dark}
@@ -80,14 +86,20 @@
80
86
  {/if}
81
87
  </div>
82
88
 
83
- <div class="flex gap-2">
84
- <button class="btn variant-filled-warning" on:click={() => dispatch('cancel')}
85
- ><Fa icon={faXmark} /></button
86
- >
87
- <button class="btn variant-filled-primary" on:click={() => dispatch('save')}
88
- ><Fa icon={faSave} /></button
89
- >
90
- </div>
89
+ {#if actions}
90
+ <div class="flex gap-2">
91
+ <button
92
+ class="btn variant-filled-warning"
93
+ id="{id}-cancel"
94
+ on:click|preventDefault={() => dispatch('cancel')}><Fa icon={faXmark} /></button
95
+ >
96
+ <button
97
+ class="btn variant-filled-primary"
98
+ id="{id}-save"
99
+ on:click|preventDefault={() => dispatch('save')}><Fa icon={faSave} /></button
100
+ >
101
+ </div>
102
+ {/if}
91
103
  </div>
92
104
  </div>
93
105
 
@@ -1,11 +1,11 @@
1
- <script lang="ts">
2
- type x = {
3
- name: string;
4
- };
5
-
6
- let result: x = { name: 'david' };
7
- </script>
8
-
9
- <h1>MyList</h1>
10
- {result.name}
11
- <b>from bexis-lib</b>
1
+ <script lang="ts">
2
+ type x = {
3
+ name: string;
4
+ };
5
+
6
+ let result: x = { name: 'david' };
7
+ </script>
8
+
9
+ <h1>MyList</h1>
10
+ {result.name}
11
+ <b>from bexis-lib</b>
@@ -146,7 +146,7 @@
146
146
  if (optionsComponent !== undefined) {
147
147
  tableColumns.push(
148
148
  table.display({
149
- id: 'options',
149
+ id: 'actionsColumn',
150
150
  header: '',
151
151
  cell: ({ row }, _) => {
152
152
  return createRender(optionsComponent!, {
@@ -173,6 +173,7 @@
173
173
  type="text"
174
174
  bind:value={$filterValue}
175
175
  placeholder="Search rows..."
176
+ id="{tableId}-search"
176
177
  />
177
178
  {/if}
178
179
 
@@ -182,12 +183,17 @@
182
183
  active="bg-primary-500"
183
184
  size="sm"
184
185
  checked={fitToScreen}
186
+ id="{tableId}-toggle"
185
187
  on:change={() => (fitToScreen = !fitToScreen)}>Fit to screen</SlideToggle
186
188
  >
187
189
  {/if}
188
190
 
189
191
  <div class="overflow-auto" style="height: {height}px">
190
- <table {...$tableAttrs} class="table table-compact bg-tertiary-200 overflow-clip">
192
+ <table
193
+ {...$tableAttrs}
194
+ class="table table-compact bg-tertiary-200 overflow-clip"
195
+ id="{tableId}-table"
196
+ >
191
197
  <thead class={height != null ? `sticky top-0` : ''}>
192
198
  {#each $headerRows as headerRow (headerRow.id)}
193
199
  <Subscribe
@@ -240,10 +246,10 @@
240
246
  <tbody class="overflow-auto" {...$tableBodyAttrs}>
241
247
  {#each $pageRows as row (row.id)}
242
248
  <Subscribe rowAttrs={row.attrs()} let:rowAttrs>
243
- <tr {...rowAttrs}>
249
+ <tr {...rowAttrs} id="{tableId}-row-{row.id}">
244
250
  {#each row.cells as cell (cell?.id)}
245
251
  <Subscribe attrs={cell.attrs()} let:attrs>
246
- <td {...attrs} class="!p-2 w-max focus:resize">
252
+ <td {...attrs} class="!p-2 w-max focus:resize" id="{tableId}-{cell.id}-{row.id}">
247
253
  <div
248
254
  class="flex items-center h-max overflow-x-auto resize-none hover:resize"
249
255
  class:max-w-md={!fitToScreen}
@@ -261,6 +267,6 @@
261
267
  </div>
262
268
  </div>
263
269
  {#if $data.length > 0}
264
- <TablePagination pageConfig={pluginStates.page} {pageSizes} />
270
+ <TablePagination pageConfig={pluginStates.page} {pageSizes} id={tableId} />
265
271
  {/if}
266
272
  </div>
@@ -119,11 +119,12 @@
119
119
  class="btn w-max p-2"
120
120
  type="button"
121
121
  use:popup={popupFeatured}
122
+ id="{popupId}-button"
122
123
  >
123
124
  <Fa icon={faFilter} size="12" />
124
125
  </button>
125
126
 
126
- <div data-popup={`${popupId}`} class="z-50">
127
+ <div data-popup={`${popupId}`} id="{popupId}" class="z-50">
127
128
  <div class="card p-3 grid gap-2 shadow-lg w-min bg-base-100">
128
129
  <button
129
130
  class="btn variant-filled-primary btn-sm"
@@ -9,6 +9,7 @@
9
9
 
10
10
  export let pageConfig;
11
11
  export let pageSizes;
12
+ export let id;
12
13
 
13
14
  const { pageIndex, pageCount, pageSize, hasNextPage, hasPreviousPage } = pageConfig;
14
15
 
@@ -28,18 +29,20 @@
28
29
  class="btn btn-sm variant-filled-primary"
29
30
  on:click|preventDefault={goToFirstPage}
30
31
  disabled={goToFirstPageDisabled}
32
+ id="{id}-first"
31
33
  >
32
34
  <Fa icon={faAnglesLeft} /></button
33
35
  >
34
36
  <button
35
37
  class="btn btn-sm variant-filled-primary"
38
+ id="{id}-previous"
36
39
  on:click|preventDefault={goToPreviousPage}
37
40
  disabled={goToPreviousPageDisabled}><Fa icon={faAngleLeft} /></button
38
41
  >
39
42
 
40
43
  <select
41
44
  name="pageSize"
42
- id="pageSize"
45
+ id="{id}-pageSize"
43
46
  class="select variant-filled-primary w-min font-bold"
44
47
  bind:value={$pageSize}
45
48
  >
@@ -50,11 +53,13 @@
50
53
 
51
54
  <button
52
55
  class="btn btn-sm variant-filled-primary"
56
+ id="{id}-next"
53
57
  on:click|preventDefault={goToNextPage}
54
58
  disabled={goToNextPageDisabled}><Fa icon={faAngleRight} /></button
55
59
  >
56
60
  <button
57
61
  class="btn btn-sm variant-filled-primary"
62
+ id="{id}-last"
58
63
  on:click|preventDefault={goToLastPage}
59
64
  disabled={goToLastPageDisabled}><Fa icon={faAnglesRight} /></button
60
65
  >