tera-system-ui 0.1.63 → 0.1.66

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 (497) hide show
  1. package/dist/COMPONENT_API.md +2 -0
  2. package/dist/components/accordion/Accordion.d.ts +24 -0
  3. package/dist/components/accordion/Accordion.js +4 -0
  4. package/dist/components/accordion/components/Accordion.svelte +2 -8
  5. package/dist/components/accordion/components/AccordionContent.svelte +5 -12
  6. package/dist/components/accordion/components/AccordionItem.svelte +3 -9
  7. package/dist/components/accordion/components/AccordionTrigger.svelte +5 -15
  8. package/dist/components/ai/ChatBubble.svelte +35 -0
  9. package/dist/components/ai/ChatBubble.svelte.d.ts +12 -0
  10. package/dist/components/ai/PromptInput.svelte +58 -0
  11. package/dist/components/ai/PromptInput.svelte.d.ts +13 -0
  12. package/dist/components/ai/StreamText.svelte +41 -0
  13. package/dist/components/ai/StreamText.svelte.d.ts +11 -0
  14. package/dist/components/ai/SuggestionChips.svelte +34 -0
  15. package/dist/components/ai/SuggestionChips.svelte.d.ts +10 -0
  16. package/dist/components/ai/ThinkingLoader.svelte +34 -0
  17. package/dist/components/ai/ThinkingLoader.svelte.d.ts +11 -0
  18. package/dist/components/ai/index.d.ts +5 -0
  19. package/dist/components/ai/index.js +5 -0
  20. package/dist/components/alert/Alert.svelte +47 -0
  21. package/dist/components/alert/Alert.svelte.d.ts +15 -0
  22. package/dist/components/alert/index.d.ts +1 -0
  23. package/dist/components/alert/index.js +1 -0
  24. package/dist/components/avatar/Avatar.svelte +9 -25
  25. package/dist/components/badge/Badge.d.ts +52 -0
  26. package/dist/components/badge/Badge.js +22 -0
  27. package/dist/components/badge/Badge.svelte +22 -0
  28. package/dist/components/badge/Badge.svelte.d.ts +4 -0
  29. package/dist/components/badge/index.d.ts +2 -0
  30. package/dist/components/badge/index.js +1 -0
  31. package/dist/components/brand-logo/BrandLogo.svelte +12 -10
  32. package/dist/components/button/Button.d.ts +2 -2
  33. package/dist/components/button/Button.js +12 -12
  34. package/dist/components/button/Button.svelte +7 -34
  35. package/dist/components/card/Card.d.ts +68 -0
  36. package/dist/components/card/Card.js +28 -0
  37. package/dist/components/card/Card.svelte +33 -0
  38. package/dist/components/card/Card.svelte.d.ts +4 -0
  39. package/dist/components/card/index.d.ts +2 -0
  40. package/dist/components/card/index.js +1 -0
  41. package/dist/components/checkbox/Checkbox.d.ts +25 -4
  42. package/dist/components/checkbox/Checkbox.js +4 -0
  43. package/dist/components/checkbox/Checkbox.svelte +13 -16
  44. package/dist/components/checkbox/Checkbox.svelte.d.ts +2 -2
  45. package/dist/components/combobox/Combobox.d.ts +45 -9
  46. package/dist/components/combobox/Combobox.js +5 -7
  47. package/dist/components/combobox/Combobox.svelte +226 -8
  48. package/dist/components/combobox/Combobox.svelte.d.ts +2 -2
  49. package/dist/components/combobox/index.d.ts +1 -1
  50. package/dist/components/command/components/command-empty.svelte +3 -8
  51. package/dist/components/command/components/command-group.svelte +3 -13
  52. package/dist/components/command/components/command-input.svelte +5 -13
  53. package/dist/components/command/components/command-item.svelte +3 -9
  54. package/dist/components/command/components/command-link-item.svelte +3 -8
  55. package/dist/components/command/components/command-list.svelte +3 -8
  56. package/dist/components/command/components/command-separator.svelte +3 -8
  57. package/dist/components/command/components/command-shortcut.svelte +2 -10
  58. package/dist/components/command/components/command.svelte +29 -42
  59. package/dist/components/date-range-picker/DateRangePicker.svelte +490 -0
  60. package/dist/components/date-range-picker/DateRangePicker.svelte.d.ts +4 -0
  61. package/dist/components/date-range-picker/DateRangePicker.types.d.ts +38 -0
  62. package/dist/components/date-range-picker/DateRangePicker.types.js +1 -0
  63. package/dist/components/date-range-picker/index.d.ts +2 -0
  64. package/dist/components/date-range-picker/index.js +1 -0
  65. package/dist/components/dialog/Dialog.d.ts +43 -121
  66. package/dist/components/dialog/Dialog.js +1 -39
  67. package/dist/components/dialog/Dialog.svelte +103 -113
  68. package/dist/components/dialog/Dialog.svelte.d.ts +1 -2
  69. package/dist/components/dialog/dialog.scss +21 -24
  70. package/dist/components/drawer/Drawer.svelte +63 -0
  71. package/dist/components/drawer/Drawer.svelte.d.ts +16 -0
  72. package/dist/components/drawer/index.d.ts +1 -0
  73. package/dist/components/drawer/index.js +1 -0
  74. package/dist/components/dropdown-menu/DropdownMenu.d.ts +51 -24
  75. package/dist/components/dropdown-menu/DropdownMenu.js +1 -15
  76. package/dist/components/dropdown-menu/components/DropdownMenu.svelte +36 -34
  77. package/dist/components/dropdown-menu/components/DropdownMenu.svelte.d.ts +1 -1
  78. package/dist/components/dropdown-menu/components/DropdownMenuGroup.svelte +8 -12
  79. package/dist/components/dropdown-menu/components/DropdownMenuGroup.svelte.d.ts +2 -4
  80. package/dist/components/dropdown-menu/components/DropdownMenuHeader.svelte +11 -12
  81. package/dist/components/dropdown-menu/components/DropdownMenuHeader.svelte.d.ts +2 -4
  82. package/dist/components/dropdown-menu/components/DropdownMenuItem.svelte +27 -30
  83. package/dist/components/dropdown-menu/components/DropdownMenuItem.svelte.d.ts +1 -1
  84. package/dist/components/dropdown-menu/components/DropdownMenuSeparator.svelte +9 -11
  85. package/dist/components/dropdown-menu/components/DropdownMenuSeparator.svelte.d.ts +2 -4
  86. package/dist/components/fonts/TeraFontMono.svelte +4 -4
  87. package/dist/components/fonts/TeraFontMono.svelte.d.ts +1 -0
  88. package/dist/components/fonts/TeraFontSansSerif.svelte +4 -4
  89. package/dist/components/fonts/TeraFontSansSerif.svelte.d.ts +1 -1
  90. package/dist/components/header/Header.svelte +6 -9
  91. package/dist/components/header/header.scss +1 -1
  92. package/dist/components/icons/IconArrowBigRightFilled.svelte +3 -7
  93. package/dist/components/icons/IconBook.svelte +3 -6
  94. package/dist/components/icons/IconBookmarkPlus.svelte +3 -6
  95. package/dist/components/icons/IconCalculator.svelte +3 -6
  96. package/dist/components/icons/IconCheck.svelte +3 -6
  97. package/dist/components/icons/IconChevronDown.svelte +3 -6
  98. package/dist/components/icons/IconCoin.svelte +3 -6
  99. package/dist/components/icons/IconCoinConvert.svelte +2 -5
  100. package/dist/components/icons/IconCopy.svelte +3 -6
  101. package/dist/components/icons/IconCopyCheckFilled.svelte +3 -6
  102. package/dist/components/icons/IconHamburger.svelte +3 -6
  103. package/dist/components/icons/IconLanguage.svelte +3 -6
  104. package/dist/components/icons/IconLoader2.svelte +3 -6
  105. package/dist/components/icons/IconLogout.svelte +3 -6
  106. package/dist/components/icons/IconMoon.svelte +3 -6
  107. package/dist/components/icons/IconPointFilled.svelte +3 -6
  108. package/dist/components/icons/IconSearch.svelte +3 -6
  109. package/dist/components/icons/IconSettings.svelte +3 -6
  110. package/dist/components/icons/IconSun.svelte +3 -6
  111. package/dist/components/icons/IconSwitchHorizontal.svelte +3 -6
  112. package/dist/components/icons/IconSwitchVertical.svelte +3 -6
  113. package/dist/components/icons/IconTransform.svelte +3 -6
  114. package/dist/components/icons/IconX.svelte +3 -6
  115. package/dist/components/input/Input.d.ts +2 -2
  116. package/dist/components/input/Input.js +10 -10
  117. package/dist/components/input/Input.svelte +10 -26
  118. package/dist/components/label/Label.d.ts +2 -2
  119. package/dist/components/label/Label.js +2 -2
  120. package/dist/components/label/Label.svelte +4 -12
  121. package/dist/components/language-picker-button/LanguagePickerButton.svelte +23 -42
  122. package/dist/components/light-dark-toggle/LightDarkToggle.svelte +21 -26
  123. package/dist/components/marketing/FeatureCard.svelte +37 -0
  124. package/dist/components/marketing/FeatureCard.svelte.d.ts +13 -0
  125. package/dist/components/marketing/PricingCard.svelte +48 -0
  126. package/dist/components/marketing/PricingCard.svelte.d.ts +15 -0
  127. package/dist/components/marketing/StatBlock.svelte +14 -0
  128. package/dist/components/marketing/StatBlock.svelte.d.ts +10 -0
  129. package/dist/components/marketing/TestimonialCard.svelte +24 -0
  130. package/dist/components/marketing/TestimonialCard.svelte.d.ts +12 -0
  131. package/dist/components/marketing/index.d.ts +4 -0
  132. package/dist/components/marketing/index.js +4 -0
  133. package/dist/components/popover/Popover.d.ts +32 -13
  134. package/dist/components/popover/Popover.js +1 -7
  135. package/dist/components/popover/Popover.svelte +40 -158
  136. package/dist/components/popover/Popover.svelte.d.ts +2 -2
  137. package/dist/components/popover-responsive/PopoverResponsive.d.ts +18 -7
  138. package/dist/components/popover-responsive/PopoverResponsive.js +1 -7
  139. package/dist/components/popover-responsive/PopoverResponsive.svelte +25 -87
  140. package/dist/components/popover-responsive/PopoverResponsive.svelte.d.ts +2 -11
  141. package/dist/components/select/Select.d.ts +60 -23
  142. package/dist/components/select/Select.js +14 -35
  143. package/dist/components/select/Select.svelte +157 -28
  144. package/dist/components/select/Select.svelte.d.ts +2 -3
  145. package/dist/components/select/index.d.ts +1 -1
  146. package/dist/components/side-navigation/SideNavigation.svelte +73 -96
  147. package/dist/components/side-navigation/SideNavigationItem.svelte +2 -2
  148. package/dist/components/side-navigation/SideNavigationLayout.svelte +3 -5
  149. package/dist/components/side-navigation/sidenav.scss +17 -13
  150. package/dist/components/skeleton/Skeleton.svelte +48 -0
  151. package/dist/components/skeleton/Skeleton.svelte.d.ts +12 -0
  152. package/dist/components/skeleton/index.d.ts +1 -0
  153. package/dist/components/skeleton/index.js +1 -0
  154. package/dist/components/slider/Slider.d.ts +25 -15
  155. package/dist/components/slider/Slider.js +1 -7
  156. package/dist/components/slider/Slider.svelte +38 -164
  157. package/dist/components/slider/Slider.svelte.d.ts +1 -1
  158. package/dist/components/spinner/Spinner.svelte +39 -0
  159. package/dist/components/spinner/Spinner.svelte.d.ts +10 -0
  160. package/dist/components/spinner/index.d.ts +1 -0
  161. package/dist/components/spinner/index.js +1 -0
  162. package/dist/components/star-rating/StarRating.svelte +33 -49
  163. package/dist/components/switch/Switch.d.ts +19 -4
  164. package/dist/components/switch/Switch.js +4 -0
  165. package/dist/components/switch/Switch.svelte +13 -17
  166. package/dist/components/switch/Switch.svelte.d.ts +2 -2
  167. package/dist/components/table/Table.svelte +68 -0
  168. package/dist/components/table/Table.svelte.d.ts +40 -0
  169. package/dist/components/table/index.d.ts +1 -0
  170. package/dist/components/table/index.js +1 -0
  171. package/dist/components/tabs/Tabs.svelte.d.ts +45 -16
  172. package/dist/components/tabs/Tabs.svelte.js +8 -18
  173. package/dist/components/tabs/components/Tabs.svelte +27 -33
  174. package/dist/components/tabs/components/Tabs.svelte.d.ts +1 -1
  175. package/dist/components/tabs/components/TabsContent.svelte +13 -36
  176. package/dist/components/tabs/components/TabsContent.svelte.d.ts +2 -5
  177. package/dist/components/tabs/components/TabsItem.svelte +43 -32
  178. package/dist/components/tabs/components/TabsItem.svelte.d.ts +2 -5
  179. package/dist/components/tabs/components/TabsList.svelte +90 -58
  180. package/dist/components/tabs/components/TabsList.svelte.d.ts +2 -4
  181. package/dist/components/tera-ui-context/TeraUiContext.svelte +13 -26
  182. package/dist/components/text-area/TextArea.d.ts +2 -2
  183. package/dist/components/text-area/TextArea.js +9 -9
  184. package/dist/components/text-area/TextArea.svelte +41 -65
  185. package/dist/components/toast/ToastContainer.svelte +50 -0
  186. package/dist/components/toast/ToastContainer.svelte.d.ts +18 -0
  187. package/dist/components/toast/index.d.ts +3 -0
  188. package/dist/components/toast/index.js +2 -0
  189. package/dist/components/toast/toast.svelte.d.ts +22 -0
  190. package/dist/components/toast/toast.svelte.js +18 -0
  191. package/dist/components/tooltip/Tooltip.d.ts +23 -0
  192. package/dist/components/tooltip/Tooltip.js +1 -0
  193. package/dist/components/tooltip/Tooltip.svelte +30 -0
  194. package/dist/components/tooltip/Tooltip.svelte.d.ts +4 -0
  195. package/dist/components/tooltip/index.d.ts +2 -0
  196. package/dist/components/tooltip/index.js +1 -0
  197. package/dist/components/user-avatar-with-menu/UserAvatarWithMenu.svelte +48 -69
  198. package/dist/index.d.ts +19 -2
  199. package/dist/index.js +12 -0
  200. package/dist/llms/accordion.md +90 -0
  201. package/dist/llms/ai.md +110 -0
  202. package/dist/llms/alert.md +29 -0
  203. package/dist/llms/avatar.md +34 -0
  204. package/dist/llms/badge.md +31 -0
  205. package/dist/llms/brand-logo.md +30 -0
  206. package/dist/llms/button.md +37 -0
  207. package/dist/llms/card.md +32 -0
  208. package/dist/llms/checkbox.md +35 -0
  209. package/dist/llms/colors.md +161 -0
  210. package/dist/llms/combobox.md +40 -0
  211. package/dist/llms/command.md +7 -0
  212. package/dist/llms/date-range-picker.md +36 -0
  213. package/dist/llms/dialog.md +45 -0
  214. package/dist/llms/drawer.md +30 -0
  215. package/dist/llms/dropdown-menu.md +112 -0
  216. package/dist/llms/fonts.md +7 -0
  217. package/dist/llms/header.md +26 -0
  218. package/dist/llms/icons.md +43 -0
  219. package/dist/llms/index.md +65 -0
  220. package/dist/llms/input.md +37 -0
  221. package/dist/llms/label.md +30 -0
  222. package/dist/llms/language-picker-button.md +30 -0
  223. package/dist/llms/light-dark-toggle.md +26 -0
  224. package/dist/llms/marketing.md +95 -0
  225. package/dist/llms/popover-responsive.md +32 -0
  226. package/dist/llms/popover.md +40 -0
  227. package/dist/llms/select.md +44 -0
  228. package/dist/llms/side-navigation.md +30 -0
  229. package/dist/llms/skeleton.md +28 -0
  230. package/dist/llms/slider.md +36 -0
  231. package/dist/llms/spinner.md +25 -0
  232. package/dist/llms/star-rating.md +31 -0
  233. package/dist/llms/switch.md +33 -0
  234. package/dist/llms/table.md +30 -0
  235. package/dist/llms/tabs.md +92 -0
  236. package/dist/llms/tera-ui-context.md +30 -0
  237. package/dist/llms/text-area.md +39 -0
  238. package/dist/llms/toast.md +7 -0
  239. package/dist/llms/tooltip.md +32 -0
  240. package/dist/llms/user-avatar-with-menu.md +28 -0
  241. package/dist/paraglide/README.md +71 -2
  242. package/dist/paraglide/messages/_index.d.ts +7 -21
  243. package/dist/paraglide/messages/_index.js +7 -485
  244. package/dist/paraglide/messages/text_account_settings.d.ts +16 -0
  245. package/dist/paraglide/messages/text_account_settings.js +234 -0
  246. package/dist/paraglide/messages/text_calces_documentation.d.ts +16 -0
  247. package/dist/paraglide/messages/text_calces_documentation.js +234 -0
  248. package/dist/paraglide/messages/text_calces_scientific_calculator.d.ts +16 -0
  249. package/dist/paraglide/messages/text_calces_scientific_calculator.js +234 -0
  250. package/dist/paraglide/messages/text_currency_converter.d.ts +16 -0
  251. package/dist/paraglide/messages/text_currency_converter.js +234 -0
  252. package/dist/paraglide/messages/text_logout.d.ts +16 -0
  253. package/dist/paraglide/messages/text_logout.js +234 -0
  254. package/dist/paraglide/messages/text_select_language.d.ts +16 -0
  255. package/dist/paraglide/messages/text_select_language.js +234 -0
  256. package/dist/paraglide/messages/text_unit_converter.d.ts +16 -0
  257. package/dist/paraglide/messages/text_unit_converter.js +234 -0
  258. package/dist/paraglide/registry.d.ts +13 -0
  259. package/dist/paraglide/registry.js +15 -0
  260. package/dist/paraglide/runtime.d.ts +242 -125
  261. package/dist/paraglide/runtime.js +467 -143
  262. package/dist/paraglide/server.d.ts +13 -20
  263. package/dist/paraglide/server.js +92 -40
  264. package/dist/stories/ComponentOverview.stories.svelte +533 -0
  265. package/dist/stories/ComponentOverview.stories.svelte.d.ts +6 -0
  266. package/dist/tera-i18n/dev-tools/translator/gpt-translator-i18n-message.js +130 -9
  267. package/dist/tera-i18n/dev-tools/translator/package-lock.json +14 -224
  268. package/dist/tera-i18n/dev-tools/translator/package.json +1 -1
  269. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-calculator.md +34 -0
  270. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.md +149 -0
  271. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-system.txt +1 -1
  272. package/dist/tera-i18n/projects/common/all-language-data.js +70 -13
  273. package/dist/tera-i18n/projects/cv-maker/messages/ar-AE.json +94 -0
  274. package/dist/tera-i18n/projects/cv-maker/messages/ar-EG.json +94 -0
  275. package/dist/tera-i18n/projects/cv-maker/messages/ar-IQ.json +94 -0
  276. package/dist/tera-i18n/projects/cv-maker/messages/ar-SA.json +94 -0
  277. package/dist/tera-i18n/projects/cv-maker/messages/ar-SD.json +94 -0
  278. package/dist/tera-i18n/projects/cv-maker/messages/ar-YE.json +94 -0
  279. package/dist/tera-i18n/projects/cv-maker/messages/ar.json +58 -15
  280. package/dist/tera-i18n/projects/cv-maker/messages/bg.json +57 -14
  281. package/dist/tera-i18n/projects/cv-maker/messages/bn.json +65 -22
  282. package/dist/tera-i18n/projects/cv-maker/messages/ca.json +54 -11
  283. package/dist/tera-i18n/projects/cv-maker/messages/cs.json +59 -16
  284. package/dist/tera-i18n/projects/cv-maker/messages/da.json +51 -8
  285. package/dist/tera-i18n/projects/cv-maker/messages/de.json +58 -15
  286. package/dist/tera-i18n/projects/cv-maker/messages/el.json +71 -28
  287. package/dist/tera-i18n/projects/cv-maker/messages/en-AE.json +94 -0
  288. package/dist/tera-i18n/projects/cv-maker/messages/en-AU.json +94 -0
  289. package/dist/tera-i18n/projects/cv-maker/messages/en-CA.json +51 -8
  290. package/dist/tera-i18n/projects/cv-maker/messages/en-GB.json +50 -7
  291. package/dist/tera-i18n/projects/cv-maker/messages/en-ID.json +94 -0
  292. package/dist/tera-i18n/projects/cv-maker/messages/en-IN.json +54 -11
  293. package/dist/tera-i18n/projects/cv-maker/messages/en-NZ.json +94 -0
  294. package/dist/tera-i18n/projects/cv-maker/messages/en-PH.json +94 -0
  295. package/dist/tera-i18n/projects/cv-maker/messages/en-PK.json +58 -15
  296. package/dist/tera-i18n/projects/cv-maker/messages/en-SA.json +94 -0
  297. package/dist/tera-i18n/projects/cv-maker/messages/en-US.json +51 -8
  298. package/dist/tera-i18n/projects/cv-maker/messages/en-ZA.json +52 -9
  299. package/dist/tera-i18n/projects/cv-maker/messages/en.json +45 -16
  300. package/dist/tera-i18n/projects/cv-maker/messages/es-419.json +94 -0
  301. package/dist/tera-i18n/projects/cv-maker/messages/es-AR.json +94 -0
  302. package/dist/tera-i18n/projects/cv-maker/messages/es-ES.json +94 -0
  303. package/dist/tera-i18n/projects/cv-maker/messages/es-MX.json +94 -0
  304. package/dist/tera-i18n/projects/cv-maker/messages/es.json +53 -10
  305. package/dist/tera-i18n/projects/cv-maker/messages/fi.json +52 -9
  306. package/dist/tera-i18n/projects/cv-maker/messages/fr-MA.json +94 -0
  307. package/dist/tera-i18n/projects/cv-maker/messages/fr.json +54 -11
  308. package/dist/tera-i18n/projects/cv-maker/messages/he.json +55 -12
  309. package/dist/tera-i18n/projects/cv-maker/messages/hi.json +59 -16
  310. package/dist/tera-i18n/projects/cv-maker/messages/hr.json +94 -0
  311. package/dist/tera-i18n/projects/cv-maker/messages/hu.json +63 -20
  312. package/dist/tera-i18n/projects/cv-maker/messages/id.json +60 -17
  313. package/dist/tera-i18n/projects/cv-maker/messages/it.json +53 -10
  314. package/dist/tera-i18n/projects/cv-maker/messages/ja.json +62 -19
  315. package/dist/tera-i18n/projects/cv-maker/messages/ko.json +61 -18
  316. package/dist/tera-i18n/projects/cv-maker/messages/lt.json +61 -18
  317. package/dist/tera-i18n/projects/cv-maker/messages/lv.json +61 -18
  318. package/dist/tera-i18n/projects/cv-maker/messages/ms-MY.json +60 -17
  319. package/dist/tera-i18n/projects/cv-maker/messages/ms.json +61 -18
  320. package/dist/tera-i18n/projects/cv-maker/messages/nl.json +53 -10
  321. package/dist/tera-i18n/projects/cv-maker/messages/no.json +54 -11
  322. package/dist/tera-i18n/projects/cv-maker/messages/pl.json +59 -16
  323. package/dist/tera-i18n/projects/cv-maker/messages/pt-BR.json +58 -15
  324. package/dist/tera-i18n/projects/cv-maker/messages/pt-PT.json +59 -16
  325. package/dist/tera-i18n/projects/cv-maker/messages/pt.json +66 -23
  326. package/dist/tera-i18n/projects/cv-maker/messages/ro.json +52 -9
  327. package/dist/tera-i18n/projects/cv-maker/messages/ru.json +57 -14
  328. package/dist/tera-i18n/projects/cv-maker/messages/sk.json +62 -19
  329. package/dist/tera-i18n/projects/cv-maker/messages/sl.json +57 -14
  330. package/dist/tera-i18n/projects/cv-maker/messages/sq.json +59 -16
  331. package/dist/tera-i18n/projects/cv-maker/messages/sr.json +91 -48
  332. package/dist/tera-i18n/projects/cv-maker/messages/sv.json +56 -13
  333. package/dist/tera-i18n/projects/cv-maker/messages/sw.json +62 -19
  334. package/dist/tera-i18n/projects/cv-maker/messages/ta.json +72 -29
  335. package/dist/tera-i18n/projects/cv-maker/messages/te.json +75 -32
  336. package/dist/tera-i18n/projects/cv-maker/messages/th.json +62 -19
  337. package/dist/tera-i18n/projects/cv-maker/messages/tl.json +77 -34
  338. package/dist/tera-i18n/projects/cv-maker/messages/tr.json +63 -20
  339. package/dist/tera-i18n/projects/cv-maker/messages/uk.json +63 -20
  340. package/dist/tera-i18n/projects/cv-maker/messages/vi.json +64 -21
  341. package/dist/tera-i18n/projects/cv-maker/messages/zh-CN.json +63 -20
  342. package/dist/tera-i18n/projects/cv-maker/messages/zh-TW.json +58 -15
  343. package/dist/tera-i18n/projects/cv-maker/messages/zh.json +94 -0
  344. package/dist/tera-i18n/projects/cv-maker/project.inlang/settings.json +82 -68
  345. package/dist/tera-i18n/projects/cv-maker/supported-language.js +36 -9
  346. package/dist/tera-i18n/projects/mathda/messages/en.json +4 -0
  347. package/dist/tera-i18n/projects/mathda/messages/vi.json +4 -0
  348. package/dist/tera-i18n/projects/mathda/project.inlang/settings.json +15 -0
  349. package/dist/tera-i18n/projects/mathda/supported-language.d.ts +1 -0
  350. package/dist/tera-i18n/projects/mathda/supported-language.js +4 -0
  351. package/dist/tera-i18n/projects/tera-calculator/messages/bg.json +149 -72
  352. package/dist/tera-i18n/projects/tera-calculator/messages/bn.json +149 -72
  353. package/dist/tera-i18n/projects/tera-calculator/messages/ca.json +139 -62
  354. package/dist/tera-i18n/projects/tera-calculator/messages/cs.json +132 -55
  355. package/dist/tera-i18n/projects/tera-calculator/messages/da.json +132 -55
  356. package/dist/tera-i18n/projects/tera-calculator/messages/de.json +181 -104
  357. package/dist/tera-i18n/projects/tera-calculator/messages/el.json +145 -68
  358. package/dist/tera-i18n/projects/tera-calculator/messages/en-IN.json +183 -0
  359. package/dist/tera-i18n/projects/tera-calculator/messages/en-PH.json +183 -0
  360. package/dist/tera-i18n/projects/tera-calculator/messages/en-US.json +183 -0
  361. package/dist/tera-i18n/projects/tera-calculator/messages/en.json +187 -104
  362. package/dist/tera-i18n/projects/tera-calculator/messages/es.json +181 -104
  363. package/dist/tera-i18n/projects/tera-calculator/messages/fi.json +137 -60
  364. package/dist/tera-i18n/projects/tera-calculator/messages/fr.json +180 -103
  365. package/dist/tera-i18n/projects/tera-calculator/messages/hi.json +136 -59
  366. package/dist/tera-i18n/projects/tera-calculator/messages/hu.json +141 -64
  367. package/dist/tera-i18n/projects/tera-calculator/messages/id.json +132 -55
  368. package/dist/tera-i18n/projects/tera-calculator/messages/it.json +180 -103
  369. package/dist/tera-i18n/projects/tera-calculator/messages/ja.json +136 -59
  370. package/dist/tera-i18n/projects/tera-calculator/messages/ko.json +133 -56
  371. package/dist/tera-i18n/projects/tera-calculator/messages/lt.json +140 -63
  372. package/dist/tera-i18n/projects/tera-calculator/messages/lv.json +141 -64
  373. package/dist/tera-i18n/projects/tera-calculator/messages/ms.json +139 -62
  374. package/dist/tera-i18n/projects/tera-calculator/messages/nl.json +145 -68
  375. package/dist/tera-i18n/projects/tera-calculator/messages/no.json +131 -54
  376. package/dist/tera-i18n/projects/tera-calculator/messages/pl.json +134 -57
  377. package/dist/tera-i18n/projects/tera-calculator/messages/pt.json +180 -103
  378. package/dist/tera-i18n/projects/tera-calculator/messages/ro.json +136 -59
  379. package/dist/tera-i18n/projects/tera-calculator/messages/ru.json +180 -103
  380. package/dist/tera-i18n/projects/tera-calculator/messages/sk.json +135 -58
  381. package/dist/tera-i18n/projects/tera-calculator/messages/sl.json +139 -62
  382. package/dist/tera-i18n/projects/tera-calculator/messages/sq.json +148 -71
  383. package/dist/tera-i18n/projects/tera-calculator/messages/sr.json +141 -64
  384. package/dist/tera-i18n/projects/tera-calculator/messages/sv.json +134 -57
  385. package/dist/tera-i18n/projects/tera-calculator/messages/sw.json +152 -75
  386. package/dist/tera-i18n/projects/tera-calculator/messages/ta.json +159 -82
  387. package/dist/tera-i18n/projects/tera-calculator/messages/te.json +165 -88
  388. package/dist/tera-i18n/projects/tera-calculator/messages/th.json +136 -59
  389. package/dist/tera-i18n/projects/tera-calculator/messages/tl.json +146 -69
  390. package/dist/tera-i18n/projects/tera-calculator/messages/tr.json +135 -58
  391. package/dist/tera-i18n/projects/tera-calculator/messages/uk.json +142 -65
  392. package/dist/tera-i18n/projects/tera-calculator/messages/vi.json +181 -104
  393. package/dist/tera-i18n/projects/tera-calculator/messages/zh-CN.json +129 -52
  394. package/dist/tera-i18n/projects/tera-calculator/messages/zh-TW.json +135 -58
  395. package/dist/tera-i18n/projects/tera-calculator/project.inlang/settings.json +51 -53
  396. package/dist/tera-i18n/projects/tera-calculator/supported-language.js +6 -3
  397. package/dist/themes/tera-ui-base.css +242 -77
  398. package/dist/themes/theme-ai.css +100 -0
  399. package/dist/themes/theme-marketing.css +91 -0
  400. package/dist/themes/theme-professional.css +41 -0
  401. package/package.json +36 -29
  402. package/dist/paraglide/messages/ar.d.ts +0 -9
  403. package/dist/paraglide/messages/ar.js +0 -31
  404. package/dist/paraglide/messages/bg.d.ts +0 -9
  405. package/dist/paraglide/messages/bg.js +0 -31
  406. package/dist/paraglide/messages/bn.d.ts +0 -9
  407. package/dist/paraglide/messages/bn.js +0 -31
  408. package/dist/paraglide/messages/ca.d.ts +0 -9
  409. package/dist/paraglide/messages/ca.js +0 -31
  410. package/dist/paraglide/messages/cs.d.ts +0 -9
  411. package/dist/paraglide/messages/cs.js +0 -31
  412. package/dist/paraglide/messages/da.d.ts +0 -9
  413. package/dist/paraglide/messages/da.js +0 -31
  414. package/dist/paraglide/messages/de.d.ts +0 -9
  415. package/dist/paraglide/messages/de.js +0 -31
  416. package/dist/paraglide/messages/el.d.ts +0 -9
  417. package/dist/paraglide/messages/el.js +0 -31
  418. package/dist/paraglide/messages/en.d.ts +0 -9
  419. package/dist/paraglide/messages/en.js +0 -31
  420. package/dist/paraglide/messages/es.d.ts +0 -9
  421. package/dist/paraglide/messages/es.js +0 -31
  422. package/dist/paraglide/messages/fi.d.ts +0 -9
  423. package/dist/paraglide/messages/fi.js +0 -31
  424. package/dist/paraglide/messages/fr.d.ts +0 -9
  425. package/dist/paraglide/messages/fr.js +0 -31
  426. package/dist/paraglide/messages/he.d.ts +0 -9
  427. package/dist/paraglide/messages/he.js +0 -31
  428. package/dist/paraglide/messages/hi.d.ts +0 -9
  429. package/dist/paraglide/messages/hi.js +0 -31
  430. package/dist/paraglide/messages/hu.d.ts +0 -9
  431. package/dist/paraglide/messages/hu.js +0 -31
  432. package/dist/paraglide/messages/id.d.ts +0 -9
  433. package/dist/paraglide/messages/id.js +0 -31
  434. package/dist/paraglide/messages/it.d.ts +0 -9
  435. package/dist/paraglide/messages/it.js +0 -31
  436. package/dist/paraglide/messages/ja.d.ts +0 -9
  437. package/dist/paraglide/messages/ja.js +0 -31
  438. package/dist/paraglide/messages/ko.d.ts +0 -9
  439. package/dist/paraglide/messages/ko.js +0 -31
  440. package/dist/paraglide/messages/lt.d.ts +0 -9
  441. package/dist/paraglide/messages/lt.js +0 -31
  442. package/dist/paraglide/messages/lv.d.ts +0 -9
  443. package/dist/paraglide/messages/lv.js +0 -31
  444. package/dist/paraglide/messages/ms.d.ts +0 -9
  445. package/dist/paraglide/messages/ms.js +0 -31
  446. package/dist/paraglide/messages/nl.d.ts +0 -9
  447. package/dist/paraglide/messages/nl.js +0 -31
  448. package/dist/paraglide/messages/no.d.ts +0 -9
  449. package/dist/paraglide/messages/no.js +0 -31
  450. package/dist/paraglide/messages/pl.d.ts +0 -9
  451. package/dist/paraglide/messages/pl.js +0 -31
  452. package/dist/paraglide/messages/pt.d.ts +0 -9
  453. package/dist/paraglide/messages/pt.js +0 -31
  454. package/dist/paraglide/messages/ro.d.ts +0 -9
  455. package/dist/paraglide/messages/ro.js +0 -31
  456. package/dist/paraglide/messages/ru.d.ts +0 -9
  457. package/dist/paraglide/messages/ru.js +0 -31
  458. package/dist/paraglide/messages/sk.d.ts +0 -9
  459. package/dist/paraglide/messages/sk.js +0 -31
  460. package/dist/paraglide/messages/sl.d.ts +0 -9
  461. package/dist/paraglide/messages/sl.js +0 -31
  462. package/dist/paraglide/messages/sq.d.ts +0 -9
  463. package/dist/paraglide/messages/sq.js +0 -31
  464. package/dist/paraglide/messages/sr.d.ts +0 -9
  465. package/dist/paraglide/messages/sr.js +0 -31
  466. package/dist/paraglide/messages/sv.d.ts +0 -9
  467. package/dist/paraglide/messages/sv.js +0 -31
  468. package/dist/paraglide/messages/sw.d.ts +0 -9
  469. package/dist/paraglide/messages/sw.js +0 -31
  470. package/dist/paraglide/messages/ta.d.ts +0 -9
  471. package/dist/paraglide/messages/ta.js +0 -31
  472. package/dist/paraglide/messages/te.d.ts +0 -9
  473. package/dist/paraglide/messages/te.js +0 -31
  474. package/dist/paraglide/messages/th.d.ts +0 -9
  475. package/dist/paraglide/messages/th.js +0 -31
  476. package/dist/paraglide/messages/tl.d.ts +0 -9
  477. package/dist/paraglide/messages/tl.js +0 -31
  478. package/dist/paraglide/messages/tr.d.ts +0 -9
  479. package/dist/paraglide/messages/tr.js +0 -31
  480. package/dist/paraglide/messages/uk.d.ts +0 -9
  481. package/dist/paraglide/messages/uk.js +0 -31
  482. package/dist/paraglide/messages/vi.d.ts +0 -9
  483. package/dist/paraglide/messages/vi.js +0 -31
  484. package/dist/paraglide/messages/zh-CN.d.ts +0 -9
  485. package/dist/paraglide/messages/zh-CN.js +0 -31
  486. package/dist/paraglide/messages/zh-TW.d.ts +0 -9
  487. package/dist/paraglide/messages/zh-TW.js +0 -31
  488. package/dist/tera-i18n/dev-tools/translator/prompt/i18n-message-translate-prompt-cv-maker.txt +0 -21
  489. package/dist/tera-i18n/projects/cv-maker/project.inlang/project_id +0 -1
  490. package/dist/tera-i18n/projects/tera-calculator/messages/ar.json +0 -106
  491. package/dist/tera-i18n/projects/tera-calculator/messages/he.json +0 -106
  492. package/dist/tera-i18n/projects/tera-calculator/project.inlang/project_id +0 -1
  493. package/dist/tera-i18n/projects/tera-system-ui/project.inlang/.meta.json +0 -3
  494. package/dist/tera-i18n/projects/tera-system-ui/project.inlang/README.md +0 -103
  495. package/dist/tera-i18n/projects/tera-system-ui/project.inlang/project_id +0 -1
  496. package/dist/themes/tw-preset.cjs +0 -160
  497. package/dist/themes/tw-preset.d.cts +0 -157
