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.
Files changed (75) hide show
  1. package/dist/core/index.d.ts +1 -0
  2. package/dist/core/index.d.ts.map +1 -1
  3. package/dist/core/index.js +1 -0
  4. package/dist/core/money/index.d.ts +2 -0
  5. package/dist/core/money/index.d.ts.map +1 -0
  6. package/dist/core/money/index.js +2 -0
  7. package/dist/core/money/money.d.ts +37 -0
  8. package/dist/core/money/money.d.ts.map +1 -0
  9. package/dist/core/money/money.js +79 -0
  10. package/dist/index.d.ts +0 -6
  11. package/dist/index.js +1 -7
  12. package/dist/state/auth/index.d.ts +2 -0
  13. package/dist/state/auth/index.js +2 -0
  14. package/dist/state/auth/session.svelte.d.ts +40 -0
  15. package/dist/state/auth/session.svelte.js +57 -0
  16. package/dist/state/auth/types.d.ts +30 -0
  17. package/dist/state/auth/types.js +3 -0
  18. package/dist/state/cart.svelte.d.ts +64 -0
  19. package/dist/state/cart.svelte.js +122 -0
  20. package/dist/state/composables/useMoney.d.ts +15 -0
  21. package/dist/state/composables/useMoney.js +48 -0
  22. package/dist/state/composables/useRuneLab.d.ts +3 -1
  23. package/dist/state/composables/useRuneLab.js +11 -0
  24. package/dist/state/context.d.ts +2 -0
  25. package/dist/state/context.js +2 -0
  26. package/dist/state/createConfigStore.svelte.d.ts +8 -3
  27. package/dist/state/createConfigStore.svelte.js +10 -0
  28. package/dist/state/currency.svelte.d.ts +9 -1
  29. package/dist/state/currency.svelte.js +28 -7
  30. package/dist/state/index.d.ts +7 -4
  31. package/dist/state/index.js +6 -2
  32. package/dist/state/language.svelte.d.ts +1 -0
  33. package/dist/state/persistence/drivers.d.ts +3 -1
  34. package/dist/state/persistence/drivers.js +5 -1
  35. package/dist/state/theme.svelte.d.ts +9 -1
  36. package/dist/state/theme.svelte.js +34 -8
  37. package/dist/ui/components/Icon.svelte +5 -2
  38. package/dist/ui/components/RuneProvider.svelte +59 -4
  39. package/dist/ui/components/RuneProvider.svelte.d.ts +19 -0
  40. package/dist/ui/components/money/MoneyDisplay.svelte +59 -0
  41. package/dist/ui/components/money/MoneyDisplay.svelte.d.ts +13 -0
  42. package/dist/ui/components/money/MoneyInput.svelte +106 -0
  43. package/dist/ui/components/money/MoneyInput.svelte.d.ts +19 -0
  44. package/dist/ui/components/money/index.d.ts +2 -0
  45. package/dist/ui/components/money/index.js +3 -0
  46. package/dist/ui/components/user/UserAvatar.svelte +66 -0
  47. package/dist/ui/components/user/UserAvatar.svelte.d.ts +13 -0
  48. package/dist/ui/components/user/UserProfile.svelte +79 -0
  49. package/dist/ui/components/user/UserProfile.svelte.d.ts +17 -0
  50. package/dist/ui/components/user/index.d.ts +2 -0
  51. package/dist/ui/components/user/index.js +3 -0
  52. package/dist/ui/features/notifications/NotificationBell.svelte +89 -0
  53. package/dist/ui/features/notifications/NotificationBell.svelte.d.ts +11 -0
  54. package/dist/ui/features/notifications/index.d.ts +1 -0
  55. package/dist/ui/features/notifications/index.js +2 -0
  56. package/dist/ui/index.d.ts +6 -0
  57. package/dist/ui/index.js +10 -0
  58. package/dist/ui/layout/WorkspaceLayout.svelte +9 -0
  59. package/dist/ui/paraglide/messages/_index.d.ts +4 -0
  60. package/dist/ui/paraglide/messages/_index.js +4 -0
  61. package/dist/ui/paraglide/messages/brl3.d.ts +17 -0
  62. package/dist/ui/paraglide/messages/brl3.js +85 -0
  63. package/dist/ui/paraglide/messages/cad3.d.ts +17 -0
  64. package/dist/ui/paraglide/messages/cad3.js +85 -0
  65. package/dist/ui/paraglide/messages/gbp3.d.ts +17 -0
  66. package/dist/ui/paraglide/messages/gbp3.js +85 -0
  67. package/dist/ui/paraglide/messages/inr3.d.ts +17 -0
  68. package/dist/ui/paraglide/messages/inr3.js +85 -0
  69. package/dist/ui/primitives/DatePicker.svelte +257 -0
  70. package/dist/ui/primitives/DatePicker.svelte.d.ts +17 -0
  71. package/dist/ui/primitives/index.d.ts +1 -0
  72. package/dist/ui/primitives/index.js +3 -0
  73. package/package.json +28 -18
  74. package/dist/state/config.d.ts +0 -4
  75. 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,2 @@
1
+ export { default as UserAvatar } from "./UserAvatar.svelte";
2
+ export { default as UserProfile } from "./UserProfile.svelte";
@@ -0,0 +1,3 @@
1
+ // sdk/ui/src/lib/components/user/index.ts
2
+ export { default as UserAvatar } from "./UserAvatar.svelte";
3
+ export { default as UserProfile } from "./UserProfile.svelte";
@@ -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";
@@ -0,0 +1,2 @@
1
+ // sdk/ui/src/lib/features/notifications/index.ts
2
+ export { default as NotificationBell } from "./NotificationBell.svelte";
@@ -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
+ }, {}>;