@lynx-js/genui 0.0.2 → 0.0.4

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 (292) hide show
  1. package/README.md +5 -9
  2. package/a2ui/AGENTS.md +167 -0
  3. package/a2ui/README.md +76 -780
  4. package/a2ui/README_zh.md +103 -0
  5. package/a2ui/dist/catalog/Button/catalog.json +2 -1
  6. package/a2ui/dist/catalog/Button/index.d.ts +5 -0
  7. package/a2ui/dist/catalog/Button/index.jsx +3 -0
  8. package/a2ui/dist/catalog/Button/index.jsx.map +1 -1
  9. package/a2ui/dist/catalog/Card/catalog.json +2 -1
  10. package/a2ui/dist/catalog/Card/index.d.ts +5 -0
  11. package/a2ui/dist/catalog/Card/index.jsx +3 -0
  12. package/a2ui/dist/catalog/Card/index.jsx.map +1 -1
  13. package/a2ui/dist/catalog/CheckBox/catalog.json +2 -1
  14. package/a2ui/dist/catalog/CheckBox/index.d.ts +5 -0
  15. package/a2ui/dist/catalog/CheckBox/index.jsx +3 -0
  16. package/a2ui/dist/catalog/CheckBox/index.jsx.map +1 -1
  17. package/a2ui/dist/catalog/ChoicePicker/catalog.json +2 -1
  18. package/a2ui/dist/catalog/ChoicePicker/index.d.ts +5 -0
  19. package/a2ui/dist/catalog/ChoicePicker/index.jsx +3 -0
  20. package/a2ui/dist/catalog/ChoicePicker/index.jsx.map +1 -1
  21. package/a2ui/dist/catalog/Column/catalog.json +2 -1
  22. package/a2ui/dist/catalog/Column/index.d.ts +5 -0
  23. package/a2ui/dist/catalog/Column/index.jsx +3 -0
  24. package/a2ui/dist/catalog/Column/index.jsx.map +1 -1
  25. package/a2ui/dist/catalog/DateTimeInput/catalog.json +2 -1
  26. package/a2ui/dist/catalog/DateTimeInput/index.d.ts +5 -0
  27. package/a2ui/dist/catalog/DateTimeInput/index.jsx +4 -10
  28. package/a2ui/dist/catalog/DateTimeInput/index.jsx.map +1 -1
  29. package/a2ui/dist/catalog/DateTimeInput/utils.d.ts +0 -1
  30. package/a2ui/dist/catalog/DateTimeInput/utils.js +0 -3
  31. package/a2ui/dist/catalog/DateTimeInput/utils.js.map +1 -1
  32. package/a2ui/dist/catalog/Divider/catalog.json +2 -1
  33. package/a2ui/dist/catalog/Divider/index.d.ts +5 -0
  34. package/a2ui/dist/catalog/Divider/index.jsx +3 -0
  35. package/a2ui/dist/catalog/Divider/index.jsx.map +1 -1
  36. package/a2ui/dist/catalog/Icon/catalog.json +2 -1
  37. package/a2ui/dist/catalog/Icon/index.d.ts +5 -0
  38. package/a2ui/dist/catalog/Icon/index.jsx +3 -0
  39. package/a2ui/dist/catalog/Icon/index.jsx.map +1 -1
  40. package/a2ui/dist/catalog/Image/catalog.json +2 -1
  41. package/a2ui/dist/catalog/Image/index.d.ts +5 -0
  42. package/a2ui/dist/catalog/Image/index.jsx +3 -0
  43. package/a2ui/dist/catalog/Image/index.jsx.map +1 -1
  44. package/a2ui/dist/catalog/LazyComponent/catalog.json +37 -0
  45. package/a2ui/dist/catalog/LazyComponent/index.d.ts +27 -0
  46. package/a2ui/dist/catalog/LazyComponent/index.jsx +39 -0
  47. package/a2ui/dist/catalog/LazyComponent/index.jsx.map +1 -0
  48. package/a2ui/dist/catalog/LineChart/catalog.json +2 -1
  49. package/a2ui/dist/catalog/LineChart/index.d.ts +8 -0
  50. package/a2ui/dist/catalog/LineChart/index.jsx +3 -0
  51. package/a2ui/dist/catalog/LineChart/index.jsx.map +1 -1
  52. package/a2ui/dist/catalog/List/catalog.json +2 -1
  53. package/a2ui/dist/catalog/List/index.d.ts +5 -0
  54. package/a2ui/dist/catalog/List/index.jsx +3 -0
  55. package/a2ui/dist/catalog/List/index.jsx.map +1 -1
  56. package/a2ui/dist/catalog/Loading/catalog.json +16 -0
  57. package/a2ui/dist/catalog/Loading/index.d.ts +15 -0
  58. package/a2ui/dist/catalog/Loading/index.jsx +14 -0
  59. package/a2ui/dist/catalog/Loading/index.jsx.map +1 -0
  60. package/a2ui/dist/catalog/Modal/catalog.json +2 -1
  61. package/a2ui/dist/catalog/Modal/index.d.ts +5 -0
  62. package/a2ui/dist/catalog/Modal/index.jsx +3 -0
  63. package/a2ui/dist/catalog/Modal/index.jsx.map +1 -1
  64. package/a2ui/dist/catalog/PieChart/catalog.json +2 -1
  65. package/a2ui/dist/catalog/PieChart/index.d.ts +8 -0
  66. package/a2ui/dist/catalog/PieChart/index.jsx +3 -0
  67. package/a2ui/dist/catalog/PieChart/index.jsx.map +1 -1
  68. package/a2ui/dist/catalog/RadioGroup/catalog.json +2 -1
  69. package/a2ui/dist/catalog/RadioGroup/index.d.ts +5 -0
  70. package/a2ui/dist/catalog/RadioGroup/index.jsx +3 -0
  71. package/a2ui/dist/catalog/RadioGroup/index.jsx.map +1 -1
  72. package/a2ui/dist/catalog/Row/catalog.json +2 -1
  73. package/a2ui/dist/catalog/Row/index.d.ts +5 -0
  74. package/a2ui/dist/catalog/Row/index.jsx +3 -0
  75. package/a2ui/dist/catalog/Row/index.jsx.map +1 -1
  76. package/a2ui/dist/catalog/Slider/catalog.json +2 -1
  77. package/a2ui/dist/catalog/Slider/index.d.ts +5 -0
  78. package/a2ui/dist/catalog/Slider/index.jsx +3 -0
  79. package/a2ui/dist/catalog/Slider/index.jsx.map +1 -1
  80. package/a2ui/dist/catalog/Tabs/catalog.json +2 -1
  81. package/a2ui/dist/catalog/Tabs/index.d.ts +5 -0
  82. package/a2ui/dist/catalog/Tabs/index.jsx +3 -0
  83. package/a2ui/dist/catalog/Tabs/index.jsx.map +1 -1
  84. package/a2ui/dist/catalog/Text/catalog.json +2 -1
  85. package/a2ui/dist/catalog/Text/index.d.ts +5 -0
  86. package/a2ui/dist/catalog/Text/index.jsx +3 -0
  87. package/a2ui/dist/catalog/Text/index.jsx.map +1 -1
  88. package/a2ui/dist/catalog/TextField/catalog.json +2 -1
  89. package/a2ui/dist/catalog/TextField/index.d.ts +5 -0
  90. package/a2ui/dist/catalog/TextField/index.jsx +3 -0
  91. package/a2ui/dist/catalog/TextField/index.jsx.map +1 -1
  92. package/a2ui/dist/catalog/defineCatalog.d.ts +4 -4
  93. package/a2ui/dist/catalog/defineCatalog.js.map +1 -1
  94. package/a2ui/dist/catalog/index.d.ts +2 -0
  95. package/a2ui/dist/catalog/index.js +92 -18
  96. package/a2ui/dist/catalog/index.js.map +1 -1
  97. package/a2ui/dist/catalog.json +2603 -0
  98. package/a2ui/dist/index.d.ts +1 -1
  99. package/a2ui/dist/index.js +2 -2
  100. package/a2ui/dist/index.js.map +1 -1
  101. package/a2ui/dist/react/A2UI.d.ts +3 -0
  102. package/a2ui/dist/react/A2UI.jsx.map +1 -1
  103. package/a2ui/dist/react/A2UIRenderer.d.ts +5 -18
  104. package/a2ui/dist/react/A2UIRenderer.jsx +3 -13
  105. package/a2ui/dist/react/A2UIRenderer.jsx.map +1 -1
  106. package/a2ui/dist/react/useAction.d.ts +7 -0
  107. package/a2ui/dist/react/useAction.js +4 -0
  108. package/a2ui/dist/react/useAction.js.map +1 -1
  109. package/a2ui/dist/react/useDataBinding.d.ts +7 -5
  110. package/a2ui/dist/react/useDataBinding.js +18 -0
  111. package/a2ui/dist/react/useDataBinding.js.map +1 -1
  112. package/a2ui/dist/store/FunctionRegistry.d.ts +7 -0
  113. package/a2ui/dist/store/FunctionRegistry.js +4 -0
  114. package/a2ui/dist/store/FunctionRegistry.js.map +1 -1
  115. package/a2ui/dist/store/MessageProcessor.d.ts +7 -0
  116. package/a2ui/dist/store/MessageProcessor.js +4 -0
  117. package/a2ui/dist/store/MessageProcessor.js.map +1 -1
  118. package/a2ui/dist/store/MessageStore.d.ts +6 -0
  119. package/a2ui/dist/store/MessageStore.js +3 -0
  120. package/a2ui/dist/store/MessageStore.js.map +1 -1
  121. package/a2ui/dist/store/Resource.d.ts +8 -0
  122. package/a2ui/dist/store/Resource.js +4 -0
  123. package/a2ui/dist/store/Resource.js.map +1 -1
  124. package/a2ui/dist/store/SignalStore.d.ts +3 -2
  125. package/a2ui/dist/store/SignalStore.js +9 -0
  126. package/a2ui/dist/store/SignalStore.js.map +1 -1
  127. package/a2ui/dist/store/resolveDynamic.d.ts +4 -3
  128. package/a2ui/dist/store/resolveDynamic.js +19 -0
  129. package/a2ui/dist/store/resolveDynamic.js.map +1 -1
  130. package/a2ui/dist/store/resolveFunctionCall.d.ts +7 -0
  131. package/a2ui/dist/store/resolveFunctionCall.js +4 -0
  132. package/a2ui/dist/store/resolveFunctionCall.js.map +1 -1
  133. package/a2ui/dist/store/types.d.ts +13 -0
  134. package/a2ui/dist/store/utils.d.ts +6 -4
  135. package/a2ui/dist/store/utils.js +26 -0
  136. package/a2ui/dist/store/utils.js.map +1 -1
  137. package/a2ui/dist/tsconfig.build.tsbuildinfo +1 -1
  138. package/a2ui/docs/catalog-guide.md +407 -0
  139. package/a2ui/docs/catalog-guide_zh.md +379 -0
  140. package/a2ui/docs/overview.md +312 -0
  141. package/a2ui/docs/overview_zh.md +289 -0
  142. package/a2ui/docs/system-prompts.md +187 -0
  143. package/a2ui/docs/system-prompts_zh.md +187 -0
  144. package/a2ui/src/catalog/README.md +12 -0
  145. package/a2ui/src/catalog/index.ts +52 -0
  146. package/a2ui/src/catalog/readme_zh.md +11 -0
  147. package/a2ui/src/index.ts +116 -0
  148. package/a2ui/styles/catalog/Button.css +5 -5
  149. package/a2ui/styles/catalog/DateTimeInput.css +22 -30
  150. package/a2ui/styles/catalog/Loading.css +61 -0
  151. package/a2ui-catalog-extractor/README.md +14 -7
  152. package/a2ui-catalog-extractor/dist/cli.d.ts +1 -0
  153. package/a2ui-catalog-extractor/dist/cli.js +15 -6
  154. package/a2ui-catalog-extractor/dist/cli.js.map +1 -1
  155. package/a2ui-catalog-extractor/dist/index.d.ts +97 -2
  156. package/a2ui-catalog-extractor/dist/index.js +91 -6
  157. package/a2ui-catalog-extractor/dist/index.js.map +1 -1
  158. package/a2ui-catalog-extractor/dist/tsconfig.build.tsbuildinfo +1 -1
  159. package/a2ui-catalog-extractor/skills/a2ui-catalog-extractor/SKILL.md +1 -1
  160. package/a2ui-prompt/README.md +3 -2
  161. package/a2ui-prompt/dist/index.d.ts +41 -0
  162. package/a2ui-prompt/dist/index.js +159 -84
  163. package/cli/README.md +26 -0
  164. package/cli/bin/cli.js +7 -265
  165. package/cli/dist/a2ui/create.d.ts +5 -0
  166. package/cli/dist/a2ui/create.js +178 -0
  167. package/cli/dist/a2ui/create.js.map +1 -0
  168. package/cli/dist/a2ui/index.d.ts +5 -0
  169. package/cli/dist/a2ui/index.js +170 -0
  170. package/cli/dist/a2ui/index.js.map +1 -0
  171. package/cli/dist/cli.d.ts +4 -0
  172. package/cli/dist/cli.js +40 -0
  173. package/cli/dist/cli.js.map +1 -0
  174. package/cli/dist/openui.d.ts +1 -0
  175. package/cli/dist/openui.js +21 -0
  176. package/cli/dist/openui.js.map +1 -0
  177. package/cli/dist/tsconfig.build.tsbuildinfo +1 -0
  178. package/cli/dist/utils.d.ts +2 -0
  179. package/cli/dist/utils.js +17 -0
  180. package/cli/dist/utils.js.map +1 -0
  181. package/cli/templates/default/lynx.config.ts +13 -0
  182. package/cli/templates/default/package.json +27 -0
  183. package/cli/templates/default/src/App.css +88 -0
  184. package/cli/templates/default/src/App.tsx +100 -0
  185. package/cli/templates/default/src/index.tsx +10 -0
  186. package/cli/templates/default/src/messages.ts +158 -0
  187. package/cli/templates/default/src/rspeedy-env.d.ts +14 -0
  188. package/cli/templates/default/src/tsconfig.json +17 -0
  189. package/cli/templates/default/tsconfig.json +15 -0
  190. package/cli/templates/default/tsconfig.node.json +16 -0
  191. package/dist/index.d.ts +2 -0
  192. package/dist/index.js +1 -0
  193. package/dist/index.js.map +1 -1
  194. package/dist/tsconfig.build.tsbuildinfo +1 -1
  195. package/index.ts +12 -0
  196. package/openui/README.md +50 -46
  197. package/openui/dist/catalog/Action/{index.js → index.jsx} +1 -1
  198. package/openui/dist/catalog/Action/index.jsx.map +1 -0
  199. package/openui/dist/catalog/Button/index.d.ts +8 -8
  200. package/openui/dist/catalog/Button/{index.js → index.jsx} +28 -14
  201. package/openui/dist/catalog/Button/index.jsx.map +1 -0
  202. package/openui/dist/catalog/Card/index.d.ts +1 -1
  203. package/openui/dist/catalog/Card/{index.js → index.jsx} +5 -4
  204. package/openui/dist/catalog/Card/{index.js.map → index.jsx.map} +1 -1
  205. package/openui/dist/catalog/CardHeader/index.d.ts +1 -1
  206. package/openui/dist/catalog/CardHeader/index.jsx +20 -0
  207. package/openui/dist/catalog/CardHeader/index.jsx.map +1 -0
  208. package/openui/dist/catalog/CheckBox/index.d.ts +16 -0
  209. package/openui/dist/catalog/CheckBox/index.jsx +82 -0
  210. package/openui/dist/catalog/CheckBox/index.jsx.map +1 -0
  211. package/openui/dist/catalog/Icon/index.d.ts +44 -0
  212. package/openui/dist/catalog/Icon/index.jsx +66 -0
  213. package/openui/dist/catalog/Icon/index.jsx.map +1 -0
  214. package/openui/dist/catalog/Image/index.d.ts +19 -0
  215. package/openui/dist/catalog/Image/index.jsx +40 -0
  216. package/openui/dist/catalog/Image/index.jsx.map +1 -0
  217. package/openui/dist/catalog/Loading/index.d.ts +7 -0
  218. package/openui/dist/catalog/Loading/index.jsx +25 -0
  219. package/openui/dist/catalog/Loading/index.jsx.map +1 -0
  220. package/openui/dist/catalog/RadioGroup/index.d.ts +21 -0
  221. package/openui/dist/catalog/RadioGroup/index.jsx +99 -0
  222. package/openui/dist/catalog/RadioGroup/index.jsx.map +1 -0
  223. package/openui/dist/catalog/Separator/index.d.ts +1 -1
  224. package/openui/dist/catalog/Separator/{index.js → index.jsx} +3 -4
  225. package/openui/dist/catalog/Separator/index.jsx.map +1 -0
  226. package/openui/dist/catalog/Slider/index.d.ts +19 -0
  227. package/openui/dist/catalog/Slider/index.jsx +139 -0
  228. package/openui/dist/catalog/Slider/index.jsx.map +1 -0
  229. package/openui/dist/catalog/Stack/index.d.ts +1 -1
  230. package/openui/dist/catalog/Stack/{index.js → index.jsx} +3 -4
  231. package/openui/dist/catalog/Stack/{index.js.map → index.jsx.map} +1 -1
  232. package/openui/dist/catalog/Tag/index.d.ts +1 -1
  233. package/openui/dist/catalog/Tag/{index.js → index.jsx} +5 -4
  234. package/openui/dist/catalog/Tag/index.jsx.map +1 -0
  235. package/openui/dist/catalog/TextContent/index.d.ts +1 -1
  236. package/openui/dist/catalog/TextContent/{index.js → index.jsx} +5 -4
  237. package/openui/dist/catalog/TextContent/{index.js.map → index.jsx.map} +1 -1
  238. package/openui/dist/catalog/TextField/index.d.ts +23 -0
  239. package/openui/dist/catalog/TextField/index.jsx +132 -0
  240. package/openui/dist/catalog/TextField/index.jsx.map +1 -0
  241. package/openui/dist/catalog/index.d.ts +14 -7
  242. package/openui/dist/catalog/index.js +14 -7
  243. package/openui/dist/catalog/index.js.map +1 -1
  244. package/openui/dist/core/context.d.ts +22 -8
  245. package/openui/dist/core/{context.js → context.jsx} +10 -3
  246. package/openui/dist/core/context.jsx.map +1 -0
  247. package/openui/dist/core/createLibrary.d.ts +8 -1
  248. package/openui/dist/core/{createLibrary.js → createLibrary.jsx} +18 -3
  249. package/openui/dist/core/createLibrary.jsx.map +1 -0
  250. package/openui/dist/core/hooks/index.d.ts +1 -0
  251. package/openui/dist/core/hooks/index.js +1 -0
  252. package/openui/dist/core/hooks/index.js.map +1 -1
  253. package/openui/dist/core/hooks/useFormValidation.d.ts +9 -0
  254. package/openui/dist/core/hooks/useFormValidation.js +6 -0
  255. package/openui/dist/core/hooks/useFormValidation.js.map +1 -1
  256. package/openui/dist/core/hooks/useOpenUIState.d.ts +8 -2
  257. package/openui/dist/core/hooks/useOpenUIState.js +3 -1
  258. package/openui/dist/core/hooks/useOpenUIState.js.map +1 -1
  259. package/openui/dist/core/hooks/useStateField.d.ts +3 -0
  260. package/openui/dist/core/hooks/useStateField.js +4 -1
  261. package/openui/dist/core/hooks/useStateField.js.map +1 -1
  262. package/openui/dist/core/index.d.ts +13 -7
  263. package/openui/dist/core/index.js +7 -4
  264. package/openui/dist/core/index.js.map +1 -1
  265. package/openui/dist/core/library.d.ts +6 -1
  266. package/openui/dist/core/{library.js → library.jsx} +9 -1
  267. package/openui/dist/core/library.jsx.map +1 -0
  268. package/openui/dist/core/renderer.css +527 -0
  269. package/openui/dist/core/renderer.d.ts +41 -4
  270. package/openui/dist/core/renderer.jsx +284 -0
  271. package/openui/dist/core/renderer.jsx.map +1 -0
  272. package/openui/dist/core/runtime/index.d.ts +1 -0
  273. package/openui/dist/core/runtime/index.js +5 -0
  274. package/openui/dist/core/runtime/index.js.map +1 -0
  275. package/openui/dist/core/runtime/reactive.d.ts +7 -0
  276. package/openui/dist/core/runtime/reactive.js +10 -0
  277. package/openui/dist/core/runtime/reactive.js.map +1 -0
  278. package/openui/dist/openui-prompt/index.d.ts +47 -0
  279. package/openui/dist/openui-prompt/index.js +321 -0
  280. package/openui/dist/openui-prompt/index.js.map +1 -0
  281. package/package.json +20 -8
  282. package/openui/dist/catalog/Action/index.js.map +0 -1
  283. package/openui/dist/catalog/Button/index.js.map +0 -1
  284. package/openui/dist/catalog/CardHeader/index.js +0 -18
  285. package/openui/dist/catalog/CardHeader/index.js.map +0 -1
  286. package/openui/dist/catalog/Separator/index.js.map +0 -1
  287. package/openui/dist/catalog/Tag/index.js.map +0 -1
  288. package/openui/dist/core/context.js.map +0 -1
  289. package/openui/dist/core/createLibrary.js.map +0 -1
  290. package/openui/dist/core/library.js.map +0 -1
  291. package/openui/dist/core/renderer.js +0 -139
  292. package/openui/dist/core/renderer.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const Image: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
