diff --git a/apps/gateway/src/Root.tsx b/apps/gateway/src/Root.tsx index 4f96b8787..9efa12b72 100644 --- a/apps/gateway/src/Root.tsx +++ b/apps/gateway/src/Root.tsx @@ -91,6 +91,7 @@ export const Root = ({ id, initialSeriesIndex, target, token }: RootProps) => {
void handleSolve(token)} />} className="min-h-full w-full" disableBegin={!verified} diff --git a/apps/gateway/src/routers/cap.router.ts b/apps/gateway/src/routers/cap.router.ts index 8082a91fd..602ac7c42 100644 --- a/apps/gateway/src/routers/cap.router.ts +++ b/apps/gateway/src/routers/cap.router.ts @@ -22,7 +22,7 @@ const router = Router(); router.post('/challenge', (_, res) => { res.status(200).json( cap.createChallenge({ - challengeDifficulty: 5, + challengeDifficulty: 4, expiresMs: 60_000 * 5 }) ); diff --git a/apps/playground/src/instruments/examples/form/Form-Reference/index.ts b/apps/playground/src/instruments/examples/form/Form-Reference/index.ts index da13f785e..811fc7bd5 100644 --- a/apps/playground/src/instruments/examples/form/Form-Reference/index.ts +++ b/apps/playground/src/instruments/examples/form/Form-Reference/index.ts @@ -76,6 +76,16 @@ export default defineInstrument({ { title: 'String', fields: { + stringCombobox: { + kind: 'string', + label: 'String (Combobox)', + options: { + a: 'A', + b: 'B', + c: 'C' + }, + variant: 'combobox' + }, stringInput: { kind: 'string', label: 'String (Input)', @@ -230,6 +240,7 @@ export default defineInstrument({ }); } }), + stringCombobox: z.enum(['a', 'b', 'c']), stringRadio: z.enum(['a', 'b', 'c']), stringSelect: z.enum(['a', 'b', 'c']), stringTextArea: z.string(), diff --git a/package.json b/package.json index 7da96ae3a..9ba880452 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "opendatacapture", "type": "module", - "version": "2.0.0", + "version": "2.1.0", "private": true, "packageManager": "pnpm@10.34.3", "license": "Apache-2.0", diff --git a/packages/instrument-bundler/package.json b/packages/instrument-bundler/package.json index 949162190..d5247ffd6 100644 --- a/packages/instrument-bundler/package.json +++ b/packages/instrument-bundler/package.json @@ -1,7 +1,7 @@ { "name": "@opendatacapture/instrument-bundler", "type": "module", - "version": "2.0.0", + "version": "2.1.0", "license": "Apache-2.0", "publishConfig": { "access": "public" diff --git a/packages/instrument-guidelines/package.json b/packages/instrument-guidelines/package.json index 2389e23e1..92ec22d5d 100644 --- a/packages/instrument-guidelines/package.json +++ b/packages/instrument-guidelines/package.json @@ -1,7 +1,7 @@ { "name": "@opendatacapture/instrument-guidelines", "type": "module", - "version": "2.0.0", + "version": "2.1.0", "description": "Guidelines for authoring Open Data Capture instruments, intended to be read by an AI agent (e.g. Claude Code).", "license": "Apache-2.0", "publishConfig": { diff --git a/packages/instrument-utils/src/translate.ts b/packages/instrument-utils/src/translate.ts index 298836c09..d749b87ab 100644 --- a/packages/instrument-utils/src/translate.ts +++ b/packages/instrument-utils/src/translate.ts @@ -79,9 +79,9 @@ function translateScalarField( options: field.options?.[language] })) .with( - { kind: 'number', variant: P.union('radio', 'select') }, + { kind: 'number', variant: P.union('combobox', 'radio', 'select') }, { kind: 'set' }, - { kind: 'string', variant: P.union('radio', 'select') }, + { kind: 'string', variant: P.union('combobox', 'radio', 'select') }, (field) => ({ ...field, ...base, diff --git a/packages/playground-url/package.json b/packages/playground-url/package.json index c15b6fe62..bd797cedd 100644 --- a/packages/playground-url/package.json +++ b/packages/playground-url/package.json @@ -1,7 +1,7 @@ { "name": "@opendatacapture/playground-url", "type": "module", - "version": "2.0.0", + "version": "2.1.0", "license": "Apache-2.0", "publishConfig": { "access": "public" diff --git a/packages/react-core/src/components/InstrumentRenderer/InstrumentRenderer.tsx b/packages/react-core/src/components/InstrumentRenderer/InstrumentRenderer.tsx index 8ac335397..36c16875b 100644 --- a/packages/react-core/src/components/InstrumentRenderer/InstrumentRenderer.tsx +++ b/packages/react-core/src/components/InstrumentRenderer/InstrumentRenderer.tsx @@ -15,6 +15,8 @@ export type InstrumentRendererProps = { className?: string; /** When true, the "Begin" button on the overview screen is disabled. */ disableBegin?: boolean; + /** Whether to disable copy, download, print in the final summary */ + disableSummaryActions?: boolean; initialSeriesIndex?: number; NavigationBlocker?: NavigationBlockerComponent; onSubmit: InstrumentSubmitHandler; diff --git a/packages/react-core/src/components/InstrumentRenderer/ScalarInstrumentRenderer.tsx b/packages/react-core/src/components/InstrumentRenderer/ScalarInstrumentRenderer.tsx index e33cbf51a..4d3f94869 100644 --- a/packages/react-core/src/components/InstrumentRenderer/ScalarInstrumentRenderer.tsx +++ b/packages/react-core/src/components/InstrumentRenderer/ScalarInstrumentRenderer.tsx @@ -28,6 +28,8 @@ export type ScalarInstrumentRendererProps = { className?: string; /** When true, the "Begin" button on the overview screen is disabled. */ disableBegin?: boolean; + /** Whether to disable copy, download, print in the final summary */ + disableSummaryActions?: boolean; NavigationBlocker?: NavigationBlockerComponent; /** @deprecated */ onCompileError?: (error: Error) => void; @@ -42,6 +44,7 @@ export const ScalarInstrumentRenderer = ({ beforeBegin, className, disableBegin, + disableSummaryActions, NavigationBlocker, onCompileError, onSubmit, @@ -120,7 +123,13 @@ export const ScalarInstrumentRenderer = ({ ); }) .with({ index: 2 }, () => ( - + )) .otherwise(() => null) ) diff --git a/packages/react-core/src/components/InstrumentSummary/InstrumentSummary.tsx b/packages/react-core/src/components/InstrumentSummary/InstrumentSummary.tsx index acbc85feb..ddc8ac419 100644 --- a/packages/react-core/src/components/InstrumentSummary/InstrumentSummary.tsx +++ b/packages/react-core/src/components/InstrumentSummary/InstrumentSummary.tsx @@ -14,6 +14,7 @@ import type { SubjectDisplayInfo } from '../../types'; export type InstrumentSummaryProps = { data: any; + disableActions?: boolean; displayAllMeasures?: boolean; instrument: AnyUnilingualInstrument; subject?: SubjectDisplayInfo; @@ -22,6 +23,7 @@ export type InstrumentSummaryProps = { export const InstrumentSummary = ({ data, + disableActions, displayAllMeasures, instrument, subject, @@ -102,15 +104,17 @@ export const InstrumentSummary = ({ })}

-
- - - -
+ {!disableActions && ( +
+ + + +
+ )} {subject && ( diff --git a/packages/schemas/src/instrument/instrument.form.ts b/packages/schemas/src/instrument/instrument.form.ts index ed9b4583b..be2af0089 100644 --- a/packages/schemas/src/instrument/instrument.form.ts +++ b/packages/schemas/src/instrument/instrument.form.ts @@ -32,7 +32,7 @@ const $$FormInstrumentStringField = (langu $$FormInstrumentBaseField(language).extend({ kind: z.literal('string'), options: $$InstrumentUIOption(z.record(z.string(), z.string().min(1)), language), - variant: z.enum(['radio', 'select']) + variant: z.enum(['combobox', 'radio', 'select']) }), $$FormInstrumentBaseField(language).extend({ kind: z.literal('string'), diff --git a/packages/serve-instrument/package.json b/packages/serve-instrument/package.json index 458ef3808..1b4ef8f3a 100644 --- a/packages/serve-instrument/package.json +++ b/packages/serve-instrument/package.json @@ -1,7 +1,7 @@ { "name": "@opendatacapture/serve-instrument", "type": "module", - "version": "2.0.0", + "version": "2.1.0", "license": "Apache-2.0", "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4feee09f..dfa364a95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,11 +25,11 @@ catalogs: specifier: ^0.2.1 version: 0.2.1 '@douglasneuroinformatics/libui': - specifier: ^6.7.1 - version: 6.7.1 + specifier: ^6.8.1 + version: 6.8.1 '@douglasneuroinformatics/libui-form-types': - specifier: ^0.13.0 - version: 0.13.0 + specifier: ^0.15.0 + version: 0.15.0 '@microsoft/api-extractor': specifier: ^7.47.6 version: 7.58.7 @@ -371,7 +371,7 @@ importers: version: 0.0.6 '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@opendatacapture/react-core': specifier: workspace:* version: link:../../packages/react-core @@ -471,7 +471,7 @@ importers: dependencies: '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) '@opendatacapture/licenses': specifier: workspace:* version: link:../../packages/licenses @@ -556,7 +556,7 @@ importers: version: 3.2.1(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@monaco-editor/react': specifier: ^4.7.0 version: 4.7.0(monaco-editor@0.52.2)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) @@ -683,7 +683,7 @@ importers: version: 0.0.3(typescript@6.0.3) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@heroicons/react': specifier: ^2.2.0 version: 2.2.0(react@vendor+react@19.x) @@ -980,7 +980,7 @@ importers: version: 3.2.1(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@opendatacapture/instrument-bundler': specifier: workspace:* version: link:../instrument-bundler @@ -1095,7 +1095,7 @@ importers: dependencies: '@douglasneuroinformatics/libui-form-types': specifier: 'catalog:' - version: 0.13.0 + version: 0.15.0 '@opendatacapture/licenses': specifier: workspace:* version: link:../licenses @@ -1168,7 +1168,7 @@ importers: version: 3.2.1(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@opendatacapture/instrument-bundler': specifier: 'workspace:' version: link:../instrument-bundler @@ -1381,7 +1381,7 @@ importers: devDependencies: '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) + version: 6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) '@opendatacapture/instrument-stubs': specifier: workspace:* version: link:../packages/instrument-stubs @@ -2103,9 +2103,9 @@ packages: { integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA== } engines: { node: '>=6.9.0' } - '@base-ui/react@1.5.0': + '@base-ui/react@1.6.0': resolution: - { integrity: sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A== } + { integrity: sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw== } engines: { node: '>=14.0.0' } peerDependencies: '@date-fns/tz': ^1.2.0 @@ -2121,9 +2121,9 @@ packages: date-fns: optional: true - '@base-ui/utils@0.2.9': + '@base-ui/utils@0.3.1': resolution: - { integrity: sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw== } + { integrity: sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg== } peerDependencies: '@types/react': '*' react: ^17 || ^18 || ^19 @@ -2311,13 +2311,13 @@ packages: { integrity: sha512-weXJgsNBdz26ldMMEh20Cn9EtR+ynn3O9v81ZEWnfBmzZmFxSlUxnevLlncJxbVM6s6SgH97C4B/L8AdGvlCxA== } engines: { node: '>=20' } - '@douglasneuroinformatics/libui-form-types@0.13.0': + '@douglasneuroinformatics/libui-form-types@0.15.0': resolution: - { integrity: sha512-56DsMv5yb5aG/NRVGp7BpuW7toUAgp4gfGDhbFTGPHVuGiL/U7+CnvW/BI1Me9NFIBM5bpuU30w4Kgr6xPMwHQ== } + { integrity: sha512-ag36tPgh9KxrcZzzc793M5GYyJcTSXXeDR0dZxa4+1Bk3RuDBsePNACKftypZKZFHZxvT8NIokLeRqRoNOquFA== } - '@douglasneuroinformatics/libui@6.7.1': + '@douglasneuroinformatics/libui@6.8.1': resolution: - { integrity: sha512-8WyaszZssYlkQ4ytz6zUBiisW29O3CoT7VS3wifS4qXI21tMLqJWMYBf/MW0Sde68vHVz3kA0lr4b075JEe51A== } + { integrity: sha512-uiQG0M/slaiMV/YG5Grnzh+CyQl/cRoHcIe9sJsBB5onajM9Zfv06D/mnbogiGlRDOLibNabuQBio0bbZBT9Qw== } engines: { node: 22.x } peerDependencies: react: ^19.1.0 @@ -9981,6 +9981,10 @@ packages: resolution: { integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== } + lodash-es@4.18.1: + resolution: + { integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A== } + lodash.includes@4.3.0: resolution: { integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== } @@ -14211,27 +14215,27 @@ snapshots: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@base-ui/react@1.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@base-ui/react@1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.29.7 - '@base-ui/utils': 0.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@base-ui/utils': 0.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@floating-ui/react-dom': 2.1.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@floating-ui/utils': 0.2.11 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) use-sync-external-store: 1.6.0(react@19.1.0) - '@base-ui/react@1.5.0(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)': + '@base-ui/react@1.6.0(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)': dependencies: '@babel/runtime': 7.29.7 - '@base-ui/utils': 0.2.9(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) + '@base-ui/utils': 0.3.1(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) '@floating-ui/react-dom': 2.1.8(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) '@floating-ui/utils': 0.2.11 react: link:vendor/react@19.x react-dom: link:vendor/react-dom@19.x use-sync-external-store: 1.6.0(react@vendor+react@19.x) - '@base-ui/utils@0.2.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@base-ui/utils@0.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.29.7 '@floating-ui/utils': 0.2.11 @@ -14240,7 +14244,7 @@ snapshots: reselect: 5.2.0 use-sync-external-store: 1.6.0(react@19.1.0) - '@base-ui/utils@0.2.9(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)': + '@base-ui/utils@0.3.1(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)': dependencies: '@babel/runtime': 7.29.7 '@floating-ui/utils': 0.2.11 @@ -14456,15 +14460,15 @@ snapshots: '@douglasneuroinformatics/libstats-win32-arm64-msvc': 0.2.1 '@douglasneuroinformatics/libstats-win32-x64-msvc': 0.2.1 - '@douglasneuroinformatics/libui-form-types@0.13.0': + '@douglasneuroinformatics/libui-form-types@0.15.0': dependencies: type-fest: 4.41.0 - '@douglasneuroinformatics/libui@6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x)': + '@douglasneuroinformatics/libui@6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x)': dependencies: - '@base-ui/react': 1.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@base-ui/react': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@douglasneuroinformatics/libjs': 3.2.1(neverthrow@8.2.0)(zod@vendor+zod@3.x) - '@douglasneuroinformatics/libui-form-types': 0.13.0 + '@douglasneuroinformatics/libui-form-types': 0.15.0 '@radix-ui/react-accordion': 1.2.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-alert-dialog': 1.1.15(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-avatar': 1.1.11(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -14491,7 +14495,7 @@ snapshots: '@tanstack/table-core': 8.21.3 class-variance-authority: 0.7.1 clsx: 2.1.1 - lodash-es: 4.17.21 + lodash-es: 4.18.1 lucide-react: 1.17.0(react@19.1.0) motion: 11.18.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 @@ -14499,7 +14503,6 @@ snapshots: react-dropzone: 14.4.1(react@19.1.0) react-error-boundary: 4.1.2(react@19.1.0) react-resizable-panels: 2.1.9(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - recharts: 2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) tailwind-merge: 2.6.1 tailwindcss: 4.3.0 ts-pattern: 5.9.0 @@ -14518,11 +14521,11 @@ snapshots: - neverthrow - use-sync-external-store - '@douglasneuroinformatics/libui@6.7.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x)': + '@douglasneuroinformatics/libui@6.8.1(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.3.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x)': dependencies: - '@base-ui/react': 1.5.0(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) + '@base-ui/react': 1.6.0(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) '@douglasneuroinformatics/libjs': 3.2.1(neverthrow@8.2.0)(zod@vendor+zod@3.x) - '@douglasneuroinformatics/libui-form-types': 0.13.0 + '@douglasneuroinformatics/libui-form-types': 0.15.0 '@radix-ui/react-accordion': 1.2.12(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) '@radix-ui/react-alert-dialog': 1.1.15(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) '@radix-ui/react-avatar': 1.1.11(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) @@ -14549,7 +14552,7 @@ snapshots: '@tanstack/table-core': 8.21.3 class-variance-authority: 0.7.1 clsx: 2.1.1 - lodash-es: 4.17.21 + lodash-es: 4.18.1 lucide-react: 1.17.0(react@vendor+react@19.x) motion: 11.18.2(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) react: link:vendor/react@19.x @@ -14557,7 +14560,6 @@ snapshots: react-dropzone: 14.4.1(react@vendor+react@19.x) react-error-boundary: 4.1.2(react@vendor+react@19.x) react-resizable-panels: 2.1.9(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) - recharts: 2.15.4(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) tailwind-merge: 2.6.1 tailwindcss: 4.3.0 ts-pattern: 5.9.0 @@ -21545,6 +21547,8 @@ snapshots: lodash-es@4.17.21: {} + lodash-es@4.18.1: {} + lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} @@ -23160,14 +23164,6 @@ snapshots: react: link:vendor/react@19.x react-dom: link:vendor/react-dom@19.x - react-smooth@4.0.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - fast-equals: 5.4.0 - prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-smooth@4.0.4(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x): dependencies: fast-equals: 5.4.0 @@ -23188,15 +23184,6 @@ snapshots: react: link:vendor/react@19.x tslib: 2.8.1 - react-transition-group@4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - '@babel/runtime': 7.29.7 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-transition-group@4.4.5(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x): dependencies: '@babel/runtime': 7.29.7 @@ -23254,19 +23241,6 @@ snapshots: dependencies: decimal.js-light: 2.5.1 - recharts@2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0): - dependencies: - clsx: 2.1.1 - eventemitter3: 4.0.7 - lodash: 4.18.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-is: 18.3.1 - react-smooth: 4.0.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - recharts-scale: 0.4.5 - tiny-invariant: 1.3.3 - victory-vendor: 36.9.2 - recharts@2.15.4(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x): dependencies: clsx: 2.1.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f0ccc8845..9cfd4fa39 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -22,8 +22,8 @@ catalog: '@douglasneuroinformatics/libjs': ^3.2.1 '@douglasneuroinformatics/libpasswd': '^0.0.3' '@douglasneuroinformatics/libstats': '^0.2.1' - '@douglasneuroinformatics/libui': ^6.7.1 - '@douglasneuroinformatics/libui-form-types': ^0.13.0 + '@douglasneuroinformatics/libui': ^6.8.1 + '@douglasneuroinformatics/libui-form-types': ^0.15.0 '@microsoft/api-extractor': '^7.47.6' '@prisma/client': '^6.9.0' '@tailwindcss/vite': '4.3.0' diff --git a/runtime/v1/package.json b/runtime/v1/package.json index 83fc13c21..05bac9cd3 100644 --- a/runtime/v1/package.json +++ b/runtime/v1/package.json @@ -1,7 +1,7 @@ { "name": "@opendatacapture/runtime-v1", "type": "module", - "version": "2.0.0", + "version": "2.1.0", "author": { "name": "Douglas Neuroinformatics", "email": "support@douglasneuroinformatics.ca"