@colixsystems/widget-sdk 0.31.0 → 0.32.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/README.md CHANGED
@@ -46,7 +46,11 @@ See the design reference for the full architecture: [`docs/architecture/widget-m
46
46
 
47
47
  ## Status
48
48
 
49
- `v0.31.0` — pre-publish. The package surface (types, function names, export paths) is the v1 contract; runtime behaviour for some hooks is stubbed (each hook documents what's wired and what isn't). It is **not yet published to npm**.
49
+ `v0.32.0` — pre-publish. The package surface (types, function names, export paths) is the v1 contract; runtime behaviour for some hooks is stubbed (each hook documents what's wired and what isn't). It is **not yet published to npm**.
50
+
51
+ ### What's new in 0.32.0
52
+
53
+ **New `fieldList` propertySchema type (REQ-WBLT-03 / #139).** A per-field repeater that composes a form from author-picked columns of a sibling `tableRef` (default `tableId`, override via `ui.tableProp`). Each row stores `{ id, columnId, kind, label, required, optionsSource, inlineOptions, optionsTableId, optionsValueColumn, optionsLabelColumn }`; `kind` is one of `auto` / `singleChoice` / `multiChoice` and is gated by the column's `data_type` so an array column can't render as a scalar picker. The Studio renders the built-in **Form Builder** widget's editor through `SchemaForm` instead of the hand-rolled block it shipped with — removes the last data widget from `LEGACY_EDITOR_TYPES`. Persisted field shape is unchanged so existing pages keep rendering. **`CONTRACT.version` → `1.22.0`** (additive: one new propertySchema type). No existing export or type changed signature.
50
54
 
51
55
  ### What's new in 0.31.0
52
56
 
package/dist/contract.cjs CHANGED
@@ -1323,7 +1323,19 @@ const CONTRACT = deepFreeze({
1323
1323
  // new optional `existingSignatureId` arg on `useFileSignature` so an
1324
1324
  // already-signed file shows its state + verify()s without re-signing.
1325
1325
  // Backwards-compatible — the added arg is optional.
1326
- version: "1.21.0",
1326
+ //
1327
+ // 1.22.0: additive (REQ-WBLT-03 / #139) — new `fieldList` propertySchema type.
1328
+ // A per-field repeater that composes a form from author-picked columns of
1329
+ // a sibling tableRef (default `tableId`, override via `ui.tableProp`). Each
1330
+ // row stores `{ id, columnId, kind, label, required, optionsSource,
1331
+ // inlineOptions, optionsTableId, optionsValueColumn, optionsLabelColumn }`;
1332
+ // `kind` is one of `auto` / `singleChoice` / `multiChoice` (gated by the
1333
+ // column's data_type so an array column can't be rendered as a scalar
1334
+ // picker). The Studio renders the Form Builder editor through SchemaForm
1335
+ // instead of the hand-rolled block it shipped with — removes the last data
1336
+ // widget from `LEGACY_EDITOR_TYPES`. No existing type changed shape, so
1337
+ // this is additive — minor bump on the pre-1.0 channel.
1338
+ version: "1.22.0",
1327
1339
  hooks: HOOKS,
1328
1340
  primitives: PRIMITIVES,
1329
1341
  manifestSchema: MANIFEST_SCHEMA,
package/dist/contract.js CHANGED
@@ -1323,7 +1323,19 @@ const CONTRACT = deepFreeze({
1323
1323
  // new optional `existingSignatureId` arg on `useFileSignature` so an
1324
1324
  // already-signed file shows its state + verify()s without re-signing.
1325
1325
  // Backwards-compatible — the added arg is optional.
1326
- version: "1.21.0",
1326
+ //
1327
+ // 1.22.0: additive (REQ-WBLT-03 / #139) — new `fieldList` propertySchema type.
1328
+ // A per-field repeater that composes a form from author-picked columns of
1329
+ // a sibling tableRef (default `tableId`, override via `ui.tableProp`). Each
1330
+ // row stores `{ id, columnId, kind, label, required, optionsSource,
1331
+ // inlineOptions, optionsTableId, optionsValueColumn, optionsLabelColumn }`;
1332
+ // `kind` is one of `auto` / `singleChoice` / `multiChoice` (gated by the
1333
+ // column's data_type so an array column can't be rendered as a scalar
1334
+ // picker). The Studio renders the Form Builder editor through SchemaForm
1335
+ // instead of the hand-rolled block it shipped with — removes the last data
1336
+ // widget from `LEGACY_EDITOR_TYPES`. No existing type changed shape, so
1337
+ // this is additive — minor bump on the pre-1.0 channel.
1338
+ version: "1.22.0",
1327
1339
  hooks: HOOKS,
1328
1340
  primitives: PRIMITIVES,
1329
1341
  manifestSchema: MANIFEST_SCHEMA,
package/dist/index.d.ts CHANGED
@@ -47,6 +47,12 @@ export type WidgetPropertyType =
47
47
  | "assetList"
48
48
  // REQ-WDG-FOLDERREF: Filestore folder picker → folder UUID (or null = root).
49
49
  | "folderRef"
50
+ // REQ-WBLT-03 / #139: per-field repeater that composes a form from columns
51
+ // of a sibling tableRef (default `tableId`, override via `ui.tableProp`).
52
+ // Each row: { id, columnId, kind: "auto"|"singleChoice"|"multiChoice",
53
+ // label, required, optionsSource, inlineOptions, optionsTableId,
54
+ // optionsValueColumn, optionsLabelColumn }.
55
+ | "fieldList"
50
56
  | "expression"
51
57
  | "eventBinding"
52
58
  | "object"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colixsystems/widget-sdk",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "description": "Common widget interface for AppStudio. Implements WidgetManifest, WidgetContext, property schema, and helper hooks.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",