@lynx-js/genui 0.0.1-rc.0 → 0.0.2

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 (134) hide show
  1. package/a2ui/README.md +777 -100
  2. package/a2ui/dist/catalog/Button/{index.js → index.jsx} +12 -8
  3. package/a2ui/dist/catalog/Button/index.jsx.map +1 -0
  4. package/a2ui/dist/catalog/Card/{index.js → index.jsx} +5 -4
  5. package/a2ui/dist/catalog/Card/index.jsx.map +1 -0
  6. package/a2ui/dist/catalog/CheckBox/{index.js → index.jsx} +11 -6
  7. package/a2ui/dist/catalog/CheckBox/index.jsx.map +1 -0
  8. package/a2ui/dist/catalog/ChoicePicker/catalog.json +265 -0
  9. package/a2ui/dist/catalog/ChoicePicker/index.d.ts +56 -0
  10. package/a2ui/dist/catalog/ChoicePicker/index.jsx +98 -0
  11. package/a2ui/dist/catalog/ChoicePicker/index.jsx.map +1 -0
  12. package/a2ui/dist/catalog/ChoicePicker/utils.d.ts +13 -0
  13. package/a2ui/dist/catalog/ChoicePicker/utils.js +80 -0
  14. package/a2ui/dist/catalog/ChoicePicker/utils.js.map +1 -0
  15. package/a2ui/dist/catalog/Column/{index.js → index.jsx} +13 -14
  16. package/a2ui/dist/catalog/Column/index.jsx.map +1 -0
  17. package/a2ui/dist/catalog/DateTimeInput/catalog.json +165 -0
  18. package/a2ui/dist/catalog/DateTimeInput/index.d.ts +43 -0
  19. package/a2ui/dist/catalog/DateTimeInput/index.jsx +258 -0
  20. package/a2ui/dist/catalog/DateTimeInput/index.jsx.map +1 -0
  21. package/a2ui/dist/catalog/DateTimeInput/utils.d.ts +53 -0
  22. package/a2ui/dist/catalog/DateTimeInput/utils.js +248 -0
  23. package/a2ui/dist/catalog/DateTimeInput/utils.js.map +1 -0
  24. package/a2ui/dist/catalog/Divider/index.jsx +7 -0
  25. package/a2ui/dist/catalog/Divider/index.jsx.map +1 -0
  26. package/a2ui/dist/catalog/Icon/catalog.json +173 -2
  27. package/a2ui/dist/catalog/Icon/index.d.ts +2 -2
  28. package/a2ui/dist/catalog/Icon/{index.js → index.jsx} +4 -3
  29. package/a2ui/dist/catalog/Icon/index.jsx.map +1 -0
  30. package/a2ui/dist/catalog/Image/catalog.json +1 -17
  31. package/a2ui/dist/catalog/Image/index.d.ts +1 -3
  32. package/a2ui/dist/catalog/Image/index.jsx +21 -0
  33. package/a2ui/dist/catalog/Image/index.jsx.map +1 -0
  34. package/a2ui/dist/catalog/LineChart/{index.js → index.jsx} +53 -16
  35. package/a2ui/dist/catalog/LineChart/{index.js.map → index.jsx.map} +1 -1
  36. package/a2ui/dist/catalog/List/{index.js → index.jsx} +9 -6
  37. package/a2ui/dist/catalog/List/{index.js.map → index.jsx.map} +1 -1
  38. package/a2ui/dist/catalog/Modal/{index.js → index.jsx} +18 -9
  39. package/a2ui/dist/catalog/Modal/index.jsx.map +1 -0
  40. package/a2ui/dist/catalog/PieChart/{index.js → index.jsx} +41 -15
  41. package/a2ui/dist/catalog/PieChart/{index.js.map → index.jsx.map} +1 -1
  42. package/a2ui/dist/catalog/RadioGroup/{index.js → index.jsx} +18 -5
  43. package/a2ui/dist/catalog/RadioGroup/index.jsx.map +1 -0
  44. package/a2ui/dist/catalog/Row/{index.js → index.jsx} +10 -7
  45. package/a2ui/dist/catalog/Row/index.jsx.map +1 -0
  46. package/a2ui/dist/catalog/Slider/{index.js → index.jsx} +22 -7
  47. package/a2ui/dist/catalog/Slider/{index.js.map → index.jsx.map} +1 -1
  48. package/a2ui/dist/catalog/Tabs/index.jsx +40 -0
  49. package/a2ui/dist/catalog/Tabs/index.jsx.map +1 -0
  50. package/a2ui/dist/catalog/Text/catalog.json +6 -2
  51. package/a2ui/dist/catalog/Text/index.d.ts +1 -1
  52. package/a2ui/dist/catalog/Text/index.jsx +16 -0
  53. package/a2ui/dist/catalog/Text/index.jsx.map +1 -0
  54. package/a2ui/dist/catalog/TextField/{index.js → index.jsx} +8 -5
  55. package/a2ui/dist/catalog/TextField/{index.js.map → index.jsx.map} +1 -1
  56. package/a2ui/dist/catalog/index.d.ts +21 -17
  57. package/a2ui/dist/catalog/index.js +2067 -20
  58. package/a2ui/dist/catalog/index.js.map +1 -1
  59. package/a2ui/dist/index.d.ts +1 -1
  60. package/a2ui/dist/index.js +1 -1
  61. package/a2ui/dist/index.js.map +1 -1
  62. package/a2ui/dist/react/A2UI.d.ts +1 -1
  63. package/a2ui/dist/react/{A2UI.js → A2UI.jsx} +6 -5
  64. package/a2ui/dist/react/{A2UI.js.map → A2UI.jsx.map} +1 -1
  65. package/a2ui/dist/react/{A2UIProvider.js → A2UIProvider.jsx} +2 -3
  66. package/a2ui/dist/react/{A2UIProvider.js.map → A2UIProvider.jsx.map} +1 -1
  67. package/a2ui/dist/react/A2UIRenderer.d.ts +1 -0
  68. package/a2ui/dist/react/{A2UIRenderer.js → A2UIRenderer.jsx} +36 -24
  69. package/a2ui/dist/react/A2UIRenderer.jsx.map +1 -0
  70. package/a2ui/dist/react/index.d.ts +3 -3
  71. package/a2ui/dist/react/index.js +2 -2
  72. package/a2ui/dist/react/index.js.map +1 -1
  73. package/a2ui/dist/react/useA2UIContext.d.ts +1 -1
  74. package/a2ui/dist/react/useA2UIContext.js +1 -1
  75. package/a2ui/dist/react/useA2UIContext.js.map +1 -1
  76. package/a2ui/dist/react/useAction.js +2 -1
  77. package/a2ui/dist/react/useAction.js.map +1 -1
  78. package/a2ui/dist/react/useChecks.js +7 -2
  79. package/a2ui/dist/react/useChecks.js.map +1 -1
  80. package/a2ui/dist/react/useDataBinding.d.ts +1 -1
  81. package/a2ui/dist/react/useDataBinding.js +24 -48
  82. package/a2ui/dist/react/useDataBinding.js.map +1 -1
  83. package/a2ui/dist/store/MessageProcessor.js +7 -19
  84. package/a2ui/dist/store/MessageProcessor.js.map +1 -1
  85. package/a2ui/dist/store/SignalStore.d.ts +2 -0
  86. package/a2ui/dist/store/SignalStore.js +5 -0
  87. package/a2ui/dist/store/SignalStore.js.map +1 -1
  88. package/a2ui/dist/store/index.d.ts +3 -1
  89. package/a2ui/dist/store/index.js +3 -1
  90. package/a2ui/dist/store/index.js.map +1 -1
  91. package/a2ui/dist/store/resolveDynamic.d.ts +9 -0
  92. package/a2ui/dist/store/resolveDynamic.js +88 -0
  93. package/a2ui/dist/store/resolveDynamic.js.map +1 -0
  94. package/a2ui/dist/store/resolveFunctionCall.d.ts +2 -4
  95. package/a2ui/dist/store/resolveFunctionCall.js +24 -82
  96. package/a2ui/dist/store/resolveFunctionCall.js.map +1 -1
  97. package/a2ui/dist/store/signalResolution.d.ts +4 -0
  98. package/a2ui/dist/store/signalResolution.js +25 -0
  99. package/a2ui/dist/store/signalResolution.js.map +1 -0
  100. package/a2ui/dist/store/utils.d.ts +7 -0
  101. package/a2ui/dist/store/utils.js +24 -0
  102. package/a2ui/dist/store/utils.js.map +1 -0
  103. package/a2ui/dist/tsconfig.build.tsbuildinfo +1 -1
  104. package/a2ui/styles/catalog/ChoicePicker.css +157 -0
  105. package/a2ui/styles/catalog/DateTimeInput.css +375 -0
  106. package/a2ui/styles/catalog/Icon.css +1 -1
  107. package/a2ui/styles/catalog/Modal.css +1 -0
  108. package/a2ui/styles/catalog/Text.css +13 -17
  109. package/a2ui/styles/theme.css +2 -1
  110. package/a2ui-catalog-extractor/README.md +23 -15
  111. package/a2ui-catalog-extractor/bin/a2ui-catalog-extractor.js +0 -1
  112. package/a2ui-catalog-extractor/dist/tsconfig.build.tsbuildinfo +1 -1
  113. package/a2ui-prompt/README.md +1 -2
  114. package/a2ui-prompt/dist/index.js +138 -104
  115. package/cli/bin/cli.js +5 -2
  116. package/dist/tsconfig.build.tsbuildinfo +1 -1
  117. package/package.json +8 -1
  118. package/a2ui/dist/catalog/Button/index.js.map +0 -1
  119. package/a2ui/dist/catalog/Card/index.js.map +0 -1
  120. package/a2ui/dist/catalog/CheckBox/index.js.map +0 -1
  121. package/a2ui/dist/catalog/Column/index.js.map +0 -1
  122. package/a2ui/dist/catalog/Divider/index.js +0 -8
  123. package/a2ui/dist/catalog/Divider/index.js.map +0 -1
  124. package/a2ui/dist/catalog/Icon/index.js.map +0 -1
  125. package/a2ui/dist/catalog/Image/index.js +0 -30
  126. package/a2ui/dist/catalog/Image/index.js.map +0 -1
  127. package/a2ui/dist/catalog/Modal/index.js.map +0 -1
  128. package/a2ui/dist/catalog/RadioGroup/index.js.map +0 -1
  129. package/a2ui/dist/catalog/Row/index.js.map +0 -1
  130. package/a2ui/dist/catalog/Tabs/index.js +0 -32
  131. package/a2ui/dist/catalog/Tabs/index.js.map +0 -1
  132. package/a2ui/dist/catalog/Text/index.js +0 -27
  133. package/a2ui/dist/catalog/Text/index.js.map +0 -1
  134. package/a2ui/dist/react/A2UIRenderer.js.map +0 -1
