firstly 0.0.15 → 0.0.16-next.1
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.
- package/CHANGELOG.md +16 -0
- package/esm/ROUTES.d.ts +10 -2
- package/esm/ROUTES.js +5 -1
- package/esm/auth/Entities.js +1 -0
- package/esm/auth/server/handleAuth.js +2 -1
- package/esm/auth/server/handleGuard.d.ts +10 -4
- package/esm/auth/server/handleGuard.js +8 -41
- package/esm/auth/server/module.d.ts +28 -0
- package/esm/auth/server/module.js +3 -0
- package/esm/auth/static/assets/{Page-B1GE_oYi.d.ts → Page-BgIgl-Te.d.ts} +2 -2
- package/esm/auth/static/assets/{Page-CDHFtYuN.js → Page-BgIgl-Te.js} +1 -1
- package/esm/auth/static/assets/{Page-Dh8pvAo6.d.ts → Page-HDnoBhpE.d.ts} +2 -2
- package/esm/auth/static/assets/{Page-Dh8pvAo6.js → Page-HDnoBhpE.js} +2 -2
- package/esm/auth/static/assets/{Page-CDHFtYuN.d.ts → Page-f5pC21Yg.d.ts} +2 -2
- package/esm/auth/static/assets/{Page-B1GE_oYi.js → Page-f5pC21Yg.js} +1 -1
- package/esm/auth/static/assets/{index-7Nh2ct-y.js → index-DAjei0Ie.js} +2 -2
- package/esm/auth/static/index.html +4 -4
- package/esm/auth/types.d.ts +1 -0
- package/esm/helper.d.ts +1 -1
- package/esm/helper.js +4 -3
- package/esm/index.d.ts +5 -3
- package/esm/index.js +5 -3
- package/esm/mail/server/index.js +2 -1
- package/esm/svelte/FF_Cell.svelte +104 -0
- package/esm/svelte/FF_Cell.svelte.d.ts +24 -0
- package/esm/svelte/FF_Cell_Caption.svelte +20 -0
- package/esm/svelte/FF_Cell_Caption.svelte.d.ts +24 -0
- package/esm/svelte/FF_Cell_Display.svelte +61 -0
- package/esm/svelte/FF_Cell_Display.svelte.d.ts +22 -0
- package/esm/svelte/FF_Cell_Edit.svelte +104 -0
- package/esm/svelte/FF_Cell_Edit.svelte.d.ts +25 -0
- package/esm/svelte/FF_Cell_Error.svelte +20 -0
- package/esm/svelte/FF_Cell_Error.svelte.d.ts +24 -0
- package/esm/svelte/FF_Cell_Hint.svelte +20 -0
- package/esm/svelte/FF_Cell_Hint.svelte.d.ts +24 -0
- package/esm/svelte/FF_Config.svelte +29 -0
- package/esm/svelte/FF_Config.svelte.d.ts +9 -0
- package/esm/svelte/FF_Display.svelte +51 -0
- package/esm/svelte/FF_Display.svelte.d.ts +22 -0
- package/esm/svelte/FF_Edit.svelte +104 -0
- package/esm/svelte/FF_Edit.svelte.d.ts +25 -0
- package/esm/svelte/FF_Error.svelte +23 -0
- package/esm/svelte/FF_Error.svelte.d.ts +22 -0
- package/esm/svelte/FF_Field.svelte +62 -0
- package/esm/svelte/FF_Field.svelte.d.ts +22 -0
- package/esm/svelte/FF_Form.svelte +156 -0
- package/esm/svelte/FF_Form.svelte.d.ts +30 -0
- package/esm/svelte/FF_Grid.svelte +257 -0
- package/esm/svelte/FF_Grid.svelte.d.ts +31 -0
- package/esm/svelte/FF_Hint.svelte +21 -0
- package/esm/svelte/FF_Hint.svelte.d.ts +22 -0
- package/esm/svelte/FF_Label.svelte +23 -0
- package/esm/svelte/FF_Label.svelte.d.ts +22 -0
- package/esm/svelte/FF_Layout.svelte +62 -0
- package/esm/svelte/FF_Layout.svelte.d.ts +24 -0
- package/esm/svelte/FF_Repo.svelte.d.ts +69 -0
- package/esm/svelte/FF_Repo.svelte.js +170 -0
- package/esm/svelte/actions/intersection.d.ts +6 -0
- package/esm/svelte/actions/intersection.js +17 -0
- package/esm/svelte/class/SP.svelte.d.ts +61 -0
- package/esm/svelte/class/SP.svelte.js +412 -0
- package/esm/svelte/customField.d.ts +69 -0
- package/esm/svelte/customField.js +4 -0
- package/esm/svelte/dialog/DialogManagement.svelte +101 -0
- package/esm/svelte/dialog/DialogManagement.svelte.d.ts +18 -0
- package/esm/svelte/dialog/DialogPrimitive.svelte +157 -0
- package/esm/svelte/dialog/DialogPrimitive.svelte.d.ts +38 -0
- package/esm/svelte/dialog/dialog.d.ts +58 -0
- package/esm/svelte/dialog/dialog.js +130 -0
- package/esm/svelte/ff_Config.svelte.d.ts +91 -0
- package/esm/svelte/ff_Config.svelte.js +111 -0
- package/esm/svelte/firstly.css +14 -0
- package/esm/svelte/helpers/debounce.d.ts +1 -0
- package/esm/svelte/helpers/debounce.js +7 -0
- package/esm/svelte/helpers.d.ts +29 -0
- package/esm/svelte/helpers.js +38 -0
- package/esm/svelte/index.d.ts +32 -0
- package/esm/svelte/index.js +29 -0
- package/esm/svelte/tryCatch.d.ts +12 -0
- package/esm/svelte/tryCatch.js +18 -0
- package/esm/ui/Field.svelte +1 -1
- package/esm/ui/Grid.svelte +8 -2
- package/esm/ui/Grid2.svelte +354 -0
- package/esm/ui/Grid2.svelte.d.ts +58 -0
- package/esm/ui/GridLoading.svelte +33 -8
- package/esm/ui/GridLoading.svelte.d.ts +1 -0
- package/esm/ui/GridPaginate.svelte +0 -3
- package/esm/ui/GridPaginate.svelte.d.ts +0 -1
- package/esm/ui/GridPaginate2.svelte +25 -0
- package/esm/ui/GridPaginate2.svelte.d.ts +7 -0
- package/esm/ui/dialog/dialog.d.ts +3 -1
- package/esm/ui/dialog/dialog.js +2 -0
- package/esm/ui/link/LinkPlus.svelte +8 -6
- package/package.json +17 -2
- /package/esm/auth/static/assets/{index-7Nh2ct-y.d.ts → index-DAjei0Ie.d.ts} +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { EntityOrderBy } from 'remult';
|
|
2
|
+
import type { Cell } from '../cellsBuildor.js';
|
|
3
|
+
import type { FF_Repo } from '../svelte/FF_Repo.svelte.js';
|
|
4
|
+
declare class __sveltets_Render<T extends Record<any, any>> {
|
|
5
|
+
props(): {
|
|
6
|
+
cells: Cell<T>[];
|
|
7
|
+
r: FF_Repo<any>;
|
|
8
|
+
withAdd?: boolean;
|
|
9
|
+
withEdit?: boolean;
|
|
10
|
+
withDelete?: boolean;
|
|
11
|
+
loadingRows?: number;
|
|
12
|
+
classes?: {
|
|
13
|
+
table: string;
|
|
14
|
+
} | undefined;
|
|
15
|
+
orderBy?: EntityOrderBy<T> | undefined;
|
|
16
|
+
orderByCols?: true | (keyof T)[] | undefined;
|
|
17
|
+
settingsLeft?: boolean;
|
|
18
|
+
dicoNoResult?: string;
|
|
19
|
+
};
|
|
20
|
+
events(): {
|
|
21
|
+
refresh: any;
|
|
22
|
+
add: CustomEvent<any>;
|
|
23
|
+
rowclick: CustomEvent<any>;
|
|
24
|
+
edit: CustomEvent<any>;
|
|
25
|
+
delete: CustomEvent<any>;
|
|
26
|
+
} & {
|
|
27
|
+
[evt: string]: CustomEvent<any>;
|
|
28
|
+
};
|
|
29
|
+
slots(): {
|
|
30
|
+
header: {
|
|
31
|
+
field: import("remult").FieldMetadata<any, T> | undefined;
|
|
32
|
+
};
|
|
33
|
+
cell: {
|
|
34
|
+
row: any;
|
|
35
|
+
field: import("remult").FieldMetadata<any, T> | undefined;
|
|
36
|
+
cell: Cell<T>;
|
|
37
|
+
};
|
|
38
|
+
extra: {};
|
|
39
|
+
};
|
|
40
|
+
bindings(): string;
|
|
41
|
+
exports(): {};
|
|
42
|
+
}
|
|
43
|
+
interface $$IsomorphicComponent {
|
|
44
|
+
new <T extends Record<any, any>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']> & {
|
|
45
|
+
children?: any;
|
|
46
|
+
}>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
|
|
47
|
+
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
48
|
+
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
49
|
+
<T extends Record<any, any>>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {
|
|
50
|
+
$$events?: ReturnType<__sveltets_Render<T>['events']>;
|
|
51
|
+
$$slots?: ReturnType<__sveltets_Render<T>['slots']>;
|
|
52
|
+
children?: any;
|
|
53
|
+
}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
54
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
55
|
+
}
|
|
56
|
+
declare const Grid2: $$IsomorphicComponent;
|
|
57
|
+
type Grid2<T extends Record<any, any>> = InstanceType<typeof Grid2<T>>;
|
|
58
|
+
export default Grid2;
|
|
@@ -5,28 +5,53 @@
|
|
|
5
5
|
|
|
6
6
|
export let columns: Align[]
|
|
7
7
|
export let loadingRows = 5
|
|
8
|
+
export let withDoubleLoading = true
|
|
8
9
|
|
|
9
10
|
// Random with different size
|
|
10
|
-
let size = [
|
|
11
|
+
let size = [
|
|
12
|
+
// 'w-1/12',
|
|
13
|
+
'w-2/12',
|
|
14
|
+
'w-3/12',
|
|
15
|
+
'w-4/12',
|
|
16
|
+
'w-5/12',
|
|
17
|
+
// 'w-6/12',
|
|
18
|
+
'w-7/12',
|
|
19
|
+
// 'w-8/12',
|
|
20
|
+
'w-9/12',
|
|
21
|
+
'w-10/12',
|
|
22
|
+
'w-11/12',
|
|
23
|
+
'w-full',
|
|
24
|
+
]
|
|
11
25
|
</script>
|
|
12
26
|
|
|
13
27
|
<!-- Do 10 rows -->
|
|
14
28
|
{#each new Array(loadingRows) as _row, r}
|
|
15
29
|
<tr>
|
|
16
30
|
{#each columns as column, c}
|
|
17
|
-
|
|
31
|
+
{@const sizeIndex = parseInt(
|
|
32
|
+
(((r + 1) * (c + 1) * Math.random() * size.length) % size.length).toString(),
|
|
33
|
+
)}
|
|
34
|
+
<td class={column}>
|
|
18
35
|
<div class={tw('flex justify-between', column === 'text-right' && 'flex-row-reverse')}>
|
|
19
36
|
{#if column === 'text-center'}
|
|
20
37
|
<div></div>
|
|
21
38
|
{/if}
|
|
22
|
-
<Loading
|
|
23
|
-
class={tw(
|
|
24
|
-
`h-4`,
|
|
25
|
-
size[parseInt((((r + 1) * (c + 1) * Math.random() * size.length) % size.length).toString())],
|
|
26
|
-
)}
|
|
27
|
-
/>
|
|
39
|
+
<Loading class={tw(`h-4`, size[sizeIndex])} />
|
|
28
40
|
<div></div>
|
|
29
41
|
</div>
|
|
42
|
+
|
|
43
|
+
{#if withDoubleLoading}
|
|
44
|
+
{@const sizeIndex2 = parseInt(
|
|
45
|
+
(((r + 1) * (c + 1) * Math.random() * sizeIndex) % sizeIndex).toString(),
|
|
46
|
+
)}
|
|
47
|
+
<div class={tw('mt-2 flex justify-between', column === 'text-right' && 'flex-row-reverse')}>
|
|
48
|
+
{#if column === 'text-center'}
|
|
49
|
+
<div></div>
|
|
50
|
+
{/if}
|
|
51
|
+
<Loading class={tw(`h-3`, size[sizeIndex2])} />
|
|
52
|
+
<div></div>
|
|
53
|
+
</div>
|
|
54
|
+
{/if}
|
|
30
55
|
</td>
|
|
31
56
|
{/each}
|
|
32
57
|
</tr>
|
|
@@ -15,6 +15,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
15
15
|
declare const GridLoading: $$__sveltets_2_IsomorphicComponent<{
|
|
16
16
|
columns: Align[];
|
|
17
17
|
loadingRows?: number;
|
|
18
|
+
withDoubleLoading?: boolean;
|
|
18
19
|
}, {
|
|
19
20
|
[evt: string]: CustomEvent<any>;
|
|
20
21
|
}, {}, {}, string>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import './LibIcon';
|
|
2
1
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
2
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
3
|
$$bindings?: Bindings;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import FieldContainer from './internals/FieldContainer.svelte'
|
|
3
|
+
import Loading from './Loading.svelte'
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
label?: string
|
|
7
|
+
totalCount?: number | undefined | null
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
let { label = 'Stats', totalCount = undefined }: Props = $props()
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<FieldContainer {label} forId="paginate" classes={{ label: 'justify-end' }}>
|
|
14
|
+
<div class="flex w-14 items-center justify-end">
|
|
15
|
+
{#if totalCount === undefined}
|
|
16
|
+
<Loading class="ml-6 mr-2 h-3 w-1/6"></Loading>
|
|
17
|
+
<Loading class="mx-2 h-4 w-1/2"></Loading>
|
|
18
|
+
<Loading class="mx-2 h-3 w-1/6"></Loading>
|
|
19
|
+
{:else}
|
|
20
|
+
<span class="text-primary justify-end px-2 font-bold">
|
|
21
|
+
{totalCount}
|
|
22
|
+
</span>
|
|
23
|
+
{/if}
|
|
24
|
+
</div>
|
|
25
|
+
</FieldContainer>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SvelteComponent } from 'svelte';
|
|
2
|
-
import type
|
|
2
|
+
import { type Repository } from 'remult';
|
|
3
3
|
import { type BaseItemLight, type CellsInput, type StoreItem } from '../../';
|
|
4
|
+
import type { FF_Repo } from '../../svelte';
|
|
4
5
|
export type DialogClasses = {
|
|
5
6
|
/**
|
|
6
7
|
* for example `overflow-auto` to have a scrollbar in the dialog
|
|
@@ -23,6 +24,7 @@ export type DialogMetaData<entityType = any> = {
|
|
|
23
24
|
wDelete?: boolean;
|
|
24
25
|
focusKey?: string;
|
|
25
26
|
topicPrefixText?: string;
|
|
27
|
+
r?: FF_Repo<entityType>;
|
|
26
28
|
};
|
|
27
29
|
type ResultClose<entityType = any> = {
|
|
28
30
|
success: boolean;
|
package/esm/ui/dialog/dialog.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { writable } from 'svelte/store';
|
|
2
|
+
import {} from 'remult';
|
|
2
3
|
import { LibIcon_Add, LibIcon_Delete, LibIcon_Edit, LibIcon_Search, } from '../../';
|
|
3
4
|
const createDialogManagement = () => {
|
|
4
5
|
const { subscribe, update } = writable([]);
|
|
@@ -67,6 +68,7 @@ const createDialogManagement = () => {
|
|
|
67
68
|
focusKey: settings?.focusKey,
|
|
68
69
|
topicPrefixText,
|
|
69
70
|
};
|
|
71
|
+
// @ts-ignore
|
|
70
72
|
return show(detail, type);
|
|
71
73
|
},
|
|
72
74
|
show: (dialog) => {
|
|
@@ -22,13 +22,15 @@
|
|
|
22
22
|
<div class="flex items-center gap-4">
|
|
23
23
|
{#if item}
|
|
24
24
|
{#if item.icon?.data && !noIcon}
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
<div>
|
|
26
|
+
{#if item.icon.caption}
|
|
27
|
+
<Tooltip text={item.icon.caption}>
|
|
28
|
+
<Icon {...item.icon} />
|
|
29
|
+
</Tooltip>
|
|
30
|
+
{:else}
|
|
27
31
|
<Icon {...item.icon} />
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<Icon {...item.icon} />
|
|
31
|
-
{/if}
|
|
32
|
+
{/if}
|
|
33
|
+
</div>
|
|
32
34
|
{/if}
|
|
33
35
|
|
|
34
36
|
{#if hasSomethingToDisplay(item)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "firstly",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16-next.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Firstly, an opinionated Remult setup!",
|
|
6
6
|
"funding": "https://github.com/sponsors/jycouet",
|
|
@@ -19,16 +19,26 @@
|
|
|
19
19
|
"remult": ">=2.7.32",
|
|
20
20
|
"svelte": ">=5"
|
|
21
21
|
},
|
|
22
|
+
"peerDependenciesMeta": {
|
|
23
|
+
"@sveltejs/kit": {
|
|
24
|
+
"optional": true
|
|
25
|
+
},
|
|
26
|
+
"svelte": {
|
|
27
|
+
"optional": true
|
|
28
|
+
}
|
|
29
|
+
},
|
|
22
30
|
"dependencies": {
|
|
23
31
|
"@clack/prompts": "0.10.0",
|
|
24
32
|
"@kitql/internals": "0.10.4",
|
|
33
|
+
"@layerstack/svelte-actions": "1.0.0",
|
|
34
|
+
"@layerstack/utils": "1.0.0",
|
|
25
35
|
"@mdi/js": "7.4.47",
|
|
26
36
|
"@melt-ui/svelte": "0.86.3",
|
|
27
37
|
"@oslojs/crypto": "1.0.1",
|
|
28
38
|
"@oslojs/encoding": "1.1.0",
|
|
29
39
|
"@oslojs/otp": "1.1.0",
|
|
30
40
|
"@types/nodemailer": "6.4.14",
|
|
31
|
-
"arctic": "3.
|
|
41
|
+
"arctic": "3.6.0",
|
|
32
42
|
"bcryptjs": "3.0.2",
|
|
33
43
|
"clsx": "2.1.1",
|
|
34
44
|
"cron": "4.1.0",
|
|
@@ -54,6 +64,11 @@
|
|
|
54
64
|
"types": "./esm/server/index.d.ts",
|
|
55
65
|
"default": "./esm/server/index.js"
|
|
56
66
|
},
|
|
67
|
+
"./svelte": {
|
|
68
|
+
"types": "./esm/svelte/index.d.ts",
|
|
69
|
+
"svelte": "./esm/svelte/index.js",
|
|
70
|
+
"default": "./esm/svelte/index.js"
|
|
71
|
+
},
|
|
57
72
|
"./vite": {
|
|
58
73
|
"types": "./esm/vite/index.d.ts",
|
|
59
74
|
"default": "./esm/vite/index.js"
|
|
File without changes
|