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.
- package/dist/components/command/command.scss +2 -2
- package/dist/components/command/components/command-empty.svelte +16 -0
- package/dist/components/command/components/command-empty.svelte.d.ts +4 -0
- package/dist/components/command/components/command-group.svelte +31 -0
- package/dist/components/command/components/command-group.svelte.d.ts +7 -0
- package/dist/components/command/components/command-input.svelte +30 -0
- package/dist/components/command/components/command-input.svelte.d.ts +4 -0
- package/dist/components/command/components/command-item.svelte +20 -0
- package/dist/components/command/components/command-item.svelte.d.ts +4 -0
- package/dist/components/command/components/command-link-item.svelte +18 -0
- package/dist/components/command/components/command-link-item.svelte.d.ts +4 -0
- package/dist/components/command/components/command-list.svelte +16 -0
- package/dist/components/command/components/command-list.svelte.d.ts +4 -0
- package/dist/components/command/components/command-separator.svelte +15 -0
- package/dist/components/command/components/command-separator.svelte.d.ts +4 -0
- package/dist/components/command/components/command-shortcut.svelte +19 -0
- package/dist/components/command/components/command-shortcut.svelte.d.ts +5 -0
- package/dist/components/command/components/command.svelte +54 -0
- package/dist/components/command/components/command.svelte.d.ts +5 -0
- package/dist/components/command/index.d.ts +12 -12
- package/dist/components/command/index.js +13 -18
- package/dist/components/text-area/TextArea.svelte +5 -5
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/tera-i18n/dev-tools/translator/gpt-translator-i18n-message.js +1 -3
- package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.txt +17 -14
- package/dist/tera-i18n/projects/common/all-language-data.js +10 -1
- package/dist/tera-i18n/projects/cv-maker/messages/ar.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/bg.json +18 -18
- package/dist/tera-i18n/projects/cv-maker/messages/bn.json +21 -21
- package/dist/tera-i18n/projects/cv-maker/messages/ca.json +12 -12
- package/dist/tera-i18n/projects/cv-maker/messages/cs.json +11 -11
- package/dist/tera-i18n/projects/cv-maker/messages/da.json +10 -10
- package/dist/tera-i18n/projects/cv-maker/messages/de.json +11 -11
- package/dist/tera-i18n/projects/cv-maker/messages/el.json +14 -14
- package/dist/tera-i18n/projects/cv-maker/messages/en-CA.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/en-GB.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/en-IN.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/en-PK.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/en-US.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/en-ZA.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/es.json +8 -8
- package/dist/tera-i18n/projects/cv-maker/messages/fi.json +5 -5
- package/dist/tera-i18n/projects/cv-maker/messages/fr.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/he.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/hi.json +12 -12
- package/dist/tera-i18n/projects/cv-maker/messages/hu.json +16 -16
- package/dist/tera-i18n/projects/cv-maker/messages/id.json +9 -9
- package/dist/tera-i18n/projects/cv-maker/messages/it.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/ja.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/ko.json +15 -15
- package/dist/tera-i18n/projects/cv-maker/messages/lt.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/lv.json +12 -12
- package/dist/tera-i18n/projects/cv-maker/messages/ms-MY.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/ms.json +10 -10
- package/dist/tera-i18n/projects/cv-maker/messages/nl.json +5 -5
- package/dist/tera-i18n/projects/cv-maker/messages/no.json +8 -8
- package/dist/tera-i18n/projects/cv-maker/messages/pl.json +12 -12
- package/dist/tera-i18n/projects/cv-maker/messages/pt-BR.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/pt-PT.json +51 -0
- package/dist/tera-i18n/projects/cv-maker/messages/pt.json +7 -7
- package/dist/tera-i18n/projects/cv-maker/messages/ro.json +9 -9
- package/dist/tera-i18n/projects/cv-maker/messages/ru.json +13 -13
- package/dist/tera-i18n/projects/cv-maker/messages/sk.json +15 -15
- package/dist/tera-i18n/projects/cv-maker/messages/sl.json +15 -15
- package/dist/tera-i18n/projects/cv-maker/messages/sq.json +34 -34
- package/dist/tera-i18n/projects/cv-maker/messages/sr.json +16 -16
- package/dist/tera-i18n/projects/cv-maker/messages/sv.json +9 -9
- package/dist/tera-i18n/projects/cv-maker/messages/sw.json +15 -15
- package/dist/tera-i18n/projects/cv-maker/messages/ta.json +25 -25
- package/dist/tera-i18n/projects/cv-maker/messages/te.json +25 -25
- package/dist/tera-i18n/projects/cv-maker/messages/th.json +17 -17
- package/dist/tera-i18n/projects/cv-maker/messages/tl.json +16 -16
- package/dist/tera-i18n/projects/cv-maker/messages/tr.json +6 -6
- package/dist/tera-i18n/projects/cv-maker/messages/uk.json +15 -15
- package/dist/tera-i18n/projects/cv-maker/messages/vi.json +18 -18
- package/dist/tera-i18n/projects/cv-maker/messages/zh-CN.json +29 -29
- package/dist/tera-i18n/projects/cv-maker/messages/zh-TW.json +26 -26
- package/dist/tera-i18n/projects/cv-maker/project.inlang/settings.json +68 -59
- package/dist/tera-i18n/projects/cv-maker/supported-language.js +10 -1
- package/dist/utils/index.d.ts +10 -0
- package/package.json +1 -1
- package/dist/components/command/command.d.ts +0 -33
- package/dist/components/command/command.js +0 -512
- package/dist/components/command/components/Command.svelte +0 -120
- package/dist/components/command/components/Command.svelte.d.ts +0 -4
- package/dist/components/command/components/CommandEmpty.svelte +0 -30
- package/dist/components/command/components/CommandEmpty.svelte.d.ts +0 -4
- package/dist/components/command/components/CommandGroup.svelte +0 -110
- package/dist/components/command/components/CommandGroup.svelte.d.ts +0 -4
- package/dist/components/command/components/CommandInput.svelte +0 -92
- package/dist/components/command/components/CommandInput.svelte.d.ts +0 -8
- package/dist/components/command/components/CommandItem.svelte +0 -110
- package/dist/components/command/components/CommandItem.svelte.d.ts +0 -4
- package/dist/components/command/components/CommandList.svelte +0 -56
- package/dist/components/command/components/CommandList.svelte.d.ts +0 -6
- package/dist/components/command/components/CommandLoading.svelte +0 -29
- package/dist/components/command/components/CommandLoading.svelte.d.ts +0 -9
- package/dist/components/command/components/CommandSeparator.svelte +0 -21
- package/dist/components/command/components/CommandSeparator.svelte.d.ts +0 -4
- package/dist/components/command/types.d.ts +0 -227
- 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
|
|
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
|
|
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,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,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,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,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,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,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
|
+
/>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import Input from
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
export
|
|
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
|
-
|
|
2
|
-
import Root from
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import Input from
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
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
|
}
|
package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.txt
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
## 🌍 Professional Translation Prompt: Resume / CV / Cover Letter
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
8
|
-
-
|
|
9
|
-
- Do not translate any text inside curly braces {}.
|
|
10
|
-
- Preserve all JSON formatting
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
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
|
-
|
|
18
|
-
|
|
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": "
|
|
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": "
|
|
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
|
}
|