@@ -0,0 +1,248 @@
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
+ const DAYS_PER_WEEK = 7;
5
+ const DATE_TIME_DAYS_PER_MONTH_PAGE = 42;
6
+ const DEFAULT_WEEKDAY_LABELS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
7
+ function pad2(value) {
8
+ return value < 10 ? `0${value}` : `${value}`;
9
+ }
10
+ function pad4(value) {
11
+ if (value < 10)
12
+ return `000${value}`;
13
+ if (value < 100)
14
+ return `00${value}`;
15
+ if (value < 1000)
16
+ return `0${value}`;
17
+ return `${value}`;
18
+ }
19
+ function createLocalDate(year, month, day = 1, hour = 0, minute = 0) {
20
+ return new Date(year, month, day, hour, minute, 0, 0);
21
+ }
22
+ function isValidDate(value) {
23
+ return !Number.isNaN(value.getTime());
24
+ }
25
+ function daysInMonth(year, month) {
26
+ return createLocalDate(year, month, 0).getDate();
27
+ }
28
+ function isValidDatePart(year, month, day) {
29
+ return month >= 1
30
+ && month <= 12
31
+ && day >= 1
32
+ && day <= daysInMonth(year, month);
33
+ }
34
+ function isValidTimePart(hour, minute) {
35
+ return hour >= 0 && hour <= 23 && minute >= 0 && minute <= 59;
36
+ }
37
+ function partsFromDate(value) {
38
+ return {
39
+ year: value.getFullYear(),
40
+ month: value.getMonth() + 1,
41
+ day: value.getDate(),
42
+ hour: value.getHours(),
43
+ minute: value.getMinutes(),
44
+ };
45
+ }
46
+ function parseDateTimeString(value) {
47
+ const trimmed = value.trim();
48
+ if (!trimmed)
49
+ return null;
50
+ const dateTimeMatch = /^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}))?$/
51
+ .exec(trimmed);
52
+ if (dateTimeMatch) {
53
+ const [, year, month, day, hour = '0', minute = '0'] = dateTimeMatch;
54
+ const yearValue = Number(year);
55
+ const monthValue = Number(month);
56
+ const dayValue = Number(day);
57
+ const hourValue = Number(hour);
58
+ const minuteValue = Number(minute);
59
+ if (!isValidDatePart(yearValue, monthValue, dayValue)
60
+ || !isValidTimePart(hourValue, minuteValue)) {
61
+ return null;
62
+ }
63
+ const date = createLocalDate(yearValue, monthValue - 1, dayValue, hourValue, minuteValue);
64
+ return isValidDate(date) ? partsFromDate(date) : null;
65
+ }
66
+ const timeMatch = /^(\d{2}):(\d{2})$/.exec(trimmed);
67
+ if (timeMatch) {
68
+ const today = new Date();
69
+ const [, hour, minute] = timeMatch;
70
+ const hourValue = Number(hour);
71
+ const minuteValue = Number(minute);
72
+ if (!isValidTimePart(hourValue, minuteValue))
73
+ return null;
74
+ const date = createLocalDate(today.getFullYear(), today.getMonth(), today.getDate(), hourValue, minuteValue);
75
+ return isValidDate(date) ? partsFromDate(date) : null;
76
+ }
77
+ const date = new Date(trimmed);
78
+ return isValidDate(date) ? partsFromDate(date) : null;
79
+ }
80
+ export function normalizeDateTimeInputValue(value) {
81
+ if (value instanceof Date) {
82
+ return isValidDate(value) ? partsFromDate(value) : null;
83
+ }
84
+ if (typeof value === 'number') {
85
+ const date = new Date(value);
86
+ return isValidDate(date) ? partsFromDate(date) : null;
87
+ }
88
+ if (typeof value === 'string') {
89
+ return parseDateTimeString(value);
90
+ }
91
+ return null;
92
+ }
93
+ export function getDefaultDateTimeParts(now = new Date()) {
94
+ return {
95
+ year: now.getFullYear(),
96
+ month: now.getMonth() + 1,
97
+ day: now.getDate(),
98
+ hour: now.getHours(),
99
+ minute: now.getMinutes(),
100
+ };
101
+ }
102
+ export function dateTimePartsToDate(parts) {
103
+ return createLocalDate(parts.year, parts.month - 1, parts.day, parts.hour, parts.minute);
104
+ }
105
+ export function dateTimePartsToDateKey(parts) {
106
+ return `${pad4(parts.year)}-${pad2(parts.month)}-${pad2(parts.day)}`;
107
+ }
108
+ export function formatDateKey(date) {
109
+ return [
110
+ pad4(date.getFullYear()),
111
+ pad2(date.getMonth() + 1),
112
+ pad2(date.getDate()),
113
+ ].join('-');
114
+ }
115
+ export function formatMonthKey(date) {
116
+ return `${pad4(date.getFullYear())}-${pad2(date.getMonth() + 1)}`;
117
+ }
118
+ export function startOfMonth(date) {
119
+ return createLocalDate(date.getFullYear(), date.getMonth(), 1);
120
+ }
121
+ export function addMonths(date, offset) {
122
+ return createLocalDate(date.getFullYear(), date.getMonth() + offset, 1);
123
+ }
124
+ export function getWeekdayLabels(weekStartsOn = 0, labels = DEFAULT_WEEKDAY_LABELS) {
125
+ const start = Math.max(0, Math.min(6, Math.floor(weekStartsOn)));
126
+ return Array.from({ length: DAYS_PER_WEEK }, (_, index) => {
127
+ const weekdayIndex = (start + index) % DAYS_PER_WEEK;
128
+ return labels[weekdayIndex] ?? DEFAULT_WEEKDAY_LABELS[weekdayIndex];
129
+ });
130
+ }
131
+ function compareDateOnly(a, b) {
132
+ const left = a.getFullYear() * 10000
133
+ + (a.getMonth() + 1) * 100
134
+ + a.getDate();
135
+ const right = b.getFullYear() * 10000
136
+ + (b.getMonth() + 1) * 100
137
+ + b.getDate();
138
+ return left - right;
139
+ }
140
+ export function compareDateTimeParts(a, b) {
141
+ const left = a.year * 100000000
142
+ + a.month * 1000000
143
+ + a.day * 10000
144
+ + a.hour * 100
145
+ + a.minute;
146
+ const right = b.year * 100000000
147
+ + b.month * 1000000
148
+ + b.day * 10000
149
+ + b.hour * 100
150
+ + b.minute;
151
+ return left - right;
152
+ }
153
+ export function isDateTimeBeforeMin(value, min) {
154
+ return min !== null && compareDateTimeParts(value, min) < 0;
155
+ }
156
+ export function isDateTimeAfterMax(value, max) {
157
+ return max !== null && compareDateTimeParts(value, max) > 0;
158
+ }
159
+ export function buildDateTimeMonthPage({ month, selectedDate, today, minDate, maxDate, weekStartsOn = 0, }) {
160
+ const monthStart = startOfMonth(month);
161
+ const normalizedWeekStart = Math.max(0, Math.min(6, Math.floor(weekStartsOn)));
162
+ const firstWeekdayOffset = (monthStart.getDay() - normalizedWeekStart + DAYS_PER_WEEK)
163
+ % DAYS_PER_WEEK;
164
+ const gridStart = createLocalDate(monthStart.getFullYear(), monthStart.getMonth(), 1 - firstWeekdayOffset);
165
+ const selectedDateKey = selectedDate ? formatDateKey(selectedDate) : null;
166
+ const todayKey = formatDateKey(today);
167
+ const days = Array.from({ length: DATE_TIME_DAYS_PER_MONTH_PAGE }, (_, index) => {
168
+ const date = createLocalDate(gridStart.getFullYear(), gridStart.getMonth(), gridStart.getDate() + index);
169
+ const dateKey = formatDateKey(date);
170
+ const outside = date.getMonth() !== monthStart.getMonth();
171
+ const disabled = (minDate !== null && compareDateOnly(date, minDate) < 0)
172
+ || (maxDate !== null && compareDateOnly(date, maxDate) > 0);
173
+ return {
174
+ date,
175
+ dateKey,
176
+ day: date.getDate(),
177
+ outside,
178
+ selected: dateKey === selectedDateKey,
179
+ today: dateKey === todayKey,
180
+ disabled,
181
+ };
182
+ });
183
+ return {
184
+ month: monthStart,
185
+ monthKey: formatMonthKey(monthStart),
186
+ days,
187
+ };
188
+ }
189
+ export function normalizeDateTimeInputMode(enableDate, enableTime) {
190
+ const date = enableDate !== false;
191
+ const time = enableTime !== false;
192
+ if (!date && !time) {
193
+ return { enableDate: true, enableTime: false };
194
+ }
195
+ return { enableDate: date, enableTime: time };
196
+ }
197
+ export function normalizeDateTimeInputLabel(value) {
198
+ if (typeof value === 'string'
199
+ || typeof value === 'number'
200
+ || typeof value === 'boolean') {
201
+ return String(value);
202
+ }
203
+ return '';
204
+ }
205
+ function getDefaultOutputFormat(mode) {
206
+ if (!mode.enableDate && mode.enableTime)
207
+ return 'HH:mm';
208
+ return 'YYYY-MM-DD';
209
+ }
210
+ export function formatDateTimeInputValue(parts, outputFormat, mode) {
211
+ const format = typeof outputFormat === 'string' && outputFormat.trim()
212
+ ? outputFormat
213
+ : getDefaultOutputFormat(mode);
214
+ return format
215
+ .replaceAll('YYYY', pad4(parts.year))
216
+ .replaceAll('MM', pad2(parts.month))
217
+ .replaceAll('DD', pad2(parts.day))
218
+ .replaceAll('HH', pad2(parts.hour))
219
+ .replaceAll('mm', pad2(parts.minute));
220
+ }
221
+ export function getDateTimeInputPlaceholder(mode) {
222
+ if (mode.enableDate && mode.enableTime)
223
+ return 'Select date and time';
224
+ if (mode.enableTime)
225
+ return 'Select time';
226
+ return 'Select date';
227
+ }
228
+ export function getDateTimeDialogTitle(label, mode) {
229
+ return label || getDateTimeInputPlaceholder(mode);
230
+ }
231
+ export function withDate(parts, date) {
232
+ return {
233
+ ...parts,
234
+ year: date.getFullYear(),
235
+ month: date.getMonth() + 1,
236
+ day: date.getDate(),
237
+ };
238
+ }
239
+ export function incrementDateTimePart(parts, part, delta) {
240
+ const limit = part === 'hour' ? 24 : 60;
241
+ const current = parts[part];
242
+ const next = ((current + delta) % limit + limit) % limit;
243
+ return {
244
+ ...parts,
245
+ [part]: next,
246
+ };
247
+ }
248
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/catalog/DateTimeInput/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import '../../../styles/catalog/Divider.css';
2
+ export function Divider(props) {
3
+ const id = props.id;
4
+ const axis = props.axis ?? 'horizontal';
5
+ return <view key={id} className={`divider divider-${axis}`}/>;
6
+ }
7
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Divider/index.tsx"],"names":[],"mappings":"AAKA,OAAO,qCAAqC,CAAC;AAS7C,MAAM,UAAU,OAAO,CACrB,KAAmB;IAEnB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0B,IAAI,YAAY,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAG,CAAC;AACjE,CAAC"}
@@ -4,7 +4,178 @@
4
4
  "name": {
5
5
  "oneOf": [
6
6
  {
7
- "type": "string"
7
+ "type": "string",
8
+ "enum": [
9
+ "account_circle"
10
+ ]
11
+ },
12
+ {
13
+ "type": "string",
14
+ "enum": [
15
+ "add"
16
+ ]
17
+ },
18
+ {
19
+ "type": "string",
20
+ "enum": [
21
+ "arrow_back"
22
+ ]
23
+ },
24
+ {
25
+ "type": "string",
26
+ "enum": [
27
+ "arrow_forward"
28
+ ]
29
+ },
30
+ {
31
+ "type": "string",
32
+ "enum": [
33
+ "camera"
34
+ ]
35
+ },
36
+ {
37
+ "type": "string",
38
+ "enum": [
39
+ "check"
40
+ ]
41
+ },
42
+ {
43
+ "type": "string",
44
+ "enum": [
45
+ "close"
46
+ ]
47
+ },
48
+ {
49
+ "type": "string",
50
+ "enum": [
51
+ "delete"
52
+ ]
53
+ },
54
+ {
55
+ "type": "string",
56
+ "enum": [
57
+ "edit"
58
+ ]
59
+ },
60
+ {
61
+ "type": "string",
62
+ "enum": [
63
+ "error"
64
+ ]
65
+ },
66
+ {
67
+ "type": "string",
68
+ "enum": [
69
+ "favorite"
70
+ ]
71
+ },
72
+ {
73
+ "type": "string",
74
+ "enum": [
75
+ "help"
76
+ ]
77
+ },
78
+ {
79
+ "type": "string",
80
+ "enum": [
81
+ "home"
82
+ ]
83
+ },
84
+ {
85
+ "type": "string",
86
+ "enum": [
87
+ "info"
88
+ ]
89
+ },
90
+ {
91
+ "type": "string",
92
+ "enum": [
93
+ "location_on"
94
+ ]
95
+ },
96
+ {
97
+ "type": "string",
98
+ "enum": [
99
+ "lock"
100
+ ]
101
+ },
102
+ {
103
+ "type": "string",
104
+ "enum": [
105
+ "mail"
106
+ ]
107
+ },
108
+ {
109
+ "type": "string",
110
+ "enum": [
111
+ "menu"
112
+ ]
113
+ },
114
+ {
115
+ "type": "string",
116
+ "enum": [
117
+ "more_vert"
118
+ ]
119
+ },
120
+ {
121
+ "type": "string",
122
+ "enum": [
123
+ "pause"
124
+ ]
125
+ },
126
+ {
127
+ "type": "string",
128
+ "enum": [
129
+ "person"
130
+ ]
131
+ },
132
+ {
133
+ "type": "string",
134
+ "enum": [
135
+ "play_arrow"
136
+ ]
137
+ },
138
+ {
139
+ "type": "string",
140
+ "enum": [
141
+ "refresh"
142
+ ]
143
+ },
144
+ {
145
+ "type": "string",
146
+ "enum": [
147
+ "search"
148
+ ]
149
+ },
150
+ {
151
+ "type": "string",
152
+ "enum": [
153
+ "send"
154
+ ]
155
+ },
156
+ {
157
+ "type": "string",
158
+ "enum": [
159
+ "settings"
160
+ ]
161
+ },
162
+ {
163
+ "type": "string",
164
+ "enum": [
165
+ "share"
166
+ ]
167
+ },
168
+ {
169
+ "type": "string",
170
+ "enum": [
171
+ "star"
172
+ ]
173
+ },
174
+ {
175
+ "type": "string",
176
+ "enum": [
177
+ "warning"
178
+ ]
8
179
  },
9
180
  {
10
181
  "type": "object",
@@ -19,7 +190,7 @@
19
190
  "additionalProperties": false
20
191
  }
21
192
  ],
22
- "description": "Material icon name (camelCase or snake_case), e.g. \"info\", \"skipNext\", \"play_arrow\"."
193
+ "description": "Google Material icon ligature name, e.g. \"info\", \"account_circle\", \"arrow_back\"."
23
194
  },
