rune-lab 0.2.2 → 0.2.3
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/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/money/index.d.ts +2 -0
- package/dist/core/money/index.d.ts.map +1 -0
- package/dist/core/money/index.js +2 -0
- package/dist/core/money/money.d.ts +37 -0
- package/dist/core/money/money.d.ts.map +1 -0
- package/dist/core/money/money.js +79 -0
- package/dist/index.d.ts +0 -6
- package/dist/index.js +1 -7
- package/dist/state/auth/index.d.ts +2 -0
- package/dist/state/auth/index.js +2 -0
- package/dist/state/auth/session.svelte.d.ts +40 -0
- package/dist/state/auth/session.svelte.js +57 -0
- package/dist/state/auth/types.d.ts +30 -0
- package/dist/state/auth/types.js +3 -0
- package/dist/state/cart.svelte.d.ts +64 -0
- package/dist/state/cart.svelte.js +122 -0
- package/dist/state/composables/useMoney.d.ts +15 -0
- package/dist/state/composables/useMoney.js +48 -0
- package/dist/state/composables/useRuneLab.d.ts +3 -1
- package/dist/state/composables/useRuneLab.js +11 -0
- package/dist/state/context.d.ts +2 -0
- package/dist/state/context.js +2 -0
- package/dist/state/createConfigStore.svelte.d.ts +8 -3
- package/dist/state/createConfigStore.svelte.js +10 -0
- package/dist/state/currency.svelte.d.ts +9 -1
- package/dist/state/currency.svelte.js +28 -7
- package/dist/state/index.d.ts +7 -4
- package/dist/state/index.js +6 -2
- package/dist/state/language.svelte.d.ts +1 -0
- package/dist/state/persistence/drivers.d.ts +3 -1
- package/dist/state/persistence/drivers.js +5 -1
- package/dist/state/theme.svelte.d.ts +9 -1
- package/dist/state/theme.svelte.js +34 -8
- package/dist/ui/components/Icon.svelte +5 -2
- package/dist/ui/components/RuneProvider.svelte +59 -4
- package/dist/ui/components/RuneProvider.svelte.d.ts +19 -0
- package/dist/ui/components/money/MoneyDisplay.svelte +59 -0
- package/dist/ui/components/money/MoneyDisplay.svelte.d.ts +13 -0
- package/dist/ui/components/money/MoneyInput.svelte +106 -0
- package/dist/ui/components/money/MoneyInput.svelte.d.ts +19 -0
- package/dist/ui/components/money/index.d.ts +2 -0
- package/dist/ui/components/money/index.js +3 -0
- package/dist/ui/components/user/UserAvatar.svelte +66 -0
- package/dist/ui/components/user/UserAvatar.svelte.d.ts +13 -0
- package/dist/ui/components/user/UserProfile.svelte +79 -0
- package/dist/ui/components/user/UserProfile.svelte.d.ts +17 -0
- package/dist/ui/components/user/index.d.ts +2 -0
- package/dist/ui/components/user/index.js +3 -0
- package/dist/ui/features/notifications/NotificationBell.svelte +89 -0
- package/dist/ui/features/notifications/NotificationBell.svelte.d.ts +11 -0
- package/dist/ui/features/notifications/index.d.ts +1 -0
- package/dist/ui/features/notifications/index.js +2 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +10 -0
- package/dist/ui/layout/WorkspaceLayout.svelte +9 -0
- package/dist/ui/paraglide/messages/_index.d.ts +4 -0
- package/dist/ui/paraglide/messages/_index.js +4 -0
- package/dist/ui/paraglide/messages/brl3.d.ts +17 -0
- package/dist/ui/paraglide/messages/brl3.js +85 -0
- package/dist/ui/paraglide/messages/cad3.d.ts +17 -0
- package/dist/ui/paraglide/messages/cad3.js +85 -0
- package/dist/ui/paraglide/messages/gbp3.d.ts +17 -0
- package/dist/ui/paraglide/messages/gbp3.js +85 -0
- package/dist/ui/paraglide/messages/inr3.d.ts +17 -0
- package/dist/ui/paraglide/messages/inr3.js +85 -0
- package/dist/ui/primitives/DatePicker.svelte +257 -0
- package/dist/ui/primitives/DatePicker.svelte.d.ts +17 -0
- package/dist/ui/primitives/index.d.ts +1 -0
- package/dist/ui/primitives/index.js +3 -0
- package/package.json +28 -18
- package/dist/state/config.d.ts +0 -4
- package/dist/state/config.js +0 -8
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
UserAvatar — Universal user identity primitive.
|
|
3
|
+
Renders avatar image or falls back to generated initials.
|
|
4
|
+
Zero domain knowledge.
|
|
5
|
+
-->
|
|
6
|
+
<script module lang="ts">
|
|
7
|
+
export interface UserAvatarProps {
|
|
8
|
+
/** User's display name (used for initials fallback) */
|
|
9
|
+
name: string;
|
|
10
|
+
/** URL to avatar image */
|
|
11
|
+
avatar_url?: string;
|
|
12
|
+
/** Size variant */
|
|
13
|
+
size?: "xs" | "sm" | "md" | "lg";
|
|
14
|
+
/** Show online indicator */
|
|
15
|
+
online?: boolean;
|
|
16
|
+
}
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
let { name, avatar_url, size = "md", online }: UserAvatarProps = $props();
|
|
21
|
+
|
|
22
|
+
const sizeClasses: Record<string, string> = {
|
|
23
|
+
xs: "w-6 h-6 text-[10px]",
|
|
24
|
+
sm: "w-8 h-8 text-xs",
|
|
25
|
+
md: "w-10 h-10 text-sm",
|
|
26
|
+
lg: "w-14 h-14 text-lg",
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const initials = $derived(
|
|
30
|
+
name
|
|
31
|
+
.split(/\s+/)
|
|
32
|
+
.filter(Boolean)
|
|
33
|
+
.slice(0, 2)
|
|
34
|
+
.map((word) => word[0].toUpperCase())
|
|
35
|
+
.join(""),
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Deterministic color from name — generates a consistent hue
|
|
40
|
+
* so the same user always gets the same color
|
|
41
|
+
*/
|
|
42
|
+
const bgHue = $derived(
|
|
43
|
+
name.split("").reduce((hash, char) => {
|
|
44
|
+
return char.charCodeAt(0) + ((hash << 5) - hash);
|
|
45
|
+
}, 0) % 360,
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
const bgColor = $derived(`hsl(${Math.abs(bgHue)}, 60%, 45%)`);
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<div class="avatar placeholder" class:online>
|
|
52
|
+
<div
|
|
53
|
+
class="rounded-full {sizeClasses[size]}"
|
|
54
|
+
style={avatar_url ? undefined : `background-color: ${bgColor}`}
|
|
55
|
+
>
|
|
56
|
+
{#if avatar_url}
|
|
57
|
+
<img
|
|
58
|
+
src={avatar_url}
|
|
59
|
+
alt={`${name}'s avatar`}
|
|
60
|
+
class="rounded-full object-cover"
|
|
61
|
+
/>
|
|
62
|
+
{:else}
|
|
63
|
+
<span class="text-white font-semibold select-none">{initials}</span>
|
|
64
|
+
{/if}
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface UserAvatarProps {
|
|
2
|
+
/** User's display name (used for initials fallback) */
|
|
3
|
+
name: string;
|
|
4
|
+
/** URL to avatar image */
|
|
5
|
+
avatar_url?: string;
|
|
6
|
+
/** Size variant */
|
|
7
|
+
size?: "xs" | "sm" | "md" | "lg";
|
|
8
|
+
/** Show online indicator */
|
|
9
|
+
online?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const UserAvatar: import("svelte").Component<UserAvatarProps, {}, "">;
|
|
12
|
+
type UserAvatar = ReturnType<typeof UserAvatar>;
|
|
13
|
+
export default UserAvatar;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
UserProfile — Richer user identity card.
|
|
3
|
+
Composes UserAvatar + name/role/email.
|
|
4
|
+
Zero domain knowledge.
|
|
5
|
+
-->
|
|
6
|
+
<script module lang="ts">
|
|
7
|
+
export interface UserProfileProps {
|
|
8
|
+
/** User's display name */
|
|
9
|
+
name: string;
|
|
10
|
+
/** User's email address */
|
|
11
|
+
email?: string;
|
|
12
|
+
/** User's role or title */
|
|
13
|
+
role?: string;
|
|
14
|
+
/** URL to avatar image */
|
|
15
|
+
avatar_url?: string;
|
|
16
|
+
/** Size variant */
|
|
17
|
+
size?: "sm" | "md" | "lg";
|
|
18
|
+
/** Display variant */
|
|
19
|
+
variant?: "card" | "trigger";
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<script lang="ts">
|
|
24
|
+
import UserAvatar from "./UserAvatar.svelte";
|
|
25
|
+
|
|
26
|
+
let {
|
|
27
|
+
name,
|
|
28
|
+
email,
|
|
29
|
+
role,
|
|
30
|
+
avatar_url,
|
|
31
|
+
size = "md",
|
|
32
|
+
variant = "card",
|
|
33
|
+
}: UserProfileProps = $props();
|
|
34
|
+
|
|
35
|
+
const avatarSize = $derived(
|
|
36
|
+
size === "sm" ? "sm" : size === "lg" ? "lg" : "md",
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
const textSizes = $derived({
|
|
40
|
+
name:
|
|
41
|
+
size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base",
|
|
42
|
+
meta: size === "sm" ? "text-xs" : size === "lg" ? "text-sm" : "text-xs",
|
|
43
|
+
});
|
|
44
|
+
</script>
|
|
45
|
+
|
|
46
|
+
{#if variant === "trigger"}
|
|
47
|
+
<!-- Compact trigger variant — for navbar dropdowns -->
|
|
48
|
+
<div
|
|
49
|
+
class="flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity"
|
|
50
|
+
>
|
|
51
|
+
<UserAvatar {name} {avatar_url} size={avatarSize} />
|
|
52
|
+
<div class="flex flex-col leading-tight min-w-0">
|
|
53
|
+
<span class="{textSizes.name} font-medium truncate">{name}</span>
|
|
54
|
+
{#if role}
|
|
55
|
+
<span class="{textSizes.meta} text-base-content/60 truncate"
|
|
56
|
+
>{role}</span
|
|
57
|
+
>
|
|
58
|
+
{/if}
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
{:else}
|
|
62
|
+
<!-- Card variant — for profile pages / settings -->
|
|
63
|
+
<div class="flex items-center gap-3 p-3 rounded-box bg-base-200/50">
|
|
64
|
+
<UserAvatar {name} {avatar_url} size={avatarSize} />
|
|
65
|
+
<div class="flex flex-col leading-tight min-w-0">
|
|
66
|
+
<span class="{textSizes.name} font-semibold truncate">{name}</span>
|
|
67
|
+
{#if role}
|
|
68
|
+
<span class="{textSizes.meta} text-base-content/60 truncate"
|
|
69
|
+
>{role}</span
|
|
70
|
+
>
|
|
71
|
+
{/if}
|
|
72
|
+
{#if email}
|
|
73
|
+
<span class="{textSizes.meta} text-base-content/40 truncate"
|
|
74
|
+
>{email}</span
|
|
75
|
+
>
|
|
76
|
+
{/if}
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
{/if}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface UserProfileProps {
|
|
2
|
+
/** User's display name */
|
|
3
|
+
name: string;
|
|
4
|
+
/** User's email address */
|
|
5
|
+
email?: string;
|
|
6
|
+
/** User's role or title */
|
|
7
|
+
role?: string;
|
|
8
|
+
/** URL to avatar image */
|
|
9
|
+
avatar_url?: string;
|
|
10
|
+
/** Size variant */
|
|
11
|
+
size?: "sm" | "md" | "lg";
|
|
12
|
+
/** Display variant */
|
|
13
|
+
variant?: "card" | "trigger";
|
|
14
|
+
}
|
|
15
|
+
declare const UserProfile: import("svelte").Component<UserProfileProps, {}, "">;
|
|
16
|
+
type UserProfile = ReturnType<typeof UserProfile>;
|
|
17
|
+
export default UserProfile;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
NotificationBell — Universal notification indicator.
|
|
3
|
+
Purely presentational: takes props, emits events, knows nothing about routing or domain.
|
|
4
|
+
-->
|
|
5
|
+
<script module lang="ts">
|
|
6
|
+
export interface NotificationBellProps {
|
|
7
|
+
/** Number of unread notifications (badge hides when 0) */
|
|
8
|
+
unreadCount?: number;
|
|
9
|
+
/** Click handler */
|
|
10
|
+
onclick?: () => void;
|
|
11
|
+
/** Enable shake animation to draw attention */
|
|
12
|
+
animate?: boolean;
|
|
13
|
+
}
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
let {
|
|
18
|
+
unreadCount = 0,
|
|
19
|
+
onclick,
|
|
20
|
+
animate = false,
|
|
21
|
+
}: NotificationBellProps = $props();
|
|
22
|
+
|
|
23
|
+
const showBadge = $derived(unreadCount > 0);
|
|
24
|
+
const badgeText = $derived(unreadCount > 99 ? "99+" : String(unreadCount));
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<button
|
|
28
|
+
class="btn btn-ghost btn-sm btn-square relative"
|
|
29
|
+
class:rl-bell-animate={animate && showBadge}
|
|
30
|
+
{onclick}
|
|
31
|
+
aria-label={showBadge
|
|
32
|
+
? `Notifications — ${unreadCount} unread`
|
|
33
|
+
: "Notifications"}
|
|
34
|
+
>
|
|
35
|
+
<!-- Bell Icon (inline SVG) -->
|
|
36
|
+
<svg
|
|
37
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
38
|
+
viewBox="0 0 24 24"
|
|
39
|
+
fill="none"
|
|
40
|
+
stroke="currentColor"
|
|
41
|
+
stroke-width="2"
|
|
42
|
+
stroke-linecap="round"
|
|
43
|
+
stroke-linejoin="round"
|
|
44
|
+
class="w-5 h-5"
|
|
45
|
+
>
|
|
46
|
+
<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" />
|
|
47
|
+
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
|
|
48
|
+
</svg>
|
|
49
|
+
|
|
50
|
+
<!-- Badge -->
|
|
51
|
+
{#if showBadge}
|
|
52
|
+
<span
|
|
53
|
+
class="absolute -top-1 -right-1 badge badge-error badge-xs text-[10px] font-bold min-w-[18px] h-[18px] flex items-center justify-center"
|
|
54
|
+
>
|
|
55
|
+
{badgeText}
|
|
56
|
+
</span>
|
|
57
|
+
{/if}
|
|
58
|
+
</button>
|
|
59
|
+
|
|
60
|
+
<style>
|
|
61
|
+
@keyframes rl-bell-shake {
|
|
62
|
+
0%,
|
|
63
|
+
100% {
|
|
64
|
+
transform: rotate(0deg);
|
|
65
|
+
}
|
|
66
|
+
10%,
|
|
67
|
+
30%,
|
|
68
|
+
50%,
|
|
69
|
+
70%,
|
|
70
|
+
90% {
|
|
71
|
+
transform: rotate(-6deg);
|
|
72
|
+
}
|
|
73
|
+
20%,
|
|
74
|
+
40%,
|
|
75
|
+
60%,
|
|
76
|
+
80% {
|
|
77
|
+
transform: rotate(6deg);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.rl-bell-animate {
|
|
82
|
+
animation: rl-bell-shake 0.8s ease-in-out infinite;
|
|
83
|
+
animation-delay: 2s;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.rl-bell-animate:hover {
|
|
87
|
+
animation: none;
|
|
88
|
+
}
|
|
89
|
+
</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface NotificationBellProps {
|
|
2
|
+
/** Number of unread notifications (badge hides when 0) */
|
|
3
|
+
unreadCount?: number;
|
|
4
|
+
/** Click handler */
|
|
5
|
+
onclick?: () => void;
|
|
6
|
+
/** Enable shake animation to draw attention */
|
|
7
|
+
animate?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const NotificationBell: import("svelte").Component<NotificationBellProps, {}, "">;
|
|
10
|
+
type NotificationBell = ReturnType<typeof NotificationBell>;
|
|
11
|
+
export default NotificationBell;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as NotificationBell } from "./NotificationBell.svelte";
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -16,4 +16,10 @@ export { default as ContentArea } from "./layout/ContentArea.svelte";
|
|
|
16
16
|
export { default as DetailPanel } from "./layout/DetailPanel.svelte";
|
|
17
17
|
export { default as ConnectedNavigationPanel } from "./layout/ConnectedNavigationPanel.svelte";
|
|
18
18
|
export { default as ConnectedWorkspaceStrip } from "./layout/ConnectedWorkspaceStrip.svelte";
|
|
19
|
+
export { default as DatePicker } from "./primitives/DatePicker.svelte";
|
|
20
|
+
export { default as UserAvatar } from "./components/user/UserAvatar.svelte";
|
|
21
|
+
export { default as UserProfile } from "./components/user/UserProfile.svelte";
|
|
22
|
+
export { default as NotificationBell } from "./features/notifications/NotificationBell.svelte";
|
|
23
|
+
export { default as MoneyDisplay } from "./components/money/MoneyDisplay.svelte";
|
|
24
|
+
export { default as MoneyInput } from "./components/money/MoneyInput.svelte";
|
|
19
25
|
export * as sdkMessages from "./paraglide/messages.js";
|
package/dist/ui/index.js
CHANGED
|
@@ -23,6 +23,16 @@ export { default as DetailPanel } from "./layout/DetailPanel.svelte";
|
|
|
23
23
|
// ── Connected (Smart) Components ──────────────────────────────────────────────
|
|
24
24
|
export { default as ConnectedNavigationPanel } from "./layout/ConnectedNavigationPanel.svelte";
|
|
25
25
|
export { default as ConnectedWorkspaceStrip } from "./layout/ConnectedWorkspaceStrip.svelte";
|
|
26
|
+
// ── Primitives ────────────────────────────────────────────────────────────────
|
|
27
|
+
export { default as DatePicker } from "./primitives/DatePicker.svelte";
|
|
28
|
+
// ── User Components ───────────────────────────────────────────────────────────
|
|
29
|
+
export { default as UserAvatar } from "./components/user/UserAvatar.svelte";
|
|
30
|
+
export { default as UserProfile } from "./components/user/UserProfile.svelte";
|
|
31
|
+
// ── Notification Components ───────────────────────────────────────────────────
|
|
32
|
+
export { default as NotificationBell } from "./features/notifications/NotificationBell.svelte";
|
|
33
|
+
// ── Money Components ──────────────────────────────────────────────────────────
|
|
34
|
+
export { default as MoneyDisplay } from "./components/money/MoneyDisplay.svelte";
|
|
35
|
+
export { default as MoneyInput } from "./components/money/MoneyInput.svelte";
|
|
26
36
|
// ── Paraglide messages ────────────────────────────────────────────────────────
|
|
27
37
|
export * as sdkMessages from "./paraglide/messages.js";
|
|
28
38
|
// // Consumers shouldn't need rune-lab/state just to get cookieDriver, stores, etc.
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
import {
|
|
32
32
|
getLayoutStore,
|
|
33
33
|
getShortcutStore,
|
|
34
|
+
getLanguageStore,
|
|
34
35
|
shortcutListener,
|
|
35
36
|
LAYOUT_SHORTCUTS,
|
|
36
37
|
} from "rune-lab/state";
|
|
@@ -41,6 +42,13 @@
|
|
|
41
42
|
* The main application shell managing navigational zones.
|
|
42
43
|
*/
|
|
43
44
|
const layoutStore = getLayoutStore();
|
|
45
|
+
const languageStore = getLanguageStore();
|
|
46
|
+
|
|
47
|
+
/** RTL languages (ISO 639-1 codes) */
|
|
48
|
+
const RTL_LANGUAGES = new Set(["ar", "he", "fa", "ur"]);
|
|
49
|
+
const dir = $derived(
|
|
50
|
+
RTL_LANGUAGES.has(String(languageStore.current)) ? "rtl" : "ltr",
|
|
51
|
+
);
|
|
44
52
|
|
|
45
53
|
let {
|
|
46
54
|
/** Content for the far-left vertical strip */
|
|
@@ -105,6 +113,7 @@
|
|
|
105
113
|
class="rl-layout flex h-[100dvh] w-screen overflow-hidden bg-base-100 text-base-content font-sans relative"
|
|
106
114
|
use:shortcutListener={shortcutStore}
|
|
107
115
|
data-rl-layout
|
|
116
|
+
{dir}
|
|
108
117
|
>
|
|
109
118
|
<!-- Zone 1: Workspace Strip -->
|
|
110
119
|
{#if workspaceStrip}
|
|
@@ -21,6 +21,10 @@ export * from "./cny3.js";
|
|
|
21
21
|
export * from "./jpy3.js";
|
|
22
22
|
export * from "./krw3.js";
|
|
23
23
|
export * from "./aed3.js";
|
|
24
|
+
export * from "./gbp3.js";
|
|
25
|
+
export * from "./cad3.js";
|
|
26
|
+
export * from "./brl3.js";
|
|
27
|
+
export * from "./inr3.js";
|
|
24
28
|
export * from "./theme.js";
|
|
25
29
|
export * from "./themes.js";
|
|
26
30
|
export * from "./all_themes.js";
|
|
@@ -23,6 +23,10 @@ export * from './cny3.js'
|
|
|
23
23
|
export * from './jpy3.js'
|
|
24
24
|
export * from './krw3.js'
|
|
25
25
|
export * from './aed3.js'
|
|
26
|
+
export * from './gbp3.js'
|
|
27
|
+
export * from './cad3.js'
|
|
28
|
+
export * from './brl3.js'
|
|
29
|
+
export * from './inr3.js'
|
|
26
30
|
export * from './theme.js'
|
|
27
31
|
export * from './themes.js'
|
|
28
32
|
export * from './all_themes.js'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { brl3 as BRL };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Brl3Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "Brazilian Real" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Brl3Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const brl3: ((inputs?: Brl3Inputs, options?: {
|
|
14
|
+
locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Brl3Inputs, {
|
|
16
|
+
locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Brl3Inputs */
|
|
7
|
+
|
|
8
|
+
const es_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`Real brasileño`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const fr_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Réal brésilien`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const it_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
17
|
+
return /** @type {LocalizedString} */ (`Real brasiliano`)
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const pt_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
21
|
+
return /** @type {LocalizedString} */ (`Real brasileiro`)
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const en_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
25
|
+
return /** @type {LocalizedString} */ (`Brazilian Real`)
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const de_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
29
|
+
return /** @type {LocalizedString} */ (`Brasilianischer Real`)
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const ru_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
33
|
+
return /** @type {LocalizedString} */ (`Бразильский реал`)
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const hi_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
37
|
+
return /** @type {LocalizedString} */ (`ब्राज़ीली रियल`)
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const ar_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
41
|
+
return /** @type {LocalizedString} */ (`ريال برازيلي`)
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const zh_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
45
|
+
return /** @type {LocalizedString} */ (`巴西雷亚尔`)
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ja_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
49
|
+
return /** @type {LocalizedString} */ (`ブラジルレアル`)
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const ko_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
53
|
+
return /** @type {LocalizedString} */ (`브라질 헤알`)
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const vi_brl3 = /** @type {(inputs: Brl3Inputs) => LocalizedString} */ () => {
|
|
57
|
+
return /** @type {LocalizedString} */ (`Real Brazil`)
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* | output |
|
|
62
|
+
* | --- |
|
|
63
|
+
* | "Brazilian Real" |
|
|
64
|
+
*
|
|
65
|
+
* @param {Brl3Inputs} inputs
|
|
66
|
+
* @param {{ locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }} options
|
|
67
|
+
* @returns {LocalizedString}
|
|
68
|
+
*/
|
|
69
|
+
const brl3 = /** @type {((inputs?: Brl3Inputs, options?: { locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Brl3Inputs, { locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
70
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
71
|
+
if (locale === "es") return es_brl3(inputs)
|
|
72
|
+
if (locale === "fr") return fr_brl3(inputs)
|
|
73
|
+
if (locale === "it") return it_brl3(inputs)
|
|
74
|
+
if (locale === "pt") return pt_brl3(inputs)
|
|
75
|
+
if (locale === "en") return en_brl3(inputs)
|
|
76
|
+
if (locale === "de") return de_brl3(inputs)
|
|
77
|
+
if (locale === "ru") return ru_brl3(inputs)
|
|
78
|
+
if (locale === "hi") return hi_brl3(inputs)
|
|
79
|
+
if (locale === "ar") return ar_brl3(inputs)
|
|
80
|
+
if (locale === "zh") return zh_brl3(inputs)
|
|
81
|
+
if (locale === "ja") return ja_brl3(inputs)
|
|
82
|
+
if (locale === "ko") return ko_brl3(inputs)
|
|
83
|
+
return vi_brl3(inputs)
|
|
84
|
+
});
|
|
85
|
+
export { brl3 as "BRL" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { cad3 as CAD };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Cad3Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "Canadian Dollar" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Cad3Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const cad3: ((inputs?: Cad3Inputs, options?: {
|
|
14
|
+
locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Cad3Inputs, {
|
|
16
|
+
locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Cad3Inputs */
|
|
7
|
+
|
|
8
|
+
const es_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`Dólar canadiense`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const fr_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Dollar canadien`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const it_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
17
|
+
return /** @type {LocalizedString} */ (`Dollaro canadese`)
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const pt_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
21
|
+
return /** @type {LocalizedString} */ (`Dólar canadense`)
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const en_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
25
|
+
return /** @type {LocalizedString} */ (`Canadian Dollar`)
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const de_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
29
|
+
return /** @type {LocalizedString} */ (`Kanadischer Dollar`)
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const ru_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
33
|
+
return /** @type {LocalizedString} */ (`Канадский доллар`)
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const hi_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
37
|
+
return /** @type {LocalizedString} */ (`कनाडाई डॉलर`)
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const ar_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
41
|
+
return /** @type {LocalizedString} */ (`دولار كندي`)
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const zh_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
45
|
+
return /** @type {LocalizedString} */ (`加拿大元`)
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ja_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
49
|
+
return /** @type {LocalizedString} */ (`カナダドル`)
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const ko_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
53
|
+
return /** @type {LocalizedString} */ (`캐나다 달러`)
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const vi_cad3 = /** @type {(inputs: Cad3Inputs) => LocalizedString} */ () => {
|
|
57
|
+
return /** @type {LocalizedString} */ (`Đô la Canada`)
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* | output |
|
|
62
|
+
* | --- |
|
|
63
|
+
* | "Canadian Dollar" |
|
|
64
|
+
*
|
|
65
|
+
* @param {Cad3Inputs} inputs
|
|
66
|
+
* @param {{ locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }} options
|
|
67
|
+
* @returns {LocalizedString}
|
|
68
|
+
*/
|
|
69
|
+
const cad3 = /** @type {((inputs?: Cad3Inputs, options?: { locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Cad3Inputs, { locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
70
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
71
|
+
if (locale === "es") return es_cad3(inputs)
|
|
72
|
+
if (locale === "fr") return fr_cad3(inputs)
|
|
73
|
+
if (locale === "it") return it_cad3(inputs)
|
|
74
|
+
if (locale === "pt") return pt_cad3(inputs)
|
|
75
|
+
if (locale === "en") return en_cad3(inputs)
|
|
76
|
+
if (locale === "de") return de_cad3(inputs)
|
|
77
|
+
if (locale === "ru") return ru_cad3(inputs)
|
|
78
|
+
if (locale === "hi") return hi_cad3(inputs)
|
|
79
|
+
if (locale === "ar") return ar_cad3(inputs)
|
|
80
|
+
if (locale === "zh") return zh_cad3(inputs)
|
|
81
|
+
if (locale === "ja") return ja_cad3(inputs)
|
|
82
|
+
if (locale === "ko") return ko_cad3(inputs)
|
|
83
|
+
return vi_cad3(inputs)
|
|
84
|
+
});
|
|
85
|
+
export { cad3 as "CAD" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { gbp3 as GBP };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Gbp3Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "British Pound" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Gbp3Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const gbp3: ((inputs?: Gbp3Inputs, options?: {
|
|
14
|
+
locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Gbp3Inputs, {
|
|
16
|
+
locale?: "es" | "fr" | "it" | "pt" | "en" | "de" | "ru" | "hi" | "ar" | "zh" | "ja" | "ko" | "vi";
|
|
17
|
+
}, {}>;
|