@lynx-js/genui 0.0.1-rc.0

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 (254) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +170 -0
  3. package/a2ui/README.md +140 -0
  4. package/a2ui/dist/catalog/Button/catalog.json +156 -0
  5. package/a2ui/dist/catalog/Button/index.d.ts +35 -0
  6. package/a2ui/dist/catalog/Button/index.js +35 -0
  7. package/a2ui/dist/catalog/Button/index.js.map +1 -0
  8. package/a2ui/dist/catalog/Card/catalog.json +24 -0
  9. package/a2ui/dist/catalog/Card/index.d.ts +11 -0
  10. package/a2ui/dist/catalog/Card/index.js +19 -0
  11. package/a2ui/dist/catalog/Card/index.js.map +1 -0
  12. package/a2ui/dist/catalog/CheckBox/catalog.json +170 -0
  13. package/a2ui/dist/catalog/CheckBox/index.d.ts +32 -0
  14. package/a2ui/dist/catalog/CheckBox/index.js +24 -0
  15. package/a2ui/dist/catalog/CheckBox/index.js.map +1 -0
  16. package/a2ui/dist/catalog/Column/catalog.json +57 -0
  17. package/a2ui/dist/catalog/Column/index.d.ts +15 -0
  18. package/a2ui/dist/catalog/Column/index.js +55 -0
  19. package/a2ui/dist/catalog/Column/index.js.map +1 -0
  20. package/a2ui/dist/catalog/Divider/catalog.json +14 -0
  21. package/a2ui/dist/catalog/Divider/index.d.ts +9 -0
  22. package/a2ui/dist/catalog/Divider/index.js +8 -0
  23. package/a2ui/dist/catalog/Divider/index.js.map +1 -0
  24. package/a2ui/dist/catalog/Icon/catalog.json +45 -0
  25. package/a2ui/dist/catalog/Icon/index.d.ts +14 -0
  26. package/a2ui/dist/catalog/Icon/index.js +11 -0
  27. package/a2ui/dist/catalog/Icon/index.js.map +1 -0
  28. package/a2ui/dist/catalog/Image/catalog.json +62 -0
  29. package/a2ui/dist/catalog/Image/index.d.ts +16 -0
  30. package/a2ui/dist/catalog/Image/index.js +30 -0
  31. package/a2ui/dist/catalog/Image/index.js.map +1 -0
  32. package/a2ui/dist/catalog/LineChart/catalog.json +98 -0
  33. package/a2ui/dist/catalog/LineChart/index.d.ts +31 -0
  34. package/a2ui/dist/catalog/LineChart/index.js +195 -0
  35. package/a2ui/dist/catalog/LineChart/index.js.map +1 -0
  36. package/a2ui/dist/catalog/List/catalog.json +52 -0
  37. package/a2ui/dist/catalog/List/index.d.ts +15 -0
  38. package/a2ui/dist/catalog/List/index.js +53 -0
  39. package/a2ui/dist/catalog/List/index.js.map +1 -0
  40. package/a2ui/dist/catalog/Modal/catalog.json +18 -0
  41. package/a2ui/dist/catalog/Modal/index.d.ts +12 -0
  42. package/a2ui/dist/catalog/Modal/index.js +33 -0
  43. package/a2ui/dist/catalog/Modal/index.js.map +1 -0
  44. package/a2ui/dist/catalog/PieChart/catalog.json +87 -0
  45. package/a2ui/dist/catalog/PieChart/index.d.ts +37 -0
  46. package/a2ui/dist/catalog/PieChart/index.js +131 -0
  47. package/a2ui/dist/catalog/PieChart/index.js.map +1 -0
  48. package/a2ui/dist/catalog/RadioGroup/catalog.json +184 -0
  49. package/a2ui/dist/catalog/RadioGroup/index.d.ts +36 -0
  50. package/a2ui/dist/catalog/RadioGroup/index.js +36 -0
  51. package/a2ui/dist/catalog/RadioGroup/index.js.map +1 -0
  52. package/a2ui/dist/catalog/Row/catalog.json +57 -0
  53. package/a2ui/dist/catalog/Row/index.d.ts +15 -0
  54. package/a2ui/dist/catalog/Row/index.js +28 -0
  55. package/a2ui/dist/catalog/Row/index.js.map +1 -0
  56. package/a2ui/dist/catalog/Slider/catalog.json +183 -0
  57. package/a2ui/dist/catalog/Slider/index.d.ts +41 -0
  58. package/a2ui/dist/catalog/Slider/index.js +39 -0
  59. package/a2ui/dist/catalog/Slider/index.js.map +1 -0
  60. package/a2ui/dist/catalog/Slider/utils.d.ts +11 -0
  61. package/a2ui/dist/catalog/Slider/utils.js +58 -0
  62. package/a2ui/dist/catalog/Slider/utils.js.map +1 -0
  63. package/a2ui/dist/catalog/Tabs/catalog.json +28 -0
  64. package/a2ui/dist/catalog/Tabs/index.d.ts +12 -0
  65. package/a2ui/dist/catalog/Tabs/index.js +32 -0
  66. package/a2ui/dist/catalog/Tabs/index.js.map +1 -0
  67. package/a2ui/dist/catalog/Text/catalog.json +74 -0
  68. package/a2ui/dist/catalog/Text/index.d.ts +18 -0
  69. package/a2ui/dist/catalog/Text/index.js +27 -0
  70. package/a2ui/dist/catalog/Text/index.js.map +1 -0
  71. package/a2ui/dist/catalog/TextField/catalog.json +147 -0
  72. package/a2ui/dist/catalog/TextField/index.d.ts +35 -0
  73. package/a2ui/dist/catalog/TextField/index.js +43 -0
  74. package/a2ui/dist/catalog/TextField/index.js.map +1 -0
  75. package/a2ui/dist/catalog/TextField/utils.d.ts +7 -0
  76. package/a2ui/dist/catalog/TextField/utils.js +51 -0
  77. package/a2ui/dist/catalog/TextField/utils.js.map +1 -0
  78. package/a2ui/dist/catalog/defineCatalog.d.ts +119 -0
  79. package/a2ui/dist/catalog/defineCatalog.js +196 -0
  80. package/a2ui/dist/catalog/defineCatalog.js.map +1 -0
  81. package/a2ui/dist/catalog/index.d.ts +20 -0
  82. package/a2ui/dist/catalog/index.js +26 -0
  83. package/a2ui/dist/catalog/index.js.map +1 -0
  84. package/a2ui/dist/catalog/utils/chart.d.ts +3 -0
  85. package/a2ui/dist/catalog/utils/chart.js +28 -0
  86. package/a2ui/dist/catalog/utils/chart.js.map +1 -0
  87. package/a2ui/dist/functions/index.d.ts +19 -0
  88. package/a2ui/dist/functions/index.js +87 -0
  89. package/a2ui/dist/functions/index.js.map +1 -0
  90. package/a2ui/dist/index.d.ts +11 -0
  91. package/a2ui/dist/index.js +35 -0
  92. package/a2ui/dist/index.js.map +1 -0
  93. package/a2ui/dist/react/A2UI.d.ts +77 -0
  94. package/a2ui/dist/react/A2UI.js +159 -0
  95. package/a2ui/dist/react/A2UI.js.map +1 -0
  96. package/a2ui/dist/react/A2UIProvider.d.ts +25 -0
  97. package/a2ui/dist/react/A2UIProvider.js +20 -0
  98. package/a2ui/dist/react/A2UIProvider.js.map +1 -0
  99. package/a2ui/dist/react/A2UIRenderer.d.ts +34 -0
  100. package/a2ui/dist/react/A2UIRenderer.js +161 -0
  101. package/a2ui/dist/react/A2UIRenderer.js.map +1 -0
  102. package/a2ui/dist/react/FormContext.d.ts +10 -0
  103. package/a2ui/dist/react/FormContext.js +12 -0
  104. package/a2ui/dist/react/FormContext.js.map +1 -0
  105. package/a2ui/dist/react/index.d.ts +8 -0
  106. package/a2ui/dist/react/index.js +23 -0
  107. package/a2ui/dist/react/index.js.map +1 -0
  108. package/a2ui/dist/react/useA2UIContext.d.ts +7 -0
  109. package/a2ui/dist/react/useA2UIContext.js +19 -0
  110. package/a2ui/dist/react/useA2UIContext.js.map +1 -0
  111. package/a2ui/dist/react/useAction.d.ts +9 -0
  112. package/a2ui/dist/react/useAction.js +38 -0
  113. package/a2ui/dist/react/useAction.js.map +1 -0
  114. package/a2ui/dist/react/useCatalog.d.ts +7 -0
  115. package/a2ui/dist/react/useCatalog.js +13 -0
  116. package/a2ui/dist/react/useCatalog.js.map +1 -0
  117. package/a2ui/dist/react/useChecks.d.ts +27 -0
  118. package/a2ui/dist/react/useChecks.js +76 -0
  119. package/a2ui/dist/react/useChecks.js.map +1 -0
  120. package/a2ui/dist/react/useDataBinding.d.ts +10 -0
  121. package/a2ui/dist/react/useDataBinding.js +175 -0
  122. package/a2ui/dist/react/useDataBinding.js.map +1 -0
  123. package/a2ui/dist/store/FormController.d.ts +23 -0
  124. package/a2ui/dist/store/FormController.js +40 -0
  125. package/a2ui/dist/store/FormController.js.map +1 -0
  126. package/a2ui/dist/store/FunctionRegistry.d.ts +47 -0
  127. package/a2ui/dist/store/FunctionRegistry.js +23 -0
  128. package/a2ui/dist/store/FunctionRegistry.js.map +1 -0
  129. package/a2ui/dist/store/MessageProcessor.d.ts +28 -0
  130. package/a2ui/dist/store/MessageProcessor.js +408 -0
  131. package/a2ui/dist/store/MessageProcessor.js.map +1 -0
  132. package/a2ui/dist/store/MessageStore.d.ts +38 -0
  133. package/a2ui/dist/store/MessageStore.js +37 -0
  134. package/a2ui/dist/store/MessageStore.js.map +1 -0
  135. package/a2ui/dist/store/Resource.d.ts +45 -0
  136. package/a2ui/dist/store/Resource.js +80 -0
  137. package/a2ui/dist/store/Resource.js.map +1 -0
  138. package/a2ui/dist/store/SignalStore.d.ts +10 -0
  139. package/a2ui/dist/store/SignalStore.js +29 -0
  140. package/a2ui/dist/store/SignalStore.js.map +1 -0
  141. package/a2ui/dist/store/index.d.ts +14 -0
  142. package/a2ui/dist/store/index.js +15 -0
  143. package/a2ui/dist/store/index.js.map +1 -0
  144. package/a2ui/dist/store/payloadNormalizer.d.ts +27 -0
  145. package/a2ui/dist/store/payloadNormalizer.js +179 -0
  146. package/a2ui/dist/store/payloadNormalizer.js.map +1 -0
  147. package/a2ui/dist/store/resolveFunctionCall.d.ts +18 -0
  148. package/a2ui/dist/store/resolveFunctionCall.js +131 -0
  149. package/a2ui/dist/store/resolveFunctionCall.js.map +1 -0
  150. package/a2ui/dist/store/types.d.ts +68 -0
  151. package/a2ui/dist/store/types.js +2 -0
  152. package/a2ui/dist/store/types.js.map +1 -0
  153. package/a2ui/dist/tsconfig.build.tsbuildinfo +1 -0
  154. package/a2ui/styles/catalog/Button.css +83 -0
  155. package/a2ui/styles/catalog/Card.css +49 -0
  156. package/a2ui/styles/catalog/CheckBox.css +46 -0
  157. package/a2ui/styles/catalog/Column.css +89 -0
  158. package/a2ui/styles/catalog/Divider.css +20 -0
  159. package/a2ui/styles/catalog/Icon.css +39 -0
  160. package/a2ui/styles/catalog/Image.css +54 -0
  161. package/a2ui/styles/catalog/LineChart.css +116 -0
  162. package/a2ui/styles/catalog/List.css +38 -0
  163. package/a2ui/styles/catalog/Modal.css +60 -0
  164. package/a2ui/styles/catalog/PieChart.css +109 -0
  165. package/a2ui/styles/catalog/RadioGroup.css +123 -0
  166. package/a2ui/styles/catalog/Row.css +83 -0
  167. package/a2ui/styles/catalog/Slider.css +96 -0
  168. package/a2ui/styles/catalog/Tabs.css +46 -0
  169. package/a2ui/styles/catalog/Text.css +121 -0
  170. package/a2ui/styles/catalog/TextField.css +48 -0
  171. package/a2ui/styles/theme.css +62 -0
  172. package/a2ui-catalog-extractor/README.md +605 -0
  173. package/a2ui-catalog-extractor/bin/a2ui-catalog-extractor.js +6 -0
  174. package/a2ui-catalog-extractor/dist/cli.d.ts +12 -0
  175. package/a2ui-catalog-extractor/dist/cli.js +171 -0
  176. package/a2ui-catalog-extractor/dist/cli.js.map +1 -0
  177. package/a2ui-catalog-extractor/dist/index.d.ts +140 -0
  178. package/a2ui-catalog-extractor/dist/index.js +755 -0
  179. package/a2ui-catalog-extractor/dist/index.js.map +1 -0
  180. package/a2ui-catalog-extractor/dist/tsconfig.build.tsbuildinfo +1 -0
  181. package/a2ui-catalog-extractor/skills/a2ui-catalog-extractor/SKILL.md +30 -0
  182. package/a2ui-prompt/README.md +65 -0
  183. package/a2ui-prompt/dist/index.d.ts +91 -0
  184. package/a2ui-prompt/dist/index.js +767 -0
  185. package/cli/README.md +88 -0
  186. package/cli/bin/cli.js +271 -0
  187. package/dist/index.d.ts +10 -0
  188. package/dist/index.js +10 -0
  189. package/dist/index.js.map +1 -0
  190. package/dist/tsconfig.build.tsbuildinfo +1 -0
  191. package/index.ts +114 -0
  192. package/openui/README.md +211 -0
  193. package/openui/dist/catalog/Action/index.d.ts +20 -0
  194. package/openui/dist/catalog/Action/index.js +23 -0
  195. package/openui/dist/catalog/Action/index.js.map +1 -0
  196. package/openui/dist/catalog/Button/index.d.ts +64 -0
  197. package/openui/dist/catalog/Button/index.js +75 -0
  198. package/openui/dist/catalog/Button/index.js.map +1 -0
  199. package/openui/dist/catalog/Card/index.d.ts +34 -0
  200. package/openui/dist/catalog/Card/index.js +69 -0
  201. package/openui/dist/catalog/Card/index.js.map +1 -0
  202. package/openui/dist/catalog/CardHeader/index.d.ts +5 -0
  203. package/openui/dist/catalog/CardHeader/index.js +18 -0
  204. package/openui/dist/catalog/CardHeader/index.js.map +1 -0
  205. package/openui/dist/catalog/Separator/index.d.ts +2 -0
  206. package/openui/dist/catalog/Separator/index.js +13 -0
  207. package/openui/dist/catalog/Separator/index.js.map +1 -0
  208. package/openui/dist/catalog/Stack/index.d.ts +29 -0
  209. package/openui/dist/catalog/Stack/index.js +61 -0
  210. package/openui/dist/catalog/Stack/index.js.map +1 -0
  211. package/openui/dist/catalog/Tag/index.d.ts +4 -0
  212. package/openui/dist/catalog/Tag/index.js +15 -0
  213. package/openui/dist/catalog/Tag/index.js.map +1 -0
  214. package/openui/dist/catalog/TextContent/index.d.ts +11 -0
  215. package/openui/dist/catalog/TextContent/index.js +33 -0
  216. package/openui/dist/catalog/TextContent/index.js.map +1 -0
  217. package/openui/dist/catalog/index.d.ts +7 -0
  218. package/openui/dist/catalog/index.js +11 -0
  219. package/openui/dist/catalog/index.js.map +1 -0
  220. package/openui/dist/catalog/utils.d.ts +2 -0
  221. package/openui/dist/catalog/utils.js +17 -0
  222. package/openui/dist/catalog/utils.js.map +1 -0
  223. package/openui/dist/core/context.d.ts +112 -0
  224. package/openui/dist/core/context.js +99 -0
  225. package/openui/dist/core/context.js.map +1 -0
  226. package/openui/dist/core/createLibrary.d.ts +10 -0
  227. package/openui/dist/core/createLibrary.js +36 -0
  228. package/openui/dist/core/createLibrary.js.map +1 -0
  229. package/openui/dist/core/hooks/index.d.ts +4 -0
  230. package/openui/dist/core/hooks/index.js +6 -0
  231. package/openui/dist/core/hooks/index.js.map +1 -0
  232. package/openui/dist/core/hooks/useFormValidation.d.ts +13 -0
  233. package/openui/dist/core/hooks/useFormValidation.js +76 -0
  234. package/openui/dist/core/hooks/useFormValidation.js.map +1 -0
  235. package/openui/dist/core/hooks/useOpenUIState.d.ts +33 -0
  236. package/openui/dist/core/hooks/useOpenUIState.js +413 -0
  237. package/openui/dist/core/hooks/useOpenUIState.js.map +1 -0
  238. package/openui/dist/core/hooks/useStateField.d.ts +2 -0
  239. package/openui/dist/core/hooks/useStateField.js +11 -0
  240. package/openui/dist/core/hooks/useStateField.js.map +1 -0
  241. package/openui/dist/core/index.d.ts +7 -0
  242. package/openui/dist/core/index.js +8 -0
  243. package/openui/dist/core/index.js.map +1 -0
  244. package/openui/dist/core/library.d.ts +20 -0
  245. package/openui/dist/core/library.js +13 -0
  246. package/openui/dist/core/library.js.map +1 -0
  247. package/openui/dist/core/renderer.css +271 -0
  248. package/openui/dist/core/renderer.d.ts +9 -0
  249. package/openui/dist/core/renderer.js +139 -0
  250. package/openui/dist/core/renderer.js.map +1 -0
  251. package/openui/dist/core/utils.d.ts +1 -0
  252. package/openui/dist/core/utils.js +76 -0
  253. package/openui/dist/core/utils.js.map +1 -0
  254. package/package.json +120 -0
