tera-system-ui 0.1.64 → 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 (273) hide show
  1. package/dist/COMPONENT_API.md +2 -539
  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 +72 -3
  242. package/dist/paraglide/messages/text_account_settings.d.ts +14 -2
  243. package/dist/paraglide/messages/text_account_settings.js +53 -58
  244. package/dist/paraglide/messages/text_calces_documentation.d.ts +14 -2
  245. package/dist/paraglide/messages/text_calces_documentation.js +53 -58
  246. package/dist/paraglide/messages/text_calces_scientific_calculator.d.ts +14 -2
  247. package/dist/paraglide/messages/text_calces_scientific_calculator.js +53 -58
  248. package/dist/paraglide/messages/text_currency_converter.d.ts +14 -2
  249. package/dist/paraglide/messages/text_currency_converter.js +53 -58
  250. package/dist/paraglide/messages/text_logout.d.ts +14 -2
  251. package/dist/paraglide/messages/text_logout.js +53 -58
  252. package/dist/paraglide/messages/text_select_language.d.ts +14 -2
  253. package/dist/paraglide/messages/text_select_language.js +53 -58
  254. package/dist/paraglide/messages/text_unit_converter.d.ts +14 -2
  255. package/dist/paraglide/messages/text_unit_converter.js +53 -58
  256. package/dist/paraglide/registry.d.ts +13 -0
  257. package/dist/paraglide/registry.js +15 -0
  258. package/dist/paraglide/runtime.d.ts +243 -126
  259. package/dist/paraglide/runtime.js +473 -148
  260. package/dist/paraglide/server.d.ts +13 -20
  261. package/dist/paraglide/server.js +92 -40
  262. package/dist/stories/ComponentOverview.stories.svelte +533 -0
  263. package/dist/stories/ComponentOverview.stories.svelte.d.ts +6 -0
  264. package/dist/themes/tera-ui-base.css +242 -77
  265. package/dist/themes/theme-ai.css +100 -0
  266. package/dist/themes/theme-marketing.css +91 -0
  267. package/dist/themes/theme-professional.css +41 -0
  268. package/package.json +35 -29
  269. package/dist/tera-i18n/projects/tera-system-ui/project.inlang/.meta.json +0 -3
  270. package/dist/tera-i18n/projects/tera-system-ui/project.inlang/README.md +0 -103
  271. package/dist/tera-i18n/projects/tera-system-ui/project.inlang/project_id +0 -1
  272. package/dist/themes/tw-preset.cjs +0 -160
  273. package/dist/themes/tw-preset.d.cts +0 -157