+ url: z.ZodString;
4
+ fit: z.ZodOptional<z.ZodEnum<{
5
+ fill: "fill";
6
+ none: "none";
7
+ contain: "contain";
8
+ cover: "cover";
9
+ "scale-down": "scale-down";
10
+ }>>;
11
+ variant: z.ZodOptional<z.ZodEnum<{
12
+ icon: "icon";
13
+ avatar: "avatar";
14
+ smallFeature: "smallFeature";
15
+ mediumFeature: "mediumFeature";
16
+ largeFeature: "largeFeature";
17
+ header: "header";
18
+ }>>;
19
+ }, z.core.$strip>>;
@@ -0,0 +1,40 @@
1
+ // Copyright 2026 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ import { z } from 'zod/v4';
5
+ import { defineComponent } from '../../core/library.jsx';
6
+ export const Image = defineComponent({
7
+ name: 'Image',
8
+ props: z.object({
9
+ url: z.string(),
10
+ fit: z.enum(['contain', 'cover', 'fill', 'none', 'scale-down']).optional(),
11
+ variant: z.enum([
12
+ 'icon',
13
+ 'avatar',
14
+ 'smallFeature',
15
+ 'mediumFeature',
16
+ 'largeFeature',
17
+ 'header',
18
+ ]).optional(),
19
+ }),
20
+ description: 'Image with optional fit and variant sizing.',
21
+ component: ({ props }) => {
22
+ const fit = props.fit ?? 'cover';
23
+ const variant = props.variant ?? 'mediumFeature';
24
+ const mode = (() => {
25
+ switch (fit) {
26
+ case 'contain':
27
+ case 'scale-down':
28
+ return 'aspectFit';
29
+ case 'fill':
30
+ return 'scaleToFill';
31
+ case 'none':
32
+ return 'center';
33
+ default:
34
+ return 'aspectFill';
35
+ }
36
+ })();
37
+ return (<image auto-size src={props.url ?? ''} mode={mode} className={`OpenUIImage OpenUIImageVariant${variant.charAt(0).toUpperCase() + variant.slice(1)}`}/>);
38
+ },
39
+ });
40
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Image/index.tsx"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1E,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;YACd,MAAM;YACN,QAAQ;YACR,cAAc;YACd,eAAe;YACf,cAAc;YACd,QAAQ;SACT,CAAC,CAAC,QAAQ,EAAE;KACd,CAAC;IACF,WAAW,EAAE,6CAA6C;IAC1D,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;QAEjD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;YACjB,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,SAAS,CAAC;gBACf,KAAK,YAAY;oBACf,OAAO,WAAW,CAAC;gBACrB,KAAK,MAAM;oBACT,OAAO,aAAa,CAAC;gBACvB,KAAK,MAAM;oBACT,OAAO,QAAQ,CAAC;gBAClB;oBACE,OAAO,YAAY,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CACL,CAAC,KAAK,CACJ,SAAS,CACT,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CACrB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,SAAS,CAAC,CAAC,iCACT,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CACnD,EAAE,CAAC,EACH,CACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const Loading: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
+ variant: z.ZodOptional<z.ZodEnum<{
4
+ inline: "inline";
5
+ block: "block";
6
+ }>>;
7
+ }, z.core.$strip>>;
@@ -0,0 +1,25 @@
1
+ // Copyright 2026 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ import { z } from 'zod/v4';
5
+ import { defineComponent } from '../../core/library.jsx';
6
+ export const Loading = defineComponent({
7
+ name: 'Loading',
8
+ props: z.object({
9
+ variant: z.enum(['inline', 'block']).optional(),
10
+ }),
11
+ description: 'Skeleton placeholder while content loads.',
12
+ component: ({ props }) => {
13
+ const variant = props.variant ?? 'inline';
14
+ const variantClass = variant === 'block'
15
+ ? 'OpenUILoadingBlock'
16
+ : 'OpenUILoadingInline';
17
+ return (<view className={`OpenUILoading ${variantClass}`}>
18
+ <view className='OpenUILoadingSkeleton OpenUILoadingSkeletonPrimary'/>
19
+ {variant === 'block'
20
+ ? (<view className='OpenUILoadingSkeleton OpenUILoadingSkeletonSecondary'/>)
21
+ : null}
22
+ </view>);
23
+ },
24
+ });
25
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Loading/index.tsx"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;IACrC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC;IACF,WAAW,EAAE,2CAA2C;IACxD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC;QAC1C,MAAM,YAAY,GAAG,OAAO,KAAK,OAAO;YACtC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,qBAAqB,CAAC;QAC1B,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iBAAiB,YAAY,EAAE,CAAC,CAC/C;QAAA,CAAC,IAAI,CAAC,SAAS,CAAC,oDAAoD,EACpE;QAAA,CAAC,OAAO,KAAK,OAAO;gBAClB,CAAC,CAAC,CACA,CAAC,IAAI,CAAC,SAAS,CAAC,sDAAsD,EAAG,CAC1E;gBACD,CAAC,CAAC,IAAI,CACV;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const RadioGroup: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
+ items: z.ZodArray<z.ZodString>;
4
+ value: z.ZodOptional<z.ZodString>;
5
+ usageHint: z.ZodOptional<z.ZodEnum<{
6
+ default: "default";
7
+ card: "card";
8
+ row: "row";
9
+ }>>;
10
+ action: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
11
+ steps: z.ZodArray<z.ZodObject<{
12
+ type: z.ZodString;
13
+ }, z.core.$loose>>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ type: z.ZodOptional<z.ZodString>;
16
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
17
+ url: z.ZodOptional<z.ZodString>;
18
+ context: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>]>>;
20
+ name: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>>;
@@ -0,0 +1,99 @@
1
+ import { BuiltinActionType } from '@openuidev/lang-core';
2
+ import { z } from 'zod/v4';
3
+ import { Radio, RadioGroupRoot, RadioIndicator } from '@lynx-js/lynx-ui';
4
+ import { useEffect, useRef, useState } from '@lynx-js/react';
5
+ import { useFormName, useGetFieldValue, useSetDefaultValue, useSetFieldValue, useTriggerAction, } from '../../core/context.jsx';
6
+ import { defineComponent } from '../../core/library.jsx';
7
+ import { actionPropSchema } from '../Action/index.jsx';
8
+ const CONTINUE_CONVERSATION_ACTION = String(BuiltinActionType.ContinueConversation);
9
+ const OPEN_URL_ACTION = String(BuiltinActionType.OpenUrl);
10
+ const HitSlop = {
11
+ 'hit-slop': {
12
+ top: '8px',
13
+ left: '8px',
14
+ right: '8px',
15
+ bottom: '8px',
16
+ },
17
+ };
18
+ const radioGroupPropsSchema = z.object({
19
+ items: z.array(z.string()),
20
+ value: z.string().optional(),
21
+ usageHint: z.enum(['default', 'card', 'row']).optional(),
22
+ action: actionPropSchema.optional(),
23
+ name: z.string().optional(),
24
+ });
25
+ function RadioGroupRenderer({ props }) {
26
+ const triggerAction = useTriggerAction();
27
+ const formName = useFormName();
28
+ const getFieldValue = useGetFieldValue();
29
+ const setFieldValue = useSetFieldValue();
30
+ const usageHint = props.usageHint ?? 'default';
31
+ const [selected, setSelected] = useState(props.value ?? '');
32
+ const dirtyRef = useRef(false);
33
+ const existingValue = props.name
34
+ ? getFieldValue(formName, props.name)
35
+ : undefined;
36
+ useSetDefaultValue({
37
+ ...(formName ? { formName } : {}),
38
+ componentType: 'RadioGroup',
39
+ name: props.name ?? '',
40
+ existingValue,
41
+ defaultValue: props.name ? props.value : undefined,
42
+ });
43
+ useEffect(() => {
44
+ if (!dirtyRef.current) {
45
+ const next = props.value ?? '';
46
+ setSelected(next);
47
+ if (props.name && props.value !== undefined) {
48
+ setFieldValue(formName, 'RadioGroup', props.name, next, false);
49
+ }
50
+ }
51
+ }, [formName, props.name, props.value, setFieldValue]);
52
+ const onValueChange = (next) => {
53
+ dirtyRef.current = true;
54
+ setSelected(next);
55
+ if (props.name) {
56
+ setFieldValue(formName, 'RadioGroup', props.name, next, true);
57
+ }
58
+ if (!props.action)
59
+ return;
60
+ if ('steps' in props.action) {
61
+ void triggerAction(next, formName, props.action);
62
+ return;
63
+ }
64
+ const legacyAction = props.action;
65
+ const actionType = legacyAction?.type ?? CONTINUE_CONVERSATION_ACTION;
66
+ const actionParams = actionType === OPEN_URL_ACTION
67
+ ? { url: legacyAction?.url }
68
+ : {
69
+ ...(legacyAction?.params ?? {}),
70
+ ...(legacyAction?.context ? { context: legacyAction.context } : {}),
71
+ };
72
+ void triggerAction(next, formName, {
73
+ type: actionType,
74
+ params: actionParams,
75
+ });
76
+ };
77
+ const rootClassName = `OpenUIRadioGroup OpenUIRadioGroup-${usageHint}`;
78
+ return (<view className={rootClassName}>
79
+ <RadioGroupRoot value={selected} onValueChange={onValueChange}>
80
+ <view className='OpenUIRadioGroupContainer'>
81
+ {props.items.map((item) => (<view key={item} className='OpenUIRadioOption'>
82
+ <Radio className='OpenUIRadioItem' value={item} radioProps={HitSlop}>
83
+ <RadioIndicator className='OpenUIRadioIndicator'>
84
+ <view className='OpenUIRadioIndicatorDot'/>
85
+ </RadioIndicator>
86
+ </Radio>
87
+ <text className='OpenUIRadioLabel'>{item}</text>
88
+ </view>))}
89
+ </view>
90
+ </RadioGroupRoot>
91
+ </view>);
92
+ }
93
+ export const RadioGroup = defineComponent({
94
+ name: 'RadioGroup',
95
+ props: radioGroupPropsSchema,
96
+ description: 'Single-choice radio group. Visual state updates locally on tap; the action fires for the LLM to persist the change.',
97
+ component: RadioGroupRenderer,
98
+ });
99
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/RadioGroup/index.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { z } from 'zod/v4';
2
- export declare const Separator: import("../../core/library.js").DefinedComponent<z.ZodObject<{}, z.core.$strip>>;
2
+ export declare const Separator: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{}, z.core.$strip>>;
@@ -1,13 +1,12 @@
1
- import { jsx as _jsx } from "@lynx-js/react/jsx-runtime";
2
1
  // Copyright 2026 The Lynx Authors. All rights reserved.
