@lotics/ui 7.19.3 → 9.0.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.
- package/AGENTS.md +298 -159
- package/examples/tpl_allocate.tsx +2 -2
- package/examples/tpl_attendance.tsx +2 -2
- package/examples/tpl_calendar.tsx +1 -1
- package/examples/tpl_dashboard.tsx +1 -1
- package/examples/tpl_dieline.tsx +3 -3
- package/examples/tpl_documents.tsx +790 -0
- package/examples/tpl_item_list.tsx +1015 -124
- package/examples/tpl_lookup.tsx +37 -10
- package/examples/tpl_pick.tsx +3 -3
- package/examples/tpl_pivot.tsx +1 -1
- package/examples/tpl_record.tsx +1354 -0
- package/examples/tpl_report.tsx +7 -7
- package/examples/tpl_rollup.tsx +6 -6
- package/examples/tpl_shifts.tsx +2 -2
- package/examples/tpl_statements.tsx +221 -0
- package/examples/tpl_stock.tsx +7 -7
- package/examples/tpl_task_board.tsx +48 -32
- package/examples/tpl_tasks.tsx +47 -47
- package/examples/tpl_tower.tsx +2 -2
- package/package.json +9 -9
- package/src/agent_run.tsx +1 -1
- package/src/capture_row.tsx +59 -0
- package/src/change_review.tsx +732 -236
- package/src/checklist.tsx +104 -0
- package/src/chip.tsx +12 -3
- package/src/composer.tsx +22 -1
- package/src/confidence.tsx +1 -1
- package/src/control_surface.ts +0 -14
- package/src/detail_row.tsx +137 -10
- package/src/finding.tsx +112 -80
- package/src/floating_action_bar.tsx +1 -1
- package/src/inline_date_picker.tsx +8 -3
- package/src/inline_edit.tsx +40 -10
- package/src/inline_member_select.tsx +3 -0
- package/src/inline_number_input.tsx +5 -2
- package/src/inline_select.tsx +8 -3
- package/src/inline_tag_select.tsx +140 -0
- package/src/inline_text_input.tsx +5 -2
- package/src/inline_time_picker.tsx +5 -2
- package/src/ledger.tsx +220 -0
- package/src/locale.tsx +43 -16
- package/src/progress_bar.tsx +32 -1
- package/src/record_summary.tsx +101 -0
- package/src/section_heading.tsx +16 -8
- package/src/sources.tsx +8 -5
- package/src/suggestion_chip.tsx +47 -0
- package/src/use_section_nav.test.ts +69 -0
- package/src/use_section_nav.ts +59 -0
- package/examples/tpl_assistant.tsx +0 -174
- package/examples/tpl_billing.tsx +0 -344
- package/examples/tpl_briefing.tsx +0 -121
- package/examples/tpl_compare.tsx +0 -133
- package/examples/tpl_crosscheck.tsx +0 -120
- package/examples/tpl_detail.tsx +0 -232
- package/examples/tpl_directory.tsx +0 -260
- package/examples/tpl_draft.tsx +0 -163
- package/examples/tpl_extract.tsx +0 -193
- package/examples/tpl_intake.tsx +0 -206
- package/examples/tpl_match.tsx +0 -134
- package/examples/tpl_order.tsx +0 -482
- package/examples/tpl_quick.tsx +0 -211
- package/examples/tpl_ratedesk.tsx +0 -386
- package/examples/tpl_record_plain.tsx +0 -259
- package/examples/tpl_settings.tsx +0 -178
- package/examples/tpl_timeline.tsx +0 -244
- package/examples/tpl_triage.tsx +0 -112
- package/examples/tpl_wizard.tsx +0 -223
- package/src/discrepancy.tsx +0 -114
- package/src/match_sides.tsx +0 -79
- package/src/record_fields.tsx +0 -68
- package/src/review_card.tsx +0 -172
- package/src/scored_option.tsx +0 -138
- package/src/spec_list.tsx +0 -81
- package/src/triage_row.tsx +0 -99
|
@@ -75,7 +75,7 @@ export function TplAllocate() {
|
|
|
75
75
|
<View>
|
|
76
76
|
<View style={{ padding: 20, flexDirection: "row", alignItems: "flex-start", gap: 24, flexWrap: "wrap" }}>
|
|
77
77
|
<View style={{ gap: 2, flexGrow: 1, flexBasis: 220 }}>
|
|
78
|
-
<Text size="xs" color="muted"
|
|
78
|
+
<Text size="xs" color="muted" weight="medium">Payment received</Text>
|
|
79
79
|
<Text size="xxl" weight="semibold" tabular>{formatMoney(PAYMENT.amount)}</Text>
|
|
80
80
|
<Text size="sm" color="muted">{`${PAYMENT.from} · ref ${PAYMENT.ref} · ${PAYMENT.date}`}</Text>
|
|
81
81
|
</View>
|
|
@@ -92,7 +92,7 @@ export function TplAllocate() {
|
|
|
92
92
|
{/* the targets — the open invoices, each absorbing part of the payment */}
|
|
93
93
|
<View>
|
|
94
94
|
<View style={{ paddingHorizontal: 20, paddingVertical: 12 }}>
|
|
95
|
-
<Text size="xs" color="muted"
|
|
95
|
+
<Text size="xs" color="muted" weight="medium">{`Open invoices · ${INVOICES.length}`}</Text>
|
|
96
96
|
</View>
|
|
97
97
|
<Divider />
|
|
98
98
|
{INVOICES.map((inv, i) => (
|
|
@@ -222,7 +222,7 @@ function NhanVienWorkspace({ nv }: { nv: NhanVien }) {
|
|
|
222
222
|
<View style={{ gap: 10 }}>
|
|
223
223
|
<View style={{ flexDirection: "row", alignItems: "center" }}>
|
|
224
224
|
<View style={{ flex: 1 }}>
|
|
225
|
-
<Text size="xs" color="muted"
|
|
225
|
+
<Text size="xs" color="muted" weight="medium">This week</Text>
|
|
226
226
|
</View>
|
|
227
227
|
<Text size="sm" weight="medium" tabular>{nv.tongTuan}</Text>
|
|
228
228
|
</View>
|
|
@@ -254,7 +254,7 @@ export function TplAttendance() {
|
|
|
254
254
|
const onSort = (key: string) => setSort(cycleSort(sort, key));
|
|
255
255
|
|
|
256
256
|
const dem = (tt: TrangThai) => NHAN_VIEN.filter((nv) => nv.trangThai === tt).length;
|
|
257
|
-
const eyebrow = (label: string) => <Text size="xs" color="muted"
|
|
257
|
+
const eyebrow = (label: string) => <Text size="xs" color="muted" weight="medium">{label}</Text>;
|
|
258
258
|
|
|
259
259
|
// The Today roster, ordered by the active sort (Hours sorts numerically).
|
|
260
260
|
const sorted = sortBy(NHAN_VIEN, sort, (nv, key) =>
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from "@lotics/ui/calendar";
|
|
20
20
|
|
|
21
21
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
22
|
-
// Template · Calendar
|
|
22
|
+
// Template · Calendar — the delivery/schedule desk. One real
|
|
23
23
|
// CalendarView (week grid) over the current week's deliveries / reconciliations /
|
|
24
24
|
// customer visits, then a "Today" agenda card listing today's three slots.
|
|
25
25
|
//
|
|
@@ -36,7 +36,7 @@ import { Funnel } from "@lotics/ui/funnel";
|
|
|
36
36
|
import { formatMoney } from "@lotics/ui/format_money";
|
|
37
37
|
|
|
38
38
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
39
|
-
// Template ·
|
|
39
|
+
// Template · Dashboard — the executive operations dashboard. One
|
|
40
40
|
// screen that answers "how is this month going, where is it stuck, who pays
|
|
41
41
|
// the bills".
|
|
42
42
|
//
|
package/examples/tpl_dieline.tsx
CHANGED
|
@@ -24,8 +24,8 @@ const MOCK_PHOTO: DisplayFile = {
|
|
|
24
24
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
25
25
|
// Template · AI design canvas (the carton "dieline" app) — the FLAGSHIP shape:
|
|
26
26
|
// the page IS the design. The dieline fills the centre, a FLOATING composer sits
|
|
27
|
-
// at the bottom, and a pinned PARAMS PANEL (a
|
|
28
|
-
// live-edit mode) floats at the centre-right. Empty → drop a photo in the
|
|
27
|
+
// at the bottom, and a pinned PARAMS PANEL (a hand-composed label/value field-card
|
|
28
|
+
// in live-edit mode) floats at the centre-right. Empty → drop a photo in the
|
|
29
29
|
// composer → the centre processes while the composer MORPHS into a progress pill
|
|
30
30
|
// (AgentProgress) → the dieline reveals, the params panel appears, the composer
|
|
31
31
|
// returns. Two ways to change it: prompt the agent ("5 mm taller"), or edit a
|
|
@@ -229,7 +229,7 @@ export function TplDieline() {
|
|
|
229
229
|
);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
// The pinned right-rail — a
|
|
232
|
+
// The pinned right-rail — a label/value field-card in live-edit mode: each
|
|
233
233
|
// parameter is click-to-edit and re-flows the design on save; one primary
|
|
234
234
|
// Download. Floats over the canvas, so it carries the composer's lift.
|
|
235
235
|
const PARAMS: { key: keyof Dims; label: string }[] = [
|