@@ -0,0 +1,36 @@
1
+ # Slider
2
+
3
+ Range slider for numeric value selection.
4
+
5
+ Built on BitsUI Slider primitive with horizontal and vertical layouts.
6
+
7
+ ## Import
8
+
9
+ import { Slider } from 'tera-system-ui';
10
+ import { Slider } from 'tera-system-ui/slider'; // subpath
11
+
12
+ ## Slider
13
+
14
+ ### Props
15
+
16
+ Name Type Required
17
+ ──────────────────────────────────────────────────────────────────────────
18
+ class string optional Additional CSS classes for the root element.
19
+ min number optional Minimum value of the slider range.
20
+ max number optional Maximum value of the slider range.
21
+ step number optional Step interval between selectable values.
22
+ value number optional Current value. Bindable.
23
+ disabled boolean optional Prevents all interaction and dims the control.
24
+ orientation 'horizontal' | 'vertical' optional Layout orientation of the slider track and thumb. When 'vertical', the parent must have an explicit height.
25
+ onchange (value: number) => void optional Fires continuously as the thumb moves during drag.
26
+ onValueCommit (value: number) => void optional Fires once when the user finishes dragging and releases the thumb. Prefer this over `onchange` when the handler triggers expensive work.
27
+ ref HTMLElement optional Bindable reference to the root span element.
28
+
29
+ ### Usage
30
+
31
+ <script>
32
+ import { Slider } from 'tera-system-ui';
33
+ </script>
34
+
35
+ <Slider />
36
+ <Slider onchange={(v) => console.log(v)} />
@@ -0,0 +1,25 @@
1
+ # Spinner
2
+
3
+ Circular loading spinner indicator.
4
+
5
+ ## Import
6
+
7
+ import { Spinner } from 'tera-system-ui';
8
+
9
+ ## Spinner
10
+
11
+ ### Props
12
+
13
+ Name Type Required
14
+ ──────────────────────────────────────────────────────────────────────────
15
+ size SpinnerSize optional
16
+ color SpinnerColor optional
17
+ class string optional
18
+
19
+ ### Usage
20
+
21
+ <script>
22
+ import { Spinner } from 'tera-system-ui';
23
+ </script>
24
+
25
+ <Spinner />
@@ -0,0 +1,31 @@
1
+ # StarRating
2
+
3
+ Interactive star rating (1–5 stars).
4
+
5
+ ## Import
6
+
7
+ import { StarRating } from 'tera-system-ui';
8
+ import { StarRating } from 'tera-system-ui/star-rating'; // subpath
9
+
10
+ ## StarRating
11
+
12
+ ### Props
13
+
14
+ Name Type Required
15
+ ──────────────────────────────────────────────────────────────────────────
16
+ size sm | md | lg optional (default: md)
17
+ children Snippet optional
18
+ class string optional
19
+ value number optional
20
+ onchange (value: number) => void optional
21
+ ref HTMLDivElement optional (bindable)
22
+
23
+ ### Usage
24
+
25
+ <script>
26
+ import { StarRating } from 'tera-system-ui';
27
+ </script>
28
+
29
+ <StarRating>Content</StarRating>
30
+ <StarRating size="sm">Content</StarRating>
31
+ <StarRating onchange={(v) => console.log(v)} />
@@ -0,0 +1,33 @@
1
+ # Switch
2
+
3
+ Toggle switch for boolean state.
4
+
5
+ Built on BitsUI Switch primitive with form integration support.
6
+
7
+ ## Import
8
+
9
+ import { Switch } from 'tera-system-ui';
10
+ import { Switch } from 'tera-system-ui/switch'; // subpath
11
+
12
+ ## Switch
13
+
14
+ ### Props
15
+
16
+ Name Type Required
17
+ ──────────────────────────────────────────────────────────────────────────
18
+ class string optional Additional CSS classes for the root element.
19
+ checked boolean optional Whether the switch is on. Bindable.
20
+ disabled boolean optional Prevents all interaction and dims the control.
21
+ required boolean optional Whether the switch is required for form submission.
22
+ name string optional Name attribute used when submitting within a form.
23
+ value string optional Value sent with the form when the switch is checked.
24
+ onCheckedChange (checked: boolean) => void optional Called when the checked state changes.
25
+ ref HTMLButtonElement optional Bindable reference to the root button element.
26
+
27
+ ### Usage
28
+
29
+ <script>
30
+ import { Switch } from 'tera-system-ui';
31
+ </script>
32
+
33
+ <Switch />
@@ -0,0 +1,30 @@
1
+ # Table
2
+
3
+ Data table component.
4
+
5
+ ## Import
6
+
7
+ import { Table } from 'tera-system-ui';
8
+
9
+ ## Table
10
+
11
+ ### Props
12
+
13
+ Name Type Required
14
+ ──────────────────────────────────────────────────────────────────────────
15
+ columns ColumnDef<T>[] required
16
+ data T[] required
17
+ loading boolean optional
18
+ empty Snippet optional
19
+ striped boolean optional
20
+ stickyHeader boolean optional
21
+ onRowClick (row: T) => void optional
22
+ class string optional
23
+
24
+ ### Usage
25
+
26
+ <script>
27
+ import { Table } from 'tera-system-ui';
28
+ </script>
29
+
30
+ <Table />
@@ -0,0 +1,92 @@
1
+ # Tabs
2
+
3
+ Tabbed content panels. Parts: Tabs, TabsList, TabsItem, TabsContent.
4
+
5
+ Parts: Tabs, TabsList, TabsItem, TabsContent. Built on BitsUI Tabs primitive.
6
+
7
+ ## Import
8
+
9
+ import { Tabs, TabsList, TabsItem, TabsContent } from 'tera-system-ui';
10
+ import { Tabs } from 'tera-system-ui/tabs'; // subpath
11
+
12
+ ## Tabs
13
+
14
+ ### Props
15
+
16
+ Name Type Required
17
+ ──────────────────────────────────────────────────────────────────────────
18
+ children Snippet optional
19
+ value string optional Currently active tab value. Bindable.
20
+ onchange (newTab: string) => void optional Called when the active tab changes.
21
+ class string optional Additional CSS classes for the root element.
22
+ variant TabsVariant optional Visual style of the tab list.
23
+ activationMode 'automatic' | 'manual' optional How tabs activate on keyboard focus. - 'automatic': tab content switches immediately when a tab receives focus. - 'manual': the user must press Enter or Space to activate a focused tab.
24
+ orientation 'horizontal' | 'vertical' optional Orientation of the tab list. 'vertical' renders the list as a column alongside the content. Only supported with the 'line' variant.
25
+ loop boolean optional Whether keyboard navigation wraps from the last tab back to the first.
26
+ ref HTMLDivElement optional Bindable reference to the root element.
27
+
28
+ ### Usage
29
+
30
+ <script>
31
+ import { Tabs } from 'tera-system-ui';
32
+ </script>
33
+
34
+ <Tabs>Content</Tabs>
35
+ <Tabs onchange={(v) => console.log(v)} />
36
+
37
+ ## TabsList
38
+
39
+ ### Props
40
+
41
+ Name Type Required
42
+ ──────────────────────────────────────────────────────────────────────────
43
+ children Snippet optional
44
+ class string optional Additional CSS classes for the tab list container.
45
+ ref HTMLElement optional (bindable)
46
+
47
+ ### Usage
48
+
49
+ <script>
50
+ import { TabsList } from 'tera-system-ui';
51
+ </script>
52
+
53
+ <TabsList>Content</TabsList>
54
+
55
+ ## TabsItem
56
+
57
+ ### Props
58
+
59
+ Name Type Required
60
+ ──────────────────────────────────────────────────────────────────────────
61
+ children Snippet optional
62
+ value string required The value this tab represents — must match a TabsContent value.
63
+ disabled boolean optional Prevents the user from activating this tab.
64
+ class string optional Additional CSS classes for the tab trigger.
65
+ ref HTMLElement optional (bindable)
66
+
67
+ ### Usage
68
+
69
+ <script>
70
+ import { TabsItem } from 'tera-system-ui';
71
+ </script>
72
+
73
+ <TabsItem>Content</TabsItem>
74
+
75
+ ## TabsContent
76
+
77
+ ### Props
78
+
79
+ Name Type Required
80
+ ──────────────────────────────────────────────────────────────────────────
81
+ children Snippet optional
82
+ value string required The value this content panel corresponds to — must match a TabsItem value.
83
+ class string optional Additional CSS classes for the content panel.
84
+ ref HTMLElement optional (bindable)
85
+
86
+ ### Usage
87
+
88
+ <script>
89
+ import { TabsContent } from 'tera-system-ui';
90
+ </script>
91
+
92
+ <TabsContent>Content</TabsContent>
@@ -0,0 +1,30 @@
1
+ # TeraUiContext
2
+
3
+ Context provider for TeraUI theme and locale configuration.
4
+
5
+ ## Import
6
+
7
+ import { TeraUiContext } from 'tera-system-ui';
8
+ import { TeraUiContext } from 'tera-system-ui/tera-ui-context'; // subpath
9
+
10
+ ## TeraUiContext
11
+
12
+ ### Props
13
+
14
+ Name Type Required
15
+ ──────────────────────────────────────────────────────────────────────────
16
+ children Snippet optional
17
+ class string optional
18
+ basePath string optional
19
+ supportLanguages AvailableLanguageTag[] optional
20
+ language AvailableLanguageTag optional
21
+ sideNavHref string optional
22
+ apiUrl string optional
23
+
24
+ ### Usage
25
+
26
+ <script>
27
+ import { TeraUiContext } from 'tera-system-ui';
28
+ </script>
29
+
30
+ <TeraUiContext>Content</TeraUiContext>
@@ -0,0 +1,39 @@
1
+ # TextArea
2
+
3
+ Multi-line text input with auto-resize.
4
+
5
+ ## Import
6
+
7
+ import { TextArea } from 'tera-system-ui';
8
+ import { TextArea } from 'tera-system-ui/text-area'; // subpath
9
+
10
+ ## TextArea
11
+
12
+ ### Props
13
+
14
+ Name Type Required
15
+ ──────────────────────────────────────────────────────────────────────────
16
+ variant outlined | filled | borderless optional (default: outlined)
17
+ disabled boolean optional
18
+ size sm | md | lg optional (default: md)
19
+ allowClear boolean optional
20
+ status error | warning optional
21
+ children Snippet optional
22
+ class string optional
23
+ value string optional
24
+ ref HTMLTextAreaElement optional (bindable)
25
+ autoSize AutoSizeConfig optional
26
+ rows number optional
27
+ showCount boolean optional
28
+ maxLength number optional
29
+
30
+ ### Usage
31
+
32
+ <script>
33
+ import { TextArea } from 'tera-system-ui';
34
+ </script>
35
+
36
+ <TextArea>Content</TextArea>
37
+ <TextArea variant="filled">Content</TextArea>
38
+ <TextArea disabled>Content</TextArea>
39
+ <TextArea size="sm">Content</TextArea>
@@ -0,0 +1,7 @@
1
+ # toast
2
+
3
+ Toast notification container (ToastContainer).
4
+
5
+ ## Import
6
+
7
+ import { } from 'tera-system-ui';
@@ -0,0 +1,32 @@
1
+ # Tooltip
2
+
3
+ Floating tooltip shown on hover or focus.
4
+
5
+ Built on BitsUI Tooltip primitive with portal rendering.
6
+
7
+ ## Import
8
+
9
+ import { Tooltip } from 'tera-system-ui';
10
+
11
+ ## Tooltip
12
+
13
+ ### Props
14
+
15
+ Name Type Required
16
+ ──────────────────────────────────────────────────────────────────────────
17
+ content string | Snippet required Tooltip content — a plain string or a Svelte snippet for rich markup.
18
+ side 'top' | 'bottom' | 'left' | 'right' optional Which side of the trigger the tooltip appears on.
19
+ align 'start' | 'center' | 'end' optional Alignment of the tooltip along the chosen side.
20
+ sideOffset number optional Distance in pixels between the trigger element and the tooltip panel.
21
+ delay number optional Delay in milliseconds before the tooltip appears after hover/focus.
22
+ disabled boolean optional Prevents the tooltip from ever opening.
23
+ children Snippet optional The element that triggers the tooltip on hover/focus.
24
+ class string optional Additional CSS classes for the trigger wrapper span.
25
+
26
+ ### Usage
27
+
28
+ <script>
29
+ import { Tooltip } from 'tera-system-ui';
30
+ </script>
31
+
32
+ <Tooltip>Content</Tooltip>
@@ -0,0 +1,28 @@
1
+ # UserAvatarWithMenu
2
+
3
+ User avatar with a dropdown account/profile menu.
4
+
5
+ ## Import
6
+
7
+ import { UserAvatarWithMenu } from 'tera-system-ui';
8
+ import { UserAvatarWithMenu } from 'tera-system-ui/user-avatar-with-menu'; // subpath
9
+
10
+ ## UserAvatarWithMenu
11
+
12
+ ### Props
13
+
14
+ Name Type Required
15
+ ──────────────────────────────────────────────────────────────────────────
16
+ children Snippet optional
17
+ class string optional
18
+ user UserData optional
19
+ onLogout () => void optional
20
+ ref HTMLDivElement optional (bindable)
21
+
22
+ ### Usage
23
+
24
+ <script>
25
+ import { UserAvatarWithMenu } from 'tera-system-ui';
26
+ </script>
27
+
28
+ <UserAvatarWithMenu>Content</UserAvatarWithMenu>
@@ -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: `D:\TeraProject\Code\tera-system-ui\src\lib\tera-i18n\projects\tera-system-ui\project.inlang`
5
+ Compiled from: `./src/lib/tera-i18n/projects/tera-system-ui/project.inlang`
6
6
 