3
2
  // Licensed under the Apache License Version 2.0 that can be found in the
4
3
  // LICENSE file in the root directory of this source tree.
5
4
  import { z } from 'zod/v4';
6
- import { defineComponent } from '../../core/library.js';
5
+ import { defineComponent } from '../../core/library.jsx';
7
6
  export const Separator = defineComponent({
8
7
  name: 'Separator',
9
8
  props: z.object({}),
10
9
  description: 'Separator',
11
- component: () => _jsx("view", { className: 'OpenUISeparator' }),
10
+ component: () => <view className='OpenUISeparator'/>,
12
11
  });
13
- //# sourceMappingURL=index.js.map
12
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Separator/index.tsx"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,WAAW,EAAE,WAAW;IACxB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAG;CACtD,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const Slider: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
+ label: z.ZodOptional<z.ZodString>;
4
+ min: z.ZodOptional<z.ZodNumber>;
5
+ max: z.ZodOptional<z.ZodNumber>;
6
+ value: z.ZodOptional<z.ZodNumber>;
7
+ step: z.ZodOptional<z.ZodNumber>;
8
+ action: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
9
+ steps: z.ZodArray<z.ZodObject<{
10
+ type: z.ZodString;
11
+ }, z.core.$loose>>;
12
+ }, z.core.$strip>, z.ZodObject<{
13
+ type: z.ZodOptional<z.ZodString>;
14
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
15
+ url: z.ZodOptional<z.ZodString>;
16
+ context: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>]>>;
18
+ name: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>>;
@@ -0,0 +1,139 @@
1
+ import { BuiltinActionType } from '@openuidev/lang-core';
2
+ import { z } from 'zod/v4';
3
+ import { SliderIndicator, SliderRoot, SliderThumb, SliderTrack, } from '@lynx-js/lynx-ui';
4
+ import { useEffect, useRef, useState } from '@lynx-js/react';
5
+ import { useFormName, useGetFieldValue, useSetDefaultValue, useSetFieldValue, useTriggerAction, } from '../../core/context.jsx';
6
+ import { defineComponent } from '../../core/library.jsx';
7
+ import { actionPropSchema } from '../Action/index.jsx';
8
+ const CONTINUE_CONVERSATION_ACTION = String(BuiltinActionType.ContinueConversation);
9
+ const OPEN_URL_ACTION = String(BuiltinActionType.OpenUrl);
10
+ const DEFAULT_MIN = 0;
11
+ const DEFAULT_MAX = 100;
12
+ const sliderPropsSchema = z.object({
13
+ label: z.string().optional(),
14
+ min: z.number().optional(),
15
+ max: z.number().optional(),
16
+ value: z.number().optional(),
17
+ step: z.number().optional(),
18
+ action: actionPropSchema.optional(),
19
+ name: z.string().optional(),
20
+ });
21
+ function toFiniteNumber(value, fallback) {
22
+ if (typeof value === 'number')
23
+ return value;
24
+ if (typeof value === 'string') {
25
+ const parsed = Number(value);
26
+ return Number.isFinite(parsed) ? parsed : fallback;
27
+ }
28
+ return fallback;
29
+ }
30
+ function clamp(value, min, max) {
31
+ return Math.min(Math.max(value, min), max);
32
+ }
33
+ function toRatio(value, min, max) {
34
+ if (max <= min)
35
+ return 0;
36
+ return (clamp(value, min, max) - min) / (max - min);
37
+ }
38
+ function fromRatio(ratio, min, max, step) {
39
+ const range = max - min;
40
+ if (range <= 0)
41
+ return min;
42
+ const raw = clamp(min + ratio * range, min, max);
43
+ if (!step || step <= 0)
44
+ return raw;
45
+ return clamp(Number((min + Math.round((raw - min) / step) * step).toFixed(12)), min, max);
46
+ }
47
+ function SliderRenderer({ props }) {
48
+ const triggerAction = useTriggerAction();
49
+ const formName = useFormName();
50
+ const getFieldValue = useGetFieldValue();
51
+ const setFieldValue = useSetFieldValue();
52
+ const min = toFiniteNumber(props.min, DEFAULT_MIN);
53
+ const max = toFiniteNumber(props.max, DEFAULT_MAX);
54
+ const step = props.step && props.step > 0 ? props.step : undefined;
55
+ const range = max > min
56
+ ? { min, max }
57
+ : { min: DEFAULT_MIN, max: DEFAULT_MAX };
58
+ const initial = toFiniteNumber(props.value, range.min);
59
+ const [value, setValue] = useState(initial);
60
+ const dirtyRef = useRef(false);
61
+ const existingValue = props.name
62
+ ? getFieldValue(formName, props.name)
63
+ : undefined;
64
+ useSetDefaultValue({
65
+ ...(formName ? { formName } : {}),
66
+ componentType: 'Slider',
67
+ name: props.name ?? '',
68
+ existingValue,
69
+ defaultValue: props.name && props.value !== undefined
70
+ ? initial
71
+ : undefined,
72
+ });
73
+ useEffect(() => {
74
+ if (!dirtyRef.current) {
75
+ const next = toFiniteNumber(props.value, range.min);
76
+ setValue(next);
77
+ if (props.name && props.value !== undefined) {
78
+ setFieldValue(formName, 'Slider', props.name, next, false);
79
+ }
80
+ }
81
+ }, [formName, props.name, props.value, range.min, setFieldValue]);
82
+ const onValueChange = (nextRatio) => {
83
+ const next = fromRatio(nextRatio, range.min, range.max, step);
84
+ dirtyRef.current = true;
85
+ setValue(next);
86
+ if (props.name) {
87
+ setFieldValue(formName, 'Slider', props.name, next, true);
88
+ }
89
+ if (!props.action)
90
+ return;
91
+ if ('steps' in props.action) {
92
+ void triggerAction(String(next), formName, props.action);
93
+ return;
94
+ }
95
+ const legacyAction = props.action;
96
+ const actionType = legacyAction?.type ?? CONTINUE_CONVERSATION_ACTION;
97
+ const actionParams = actionType === OPEN_URL_ACTION
98
+ ? { url: legacyAction?.url }
99
+ : {
100
+ ...(legacyAction?.params ?? {}),
101
+ ...(legacyAction?.context ? { context: legacyAction.context } : {}),
102
+ };
103
+ void triggerAction(String(next), formName, {
104
+ type: actionType,
105
+ params: actionParams,
106
+ });
107
+ };
108
+ const stepProps = step
109
+ ? { step: step / (range.max - range.min) }
110
+ : {};
111
+ const ratio = toRatio(value, range.min, range.max);
112
+ return (<view className='OpenUISlider'>
113
+ {props.label
114
+ ? (<view className='OpenUISliderHeader'>
115
+ <text className='OpenUISliderLabel'>{props.label}</text>
116
+ <text className='OpenUISliderValue'>
117
+ {String(Math.round(value))}
118
+ </text>
119
+ </view>)
120
+ : null}
121
+ <view className='OpenUISliderControl'>
122
+ <SliderRoot {...stepProps} className='OpenUISliderRoot' value={ratio} onValueChange={onValueChange}>
123
+ <SliderTrack className='OpenUISliderTrack'>
124
+ <SliderIndicator className='OpenUISliderIndicator'/>
125
+ <SliderThumb className='OpenUISliderThumb'>
126
+ <view className='OpenUISliderThumbDot'/>
127
+ </SliderThumb>
128
+ </SliderTrack>
129
+ </SliderRoot>
130
+ </view>
131
+ </view>);
132
+ }
133
+ export const Slider = defineComponent({
134
+ name: 'Slider',
135
+ props: sliderPropsSchema,
136
+ description: 'Continuous-value slider. Visual state updates locally during drag; the action fires for the LLM to persist the change.',
137
+ component: SliderRenderer,
138
+ });
139
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Slider/index.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod/v4';
2
- export declare const Stack: import("../../core/library.js").DefinedComponent<z.ZodObject<{
2
+ export declare const Stack: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
3
  children: z.ZodArray<z.ZodAny>;
4
4
  direction: z.ZodOptional<z.ZodEnum<{
5
5
  row: "row";
@@ -1,9 +1,8 @@
1
- import { jsx as _jsx } from "@lynx-js/react/jsx-runtime";
2
1
  // Copyright 2026 The Lynx Authors. All rights reserved.
3
2
  // Licensed under the Apache License Version 2.0 that can be found in the
4
3
  // LICENSE file in the root directory of this source tree.
5
4
  import { z } from 'zod/v4';
6
- import { defineComponent } from '../../core/library.js';
5
+ import { defineComponent } from '../../core/library.jsx';
7
6
  import { GAP_CLASS, asArray } from '../utils.js';
8
7
  function getAlignClass(align) {
9
8
  switch (align) {
@@ -55,7 +54,7 @@ export const Stack = defineComponent({
55
54
  ]
56
55
  .filter(Boolean)
57
56
  .join(' ');
58
- return (_jsx("view", { className: className, children: renderNode(asArray(props.children)) }));
57
+ return (<view className={className}>{renderNode(asArray(props.children))}</view>);
59
58
  },
60
59
  });
61
- //# sourceMappingURL=index.js.map
60
+ //# sourceMappingURL=index.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/catalog/Stack/index.tsx"],"names":[],"mappings":";AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjD,SAAS,aAAa,CAAC,KAA6C;IAClE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,OAA+C;IAE/C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,kBAAkB,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,sBAAsB,CAAC;QAChC;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC3D,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClE,CAAC;IACF,WAAW,EAAE,uBAAuB;IACpC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;QAEzC,MAAM,SAAS,GAAG;YAChB,aAAa;YACb,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;YAC5D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACnC,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC;SACzB;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,OAAO,CACL,eAAM,SAAS,EAAE,SAAS,YAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAQ,CACzE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Stack/index.tsx"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjD,SAAS,aAAa,CAAC,KAA6C;IAClE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,OAA+C;IAE/C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,kBAAkB,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,sBAAsB,CAAC;QAChC;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC3D,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClE,CAAC;IACF,WAAW,EAAE,uBAAuB;IACpC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;QAEzC,MAAM,SAAS,GAAG;YAChB,aAAa;YACb,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;YAC5D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACnC,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC;SACzB;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CACzE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { z } from 'zod/v4';
2
- export declare const Tag: import("../../core/library.js").DefinedComponent<z.ZodObject<{
2
+ export declare const Tag: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
3
  text: z.ZodString;
4
4
  }, z.core.$strip>>;
@@ -1,15 +1,16 @@
1
- import { jsx as _jsx } from "@lynx-js/react/jsx-runtime";
2
1
  // Copyright 2026 The Lynx Authors. All rights reserved.
3
2
  // Licensed under the Apache License Version 2.0 that can be found in the
4
3
  // LICENSE file in the root directory of this source tree.
5
4
  import { z } from 'zod/v4';
6
- import { defineComponent } from '../../core/library.js';
5
+ import { defineComponent } from '../../core/library.jsx';
7
6
  export const Tag = defineComponent({
8
7
  name: 'Tag',
9
8
  props: z.object({
10
9
  text: z.string(),
11
10
  }),
12
11
  description: 'Tag',
13
- component: ({ props }) => (_jsx("view", { className: 'OpenUITag', children: _jsx("text", { className: 'OpenUITagText', children: props.text }) })),
12
+ component: ({ props }) => (<view className='OpenUITag'>
13
+ <text className='OpenUITagText'>{props.text}</text>
14
+ </view>),
14
15
  });
15
- //# sourceMappingURL=index.js.map
16
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Tag/index.tsx"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,GAAG,GAAG,eAAe,CAAC;IACjC,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;IACF,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CACzB;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CACpD;IAAA,EAAE,IAAI,CAAC,CACR;CACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod/v4';
2
- export declare const TextContent: import("../../core/library.js").DefinedComponent<z.ZodObject<{
2
+ export declare const TextContent: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
3
  text: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
4
4
  size: z.ZodOptional<z.ZodEnum<{
5
5
  default: "default";
@@ -1,9 +1,8 @@
1
- import { jsx as _jsx } from "@lynx-js/react/jsx-runtime";
2
1
  // Copyright 2026 The Lynx Authors. All rights reserved.
3
2
  // Licensed under the Apache License Version 2.0 that can be found in the
4
3
  // LICENSE file in the root directory of this source tree.
5
4
  import { z } from 'zod/v4';
6
- import { defineComponent } from '../../core/library.js';
5
+ import { defineComponent } from '../../core/library.jsx';
7
6
  export const TextContent = defineComponent({
8
7
  name: 'TextContent',
9
8
  props: z.object({
@@ -27,7 +26,9 @@ export const TextContent = defineComponent({
27
26
  else if (size === 'large-heavy') {
28
27
  sizeClass = 'OpenUITextContentLargeHeavy';
29
28
  }
30
- return (_jsx("text", { className: `OpenUITextContent ${sizeClass}`, children: String(props.text ?? '') }));
29
+ return (<text className={`OpenUITextContent ${sizeClass}`}>
30
+ {String(props.text ?? '')}
31
+ </text>);
31
32
  },
32
33
  });
33
- //# sourceMappingURL=index.js.map
34
+ //# sourceMappingURL=index.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/catalog/TextContent/index.tsx"],"names":[],"mappings":";AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;aACtE,QAAQ,EAAE;KACd,CAAC;IACF,WAAW,EAAE,kCAAkC;IAC/C,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;QACrC,IAAI,SAAS,GAAG,0BAA0B,CAAC;QAC3C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,SAAS,GAAG,wBAAwB,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,SAAS,GAAG,wBAAwB,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,SAAS,GAAG,6BAA6B,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,SAAS,GAAG,6BAA6B,CAAC;QAC5C,CAAC;QAED,OAAO,CACL,eAAM,SAAS,EAAE,qBAAqB,SAAS,EAAE,YAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,GACpB,CACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/TextContent/index.tsx"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;aACtE,QAAQ,EAAE;KACd,CAAC;IACF,WAAW,EAAE,kCAAkC;IAC/C,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;QACrC,IAAI,SAAS,GAAG,0BAA0B,CAAC;QAC3C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,SAAS,GAAG,wBAAwB,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,SAAS,GAAG,wBAAwB,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,SAAS,GAAG,6BAA6B,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,SAAS,GAAG,6BAA6B,CAAC;QAC5C,CAAC;QAED,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAChD;QAAA,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAC3B;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const TextField: import("../../core/library.jsx").DefinedComponent<z.ZodObject<{
3
+ label: z.ZodString;
4
+ value: z.ZodOptional<z.ZodString>;
5
+ variant: z.ZodOptional<z.ZodEnum<{
6
+ number: "number";
7
+ longText: "longText";
8
+ shortText: "shortText";
9
+ obscured: "obscured";
10
+ }>>;
11
+ validationRegexp: z.ZodOptional<z.ZodString>;
12
+ action: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
13
+ steps: z.ZodArray<z.ZodObject<{
14
+ type: z.ZodString;
15
+ }, z.core.$loose>>;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ type: z.ZodOptional<z.ZodString>;
18
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
19
+ url: z.ZodOptional<z.ZodString>;
20
+ context: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>]>>;
22
+ name: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>>;