@webamoki/web-svelte 0.8.0 → 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 -25
- package/dist/components/ui/choice/Choice.svelte.d.ts +7 -7
- package/dist/components/ui/choice/ChoiceInternal.svelte +73 -72
- package/dist/components/ui/choice/ChoiceInternal.svelte.d.ts +9 -9
- package/dist/components/ui/choice/ChoiceMulti.svelte +59 -56
- 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 +66 -66
- 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 -8
- package/dist/utils/email/ses.js +9 -9
- 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 +46 -31
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,31 +89,33 @@
|
|
|
72
89
|
"sveltekit-superforms": "^2.28.1"
|
|
73
90
|
},
|
|
74
91
|
"devDependencies": {
|
|
75
|
-
"@
|
|
76
|
-
"@eslint/compat": "^1.4.1",
|
|
92
|
+
"@eslint/compat": "^2.0.3",
|
|
77
93
|
"@eslint/js": "^9.39.4",
|
|
78
|
-
"@sveltejs/adapter-
|
|
79
|
-
"@sveltejs/kit": "^2.
|
|
94
|
+
"@sveltejs/adapter-static": "^3.0.10",
|
|
95
|
+
"@sveltejs/kit": "^2.54.0",
|
|
80
96
|
"@sveltejs/package": "^2.5.7",
|
|
81
97
|
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
82
98
|
"@tailwindcss/forms": "^0.5.11",
|
|
83
99
|
"@tailwindcss/typography": "^0.5.19",
|
|
84
100
|
"@tailwindcss/vite": "^4.2.1",
|
|
85
|
-
"@types/node": "^
|
|
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
105
|
"eslint": "^9.39.4",
|
|
90
106
|
"eslint-config-prettier": "^10.1.8",
|
|
107
|
+
"eslint-plugin-perfectionist": "^5.6.0",
|
|
91
108
|
"eslint-plugin-svelte": "^3.15.2",
|
|
92
|
-
"globals": "^
|
|
109
|
+
"globals": "^17.4.0",
|
|
93
110
|
"prettier": "^3.8.1",
|
|
94
111
|
"prettier-plugin-svelte": "^3.5.1",
|
|
95
112
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
96
113
|
"publint": "^0.3.18",
|
|
97
|
-
"
|
|
98
|
-
"
|
|
114
|
+
"semantic-release": "^25.0.3",
|
|
115
|
+
"shiki": "^4.0.2",
|
|
116
|
+
"svelte": "^5.53.10",
|
|
99
117
|
"svelte-check": "^4.4.5",
|
|
118
|
+
"svelte-eslint-parser": "^1.6.0",
|
|
100
119
|
"tailwind-merge": "^3.5.0",
|
|
101
120
|
"tailwind-variants": "^3.2.2",
|
|
102
121
|
"tailwindcss": "^4.2.1",
|
|
@@ -104,37 +123,33 @@
|
|
|
104
123
|
"typescript": "^5.9.3",
|
|
105
124
|
"typescript-eslint": "^8.57.0",
|
|
106
125
|
"vite": "^7.3.1",
|
|
107
|
-
"vitest": "^
|
|
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
142
|
"@internationalized/date": "^3.12.0",
|
|
114
|
-
"@lucide/svelte": "^0.
|
|
115
|
-
"@sveltejs/adapter-auto": "^7.0.1",
|
|
143
|
+
"@lucide/svelte": "^0.577.0",
|
|
116
144
|
"arktype": "^2.2.0",
|
|
117
145
|
"bits-ui": "^2.16.3",
|
|
118
|
-
"devalue": "^5.6.
|
|
119
|
-
"drizzle-orm": "^0.
|
|
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
151
|
"svelte-awesome-color-picker": "^4.1.1",
|
|
124
152
|
"svelte-sonner": "^1.1.0",
|
|
125
153
|
"sveltekit-superforms": "^2.30.0"
|
|
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"
|
|
139
154
|
}
|
|
140
|
-
}
|
|
155
|
+
}
|