24
195
  "size": {
25
196
  "type": "string",
@@ -4,8 +4,8 @@ import '../../../styles/catalog/Icon.css';
4
4
  * @a2uiCatalog Icon
5
5
  */
6
6
  export interface IconProps extends GenericComponentProps {
7
- /** Material icon name (camelCase or snake_case), e.g. "info", "skipNext", "play_arrow". */
8
- name: string | {
7
+ /** Google Material icon ligature name, e.g. "info", "account_circle", "arrow_back". */
8
+ name: 'account_circle' | 'add' | 'arrow_back' | 'arrow_forward' | 'camera' | 'check' | 'close' | 'delete' | 'edit' | 'error' | 'favorite' | 'help' | 'home' | 'info' | 'location_on' | 'lock' | 'mail' | 'menu' | 'more_vert' | 'pause' | 'person' | 'play_arrow' | 'refresh' | 'search' | 'send' | 'settings' | 'share' | 'star' | 'warning' | {
9
9
  path: string;
10
10
  };
11
11
  size?: 'sm' | 'md' | 'lg';
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx } from "@lynx-js/react/jsx-runtime";
2
1
  import '../../../styles/catalog/Icon.css';
3
2
  function toMaterialName(name) {
4
3
  return name.replace(/[A-Z]/g, (m) => `_${m.toLowerCase()}`);
@@ -6,6 +5,8 @@ function toMaterialName(name) {
6
5
  export function Icon(props) {
7
6
  const { id, name, size = 'md', color = 'inherit' } = props;
8
7
  const iconName = typeof name === 'string' ? toMaterialName(name) : '';
9
- return (_jsx("text", { className: `a2ui-icon a2ui-icon-${size} a2ui-icon-color-${color}`, children: iconName }, id));
8
+ return (<text key={id} className={`a2ui-icon a2ui-icon-${size} a2ui-icon-color-${color}`}>
9
+ {iconName}
10
+ </text>);
10
11
  }
11
- //# sourceMappingURL=index.js.map
12
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Icon/index.tsx"],"names":[],"mappings":"AAKA,OAAO,kCAAkC,CAAC;AAE1C,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AA0CD,MAAM,UAAU,IAAI,CAClB,KAAgB;IAEhB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtE,OAAO,CACL,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,EAAE,CAAC,CACR,SAAS,CAAC,CAAC,uBAAuB,IAAI,oBAAoB,KAAK,EAAE,CAAC,CAElE;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
@@ -2,23 +2,7 @@
2
2
  "Image": {
3
3
  "properties": {
4
4
  "url": {
5
- "oneOf": [
6
- {
7
- "type": "string"
8
- },
9
- {
10
- "type": "object",
11
- "properties": {
12
- "path": {
13
- "type": "string"
14
- }
15
- },
16
- "required": [
17
- "path"
18
- ],
19
- "additionalProperties": false
20
- }
21
- ],
5
+ "type": "string",
22
6
  "description": "Image URL or path binding."
23
7
  },
24
8
  "fit": {
@@ -5,9 +5,7 @@ import '../../../styles/catalog/Image.css';
5
5
  */
6
6
  export interface ImageProps extends GenericComponentProps {
7
7
  /** Image URL or path binding. */
8
- url: string | {
9
- path: string;
10
- };
8
+ url: string;
11
9
  fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
12
10
  mode?: 'scaleToFill' | 'aspectFit' | 'aspectFill' | 'center';
13
11
  variant?: 'icon' | 'avatar' | 'smallFeature' | 'mediumFeature' | 'largeFeature' | 'header';
@@ -0,0 +1,21 @@
1
+ import '../../../styles/catalog/Image.css';
2
+ export function Image(props) {
3
+ const fit = props.fit ?? 'fit';
4
+ const mode = props.mode ?? (() => {
5
+ switch (fit) {
6
+ case 'contain':
7
+ case 'scale-down':
8
+ return 'aspectFit';
9
+ case 'fill':
10
+ return 'scaleToFill';
11
+ case 'none':
12
+ return 'center';
13
+ default:
14
+ return 'aspectFill';
15
+ }
16
+ })();
17
+ const variant = props.variant ?? 'mediumFeature';
18
+ const className = `a2ui-image image-variant-${variant} ${typeof props.weight === 'number' ? 'image-weighted' : ''}`;
19
+ return (<image key={props.id} className={className} auto-size={true} src={props.url ?? ''} mode={mode}/>);
20
+ }
21
+ //# sourceMappingURL=index.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/catalog/Image/index.tsx"],"names":[],"mappings":"AAKA,OAAO,mCAAmC,CAAC;AAoB3C,MAAM,UAAU,KAAK,CACnB,KAAiB;IAEjB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;QAC/B,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,YAAY;gBACf,OAAO,WAAW,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,aAAa,CAAC;YACvB,KAAK,MAAM;gBACT,OAAO,QAAQ,CAAC;YAClB;gBACE,OAAO,YAAY,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;IACjD,MAAM,SAAS,GAAG,4BAA4B,OAAO,IACnD,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EACxD,EAAE,CAAC;IACH,OAAO,CACL,CAAC,KAAK,CACJ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CACd,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,SAAS,CAAC,CAAC,IAAI,CAAC,CAChB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CACrB,IAAI,CAAC,CAAC,IAAI,CAAC,EACX,CACH,CAAC;AACJ,CAAC"}
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } 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.
@@ -112,7 +111,7 @@ function buildSvgMarkup(labels, series, variant, showGrid) {
112
111
  const chartWidth = width - MARGIN.left - MARGIN.right;
113
112
  const chartHeight = height - MARGIN.top - MARGIN.bottom;
114
113
  const maxPoints = labels.length;
115
- const values = series.flatMap((item) => item.values.slice(0, maxPoints));
114
+ const values = series.flatMap((item) => item.values?.slice(0, maxPoints));
116
115
  if (maxPoints === 0 || series.length === 0 || values.length === 0) {
117
116
  return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}"></svg>`;
118
117
  }
@@ -122,7 +121,7 @@ function buildSvgMarkup(labels, series, variant, showGrid) {
122
121
  const gridLines = 4;
123
122
  const lineMarkup = series
124
123
  .map((item, seriesIndex) => {
125
- const points = item.values.slice(0, maxPoints).map((value, index) => {
124
+ const points = item.values?.slice(0, maxPoints).map((value, index) => {
126
125
  const x = MARGIN.left + xStep * index;
127
126
  const y = MARGIN.top + chartHeight
128
127
  - ((value - minValue) / yRange) * chartHeight;
@@ -179,17 +178,55 @@ export function LineChart(props) {
179
178
  : DEFAULT_HEIGHT;
180
179
  const svgMarkup = buildSvgMarkup(labels, series, variant, showGrid);
181
180
  const visibleLabelIndices = sampleIndices(labels.length, 8);
182
- const { min, max } = minMax(series.flatMap((item) => item.values.slice(0, labels.length)));
183
- return (_jsxs("view", { className: 'line-chart', children: [_jsxs("view", { className: 'line-chart-header', children: [_jsxs("view", { className: 'line-chart-header-copy', children: [_jsx("text", { className: 'line-chart-title', children: resolvedProps['yLabel'] ?? 'Line chart' }), _jsx("text", { className: 'line-chart-caption', children: series.length > 0
184
- ? `${series.length} series • ${labels.length} points`
185
- : 'No data' })] }), resolvedProps['xLabel']
186
- ? (_jsx("text", { className: 'line-chart-axis-label', children: resolvedProps['xLabel'] }))
187
- : null] }), _jsxs("view", { className: 'line-chart-scale-row', children: [_jsx("text", { className: 'line-chart-scale-value', children: formatValue(min) }), _jsx("text", { className: 'line-chart-scale-value line-chart-scale-value-right', children: formatValue(max) })] }), _jsx("svg", { className: 'line-chart-svg', content: svgMarkup, style: { width: '100%', height: `${height}px` } }), _jsx("view", { className: 'line-chart-axis-row', children: visibleLabelIndices.map((index) => (_jsx("view", { className: 'line-chart-axis-tick', children: _jsx("text", { className: 'line-chart-axis-tick-label', children: labels[index] ?? '' }) }, `${index}-${labels[index] ?? index}`))) }), showLegend
188
- ? (_jsx("view", { className: 'line-chart-legend', children: series.map((item, index) => (_jsxs("view", { className: 'line-chart-legend-item', children: [_jsx("view", { className: 'line-chart-legend-swatch', style: {
189
- backgroundColor: item.color
190
- ?? DEFAULT_CHART_COLORS[index % DEFAULT_CHART_COLORS.length]
191
- ?? '#0057d9',
192
- } }), _jsx("text", { className: 'line-chart-legend-label', children: item.name })] }, item.name))) }))
193
- : null] }, id));
181
+ const { min, max } = minMax(series.flatMap((item) => item.values?.slice(0, labels.length)));
182
+ return (<view key={id} className='line-chart'>
183
+ <view className='line-chart-header'>
184
+ <view className='line-chart-header-copy'>
185
+ <text className='line-chart-title'>
186
+ {resolvedProps['yLabel'] ?? 'Line chart'}
187
+ </text>
188
+ <text className='line-chart-caption'>
189
+ {series.length > 0
190
+ ? `${series.length} series • ${labels.length} points`
191
+ : 'No data'}
192
+ </text>
193
+ </view>
194
+ {resolvedProps['xLabel']
195
+ ? (<text className='line-chart-axis-label'>
196
+ {resolvedProps['xLabel']}
197
+ </text>)
198
+ : null}
199
+ </view>
200
+
201
+ <view className='line-chart-scale-row'>
202
+ <text className='line-chart-scale-value'>{formatValue(min)}</text>
203
+ <text className='line-chart-scale-value line-chart-scale-value-right'>
204
+ {formatValue(max)}
205
+ </text>
206
+ </view>
207
+
208
+ <svg className='line-chart-svg' content={svgMarkup} style={{ width: '100%', height: `${height}px` }}/>
209
+
210
+ <view className='line-chart-axis-row'>
211
+ {visibleLabelIndices.map((index) => (<view key={`${index}-${labels[index] ?? index}`} className='line-chart-axis-tick'>
212
+ <text className='line-chart-axis-tick-label'>
213
+ {labels[index] ?? ''}
214
+ </text>
215
+ </view>))}
216
+ </view>
217
+
218
+ {showLegend
219
+ ? (<view className='line-chart-legend'>
220
+ {series.map((item, index) => (<view key={item.name} className='line-chart-legend-item'>
221
+ <view className='line-chart-legend-swatch' style={{
222
+ backgroundColor: item.color
223
+ ?? DEFAULT_CHART_COLORS[index % DEFAULT_CHART_COLORS.length]
224
+ ?? '#0057d9',
225
+ }}/>
226
+ <text className='line-chart-legend-label'>{item.name}</text>
227
+ </view>))}
228
+ </view>)
229
+ : null}
230
+ </view>);
194
231
  }
195
- //# sourceMappingURL=index.js.map
232
+ //# sourceMappingURL=index.jsx.map