@@ -14,64 +14,14 @@ body:has(dialog[open]) {
14
14
  overflow: hidden
15
15
  }
16
16
 
17
- /* AntD-style Wave Animation for Buttons */
18
- .btn-wave {
19
- position: relative;
20
- }
21
-
22
- .btn-wave::after {
23
- content: '';
24
- position: absolute;
25
- inset: 0;
26
- border-radius: inherit;
27
- opacity: 0;
28
- pointer-events: none;
29
- box-shadow: 0 0 0 0 var(--wave-color, var(--color-primary-600));
30
- }
31
-
32
- .btn-wave.wave-active::after {
33
- animation: ant-wave 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);
34
- }
35
-
36
- /* Wave color based on button variant */
37
- .btn-wave[data-variant="primary"]::after {
38
- --wave-color: var(--color-primary-600);
39
- }
40
-
41
- .btn-wave[data-variant="default"]::after,
42
- .btn-wave[data-variant="dashed"]::after {
43
- --wave-color: var(--color-primary-600);
44
- }
45
-
46
- .btn-wave[data-variant="text"]::after,
47
- .btn-wave[data-variant="link"]::after {
48
- --wave-color: transparent;
49
- }
50
-
51
- /* Danger wave color */
52
- .btn-wave[data-danger="true"]::after {
53
- --wave-color: var(--color-error-500);
54
- }
55
-
56
- @keyframes ant-wave {
57
- 0% {
58
- box-shadow: 0 0 0 0 var(--wave-color);
59
- opacity: 0.4;
60
- }
61
- 100% {
62
- box-shadow: 0 0 0 6px var(--wave-color);
63
- opacity: 0;
64
- }
65
- }
66
-
67
17
  body {
68
18
  background: var(--color-neutral-token-1);
69
19
  color: var(--color-neutral-token-13);
70
20
  }