@@ -0,0 +1,123 @@
1
+ @import "../theme.css";
2
+
3
+ /* =========================
4
+ * Radio Group
5
+ * ========================= */
6
+
7
+ .radio-group {
8
+ display: flex;
9
+ flex-direction: column;
10
+ width: 100%;
11
+ min-width: 0;
12
+ }
13
+
14
+ .radio-group-container {
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: 16px;
18
+ }
19
+
20
+ /* Usage Hints */
21
+
22
+ /* Default: Standard vertical list */
23
+ .radio-group-default .radio-group-container {
24
+ flex-direction: column;
25
+ gap: 18px;
26
+ }
27
+
28
+ /* Row: Horizontal layout */
29
+ .radio-group-row .radio-group-container {
30
+ flex-direction: row;
31
+ flex-wrap: wrap;
32
+ gap: 18px;
33
+ align-items: center;
34
+ }
35
+
36
+ /* Card: Options look like cards */
37
+ .radio-group-card .radio-option {
38
+ padding: 14px 16px;
39
+ border: 1px solid var(--a2ui-color-border);
40
+ border-radius: 14px;
41
+ background-color: var(--a2ui-color-surface);
42
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset;
43
+ }
44
+
45
+ .radio-group-card .radio-option:active {
46
+ background-color: var(--a2ui-color-surface-muted);
47
+ }
48
+
49
+ .radio-group-invalid .radio-item {
50
+ border-color: var(--a2ui-color-error, #d92d20);
51
+ }
52
+
53
+ .radio-group-error {
54
+ margin-top: 2px;
55
+ color: var(--a2ui-color-error, #d92d20);
56
+ font-size: 10px;
57
+ line-height: 1.5;
58
+ }
59
+
60
+ /* =========================
61
+ * Radio Option
62
+ * ========================= */
63
+
64
+ .radio-option {
65
+ display: flex;
66
+ flex-direction: row;
67
+ align-items: center;
68
+ gap: 14px;
69
+ min-width: 0;
70
+ }
71
+
72
+ .label {
73
+ font-size: 15px;
74
+ font-weight: 500;
75
+ color: var(--a2ui-color-on-surface);
76
+ line-height: 1.5;
77
+ }
78
+
79
+ /* =========================
80
+ * Radio Item
81
+ * ========================= */
82
+
83
+ .radio-item {
84
+ width: 22px;
85
+ height: 22px;
86
+ border-radius: 50%;
87
+ border: 1.5px solid var(--a2ui-color-border);
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ background-color: transparent;
92
+ flex-shrink: 0;
93
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset;
94
+ }
95
+
96
+ .radio-item.ui-disabled {
97
+ opacity: 0.5;
98
+ }
99
+
100
+ .radio-item.ui-checked {
101
+ border-color: var(--a2ui-color-primary);
102
+ background-color: var(--a2ui-color-primary);
103
+ }
104
+
105
+ .radio-item.ui-active {
106
+ border-color: var(--a2ui-color-primary-hover);
107
+ }
108
+
109
+ /* Indicator Dot */
110
+ .radio-indicator {
111
+ width: 100%;
112
+ height: 100%;
113
+ display: flex;
114
+ align-items: center;
115
+ justify-content: center;
116
+ }
117
+
118
+ .radio-indicator-dot {
119
+ width: 9px;
120
+ height: 9px;
121
+ border-radius: 50%;
122
+ background-color: var(--a2ui-color-on-primary);
123
+ }
@@ -0,0 +1,83 @@
1
+ @import "../theme.css";
2
+
3
+ .row {
4
+ display: flex;
5
+ flex-direction: row;
6
+ flex-wrap: nowrap;
7
+ gap: 18px;
8
+ width: 100%;
9
+ min-width: 0;
10
+ }
11
+
12
+ .row-weighted-item {
13
+ min-width: 0;
14
+ }
15
+
16
+ /* Alignment */
17
+ .alignment-start {
18
+ align-items: flex-start;
19
+ }
20
+
21
+ .alignment-center {
22
+ align-items: center;
23
+ }
24
+
25
+ .alignment-end {
26
+ align-items: flex-end;
27
+ }
28
+
29
+ .alignment-stretch {
30
+ align-items: stretch;
31
+ }
32
+
33
+ /* Distribution */
34
+ .distribution-start {
35
+ justify-content: flex-start;
36
+ }
37
+
38
+ .distribution-center {
39
+ justify-content: center;
40
+ }
41
+
42
+ .distribution-end {
43
+ justify-content: flex-end;
44
+ }
45
+
46
+ .distribution-spaceBetween {
47
+ justify-content: space-between;
48
+ }
49
+
50
+ .distribution-spaceAround {
51
+ justify-content: space-around;
52
+ }
53
+
54
+ .distribution-spaceEvenly {
55
+ justify-content: space-evenly;
56
+ }
57
+
58
+ /* Usage Hints */
59
+
60
+ /* Group: Standard horizontal grouping */
61
+ .row-hint-group {
62
+ gap: 18px;
63
+ }
64
+
65
+ /* Compact: Tight grouping (e.g., icon + text) */
66
+ .row-hint-compact {
67
+ gap: 10px;
68
+ }
69
+
70
+ /* Balanced: Good for space-between layouts */
71
+ .row-hint-balanced {
72
+ width: 100%;
73
+ }
74
+
75
+ /* Toolbar: Specific for action bars */
76
+ .row-hint-toolbar {
77
+ width: 100%;
78
+ height: 60px;
79
+ padding: 0 20px;
80
+ align-items: center;
81
+ background-color: var(--a2ui-color-surface);
82
+ border-bottom: 1px solid var(--a2ui-color-border);
83
+ }
@@ -0,0 +1,96 @@
1
+ @import "../theme.css";
2
+
3
+ .slider {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 6px;
7
+ width: 100%;
8
+ min-width: 0;
9
+ }
10
+
11
+ .slider-header {
12
+ display: flex;
13
+ flex-direction: row;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ gap: 10px;
17
+ min-width: 0;
18
+ }
19
+
20
+ .slider-label {
21
+ min-width: 0;
22
+ color: var(--a2ui-color-text-muted);
23
+ font-size: 13px;
24
+ font-weight: 600;
25
+ line-height: 1.5;
26
+ }
27
+
28
+ .slider-value {
29
+ flex-shrink: 0;
30
+ color: var(--a2ui-color-text-muted);
31
+ font-size: 11px;
32
+ line-height: 1.5;
33
+ }
34
+
35
+ .slider-control {
36
+ margin-left: 14px;
37
+ margin-right: 14px;
38
+ }
39
+
40
+ .slider-root {
41
+ width: 100%;
42
+ height: 36px;
43
+ display: flex;
44
+ align-items: center;
45
+ }
46
+
47
+ .slider-track {
48
+ position: relative;
49
+ width: 100%;
50
+ height: 8px;
51
+ border-radius: 999px;
52
+ background-color: var(--a2ui-color-surface-muted);
53
+ }
54
+
55
+ .slider-indicator {
56
+ height: 100%;
57
+ border-radius: 999px;
58
+ background-color: var(--a2ui-color-primary);
59
+ }
60
+
61
+ .slider-thumb {
62
+ width: 28px;
63
+ height: 28px;
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ }
68
+
69
+ .slider-thumb-dot {
70
+ width: 20px;
71
+ height: 20px;
72
+ border-radius: 999px;
73
+ border-width: 2px;
74
+ border-style: solid;
75
+ border-color: var(--a2ui-color-primary);
76
+ background-color: var(--a2ui-color-surface-strong);
77
+ box-shadow:
78
+ 0 8px 18px rgba(0, 85, 217, 0.14),
79
+ 0 1px 0 rgba(255, 255, 255, 0.5) inset;
80
+ }
81
+
82
+ .slider-invalid .slider-track {
83
+ background-color: var(--a2ui-color-input-error-bg);
84
+ }
85
+
86
+ .slider-invalid .slider-indicator,
87
+ .slider-invalid .slider-thumb-dot {
88
+ border-color: var(--a2ui-color-input-error);
89
+ background-color: var(--a2ui-color-input-error);
90
+ }
91
+
92
+ .slider-error {
93
+ color: var(--a2ui-color-input-error);
94
+ font-size: 11px;
95
+ line-height: 1.5;
96
+ }
@@ -0,0 +1,46 @@
1
+ @import "../theme.css";
2
+
3
+ .tabs {
4
+ display: flex;
5
+ flex-direction: column;
6
+ width: 100%;
7
+ min-width: 0;
8
+ }
9
+
10
+ .tabs-headers {
11
+ display: flex;
12
+ gap: 12px;
13
+ margin-bottom: 12px;
14
+ overflow-x: auto;
15
+ padding: 0 2px 2px;
16
+ }
17
+
18
+ .tabs-header {
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: stretch;
22
+ gap: 0;
23
+ padding: 8px 2px 10px;
24
+ background-color: transparent;
25
+ color: var(--a2ui-color-on-surface);
26
+ border: none;
27
+ border-bottom: 2px solid transparent;
28
+ font-family: inherit;
29
+ font-weight: 600;
30
+ flex: 0 0 auto;
31
+ transition: color 0.18s ease, opacity 0.18s ease, border-color 0.18s ease;
32
+ }
33
+
34
+ .tabs-header-active {
35
+ color: var(--a2ui-color-on-secondary);
36
+ border-bottom-color: var(--a2ui-color-primary);
37
+ }
38
+
39
+ .tabs-header-text {
40
+ color: inherit;
41
+ }
42
+
43
+ .tabs-content {
44
+ padding: 0 2px;
45
+ min-width: 0;
46
+ }
@@ -0,0 +1,121 @@
1
+ @import "../theme.css";
2
+
3
+ .text-body,
4
+ .text-caption,
5
+ .text-h1,
6
+ .text-h2,
7
+ .text-h3,
8
+ .text-h4,
9
+ .text-h5,
10
+ .text-price,
11
+ .text-link,
12
+ .text-label {
13
+ flex-shrink: 0;
14
+ }
15
+
16
+ .text-h1 {
17
+ font-size: 28px;
18
+ font-weight: bold;
19
+ color: var(--a2ui-color-on-surface);
20
+ line-height: 1.15;
21
+ flex-shrink: 0;
22
+ }
23
+
24
+ .text-h2 {
25
+ font-size: 22px;
26
+ font-weight: bold;
27
+ color: var(--a2ui-color-on-surface);
28
+ line-height: 1.2;
29
+ flex-shrink: 0;
30
+ }
31
+
32
+ .text-h3 {
33
+ font-size: 18px;
34
+ font-weight: bold;
35
+ color: var(--a2ui-color-on-surface);
36
+ line-height: 1.2;
37
+ flex-shrink: 0;
38
+ }
39
+
40
+ .text-h4 {
41
+ font-size: 15px;
42
+ font-weight: bold;
43
+ color: var(--a2ui-color-on-surface);
44
+ line-height: 1.2;
45
+ flex-shrink: 0;
46
+ }
47
+
48
+ .text-h5 {
49
+ font-size: 13px;
50
+ font-weight: bold;
51
+ color: var(--a2ui-color-on-surface);
52
+ line-height: 1.2;
53
+ flex-shrink: 0;
54
+ }
55
+
56
+ .text-caption {
57
+ font-size: 11px;
58
+ color: var(--a2ui-color-text-muted);
59
+ line-height: 1.5;
60
+ flex-shrink: 0;
61
+ }
62
+
63
+ .text-body {
64
+ font-size: 15px;
65
+ font-weight: normal;
66
+ color: var(--a2ui-color-on-surface);
67
+ line-height: 1.5;
68
+ }
69
+
70
+ .text-weight-1 {
71
+ font-weight: 500;
72
+ }
73
+
74
+ .text-weight-1-5 {
75
+ font-weight: 600;
76
+ }
77
+
78
+ .text-weight-2 {
79
+ font-weight: 700;
80
+ }
81
+
82
+ /* New Usage Hints */
83
+
84
+ .text-price {
85
+ flex-shrink: 0;
86
+ font-size: 16px;
87
+ font-weight: bold;
88
+ color: var(--a2ui-color-primary);
89
+ line-height: 1.5;
90
+ }
91
+
92
+ .text-link {
93
+ flex-shrink: 0;
94
+ font-size: 15px;
95
+ font-weight: 600;
96
+ color: var(--a2ui-color-primary-hover);
97
+ text-decoration: underline;
98
+ line-height: 1.5;
99
+ }
100
+
101
+ .text-label {
102
+ flex-shrink: 0;
103
+ font-size: 11px;
104
+ font-weight: bold;
105
+ color: var(--a2ui-color-text-muted);
106
+ letter-spacing: 0.8px;
107
+ line-height: 1.5;
108
+ }
109
+
110
+ .button .text-body,
111
+ .button .text-caption,
112
+ .button .text-h1,
113
+ .button .text-h2,
114
+ .button .text-h3,
115
+ .button .text-h4,
116
+ .button .text-h5,
117
+ .button .text-price,
118
+ .button .text-link,
119
+ .button .text-label {
120
+ color: inherit;
121
+ }
@@ -0,0 +1,48 @@
1
+ @import "../theme.css";
2
+
3
+ .textfield {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 6px;
7
+ width: 100%;
8
+ min-width: 0;
9
+ }
10
+
11
+ .textfield-label {
12
+ font-size: 13px;
13
+ font-weight: 600;
14
+ color: var(--a2ui-color-text-muted);
15
+ line-height: 1.5;
16
+ }
17
+
18
+ .textfield-control {
19
+ width: 100%;
20
+ min-height: 44px;
21
+ padding-left: 12px;
22
+ padding-right: 12px;
23
+ padding-top: 8px;
24
+ padding-bottom: 8px;
25
+ border-width: 1px;
26
+ border-style: solid;
27
+ border-color: var(--a2ui-color-border-strong);
28
+ border-radius: 12px;
29
+ background-color: var(--a2ui-color-surface-strong);
30
+ color: var(--a2ui-color-on-input);
31
+ font-size: 15px;
32
+ line-height: 1.5;
33
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.45) inset;
34
+ }
35
+
36
+ .textfield-textarea {
37
+ min-height: 112px;
38
+ }
39
+
40
+ .textfield-invalid .textfield-control {
41
+ border-color: var(--a2ui-color-input-error);
42
+ }
43
+
44
+ .textfield-error {
45
+ font-size: 11px;
46
+ color: var(--a2ui-color-input-error);
47
+ line-height: 1.5;
48
+ }