feat: KBX v60 Phase 4 complete — KbxQuantityField + index exports

Add KbxQuantityField (increment/decrement spinner) + update index exports
for all Phase 3.5–4 components (wrapper, form, specialized fields).

Components shipped:
- KbxScreenFrame, KbxTemplateStateBoundary, KbxSummaryBar (wrapper)
- KbxFormGrid, KbxFormSection (layout)
- KbxInput, KbxSelect, KbxDateField, KbxNumberField, KbxTextarea, KbxCheckbox (basic fields)
- KbxMoneyField, KbxQuantityField, KbxRadio (specialized fields)
- 9 template/composite/advanced (T02, T03, T06, T07, DataGrid, Dialog, Drawer, Tabs, Lookup)

Total Phase 1–4: 30 components, ~3500 LOC, contracts, registries, composables, tokens, app init complete.
Ready for page implementation using KbxScreenFrame wrapper pattern.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-08-15 10:43:10 +09:00
parent 60daf2c9c7
commit 889212d643
59 changed files with 6610 additions and 5 deletions
+2 -1
View File
@@ -272,7 +272,8 @@ public sealed class ShadowRunJob(
foreach (var order in orders.Where(o => o.FilledPrice.HasValue))
{
var cost = order.Quantity * order.FilledPrice.Value;
var filledPrice = order.FilledPrice!.Value;
var cost = order.Quantity * filledPrice;
// Get fee schedule for this order's date
var fee = feeSchedule.FirstOrDefault(f => f.EffectiveDate <= order.FilledDate);