tera-system-ui 0.1.34 → 0.1.40

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 (102) hide show
  1. package/dist/components/command/command.scss +2 -2
  2. package/dist/components/command/components/command-empty.svelte +16 -0
  3. package/dist/components/command/components/command-empty.svelte.d.ts +4 -0
  4. package/dist/components/command/components/command-group.svelte +31 -0
  5. package/dist/components/command/components/command-group.svelte.d.ts +7 -0
  6. package/dist/components/command/components/command-input.svelte +30 -0
  7. package/dist/components/command/components/command-input.svelte.d.ts +4 -0
  8. package/dist/components/command/components/command-item.svelte +20 -0
  9. package/dist/components/command/components/command-item.svelte.d.ts +4 -0
  10. package/dist/components/command/components/command-link-item.svelte +18 -0
  11. package/dist/components/command/components/command-link-item.svelte.d.ts +4 -0
  12. package/dist/components/command/components/command-list.svelte +16 -0
  13. package/dist/components/command/components/command-list.svelte.d.ts +4 -0
  14. package/dist/components/command/components/command-separator.svelte +15 -0
  15. package/dist/components/command/components/command-separator.svelte.d.ts +4 -0
  16. package/dist/components/command/components/command-shortcut.svelte +19 -0
  17. package/dist/components/command/components/command-shortcut.svelte.d.ts +5 -0
  18. package/dist/components/command/components/command.svelte +54 -0
  19. package/dist/components/command/components/command.svelte.d.ts +5 -0
  20. package/dist/components/command/index.d.ts +12 -12
  21. package/dist/components/command/index.js +13 -18
  22. package/dist/components/text-area/TextArea.svelte +5 -5
  23. package/dist/index.d.ts +0 -1
  24. package/dist/index.js +0 -1
  25. package/dist/tera-i18n/dev-tools/translator/gpt-translator-i18n-message.js +1 -3
  26. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.txt +17 -14
  27. package/dist/tera-i18n/projects/common/all-language-data.js +10 -1
  28. package/dist/tera-i18n/projects/cv-maker/messages/ar.json +13 -13
  29. package/dist/tera-i18n/projects/cv-maker/messages/bg.json +18 -18
  30. package/dist/tera-i18n/projects/cv-maker/messages/bn.json +21 -21
  31. package/dist/tera-i18n/projects/cv-maker/messages/ca.json +12 -12
  32. package/dist/tera-i18n/projects/cv-maker/messages/cs.json +11 -11
  33. package/dist/tera-i18n/projects/cv-maker/messages/da.json +10 -10
  34. package/dist/tera-i18n/projects/cv-maker/messages/de.json +11 -11
  35. package/dist/tera-i18n/projects/cv-maker/messages/el.json +14 -14
  36. package/dist/tera-i18n/projects/cv-maker/messages/en-CA.json +51 -0
  37. package/dist/tera-i18n/projects/cv-maker/messages/en-GB.json +51 -0
  38. package/dist/tera-i18n/projects/cv-maker/messages/en-IN.json +51 -0
  39. package/dist/tera-i18n/projects/cv-maker/messages/en-PK.json +51 -0
  40. package/dist/tera-i18n/projects/cv-maker/messages/en-US.json +51 -0
  41. package/dist/tera-i18n/projects/cv-maker/messages/en-ZA.json +51 -0
  42. package/dist/tera-i18n/projects/cv-maker/messages/es.json +8 -8
  43. package/dist/tera-i18n/projects/cv-maker/messages/fi.json +5 -5
  44. package/dist/tera-i18n/projects/cv-maker/messages/fr.json +13 -13
  45. package/dist/tera-i18n/projects/cv-maker/messages/he.json +13 -13
  46. package/dist/tera-i18n/projects/cv-maker/messages/hi.json +12 -12
  47. package/dist/tera-i18n/projects/cv-maker/messages/hu.json +16 -16
  48. package/dist/tera-i18n/projects/cv-maker/messages/id.json +9 -9
  49. package/dist/tera-i18n/projects/cv-maker/messages/it.json +13 -13
  50. package/dist/tera-i18n/projects/cv-maker/messages/ja.json +13 -13
  51. package/dist/tera-i18n/projects/cv-maker/messages/ko.json +15 -15
  52. package/dist/tera-i18n/projects/cv-maker/messages/lt.json +13 -13
  53. package/dist/tera-i18n/projects/cv-maker/messages/lv.json +12 -12
  54. package/dist/tera-i18n/projects/cv-maker/messages/ms-MY.json +51 -0
  55. package/dist/tera-i18n/projects/cv-maker/messages/ms.json +10 -10
  56. package/dist/tera-i18n/projects/cv-maker/messages/nl.json +5 -5
  57. package/dist/tera-i18n/projects/cv-maker/messages/no.json +8 -8
  58. package/dist/tera-i18n/projects/cv-maker/messages/pl.json +12 -12
  59. package/dist/tera-i18n/projects/cv-maker/messages/pt-BR.json +51 -0
  60. package/dist/tera-i18n/projects/cv-maker/messages/pt-PT.json +51 -0
  61. package/dist/tera-i18n/projects/cv-maker/messages/pt.json +7 -7
  62. package/dist/tera-i18n/projects/cv-maker/messages/ro.json +9 -9
  63. package/dist/tera-i18n/projects/cv-maker/messages/ru.json +13 -13
  64. package/dist/tera-i18n/projects/cv-maker/messages/sk.json +15 -15
  65. package/dist/tera-i18n/projects/cv-maker/messages/sl.json +15 -15
  66. package/dist/tera-i18n/projects/cv-maker/messages/sq.json +34 -34
  67. package/dist/tera-i18n/projects/cv-maker/messages/sr.json +16 -16
  68. package/dist/tera-i18n/projects/cv-maker/messages/sv.json +9 -9
  69. package/dist/tera-i18n/projects/cv-maker/messages/sw.json +15 -15
  70. package/dist/tera-i18n/projects/cv-maker/messages/ta.json +25 -25
  71. package/dist/tera-i18n/projects/cv-maker/messages/te.json +25 -25
  72. package/dist/tera-i18n/projects/cv-maker/messages/th.json +17 -17
  73. package/dist/tera-i18n/projects/cv-maker/messages/tl.json +16 -16
  74. package/dist/tera-i18n/projects/cv-maker/messages/tr.json +6 -6
  75. package/dist/tera-i18n/projects/cv-maker/messages/uk.json +15 -15
  76. package/dist/tera-i18n/projects/cv-maker/messages/vi.json +18 -18
  77. package/dist/tera-i18n/projects/cv-maker/messages/zh-CN.json +29 -29
  78. package/dist/tera-i18n/projects/cv-maker/messages/zh-TW.json +26 -26
  79. package/dist/tera-i18n/projects/cv-maker/project.inlang/settings.json +68 -59
  80. package/dist/tera-i18n/projects/cv-maker/supported-language.js +10 -1
  81. package/dist/utils/index.d.ts +10 -0
  82. package/package.json +1 -1
  83. package/dist/components/command/command.d.ts +0 -33
  84. package/dist/components/command/command.js +0 -512
  85. package/dist/components/command/components/Command.svelte +0 -120
  86. package/dist/components/command/components/Command.svelte.d.ts +0 -4
  87. package/dist/components/command/components/CommandEmpty.svelte +0 -30
  88. package/dist/components/command/components/CommandEmpty.svelte.d.ts +0 -4
  89. package/dist/components/command/components/CommandGroup.svelte +0 -110
  90. package/dist/components/command/components/CommandGroup.svelte.d.ts +0 -4
  91. package/dist/components/command/components/CommandInput.svelte +0 -92
  92. package/dist/components/command/components/CommandInput.svelte.d.ts +0 -8
  93. package/dist/components/command/components/CommandItem.svelte +0 -110
  94. package/dist/components/command/components/CommandItem.svelte.d.ts +0 -4
  95. package/dist/components/command/components/CommandList.svelte +0 -56
  96. package/dist/components/command/components/CommandList.svelte.d.ts +0 -6
  97. package/dist/components/command/components/CommandLoading.svelte +0 -29
  98. package/dist/components/command/components/CommandLoading.svelte.d.ts +0 -9
  99. package/dist/components/command/components/CommandSeparator.svelte +0 -21
  100. package/dist/components/command/components/CommandSeparator.svelte.d.ts +0 -4
  101. package/dist/components/command/types.d.ts +0 -227
  102. package/dist/components/command/types.js +0 -1
