@orochibraru/ui 0.0.0 → 1.0.0-canary.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/README.md +97 -21
- package/dist/components/blocks/accent-toggle.svelte +85 -0
- package/dist/components/blocks/accent-toggle.svelte.d.ts +18 -0
- package/dist/components/blocks/bottom-nav.svelte +67 -0
- package/dist/components/blocks/bottom-nav.svelte.d.ts +18 -0
- package/dist/components/blocks/music-player/format-time.d.ts +2 -0
- package/dist/components/blocks/music-player/format-time.js +13 -0
- package/dist/components/blocks/music-player/labelled-slider.svelte +36 -0
- package/dist/components/blocks/music-player/labelled-slider.svelte.d.ts +15 -0
- package/dist/components/blocks/music-player/volume-control.svelte +48 -0
- package/dist/components/blocks/music-player/volume-control.svelte.d.ts +7 -0
- package/dist/components/blocks/music-player.svelte +263 -0
- package/dist/components/blocks/music-player.svelte.d.ts +26 -0
- package/dist/components/blocks/nav-cards.svelte +42 -0
- package/dist/components/blocks/nav-cards.svelte.d.ts +15 -0
- package/dist/components/blocks/new-password-fields.svelte +127 -0
- package/dist/components/blocks/new-password-fields.svelte.d.ts +19 -0
- package/dist/components/blocks/option-group.svelte +71 -0
- package/dist/components/blocks/option-group.svelte.d.ts +20 -0
- package/dist/components/blocks/otp-field.svelte +59 -0
- package/dist/components/blocks/otp-field.svelte.d.ts +12 -0
- package/dist/components/blocks/password-input.svelte +51 -0
- package/dist/components/blocks/password-input.svelte.d.ts +11 -0
- package/dist/components/blocks/stat-card.svelte +1 -1
- package/dist/components/blocks/tab-nav.svelte +38 -0
- package/dist/components/blocks/tab-nav.svelte.d.ts +14 -0
- package/dist/components/blocks/tab-section.svelte +48 -0
- package/dist/components/blocks/tab-section.svelte.d.ts +12 -0
- package/dist/components/blocks/theme-picker.svelte +69 -0
- package/dist/components/blocks/theme-picker.svelte.d.ts +16 -0
- package/dist/components/blocks/theme-toggle.svelte +68 -0
- package/dist/components/blocks/theme-toggle.svelte.d.ts +12 -0
- package/dist/components/blocks/video-player/center-controls.svelte +54 -0
- package/dist/components/blocks/video-player/center-controls.svelte.d.ts +10 -0
- package/dist/components/blocks/video-player/control-bar.svelte +184 -0
- package/dist/components/blocks/video-player/control-bar.svelte.d.ts +18 -0
- package/dist/components/blocks/video-player/control-button.svelte +54 -0
- package/dist/components/blocks/video-player/control-button.svelte.d.ts +13 -0
- package/dist/components/blocks/video-player/format.d.ts +9 -0
- package/dist/components/blocks/video-player/format.js +24 -0
- package/dist/components/blocks/video-player/gesture-feedback.svelte +32 -0
- package/dist/components/blocks/video-player/gesture-feedback.svelte.d.ts +7 -0
- package/dist/components/blocks/video-player/gestures.d.ts +13 -0
- package/dist/components/blocks/video-player/gestures.js +25 -0
- package/dist/components/blocks/video-player/keymap.d.ts +14 -0
- package/dist/components/blocks/video-player/keymap.js +55 -0
- package/dist/components/blocks/video-player/messages.d.ts +22 -0
- package/dist/components/blocks/video-player/messages.js +21 -0
- package/dist/components/blocks/video-player/option-menu.svelte +85 -0
- package/dist/components/blocks/video-player/option-menu.svelte.d.ts +18 -0
- package/dist/components/blocks/video-player/player.svelte.d.ts +37 -0
- package/dist/components/blocks/video-player/player.svelte.js +115 -0
- package/dist/components/blocks/video-player/scrub-bar.svelte +95 -0
- package/dist/components/blocks/video-player/scrub-bar.svelte.d.ts +12 -0
- package/dist/components/blocks/video-player/tap-gestures.svelte.d.ts +19 -0
- package/dist/components/blocks/video-player/tap-gestures.svelte.js +56 -0
- package/dist/components/blocks/video-player.svelte +288 -0
- package/dist/components/blocks/video-player.svelte.d.ts +29 -0
- package/dist/components/ui/accordion/accordion.svelte.d.ts +1 -1
- package/dist/components/ui/calendar/calendar.svelte.d.ts +1 -1
- package/dist/components/ui/command/command-dialog.svelte.d.ts +1 -1
- package/dist/components/ui/command/command-input.svelte.d.ts +1 -1
- package/dist/components/ui/command/command.svelte.d.ts +1 -1
- package/dist/components/ui/context-menu/context-menu-radio-group.svelte.d.ts +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +1 -1
- package/dist/components/ui/input/input.svelte +2 -2
- package/dist/components/ui/input/input.svelte.d.ts +1 -1
- package/dist/components/ui/input-group/input-group-input.svelte.d.ts +2 -2
- package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +1 -1
- package/dist/components/ui/input-group/input-group.svelte +1 -1
- package/dist/components/ui/input-otp/input-otp-slot.svelte +1 -1
- package/dist/components/ui/input-otp/input-otp.svelte.d.ts +1 -1
- package/dist/components/ui/menubar/menubar-radio-group.svelte.d.ts +1 -1
- package/dist/components/ui/radio-group/radio-group.svelte.d.ts +1 -1
- package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +1 -1
- package/dist/components/ui/select/select-trigger.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +2 -2
- package/dist/components/ui/slider/slider.svelte.d.ts +1 -1
- package/dist/components/ui/tabs/tabs.svelte.d.ts +1 -1
- package/dist/components/ui/textarea/textarea.svelte +1 -1
- package/dist/components/ui/textarea/textarea.svelte.d.ts +1 -1
- package/dist/components/ui/toggle/toggle.svelte.d.ts +1 -1
- package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +1 -1
- package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +1 -1
- package/dist/mcp-content.json +1 -0
- package/dist/mcp.js +83 -0
- package/dist/password.d.ts +11 -0
- package/dist/password.js +38 -0
- package/package.json +15 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface PasswordRule {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
passed: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const passwordMinLength = 12;
|
|
7
|
+
export declare const passwordMaxLength = 128;
|
|
8
|
+
/** Every rule a new password must pass, evaluated for `password`; `email` rules out passwords built from the address. */
|
|
9
|
+
export declare function passwordRules(password: string, email?: string): PasswordRule[];
|
|
10
|
+
/** A 0 to 4 score for a strength meter: rules passed, plus a point for a long password. */
|
|
11
|
+
export declare function passwordScore(password: string, email?: string): number;
|
package/dist/password.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const passwordMinLength = 12;
|
|
2
|
+
export const passwordMaxLength = 128;
|
|
3
|
+
/** Every rule a new password must pass, evaluated for `password`; `email` rules out passwords built from the address. */
|
|
4
|
+
export function passwordRules(password, email = "") {
|
|
5
|
+
const classes = [/[a-z]/, /[A-Z]/, /\d/, /[^a-zA-Z\d]/].filter((pattern) => pattern.test(password)).length;
|
|
6
|
+
const localPart = email.split("@")[0]?.toLowerCase() ?? "";
|
|
7
|
+
return [
|
|
8
|
+
{
|
|
9
|
+
id: "length",
|
|
10
|
+
label: `At least ${passwordMinLength} characters`,
|
|
11
|
+
passed: password.length >= passwordMinLength,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: "variety",
|
|
15
|
+
label: "Three of: lowercase, uppercase, digit, symbol",
|
|
16
|
+
passed: classes >= 3,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: "email",
|
|
20
|
+
label: "Doesn't contain your email name",
|
|
21
|
+
passed: localPart.length < 3 || !password.toLowerCase().includes(localPart),
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "max",
|
|
25
|
+
label: `At most ${passwordMaxLength} characters`,
|
|
26
|
+
passed: password.length <= passwordMaxLength,
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
/** A 0 to 4 score for a strength meter: rules passed, plus a point for a long password. */
|
|
31
|
+
export function passwordScore(password, email = "") {
|
|
32
|
+
if (!password) {
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
const passed = passwordRules(password, email).filter((rule) => rule.passed).length;
|
|
36
|
+
const lengthBonus = password.length >= 16 ? 1 : 0;
|
|
37
|
+
return Math.min(4, Math.max(1, passed - 1 + lengthBonus));
|
|
38
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orochibraru/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "1.0.0-canary.1",
|
|
4
4
|
"description": "Svelte 5 components and theme shared by OpenCount, LocalAssistant, Homerun, Sergio's, Nuvio Web and Penombre.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
"url": "git+https://github.com/orochibraru/ui.git"
|
|
9
9
|
},
|
|
10
10
|
"type": "module",
|
|
11
|
+
"bin": {
|
|
12
|
+
"orochibraru-ui-mcp": "dist/mcp.js"
|
|
13
|
+
},
|
|
11
14
|
"packageManager": "bun@1.4.4",
|
|
12
15
|
"files": [
|
|
13
16
|
"dist",
|
|
@@ -31,6 +34,10 @@
|
|
|
31
34
|
"types": "./dist/toast.d.ts",
|
|
32
35
|
"default": "./dist/toast.js"
|
|
33
36
|
},
|
|
37
|
+
"./password": {
|
|
38
|
+
"types": "./dist/password.d.ts",
|
|
39
|
+
"default": "./dist/password.js"
|
|
40
|
+
},
|
|
34
41
|
"./haptics": {
|
|
35
42
|
"types": "./dist/haptics.d.ts",
|
|
36
43
|
"default": "./dist/haptics.js"
|
|
@@ -54,7 +61,8 @@
|
|
|
54
61
|
},
|
|
55
62
|
"scripts": {
|
|
56
63
|
"dev": "vite dev",
|
|
57
|
-
"build": "svelte-kit sync && svelte-package && publint --strict",
|
|
64
|
+
"build": "svelte-kit sync && svelte-package && bun scripts/build-mcp.ts && publint --strict",
|
|
65
|
+
"build:docs": "vite build",
|
|
58
66
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --fail-on-warnings",
|
|
59
67
|
"format": "bun fmt",
|
|
60
68
|
"lint": "prek run --all-files",
|
|
@@ -83,6 +91,8 @@
|
|
|
83
91
|
"devDependencies": {
|
|
84
92
|
"@happy-dom/global-registrator": "21.0.4",
|
|
85
93
|
"@j178/prek": "0.5.7",
|
|
94
|
+
"@modelcontextprotocol/sdk": "1.32.2",
|
|
95
|
+
"@sveltejs/adapter-bun": "1.0.0",
|
|
86
96
|
"@sveltejs/kit": "3.1.0",
|
|
87
97
|
"@sveltejs/package": "3.0.1",
|
|
88
98
|
"@sveltejs/vite-plugin-svelte": "7.3.1",
|
|
@@ -93,12 +103,14 @@
|
|
|
93
103
|
"oxlint": "1.90.0",
|
|
94
104
|
"oxlint-tsgolint": "7.0.2005",
|
|
95
105
|
"publint": "0.3.25",
|
|
106
|
+
"shiki": "4.5.0",
|
|
96
107
|
"svelte": "5.57.3",
|
|
97
108
|
"svelte-check": "4.7.7",
|
|
98
109
|
"tailwindcss": "4.3.3",
|
|
99
110
|
"tailwint": "1.1.16",
|
|
100
111
|
"typescript": "6.0.3",
|
|
101
|
-
"vite": "8.3.5"
|
|
112
|
+
"vite": "8.3.5",
|
|
113
|
+
"zod": "4.6.7"
|
|
102
114
|
},
|
|
103
115
|
"keywords": [
|
|
104
116
|
"svelte",
|