@webamoki/web-svelte 0.7.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -3
- package/dist/components/form/Button.svelte +24 -23
- package/dist/components/form/Button.svelte.d.ts +2 -2
- package/dist/components/form/Errors.svelte +13 -13
- package/dist/components/form/FieldWrapper.svelte +57 -55
- package/dist/components/form/FieldWrapper.svelte.d.ts +4 -4
- package/dist/components/form/Form.svelte +18 -14
- package/dist/components/form/Form.svelte.d.ts +31 -22
- package/dist/components/form/IconInputWrapper.svelte +30 -29
- package/dist/components/form/IconInputWrapper.svelte.d.ts +7 -7
- package/dist/components/form/fields/ChoiceField.svelte +45 -43
- package/dist/components/form/fields/ChoiceField.svelte.d.ts +28 -23
- package/dist/components/form/fields/ChoiceMultiField.svelte +44 -42
- package/dist/components/form/fields/ChoiceMultiField.svelte.d.ts +28 -23
- package/dist/components/form/fields/DateField.svelte +42 -40
- package/dist/components/form/fields/DateField.svelte.d.ts +29 -22
- package/dist/components/form/fields/HexColorField.svelte +21 -19
- package/dist/components/form/fields/HexColorField.svelte.d.ts +24 -19
- package/dist/components/form/fields/MessageField.svelte +39 -60
- package/dist/components/form/fields/MessageField.svelte.d.ts +33 -24
- package/dist/components/form/fields/NumberField.svelte +38 -36
- package/dist/components/form/fields/NumberField.svelte.d.ts +32 -23
- package/dist/components/form/fields/PasswordField.svelte +45 -39
- package/dist/components/form/fields/PasswordField.svelte.d.ts +28 -21
- package/dist/components/form/fields/SelectField.svelte +84 -79
- package/dist/components/form/fields/SelectField.svelte.d.ts +39 -26
- package/dist/components/form/fields/SelectMultiField.svelte +90 -85
- package/dist/components/form/fields/SelectMultiField.svelte.d.ts +38 -25
- package/dist/components/form/fields/TextField.svelte +31 -29
- package/dist/components/form/fields/TextField.svelte.d.ts +32 -23
- package/dist/components/form/fields/TextFieldNullable.svelte +49 -47
- package/dist/components/form/fields/TextFieldNullable.svelte.d.ts +32 -23
- package/dist/components/form/fields/TimeField.svelte +66 -64
- package/dist/components/form/fields/TimeField.svelte.d.ts +33 -24
- package/dist/components/form/fields/WeekdayChoiceField.svelte +37 -35
- package/dist/components/form/fields/WeekdayChoiceField.svelte.d.ts +27 -22
- package/dist/components/form/fields/WeekdayChoiceMultiField.svelte +37 -35
- package/dist/components/form/fields/WeekdayChoiceMultiField.svelte.d.ts +27 -22
- package/dist/components/showcase/CodeBlock.svelte +41 -41
- package/dist/components/showcase/Container.svelte +7 -7
- package/dist/components/showcase/Preview.svelte +4 -4
- package/dist/components/showcase/Sidebar.svelte +4 -4
- package/dist/components/showcase/SidebarLink.svelte +3 -3
- package/dist/components/ui/choice/Choice.svelte +25 -22
- package/dist/components/ui/choice/Choice.svelte.d.ts +7 -7
- package/dist/components/ui/choice/ChoiceInternal.svelte +73 -69
- package/dist/components/ui/choice/ChoiceInternal.svelte.d.ts +9 -9
- package/dist/components/ui/choice/ChoiceMulti.svelte +59 -53
- package/dist/components/ui/choice/ChoiceMulti.svelte.d.ts +7 -7
- package/dist/components/ui/choice/WeekdayChoice.svelte +22 -21
- package/dist/components/ui/choice/WeekdayChoice.svelte.d.ts +6 -6
- package/dist/components/ui/choice/WeekdayChoiceMulti.svelte +24 -22
- package/dist/components/ui/choice/WeekdayChoiceMulti.svelte.d.ts +6 -6
- package/dist/components/ui/context-menu/ContextMenu.svelte +51 -50
- package/dist/components/ui/context-menu/ContextMenu.svelte.d.ts +1 -1
- package/dist/components/ui/context-menu/ContextMenuContent.svelte +92 -91
- package/dist/components/ui/context-menu/ContextMenuItem.svelte +26 -25
- package/dist/components/ui/context-menu/ContextMenuItem.svelte.d.ts +1 -1
- package/dist/components/ui/context-menu/ContextMenuTrigger.svelte +16 -15
- package/dist/components/ui/context-menu/context-menu-state.svelte.d.ts +3 -3
- package/dist/components/ui/context-menu/context-menu-state.svelte.js +15 -15
- package/dist/components/ui/drag-drop/Draggable.svelte +73 -72
- package/dist/components/ui/drag-drop/Draggable.svelte.d.ts +2 -2
- package/dist/components/ui/drag-drop/Dropzone.svelte +56 -54
- package/dist/components/ui/drag-drop/Dropzone.svelte.d.ts +3 -3
- package/dist/components/ui/drag-drop/drag-manager.d.ts +2 -2
- package/dist/components/ui/drag-drop/drag-manager.js +9 -9
- package/dist/components/ui/index.d.ts +2 -2
- package/dist/components/ui/index.js +5 -5
- package/dist/components/ui/search/SearchBar.svelte +18 -18
- package/dist/components/ui/search/SearchBar.svelte.d.ts +2 -2
- package/dist/highlight.js +2 -2
- package/dist/server/form-handler.d.ts +12 -12
- package/dist/server/form-handler.js +17 -17
- package/dist/server/form-processor.d.ts +1 -1
- package/dist/server/form-processor.js +0 -1
- package/dist/shadcn/components/ui/button/button.svelte +72 -71
- package/dist/shadcn/components/ui/button/button.svelte.d.ts +23 -23
- package/dist/shadcn/components/ui/button/index.d.ts +1 -1
- package/dist/shadcn/components/ui/button/index.js +2 -2
- package/dist/shadcn/components/ui/input/index.d.ts +1 -1
- package/dist/shadcn/components/ui/input/index.js +2 -2
- package/dist/shadcn/components/ui/input/input.svelte +35 -32
- package/dist/shadcn/components/ui/input/input.svelte.d.ts +2 -2
- package/dist/shadcn/components/ui/select/index.d.ts +6 -6
- package/dist/shadcn/components/ui/select/index.js +7 -7
- package/dist/shadcn/components/ui/select/select-content.svelte +35 -34
- package/dist/shadcn/components/ui/select/select-content.svelte.d.ts +1 -1
- package/dist/shadcn/components/ui/select/select-group-heading.svelte +15 -14
- package/dist/shadcn/components/ui/select/select-group.svelte +2 -2
- package/dist/shadcn/components/ui/select/select-item.svelte +31 -31
- package/dist/shadcn/components/ui/select/select-label.svelte +14 -13
- package/dist/shadcn/components/ui/select/select-label.svelte.d.ts +1 -1
- package/dist/shadcn/components/ui/select/select-scroll-down-button.svelte +13 -13
- package/dist/shadcn/components/ui/select/select-scroll-up-button.svelte +13 -13
- package/dist/shadcn/components/ui/select/select-separator.svelte +13 -12
- package/dist/shadcn/components/ui/select/select-trigger.svelte +26 -26
- package/dist/shadcn/components/ui/select/select-trigger.svelte.d.ts +2 -2
- package/dist/shadcn/components/ui/separator/separator.svelte +14 -14
- package/dist/shadcn/components/ui/textarea/textarea.svelte +22 -21
- package/dist/shadcn/components/ui/textarea/textarea.svelte.d.ts +1 -1
- package/dist/shadcn/utils.d.ts +4 -4
- package/dist/utils/datetime/index.d.ts +68 -68
- package/dist/utils/datetime/index.js +124 -124
- package/dist/utils/email/README.md +60 -60
- package/dist/utils/email/aws-signer.d.ts +1 -1
- package/dist/utils/email/aws-signer.js +39 -39
- package/dist/utils/email/ses.d.ts +8 -10
- package/dist/utils/email/ses.js +15 -23
- package/dist/utils/form/index.d.ts +11 -11
- package/dist/utils/form/index.js +23 -24
- package/dist/utils/form/virtual-form.d.ts +5 -5
- package/dist/utils/form/virtual-form.js +58 -58
- package/dist/utils/search.d.ts +1 -1
- package/dist/utils/search.js +22 -22
- package/dist/utils/types/arktype.d.ts +2 -2
- package/dist/utils/types/arktype.js +3 -3
- package/dist/utils/types/db.d.ts +2 -1
- package/dist/utils/types/db.js +7 -7
- package/package.json +69 -54
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { type } from 'arktype';
|
|
2
|
+
import { parse, stringify } from 'devalue';
|
|
2
3
|
import { toast } from 'svelte-sonner';
|
|
3
4
|
import { createSubscriber } from 'svelte/reactivity';
|
|
4
|
-
import { parse, stringify } from 'devalue';
|
|
5
5
|
import { dateTransport } from '../datetime/index.js';
|
|
6
6
|
export class VirtualForm {
|
|
7
|
+
get isProcessing() {
|
|
8
|
+
this.#subscribe();
|
|
9
|
+
return this.#isProcessing;
|
|
10
|
+
}
|
|
7
11
|
// state storage
|
|
8
12
|
#isProcessing = false;
|
|
9
|
-
#url = '';
|
|
10
|
-
#schema;
|
|
11
|
-
#transport;
|
|
12
|
-
#onSuccess;
|
|
13
13
|
#onError;
|
|
14
|
+
#onSuccess;
|
|
15
|
+
#schema;
|
|
14
16
|
// svelte reactive tracking
|
|
15
17
|
#subscribe;
|
|
16
|
-
#
|
|
18
|
+
#transport;
|
|
19
|
+
#url = '';
|
|
17
20
|
constructor(schema, action, options = {}) {
|
|
18
21
|
this.#url = `${action}${options.actionName ? '?/' + options.actionName : ''}`;
|
|
19
22
|
this.#schema = schema;
|
|
@@ -25,50 +28,6 @@ export class VirtualForm {
|
|
|
25
28
|
return () => { };
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
|
-
// Apply transport encoding to data before sending
|
|
29
|
-
#encodeTransport(data) {
|
|
30
|
-
if (!this.#transport || typeof data !== 'object' || data === null) {
|
|
31
|
-
return data;
|
|
32
|
-
}
|
|
33
|
-
// Handle arrays
|
|
34
|
-
if (Array.isArray(data)) {
|
|
35
|
-
return data.map((item) => this.#encodeTransport(item));
|
|
36
|
-
}
|
|
37
|
-
// Try each transport encoder
|
|
38
|
-
for (const [key, encoder] of Object.entries(this.#transport)) {
|
|
39
|
-
const encoded = encoder.encode(data);
|
|
40
|
-
if (encoded !== false) {
|
|
41
|
-
return { __type: key, __value: encoded };
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Recursively encode nested objects
|
|
45
|
-
const result = {};
|
|
46
|
-
for (const [key, value] of Object.entries(data)) {
|
|
47
|
-
result[key] = this.#encodeTransport(value);
|
|
48
|
-
}
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
// Apply transport decoding to received data
|
|
52
|
-
#decodeTransport(data) {
|
|
53
|
-
if (!this.#transport || typeof data !== 'object' || data === null) {
|
|
54
|
-
return data;
|
|
55
|
-
}
|
|
56
|
-
// Handle arrays
|
|
57
|
-
if (Array.isArray(data)) {
|
|
58
|
-
return data.map((item) => this.#decodeTransport(item));
|
|
59
|
-
}
|
|
60
|
-
// Check if this is a transport-encoded value
|
|
61
|
-
const obj = data;
|
|
62
|
-
if (obj.__type && obj.__value && this.#transport[obj.__type]) {
|
|
63
|
-
return this.#transport[obj.__type].decode(obj.__value);
|
|
64
|
-
}
|
|
65
|
-
// Recursively decode nested objects
|
|
66
|
-
const result = {};
|
|
67
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
68
|
-
result[key] = this.#decodeTransport(value);
|
|
69
|
-
}
|
|
70
|
-
return result;
|
|
71
|
-
}
|
|
72
31
|
async submit(data) {
|
|
73
32
|
this.#isProcessing = true;
|
|
74
33
|
this.#update();
|
|
@@ -77,10 +36,10 @@ export class VirtualForm {
|
|
|
77
36
|
if (validated instanceof type.errors) {
|
|
78
37
|
console.error('Validation failed:', validated.summary);
|
|
79
38
|
this.#onError?.({
|
|
80
|
-
text: 'Validation failed',
|
|
81
39
|
data: validated.summary,
|
|
40
|
+
showToast: false,
|
|
82
41
|
success: false,
|
|
83
|
-
|
|
42
|
+
text: 'Validation failed'
|
|
84
43
|
});
|
|
85
44
|
return;
|
|
86
45
|
}
|
|
@@ -92,8 +51,8 @@ export class VirtualForm {
|
|
|
92
51
|
formData.append('__superform_id', '1');
|
|
93
52
|
formData.append('__superform_json', stringify(encodedData));
|
|
94
53
|
const res = await fetch(this.#url, {
|
|
95
|
-
|
|
96
|
-
|
|
54
|
+
body: formData,
|
|
55
|
+
method: 'POST'
|
|
97
56
|
});
|
|
98
57
|
const result = await res.json();
|
|
99
58
|
if (!res.ok || result.status === 400) {
|
|
@@ -122,13 +81,54 @@ export class VirtualForm {
|
|
|
122
81
|
}
|
|
123
82
|
catch (err) {
|
|
124
83
|
console.error(err);
|
|
125
|
-
this.#onError?.({
|
|
84
|
+
this.#onError?.({ data: err, showToast: false, success: false, text: 'Network error' });
|
|
126
85
|
}
|
|
127
86
|
this.#isProcessing = false;
|
|
128
87
|
this.#update();
|
|
129
88
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
89
|
+
// Apply transport decoding to received data
|
|
90
|
+
#decodeTransport(data) {
|
|
91
|
+
if (!this.#transport || typeof data !== 'object' || data === null) {
|
|
92
|
+
return data;
|
|
93
|
+
}
|
|
94
|
+
// Handle arrays
|
|
95
|
+
if (Array.isArray(data)) {
|
|
96
|
+
return data.map((item) => this.#decodeTransport(item));
|
|
97
|
+
}
|
|
98
|
+
// Check if this is a transport-encoded value
|
|
99
|
+
const obj = data;
|
|
100
|
+
if (obj.__type && obj.__value && this.#transport[obj.__type]) {
|
|
101
|
+
return this.#transport[obj.__type].decode(obj.__value);
|
|
102
|
+
}
|
|
103
|
+
// Recursively decode nested objects
|
|
104
|
+
const result = {};
|
|
105
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
106
|
+
result[key] = this.#decodeTransport(value);
|
|
107
|
+
}
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
// Apply transport encoding to data before sending
|
|
111
|
+
#encodeTransport(data) {
|
|
112
|
+
if (!this.#transport || typeof data !== 'object' || data === null) {
|
|
113
|
+
return data;
|
|
114
|
+
}
|
|
115
|
+
// Handle arrays
|
|
116
|
+
if (Array.isArray(data)) {
|
|
117
|
+
return data.map((item) => this.#encodeTransport(item));
|
|
118
|
+
}
|
|
119
|
+
// Try each transport encoder
|
|
120
|
+
for (const [key, encoder] of Object.entries(this.#transport)) {
|
|
121
|
+
const encoded = encoder.encode(data);
|
|
122
|
+
if (encoded !== false) {
|
|
123
|
+
return { __type: key, __value: encoded };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Recursively encode nested objects
|
|
127
|
+
const result = {};
|
|
128
|
+
for (const [key, value] of Object.entries(data)) {
|
|
129
|
+
result[key] = this.#encodeTransport(value);
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
133
132
|
}
|
|
133
|
+
#update = () => { };
|
|
134
134
|
}
|
package/dist/utils/search.d.ts
CHANGED
package/dist/utils/search.js
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
export function fuzzySearch(needle, haystack) {
|
|
2
|
+
const hlen = haystack.length;
|
|
3
|
+
const nlen = needle.length;
|
|
4
|
+
if (nlen > hlen) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
if (nlen === hlen) {
|
|
8
|
+
return needle.toLowerCase() === haystack.toLowerCase();
|
|
9
|
+
}
|
|
10
|
+
const lowerNeedle = needle.toLowerCase();
|
|
11
|
+
const lowerHaystack = haystack.toLowerCase();
|
|
12
|
+
outer: for (let i = 0, j = 0; i < nlen; i++) {
|
|
13
|
+
const nch = lowerNeedle.charCodeAt(i);
|
|
14
|
+
while (j < hlen) {
|
|
15
|
+
if (lowerHaystack.charCodeAt(j++) === nch) {
|
|
16
|
+
continue outer;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
1
23
|
export function fuzzySearchHighlight(needle, haystack) {
|
|
2
24
|
const hlen = haystack.length;
|
|
3
25
|
const nlen = needle.length;
|
|
@@ -39,25 +61,3 @@ export function fuzzySearchHighlight(needle, haystack) {
|
|
|
39
61
|
return null;
|
|
40
62
|
return `<span>${result}</span>`;
|
|
41
63
|
}
|
|
42
|
-
export function fuzzySearch(needle, haystack) {
|
|
43
|
-
const hlen = haystack.length;
|
|
44
|
-
const nlen = needle.length;
|
|
45
|
-
if (nlen > hlen) {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
if (nlen === hlen) {
|
|
49
|
-
return needle.toLowerCase() === haystack.toLowerCase();
|
|
50
|
-
}
|
|
51
|
-
const lowerNeedle = needle.toLowerCase();
|
|
52
|
-
const lowerHaystack = haystack.toLowerCase();
|
|
53
|
-
outer: for (let i = 0, j = 0; i < nlen; i++) {
|
|
54
|
-
const nch = lowerNeedle.charCodeAt(i);
|
|
55
|
-
while (j < hlen) {
|
|
56
|
-
if (lowerHaystack.charCodeAt(j++) === nch) {
|
|
57
|
-
continue outer;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Type } from 'arktype';
|
|
1
|
+
import type { Type } from 'arktype';
|
|
2
|
+
import { CalendarDate as calendarImport, Time as timeImport } from '@internationalized/date';
|
|
2
3
|
import { Days } from '../datetime/index.js';
|
|
3
|
-
import { Time as timeImport, CalendarDate as calendarImport } from '@internationalized/date';
|
|
4
4
|
export declare const Phone: import("arktype/internal/variants/string.ts").StringType<string, {}>;
|
|
5
5
|
/** Type string which is trimmed before narrowing the type checking */
|
|
6
6
|
export declare function trimTo(typeTo: Type<string>): import("arktype/internal/variants/object.ts").ObjectType<(In: string) => import("arktype/internal/attributes.ts").To<string>, {}>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CalendarDate as calendarImport, Time as timeImport } from '@internationalized/date';
|
|
2
|
+
import { type } from 'arktype';
|
|
2
3
|
import { Days } from '../datetime/index.js';
|
|
3
|
-
import { Time as timeImport, CalendarDate as calendarImport } from '@internationalized/date';
|
|
4
|
-
import { EMAIL_MAX, FIRST_NAME_MAX, LAST_NAME_MAX, NAME_MAX } from './consts.js';
|
|
5
4
|
import { toTitleCase } from '../string.js';
|
|
5
|
+
import { EMAIL_MAX, FIRST_NAME_MAX, LAST_NAME_MAX, NAME_MAX } from './consts.js';
|
|
6
6
|
// Phone arktype: allows "+", digits, and spaces only
|
|
7
7
|
export const Phone = type('string').narrow((value, ctx) => {
|
|
8
8
|
if (!/^[+0-9 ]+$/.test(value)) {
|
package/dist/utils/types/db.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CalendarDate
|
|
1
|
+
import type { CalendarDate } from '@internationalized/date';
|
|
2
|
+
import { type Time } from '@internationalized/date';
|
|
2
3
|
export declare function stringEnum<T extends string>(): import("drizzle-orm/column-builder", { with: { "resolution-mode": "require" } }).$Type<import("drizzle-orm/pg-core", { with: { "resolution-mode": "require" } }).PgVarcharBuilderInitial<"", [string, ...string[]], 50>, T>;
|
|
3
4
|
export declare const name: () => import("drizzle-orm/pg-core", { with: { "resolution-mode": "require" } }).PgVarcharBuilderInitial<"", [string, ...string[]], 50>;
|
|
4
5
|
export declare const hexColor: () => import("drizzle-orm/pg-core", { with: { "resolution-mode": "require" } }).PgVarcharBuilderInitial<"", [string, ...string[]], 6>;
|
package/dist/utils/types/db.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { parseDate, parseTime } from '@internationalized/date';
|
|
1
2
|
import { customType, varchar } from 'drizzle-orm/pg-core';
|
|
2
3
|
import { HEX_COLOR_MAX, NAME_MAX } from './consts.js';
|
|
3
|
-
import { CalendarDate, parseDate, parseTime } from '@internationalized/date';
|
|
4
4
|
// General
|
|
5
5
|
const STRING_ENUM_MAX = 50;
|
|
6
6
|
export function stringEnum() {
|
|
@@ -14,21 +14,21 @@ export const time = customType({
|
|
|
14
14
|
dataType() {
|
|
15
15
|
return 'time(0)';
|
|
16
16
|
},
|
|
17
|
-
toDriver(time) {
|
|
18
|
-
return time.toString();
|
|
19
|
-
},
|
|
20
17
|
fromDriver(value) {
|
|
21
18
|
return parseTime(value);
|
|
19
|
+
},
|
|
20
|
+
toDriver(time) {
|
|
21
|
+
return time.toString();
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
export const date = customType({
|
|
25
25
|
dataType() {
|
|
26
26
|
return 'date';
|
|
27
27
|
},
|
|
28
|
-
toDriver(date) {
|
|
29
|
-
return date.toString();
|
|
30
|
-
},
|
|
31
28
|
fromDriver(value) {
|
|
32
29
|
return parseDate(value);
|
|
30
|
+
},
|
|
31
|
+
toDriver(date) {
|
|
32
|
+
return date.toString();
|
|
33
33
|
}
|
|
34
34
|
});
|
package/package.json
CHANGED
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webamoki/web-svelte",
|
|
3
3
|
"publishConfig": {
|
|
4
|
-
"access": "public"
|
|
4
|
+
"access": "public",
|
|
5
|
+
"provenance": true
|
|
5
6
|
},
|
|
6
|
-
"version": "0.
|
|
7
|
+
"version": "1.0.0",
|
|
7
8
|
"license": "MIT",
|
|
8
9
|
"repository": {
|
|
9
10
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/Webamoki/Web-svelte"
|
|
11
|
+
"url": "git+https://github.com/Webamoki/Web-svelte.git"
|
|
12
|
+
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"dev": "vite dev",
|
|
15
|
+
"build:site": "vite build",
|
|
16
|
+
"build:lib": "pnpm prepack",
|
|
17
|
+
"preview": "vite preview",
|
|
18
|
+
"prepare": "svelte-kit sync || echo ''",
|
|
19
|
+
"prepack": "svelte-kit sync && svelte-package && publint",
|
|
20
|
+
"check": "pnpm fmt && pnpm lint:es --fix && pnpm lint:svelte && pnpm test",
|
|
21
|
+
"fmt": "prettier --write --cache --cache-location=.cache/.prettier-cache --cache-strategy metadata --log-level warn .",
|
|
22
|
+
"lint": "pnpm lint:es && pnpm lint:svelte",
|
|
23
|
+
"lint:es": "eslint --cache --cache-location .cache/.eslintcache --cache-strategy metadata .",
|
|
24
|
+
"lint:svelte": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
25
|
+
"test:unit": "vitest run",
|
|
26
|
+
"test": "pnpm test:unit",
|
|
27
|
+
"watch": "svelte-package --watch"
|
|
11
28
|
},
|
|
12
29
|
"files": [
|
|
13
30
|
"dist",
|
|
@@ -72,69 +89,67 @@
|
|
|
72
89
|
"sveltekit-superforms": "^2.28.1"
|
|
73
90
|
},
|
|
74
91
|
"devDependencies": {
|
|
75
|
-
"@
|
|
76
|
-
"@eslint/
|
|
77
|
-
"@
|
|
78
|
-
"@sveltejs/
|
|
79
|
-
"@sveltejs/
|
|
80
|
-
"@sveltejs/
|
|
81
|
-
"@
|
|
82
|
-
"@tailwindcss/forms": "^0.5.10",
|
|
92
|
+
"@eslint/compat": "^2.0.3",
|
|
93
|
+
"@eslint/js": "^9.39.4",
|
|
94
|
+
"@sveltejs/adapter-static": "^3.0.10",
|
|
95
|
+
"@sveltejs/kit": "^2.54.0",
|
|
96
|
+
"@sveltejs/package": "^2.5.7",
|
|
97
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
98
|
+
"@tailwindcss/forms": "^0.5.11",
|
|
83
99
|
"@tailwindcss/typography": "^0.5.19",
|
|
84
|
-
"@tailwindcss/vite": "^4.1
|
|
85
|
-
"@types/node": "^
|
|
100
|
+
"@tailwindcss/vite": "^4.2.1",
|
|
101
|
+
"@types/node": "^25.4.0",
|
|
86
102
|
"@types/ramda": "^0.31.1",
|
|
87
103
|
"@types/sorted-array-functions": "^1.3.3",
|
|
88
104
|
"clsx": "^2.1.1",
|
|
89
|
-
"eslint": "^9.39.
|
|
105
|
+
"eslint": "^9.39.4",
|
|
90
106
|
"eslint-config-prettier": "^10.1.8",
|
|
91
|
-
"eslint-plugin-
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"prettier
|
|
95
|
-
"prettier-plugin-
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
107
|
+
"eslint-plugin-perfectionist": "^5.6.0",
|
|
108
|
+
"eslint-plugin-svelte": "^3.15.2",
|
|
109
|
+
"globals": "^17.4.0",
|
|
110
|
+
"prettier": "^3.8.1",
|
|
111
|
+
"prettier-plugin-svelte": "^3.5.1",
|
|
112
|
+
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
113
|
+
"publint": "^0.3.18",
|
|
114
|
+
"semantic-release": "^25.0.3",
|
|
115
|
+
"shiki": "^4.0.2",
|
|
116
|
+
"svelte": "^5.53.10",
|
|
117
|
+
"svelte-check": "^4.4.5",
|
|
118
|
+
"svelte-eslint-parser": "^1.6.0",
|
|
119
|
+
"tailwind-merge": "^3.5.0",
|
|
120
|
+
"tailwind-variants": "^3.2.2",
|
|
121
|
+
"tailwindcss": "^4.2.1",
|
|
103
122
|
"tw-animate-css": "^1.4.0",
|
|
104
123
|
"typescript": "^5.9.3",
|
|
105
|
-
"typescript-eslint": "^8.
|
|
106
|
-
"vite": "^7.
|
|
107
|
-
"vitest": "^
|
|
124
|
+
"typescript-eslint": "^8.57.0",
|
|
125
|
+
"vite": "^7.3.1",
|
|
126
|
+
"vitest": "^4.0.18"
|
|
108
127
|
},
|
|
109
128
|
"keywords": [
|
|
110
129
|
"svelte"
|
|
111
130
|
],
|
|
131
|
+
"pnpm": {
|
|
132
|
+
"onlyBuiltDependencies": [
|
|
133
|
+
"@tailwindcss/oxide",
|
|
134
|
+
"esbuild",
|
|
135
|
+
"sharp"
|
|
136
|
+
],
|
|
137
|
+
"ignoredBuiltDependencies": [
|
|
138
|
+
"workerd"
|
|
139
|
+
]
|
|
140
|
+
},
|
|
112
141
|
"dependencies": {
|
|
113
|
-
"@internationalized/date": "^3.
|
|
114
|
-
"@lucide/svelte": "^0.
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"drizzle-orm": "^0.44.7",
|
|
142
|
+
"@internationalized/date": "^3.12.0",
|
|
143
|
+
"@lucide/svelte": "^0.577.0",
|
|
144
|
+
"arktype": "^2.2.0",
|
|
145
|
+
"bits-ui": "^2.16.3",
|
|
146
|
+
"devalue": "^5.6.4",
|
|
147
|
+
"drizzle-orm": "^0.45.1",
|
|
120
148
|
"formsnap": "^2.0.1",
|
|
121
|
-
"ramda": "^0.
|
|
149
|
+
"ramda": "^0.32.0",
|
|
122
150
|
"sorted-array-functions": "^1.3.0",
|
|
123
|
-
"svelte-awesome-color-picker": "^4.1.
|
|
124
|
-
"svelte-sonner": "^1.0
|
|
125
|
-
"sveltekit-superforms": "^2.
|
|
126
|
-
},
|
|
127
|
-
"scripts": {
|
|
128
|
-
"dev": "vite dev",
|
|
129
|
-
"build": "vite build && pnpm prepack",
|
|
130
|
-
"preview": "vite preview",
|
|
131
|
-
"check": "pnpm fmt && pnpm lint && pnpm test",
|
|
132
|
-
"fmt": "prettier --write --cache --cache-location=.cache/.prettier-cache --cache-strategy metadata --log-level warn .",
|
|
133
|
-
"lint": "pnpm lint:es && pnpm lint:svelte",
|
|
134
|
-
"lint:es": "eslint --cache --cache-location .cache/.eslintcache --cache-strategy metadata .",
|
|
135
|
-
"lint:svelte": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
136
|
-
"test:unit": "vitest run",
|
|
137
|
-
"test": "pnpm test:unit",
|
|
138
|
-
"watch": "svelte-package --watch"
|
|
151
|
+
"svelte-awesome-color-picker": "^4.1.1",
|
|
152
|
+
"svelte-sonner": "^1.1.0",
|
|
153
|
+
"sveltekit-superforms": "^2.30.0"
|
|
139
154
|
}
|
|
140
|
-
}
|
|
155
|
+
}
|