7
7
 
8
8
  ## What is this folder?
@@ -29,7 +29,7 @@ paraglide/
29
29
  ├── messages.js # Message exports (import this)
30
30
  ├── messages/ # Individual message functions
31
31
  ├── runtime.js # Locale detection & configuration
32
- ├── registry.js # Formatting utilities (plural, number, datetime)
32
+ ├── registry.js # Formatting utilities (plural, number, datetime, relativetime)
33
33
  ├── server.js # Server-side middleware
34
34
  └── .gitignore # Marks folder as generated
35
35
  ```
@@ -51,9 +51,10 @@ m.greeting({ name: "Sam" }, { locale: "de" }); // "Hallo, Sam!"
51
51
  ## Runtime API
52
52
 
53
53
  ```js
54
- import { getLocale, setLocale, locales, baseLocale } from "./paraglide/runtime.js";
54
+ import { getLocale, getTextDirection, setLocale, locales, baseLocale } from "./paraglide/runtime.js";
55
55
 
56
56
  getLocale(); // Current locale, e.g., "en"
57
+ getTextDirection(); // "ltr" | "rtl" for current locale
57
58
  setLocale("de"); // Set locale
58
59
  locales; // Available locales, e.g., ["en", "de", "fr"]
59
60
  baseLocale; // Default locale, e.g., "en"
