tera-system-ui 0.1.61 → 0.1.64

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 (248) hide show
  1. package/dist/COMPONENT_API.md +539 -0
  2. package/dist/components/brand-logo/BrandLogo.d.ts +2 -2
  3. package/dist/components/brand-logo/BrandLogo.js +1 -1
  4. package/dist/components/dialog/Dialog.svelte +1 -1
  5. package/dist/components/slider/Slider.svelte +1 -1
  6. package/dist/components/tera-ui-context/TeraUiContext.svelte +0 -2
  7. package/dist/paraglide/README.md +1 -1
  8. package/dist/paraglide/messages/_index.d.ts +7 -21
  9. package/dist/paraglide/messages/_index.js +7 -485
  10. package/dist/paraglide/messages/text_account_settings.d.ts +4 -0
  11. package/dist/paraglide/messages/text_account_settings.js +239 -0
  12. package/dist/paraglide/messages/text_calces_documentation.d.ts +4 -0
  13. package/dist/paraglide/messages/text_calces_documentation.js +239 -0
  14. package/dist/paraglide/messages/text_calces_scientific_calculator.d.ts +4 -0
  15. package/dist/paraglide/messages/text_calces_scientific_calculator.js +239 -0
  16. package/dist/paraglide/messages/text_currency_converter.d.ts +4 -0
  17. package/dist/paraglide/messages/text_currency_converter.js +239 -0
  18. package/dist/paraglide/messages/text_logout.d.ts +4 -0
  19. package/dist/paraglide/messages/text_logout.js +239 -0
  20. package/dist/paraglide/messages/text_select_language.d.ts +4 -0
  21. package/dist/paraglide/messages/text_select_language.js +239 -0
  22. package/dist/paraglide/messages/text_unit_converter.d.ts +4 -0
  23. package/dist/paraglide/messages/text_unit_converter.js +239 -0
  24. package/dist/paraglide/runtime.d.ts +1 -1
  25. package/dist/paraglide/runtime.js +5 -6
  26. package/dist/tera-i18n/dev-tools/translator/gpt-translator-i18n-message.js +130 -9
  27. package/dist/tera-i18n/dev-tools/translator/package-lock.json +14 -224
  28. package/dist/tera-i18n/dev-tools/translator/package.json +1 -1
  29. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-calculator.md +34 -0
  30. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.md +149 -0
  31. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-system.txt +1 -1
  32. package/dist/tera-i18n/projects/common/all-language-data.js +70 -13
  33. package/dist/tera-i18n/projects/cv-maker/messages/ar-AE.json +94 -0
  34. package/dist/tera-i18n/projects/cv-maker/messages/ar-EG.json +94 -0
  35. package/dist/tera-i18n/projects/cv-maker/messages/ar-IQ.json +94 -0
  36. package/dist/tera-i18n/projects/cv-maker/messages/ar-SA.json +94 -0
  37. package/dist/tera-i18n/projects/cv-maker/messages/ar-SD.json +94 -0
  38. package/dist/tera-i18n/projects/cv-maker/messages/ar-YE.json +94 -0
  39. package/dist/tera-i18n/projects/cv-maker/messages/ar.json +58 -15
  40. package/dist/tera-i18n/projects/cv-maker/messages/bg.json +57 -14
  41. package/dist/tera-i18n/projects/cv-maker/messages/bn.json +65 -22
  42. package/dist/tera-i18n/projects/cv-maker/messages/ca.json +54 -11
  43. package/dist/tera-i18n/projects/cv-maker/messages/cs.json +59 -16
  44. package/dist/tera-i18n/projects/cv-maker/messages/da.json +51 -8
  45. package/dist/tera-i18n/projects/cv-maker/messages/de.json +58 -15
  46. package/dist/tera-i18n/projects/cv-maker/messages/el.json +71 -28
  47. package/dist/tera-i18n/projects/cv-maker/messages/en-AE.json +94 -0
  48. package/dist/tera-i18n/projects/cv-maker/messages/en-AU.json +94 -0
  49. package/dist/tera-i18n/projects/cv-maker/messages/en-CA.json +51 -8
  50. package/dist/tera-i18n/projects/cv-maker/messages/en-GB.json +50 -7
  51. package/dist/tera-i18n/projects/cv-maker/messages/en-ID.json +94 -0
  52. package/dist/tera-i18n/projects/cv-maker/messages/en-IN.json +54 -11
  53. package/dist/tera-i18n/projects/cv-maker/messages/en-NZ.json +94 -0
  54. package/dist/tera-i18n/projects/cv-maker/messages/en-PH.json +94 -0
  55. package/dist/tera-i18n/projects/cv-maker/messages/en-PK.json +58 -15
  56. package/dist/tera-i18n/projects/cv-maker/messages/en-SA.json +94 -0
  57. package/dist/tera-i18n/projects/cv-maker/messages/en-US.json +51 -8
  58. package/dist/tera-i18n/projects/cv-maker/messages/en-ZA.json +52 -9
  59. package/dist/tera-i18n/projects/cv-maker/messages/en.json +45 -16
  60. package/dist/tera-i18n/projects/cv-maker/messages/es-419.json +94 -0
  61. package/dist/tera-i18n/projects/cv-maker/messages/es-AR.json +94 -0
  62. package/dist/tera-i18n/projects/cv-maker/messages/es-ES.json +94 -0
  63. package/dist/tera-i18n/projects/cv-maker/messages/es-MX.json +94 -0
  64. package/dist/tera-i18n/projects/cv-maker/messages/es.json +53 -10
  65. package/dist/tera-i18n/projects/cv-maker/messages/fi.json +52 -9
  66. package/dist/tera-i18n/projects/cv-maker/messages/fr-MA.json +94 -0
  67. package/dist/tera-i18n/projects/cv-maker/messages/fr.json +54 -11
  68. package/dist/tera-i18n/projects/cv-maker/messages/he.json +55 -12
  69. package/dist/tera-i18n/projects/cv-maker/messages/hi.json +59 -16
  70. package/dist/tera-i18n/projects/cv-maker/messages/hr.json +94 -0
  71. package/dist/tera-i18n/projects/cv-maker/messages/hu.json +63 -20
  72. package/dist/tera-i18n/projects/cv-maker/messages/id.json +60 -17
  73. package/dist/tera-i18n/projects/cv-maker/messages/it.json +53 -10
  74. package/dist/tera-i18n/projects/cv-maker/messages/ja.json +62 -19
  75. package/dist/tera-i18n/projects/cv-maker/messages/ko.json +61 -18
  76. package/dist/tera-i18n/projects/cv-maker/messages/lt.json +61 -18
  77. package/dist/tera-i18n/projects/cv-maker/messages/lv.json +61 -18
  78. package/dist/tera-i18n/projects/cv-maker/messages/ms-MY.json +60 -17
  79. package/dist/tera-i18n/projects/cv-maker/messages/ms.json +61 -18
  80. package/dist/tera-i18n/projects/cv-maker/messages/nl.json +53 -10
  81. package/dist/tera-i18n/projects/cv-maker/messages/no.json +54 -11
  82. package/dist/tera-i18n/projects/cv-maker/messages/pl.json +59 -16
  83. package/dist/tera-i18n/projects/cv-maker/messages/pt-BR.json +58 -15
  84. package/dist/tera-i18n/projects/cv-maker/messages/pt-PT.json +59 -16
  85. package/dist/tera-i18n/projects/cv-maker/messages/pt.json +66 -23
  86. package/dist/tera-i18n/projects/cv-maker/messages/ro.json +52 -9
  87. package/dist/tera-i18n/projects/cv-maker/messages/ru.json +57 -14
  88. package/dist/tera-i18n/projects/cv-maker/messages/sk.json +62 -19
  89. package/dist/tera-i18n/projects/cv-maker/messages/sl.json +57 -14
  90. package/dist/tera-i18n/projects/cv-maker/messages/sq.json +59 -16
  91. package/dist/tera-i18n/projects/cv-maker/messages/sr.json +91 -48
  92. package/dist/tera-i18n/projects/cv-maker/messages/sv.json +56 -13
  93. package/dist/tera-i18n/projects/cv-maker/messages/sw.json +62 -19
  94. package/dist/tera-i18n/projects/cv-maker/messages/ta.json +72 -29
  95. package/dist/tera-i18n/projects/cv-maker/messages/te.json +75 -32
  96. package/dist/tera-i18n/projects/cv-maker/messages/th.json +62 -19
  97. package/dist/tera-i18n/projects/cv-maker/messages/tl.json +77 -34
  98. package/dist/tera-i18n/projects/cv-maker/messages/tr.json +63 -20
  99. package/dist/tera-i18n/projects/cv-maker/messages/uk.json +63 -20
  100. package/dist/tera-i18n/projects/cv-maker/messages/vi.json +64 -21
  101. package/dist/tera-i18n/projects/cv-maker/messages/zh-CN.json +63 -20
  102. package/dist/tera-i18n/projects/cv-maker/messages/zh-TW.json +58 -15
  103. package/dist/tera-i18n/projects/cv-maker/messages/zh.json +94 -0
  104. package/dist/tera-i18n/projects/cv-maker/project.inlang/settings.json +82 -68
  105. package/dist/tera-i18n/projects/cv-maker/supported-language.js +36 -9
  106. package/dist/tera-i18n/projects/mathda/messages/en.json +4 -0
  107. package/dist/tera-i18n/projects/mathda/messages/vi.json +4 -0
  108. package/dist/tera-i18n/projects/mathda/project.inlang/settings.json +15 -0
  109. package/dist/tera-i18n/projects/mathda/supported-language.d.ts +1 -0
  110. package/dist/tera-i18n/projects/mathda/supported-language.js +4 -0
  111. package/dist/tera-i18n/projects/tera-calculator/messages/bg.json +149 -72
  112. package/dist/tera-i18n/projects/tera-calculator/messages/bn.json +149 -72
  113. package/dist/tera-i18n/projects/tera-calculator/messages/ca.json +139 -62
  114. package/dist/tera-i18n/projects/tera-calculator/messages/cs.json +132 -55
  115. package/dist/tera-i18n/projects/tera-calculator/messages/da.json +132 -55
  116. package/dist/tera-i18n/projects/tera-calculator/messages/de.json +181 -104
  117. package/dist/tera-i18n/projects/tera-calculator/messages/el.json +145 -68
  118. package/dist/tera-i18n/projects/tera-calculator/messages/en-IN.json +183 -0
  119. package/dist/tera-i18n/projects/tera-calculator/messages/en-PH.json +183 -0
  120. package/dist/tera-i18n/projects/tera-calculator/messages/en-US.json +183 -0
  121. package/dist/tera-i18n/projects/tera-calculator/messages/en.json +187 -104
  122. package/dist/tera-i18n/projects/tera-calculator/messages/es.json +181 -104
  123. package/dist/tera-i18n/projects/tera-calculator/messages/fi.json +137 -60
  124. package/dist/tera-i18n/projects/tera-calculator/messages/fr.json +180 -103
  125. package/dist/tera-i18n/projects/tera-calculator/messages/hi.json +136 -59
  126. package/dist/tera-i18n/projects/tera-calculator/messages/hu.json +141 -64
  127. package/dist/tera-i18n/projects/tera-calculator/messages/id.json +132 -55
  128. package/dist/tera-i18n/projects/tera-calculator/messages/it.json +180 -103
  129. package/dist/tera-i18n/projects/tera-calculator/messages/ja.json +136 -59
  130. package/dist/tera-i18n/projects/tera-calculator/messages/ko.json +133 -56
  131. package/dist/tera-i18n/projects/tera-calculator/messages/lt.json +140 -63
  132. package/dist/tera-i18n/projects/tera-calculator/messages/lv.json +141 -64
  133. package/dist/tera-i18n/projects/tera-calculator/messages/ms.json +139 -62
  134. package/dist/tera-i18n/projects/tera-calculator/messages/nl.json +145 -68
  135. package/dist/tera-i18n/projects/tera-calculator/messages/no.json +131 -54
  136. package/dist/tera-i18n/projects/tera-calculator/messages/pl.json +134 -57
  137. package/dist/tera-i18n/projects/tera-calculator/messages/pt.json +180 -103
  138. package/dist/tera-i18n/projects/tera-calculator/messages/ro.json +136 -59
  139. package/dist/tera-i18n/projects/tera-calculator/messages/ru.json +180 -103
  140. package/dist/tera-i18n/projects/tera-calculator/messages/sk.json +135 -58
  141. package/dist/tera-i18n/projects/tera-calculator/messages/sl.json +139 -62
  142. package/dist/tera-i18n/projects/tera-calculator/messages/sq.json +148 -71
  143. package/dist/tera-i18n/projects/tera-calculator/messages/sr.json +141 -64
  144. package/dist/tera-i18n/projects/tera-calculator/messages/sv.json +134 -57
  145. package/dist/tera-i18n/projects/tera-calculator/messages/sw.json +152 -75
  146. package/dist/tera-i18n/projects/tera-calculator/messages/ta.json +159 -82
  147. package/dist/tera-i18n/projects/tera-calculator/messages/te.json +165 -88
  148. package/dist/tera-i18n/projects/tera-calculator/messages/th.json +136 -59
  149. package/dist/tera-i18n/projects/tera-calculator/messages/tl.json +146 -69
  150. package/dist/tera-i18n/projects/tera-calculator/messages/tr.json +135 -58
  151. package/dist/tera-i18n/projects/tera-calculator/messages/uk.json +142 -65
  152. package/dist/tera-i18n/projects/tera-calculator/messages/vi.json +181 -104
  153. package/dist/tera-i18n/projects/tera-calculator/messages/zh-CN.json +129 -52
  154. package/dist/tera-i18n/projects/tera-calculator/messages/zh-TW.json +135 -58
  155. package/dist/tera-i18n/projects/tera-calculator/project.inlang/settings.json +51 -53
  156. package/dist/tera-i18n/projects/tera-calculator/supported-language.js +6 -3
  157. package/package.json +4 -3
  158. package/dist/paraglide/messages/ar.d.ts +0 -9
  159. package/dist/paraglide/messages/ar.js +0 -31
  160. package/dist/paraglide/messages/bg.d.ts +0 -9
  161. package/dist/paraglide/messages/bg.js +0 -31
  162. package/dist/paraglide/messages/bn.d.ts +0 -9
  163. package/dist/paraglide/messages/bn.js +0 -31
  164. package/dist/paraglide/messages/ca.d.ts +0 -9
  165. package/dist/paraglide/messages/ca.js +0 -31
  166. package/dist/paraglide/messages/cs.d.ts +0 -9
  167. package/dist/paraglide/messages/cs.js +0 -31
  168. package/dist/paraglide/messages/da.d.ts +0 -9
  169. package/dist/paraglide/messages/da.js +0 -31
  170. package/dist/paraglide/messages/de.d.ts +0 -9
  171. package/dist/paraglide/messages/de.js +0 -31
  172. package/dist/paraglide/messages/el.d.ts +0 -9
  173. package/dist/paraglide/messages/el.js +0 -31
  174. package/dist/paraglide/messages/en.d.ts +0 -9
  175. package/dist/paraglide/messages/en.js +0 -31
  176. package/dist/paraglide/messages/es.d.ts +0 -9
  177. package/dist/paraglide/messages/es.js +0 -31
  178. package/dist/paraglide/messages/fi.d.ts +0 -9
  179. package/dist/paraglide/messages/fi.js +0 -31
  180. package/dist/paraglide/messages/fr.d.ts +0 -9
  181. package/dist/paraglide/messages/fr.js +0 -31
  182. package/dist/paraglide/messages/he.d.ts +0 -9
  183. package/dist/paraglide/messages/he.js +0 -31
  184. package/dist/paraglide/messages/hi.d.ts +0 -9
  185. package/dist/paraglide/messages/hi.js +0 -31
  186. package/dist/paraglide/messages/hu.d.ts +0 -9
  187. package/dist/paraglide/messages/hu.js +0 -31
  188. package/dist/paraglide/messages/id.d.ts +0 -9
  189. package/dist/paraglide/messages/id.js +0 -31
  190. package/dist/paraglide/messages/it.d.ts +0 -9
  191. package/dist/paraglide/messages/it.js +0 -31
  192. package/dist/paraglide/messages/ja.d.ts +0 -9
  193. package/dist/paraglide/messages/ja.js +0 -31
  194. package/dist/paraglide/messages/ko.d.ts +0 -9
  195. package/dist/paraglide/messages/ko.js +0 -31
  196. package/dist/paraglide/messages/lt.d.ts +0 -9
  197. package/dist/paraglide/messages/lt.js +0 -31
  198. package/dist/paraglide/messages/lv.d.ts +0 -9
  199. package/dist/paraglide/messages/lv.js +0 -31
  200. package/dist/paraglide/messages/ms.d.ts +0 -9
  201. package/dist/paraglide/messages/ms.js +0 -31
  202. package/dist/paraglide/messages/nl.d.ts +0 -9
  203. package/dist/paraglide/messages/nl.js +0 -31
  204. package/dist/paraglide/messages/no.d.ts +0 -9
  205. package/dist/paraglide/messages/no.js +0 -31
  206. package/dist/paraglide/messages/pl.d.ts +0 -9
  207. package/dist/paraglide/messages/pl.js +0 -31
  208. package/dist/paraglide/messages/pt.d.ts +0 -9
  209. package/dist/paraglide/messages/pt.js +0 -31
  210. package/dist/paraglide/messages/ro.d.ts +0 -9
  211. package/dist/paraglide/messages/ro.js +0 -31
  212. package/dist/paraglide/messages/ru.d.ts +0 -9
  213. package/dist/paraglide/messages/ru.js +0 -31
  214. package/dist/paraglide/messages/sk.d.ts +0 -9
  215. package/dist/paraglide/messages/sk.js +0 -31
  216. package/dist/paraglide/messages/sl.d.ts +0 -9
  217. package/dist/paraglide/messages/sl.js +0 -31
  218. package/dist/paraglide/messages/sq.d.ts +0 -9
  219. package/dist/paraglide/messages/sq.js +0 -31
  220. package/dist/paraglide/messages/sr.d.ts +0 -9
  221. package/dist/paraglide/messages/sr.js +0 -31
  222. package/dist/paraglide/messages/sv.d.ts +0 -9
  223. package/dist/paraglide/messages/sv.js +0 -31
  224. package/dist/paraglide/messages/sw.d.ts +0 -9
  225. package/dist/paraglide/messages/sw.js +0 -31
  226. package/dist/paraglide/messages/ta.d.ts +0 -9
  227. package/dist/paraglide/messages/ta.js +0 -31
  228. package/dist/paraglide/messages/te.d.ts +0 -9
  229. package/dist/paraglide/messages/te.js +0 -31
  230. package/dist/paraglide/messages/th.d.ts +0 -9
  231. package/dist/paraglide/messages/th.js +0 -31
  232. package/dist/paraglide/messages/tl.d.ts +0 -9
  233. package/dist/paraglide/messages/tl.js +0 -31
  234. package/dist/paraglide/messages/tr.d.ts +0 -9
  235. package/dist/paraglide/messages/tr.js +0 -31
  236. package/dist/paraglide/messages/uk.d.ts +0 -9
  237. package/dist/paraglide/messages/uk.js +0 -31
  238. package/dist/paraglide/messages/vi.d.ts +0 -9
  239. package/dist/paraglide/messages/vi.js +0 -31
  240. package/dist/paraglide/messages/zh-CN.d.ts +0 -9
  241. package/dist/paraglide/messages/zh-CN.js +0 -31
  242. package/dist/paraglide/messages/zh-TW.d.ts +0 -9
  243. package/dist/paraglide/messages/zh-TW.js +0 -31
  244. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.txt +0 -21
  245. package/dist/tera-i18n/projects/cv-maker/project.inlang/project_id +0 -1
  246. package/dist/tera-i18n/projects/tera-calculator/messages/ar.json +0 -106
  247. package/dist/tera-i18n/projects/tera-calculator/messages/he.json +0 -106
  248. package/dist/tera-i18n/projects/tera-calculator/project.inlang/project_id +0 -1