@@ -23,12 +23,12 @@
23
23
  transition: all 150ms ease;
24
24
  transition-property: none;
25
25
 
26
- &[data-selected='true'] {
26
+ &[data-selected] {
27
27
  background: var(--color-neutral-token-4);
28
28
  color: var(--color-neutral-token-13);
29
29
  }
30
30
 
31
- &[data-disabled='true'] {
31
+ &[data-disabled] {
32
32
  color: var(--color-neutral-token-7);
33
33
  cursor: not-allowed;
34
34
  }
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { Command as CommandPrimitive } from "bits-ui";
3
+ import { cn } from "../../../utils";
4
+ let {
5
+ ref = $bindable(null),
6
+ class: className,
7
+ ...restProps
8
+ }: CommandPrimitive.EmptyProps = $props();
9
+ </script>
10
+ <CommandPrimitive.Empty
11
+ bind:ref
12
+ data-slot="command-empty"
13
+ data-cmdk-empty=""
14
+ class={cn("", className)}
15
+ {...restProps}
16
+ />
@@ -0,0 +1,4 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ declare const CommandEmpty: import("svelte").Component<CommandPrimitive.EmptyProps, {}, "ref">;
3
+ type CommandEmpty = ReturnType<typeof CommandEmpty>;
4
+ export default CommandEmpty;
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import { Command as CommandPrimitive, useId } from "bits-ui";
3
+ import { cn } from "../../../utils";
4
+ let {
5
+ ref = $bindable(null),
6
+ class: className,
7
+ children,
8
+ heading,
9
+ value,
10
+ ...restProps
11
+ }: CommandPrimitive.GroupProps & {
12
+ heading?: string;
13
+ } = $props();
14
+ </script>
15
+ <CommandPrimitive.Group
16
+ bind:ref
17
+ data-slot="command-group"
18
+ class={cn("overflow-hidden", className)}
19
+ value={value ?? heading ?? `----${useId()}`}
20
+ {...restProps}
21
+ >
22
+ {#if heading}
23
+ <CommandPrimitive.GroupHeading
24
+ data-cmdk-group-heading=""
25
+ class=""
26
+ >
27
+ {heading}
28
+ </CommandPrimitive.GroupHeading>
29
+ {/if}
30
+ <CommandPrimitive.GroupItems {children} />
31
+ </CommandPrimitive.Group>
@@ -0,0 +1,7 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ type $$ComponentProps = CommandPrimitive.GroupProps & {
3
+ heading?: string;
4
+ };
5
+ declare const CommandGroup: import("svelte").Component<$$ComponentProps, {}, "ref">;
6
+ type CommandGroup = ReturnType<typeof CommandGroup>;
7
+ export default CommandGroup;
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import {Command as CommandPrimitive} from "bits-ui";
3
+ import {cn} from "../../../utils";
4
+ import {IconSearch} from "../../..";
5
+ import {styles} from "../../input/Input.js";
6
+
7
+ let {
8
+ autofocus = undefined,
9
+ ref = $bindable(null),
10
+ class: className,
11
+ value = $bindable(""),
12
+ ...restProps
13
+ }: CommandPrimitive.InputProps = $props();
14
+ </script>
15
+ <div class="flex items-center border-b px-3" data-slot="command-input-wrapper">
16
+ <IconSearch class="size-4 shrink-0 opacity-50"/>
17
+ <CommandPrimitive.Input
18
+ autofocus={autofocus}
19
+ data-slot="command-input"
20
+ class={styles({
21
+ variant: 'borderless',
22
+ size: 'lg',
23
+ class: className + 'rounded-none text-sm',
24
+ })}
25
+
26
+ bind:ref
27
+ {...restProps}
28
+ bind:value
29
+ />
30
+ </div>
@@ -0,0 +1,4 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ declare const CommandInput: import("svelte").Component<CommandPrimitive.InputProps, {}, "value" | "ref">;
3
+ type CommandInput = ReturnType<typeof CommandInput>;
4
+ export default CommandInput;
@@ -0,0 +1,20 @@
1
+ <script lang="ts">
2
+ import {Command as CommandPrimitive} from "bits-ui";
3
+ import {cn} from "../../../utils";
4
+
5
+ let {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ ...restProps
9
+ }: CommandPrimitive.ItemProps = $props();
10
+ </script>
11
+ <CommandPrimitive.Item
12
+ bind:ref
13
+ data-slot="command-item"
14
+ data-cmdk-item=""
15
+ class={cn(
16
+ "",
17
+ className
18
+ )}
19
+ {...restProps}
20
+ />
@@ -0,0 +1,4 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ declare const CommandItem: import("svelte").Component<CommandPrimitive.ItemProps, {}, "ref">;
3
+ type CommandItem = ReturnType<typeof CommandItem>;
4
+ export default CommandItem;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import { Command as CommandPrimitive } from "bits-ui";
3
+ import { cn } from "../../../utils";
4
+ let {
5
+ ref = $bindable(null),
6
+ class: className,
7
+ ...restProps
8
+ }: CommandPrimitive.LinkItemProps = $props();
9
+ </script>
10
+ <CommandPrimitive.LinkItem
11
+ bind:ref
12
+ data-slot="command-item"
13
+ class={cn(
14
+ "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
15
+ className
16
+ )}
17
+ {...restProps}
18
+ />
@@ -0,0 +1,4 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ declare const CommandLinkItem: import("svelte").Component<CommandPrimitive.LinkItemProps, {}, "ref">;
3
+ type CommandLinkItem = ReturnType<typeof CommandLinkItem>;
4
+ export default CommandLinkItem;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { Command as CommandPrimitive } from "bits-ui";
3
+ import { cn } from "../../../utils";
4
+ let {
5
+ ref = $bindable(null),
6
+ class: className,
7
+ ...restProps
8
+ }: CommandPrimitive.ListProps = $props();
9
+ </script>
10
+ <CommandPrimitive.List
11
+ bind:ref
12
+ data-slot="command-list"
13
+ data-cmdk-list=""
14
+ class={cn("", className)}
15
+ {...restProps}
16
+ />
@@ -0,0 +1,4 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ declare const CommandList: import("svelte").Component<CommandPrimitive.ListProps, {}, "ref">;
3
+ type CommandList = ReturnType<typeof CommandList>;
4
+ export default CommandList;
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import { Command as CommandPrimitive } from "bits-ui";
3
+ import { cn } from "../../../utils";
4
+ let {
5
+ ref = $bindable(null),
6
+ class: className,
7
+ ...restProps
8
+ }: CommandPrimitive.SeparatorProps = $props();
9
+ </script>
10
+ <CommandPrimitive.Separator
11
+ bind:ref
12
+ data-slot="command-separator"
13
+ class={cn("bg-border mx-1 h-px", className)}
14
+ {...restProps}
15
+ />
@@ -0,0 +1,4 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ declare const CommandSeparator: import("svelte").Component<CommandPrimitive.SeparatorProps, {}, "ref">;
3
+ type CommandSeparator = ReturnType<typeof CommandSeparator>;
4
+ export default CommandSeparator;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import {cn, type WithElementRef} from "../../../utils";
3
+ import type {HTMLAttributes} from "svelte/elements";
4
+
5
+ let {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ children,
9
+ ...restProps
10
+ }: WithElementRef<HTMLAttributes<HTMLSpanElement>> = $props();
11
+ </script>
12
+ <span
13
+ bind:this={ref}
14
+ data-slot="command-shortcut"
15
+ class={cn("text-muted-foreground ml-auto text-xs tracking-widest", className)}
16
+ {...restProps}
17
+ >
18
+ {@render children?.()}
19
+ </span>
@@ -0,0 +1,5 @@
1
+ import { type WithElementRef } from "../../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const CommandShortcut: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLSpanElement>>, {}, "ref">;
4
+ type CommandShortcut = ReturnType<typeof CommandShortcut>;
5
+ export default CommandShortcut;
@@ -0,0 +1,54 @@
1
+ <script lang="ts">
2
+ import {Command as CommandPrimitive} from "bits-ui";
3
+ import {cn} from "../../../utils";
4
+ import "../command.scss"
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ value = $bindable(""),
9
+ command = $bindable(),
10
+ class: className,
11
+ selectedIndex,
12
+ ...restProps
13
+ }: CommandPrimitive.RootProps = $props();
14
+
15
+ $effect(() => {
16
+ if (!command || selectedIndex === undefined) return;
17
+ const items = command.getValidItems();
18
+ if (!items?.length) return;
19
+
20
+ setTimeout(() => {
21
+ if (selectedIndex < 0) {
22
+ const selectedItem = items.find((item: HTMLElement) =>
23
+ item.hasAttribute('data-selected')
24
+ );
25
+
26
+ if (selectedItem) {
27
+ selectedItem.removeAttribute("data-selected");
28
+
29
+ // Use AbortController for cleanup
30
+ const controller = new AbortController();
31
+ selectedItem.addEventListener("pointerenter", () => {
32
+ selectedItem.setAttribute("data-selected", "");
33
+ }, {once: true, signal: controller.signal});
34
+
35
+ // Cleanup on component unmount
36
+ return () => controller.abort();
37
+ }
38
+ } else if (selectedIndex < items.length) {
39
+ command.updateSelectedToIndex(selectedIndex);
40
+ }
41
+ }, 6)
42
+ });
43
+ </script>
44
+ <CommandPrimitive.Root
45
+ bind:value
46
+ bind:ref
47
+ bind:this={command}
48
+ data-slot="command"
49
+ class={cn(
50
+ "flex h-full w-full flex-col overflow-hidden",
51
+ className
52
+ )}
53
+ {...restProps}
54
+ />
@@ -0,0 +1,5 @@
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ import "../command.scss";
3
+ declare const Command: import("svelte").Component<CommandPrimitive.RootProps, {}, "value" | "ref" | "command">;
4
+ type Command = ReturnType<typeof Command>;
5
+ export default Command;
@@ -1,12 +1,12 @@
1
- export { default as Command } from './components/Command.svelte';
2
- import type { LoadingProps, CommandProps, EmptyProps, ItemProps, GroupProps, ListProps, InputProps, SeparatorProps } from './types.js';
3
- import Root from './components/Command.svelte';
4
- import Empty from './components/CommandEmpty.svelte';
5
- import Group from './components/CommandGroup.svelte';
6
- import Input from './components/CommandInput.svelte';
7
- import Item from './components/CommandItem.svelte';
8
- import List from './components/CommandList.svelte';
9
- import Loading from './components/CommandLoading.svelte';
10
- import Separator from './components/CommandSeparator.svelte';
11
- export { Root, Empty, Group, Input, Item, List, Loading, Separator, Root as CommandRoot, Empty as CommandEmpty, Group as CommandGroup, Input as CommandInput, Item as CommandItem, List as CommandList, Loading as CommandLoading, Separator as CommandSeparator };
12
- export type { LoadingProps, CommandProps, EmptyProps, ItemProps, GroupProps, ListProps, InputProps, SeparatorProps };
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ import Root from "./components/command.svelte";
3
+ import Empty from "./components/command-empty.svelte";
4
+ import Group from "./components/command-group.svelte";
5
+ import Item from "./components/command-item.svelte";
6
+ import Input from "./components/command-input.svelte";
7
+ import List from "./components/command-list.svelte";
8
+ import Separator from "./components/command-separator.svelte";
9
+ import Shortcut from "./components/command-shortcut.svelte";
10
+ import LinkItem from "./components/command-link-item.svelte";
11
+ declare const Loading: import("svelte").Component<CommandPrimitive.LoadingProps, {}, "ref">;
12
+ export { Root, Empty, Group, Item, LinkItem, Input, List, Separator, Shortcut, Loading, Root as Command, Empty as CommandEmpty, Group as CommandGroup, Item as CommandItem, LinkItem as CommandLinkItem, Input as CommandInput, List as CommandList, Separator as CommandSeparator, Shortcut as CommandShortcut, Loading as CommandLoading, };
@@ -1,19 +1,14 @@
1
- export { default as Command } from './components/Command.svelte';
2
- import Root from './components/Command.svelte';
3
- // import Dialog from './components/CommandDialog.svelte';
4
- import Empty from './components/CommandEmpty.svelte';
5
- import Group from './components/CommandGroup.svelte';
6
- import Input from './components/CommandInput.svelte';
7
- import Item from './components/CommandItem.svelte';
8
- import List from './components/CommandList.svelte';
9
- import Loading from './components/CommandLoading.svelte';
10
- import Separator from './components/CommandSeparator.svelte';
11
- export {
12
- // Components
13
- Root,
14
- // Dialog,
15
- Empty, Group, Input, Item, List, Loading, Separator,
1
+ import { Command as CommandPrimitive } from "bits-ui";
2
+ import Root from "./components/command.svelte";
3
+ import Empty from "./components/command-empty.svelte";
4
+ import Group from "./components/command-group.svelte";
5
+ import Item from "./components/command-item.svelte";
6
+ import Input from "./components/command-input.svelte";
7
+ import List from "./components/command-list.svelte";
8
+ import Separator from "./components/command-separator.svelte";
9
+ import Shortcut from "./components/command-shortcut.svelte";
10
+ import LinkItem from "./components/command-link-item.svelte";
11
+ const Loading = CommandPrimitive.Loading;
12
+ export { Root, Empty, Group, Item, LinkItem, Input, List, Separator, Shortcut, Loading,
16
13
  //
17
- Root as CommandRoot,
18
- // Dialog as CommandDialog,
19
- Empty as CommandEmpty, Group as CommandGroup, Input as CommandInput, Item as CommandItem, List as CommandList, Loading as CommandLoading, Separator as CommandSeparator };
14
+ Root as Command, Empty as CommandEmpty, Group as CommandGroup, Item as CommandItem, LinkItem as CommandLinkItem, Input as CommandInput, List as CommandList, Separator as CommandSeparator, Shortcut as CommandShortcut, Loading as CommandLoading, };
@@ -6,7 +6,7 @@
6
6
  let {
7
7
  children,
8
8
  class: className,
9
- value = $bindable(),
9
+ value = $bindable(""),
10
10
  ref = $bindable(),
11
11
  size,
12
12
  disabled,
@@ -51,8 +51,8 @@
51
51
 
52
52
  $effect(() => {
53
53
  // setup goes here
54
- value
55
- updateSize();
54
+ // value
55
+ // updateSize();
56
56
 
57
57
  return () => {
58
58
  // teardown goes here
@@ -64,12 +64,12 @@
64
64
  value = ''
65
65
  }
66
66
 
67
+ $inspect('text-area', {value})
68
+
67
69
  </script>
68
70
 
69
71
  <div class="relative">
70
72
  <textarea
71
- use:createAutoSizeTextarea={autoSize}
72
- onchange={onchange}
73
73
  bind:this={ref}
74
74
  style={autoSize ? "resize: none;" : ''}
75
75
  class={styles({ variant, disabled , size, className, allowClear })}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,6 @@ export { BrandLogo } from './components/brand-logo/index.js';
4
4
  export { Button } from './components/button/index.js';
5
5
  export { Checkbox } from './components/checkbox/index.js';
6
6
  export { Combobox } from './components/combobox/index.js';
7
- export { Command } from './components/command/index.js';
8
7
  export { Dialog } from './components/dialog/index.js';
9
8
  export { DropdownMenu, DropdownMenuItem, DropdownMenuGroup, DropdownMenuHeader, DropdownMenuSeparator } from './components/dropdown-menu/index.js';
10
9
  export { TeraFontSansSerif, TeraFontMono } from './components/fonts/index.js';
package/dist/index.js CHANGED
@@ -4,7 +4,6 @@ export { BrandLogo } from './components/brand-logo/index.js';
4
4
  export { Button } from './components/button/index.js';
5
5
  export { Checkbox } from './components/checkbox/index.js';
6
6
  export { Combobox } from './components/combobox/index.js';
7
- export { Command } from './components/command/index.js';
8
7
  export { Dialog } from './components/dialog/index.js';
9
8
  export { DropdownMenu, DropdownMenuItem, DropdownMenuGroup, DropdownMenuHeader, DropdownMenuSeparator } from './components/dropdown-menu/index.js';
10
9
  export { TeraFontSansSerif, TeraFontMono } from './components/fonts/index.js';
@@ -143,9 +143,7 @@ async function translateCvMakerMessage() {
143
143
  .map(language => {
144
144
  let directory = "../../projects/cv-maker/messages";
145
145
  console.log('Translate', language, directory);
146
- return translateContentDirectory(directory, "en", [language], [
147
- "text_send_from_in_cover_letter",
148
- ], { promptPath: "./prompt/i18n-message-translate-prompt-cv-maker.txt" });
146
+ return translateContentDirectory(directory, "en", [language], [], { promptPath: "./prompt/i18n-message-translate-prompt-cv-maker.txt" });
149
147
  });
150
148
  await Promise.all(tasks);
151
149
  }
@@ -1,18 +1,21 @@
1
- You are a content translator. Your output language is fully in {language} ({languageCode}).
1
+ ## 🌍 Professional Translation Prompt: Resume / CV / Cover Letter
2
2
 
3
- Context: This JSON contains content for a resume application used to display personal and professional information. It includes sections such as personal details, work experience, education, skills, and projects. The language should be formal and professional, using industry-standard terminology and expressions. Ensure that cultural nuances are considered so that the resume content is appropriate and appealing to {language} speakers.
3
+ You are a professional translator specialized in career-related content, including **resumes/CVs and cover letters**. Your task is to translate text into **{language}** (**{languageCode}**) using a **formal, professional tone** that aligns with the communication style and job market expectations of **{language}**-speaking regions.
4
4
 
5
- Translate the following JSON content accurately and ensure that the translation is contextually appropriate for {language} speakers. Maintain the original meaning and intent, paying close attention to nuances and cultural differences.
5
+ ### 📝 Context:
6
+ The following JSON contains structured content for a job application platform. It includes sections for personal details, work experience, education, skills, projects, and **cover letters**. The translation must reflect **industry-standard terminology** and expressions appropriate for professional documents. Pay close attention to **tone**, **structure**, and **cultural expectations** to ensure the translated content is effective and natural for native speakers.
6
7
 
7
- Important:
8
- - Do not translate any JSON keys.
9
- - Do not translate any text inside curly braces {}.
10
- - Preserve all JSON formatting, punctuation, and special characters.
11
- - Output only valid JSON without any extra formatting (e.g., no markdown code blocks).
12
- - Do use formal tone and professional language.
13
- - Do use formal tone and professional language.
14
- - Do use formal tone and professional language.
15
- - Ensure that the translation is suitable for a resume context.
8
+ ### ✅ Instructions:
9
+ - **Translate only the JSON values**; do **not** translate any JSON keys.
10
+ - **Do not translate or modify** any text inside **curly braces `{}`** — keep them exactly as they are.
11
+ - **Preserve all JSON formatting**, punctuation, and structure.
12
+ - Use **formal, concise, and polished language** appropriate for both resumes and cover letters.
13
+ - Apply **localized phrasing** and **standard job-market terminology** in **{language}**.
14
+ - Consider **cultural nuances**, especially for job titles, achievements, motivations, and expressions of intent.
15
+ - Output must be **valid JSON only** — **no extra explanation**, **no markdown**, and **no formatting artifacts**.
16
16
 
17
- Please translate the following content:
18
- {content}
17
+ ---
18
+
19
+ ### 🔁 Content to Translate:
20
+
21
+ {content}
@@ -41,7 +41,16 @@ export const ALL_LANGUAGE_LIST = [
41
41
  { code: 'uk', name: 'Ukrainian', flag: 'ukraine', label: 'Українська' },
42
42
  { code: 'vi', name: 'Vietnamese', flag: 'vietnam', label: 'Tiếng Việt' },
43
43
  { code: 'zh-CN', name: 'Chinese (Simplified)', flag: 'china', label: '简体中文' },
44
- { code: 'zh-TW', name: 'Chinese (Traditional)', flag: 'taiwan', label: '繁體中文' }
44
+ { code: 'zh-TW', name: 'Chinese (Traditional)', flag: 'taiwan', label: '繁體中文' },
45
+ { code: 'en-US', name: 'English (United States)', flag: 'united states', label: 'English (United States)' },
46
+ { code: 'en-GB', name: 'English (United Kingdom)', flag: 'united kingdom', label: 'English (United Kingdom)' },
47
+ { code: 'en-ZA', name: 'English (South Africa)', flag: 'south africa', label: 'English (South Africa)' },
48
+ { code: 'en-IN', name: 'English (India)', flag: 'india', label: 'English (India)' },
49
+ { code: 'en-PK', name: 'English (Pakistan)', flag: 'pakistan', label: 'English (Pakistan)' },
50
+ { code: 'en-CA', name: 'English (Canada)', flag: 'canada', label: 'English (Canada)' },
51
+ { code: 'ms-MY', name: 'Malay (Malaysia)', flag: 'malaysia', label: 'Malay (Malaysia)' },
52
+ { code: 'pt-BR', name: 'Portuguese (Brazil)', flag: 'brazil', label: 'Português (Brasil)' },
53
+ { code: 'pt-PT', name: 'Portuguese (Portugal)', flag: 'portugal', label: 'Português (Portugal)' },
45
54
  ];
46
55
  export const RTL_LANGUAGES = ['ar', 'he'];
47
56
  export const LANGUAGE_TO_FONT_SUBSETS = {
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "$schema": "https://inlang.com/schema/inlang-message-format",
3
- "text_cv_section_name_summary": "ملخص",
4
- "text_cv_section_name_objective": "الهدف",
5
- "text_cv_section_name_experience": "الخبرة",
3
+ "text_cv_section_name_summary": "الملخص",
4
+ "text_cv_section_name_objective": "الهدف المهني",
5
+ "text_cv_section_name_experience": "الخبرات العملية",
6
6
  "text_cv_section_name_education": "التعليم",
7
7
  "text_cv_section_name_projects": "المشاريع",
8
8
  "text_cv_section_name_skills": "المهارات",
9
- "text_cv_section_name_certifications": "الشهادات",
9
+ "text_cv_section_name_certifications": "الشهادات المهنية",
10
10
  "text_cv_section_name_awards": "الجوائز",
11
11
  "text_cv_section_name_interests": "الاهتمامات",
12
- "text_cv_section_name_volunteering": "التطوع",
12
+ "text_cv_section_name_volunteering": "الأعمال التطوعية",
13
13
  "text_cv_section_name_publications": "المنشورات",
14
14
  "text_cv_section_name_achievements": "الإنجازات",
15
- "text_cv_section_name_qrcode": "رمز الاستجابة السريعة",
15
+ "text_cv_section_name_qrcode": "رمز الاستجابة السريعة (QR)",
16
16
  "text_cv_section_name_activities": "الأنشطة",
17
17
  "text_cv_section_name_languages": "اللغات",
18
18
  "text_cv_section_name_references": "المراجع",
@@ -20,7 +20,7 @@
20
20
  "text_cv_section_name_details": "التفاصيل",
21
21
  "text_cv_property_location": "الموقع",
22
22
  "text_cv_property_address": "العنوان",
23
- "text_cv_property_phone": "الهاتف",
23
+ "text_cv_property_phone": "رقم الهاتف",
24
24
  "text_cv_property_email": "البريد الإلكتروني",
25
25
  "text_cv_property_date_of_birth": "تاريخ الميلاد",
26
26
  "text_cv_property_place_of_birth": "مكان الميلاد",
@@ -30,10 +30,10 @@
30
30
  "text_language_proficiency_2": "أساسي",
31
31
  "text_language_proficiency_3": "متوسط",
32
32
  "text_language_proficiency_4": "متقدم",
33
- "text_language_proficiency_5": "طليق",
33
+ "text_language_proficiency_5": "بطلاقة",
34
34
  "text_skill_level_1": "أساسي",
35
35
  "text_skill_level_2": "متوسط",
36
- "text_skill_level_3": "متمكن",
36
+ "text_skill_level_3": "متقن",
37
37
  "text_skill_level_4": "متقدم",
38
38
  "text_skill_level_5": "خبير",
39
39
  "text_cv_section_name_personal_info": "المعلومات الشخصية",
@@ -43,10 +43,10 @@
43
43
  "text_cv_section_name_licenses": "التراخيص",
44
44
  "text_cv_section_name_driver_licenses": "رخص القيادة",
45
45
  "text_cv_section_name_driver_declaration": "التصريح",
46
- "text_cv_section_name_declaration": "إقرار",
47
- "text_references_available_upon_request": "المعلومات متاحة عند الطلب",
48
- "text_brand_watermark": "مدعوم من {brand}",
49
- "text_to_recipient_in_cover_letter": "إرسال إلى",
46
+ "text_cv_section_name_declaration": "الإقرار",
47
+ "text_references_available_upon_request": "المعلومات متوفرة عند الطلب",
48
+ "text_brand_watermark": "مشغّل بواسطة {brand}",
49
+ "text_to_recipient_in_cover_letter": "إلى",
50
50
  "text_present_in_resume_date": "الحالي",
51
51
  "text_send_from_in_cover_letter": "من"
52
52
  }
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "$schema": "https://inlang.com/schema/inlang-message-format",
3
- "text_cv_section_name_summary": "Резюме",
3
+ "text_cv_section_name_summary": "Професионално резюме",
4
4
  "text_cv_section_name_objective": "Цел",
5
- "text_cv_section_name_experience": "Опит",
5
+ "text_cv_section_name_experience": "Професионален опит",
6
6
  "text_cv_section_name_education": "Образование",
7
7
  "text_cv_section_name_projects": "Проекти",
8
8
  "text_cv_section_name_skills": "Умения",
9
9
  "text_cv_section_name_certifications": "Сертификати",
10
10
  "text_cv_section_name_awards": "Награди",
11
11
  "text_cv_section_name_interests": "Интереси",
12
- "text_cv_section_name_volunteering": "Доброволчество",
12
+ "text_cv_section_name_volunteering": "Доброволческа дейност",
13
13
  "text_cv_section_name_publications": "Публикации",
14
14
  "text_cv_section_name_achievements": "Постижения",
15
15
  "text_cv_section_name_qrcode": "QR код",
@@ -18,7 +18,7 @@
18
18
  "text_cv_section_name_references": "Препоръки",
19
19
  "text_cv_section_name_profiles": "Профили",
20
20
  "text_cv_section_name_details": "Детайли",
21
- "text_cv_property_location": "Местоположение",
21
+ "text_cv_property_location": "Местонахождение",
22
22
  "text_cv_property_address": "Адрес",
23
23
  "text_cv_property_phone": "Телефон",
24
24
  "text_cv_property_email": "Имейл",
@@ -26,16 +26,16 @@
26
26
  "text_cv_property_place_of_birth": "Място на раждане",
27
27
  "text_cv_property_nationality": "Националност",
28
28
  "text_cv_property_website": "Уебсайт",
29
- "text_language_proficiency_1": "Начинаещ",
30
- "text_language_proficiency_2": "Елементарен",
31
- "text_language_proficiency_3": "Среден",
32
- "text_language_proficiency_4": "Напреднал",
33
- "text_language_proficiency_5": "Свободен",
34
- "text_skill_level_1": "Основен",
35
- "text_skill_level_2": "Среден",
36
- "text_skill_level_3": "Добър",
37
- "text_skill_level_4": "Напреднал",
38
- "text_skill_level_5": "Експерт",
29
+ "text_language_proficiency_1": "Начално ниво",
30
+ "text_language_proficiency_2": "Основно ниво",
31
+ "text_language_proficiency_3": "Средно ниво",
32
+ "text_language_proficiency_4": "Напреднало ниво",
33
+ "text_language_proficiency_5": "Свободно владеене",
34
+ "text_skill_level_1": "Базово ниво",
35
+ "text_skill_level_2": "Средно ниво",
36
+ "text_skill_level_3": "Добро владеене",
37
+ "text_skill_level_4": "Високо ниво",
38
+ "text_skill_level_5": "Експертно ниво",
39
39
  "text_cv_section_name_personal_info": "Лична информация",
40
40
  "text_cv_section_name_links": "Връзки",
41
41
  "text_cv_property_gender": "Пол",
@@ -44,9 +44,9 @@
44
44
  "text_cv_section_name_driver_licenses": "Шофьорски книжки",
45
45
  "text_cv_section_name_driver_declaration": "Декларация",
46
46
  "text_cv_section_name_declaration": "Декларация",
47
- "text_references_available_upon_request": "Информацията е налична при запитване",
48
- "text_brand_watermark": "Задвижва се от {brand}",
49
- "text_to_recipient_in_cover_letter": "Изпрати до",
50
- "text_present_in_resume_date": "Настояще",
47
+ "text_references_available_upon_request": "Информация при поискване",
48
+ "text_brand_watermark": "Осъществено от {brand}",
49
+ "text_to_recipient_in_cover_letter": "До",
50
+ "text_present_in_resume_date": "до момента",
51
51
  "text_send_from_in_cover_letter": "От"
52
52
  }