@@ -80,6 +81,74 @@ await compile({
80
81
 
81
82
  See the [strategy documentation](https://inlang.com/m/gerre34r/library-inlang-paraglideJs/strategy) for details.
82
83
 
84
+ ## Markup (Rich Text)
85
+
86
+ Messages can contain markup tags for bold, links, and other inline elements. Translators control where tags appear; developers control how they render.
87
+
88
+ Important:
89
+ - Tag names are app-defined. There is no built-in list of HTML tags.
90
+ - `{#b}...{/b}` does not automatically render as `<b>...</b>`.
91
+ - Renderers/snippets are looked up by the same tag name used in the message.
92
+
93
+ ### Message syntax
94
+
95
+ ```json
96
+ {
97
+ "cta": "{#link to=|/docs| rel=$relationship @track}Read the docs{/link}",
98
+ "welcome": "{#b}Hi {name}{/b}{#icon/}"
99
+ }
100
+ ```
101
+
102
+ - `{#tagName}` opens a tag, `{/tagName}` closes it.
103
+ - `{#tagName/}` creates a standalone tag.
104
+ - Options: `to=|/docs|` or `rel=$relationship` (accessed via `options.*`).
105
+ - Attributes: `@track` or `@variant=|hero|` (accessed via `attributes.*`).
106
+
107
+ This is the default inlang message syntax. Paraglide's message format is plugin-based — you can use [ICU MessageFormat 1](https://inlang.com/m/p7c8m1d2/plugin-inlang-icu-messageformat-1), [i18next](https://inlang.com/m/3i8bor92/plugin-inlang-i18next), or other [plugins](https://inlang.com/c/plugins) instead.
108
+
109
+ ### Rendering markup
110
+
111
+ Calling the message function still returns **plain text** (markup stripped):
112
+
113
+ ```js
114
+ m.cta({ relationship: "noopener" }); // "Read the docs"
115
+ ```
116
+
117
+ To render markup, use the framework adapter or the low-level `parts()` API:
118
+
119
+ ```js
120
+ const parts = m.cta.parts({ relationship: "noopener" });
121
+ // [
122
+ // { type: "markup-start", name: "link", options: { to: "/docs", rel: "noopener" }, attributes: { track: true } },
123
+ // { type: "text", value: "Read the docs" },
124
+ // { type: "markup-end", name: "link" }
125
+ // ]
126
+ ```
127
+
128
+ Framework adapters provide a `<ParaglideMessage>` component that accepts markup renderers:
129
+
130
+ - `@inlang/paraglide-js-react`
131
+ - `@inlang/paraglide-js-vue`
132
+ - `@inlang/paraglide-js-svelte`
133
+ - `@inlang/paraglide-js-solid`
134
+
135
+ ```jsx
136
+ import { ParaglideMessage } from "@inlang/paraglide-js-react"; // or -vue, -svelte, -solid
137
+
138
+ <ParaglideMessage
139
+ message={m.welcome}
140
+ inputs={{ name: "Ada" }}
141
+ markup={{
142
+ b: ({ children }) => <b>{children}</b>,
143
+ icon: () => <span aria-hidden="true" className="icon-wave" />,
144
+ }}
145
+ />
146
+ ```
147
+
148
+ The available renderer/snippet names come from the message itself. You can inspect them through `message.parts()`, and TypeScript uses the same names to type-check your markup renderers.
149
+
150
+ See the [markup documentation](https://inlang.com/m/gerre34r/library-inlang-paraglideJs/markup) for details.
151
+
83
152
  ## Key concepts
84
153
 
85
154
  - **Tree-shakeable**: Each message is a function, enabling [up to 70% smaller i18n bundle sizes](https://inlang.com/m/gerre34r/library-inlang-paraglideJs/benchmark) than traditional i18n libraries.
@@ -1,4 +1,16 @@
1
- export function text_account_settings(inputs?: {}, options?: {
1
+ /**
2
+ * | output |
3
+ * | --- |
4
+ * | "Account Settings" |
5
+ *
6
+ * @param {Text_Account_SettingsInputs} inputs
7
+ * @param {{ 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" }} options
8
+ * @returns {LocalizedString}
9
+ */
10
+ export const text_account_settings: ((inputs?: Text_Account_SettingsInputs, options?: {
2
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";
3
- }): LocalizedString;
12
+ }) => LocalizedString) & import("../runtime.js").MessageMetadata<Text_Account_SettingsInputs, {
13
+ 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";
14
+ }, {}>;
4
15
  export type LocalizedString = import("../runtime.js").LocalizedString;
16
+ export type Text_Account_SettingsInputs = {};