@@ -0,0 +1,539 @@
1
+ # tera-system-ui Component Library
2
+
3
+ Svelte 5 UI library built with Tailwind CSS and tailwind-variants.
4
+
5
+ ## Quick Import
6
+
7
+ ```typescript
8
+ import { Button, Input, Dialog } from 'tera-system-ui';
9
+ ```
10
+
11
+ ## Setup
12
+
13
+ Import base CSS in your app:
14
+ ```typescript
15
+ import 'tera-system-ui/lib/themes/tera-ui-base.css';
16
+ ```
17
+
18
+ Add dark mode class to html: `<html class="dark">` or use `LightDarkToggle` component.
19
+
20
+ ---
21
+
22
+ ## Core Patterns
23
+
24
+ ### Variant Props
25
+ All components use `variant`, `size`, and `disabled` props via tailwind-variants.
26
+
27
+ ### Ref Forwarding
28
+ All components expose `ref` prop for imperative access.
29
+
30
+ ### Snippets
31
+ Svelte 5 snippets via `children?: Snippet`.
32
+
33
+ ### Dark Mode
34
+ Toggle with `.dark` class on container. Components auto-adapt via CSS variables.
35
+
36
+ ---
37
+
38
+ ## Design Token System
39
+
40
+ ### Color Tokens
41
+
42
+ **Primary (Blue):**
43
+ | Token | Light | Dark | Usage |
44
+ |-------|-------|------|-------|
45
+ | `--color-primary-50` | rgb(235, 243, 254) | rgb(25, 55, 103) | Lightest bg |
46
+ | `--color-primary-100` | rgb(194, 216, 252) | rgb(32, 72, 135) | Hover bg |
47
+ | `--color-primary-500` | rgb(59, 130, 246) | rgb(98, 155, 248) | Default |
48
+ | `--color-primary-600` | rgb(54, 118, 224) | rgb(124, 171, 249) | Hover |
49
+ | `--color-primary-700` | rgb(42, 92, 175) | rgb(165, 198, 251) | Active |
50
+
51
+ **Neutral Tokens (for backgrounds/borders):**
52
+ | Token | Light | Dark | Usage |
53
+ |-------|-------|------|-------|
54
+ | `--color-neutral-token-1` | rgb(255,255,255) | rgb(0,0,0) | Page bg |
55
+ | `--color-neutral-token-3` | rgb(245,245,245) | rgb(31,31,31) | Input bg |
56
+ | `--color-neutral-token-5` | rgb(217,217,217) | rgb(69,69,69) | Borders |
57
+ | `--color-neutral-token-7` | rgb(140,140,140) | rgb(140,140,140) | Muted text |
58
+ | `--color-neutral-token-13` | rgb(0,0,0) | rgb(255,255,255) | Text |
59
+
60
+ **Semantic Colors:**
61
+ - `--color-error-*`: Red (validation, danger actions)
62
+ - `--color-warning-*`: Orange (warnings)
63
+ - `--color-success-*`: Green (success states)
64
+ - `--color-brand-*`: Brand blue
65
+
66
+ ### Typography
67
+
68
+ ```css
69
+ --font-sans: "Open Sans Variable", system-ui, sans-serif;
70
+ --font-mono: "Roboto Mono Variable", monospace;
71
+ ```
72
+
73
+ ### Spacing / Sizing
74
+
75
+ ```css
76
+ --tera-control-height-xs: 20px; /* Button xs */
77
+ --tera-control-height-sm: 24px; /* Button sm */
78
+ --tera-control-height-base: 32px; /* Button md */
79
+ --tera-control-height-lg: 40px; /* Button lg */
80
+ ```
81
+
82
+ ### Border Radius
83
+
84
+ ```css
85
+ --tera-radius-sm: 2px;
86
+ --tera-radius-base: 6px; /* Default */
87
+ --tera-radius-lg: 8px;
88
+ --border-radius-container: 0.5rem; /* Cards, dialogs */
89
+ ```
90
+
91
+ ### Transitions
92
+
93
+ ```css
94
+ --tera-transition-fast: 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
95
+ --tera-transition-base: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
96
+ --tera-transition-slow: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
97
+ ```
98
+
99
+ ### Shadows / Focus
100
+
101
+ ```css
102
+ --tera-focus-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
103
+ --tera-focus-shadow-error: 0 0 0 2px rgba(239, 68, 68, 0.1);
104
+ --tera-focus-shadow-warning: 0 0 0 2px rgba(249, 115, 22, 0.1);
105
+ --tera-focus-shadow-success: 0 0 0 2px rgba(34, 197, 94, 0.1);
106
+ ```
107
+
108
+ ### Header Height
109
+
110
+ ```css
111
+ --header-height: 3rem; /* Mobile */
112
+ --header-height: 3.5rem; /* >= md breakpoint */
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Component Usage
118
+
119
+ ### Button
120
+ ```typescript
121
+ import { Button, ButtonProps } from 'tera-system-ui';
122
+ ```
123
+ **Props:**
124
+ - `variant?: 'primary' | 'default' | 'dashed' | 'text' | 'link'`
125
+ - `size?: 'xs' | 'sm' | 'md' | 'lg'`
126
+ - `shape?: 'default' | 'circle' | 'round'`
127
+ - `disabled?: boolean`
128
+ - `loading?: boolean`
129
+ - `icon?: boolean` (removes padding for icon-only)
130
+ - `danger?: boolean` (red variant for destructive actions)
131
+ - `block?: boolean` (full width)
132
+
133
+ **Example:**
134
+ ```svelte
135
+ <Button variant="primary" size="md" onclick={() => handleClick()}>
136
+ Save
137
+ </Button>
138
+ <Button variant="danger" icon>
139
+ <IconTrash />
140
+ </Button>
141
+ ```
142
+
143
+ ### Input
144
+ ```typescript
145
+ import { Input, InputProps } from 'tera-system-ui';
146
+ ```
147
+ **Props:**
148
+ - `variant?: 'outlined' | 'filled' | 'borderless'`
149
+ - `size?: 'sm' | 'md' | 'lg'`
150
+ - `disabled?: boolean`
151
+ - `status?: 'error' | 'warning'`
152
+ - `value?: string`
153
+ - `prefix?: Snippet` (icon before input)
154
+ - `suffix?: Snippet` (icon after input)
155
+ - `allowClear?: boolean`
156
+
157
+ **Example:**
158
+ ```svelte
159
+ <Input placeholder="Enter name" prefix={<IconSearch />} />
160
+ <Input status="error" value={value} oninput={(e) => handleInput(e)} />
161
+ ```
162
+
163
+ ### Select
164
+ ```typescript
165
+ import { Select, SelectProps } from 'tera-system-ui';
166
+ ```
167
+ Same variants as Input. Uses native `<select>` with chevron icon.
168
+
169
+ **Example:**
170
+ ```svelte
171
+ <Select value={selected} onchange={(e) => handleChange(e.target.value)}>
172
+ <option value="a">Option A</option>
173
+ <option value="b">Option B</option>
174
+ </Select>
175
+ ```
176
+
177
+ ### Combobox
178
+ ```typescript
179
+ import { Combobox, ComboboxProps } from 'tera-system-ui';
180
+ ```
181
+ Wrapper for bits-ui command palette. No variant props.
182
+
183
+ ### TextArea
184
+ ```typescript
185
+ import { TextArea, TextAreaProps, AutoSizeConfig } from 'tera-system-ui';
186
+ ```
187
+ **Props:**
188
+ - `variant?: 'outlined' | 'filled' | 'borderless'`
189
+ - `size?: 'sm' | 'md' | 'lg'`
190
+ - `autoSize?: boolean | { minRows?: number, maxRows?: number }`
191
+ - `allowClear?: boolean`
192
+ - `showCount?: boolean`
193
+ - `maxLength?: number`
194
+
195
+ **Example:**
196
+ ```svelte
197
+ <TextArea placeholder="Description" autoSize={{ minRows: 2, maxRows: 6 }} />
198
+ ```
199
+
200
+ ### Checkbox
201
+ ```typescript
202
+ import { Checkbox, CheckboxProps } from 'tera-system-ui';
203
+ ```
204
+ **Example:**
205
+ ```svelte
206
+ <Checkbox checked={checked} onchange={() => toggle()}>
207
+ Accept terms
208
+ </Checkbox>
209
+ ```
210
+
211
+ ### Switch
212
+ ```typescript
213
+ import { Switch, SwitchProps } from 'tera-system-ui';
214
+ ```
215
+ **Props:** `checked?: boolean`
216
+
217
+ **Example:**
218
+ ```svelte
219
+ <Switch checked={enabled} onchange={() => toggle()} />
220
+ ```
221
+
222
+ ### Slider
223
+ ```typescript
224
+ import { Slider, SliderProps } from 'tera-system-ui';
225
+ ```
226
+ **Props:** `min: number`, `max: number`, `step: number`, `value: number`, `showTicks?: boolean`, `onchange?: (value: number) => void`
227
+
228
+ **Example:**
229
+ ```svelte
230
+ <Slider min={0} max={100} step={1} value={50} showTicks onchange={(v) => handleChange(v)} />
231
+ ```
232
+
233
+ ### StarRating
234
+ ```typescript
235
+ import { StarRating, StarRatingProps } from 'tera-system-ui';
236
+ ```
237
+ **Props:** `size?: 'sm' | 'md' | 'lg'`, `value?: number`, `onchange?: (value: number) => void`
238
+
239
+ **Example:**
240
+ ```svelte
241
+ <StarRating value={4} onchange={(v) => setRating(v)} />
242
+ ```
243
+
244
+ ### Dialog
245
+ ```typescript
246
+ import { Dialog, DialogProps, DialogPropsAstro } from 'tera-system-ui';
247
+ ```
248
+ **Props:**
249
+ - `open?: boolean`
250
+ - `closeOnClickOutside?: boolean`
251
+ - `closeButton?: boolean`
252
+ - `position?: 'top' | 'center'`
253
+ - `focusTriggerAfterClose?: boolean`
254
+ - `header?: Snippet`
255
+ - `footer?: Snippet`
256
+ - `staticRender?: boolean` (render without open/close animation)
257
+ - `triggerRef?: HTMLElement` (returns focus here on close)
258
+ - `padding?: 'none'`
259
+
260
+ **Example:**
261
+ ```svelte
262
+ <Dialog open={showDialog} onclose={() => showDialog = false}>
263
+ {#snippet header()}Confirm Action{/snippet}
264
+ Are you sure?
265
+ {#snippet footer()}
266
+ <Button onclick={() => showDialog = false}>Cancel</Button>
267
+ <Button variant="primary" onclick={() => confirm()}>Confirm</Button>
268
+ {/snippet}
269
+ </Dialog>
270
+ ```
271
+
272
+ ### DropdownMenu
273
+ ```typescript
274
+ import { DropdownMenu, DropdownMenuItem, DropdownMenuGroup, DropdownMenuHeader, DropdownMenuSeparator } from 'tera-system-ui';
275
+ ```
276
+ **Props:** `triggerRef: HTMLElement`, `open?: boolean`
277
+ **DropdownMenuItem:** `onclick?: (e: MouseEvent) => void`, `href?: string`, `linkProps?: HTMLAnchorAttributes`
278
+
279
+ **Example:**
280
+ ```svelte
281
+ <DropdownMenu triggerRef={menuButton} open={open}>
282
+ <DropdownMenuItem onclick={() => handleEdit()}>Edit</DropdownMenuItem>
283
+ <DropdownMenuSeparator />
284
+ <DropdownMenuItem onclick={() => handleDelete()} danger>Delete</DropdownMenuItem>
285
+ </DropdownMenu>
286
+ ```
287
+
288
+ ### Accordion
289
+ ```typescript
290
+ import { Accordion, AccordionItem, AccordionContent, AccordionTrigger } from 'tera-system-ui';
291
+ ```
292
+ **Accordion Props:**
293
+ - `type: 'multiple' | 'single'`
294
+ - `value: string | string[]`
295
+ - `onchange?: (value: string | string[]) => void`
296
+ - `controlledValue?: boolean`
297
+
298
+ **AccordionItem Props:** `value: string`
299
+
300
+ **Example:**
301
+ ```svelte
302
+ <Accordion type="multiple" value={openItems} onchange={(v) => openItems = v}>
303
+ <AccordionItem value="item1">
304
+ <AccordionTrigger>What is tera-system-ui?</AccordionTrigger>
305
+ <AccordionContent>A Svelte 5 component library.</AccordionContent>
306
+ </AccordionItem>
307
+ </Accordion>
308
+ ```
309
+
310
+ ### Tabs
311
+ ```typescript
312
+ import { Tabs, TabsList, TabsItem, TabsContent } from 'tera-system-ui';
313
+ ```
314
+ **Tabs Props:** `value?: string`, `onchange?: (newTab: string) => void`
315
+ **TabsItem Props:** `value: string`
316
+ **TabsContent Props:** `value: string`
317
+
318
+ Uses Svelte context internally.
319
+
320
+ **Example:**
321
+ ```svelte
322
+ <Tabs value={activeTab} onchange={(t) => activeTab = t}>
323
+ <TabsList>
324
+ <TabsItem value="tab1">Tab One</TabsItem>
325
+ <TabsItem value="tab2">Tab Two</TabsItem>
326
+ </TabsList>
327
+ <TabsContent value="tab1">Content 1</TabsContent>
328
+ <TabsContent value="tab2">Content 2</TabsContent>
329
+ </Tabs>
330
+ ```
331
+
332
+ ### Popover
333
+ ```typescript
334
+ import { Popover, PopoverProps } from 'tera-system-ui';
335
+ ```
336
+ **Props:**
337
+ - `triggerRef: HTMLElement`
338
+ - `open?: boolean`
339
+ - `offset?: number` (px from trigger)
340
+ - `padding?: number` (px from edges)
341
+ - `focusTriggerAfterClose?: boolean`
342
+ - `flip?: boolean` (flip placement in viewport)
343
+ - `autoTrigger?: boolean` (close on click outside)
344
+
345
+ **Example:**
346
+ ```svelte
347
+ <Popover triggerRef={button} offset={8}>
348
+ <div class="p-4">Popover content</div>
349
+ </Popover>
350
+ ```
351
+
352
+ ### PopoverResponsive
353
+ ```typescript
354
+ import { PopoverResponsive, PopoverResponsiveProps } from 'tera-system-ui';
355
+ ```
356
+ Responsive popover that becomes full-screen on mobile.
357
+
358
+ ### SideNavigation
359
+ ```typescript
360
+ import { SideNavigation, SideNavigationLayout, toggleSideNavigation, SideNavigationItem } from 'tera-system-ui';
361
+ ```
362
+ **SideNavigationItem:** `{ href: string, exactHref?: string, icon?: Snippet, title: string }`
363
+ **SideNavigation Props:** `sideNavHref?: string`, `language?: string`, `items?: SideNavigationItem[]`, `bottomChildren?: Snippet`
364
+
365
+ **Example:**
366
+ ```svelte
367
+ <SideNavigationLayout>
368
+ <svelte:fragment slot="sidebar">
369
+ <SideNavigation
370
+ sideNavHref="/"
371
+ items={[
372
+ { href: '/dashboard', title: 'Dashboard', icon: IconDashboard },
373
+ { href: '/settings', title: 'Settings', icon: IconSettings },
374
+ ]}
375
+ />
376
+ </svelte:fragment>
377
+ <main>Content</main>
378
+ </SideNavigationLayout>
379
+ ```
380
+
381
+ ### Header
382
+ ```typescript
383
+ import { Header, HeaderProps } from 'tera-system-ui';
384
+ ```
385
+ **Props:** `onHamburgerClick?: () => void`
386
+
387
+ **Example:**
388
+ ```svelte
389
+ <Header onHamburgerClick={() => toggleSideNav()} />
390
+ ```
391
+
392
+ ### Avatar
393
+ ```typescript
394
+ import { Avatar, AvatarProps } from 'tera-system-ui';
395
+ ```
396
+ **Props:**
397
+ - `size?: 'sm' | 'md' | 'lg' | 'xl'`
398
+ - `border?: boolean` (shows primary border)
399
+ - `alt?: string`, `src?: string`
400
+ - `userUid?: string`, `apiUrl?: string` (for fetching user image)
401
+
402
+ **Example:**
403
+ ```svelte
404
+ <Avatar src={user.image} size="lg" border />
405
+ ```
406
+
407
+ ### BrandLogo
408
+ ```typescript
409
+ import { BrandLogo, BrandLogoProps } from 'tera-system-ui';
410
+ ```
411
+ **Props:** `theme?: 'light' | 'dark' | 'auto'`, `shape?: 'square'`
412
+
413
+ ### Label
414
+ ```typescript
415
+ import { Label, LabelProps } from 'tera-system-ui';
416
+ ```
417
+ **Props:** `size?: 'sm' | 'md' | 'lg'`, `required?: boolean` (shows asterisk)
418
+
419
+ **Example:**
420
+ ```svelte
421
+ <Label for="email" required>Email</Label>
422
+ <Input id="email" />
423
+ ```
424
+
425
+ ### UserAvatarWithMenu
426
+ ```typescript
427
+ import { UserAvatarWithMenu, UserAvatarWithMenuProps } from 'tera-system-ui';
428
+ ```
429
+ **Props:** `user?: UserData`, `onLogout?: () => void`
430
+
431
+ Combines Avatar with DropdownMenu for user account.
432
+
433
+ ### LanguagePickerButton
434
+ ```typescript
435
+ import { LanguagePickerButton, LanguagePickerButtonProps } from 'tera-system-ui';
436
+ ```
437
+ **Props:** `language?: string`, `supportLanguages?: string[]`, `basePath?: string`, `open?: boolean`
438
+
439
+ ### LightDarkToggle
440
+ ```typescript
441
+ import { LightDarkToggle, LightDarkToggleProps } from 'tera-system-ui';
442
+ ```
443
+ Toggle dark/light mode. Adds/removes `.dark` class from `<html>`.
444
+
445
+ ### TeraUiContext
446
+ ```typescript
447
+ import { TeraUiContext, TeraUiContextProps } from 'tera-system-ui';
448
+ ```
449
+ Provides global config via Svelte context:
450
+ - `basePath?: string`
451
+ - `supportLanguages?: AvailableLanguageTag[]`
452
+ - `language?: AvailableLanguageTag`
453
+ - `sideNavHref?: string`
454
+ - `apiUrl?: string`
455
+
456
+ ### Fonts
457
+ ```typescript
458
+ import { TeraFontSansSerif, TeraFontMono } from 'tera-system-ui';
459
+ ```
460
+ Font components for Open Sans and Roboto Mono.
461
+
462
+ ### Icons
463
+ ```typescript
464
+ import { IconArrowBigRightFilled, IconBook, IconBookmarkPlus, IconCalculator, IconCheck, IconChevronDown, IconCoin, IconCoinConvert, IconCopy, IconCopyCheckFilled, IconHamburger, IconLanguage, IconLoader2, IconLogout, IconMoon, IconPointFilled, IconSearch, IconSettings, IconSun, IconSwitchHorizontal, IconSwitchVertical, IconTransform, IconX } from 'tera-system-ui';
465
+ ```
466
+ Svelte icon components. All use currentColor stroke.
467
+
468
+ **Example:**
469
+ ```svelte
470
+ <IconCheck class="stroke-green-500" />
471
+ ```
472
+
473
+ ### Command (bits-ui wrapper)
474
+ ```typescript
475
+ import { Command, CommandEmpty, CommandGroup, CommandItem, CommandLinkItem, CommandInput, CommandList, CommandSeparator, CommandShortcut, CommandLoading } from 'tera-system-ui';
476
+ ```
477
+ Searchable command palette (like Cmd+K).
478
+
479
+ ---
480
+
481
+ ## Types
482
+
483
+ ### UserData
484
+ ```typescript
485
+ interface UserData {
486
+ displayName?: string;
487
+ profileImage?: any;
488
+ username?: string;
489
+ userUid?: string;
490
+ email?: string;
491
+ language?: string;
492
+ jwtToken?: JwtToken;
493
+ roleId?: string;
494
+ reputation?: string;
495
+ // ... additional fields
496
+ }
497
+ ```
498
+
499
+ ---
500
+
501
+ ## Styling Guidelines
502
+
503
+ ### Tailwind Classes Using Tokens
504
+ ```html
505
+ <!-- Colors -->
506
+ <div class="bg-primary-500 text-neutral-token-13 border-neutral-token-5" />
507
+ <div class="bg-error-100 text-error-600" />
508
+ <div class="bg-success-500 text-white" />
509
+
510
+ <!-- Focus ring -->
511
+ <div class="focus:shadow-[0_0_0_2px_rgba(59,130,246,0.1)]" />
512
+
513
+ <!-- Heights match components -->
514
+ <div class="h-8"> <!-- matches --tera-control-height-base -->
515
+ <div class="h-10"> <!-- matches --tera-control-height-lg -->
516
+
517
+ <!-- Border radius -->
518
+ <div class="rounded-md"> <!-- --tera-radius-base -->
519
+ <div class="rounded-container"> <!-- --border-radius-container -->
520
+ ```
521
+
522
+ ### Dark Mode
523
+ ```html
524
+ <!-- Manual -->
525
+ <div class="dark:bg-neutral-token-1 dark:text-neutral-token-13" />
526
+
527
+ <!-- Auto (uses :where(.dark, .dark *)) -->
528
+ <div class="[&.dark]:bg-neutral-token-1" />
529
+ ```
530
+
531
+ ---
532
+
533
+ ## Key Implementation Details
534
+
535
+ - **Button wave effect**: `btn-wave` class + `data-variant` attribute triggers antd-style wave animation
536
+ - **bits-ui**: Command, Combobox, DropdownMenu use bits-ui library
537
+ - **Floating-ui**: Popover, DropdownMenu use floating-ui for positioning
538
+ - **Svelte 5 runes**: Uses `$state`, `$derived`, `$effect` internally
539
+ - **No default exports**: Always use named exports
@@ -10,7 +10,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
10
10
  shape: {
11
11
  square: string;
12
12
  };
13
- }, undefined, "h-icon-md [&>.second-part]:fill-brand-500", {
13
+ }, undefined, "[&>.second-part]:fill-brand-500", {
14
14
  theme: {
15
15
  light: string;
16
16
  dark: string;
@@ -28,7 +28,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
28
28
  shape: {
29
29
  square: string;
30
30
  };
31
- }, undefined, "h-icon-md [&>.second-part]:fill-brand-500", unknown, unknown, undefined>>;
31
+ }, undefined, "[&>.second-part]:fill-brand-500", unknown, unknown, undefined>>;
32
32
  type BrandLogoVariants = VariantProps<typeof styles>;
33
33
  export interface BrandLogoProps extends HTMLAttributes<HTMLDivElement>, BrandLogoVariants {
34
34
  children?: Snippet;
@@ -1,6 +1,6 @@
1
1
  import { tv } from "tailwind-variants";
2
2
  export const styles = tv({
3
- base: 'h-icon-md [&>.second-part]:fill-brand-500',
3
+ base: '[&>.second-part]:fill-brand-500',
4
4
  variants: {
5
5
  theme: {
6
6
  light: '',
@@ -85,7 +85,7 @@
85
85
  <button class=""></button>
86
86
  {#if (closeButton)}
87
87
  <form method="dialog">
88
- <Button class="absolute right-1 top-1 [&>svg]:opacity-45 [&>svg]:hover:opacity-90 z-10" icon
88
+ <Button class="!absolute right-1 top-1 [&>svg]:opacity-45 [&>svg]:hover:opacity-90 z-10" icon
89
89
  variant="ghost"
90
90
  size="md">
91
91
  <IconX/>
@@ -134,7 +134,7 @@
134
134
  </script>
135
135
 
136
136
 
137
- <div bind:this={slider} class="cursor-pointer w-full relative mx-1 py-2.5">
137
+ <div bind:this={slider} class="cursor-pointer w-full relative px-1 py-2.5">
138
138
  <div data-slider-rail bind:this={sliderRail} class="w-full h-1.5 bg-neutral-token-4 rounded-full overflow-hidden hover:bg-neutral-token-5 transition-colors duration-200">
139
139
  <div data-slider-track bind:this={sliderTrack} class="rounded-full w-full h-full bg-neutral-token-13"></div>
140
140
  </div>
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import {type TeraUiContextProps} from "./TeraUiContext";
3
3
  import {setGlobalContext} from "./global-context";
4
- import {setLocale} from "../../paraglide/runtime";
5
4
 
6
5
  let {
7
6
  children,
@@ -22,7 +21,6 @@
22
21
  // ...props
23
22
  // })
24
23
 
25
- setLocale(language)
26
24
  </script>
27
25
 
28
26
  {@render children()}
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Auto-generated i18n message functions. Import `messages.js` to use translated strings.
4
4
 
5
- Compiled from: `./src/lib/tera-i18n/projects/tera-system-ui/project.inlang`
5
+ Compiled from: `D:\TeraProject\Code\tera-system-ui\src\lib\tera-i18n\projects\tera-system-ui\project.inlang`
6
6
 
7
7
 
8
8
  ## What is this folder?
@@ -1,22 +1,8 @@
1
- export function text_select_language(inputs?: {}, options?: {
2
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
3
- }): LocalizedString;
4
- export function text_unit_converter(inputs?: {}, options?: {
5
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
6
- }): LocalizedString;
7
- export function text_calces_scientific_calculator(inputs?: {}, options?: {
8
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
9
- }): LocalizedString;
10
- export function text_calces_documentation(inputs?: {}, options?: {
11
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
12
- }): LocalizedString;
13
- export function text_account_settings(inputs?: {}, options?: {
14
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
15
- }): LocalizedString;
16
- export function text_logout(inputs?: {}, options?: {
17
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
18
- }): LocalizedString;
19
- export function text_currency_converter(inputs?: {}, options?: {
20
- locale?: "ar" | "bg" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fi" | "fr" | "he" | "hi" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sr" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "vi" | "zh-CN" | "zh-TW";
21
- }): LocalizedString;
1
+ export * from "./text_select_language.js";
2
+ export * from "./text_unit_converter.js";
3
+ export * from "./text_calces_scientific_calculator.js";
4
+ export * from "./text_calces_documentation.js";
5
+ export * from "./text_account_settings.js";
6
+ export * from "./text_logout.js";
7
+ export * from "./text_currency_converter.js";
22
8
  export type LocalizedString = import("../runtime.js").LocalizedString;