71
21
 
72
22
  :root {
73
- --font-sans: "Open Sans Variable", "ui-sans-serif", "system-ui", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
74
- --font-mono: "Roboto Mono Variable", "ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New";
23
+ --font-sans: "Inter Variable", "ui-sans-serif", "system-ui", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
24
+ --font-mono: "Geist Mono", "Roboto Mono Variable", "ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New";
75
25
  }
76
26
 
77
27
 
@@ -199,6 +149,7 @@ html.dark, .dark * {
199
149
  --color-success-700: rgb(24, 140, 67);
200
150
  --color-success-800: rgb(19, 108, 52);
201
151
  --color-success-900: rgb(14, 83, 39);
152
+ /* primitives — do not use in components */
202
153
  --color-neutral-1: rgb(255, 255, 255);
203
154
  --color-neutral-2: rgb(252, 252, 252);
204
155
  --color-neutral-3: rgb(245, 245, 245);
@@ -222,16 +173,16 @@ html.dark, .dark * {
222
173
  --color-warning-700: rgb(177, 82, 16);
223
174
  --color-warning-800: rgb(137, 63, 12);
224
175
  --color-warning-900: rgb(105, 48, 9);
225
- --color-information-50: rgb(235, 243, 254);
226
- --color-information-100: rgb(194, 216, 252);
227
- --color-information-200: rgb(165, 198, 251);
228
- --color-information-300: rgb(124, 171, 249);
229
- --color-information-400: rgb(98, 155, 248);
230
- --color-information-500: rgb(59, 130, 246);
231
- --color-information-600: rgb(54, 118, 224);
232
- --color-information-700: rgb(42, 92, 175);
233
- --color-information-800: rgb(32, 72, 135);
234
- --color-information-900: rgb(25, 55, 103);
176
+ --color-information-50: rgb(240, 249, 255);
177
+ --color-information-100: rgb(186, 230, 253);
178
+ --color-information-200: rgb(125, 211, 252);
179
+ --color-information-300: rgb(56, 189, 248);
180
+ --color-information-400: rgb(14, 165, 233);
181
+ --color-information-500: rgb(2, 132, 199); /* sky — distinct from primary */
182
+ --color-information-600: rgb(3, 105, 161);
183
+ --color-information-700: rgb(7, 89, 133);
184
+ --color-information-800: rgb(12, 74, 110);
185
+ --color-information-900: rgb(8, 47, 73);
235
186
  --color-secondary-50: rgb(253, 237, 245);
236
187
  --color-secondary-100: rgb(249, 198, 223);
237
188
  --color-secondary-200: rgb(246, 171, 208);
@@ -242,8 +193,8 @@ html.dark, .dark * {
242
193
  --color-secondary-700: rgb(168, 51, 109);
243
194
  --color-secondary-800: rgb(130, 40, 84);
244
195
  --color-secondary-900: rgb(99, 30, 64);
245
- --color-brand-500: rgb(0, 111, 238);
246
- --color-brand-token-5: rgb(0, 111, 238);
196
+ --color-brand-500: var(--color-primary-500);
197
+ --color-brand-token-5: var(--color-primary-500);
247
198
  --color-neutral-token-1: rgb(255, 255, 255);
248
199
  --color-neutral-token-2: rgb(252, 252, 252);
249
200
  --color-neutral-token-3: rgb(245, 245, 245);
@@ -273,12 +224,12 @@ html.dark, .dark * {
273
224
 
274
225
  :root.dark {
275
226
  --color-brand-token-5: rgb(0, 111, 238);
276
- --color-neutral-token-1: rgb(0, 0, 0);
227
+ --color-neutral-token-1: rgb(9, 9, 9); /* near-black — not pure, less harsh */
277
228
  --color-neutral-token-2: rgb(20, 20, 20);
278
- --color-neutral-token-3: rgb(31, 31, 31);
279
- --color-neutral-token-4: rgb(38, 38, 38);
280
- --color-neutral-token-5: rgb(69, 69, 69);
281
- --color-neutral-token-6: rgb(89, 89, 89);
229
+ --color-neutral-token-3: rgb(32, 32, 32);
230
+ --color-neutral-token-4: rgb(48, 48, 48); /* wider gap — clear hover state */
231
+ --color-neutral-token-5: rgb(70, 70, 70); /* visible border */
232
+ --color-neutral-token-6: rgb(95, 95, 95);
282
233
  --color-neutral-token-7: rgb(140, 140, 140);
283
234
  --color-neutral-token-8: rgb(191, 191, 191);
284
235
  --color-neutral-token-9: rgb(217, 217, 217);
@@ -299,11 +250,118 @@ html.dark, .dark * {
299
250
  }
300
251
 
301
252
  /* ============================================= */
302
- /* === TeraUI Design System - Ant Design === */
253
+ /* === Semantic Alias Layer (additive) === */
254
+ /* Convention: {role}-{modifier} — role-first, modifier describes prominence or state */
255
+ /* Naming influenced by: Ant Design 5 (state modifiers), GitHub Primer (subtle/muted */
256
+ /* scale), shadcn/ui (CSS-var-as-utility, 'default' for resting state). */
257
+ /* Components use ONLY these tokens — primitives stay as the underlying scale. */
258
+ /* ============================================= */
259
+ :root {
260
+ /* ── Surfaces (backgrounds by elevation) ─────────────────── */
261
+ --color-surface: var(--color-neutral-token-1); /* Page / app background */
262
+ --color-surface-raised: var(--color-neutral-token-2); /* Cards, panels */
263
+ --color-surface-sunken: var(--color-neutral-token-3); /* Inputs, disabled areas */
264
+ --color-surface-hover: var(--color-neutral-token-4); /* Hover / pressed neutral bg */
265
+ --color-surface-control: var(--color-neutral-token-1); /* Interactive control bg (button, input, checkbox) */
266
+
267
+ /* ── Borders ─────────────────────────────────────────────── */
268
+ --color-border-default: var(--color-neutral-token-5); /* Default border */
269
+ --color-border-strong: var(--color-neutral-token-6); /* Focus ring, separator */
270
+
271
+ /* ── Text (prominence scale) ─────────────────────────────── */
272
+ --color-text-primary: var(--color-neutral-token-13); /* Body text, headings */
273
+ --color-text-secondary: var(--color-neutral-token-8); /* Supporting / label text */
274
+ --color-text-tertiary: var(--color-neutral-token-7); /* Placeholder, hints */
275
+ --color-text-disabled: var(--color-neutral-token-6); /* Disabled labels */
276
+
277
+ /* ── Interactive (primary action — hover darkens, active darkest) ── */
278
+ --color-interactive: var(--color-primary-500); /* Base link / CTA color */
279
+ --color-interactive-hover: var(--color-primary-600); /* Hover: darker */
280
+ --color-interactive-active: var(--color-primary-700); /* Pressed: darkest */
281
+ --color-interactive-subtle: var(--color-primary-50); /* Ghost bg, tinted area */
282
+ --color-interactive-border: var(--color-primary-200); /* Subtle border on tinted bg */
283
+ --color-interactive-text: var(--color-primary-700); /* Readable text on tinted bg */
284
+ --color-interactive-on: #ffffff; /* Text/icon ON filled interactive bg */
285
+ --color-overlay: rgb(0 0 0 / 0.45); /* Modal / drawer backdrop scrim */
286
+
287
+ /* ── Status: Error ── subtle/muted/border/text adapt in dark mode ── */
288
+ --color-error-subtle: var(--color-error-50); /* Light tint bg */
289
+ --color-error-muted: var(--color-error-100); /* Medium tint / pressed bg */
290
+ --color-error-border: var(--color-error-200); /* Subtle border stroke */
291
+ --color-error-hover: var(--color-error-400); /* Lighter hover (softens) */
292
+ --color-error-default: var(--color-error-500); /* Main error color */
293
+ --color-error-active: var(--color-error-600); /* Pressed / active (stronger) */
294
+ --color-error-text: var(--color-error-700); /* Readable text on light bg */
295
+
296
+ /* ── Status: Warning ──────────────────────────────────────── */
297
+ --color-warning-subtle: var(--color-warning-50);
298
+ --color-warning-muted: var(--color-warning-100);
299
+ --color-warning-border: var(--color-warning-200);
300
+ --color-warning-hover: var(--color-warning-400);
301
+ --color-warning-default: var(--color-warning-500);
302
+ --color-warning-active: var(--color-warning-600);
303
+ --color-warning-text: var(--color-warning-700);
304
+
305
+ /* ── Status: Success ──────────────────────────────────────── */
306
+ --color-success-subtle: var(--color-success-50);
307
+ --color-success-muted: var(--color-success-100);
308
+ --color-success-border: var(--color-success-200);
309
+ --color-success-hover: var(--color-success-400);
310
+ --color-success-default: var(--color-success-500);
311
+ --color-success-active: var(--color-success-600);
312
+ --color-success-text: var(--color-success-700);
313
+
314
+ /* ── Status: Information ──────────────────────────────────── */
315
+ --color-information-subtle: var(--color-information-50);
316
+ --color-information-muted: var(--color-information-100);
317
+ --color-information-border: var(--color-information-200);
318
+ --color-information-hover: var(--color-information-400);
319
+ --color-information-default: var(--color-information-500);
320
+ --color-information-active: var(--color-information-600);
321
+ --color-information-text: var(--color-information-700);
322
+ }
323
+
324
+ /* Dark mode overrides — only tokens that change value in dark mode */
325
+ /* Scale tops at 900 (no 950 primitives defined) */
326
+ :root.dark {
327
+ --color-error-subtle: var(--color-error-900); /* darkest tint bg */
328
+ --color-error-muted: var(--color-error-800); /* medium tint bg */
329
+ --color-error-border: var(--color-error-700); /* subtle border */
330
+ --color-error-text: var(--color-error-400); /* lighter text for dark bg */
331
+
332
+ --color-warning-subtle: var(--color-warning-900);
333
+ --color-warning-muted: var(--color-warning-800);
334
+ --color-warning-border: var(--color-warning-700);
335
+ --color-warning-text: var(--color-warning-400);
336
+
337
+ --color-success-subtle: var(--color-success-900);
338
+ --color-success-muted: var(--color-success-800);
339
+ --color-success-border: var(--color-success-700);
340
+ --color-success-text: var(--color-success-400);
341
+
342
+ --color-information-subtle: var(--color-information-900);
343
+ --color-information-muted: var(--color-information-800);
344
+ --color-information-border: var(--color-information-700);
345
+ --color-information-text: var(--color-information-400);
346
+
347
+ --color-interactive-subtle: var(--color-primary-900); /* Dark tint bg */
348
+ --color-interactive-border: var(--color-primary-700); /* Subtle border on dark tinted bg */
349
+ --color-interactive-text: var(--color-primary-300); /* Readable text on dark tinted bg */
350
+ --color-overlay: rgb(255 255 255 / 0.12); /* Darker scrim for dark mode */
351
+ --color-surface-control: var(--color-neutral-token-3); /* Controls elevated above surfaces in dark mode */
352
+
353
+ /* Elevation shadows — use white glow instead of black drop shadows on dark bg */
354
+ --shadow-sm: 0 1px 3px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04);
355
+ --shadow-md: 0 4px 12px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
356
+ --shadow-lg: 0 12px 32px rgba(0,0,0,0.6), 0 4px 8px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.06);
357
+ }
358
+
359
+ /* ============================================= */
360
+ /* === TeraUI Design System === */
303
361
  /* ============================================= */
304
362
  /* Consistent design tokens for all components */
305
363
  :root {
306
- /* TeraUI Border Radius - Ant Design uses 6px as base */
364
+ /* TeraUI Border Radius - uses 6px as base */
307
365
  --tera-radius-sm: 2px;
308
366
  --tera-radius-base: 6px;
309
367
  --tera-radius-lg: 8px;
@@ -314,20 +372,45 @@ html.dark, .dark * {
314
372
  --tera-control-height-base: 32px;
315
373
  --tera-control-height-lg: 40px;
316
374
 
317
- /* TeraUI Transitions - Ant Design easing */
375
+ /* TeraUI Transitions - easing */
318
376
  --tera-transition-fast: 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
319
377
  --tera-transition-base: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
320
378
  --tera-transition-slow: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
321
379
 
322
- /* TeraUI Focus Shadows - subtle glow like Ant Design */
323
- --tera-focus-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
324
- --tera-focus-shadow-error: 0 0 0 2px rgba(239, 68, 68, 0.1);
325
- --tera-focus-shadow-warning: 0 0 0 2px rgba(249, 115, 22, 0.1);
326
- --tera-focus-shadow-success: 0 0 0 2px rgba(34, 197, 94, 0.1);
380
+ /* Focus Shadows */
381
+ --shadow-focus: 0 0 0 3px color-mix(in srgb, var(--color-primary-500) 20%, transparent);
382
+ --shadow-focus-error: 0 0 0 3px color-mix(in srgb, var(--color-error-500) 20%, transparent);
383
+ --shadow-focus-warning: 0 0 0 3px color-mix(in srgb, var(--color-warning-500) 20%, transparent);
384
+ --shadow-focus-success: 0 0 0 3px color-mix(in srgb, var(--color-success-500) 20%, transparent);
385
+
386
+ /* Elevation system */
387
+ --shadow-none: none;
388
+ --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
389
+ --shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.06);
390
+ --shadow-lg: 0 12px 32px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);
391
+ --shadow-glow: 0 0 0 1px var(--color-primary-200),
392
+ 0 4px 16px color-mix(in srgb, var(--color-primary-500) 20%, transparent);
393
+
394
+ /* Easing functions */
395
+ --ease-ui: cubic-bezier(0.16, 1, 0.3, 1);
396
+ --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
397
+ --ease-out: cubic-bezier(0.0, 0.0, 0.2, 1.0);
398
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
399
+
400
+ /* Extended radius */
401
+ --tera-radius-xl: 20px;
327
402
  }
328
403
 
329
404
 
330
405
 
406
+ /* Reduced-motion guard */
407
+ @media (prefers-reduced-motion: reduce) {
408
+ *, ::before, ::after {
409
+ transition-duration: 1ms !important;
410
+ animation-duration: 1ms !important;
411
+ }
412
+ }
413
+
331
414
  /* Base responsive variable */
332
415
  :root {
333
416
  --header-height: 3rem;
@@ -467,4 +550,86 @@ html.dark, .dark * {
467
550
  --color-information: var(--color-information-500);
468
551
  --color-secondary: var(--color-secondary-500);
469
552
  --color-brand: var(--color-brand-500);
553
+
554
+ /* ── Semantic surface & text tokens ─────────────────────── */
555
+ --color-surface: var(--color-surface);
556
+ --color-surface-raised: var(--color-surface-raised);
557
+ --color-surface-sunken: var(--color-surface-sunken);
558
+ --color-surface-hover: var(--color-surface-hover);
559
+ --color-surface-control: var(--color-surface-control);
560
+ --color-border-default: var(--color-border-default);
561
+ --color-border-strong: var(--color-border-strong);
562
+ --color-text-primary: var(--color-text-primary);
563
+ --color-text-secondary: var(--color-text-secondary);
564
+ --color-text-tertiary: var(--color-text-tertiary);
565
+ --color-text-disabled: var(--color-text-disabled);
566
+ --color-interactive: var(--color-interactive);
567
+ --color-interactive-hover: var(--color-interactive-hover);
568
+ --color-interactive-active: var(--color-interactive-active);
569
+ --color-interactive-subtle: var(--color-interactive-subtle);
570
+ --color-interactive-border: var(--color-interactive-border);
571
+ --color-interactive-text: var(--color-interactive-text);
572
+ --color-interactive-on: var(--color-interactive-on);
573
+ --color-overlay: var(--color-overlay);
574
+
575
+ /* ── Semantic status tokens ──────────────────────────────── */
576
+ --color-error-subtle: var(--color-error-subtle);
577
+ --color-error-muted: var(--color-error-muted);
578
+ --color-error-border: var(--color-error-border);
579
+ --color-error-hover: var(--color-error-hover);
580
+ --color-error-default: var(--color-error-default);
581
+ --color-error-active: var(--color-error-active);
582
+ --color-error-text: var(--color-error-text);
583
+
584
+ --color-warning-subtle: var(--color-warning-subtle);
585
+ --color-warning-muted: var(--color-warning-muted);
586
+ --color-warning-border: var(--color-warning-border);
587
+ --color-warning-hover: var(--color-warning-hover);
588
+ --color-warning-default: var(--color-warning-default);
589
+ --color-warning-active: var(--color-warning-active);
590
+ --color-warning-text: var(--color-warning-text);
591
+
592
+ --color-success-subtle: var(--color-success-subtle);
593
+ --color-success-muted: var(--color-success-muted);
594
+ --color-success-border: var(--color-success-border);
595
+ --color-success-hover: var(--color-success-hover);
596
+ --color-success-default: var(--color-success-default);
597
+ --color-success-active: var(--color-success-active);
598
+ --color-success-text: var(--color-success-text);
599
+
600
+ --color-information-subtle: var(--color-information-subtle);
601
+ --color-information-muted: var(--color-information-muted);
602
+ --color-information-border: var(--color-information-border);
603
+ --color-information-hover: var(--color-information-hover);
604
+ --color-information-default: var(--color-information-default);
605
+ --color-information-active: var(--color-information-active);
606
+ --color-information-text: var(--color-information-text);
607
+
608
+ /* Elevation shadows */
609
+ --shadow-sm: var(--shadow-sm);
610
+ --shadow-md: var(--shadow-md);
611
+ --shadow-lg: var(--shadow-lg);
612
+ --shadow-glow: var(--shadow-glow);
613
+ --shadow-focus: var(--shadow-focus);
614
+ --shadow-focus-error: var(--shadow-focus-error);
615
+ --shadow-focus-warning: var(--shadow-focus-warning);
616
+ --shadow-focus-success: var(--shadow-focus-success);
617
+
618
+ /* Easing functions */
619
+ --ease-ui: var(--ease-ui);
620
+ --ease-spring: var(--ease-spring);
621
+
622
+ /* Accordion animations */
623
+ --animate-accordion-down: accordion-down 0.2s ease-out;
624
+ --animate-accordion-up: accordion-up 0.2s ease-out;
625
+ }
626
+
627
+ @keyframes accordion-down {
628
+ from { height: 0; }
629
+ to { height: var(--bits-accordion-content-height); }
630
+ }
631
+
632
+ @keyframes accordion-up {
633
+ from { height: var(--bits-accordion-content-height); }
634
+ to { height: 0; }
470
635
  }
@@ -0,0 +1,100 @@
1
+ /* ============================================= */
2
+ /* === TeraUI — AI / Innovation Theme === */
3
+ /* Target: AI tools, chat interfaces, interactive labs */
4
+ /* Dark mode is the primary experience */
5
+ /* Load after tera-ui-base.css */
6
+ /* Gradient rule: allowed ONLY on primary button bg, hero headline accent, AI card border */
7
+ /* ============================================= */
8
+
9
+ [data-theme='ai'] {
10
+ /* Primary: violet-700 */
11
+ --color-primary-500: rgb(124, 58, 237); /* #7C3AED */
12
+ --color-primary-600: rgb(109, 40, 217); /* #6D28D9 */
13
+ --color-primary-700: rgb(91, 33, 182);
14
+ --color-primary-400: rgb(167, 139, 250);
15
+ --color-primary-300: rgb(196, 181, 253);
16
+ --color-primary-200: rgb(221, 214, 254);
17
+ --color-primary-50: rgb(245, 243, 255);
18
+
19
+ /* Secondary: cyan — authentic AI aesthetic, pairs with violet */
20
+ --color-secondary-500: rgb(6, 182, 212);
21
+ --color-secondary-400: rgb(34, 211, 238);
22
+ --color-secondary-300: rgb(103, 232, 249);
23
+ --color-secondary-200: rgb(165, 243, 252);
24
+ --color-secondary-50: rgb(236, 254, 255);
25
+
26
+ /* Light mode: barely perceptible violet surface tint */
27
+ --color-surface: rgb(254, 252, 255);
28
+ --color-surface-raised: rgb(250, 247, 255);
29
+
30
+ /* Border radius — rounder = friendlier, more approachable */
31
+ --border-radius-base: 0.75rem; /* 12px */
32
+ --border-radius-container: 1rem; /* 16px — pillowy cards */
33
+
34
+ /* Motion: springier = energetic */
35
+ --tera-theme-duration: 250ms;
36
+ --tera-theme-easing: var(--ease-spring);
37
+ --tera-transition-base: var(--tera-theme-duration) var(--tera-theme-easing);
38
+
39
+ /* Card style: glassmorphism */
40
+ --tera-card-shadow: var(--shadow-glow);
41
+ --tera-card-radius: var(--border-radius-container);
42
+ --tera-card-backdrop: blur(8px);
43
+
44
+ /* Gradient: violet → cyan (more dimensional than violet → blue) */
45
+ --tera-gradient-primary: linear-gradient(135deg, rgb(124, 58, 237) 0%, rgb(6, 182, 212) 100%);
46
+
47
+ /* Glow shadow: violet-tinted (not plain black-opacity) */
48
+ --shadow-glow: 0 0 0 1px rgba(124, 58, 237, 0.25),
49
+ 0 4px 24px rgba(124, 58, 237, 0.18),
50
+ 0 1px 4px rgba(124, 58, 237, 0.12);
51
+
52
+ /* Focus glow: violet */
53
+ --shadow-focus: 0 0 0 3px rgba(124, 58, 237, 0.28);
54
+ }
55
+
56
+ /* AI dark mode: zinc-950 with violet temperature + atmospheric shadows */
57
+ [data-theme='ai'].dark,
58
+ [data-theme='ai'] .dark {
59
+ /* Elevation steps — slight purple temperature throughout */
60
+ --color-neutral-token-1: rgb(7, 7, 11); /* near-black with violet hint */
61
+ --color-neutral-token-2: rgb(16, 16, 24); /* zinc-900 + violet */
62
+ --color-neutral-token-3: rgb(28, 28, 40); /* clear jump */
63
+ --color-neutral-token-4: rgb(45, 45, 62); /* obvious hover state */
64
+ --color-neutral-token-5: rgb(72, 72, 95); /* visible border */
65
+ --color-neutral-token-13: rgb(250, 250, 252);
66
+
67
+ /* Violet-tinted atmospheric shadows */
68
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(124, 58, 237, 0.08);
69
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(124, 58, 237, 0.12);
70
+ --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.7), 0 4px 8px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(124, 58, 237, 0.14);
71
+ --shadow-glow: 0 0 0 1px rgba(124, 58, 237, 0.35),
72
+ 0 4px 24px rgba(124, 58, 237, 0.25),
73
+ 0 0 48px rgba(124, 58, 237, 0.12);
74
+
75
+ /* Interactive: brighter violet — better contrast on dark bg */
76
+ --color-interactive: rgb(167, 139, 250); /* violet-400 */
77
+ --color-interactive-hover: rgb(196, 181, 253); /* violet-300 */
78
+ --color-interactive-active: rgb(124, 58, 237); /* violet-600 */
79
+ --color-interactive-subtle: rgba(124, 58, 237, 0.12);
80
+ --color-interactive-border: rgba(124, 58, 237, 0.30);
81
+ --color-interactive-text: rgb(167, 139, 250);
82
+
83
+ /* Focus shadow — softer for dark bg */
84
+ --shadow-focus: 0 0 0 3px rgba(167, 139, 250, 0.35);
85
+ }
86
+
87
+ /* AI primary button: gradient fill */
88
+ [data-theme='ai'] .btn-primary,
89
+ [data-theme='ai'] [data-variant='primary'] {
90
+ background: var(--tera-gradient-primary);
91
+ border-color: transparent;
92
+ }
93
+
94
+ /* AI card glassmorphism */
95
+ [data-theme='ai'] .card-glass {
96
+ background: rgba(255, 255, 255, 0.05);
97
+ backdrop-filter: var(--tera-card-backdrop);
98
+ border: 1px solid rgba(255, 255, 255, 0.1);
99
+ box-shadow: var(--shadow-glow);
100
+ }
@@ -0,0 +1,91 @@
1
+ /* ============================================= */
2
+ /* === TeraUI — Marketing / Editorial Theme === */
3
+ /* Target: Landing pages, product marketing, blog posts */
4
+ /* Load after tera-ui-base.css */
5
+ /* ============================================= */
6
+
7
+ [data-theme='marketing'] {
8
+ /* Primary: brand blue — connects to brand identity */
9
+ --color-primary-500: rgb(0, 111, 238); /* #006FEE */
10
+ --color-primary-600: rgb(0, 87, 200);
11
+ --color-primary-700: rgb(0, 68, 160);
12
+ --color-primary-400: rgb(51, 147, 255);
13
+ --color-primary-300: rgb(100, 175, 255);
14
+ --color-primary-200: rgb(153, 208, 255);
15
+ --color-primary-50: rgb(230, 244, 255);
16
+
17
+ /* Secondary: rose/coral — editorial pop, distinct from brand blue */
18
+ --color-secondary-500: rgb(244, 63, 94);
19
+ --color-secondary-400: rgb(251, 113, 133);
20
+ --color-secondary-300: rgb(253, 164, 175);
21
+ --color-secondary-200: rgb(254, 205, 211);
22
+ --color-secondary-50: rgb(255, 241, 242);
23
+
24
+ /* Border radius — balanced, friendly but not casual */
25
+ --border-radius-base: 0.625rem; /* 10px */
26
+ --border-radius-container: 1rem; /* 16px — modern editorial card feel */
27
+
28
+ /* Font: display font for large headlines */
29
+ --font-display: 'Cal Sans', 'Syne', 'Instrument Serif', 'Georgia', serif;
30
+
31
+ /* Motion: cinematic — suits scroll reveals */
32
+ --tera-theme-duration: 300ms;
33
+ --tera-theme-easing: var(--ease-in-out);
34
+ --tera-transition-base: var(--tera-theme-duration) var(--tera-theme-easing);
35
+
36
+ /* CTA button: taller for conversion */
37
+ --tera-control-height-lg: 52px;
38
+
39
+ /* Card style */
40
+ --tera-card-shadow: var(--shadow-sm);
41
+ --tera-card-radius: var(--border-radius-container);
42
+
43
+ /* No AI gradient — marketing uses flat brand color */
44
+ --tera-gradient-primary: none;
45
+
46
+ /* Section spacing: py-24 minimum */
47
+ --marketing-section-py: 6rem;
48
+
49
+ /* Stronger glow for CTAs — brand blue hue */
50
+ --shadow-glow: 0 0 0 1px rgba(0, 111, 238, 0.20),
51
+ 0 8px 32px rgba(0, 111, 238, 0.15);
52
+ }
53
+
54
+ /* Marketing dark: deep navy-black — editorial premium, not generic gray */
55
+ [data-theme='marketing'].dark,
56
+ [data-theme='marketing'] .dark {
57
+ /* Elevation steps — navy-blue temperature throughout */
58
+ --color-neutral-token-1: rgb(8, 10, 18); /* very deep navy-black */
59
+ --color-neutral-token-2: rgb(14, 18, 32); /* visible step */
60
+ --color-neutral-token-3: rgb(22, 27, 48); /* mid dark */
61
+ --color-neutral-token-4: rgb(33, 42, 70); /* clear hover state */
62
+ --color-neutral-token-5: rgb(50, 62, 100); /* blue-tinted border */
63
+ --color-neutral-token-6: rgb(72, 88, 135); /* strong border */
64
+
65
+ /* Blue-tinted atmospheric shadows */
66
+ --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 111, 238, 0.06);
67
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(0, 111, 238, 0.08);
68
+ --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.7), 0 4px 8px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(0, 111, 238, 0.10);
69
+ --shadow-glow: 0 0 0 1px rgba(0, 111, 238, 0.30),
70
+ 0 4px 24px rgba(0, 111, 238, 0.20),
71
+ 0 0 48px rgba(0, 111, 238, 0.10);
72
+
73
+ /* Interactive: brighter brand blue — better contrast on dark bg */
74
+ --color-interactive: rgb(51, 147, 255); /* primary-400 */
75
+ --color-interactive-hover: rgb(100, 175, 255); /* primary-300 */
76
+ --color-interactive-active: rgb(0, 111, 238); /* primary-500 */
77
+ --color-interactive-subtle: rgba(0, 111, 238, 0.12);
78
+ --color-interactive-border: rgba(0, 111, 238, 0.30);
79
+ --color-interactive-text: rgb(100, 175, 255);
80
+
81
+ /* Focus shadow — blue-tinted */
82
+ --shadow-focus: 0 0 0 3px rgba(51, 147, 255, 0.35);
83
+ }
84
+
85
+ /* Marketing CTA button: full-sized */
86
+ [data-theme='marketing'] [data-variant='primary'] {
87
+ height: var(--tera-control-height-lg);
88
+ padding-left: 2rem;
89
+ padding-right: 2rem;
90
+ font-weight: 600;
91
+ }
@@ -0,0 +1,41 @@
1
+ /* ============================================= */
2
+ /* === TeraUI — Professional Theme === */
3
+ /* Target: SaaS dashboards, calculators, CV builders, education tools */
4
+ /* Load after tera-ui-base.css */
5
+ /* ============================================= */
6
+
7
+ [data-theme='professional'],
8
+ :root {
9
+ /* Primary: Tailwind blue-600 — more saturated than blue-500 */
10
+ --color-primary-500: rgb(37, 99, 235); /* #2563EB */
11
+ --color-primary-600: rgb(29, 78, 216); /* #1D4ED8 */
12
+ --color-primary-400: rgb(96, 165, 250);
13
+ --color-primary-200: rgb(191, 219, 254);
14
+ --color-primary-50: rgb(239, 246, 255);
15
+
16
+ /* Border radius — 2px more modern than AntDesign */
17
+ --border-radius-base: 0.5rem; /* 8px */
18
+ --border-radius-container: 0.625rem; /* 10px — cards, dialogs */
19
+
20
+ /* Page background: cool off-white, softer than pure white */
21
+ --color-neutral-token-1: rgb(248, 250, 252); /* #F8FAFC */
22
+
23
+ /* Motion: fast, responsive */
24
+ --tera-theme-duration: 150ms;
25
+ --tera-theme-easing: var(--ease-ui);
26
+ --tera-transition-base: var(--tera-theme-duration) var(--tera-theme-easing);
27
+
28
+ /* Card style: subtle shadow */
29
+ --tera-card-shadow: var(--shadow-sm);
30
+ --tera-card-radius: var(--border-radius-container);
31
+
32
+ /* No gradients in Professional */
33
+ --tera-gradient-primary: none;
34
+ }
35
+
36
+ [data-theme='professional'].dark,
37
+ [data-theme='professional'] .dark {
38
+ --color-neutral-token-1: rgb(15, 23, 42); /* slate-900 */
39
+ --color-neutral-token-2: rgb(30, 41, 59); /* slate-800 */
40
+ --color-neutral-token-3: rgb(51, 65, 85); /* slate-700 */
41
+ }