@flanksource/clicky-ui 0.3.40 → 0.3.42
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 +24 -0
- package/dist/ai.cjs +14 -0
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +14 -0
- package/dist/ai.js.map +1 -1
- package/dist/comments/CommentCard.cjs +3 -1
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +4 -2
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentCardParts.cjs +16 -0
- package/dist/comments/CommentCardParts.cjs.map +1 -1
- package/dist/comments/CommentCardParts.d.ts +4 -1
- package/dist/comments/CommentCardParts.d.ts.map +1 -1
- package/dist/comments/CommentCardParts.js +16 -0
- package/dist/comments/CommentCardParts.js.map +1 -1
- package/dist/comments/comment-types.cjs.map +1 -1
- package/dist/comments/comment-types.d.ts +4 -0
- package/dist/comments/comment-types.d.ts.map +1 -1
- package/dist/comments/comment-types.js.map +1 -1
- package/dist/components/AccordionList.cjs +5 -1
- package/dist/components/AccordionList.cjs.map +1 -1
- package/dist/components/AccordionList.d.ts +3 -1
- package/dist/components/AccordionList.d.ts.map +1 -1
- package/dist/components/AccordionList.js +5 -1
- package/dist/components/AccordionList.js.map +1 -1
- package/dist/components/Combobox.cjs +54 -8
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +56 -10
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxMenu.cjs +139 -113
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts +3 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +139 -113
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxMenuTrigger.cjs +87 -0
- package/dist/components/ComboboxMenuTrigger.cjs.map +1 -0
- package/dist/components/ComboboxMenuTrigger.d.ts +23 -0
- package/dist/components/ComboboxMenuTrigger.d.ts.map +1 -0
- package/dist/components/ComboboxMenuTrigger.js +87 -0
- package/dist/components/ComboboxMenuTrigger.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +39 -11
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +38 -10
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/SegmentedControl.cjs +20 -3
- package/dist/components/SegmentedControl.cjs.map +1 -1
- package/dist/components/SegmentedControl.d.ts +11 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl.js +21 -4
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/combobox-types.d.ts +8 -0
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +3 -1
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
- package/dist/components/json-schema-form-accordion-array.d.ts +4 -1
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.js +3 -1
- package/dist/components/json-schema-form-accordion-array.js.map +1 -1
- package/dist/components/json-schema-form-array-view.cjs +63 -0
- package/dist/components/json-schema-form-array-view.cjs.map +1 -0
- package/dist/components/json-schema-form-array-view.d.ts +21 -0
- package/dist/components/json-schema-form-array-view.d.ts.map +1 -0
- package/dist/components/json-schema-form-array-view.js +63 -0
- package/dist/components/json-schema-form-array-view.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +3 -7
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +3 -7
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-conditionals.cjs +67 -0
- package/dist/components/json-schema-form-conditionals.cjs.map +1 -0
- package/dist/components/json-schema-form-conditionals.d.ts +9 -0
- package/dist/components/json-schema-form-conditionals.d.ts.map +1 -0
- package/dist/components/json-schema-form-conditionals.js +67 -0
- package/dist/components/json-schema-form-conditionals.js.map +1 -0
- package/dist/components/json-schema-form-debug-badge.cjs +108 -0
- package/dist/components/json-schema-form-debug-badge.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-badge.d.ts +10 -0
- package/dist/components/json-schema-form-debug-badge.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-badge.js +108 -0
- package/dist/components/json-schema-form-debug-badge.js.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.cjs +129 -0
- package/dist/components/json-schema-form-debug-glyph-map.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.d.ts +20 -0
- package/dist/components/json-schema-form-debug-glyph-map.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.js +129 -0
- package/dist/components/json-schema-form-debug-glyph-map.js.map +1 -0
- package/dist/components/json-schema-form-debug-glyph.cjs +13 -0
- package/dist/components/json-schema-form-debug-glyph.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-glyph.d.ts +6 -0
- package/dist/components/json-schema-form-debug-glyph.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-glyph.js +13 -0
- package/dist/components/json-schema-form-debug-glyph.js.map +1 -0
- package/dist/components/json-schema-form-debug-groups.cjs +56 -0
- package/dist/components/json-schema-form-debug-groups.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-groups.d.ts +8 -0
- package/dist/components/json-schema-form-debug-groups.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-groups.js +56 -0
- package/dist/components/json-schema-form-debug-groups.js.map +1 -0
- package/dist/components/json-schema-form-debug-keywords.cjs +159 -0
- package/dist/components/json-schema-form-debug-keywords.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-keywords.d.ts +6 -0
- package/dist/components/json-schema-form-debug-keywords.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-keywords.js +159 -0
- package/dist/components/json-schema-form-debug-keywords.js.map +1 -0
- package/dist/components/json-schema-form-debug-listeners.cjs +102 -0
- package/dist/components/json-schema-form-debug-listeners.cjs.map +1 -0
- package/dist/components/json-schema-form-debug-listeners.d.ts +6 -0
- package/dist/components/json-schema-form-debug-listeners.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug-listeners.js +102 -0
- package/dist/components/json-schema-form-debug-listeners.js.map +1 -0
- package/dist/components/json-schema-form-debug.cjs +31 -0
- package/dist/components/json-schema-form-debug.cjs.map +1 -0
- package/dist/components/json-schema-form-debug.d.ts +11 -0
- package/dist/components/json-schema-form-debug.d.ts.map +1 -0
- package/dist/components/json-schema-form-debug.js +31 -0
- package/dist/components/json-schema-form-debug.js.map +1 -0
- package/dist/components/json-schema-form-defaults.cjs +68 -0
- package/dist/components/json-schema-form-defaults.cjs.map +1 -0
- package/dist/components/json-schema-form-defaults.d.ts +4 -0
- package/dist/components/json-schema-form-defaults.d.ts.map +1 -0
- package/dist/components/json-schema-form-defaults.js +68 -0
- package/dist/components/json-schema-form-defaults.js.map +1 -0
- package/dist/components/json-schema-form-enum-choice.cjs +114 -0
- package/dist/components/json-schema-form-enum-choice.cjs.map +1 -0
- package/dist/components/json-schema-form-enum-choice.d.ts +14 -0
- package/dist/components/json-schema-form-enum-choice.d.ts.map +1 -0
- package/dist/components/json-schema-form-enum-choice.js +114 -0
- package/dist/components/json-schema-form-enum-choice.js.map +1 -0
- package/dist/components/json-schema-form-errors.cjs +49 -31
- package/dist/components/json-schema-form-errors.cjs.map +1 -1
- package/dist/components/json-schema-form-errors.d.ts +4 -2
- package/dist/components/json-schema-form-errors.d.ts.map +1 -1
- package/dist/components/json-schema-form-errors.js +51 -33
- package/dist/components/json-schema-form-errors.js.map +1 -1
- package/dist/components/json-schema-form-fields.cjs +3 -93
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +1 -91
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-filter.cjs +2 -1
- package/dist/components/json-schema-form-filter.cjs.map +1 -1
- package/dist/components/json-schema-form-filter.js +2 -1
- package/dist/components/json-schema-form-filter.js.map +1 -1
- package/dist/components/json-schema-form-item-summary.cjs +6 -2
- package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
- package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
- package/dist/components/json-schema-form-item-summary.js +6 -2
- package/dist/components/json-schema-form-item-summary.js.map +1 -1
- package/dist/components/json-schema-form-layout.cjs +28 -19
- package/dist/components/json-schema-form-layout.cjs.map +1 -1
- package/dist/components/json-schema-form-layout.d.ts +8 -6
- package/dist/components/json-schema-form-layout.d.ts.map +1 -1
- package/dist/components/json-schema-form-layout.js +29 -20
- package/dist/components/json-schema-form-layout.js.map +1 -1
- package/dist/components/json-schema-form-listener-paths.cjs +52 -0
- package/dist/components/json-schema-form-listener-paths.cjs.map +1 -0
- package/dist/components/json-schema-form-listener-paths.d.ts +10 -0
- package/dist/components/json-schema-form-listener-paths.d.ts.map +1 -0
- package/dist/components/json-schema-form-listener-paths.js +52 -0
- package/dist/components/json-schema-form-listener-paths.js.map +1 -0
- package/dist/components/json-schema-form-listener-types.d.ts +22 -0
- package/dist/components/json-schema-form-listener-types.d.ts.map +1 -0
- package/dist/components/json-schema-form-listeners.cjs +256 -0
- package/dist/components/json-schema-form-listeners.cjs.map +1 -0
- package/dist/components/json-schema-form-listeners.d.ts +13 -0
- package/dist/components/json-schema-form-listeners.d.ts.map +1 -0
- package/dist/components/json-schema-form-listeners.js +256 -0
- package/dist/components/json-schema-form-listeners.js.map +1 -0
- package/dist/components/json-schema-form-object-array-view.cjs +62 -0
- package/dist/components/json-schema-form-object-array-view.cjs.map +1 -0
- package/dist/components/json-schema-form-object-array-view.d.ts +14 -0
- package/dist/components/json-schema-form-object-array-view.d.ts.map +1 -0
- package/dist/components/json-schema-form-object-array-view.js +62 -0
- package/dist/components/json-schema-form-object-array-view.js.map +1 -0
- package/dist/components/json-schema-form-object.cjs +3 -0
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +3 -0
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-preferences.cjs +1 -0
- package/dist/components/json-schema-form-preferences.cjs.map +1 -1
- package/dist/components/json-schema-form-preferences.d.ts +1 -0
- package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
- package/dist/components/json-schema-form-preferences.js +1 -0
- package/dist/components/json-schema-form-preferences.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +36 -12
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +38 -14
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +6 -99
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +1 -8
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +5 -98
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-runtime-types.d.ts +16 -0
- package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +67 -16
- package/dist/components/json-schema-form-table-array.cjs.map +1 -1
- package/dist/components/json-schema-form-table-array.d.ts +4 -1
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.js +70 -19
- package/dist/components/json-schema-form-table-array.js.map +1 -1
- package/dist/components/json-schema-form-tone.cjs +12 -0
- package/dist/components/json-schema-form-tone.cjs.map +1 -1
- package/dist/components/json-schema-form-tone.js +12 -0
- package/dist/components/json-schema-form-tone.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +17 -0
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +7 -1
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +2 -1
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +7 -1
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components.cjs +3 -2
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +3 -2
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +2 -1
- package/dist/components.js.map +1 -1
- package/dist/data/DataTable.cjs +9 -3
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +6 -0
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +9 -3
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.cjs +43 -24
- package/dist/data/FixtureEditor/FixtureEditor.cjs.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.js +43 -24
- package/dist/data/FixtureEditor/FixtureEditor.js.map +1 -1
- package/dist/data/GraphDiagram.cjs +125 -138
- package/dist/data/GraphDiagram.cjs.map +1 -1
- package/dist/data/GraphDiagram.d.ts +30 -23
- package/dist/data/GraphDiagram.d.ts.map +1 -1
- package/dist/data/GraphDiagram.js +128 -141
- package/dist/data/GraphDiagram.js.map +1 -1
- package/dist/data/GraphDiagramEdges.cjs +208 -0
- package/dist/data/GraphDiagramEdges.cjs.map +1 -0
- package/dist/data/GraphDiagramEdges.d.ts +40 -0
- package/dist/data/GraphDiagramEdges.d.ts.map +1 -0
- package/dist/data/GraphDiagramEdges.js +208 -0
- package/dist/data/GraphDiagramEdges.js.map +1 -0
- package/dist/data/GraphDiagramNodes.cjs +142 -0
- package/dist/data/GraphDiagramNodes.cjs.map +1 -0
- package/dist/data/GraphDiagramNodes.d.ts +22 -0
- package/dist/data/GraphDiagramNodes.d.ts.map +1 -0
- package/dist/data/GraphDiagramNodes.js +142 -0
- package/dist/data/GraphDiagramNodes.js.map +1 -0
- package/dist/data/Tree.cjs +10 -2
- package/dist/data/Tree.cjs.map +1 -1
- package/dist/data/Tree.d.ts +6 -1
- package/dist/data/Tree.d.ts.map +1 -1
- package/dist/data/Tree.js +10 -2
- package/dist/data/Tree.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs +8 -3
- package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/RuntimeRows.js +8 -3
- package/dist/data/ai/PromptRunEditor/RuntimeRows.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +37 -43
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +3 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +38 -44
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.cjs +16 -5
- package/dist/data/ai/PromptRunEditor/runtimeActions.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +4 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.js +17 -6
- package/dist/data/ai/PromptRunEditor/runtimeActions.js.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.cjs +12 -0
- package/dist/data/ai/SessionInspector.approvals-model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.d.ts +11 -2
- package/dist/data/ai/SessionInspector.approvals-model.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.js +12 -0
- package/dist/data/ai/SessionInspector.approvals-model.js.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.cjs +25 -1
- package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.js +26 -2
- package/dist/data/ai/SessionInspector.approvals.js.map +1 -1
- package/dist/data/ai/SessionInspector.cjs +143 -167
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.collection-types.d.ts +5 -0
- package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.collection.cjs +18 -5
- package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.collection.d.ts +2 -0
- package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.collection.fixtures.d.ts +6 -0
- package/dist/data/ai/SessionInspector.collection.fixtures.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.collection.js +18 -5
- package/dist/data/ai/SessionInspector.collection.js.map +1 -1
- package/dist/data/ai/SessionInspector.d.ts +24 -2
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.cjs +105 -7
- package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +12 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy-state.js +107 -9
- package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.js +144 -168
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.cjs +116 -0
- package/dist/data/ai/SessionInspector.legacy.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.legacy.d.ts +19 -0
- package/dist/data/ai/SessionInspector.legacy.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.legacy.js +116 -0
- package/dist/data/ai/SessionInspector.legacy.js.map +1 -0
- package/dist/data/ai/SessionInspector.panels.cjs +3 -0
- package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.panels.js +3 -0
- package/dist/data/ai/SessionInspector.panels.js.map +1 -1
- package/dist/data/ai/SessionInspector.plan.cjs +29 -12
- package/dist/data/ai/SessionInspector.plan.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.plan.js +30 -13
- package/dist/data/ai/SessionInspector.plan.js.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.cjs +44 -0
- package/dist/data/ai/SessionInspector.remote-view.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.remote-view.d.ts +11 -0
- package/dist/data/ai/SessionInspector.remote-view.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.remote-view.js +44 -0
- package/dist/data/ai/SessionInspector.remote-view.js.map +1 -0
- package/dist/data/ai/SessionInspector.remote.cjs +275 -0
- package/dist/data/ai/SessionInspector.remote.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.remote.d.ts +57 -0
- package/dist/data/ai/SessionInspector.remote.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.remote.js +275 -0
- package/dist/data/ai/SessionInspector.remote.js.map +1 -0
- package/dist/data/ai/SessionInspector.summary.cjs +9 -159
- package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.summary.d.ts +0 -3
- package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.summary.js +11 -161
- package/dist/data/ai/SessionInspector.summary.js.map +1 -1
- package/dist/data/ai/SessionInspector.tab-state.cjs +15 -0
- package/dist/data/ai/SessionInspector.tab-state.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.tab-state.d.ts +3 -0
- package/dist/data/ai/SessionInspector.tab-state.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.tab-state.js +15 -0
- package/dist/data/ai/SessionInspector.tab-state.js.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.model.cjs +31 -18
- package/dist/data/ai/SessionInspector.tabs.model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.tabs.model.d.ts +3 -1
- package/dist/data/ai/SessionInspector.tabs.model.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.tabs.model.js +32 -19
- package/dist/data/ai/SessionInspector.tabs.model.js.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.cjs +4 -0
- package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.js +4 -0
- package/dist/data/ai/SessionInspector.transcript.js.map +1 -1
- package/dist/data/ai/SessionInspector.verification.cjs +53 -0
- package/dist/data/ai/SessionInspector.verification.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.verification.d.ts +7 -0
- package/dist/data/ai/SessionInspector.verification.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.verification.js +53 -0
- package/dist/data/ai/SessionInspector.verification.js.map +1 -0
- package/dist/data/ai/SessionViewer.approval-body.cjs +146 -0
- package/dist/data/ai/SessionViewer.approval-body.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.approval-body.d.ts +11 -0
- package/dist/data/ai/SessionViewer.approval-body.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.approval-body.js +146 -0
- package/dist/data/ai/SessionViewer.approval-body.js.map +1 -0
- package/dist/data/ai/SessionViewer.approval-forms.cjs +150 -0
- package/dist/data/ai/SessionViewer.approval-forms.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.approval-forms.d.ts +23 -0
- package/dist/data/ai/SessionViewer.approval-forms.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.approval-forms.js +150 -0
- package/dist/data/ai/SessionViewer.approval-forms.js.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +57 -20
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +13 -3
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.decision-controls.cjs +313 -0
- package/dist/data/ai/SessionViewer.decision-controls.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.decision-controls.d.ts +43 -0
- package/dist/data/ai/SessionViewer.decision-controls.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.decision-controls.js +313 -0
- package/dist/data/ai/SessionViewer.decision-controls.js.map +1 -0
- package/dist/data/ai/SessionViewer.decision.cjs +21 -0
- package/dist/data/ai/SessionViewer.decision.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.decision.d.ts +12 -0
- package/dist/data/ai/SessionViewer.decision.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.decision.js +21 -0
- package/dist/data/ai/SessionViewer.decision.js.map +1 -0
- package/dist/data/ai/SessionViewer.input.cjs +14 -0
- package/dist/data/ai/SessionViewer.input.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.input.d.ts +5 -0
- package/dist/data/ai/SessionViewer.input.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.input.js +14 -0
- package/dist/data/ai/SessionViewer.input.js.map +1 -1
- package/dist/data/ai/SessionViewer.js +58 -21
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +7 -1
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +25 -3
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +7 -1
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +6 -3
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts +2 -1
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +6 -3
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.cjs +29 -237
- package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.js +27 -235
- package/dist/data/ai/SessionViewer.tool-row.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +17 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.cjs +8 -2
- package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
- package/dist/data/ai/SessionViewerMenu.d.ts +4 -1
- package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.js +8 -2
- package/dist/data/ai/SessionViewerMenu.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +28 -17
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +10 -2
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +29 -18
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +9 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +9 -2
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +9 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +8 -2
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +14 -6
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -0
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.js +14 -6
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
- package/dist/data/ai/approval-request.cjs +75 -0
- package/dist/data/ai/approval-request.cjs.map +1 -0
- package/dist/data/ai/approval-request.d.ts +155 -0
- package/dist/data/ai/approval-request.d.ts.map +1 -0
- package/dist/data/ai/approval-request.js +75 -0
- package/dist/data/ai/approval-request.js.map +1 -0
- package/dist/data/ai/index.d.ts +6 -1
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs +125 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.cjs.map +1 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts +11 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js +125 -0
- package/dist/data/ai/runtime-preset-menu/SavePresetDialog.js.map +1 -0
- package/dist/data/ai/runtime-preset-menu/index.d.ts +3 -0
- package/dist/data/ai/runtime-preset-menu/index.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/model.cjs +73 -0
- package/dist/data/ai/runtime-preset-menu/model.cjs.map +1 -0
- package/dist/data/ai/runtime-preset-menu/model.d.ts +13 -0
- package/dist/data/ai/runtime-preset-menu/model.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/model.js +73 -0
- package/dist/data/ai/runtime-preset-menu/model.js.map +1 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs +149 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.cjs.map +1 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts +15 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.d.ts.map +1 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js +149 -0
- package/dist/data/ai/runtime-preset-menu/use-runtime-preset-menu.js.map +1 -0
- package/dist/data/ai/runtime-spec-fields.cjs +166 -0
- package/dist/data/ai/runtime-spec-fields.cjs.map +1 -0
- package/dist/data/ai/runtime-spec-fields.d.ts +13 -0
- package/dist/data/ai/runtime-spec-fields.d.ts.map +1 -0
- package/dist/data/ai/runtime-spec-fields.js +166 -0
- package/dist/data/ai/runtime-spec-fields.js.map +1 -0
- package/dist/data/ai/session-categories.cjs +4 -0
- package/dist/data/ai/session-categories.cjs.map +1 -1
- package/dist/data/ai/session-categories.d.ts +1 -0
- package/dist/data/ai/session-categories.d.ts.map +1 -1
- package/dist/data/ai/session-categories.js +4 -0
- package/dist/data/ai/session-categories.js.map +1 -1
- package/dist/data/ai/use-session-scroll.cjs +49 -21
- package/dist/data/ai/use-session-scroll.cjs.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +2 -0
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.js +49 -21
- package/dist/data/ai/use-session-scroll.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +1 -1
- package/dist/data/chat/Chat.runtime.cjs.map +1 -1
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
- package/dist/data/chat/Chat.runtime.js +1 -1
- package/dist/data/chat/Chat.runtime.js.map +1 -1
- package/dist/data/graph-columns-layout.cjs +216 -0
- package/dist/data/graph-columns-layout.cjs.map +1 -0
- package/dist/data/graph-columns-layout.d.ts +56 -0
- package/dist/data/graph-columns-layout.d.ts.map +1 -0
- package/dist/data/graph-columns-layout.js +216 -0
- package/dist/data/graph-columns-layout.js.map +1 -0
- package/dist/data/graph-diagram-model.cjs +73 -0
- package/dist/data/graph-diagram-model.cjs.map +1 -0
- package/dist/data/graph-diagram-model.d.ts +90 -0
- package/dist/data/graph-diagram-model.d.ts.map +1 -0
- package/dist/data/graph-diagram-model.js +73 -0
- package/dist/data/graph-diagram-model.js.map +1 -0
- package/dist/data/graph-edge-routing.cjs +235 -0
- package/dist/data/graph-edge-routing.cjs.map +1 -0
- package/dist/data/graph-edge-routing.d.ts +73 -0
- package/dist/data/graph-edge-routing.d.ts.map +1 -0
- package/dist/data/graph-edge-routing.js +235 -0
- package/dist/data/graph-edge-routing.js.map +1 -0
- package/dist/data/graph-layout.cjs +0 -82
- package/dist/data/graph-layout.cjs.map +1 -1
- package/dist/data/graph-layout.d.ts +1 -28
- package/dist/data/graph-layout.d.ts.map +1 -1
- package/dist/data/graph-layout.js +1 -83
- package/dist/data/graph-layout.js.map +1 -1
- package/dist/data/har/HarPanel.cjs +129 -33
- package/dist/data/har/HarPanel.cjs.map +1 -1
- package/dist/data/har/HarPanel.d.ts +13 -1
- package/dist/data/har/HarPanel.d.ts.map +1 -1
- package/dist/data/har/HarPanel.js +130 -34
- package/dist/data/har/HarPanel.js.map +1 -1
- package/dist/data/har/fixtures.d.ts +12 -0
- package/dist/data/har/fixtures.d.ts.map +1 -1
- package/dist/data/har/types.d.ts +12 -0
- package/dist/data/har/types.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +67 -84
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts +4 -5
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.fields.cjs +170 -0
- package/dist/data/runtime/RuntimeBar.fields.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.fields.d.ts +16 -0
- package/dist/data/runtime/RuntimeBar.fields.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.fields.js +170 -0
- package/dist/data/runtime/RuntimeBar.fields.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.js +70 -87
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.selection.cjs +56 -0
- package/dist/data/runtime/RuntimeBar.selection.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.selection.d.ts +20 -0
- package/dist/data/runtime/RuntimeBar.selection.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.selection.js +56 -0
- package/dist/data/runtime/RuntimeBar.selection.js.map +1 -0
- package/dist/data/runtime/RuntimeBarActions.cjs +10 -6
- package/dist/data/runtime/RuntimeBarActions.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarActions.d.ts +8 -1
- package/dist/data/runtime/RuntimeBarActions.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarActions.js +10 -6
- package/dist/data/runtime/RuntimeBarActions.js.map +1 -1
- package/dist/data/runtime/RuntimeBarIdentity.cjs +166 -0
- package/dist/data/runtime/RuntimeBarIdentity.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarIdentity.d.ts +25 -0
- package/dist/data/runtime/RuntimeBarIdentity.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarIdentity.js +166 -0
- package/dist/data/runtime/RuntimeBarIdentity.js.map +1 -0
- package/dist/data/runtime/RuntimeBarLayout.cjs +95 -0
- package/dist/data/runtime/RuntimeBarLayout.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarLayout.d.ts +9 -0
- package/dist/data/runtime/RuntimeBarLayout.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarLayout.js +95 -0
- package/dist/data/runtime/RuntimeBarLayout.js.map +1 -0
- package/dist/data/runtime/RuntimeBarSegment.cjs +25 -14
- package/dist/data/runtime/RuntimeBarSegment.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarSegment.d.ts +4 -0
- package/dist/data/runtime/RuntimeBarSegment.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarSegment.js +25 -14
- package/dist/data/runtime/RuntimeBarSegment.js.map +1 -1
- package/dist/data/runtime/RuntimeLimitInput.cjs +41 -0
- package/dist/data/runtime/RuntimeLimitInput.cjs.map +1 -0
- package/dist/data/runtime/RuntimeLimitInput.d.ts +9 -0
- package/dist/data/runtime/RuntimeLimitInput.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeLimitInput.js +41 -0
- package/dist/data/runtime/RuntimeLimitInput.js.map +1 -0
- package/dist/data/runtime/use-runtime-bar-overflow.cjs +70 -0
- package/dist/data/runtime/use-runtime-bar-overflow.cjs.map +1 -0
- package/dist/data/runtime/use-runtime-bar-overflow.d.ts +13 -0
- package/dist/data/runtime/use-runtime-bar-overflow.d.ts.map +1 -0
- package/dist/data/runtime/use-runtime-bar-overflow.js +70 -0
- package/dist/data/runtime/use-runtime-bar-overflow.js.map +1 -0
- package/dist/data/use-edge-focus.cjs +20 -0
- package/dist/data/use-edge-focus.cjs.map +1 -0
- package/dist/data/use-edge-focus.d.ts +23 -0
- package/dist/data/use-edge-focus.d.ts.map +1 -0
- package/dist/data/use-edge-focus.js +20 -0
- package/dist/data/use-edge-focus.js.map +1 -0
- package/dist/data/use-pan-zoom.cjs +159 -0
- package/dist/data/use-pan-zoom.cjs.map +1 -0
- package/dist/data/use-pan-zoom.d.ts +79 -0
- package/dist/data/use-pan-zoom.d.ts.map +1 -0
- package/dist/data/use-pan-zoom.js +159 -0
- package/dist/data/use-pan-zoom.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +5 -1
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +4 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +6 -2
- package/dist/data.js.map +1 -1
- package/dist/devtools/useDebugStream.cjs +5 -1
- package/dist/devtools/useDebugStream.cjs.map +1 -1
- package/dist/devtools/useDebugStream.d.ts.map +1 -1
- package/dist/devtools/useDebugStream.js +6 -2
- package/dist/devtools/useDebugStream.js.map +1 -1
- package/dist/hooks/event-source-provider.cjs +9 -0
- package/dist/hooks/event-source-provider.cjs.map +1 -0
- package/dist/hooks/event-source-provider.d.ts +15 -0
- package/dist/hooks/event-source-provider.d.ts.map +1 -0
- package/dist/hooks/event-source-provider.js +9 -0
- package/dist/hooks/event-source-provider.js.map +1 -0
- package/dist/hooks/event-source.cjs +11 -0
- package/dist/hooks/event-source.cjs.map +1 -0
- package/dist/hooks/event-source.d.ts +22 -0
- package/dist/hooks/event-source.d.ts.map +1 -0
- package/dist/hooks/event-source.js +11 -0
- package/dist/hooks/event-source.js.map +1 -0
- package/dist/hooks/use-log-tail.cjs +5 -1
- package/dist/hooks/use-log-tail.cjs.map +1 -1
- package/dist/hooks/use-log-tail.d.ts.map +1 -1
- package/dist/hooks/use-log-tail.js +5 -1
- package/dist/hooks/use-log-tail.js.map +1 -1
- package/dist/hooks/use-prompts.cjs +5 -1
- package/dist/hooks/use-prompts.cjs.map +1 -1
- package/dist/hooks/use-prompts.d.ts.map +1 -1
- package/dist/hooks/use-prompts.js +6 -2
- package/dist/hooks/use-prompts.js.map +1 -1
- package/dist/hooks/use-task-run.cjs +9 -2
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +10 -3
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/hooks.cjs +4 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +1 -1
- package/dist/icons/programmingCatalog.cjs +34 -34
- package/dist/icons/programmingCatalog.cjs.map +1 -1
- package/dist/icons/programmingCatalog.js +34 -34
- package/dist/icons/programmingCatalog.js.map +1 -1
- package/dist/index.cjs +14 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/monaco/MonacoEditor.cjs +4 -1
- package/dist/monaco/MonacoEditor.cjs.map +1 -1
- package/dist/monaco/MonacoEditor.d.ts +1 -1
- package/dist/monaco/MonacoEditor.d.ts.map +1 -1
- package/dist/monaco/MonacoEditor.js +4 -1
- package/dist/monaco/MonacoEditor.js.map +1 -1
- package/dist/monaco/types.d.ts +2 -1
- package/dist/monaco/types.d.ts.map +1 -1
- package/dist/overlay/CommandPalette.cjs +14 -4
- package/dist/overlay/CommandPalette.cjs.map +1 -1
- package/dist/overlay/CommandPalette.d.ts +5 -1
- package/dist/overlay/CommandPalette.d.ts.map +1 -1
- package/dist/overlay/CommandPalette.js +14 -4
- package/dist/overlay/CommandPalette.js.map +1 -1
- package/dist/overlay/CommandPaletteList.cjs +5 -0
- package/dist/overlay/CommandPaletteList.cjs.map +1 -1
- package/dist/overlay/CommandPaletteList.d.ts +4 -2
- package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
- package/dist/overlay/CommandPaletteList.js +5 -0
- package/dist/overlay/CommandPaletteList.js.map +1 -1
- package/dist/overlay/DropdownMenu.cjs +2 -0
- package/dist/overlay/DropdownMenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenu.d.ts +4 -0
- package/dist/overlay/DropdownMenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenu.js +2 -0
- package/dist/overlay/DropdownMenu.js.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +31 -15
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +31 -15
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +32 -27
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +11 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +32 -27
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.cjs +62 -256
- package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.js +64 -258
- package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
- package/dist/rpc/OperationEntityPicker.cjs +185 -0
- package/dist/rpc/OperationEntityPicker.cjs.map +1 -0
- package/dist/rpc/OperationEntityPicker.d.ts +51 -0
- package/dist/rpc/OperationEntityPicker.d.ts.map +1 -0
- package/dist/rpc/OperationEntityPicker.js +185 -0
- package/dist/rpc/OperationEntityPicker.js.map +1 -0
- package/dist/rpc/OperationEntityPicker.model.cjs +39 -0
- package/dist/rpc/OperationEntityPicker.model.cjs.map +1 -0
- package/dist/rpc/OperationEntityPicker.model.d.ts +27 -0
- package/dist/rpc/OperationEntityPicker.model.d.ts.map +1 -0
- package/dist/rpc/OperationEntityPicker.model.js +39 -0
- package/dist/rpc/OperationEntityPicker.model.js.map +1 -0
- package/dist/rpc/operationCatalogRowSelection.cjs +85 -0
- package/dist/rpc/operationCatalogRowSelection.cjs.map +1 -0
- package/dist/rpc/operationCatalogRowSelection.d.ts +57 -0
- package/dist/rpc/operationCatalogRowSelection.d.ts.map +1 -0
- package/dist/rpc/operationCatalogRowSelection.js +85 -0
- package/dist/rpc/operationCatalogRowSelection.js.map +1 -0
- package/dist/rpc/operationEntityPicker.fixtures.d.ts +13 -0
- package/dist/rpc/operationEntityPicker.fixtures.d.ts.map +1 -0
- package/dist/rpc/useOperationPages.cjs +6 -1
- package/dist/rpc/useOperationPages.cjs.map +1 -1
- package/dist/rpc/useOperationPages.d.ts +3 -1
- package/dist/rpc/useOperationPages.d.ts.map +1 -1
- package/dist/rpc/useOperationPages.js +6 -1
- package/dist/rpc/useOperationPages.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +2 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -1
- package/schemas/json-schema-form.schema.json +571 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs +0 -423
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +0 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts +0 -33
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +0 -1
- package/dist/data/runtime/RuntimeBarCombo.js +0 -423
- package/dist/data/runtime/RuntimeBarCombo.js.map +0 -1
- package/dist/data/runtime/RuntimeBarLimits.cjs +0 -262
- package/dist/data/runtime/RuntimeBarLimits.cjs.map +0 -1
- package/dist/data/runtime/RuntimeBarLimits.d.ts +0 -17
- package/dist/data/runtime/RuntimeBarLimits.d.ts.map +0 -1
- package/dist/data/runtime/RuntimeBarLimits.js +0 -262
- package/dist/data/runtime/RuntimeBarLimits.js.map +0 -1
- package/dist/data/runtime/RuntimeBarSegments.cjs +0 -346
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +0 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts +0 -37
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +0 -1
- package/dist/data/runtime/RuntimeBarSegments.js +0 -346
- package/dist/data/runtime/RuntimeBarSegments.js.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChangeListener } from './json-schema-form-types.js';
|
|
2
|
+
export declare function ListenerList({ listeners, subject }: {
|
|
3
|
+
listeners: ChangeListener[];
|
|
4
|
+
subject: unknown;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=json-schema-form-debug-listeners.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-debug-listeners.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-debug-listeners.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkC,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAmB/F,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,+BAqCrG"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils.js";
|
|
3
|
+
import { evaluatePredicate } from "./json-schema-form-conditionals.js";
|
|
4
|
+
import { DebugGlyph } from "./json-schema-form-debug-glyph.js";
|
|
5
|
+
import { CONDITION_GLYPH, ACTION_GLYPH } from "./json-schema-form-debug-glyph-map.js";
|
|
6
|
+
const VERBS = ["hide", "show", "enable", "disable", "require", "optional", "reset", "set", "patch"];
|
|
7
|
+
const STATE_BADGE = {
|
|
8
|
+
true: { label: "holds", className: "text-emerald-700 dark:text-emerald-300" },
|
|
9
|
+
false: { label: "does not hold", className: "text-muted-foreground" },
|
|
10
|
+
unknown: { label: "needs evaluator", className: "text-amber-700 dark:text-amber-300" }
|
|
11
|
+
};
|
|
12
|
+
function ListenerList({ listeners, subject }) {
|
|
13
|
+
return /* @__PURE__ */ jsx("ol", { className: "mt-0.5 space-y-1", children: listeners.map((listener, index) => {
|
|
14
|
+
const state = listenerState(listener.when, subject);
|
|
15
|
+
return /* @__PURE__ */ jsxs(
|
|
16
|
+
"li",
|
|
17
|
+
{
|
|
18
|
+
"data-debug-listener": "",
|
|
19
|
+
"data-active": state,
|
|
20
|
+
className: cn(
|
|
21
|
+
"space-y-0.5 rounded border px-1.5 py-1",
|
|
22
|
+
state === "true" ? "border-emerald-500/50 bg-emerald-500/5" : "border-border"
|
|
23
|
+
),
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-1", children: [
|
|
26
|
+
/* @__PURE__ */ jsx("span", { className: "w-10 shrink-0 text-sky-700 dark:text-sky-300", children: "when" }),
|
|
27
|
+
conditions(listener.when).map((condition, i) => /* @__PURE__ */ jsxs("span", { "data-condition": "", className: "inline-flex items-center gap-1 rounded bg-muted px-1", children: [
|
|
28
|
+
/* @__PURE__ */ jsx(DebugGlyph, { glyph: condition.glyph }),
|
|
29
|
+
condition.text
|
|
30
|
+
] }, i)),
|
|
31
|
+
/* @__PURE__ */ jsx("span", { className: cn("ml-auto font-sans text-[10px]", STATE_BADGE[state].className), children: STATE_BADGE[state].label })
|
|
32
|
+
] }),
|
|
33
|
+
/* @__PURE__ */ jsx(ActionRows, { actions: listener, branch: "then", dimmed: state === "false" }),
|
|
34
|
+
listener.else && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
35
|
+
/* @__PURE__ */ jsx("div", { className: "w-10 text-sky-700 dark:text-sky-300", children: "else" }),
|
|
36
|
+
/* @__PURE__ */ jsx(ActionRows, { actions: listener.else, branch: "else", dimmed: state === "true" })
|
|
37
|
+
] })
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
index
|
|
41
|
+
);
|
|
42
|
+
}) });
|
|
43
|
+
}
|
|
44
|
+
function ActionRows({ actions, branch, dimmed }) {
|
|
45
|
+
const rows = VERBS.flatMap((verb) => actionRows(verb, actions).map((row) => ({ verb, ...row })));
|
|
46
|
+
return /* @__PURE__ */ jsxs("ul", { ...{ [`data-${branch}`]: "" }, className: cn("space-y-0.5 pl-2", dimmed && "opacity-50"), children: [
|
|
47
|
+
rows.length === 0 && /* @__PURE__ */ jsx("li", { className: "text-muted-foreground", children: "nothing" }),
|
|
48
|
+
rows.map(({ verb, detail, targets }) => /* @__PURE__ */ jsxs("li", { "data-action": verb, className: "flex items-start gap-1", children: [
|
|
49
|
+
/* @__PURE__ */ jsx(DebugGlyph, { glyph: ACTION_GLYPH[verb], className: "mt-px" }),
|
|
50
|
+
/* @__PURE__ */ jsx("span", { className: "w-12 shrink-0", children: verb }),
|
|
51
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-wrap items-center gap-1", children: [
|
|
52
|
+
detail !== void 0 && /* @__PURE__ */ jsx("span", { "data-detail": "", className: "text-muted-foreground", children: detail }),
|
|
53
|
+
targets.map((target) => /* @__PURE__ */ jsx("span", { "data-target": "", className: "rounded bg-muted px-1", children: target }, target))
|
|
54
|
+
] })
|
|
55
|
+
] }, `${verb}${detail ?? ""}`))
|
|
56
|
+
] });
|
|
57
|
+
}
|
|
58
|
+
function actionRows(verb, actions) {
|
|
59
|
+
if (verb === "set") return groupByDetail(Object.entries(actions.set ?? {}).map(([key, value]) => [key, `= ${JSON.stringify(value)}`]));
|
|
60
|
+
if (verb === "patch") {
|
|
61
|
+
return groupByDetail(
|
|
62
|
+
Object.entries(actions.patch ?? {}).map(([key, patch]) => [
|
|
63
|
+
key,
|
|
64
|
+
Object.entries(patch).map(([keyword, value]) => `${keyword}: ${JSON.stringify(value)}`).join(", ")
|
|
65
|
+
])
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
const targets = actions[verb] ?? [];
|
|
69
|
+
return targets.length > 0 ? [{ targets }] : [];
|
|
70
|
+
}
|
|
71
|
+
function groupByDetail(entries) {
|
|
72
|
+
const grouped = /* @__PURE__ */ new Map();
|
|
73
|
+
for (const [key, detail] of entries) grouped.set(detail, [...grouped.get(detail) ?? [], key]);
|
|
74
|
+
return [...grouped].map(([detail, targets]) => ({ detail, targets }));
|
|
75
|
+
}
|
|
76
|
+
function conditions(when) {
|
|
77
|
+
if (!when) return [{ glyph: CONDITION_GLYPH.always, text: "always" }];
|
|
78
|
+
const { const: constValue, enum: enumValues, not, expr, ...rest } = when;
|
|
79
|
+
const out = [];
|
|
80
|
+
if (constValue !== void 0) out.push({ glyph: CONDITION_GLYPH.const, text: `= ${JSON.stringify(constValue)}` });
|
|
81
|
+
if (enumValues !== void 0) out.push({ glyph: CONDITION_GLYPH.enum, text: `∈ ${JSON.stringify(enumValues)}` });
|
|
82
|
+
if ((not == null ? void 0 : not.const) !== void 0) out.push({ glyph: CONDITION_GLYPH.not, text: `≠ ${JSON.stringify(not.const)}` });
|
|
83
|
+
if ((not == null ? void 0 : not.enum) !== void 0) out.push({ glyph: CONDITION_GLYPH.not, text: `∉ ${JSON.stringify(not.enum)}` });
|
|
84
|
+
if (not && not.const === void 0 && not.enum === void 0) out.push({ glyph: CONDITION_GLYPH.not, text: `not ${JSON.stringify(not)}` });
|
|
85
|
+
if (expr !== void 0) out.push({ glyph: CONDITION_GLYPH.expr, text: `expr ${expr}` });
|
|
86
|
+
if (Object.keys(rest).length > 0) out.push({ glyph: CONDITION_GLYPH.schema, text: JSON.stringify(rest) });
|
|
87
|
+
return out;
|
|
88
|
+
}
|
|
89
|
+
function listenerState(when, subject) {
|
|
90
|
+
if (!when) return "true";
|
|
91
|
+
const { expr, ...predicate } = when;
|
|
92
|
+
if (Object.keys(predicate).length > 0) {
|
|
93
|
+
const holds = evaluatePredicate(predicate, subject);
|
|
94
|
+
if (holds === false) return "false";
|
|
95
|
+
if (holds === void 0) return "unknown";
|
|
96
|
+
}
|
|
97
|
+
return expr === void 0 ? "true" : "unknown";
|
|
98
|
+
}
|
|
99
|
+
export {
|
|
100
|
+
ListenerList
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=json-schema-form-debug-listeners.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-debug-listeners.js","sources":["../../src/components/json-schema-form-debug-listeners.tsx"],"sourcesContent":["import { cn } from \"../lib/utils\";\nimport { evaluatePredicate } from \"./json-schema-form-conditionals\";\nimport { DebugGlyph } from \"./json-schema-form-debug-glyph\";\nimport { ACTION_GLYPH, CONDITION_GLYPH, type DebugGlyphPair } from \"./json-schema-form-debug-glyph-map\";\nimport type { ChangeActions, ChangeCondition, ChangeListener } from \"./json-schema-form-types\";\n\n// ListenerList renders an `x-on-change` / `x-on-load` array as one card per\n// listener: its conditions as chips, one row per action with the fields it\n// touches, and its else branch. `subject` is what `when` is evaluated against\n// (the field's value, or the object for x-on-load); the branch that applies to\n// it is marked and the other dimmed. A `when.expr` needs the host's\n// ExpressionEvaluator, which the card does not have, so it stays \"unknown\".\n\ntype ListenerState = \"true\" | \"false\" | \"unknown\";\n\nconst VERBS: (keyof ChangeActions)[] = [\"hide\", \"show\", \"enable\", \"disable\", \"require\", \"optional\", \"reset\", \"set\", \"patch\"];\n\nconst STATE_BADGE: Record<ListenerState, { label: string; className: string }> = {\n true: { label: \"holds\", className: \"text-emerald-700 dark:text-emerald-300\" },\n false: { label: \"does not hold\", className: \"text-muted-foreground\" },\n unknown: { label: \"needs evaluator\", className: \"text-amber-700 dark:text-amber-300\" },\n};\n\nexport function ListenerList({ listeners, subject }: { listeners: ChangeListener[]; subject: unknown }) {\n return (\n <ol className=\"mt-0.5 space-y-1\">\n {listeners.map((listener, index) => {\n const state = listenerState(listener.when, subject);\n return (\n <li\n key={index}\n data-debug-listener=\"\"\n data-active={state}\n className={cn(\n \"space-y-0.5 rounded border px-1.5 py-1\",\n state === \"true\" ? \"border-emerald-500/50 bg-emerald-500/5\" : \"border-border\",\n )}\n >\n <div className=\"flex flex-wrap items-center gap-1\">\n <span className=\"w-10 shrink-0 text-sky-700 dark:text-sky-300\">when</span>\n {conditions(listener.when).map((condition, i) => (\n <span key={i} data-condition=\"\" className=\"inline-flex items-center gap-1 rounded bg-muted px-1\">\n <DebugGlyph glyph={condition.glyph} />\n {condition.text}\n </span>\n ))}\n <span className={cn(\"ml-auto font-sans text-[10px]\", STATE_BADGE[state].className)}>{STATE_BADGE[state].label}</span>\n </div>\n <ActionRows actions={listener} branch=\"then\" dimmed={state === \"false\"} />\n {listener.else && (\n <>\n <div className=\"w-10 text-sky-700 dark:text-sky-300\">else</div>\n <ActionRows actions={listener.else} branch=\"else\" dimmed={state === \"true\"} />\n </>\n )}\n </li>\n );\n })}\n </ol>\n );\n}\n\nfunction ActionRows({ actions, branch, dimmed }: { actions: ChangeActions; branch: \"then\" | \"else\"; dimmed: boolean }) {\n const rows = VERBS.flatMap((verb) => actionRows(verb, actions).map((row) => ({ verb, ...row })));\n return (\n <ul {...{ [`data-${branch}`]: \"\" }} className={cn(\"space-y-0.5 pl-2\", dimmed && \"opacity-50\")}>\n {rows.length === 0 && <li className=\"text-muted-foreground\">nothing</li>}\n {rows.map(({ verb, detail, targets }) => (\n <li key={`${verb}${detail ?? \"\"}`} data-action={verb} className=\"flex items-start gap-1\">\n <DebugGlyph glyph={ACTION_GLYPH[verb]} className=\"mt-px\" />\n <span className=\"w-12 shrink-0\">{verb}</span>\n <div className=\"flex min-w-0 flex-1 flex-wrap items-center gap-1\">\n {detail !== undefined && (\n <span data-detail=\"\" className=\"text-muted-foreground\">\n {detail}\n </span>\n )}\n {targets.map((target) => (\n <span key={target} data-target=\"\" className=\"rounded bg-muted px-1\">\n {target}\n </span>\n ))}\n </div>\n </li>\n ))}\n </ul>\n );\n}\n\n// actionRows lists one verb's targets. The keyed verbs gather their targets by\n// what they do to them — every field set to \"\", every field patched readOnly —\n// so a listener that touches a dozen siblings reads as a few rows.\nfunction actionRows(verb: keyof ChangeActions, actions: ChangeActions): { detail?: string; targets: string[] }[] {\n if (verb === \"set\") return groupByDetail(Object.entries(actions.set ?? {}).map(([key, value]) => [key, `= ${JSON.stringify(value)}`]));\n if (verb === \"patch\") {\n return groupByDetail(\n Object.entries(actions.patch ?? {}).map(([key, patch]) => [\n key,\n Object.entries(patch)\n .map(([keyword, value]) => `${keyword}: ${JSON.stringify(value)}`)\n .join(\", \"),\n ]),\n );\n }\n const targets = actions[verb] ?? [];\n return targets.length > 0 ? [{ targets }] : [];\n}\n\nfunction groupByDetail(entries: [string, string][]): { detail: string; targets: string[] }[] {\n const grouped = new Map<string, string[]>();\n for (const [key, detail] of entries) grouped.set(detail, [...(grouped.get(detail) ?? []), key]);\n return [...grouped].map(([detail, targets]) => ({ detail, targets }));\n}\n\nfunction conditions(when: ChangeCondition | undefined): { glyph: DebugGlyphPair; text: string }[] {\n if (!when) return [{ glyph: CONDITION_GLYPH.always, text: \"always\" }];\n const { const: constValue, enum: enumValues, not, expr, ...rest } = when;\n const out: { glyph: DebugGlyphPair; text: string }[] = [];\n if (constValue !== undefined) out.push({ glyph: CONDITION_GLYPH.const, text: `= ${JSON.stringify(constValue)}` });\n if (enumValues !== undefined) out.push({ glyph: CONDITION_GLYPH.enum, text: `∈ ${JSON.stringify(enumValues)}` });\n if (not?.const !== undefined) out.push({ glyph: CONDITION_GLYPH.not, text: `≠ ${JSON.stringify(not.const)}` });\n if (not?.enum !== undefined) out.push({ glyph: CONDITION_GLYPH.not, text: `∉ ${JSON.stringify(not.enum)}` });\n if (not && not.const === undefined && not.enum === undefined) out.push({ glyph: CONDITION_GLYPH.not, text: `not ${JSON.stringify(not)}` });\n if (expr !== undefined) out.push({ glyph: CONDITION_GLYPH.expr, text: `expr ${expr}` });\n if (Object.keys(rest).length > 0) out.push({ glyph: CONDITION_GLYPH.schema, text: JSON.stringify(rest) });\n return out;\n}\n\nfunction listenerState(when: ChangeCondition | undefined, subject: unknown): ListenerState {\n if (!when) return \"true\";\n const { expr, ...predicate } = when;\n if (Object.keys(predicate).length > 0) {\n const holds = evaluatePredicate(predicate, subject);\n if (holds === false) return \"false\";\n if (holds === undefined) return \"unknown\";\n }\n return expr === undefined ? \"true\" : \"unknown\";\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const utils = require("../lib/utils.cjs");
|
|
5
|
+
const jsonSchemaFormDebugBadge = require("./json-schema-form-debug-badge.cjs");
|
|
6
|
+
function withFieldDebug(nodes, info) {
|
|
7
|
+
const hidden = info.hiddenReason !== void 0;
|
|
8
|
+
const badge = /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormDebugBadge.FieldDebugBadge, { ...info });
|
|
9
|
+
const value = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
"data-debug-field": info.fieldKey,
|
|
13
|
+
...hidden ? { "data-debug-hidden": info.hiddenReason } : {},
|
|
14
|
+
className: utils.cn("min-w-0", hidden && "rounded-md opacity-60 outline-dashed outline-1 outline-offset-2 outline-muted-foreground/60"),
|
|
15
|
+
children: [
|
|
16
|
+
nodes.label === null ? badge : null,
|
|
17
|
+
nodes.value
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
if (nodes.label === null) return { label: null, value };
|
|
22
|
+
return {
|
|
23
|
+
label: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: utils.cn("inline-flex min-w-0 items-center gap-1", hidden && "opacity-60"), children: [
|
|
24
|
+
nodes.label,
|
|
25
|
+
badge
|
|
26
|
+
] }),
|
|
27
|
+
value
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.withFieldDebug = withFieldDebug;
|
|
31
|
+
//# sourceMappingURL=json-schema-form-debug.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-debug.cjs","sources":["../../src/components/json-schema-form-debug.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { FieldDebugBadge, type FieldDebugInfo } from \"./json-schema-form-debug-badge\";\n\n// Debug mode (the display-options menu's Debug) renders the fields the form\n// would hide, dimmed and outlined, and gives every field a badge whose hover\n// card says where it comes from: its key and instance path, the control it\n// resolved to, why it is hidden, and the schema keywords that source its\n// value, options and state.\n\nexport type { FieldDebugInfo };\n\n// withFieldDebug decorates a field's label/value nodes: the badge beside the\n// label (or atop the value when the field has no label), and the value marked\n// `data-debug-field` / `data-debug-hidden` and dimmed when the form would hide it.\nexport function withFieldDebug(nodes: { label: ReactNode; value: ReactNode }, info: FieldDebugInfo): { label: ReactNode; value: ReactNode } {\n const hidden = info.hiddenReason !== undefined;\n const badge = <FieldDebugBadge {...info} />;\n const value = (\n <div\n data-debug-field={info.fieldKey}\n {...(hidden ? { \"data-debug-hidden\": info.hiddenReason } : {})}\n className={cn(\"min-w-0\", hidden && \"rounded-md opacity-60 outline-dashed outline-1 outline-offset-2 outline-muted-foreground/60\")}\n >\n {nodes.label === null ? badge : null}\n {nodes.value}\n </div>\n );\n if (nodes.label === null) return { label: null, value };\n return {\n label: (\n <span className={cn(\"inline-flex min-w-0 items-center gap-1\", hidden && \"opacity-60\")}>\n {nodes.label}\n {badge}\n </span>\n ),\n value,\n };\n}\n"],"names":["jsx","FieldDebugBadge","jsxs","cn"],"mappings":";;;;;AAeO,SAAS,eAAe,OAA+C,MAA8D;AAC1I,QAAM,SAAS,KAAK,iBAAiB;AACrC,QAAM,QAAQA,2BAAAA,IAACC,yBAAAA,iBAAA,EAAiB,GAAG,KAAA,CAAM;AACzC,QAAM,QACJC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,oBAAkB,KAAK;AAAA,MACtB,GAAI,SAAS,EAAE,qBAAqB,KAAK,aAAA,IAAiB,CAAA;AAAA,MAC3D,WAAWC,MAAAA,GAAG,WAAW,UAAU,6FAA6F;AAAA,MAE/H,UAAA;AAAA,QAAA,MAAM,UAAU,OAAO,QAAQ;AAAA,QAC/B,MAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGX,MAAI,MAAM,UAAU,aAAa,EAAE,OAAO,MAAM,MAAA;AAChD,SAAO;AAAA,IACL,uCACG,QAAA,EAAK,WAAWA,SAAG,0CAA0C,UAAU,YAAY,GACjF,UAAA;AAAA,MAAA,MAAM;AAAA,MACN;AAAA,IAAA,GACH;AAAA,IAEF;AAAA,EAAA;AAEJ;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FieldDebugInfo } from './json-schema-form-debug-badge.js';
|
|
3
|
+
export type { FieldDebugInfo };
|
|
4
|
+
export declare function withFieldDebug(nodes: {
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
value: ReactNode;
|
|
7
|
+
}, info: FieldDebugInfo): {
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
value: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=json-schema-form-debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-debug.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-debug.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAQtF,YAAY,EAAE,cAAc,EAAE,CAAC;AAK/B,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,EAAE,IAAI,EAAE,cAAc,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAuB1I"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils.js";
|
|
3
|
+
import { FieldDebugBadge } from "./json-schema-form-debug-badge.js";
|
|
4
|
+
function withFieldDebug(nodes, info) {
|
|
5
|
+
const hidden = info.hiddenReason !== void 0;
|
|
6
|
+
const badge = /* @__PURE__ */ jsx(FieldDebugBadge, { ...info });
|
|
7
|
+
const value = /* @__PURE__ */ jsxs(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
"data-debug-field": info.fieldKey,
|
|
11
|
+
...hidden ? { "data-debug-hidden": info.hiddenReason } : {},
|
|
12
|
+
className: cn("min-w-0", hidden && "rounded-md opacity-60 outline-dashed outline-1 outline-offset-2 outline-muted-foreground/60"),
|
|
13
|
+
children: [
|
|
14
|
+
nodes.label === null ? badge : null,
|
|
15
|
+
nodes.value
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
if (nodes.label === null) return { label: null, value };
|
|
20
|
+
return {
|
|
21
|
+
label: /* @__PURE__ */ jsxs("span", { className: cn("inline-flex min-w-0 items-center gap-1", hidden && "opacity-60"), children: [
|
|
22
|
+
nodes.label,
|
|
23
|
+
badge
|
|
24
|
+
] }),
|
|
25
|
+
value
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
withFieldDebug
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=json-schema-form-debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-debug.js","sources":["../../src/components/json-schema-form-debug.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { FieldDebugBadge, type FieldDebugInfo } from \"./json-schema-form-debug-badge\";\n\n// Debug mode (the display-options menu's Debug) renders the fields the form\n// would hide, dimmed and outlined, and gives every field a badge whose hover\n// card says where it comes from: its key and instance path, the control it\n// resolved to, why it is hidden, and the schema keywords that source its\n// value, options and state.\n\nexport type { FieldDebugInfo };\n\n// withFieldDebug decorates a field's label/value nodes: the badge beside the\n// label (or atop the value when the field has no label), and the value marked\n// `data-debug-field` / `data-debug-hidden` and dimmed when the form would hide it.\nexport function withFieldDebug(nodes: { label: ReactNode; value: ReactNode }, info: FieldDebugInfo): { label: ReactNode; value: ReactNode } {\n const hidden = info.hiddenReason !== undefined;\n const badge = <FieldDebugBadge {...info} />;\n const value = (\n <div\n data-debug-field={info.fieldKey}\n {...(hidden ? { \"data-debug-hidden\": info.hiddenReason } : {})}\n className={cn(\"min-w-0\", hidden && \"rounded-md opacity-60 outline-dashed outline-1 outline-offset-2 outline-muted-foreground/60\")}\n >\n {nodes.label === null ? badge : null}\n {nodes.value}\n </div>\n );\n if (nodes.label === null) return { label: null, value };\n return {\n label: (\n <span className={cn(\"inline-flex min-w-0 items-center gap-1\", hidden && \"opacity-60\")}>\n {nodes.label}\n {badge}\n </span>\n ),\n value,\n };\n}\n"],"names":[],"mappings":";;;AAeO,SAAS,eAAe,OAA+C,MAA8D;AAC1I,QAAM,SAAS,KAAK,iBAAiB;AACrC,QAAM,QAAQ,oBAAC,iBAAA,EAAiB,GAAG,KAAA,CAAM;AACzC,QAAM,QACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,oBAAkB,KAAK;AAAA,MACtB,GAAI,SAAS,EAAE,qBAAqB,KAAK,aAAA,IAAiB,CAAA;AAAA,MAC3D,WAAW,GAAG,WAAW,UAAU,6FAA6F;AAAA,MAE/H,UAAA;AAAA,QAAA,MAAM,UAAU,OAAO,QAAQ;AAAA,QAC/B,MAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGX,MAAI,MAAM,UAAU,aAAa,EAAE,OAAO,MAAM,MAAA;AAChD,SAAO;AAAA,IACL,4BACG,QAAA,EAAK,WAAW,GAAG,0CAA0C,UAAU,YAAY,GACjF,UAAA;AAAA,MAAA,MAAM;AAAA,MACN;AAAA,IAAA,GACH;AAAA,IAEF;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const collections = require("../lib/collections.cjs");
|
|
4
|
+
const jsonSchemaFormConditionals = require("./json-schema-form-conditionals.cjs");
|
|
5
|
+
const jsonSchemaFormResolve = require("./json-schema-form-resolve.cjs");
|
|
6
|
+
function applySchemaDefaults(schema, value) {
|
|
7
|
+
return applyObjectDefaults(schema, value, /* @__PURE__ */ new Set());
|
|
8
|
+
}
|
|
9
|
+
function applyObjectDefaults(schema, value, ancestors) {
|
|
10
|
+
var _a;
|
|
11
|
+
if (ancestors.has(schema)) return value;
|
|
12
|
+
const nextAncestors = new Set(ancestors).add(schema);
|
|
13
|
+
let next = value;
|
|
14
|
+
const maxPasses = Math.min(
|
|
15
|
+
100,
|
|
16
|
+
Object.keys(schema.properties ?? {}).length + (((_a = schema.allOf) == null ? void 0 : _a.length) ?? 0) + 2
|
|
17
|
+
);
|
|
18
|
+
for (let pass = 0; pass < maxPasses; pass += 1) {
|
|
19
|
+
const { properties } = jsonSchemaFormConditionals.effectiveProperties(schema, next);
|
|
20
|
+
let passChanged = false;
|
|
21
|
+
let passValue = next;
|
|
22
|
+
for (const [key, propertySchema] of Object.entries(properties)) {
|
|
23
|
+
const existing = passValue[key];
|
|
24
|
+
let fieldValue = existing;
|
|
25
|
+
let fieldChanged = false;
|
|
26
|
+
if (existing === void 0 && propertySchema.default !== void 0) {
|
|
27
|
+
fieldValue = cloneSchemaDefault(propertySchema.default);
|
|
28
|
+
fieldChanged = true;
|
|
29
|
+
}
|
|
30
|
+
const structuredObject = jsonSchemaFormResolve.schemaRendersAsObject(propertySchema);
|
|
31
|
+
if (structuredObject && !jsonSchemaFormResolve.isOpenStringMap(propertySchema)) {
|
|
32
|
+
const objectValue = collections.isPlainObject(fieldValue) ? fieldValue : {};
|
|
33
|
+
const defaultedObject = applyObjectDefaults(
|
|
34
|
+
propertySchema,
|
|
35
|
+
objectValue,
|
|
36
|
+
nextAncestors
|
|
37
|
+
);
|
|
38
|
+
if (defaultedObject !== objectValue) {
|
|
39
|
+
fieldValue = defaultedObject;
|
|
40
|
+
fieldChanged = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (fieldChanged) {
|
|
44
|
+
if (!passChanged) passValue = { ...next };
|
|
45
|
+
passValue[key] = fieldValue;
|
|
46
|
+
passChanged = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!passChanged) break;
|
|
50
|
+
next = passValue;
|
|
51
|
+
}
|
|
52
|
+
return next;
|
|
53
|
+
}
|
|
54
|
+
function cloneSchemaDefault(value) {
|
|
55
|
+
if (Array.isArray(value)) return value.map(cloneSchemaDefault);
|
|
56
|
+
if (collections.isPlainObject(value)) {
|
|
57
|
+
return Object.fromEntries(
|
|
58
|
+
Object.entries(value).map(([key, entry]) => [
|
|
59
|
+
key,
|
|
60
|
+
cloneSchemaDefault(entry)
|
|
61
|
+
])
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
exports.applySchemaDefaults = applySchemaDefaults;
|
|
67
|
+
exports.cloneSchemaDefault = cloneSchemaDefault;
|
|
68
|
+
//# sourceMappingURL=json-schema-form-defaults.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-defaults.cjs","sources":["../../src/components/json-schema-form-defaults.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport type { JsonSchemaObject } from \"./json-schema-form-types\";\nimport { effectiveProperties } from \"./json-schema-form-conditionals\";\nimport { isOpenStringMap, schemaRendersAsObject } from \"./json-schema-form-resolve\";\n\n// applySchemaDefaults fills missing values from JSON Schema `default` keywords.\n// It walks fixed object properties recursively and re-evaluates `if`/`then`\n// branches after each pass, so a defaulted discriminator can activate defaults\n// in its selected branch. Existing values, including null and empty strings, are\n// never replaced. The original value is returned when no defaults apply.\nexport function applySchemaDefaults(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n): Record<string, unknown> {\n return applyObjectDefaults(schema, value, new Set());\n}\n\nfunction applyObjectDefaults(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n ancestors: Set<JsonSchemaObject>,\n): Record<string, unknown> {\n // Recursive schemas may point back to an ancestor after refs are hydrated.\n if (ancestors.has(schema)) return value;\n const nextAncestors = new Set(ancestors).add(schema);\n let next = value;\n\n // A default can select another conditional branch, so allow enough passes for\n // a chain of discriminator defaults while keeping malformed schemas bounded.\n const maxPasses = Math.min(\n 100,\n Object.keys(schema.properties ?? {}).length +\n (schema.allOf?.length ?? 0) +\n 2,\n );\n for (let pass = 0; pass < maxPasses; pass += 1) {\n const { properties } = effectiveProperties(schema, next);\n let passChanged = false;\n let passValue = next;\n\n for (const [key, propertySchema] of Object.entries(properties)) {\n const existing = passValue[key];\n let fieldValue = existing;\n let fieldChanged = false;\n\n if (existing === undefined && propertySchema.default !== undefined) {\n fieldValue = cloneSchemaDefault(propertySchema.default);\n fieldChanged = true;\n }\n\n const structuredObject = schemaRendersAsObject(propertySchema);\n if (structuredObject && !isOpenStringMap(propertySchema)) {\n const objectValue = isPlainObject(fieldValue)\n ? (fieldValue as Record<string, unknown>)\n : {};\n const defaultedObject = applyObjectDefaults(\n propertySchema as JsonSchemaObject,\n objectValue,\n nextAncestors,\n );\n if (defaultedObject !== objectValue) {\n fieldValue = defaultedObject;\n fieldChanged = true;\n }\n }\n\n if (fieldChanged) {\n if (!passChanged) passValue = { ...next };\n passValue[key] = fieldValue;\n passChanged = true;\n }\n }\n\n if (!passChanged) break;\n next = passValue;\n }\n return next;\n}\n\nexport function cloneSchemaDefault(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(cloneSchemaDefault);\n if (isPlainObject(value)) {\n return Object.fromEntries(\n Object.entries(value as Record<string, unknown>).map(([key, entry]) => [\n key,\n cloneSchemaDefault(entry),\n ]),\n );\n }\n return value;\n}\n"],"names":["effectiveProperties","schemaRendersAsObject","isOpenStringMap","isPlainObject"],"mappings":";;;;;AAUO,SAAS,oBACd,QACA,OACyB;AACzB,SAAO,oBAAoB,QAAQ,OAAO,oBAAI,KAAK;AACrD;AAEA,SAAS,oBACP,QACA,OACA,WACyB;;AAEzB,MAAI,UAAU,IAAI,MAAM,EAAG,QAAO;AAClC,QAAM,gBAAgB,IAAI,IAAI,SAAS,EAAE,IAAI,MAAM;AACnD,MAAI,OAAO;AAIX,QAAM,YAAY,KAAK;AAAA,IACrB;AAAA,IACA,OAAO,KAAK,OAAO,cAAc,CAAA,CAAE,EAAE,YAClC,YAAO,UAAP,mBAAc,WAAU,KACzB;AAAA,EAAA;AAEJ,WAAS,OAAO,GAAG,OAAO,WAAW,QAAQ,GAAG;AAC9C,UAAM,EAAE,WAAA,IAAeA,+CAAoB,QAAQ,IAAI;AACvD,QAAI,cAAc;AAClB,QAAI,YAAY;AAEhB,eAAW,CAAC,KAAK,cAAc,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC9D,YAAM,WAAW,UAAU,GAAG;AAC9B,UAAI,aAAa;AACjB,UAAI,eAAe;AAEnB,UAAI,aAAa,UAAa,eAAe,YAAY,QAAW;AAClE,qBAAa,mBAAmB,eAAe,OAAO;AACtD,uBAAe;AAAA,MACjB;AAEA,YAAM,mBAAmBC,sBAAAA,sBAAsB,cAAc;AAC7D,UAAI,oBAAoB,CAACC,sCAAgB,cAAc,GAAG;AACxD,cAAM,cAAcC,YAAAA,cAAc,UAAU,IACvC,aACD,CAAA;AACJ,cAAM,kBAAkB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAEF,YAAI,oBAAoB,aAAa;AACnC,uBAAa;AACb,yBAAe;AAAA,QACjB;AAAA,MACF;AAEA,UAAI,cAAc;AAChB,YAAI,CAAC,YAAa,aAAY,EAAE,GAAG,KAAA;AACnC,kBAAU,GAAG,IAAI;AACjB,sBAAc;AAAA,MAChB;AAAA,IACF;AAEA,QAAI,CAAC,YAAa;AAClB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAyB;AAC1D,MAAI,MAAM,QAAQ,KAAK,EAAG,QAAO,MAAM,IAAI,kBAAkB;AAC7D,MAAIA,YAAAA,cAAc,KAAK,GAAG;AACxB,WAAO,OAAO;AAAA,MACZ,OAAO,QAAQ,KAAgC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAAA,QACrE;AAAA,QACA,mBAAmB,KAAK;AAAA,MAAA,CACzB;AAAA,IAAA;AAAA,EAEL;AACA,SAAO;AACT;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { JsonSchemaObject } from './json-schema-form-types.js';
|
|
2
|
+
export declare function applySchemaDefaults(schema: JsonSchemaObject, value: Record<string, unknown>): Record<string, unknown>;
|
|
3
|
+
export declare function cloneSchemaDefault(value: unknown): unknown;
|
|
4
|
+
//# sourceMappingURL=json-schema-form-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-defaults.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AASjE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAgED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAW1D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { isPlainObject } from "../lib/collections.js";
|
|
2
|
+
import { effectiveProperties } from "./json-schema-form-conditionals.js";
|
|
3
|
+
import { schemaRendersAsObject, isOpenStringMap } from "./json-schema-form-resolve.js";
|
|
4
|
+
function applySchemaDefaults(schema, value) {
|
|
5
|
+
return applyObjectDefaults(schema, value, /* @__PURE__ */ new Set());
|
|
6
|
+
}
|
|
7
|
+
function applyObjectDefaults(schema, value, ancestors) {
|
|
8
|
+
var _a;
|
|
9
|
+
if (ancestors.has(schema)) return value;
|
|
10
|
+
const nextAncestors = new Set(ancestors).add(schema);
|
|
11
|
+
let next = value;
|
|
12
|
+
const maxPasses = Math.min(
|
|
13
|
+
100,
|
|
14
|
+
Object.keys(schema.properties ?? {}).length + (((_a = schema.allOf) == null ? void 0 : _a.length) ?? 0) + 2
|
|
15
|
+
);
|
|
16
|
+
for (let pass = 0; pass < maxPasses; pass += 1) {
|
|
17
|
+
const { properties } = effectiveProperties(schema, next);
|
|
18
|
+
let passChanged = false;
|
|
19
|
+
let passValue = next;
|
|
20
|
+
for (const [key, propertySchema] of Object.entries(properties)) {
|
|
21
|
+
const existing = passValue[key];
|
|
22
|
+
let fieldValue = existing;
|
|
23
|
+
let fieldChanged = false;
|
|
24
|
+
if (existing === void 0 && propertySchema.default !== void 0) {
|
|
25
|
+
fieldValue = cloneSchemaDefault(propertySchema.default);
|
|
26
|
+
fieldChanged = true;
|
|
27
|
+
}
|
|
28
|
+
const structuredObject = schemaRendersAsObject(propertySchema);
|
|
29
|
+
if (structuredObject && !isOpenStringMap(propertySchema)) {
|
|
30
|
+
const objectValue = isPlainObject(fieldValue) ? fieldValue : {};
|
|
31
|
+
const defaultedObject = applyObjectDefaults(
|
|
32
|
+
propertySchema,
|
|
33
|
+
objectValue,
|
|
34
|
+
nextAncestors
|
|
35
|
+
);
|
|
36
|
+
if (defaultedObject !== objectValue) {
|
|
37
|
+
fieldValue = defaultedObject;
|
|
38
|
+
fieldChanged = true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (fieldChanged) {
|
|
42
|
+
if (!passChanged) passValue = { ...next };
|
|
43
|
+
passValue[key] = fieldValue;
|
|
44
|
+
passChanged = true;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (!passChanged) break;
|
|
48
|
+
next = passValue;
|
|
49
|
+
}
|
|
50
|
+
return next;
|
|
51
|
+
}
|
|
52
|
+
function cloneSchemaDefault(value) {
|
|
53
|
+
if (Array.isArray(value)) return value.map(cloneSchemaDefault);
|
|
54
|
+
if (isPlainObject(value)) {
|
|
55
|
+
return Object.fromEntries(
|
|
56
|
+
Object.entries(value).map(([key, entry]) => [
|
|
57
|
+
key,
|
|
58
|
+
cloneSchemaDefault(entry)
|
|
59
|
+
])
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
applySchemaDefaults,
|
|
66
|
+
cloneSchemaDefault
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=json-schema-form-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-defaults.js","sources":["../../src/components/json-schema-form-defaults.ts"],"sourcesContent":["import { isPlainObject } from \"../lib/collections\";\nimport type { JsonSchemaObject } from \"./json-schema-form-types\";\nimport { effectiveProperties } from \"./json-schema-form-conditionals\";\nimport { isOpenStringMap, schemaRendersAsObject } from \"./json-schema-form-resolve\";\n\n// applySchemaDefaults fills missing values from JSON Schema `default` keywords.\n// It walks fixed object properties recursively and re-evaluates `if`/`then`\n// branches after each pass, so a defaulted discriminator can activate defaults\n// in its selected branch. Existing values, including null and empty strings, are\n// never replaced. The original value is returned when no defaults apply.\nexport function applySchemaDefaults(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n): Record<string, unknown> {\n return applyObjectDefaults(schema, value, new Set());\n}\n\nfunction applyObjectDefaults(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n ancestors: Set<JsonSchemaObject>,\n): Record<string, unknown> {\n // Recursive schemas may point back to an ancestor after refs are hydrated.\n if (ancestors.has(schema)) return value;\n const nextAncestors = new Set(ancestors).add(schema);\n let next = value;\n\n // A default can select another conditional branch, so allow enough passes for\n // a chain of discriminator defaults while keeping malformed schemas bounded.\n const maxPasses = Math.min(\n 100,\n Object.keys(schema.properties ?? {}).length +\n (schema.allOf?.length ?? 0) +\n 2,\n );\n for (let pass = 0; pass < maxPasses; pass += 1) {\n const { properties } = effectiveProperties(schema, next);\n let passChanged = false;\n let passValue = next;\n\n for (const [key, propertySchema] of Object.entries(properties)) {\n const existing = passValue[key];\n let fieldValue = existing;\n let fieldChanged = false;\n\n if (existing === undefined && propertySchema.default !== undefined) {\n fieldValue = cloneSchemaDefault(propertySchema.default);\n fieldChanged = true;\n }\n\n const structuredObject = schemaRendersAsObject(propertySchema);\n if (structuredObject && !isOpenStringMap(propertySchema)) {\n const objectValue = isPlainObject(fieldValue)\n ? (fieldValue as Record<string, unknown>)\n : {};\n const defaultedObject = applyObjectDefaults(\n propertySchema as JsonSchemaObject,\n objectValue,\n nextAncestors,\n );\n if (defaultedObject !== objectValue) {\n fieldValue = defaultedObject;\n fieldChanged = true;\n }\n }\n\n if (fieldChanged) {\n if (!passChanged) passValue = { ...next };\n passValue[key] = fieldValue;\n passChanged = true;\n }\n }\n\n if (!passChanged) break;\n next = passValue;\n }\n return next;\n}\n\nexport function cloneSchemaDefault(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(cloneSchemaDefault);\n if (isPlainObject(value)) {\n return Object.fromEntries(\n Object.entries(value as Record<string, unknown>).map(([key, entry]) => [\n key,\n cloneSchemaDefault(entry),\n ]),\n );\n }\n return value;\n}\n"],"names":[],"mappings":";;;AAUO,SAAS,oBACd,QACA,OACyB;AACzB,SAAO,oBAAoB,QAAQ,OAAO,oBAAI,KAAK;AACrD;AAEA,SAAS,oBACP,QACA,OACA,WACyB;;AAEzB,MAAI,UAAU,IAAI,MAAM,EAAG,QAAO;AAClC,QAAM,gBAAgB,IAAI,IAAI,SAAS,EAAE,IAAI,MAAM;AACnD,MAAI,OAAO;AAIX,QAAM,YAAY,KAAK;AAAA,IACrB;AAAA,IACA,OAAO,KAAK,OAAO,cAAc,CAAA,CAAE,EAAE,YAClC,YAAO,UAAP,mBAAc,WAAU,KACzB;AAAA,EAAA;AAEJ,WAAS,OAAO,GAAG,OAAO,WAAW,QAAQ,GAAG;AAC9C,UAAM,EAAE,WAAA,IAAe,oBAAoB,QAAQ,IAAI;AACvD,QAAI,cAAc;AAClB,QAAI,YAAY;AAEhB,eAAW,CAAC,KAAK,cAAc,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC9D,YAAM,WAAW,UAAU,GAAG;AAC9B,UAAI,aAAa;AACjB,UAAI,eAAe;AAEnB,UAAI,aAAa,UAAa,eAAe,YAAY,QAAW;AAClE,qBAAa,mBAAmB,eAAe,OAAO;AACtD,uBAAe;AAAA,MACjB;AAEA,YAAM,mBAAmB,sBAAsB,cAAc;AAC7D,UAAI,oBAAoB,CAAC,gBAAgB,cAAc,GAAG;AACxD,cAAM,cAAc,cAAc,UAAU,IACvC,aACD,CAAA;AACJ,cAAM,kBAAkB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAEF,YAAI,oBAAoB,aAAa;AACnC,uBAAa;AACb,yBAAe;AAAA,QACjB;AAAA,MACF;AAEA,UAAI,cAAc;AAChB,YAAI,CAAC,YAAa,aAAY,EAAE,GAAG,KAAA;AACnC,kBAAU,GAAG,IAAI;AACjB,sBAAc;AAAA,MAChB;AAAA,IACF;AAEA,QAAI,CAAC,YAAa;AAClB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAyB;AAC1D,MAAI,MAAM,QAAQ,KAAK,EAAG,QAAO,MAAM,IAAI,kBAAkB;AAC7D,MAAI,cAAc,KAAK,GAAG;AACxB,WAAO,OAAO;AAAA,MACZ,OAAO,QAAQ,KAAgC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAAA,QACrE;AAAA,QACA,mBAAmB,KAAK;AAAA,MAAA,CACzB;AAAA,IAAA;AAAA,EAEL;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const utils = require("../lib/utils.cjs");
|
|
5
|
+
const SegmentedControl = require("./SegmentedControl.cjs");
|
|
6
|
+
const jsonSchemaFormSize = require("./json-schema-form-size.cjs");
|
|
7
|
+
const DEFAULT_MARKER = "default";
|
|
8
|
+
function schemaDefaultChoice(schema, options) {
|
|
9
|
+
const fallback = schema.default;
|
|
10
|
+
if (typeof fallback !== "string" && typeof fallback !== "number" && typeof fallback !== "boolean") {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
const choice = String(fallback);
|
|
14
|
+
return options.some((opt) => opt.value === choice) ? choice : void 0;
|
|
15
|
+
}
|
|
16
|
+
function optionTitle(opt, isDefault) {
|
|
17
|
+
const parts = [opt.description, isDefault ? `(${DEFAULT_MARKER})` : void 0].filter(Boolean);
|
|
18
|
+
return parts.length > 0 ? parts.join(" ") : void 0;
|
|
19
|
+
}
|
|
20
|
+
const SEGMENTED_SIZE = {
|
|
21
|
+
xs: "sm",
|
|
22
|
+
sm: "sm",
|
|
23
|
+
md: "md",
|
|
24
|
+
lg: "lg",
|
|
25
|
+
xl: "lg"
|
|
26
|
+
};
|
|
27
|
+
function SegmentedEnumControl({ field, fieldId, readOnly, options, value, size }) {
|
|
28
|
+
const hasDescription = options.some((opt) => opt.description);
|
|
29
|
+
const segSize = hasDescription ? "lg" : SEGMENTED_SIZE[size];
|
|
30
|
+
const defaultChoice = schemaDefaultChoice(field.schema, options);
|
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { id: fieldId, "data-jsf-input": true, className: utils.cn(field.inputClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
+
SegmentedControl.SegmentedControl,
|
|
33
|
+
{
|
|
34
|
+
"aria-label": field.label,
|
|
35
|
+
value,
|
|
36
|
+
onChange: (next) => field.onChange(next),
|
|
37
|
+
size: segSize,
|
|
38
|
+
wrap: true,
|
|
39
|
+
options: options.map((opt) => {
|
|
40
|
+
const isDefault = opt.value === defaultChoice;
|
|
41
|
+
const title = optionTitle(opt, isDefault);
|
|
42
|
+
return {
|
|
43
|
+
id: opt.value,
|
|
44
|
+
label: opt.label,
|
|
45
|
+
// x-enum-icons resolves to a runtime name string; SegmentedControl
|
|
46
|
+
// renders that via <Icon name>. Non-string (pre-extension) icons are
|
|
47
|
+
// dropped here since the segmented option type only takes name/component.
|
|
48
|
+
...typeof opt.icon === "string" ? { icon: opt.icon } : {},
|
|
49
|
+
...opt.description ? { description: opt.description } : {},
|
|
50
|
+
...title ? { title } : {},
|
|
51
|
+
...isDefault ? { marker: DEFAULT_MARKER, implied: true } : {},
|
|
52
|
+
...readOnly ? { disabled: true } : {}
|
|
53
|
+
};
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
) });
|
|
57
|
+
}
|
|
58
|
+
function RadioGroupControl({ field, fieldId, readOnly, options, value, size }) {
|
|
59
|
+
const defaultChoice = schemaDefaultChoice(field.schema, options);
|
|
60
|
+
const impliedChoice = value === "" ? defaultChoice : void 0;
|
|
61
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
62
|
+
"div",
|
|
63
|
+
{
|
|
64
|
+
role: "radiogroup",
|
|
65
|
+
"aria-label": field.label,
|
|
66
|
+
id: fieldId,
|
|
67
|
+
"data-jsf-input": true,
|
|
68
|
+
className: utils.cn(
|
|
69
|
+
"inline-flex flex-wrap items-center gap-1 rounded-md border border-input bg-background p-0.5",
|
|
70
|
+
field.inputClassName
|
|
71
|
+
),
|
|
72
|
+
children: options.map((opt) => {
|
|
73
|
+
const checked = opt.value === value;
|
|
74
|
+
const implied = opt.value === impliedChoice;
|
|
75
|
+
const isDefault = opt.value === defaultChoice;
|
|
76
|
+
const markerId = isDefault ? `${fieldId}-default` : void 0;
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
78
|
+
"label",
|
|
79
|
+
{
|
|
80
|
+
title: optionTitle(opt, isDefault),
|
|
81
|
+
"data-implied": implied ? "true" : void 0,
|
|
82
|
+
className: utils.cn(
|
|
83
|
+
"inline-flex cursor-pointer select-none items-center rounded px-2.5 py-1",
|
|
84
|
+
jsonSchemaFormSize.labelSizeClass[size],
|
|
85
|
+
checked ? "bg-primary text-primary-foreground" : implied ? "text-foreground outline-dashed outline-1 -outline-offset-1 outline-primary/60 hover:bg-accent" : "text-muted-foreground hover:bg-accent hover:text-foreground",
|
|
86
|
+
readOnly && "cursor-not-allowed opacity-60"
|
|
87
|
+
),
|
|
88
|
+
children: [
|
|
89
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
+
"input",
|
|
91
|
+
{
|
|
92
|
+
type: "radio",
|
|
93
|
+
name: fieldId,
|
|
94
|
+
className: "sr-only",
|
|
95
|
+
value: opt.value,
|
|
96
|
+
checked,
|
|
97
|
+
disabled: readOnly,
|
|
98
|
+
"aria-describedby": markerId,
|
|
99
|
+
onChange: () => field.onChange(opt.value)
|
|
100
|
+
}
|
|
101
|
+
),
|
|
102
|
+
opt.label,
|
|
103
|
+
isDefault && /* @__PURE__ */ jsxRuntime.jsx("span", { id: markerId, "aria-hidden": "true", className: "ml-1.5 text-[11px] font-normal opacity-70", children: DEFAULT_MARKER })
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
opt.value
|
|
107
|
+
);
|
|
108
|
+
})
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
exports.RadioGroupControl = RadioGroupControl;
|
|
113
|
+
exports.SegmentedEnumControl = SegmentedEnumControl;
|
|
114
|
+
//# sourceMappingURL=json-schema-form-enum-choice.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-enum-choice.cjs","sources":["../../src/components/json-schema-form-enum-choice.tsx"],"sourcesContent":["import { cn } from \"../lib/utils\";\nimport { SegmentedControl, type SegmentedSize } from \"./SegmentedControl\";\nimport type { FieldControl, FieldOption, JsonSchemaProperty } from \"./json-schema-form-types\";\nimport { labelSizeClass, type FormSize } from \"./json-schema-form-size\";\n\nconst DEFAULT_MARKER = \"default\";\n\n// schemaDefaultChoice returns the option value named by the schema's scalar\n// `default`, or undefined when there is none or it matches no option.\nfunction schemaDefaultChoice(schema: JsonSchemaProperty, options: FieldOption[]): string | undefined {\n const fallback = schema.default;\n if (typeof fallback !== \"string\" && typeof fallback !== \"number\" && typeof fallback !== \"boolean\") {\n return undefined;\n }\n const choice = String(fallback);\n return options.some((opt) => opt.value === choice) ? choice : undefined;\n}\n\n// optionTitle is the native tooltip for one choice: its x-enum-descriptions\n// entry, suffixed with \"(default)\" when it is the schema default.\nfunction optionTitle(opt: FieldOption, isDefault: boolean): string | undefined {\n const parts = [opt.description, isDefault ? `(${DEFAULT_MARKER})` : undefined].filter(Boolean);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n}\n\ntype EnumChoiceProps = {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n options: FieldOption[];\n value: string;\n size: FormSize;\n};\n\n// The FormSize scale is wider than SegmentedControl's; map the extremes down.\nconst SEGMENTED_SIZE: Record<FormSize, SegmentedSize> = {\n xs: \"sm\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"lg\",\n};\n\n// SegmentedEnumControl renders an enum (x-enum-display: \"segmented\") with the\n// shared SegmentedControl. Icons come from x-enum-icons, descriptions from\n// x-enum-descriptions (which promote it to the large card layout, and double as\n// the segment tooltip). The schema default carries a \"default\" marker and, while\n// the value is unset, the implied style. The wrapper carries the field id +\n// data-jsf-input so the JSF field contract holds.\nexport function SegmentedEnumControl({ field, fieldId, readOnly, options, value, size }: EnumChoiceProps) {\n const hasDescription = options.some((opt) => opt.description);\n const segSize: SegmentedSize = hasDescription ? \"lg\" : SEGMENTED_SIZE[size];\n const defaultChoice = schemaDefaultChoice(field.schema, options);\n return (\n <div id={fieldId} data-jsf-input className={cn(field.inputClassName)}>\n <SegmentedControl\n aria-label={field.label}\n value={value}\n onChange={(next) => field.onChange(next)}\n size={segSize}\n wrap\n options={options.map((opt) => {\n const isDefault = opt.value === defaultChoice;\n const title = optionTitle(opt, isDefault);\n return {\n id: opt.value,\n label: opt.label,\n // x-enum-icons resolves to a runtime name string; SegmentedControl\n // renders that via <Icon name>. Non-string (pre-extension) icons are\n // dropped here since the segmented option type only takes name/component.\n ...(typeof opt.icon === \"string\" ? { icon: opt.icon } : {}),\n ...(opt.description ? { description: opt.description } : {}),\n ...(title ? { title } : {}),\n ...(isDefault ? { marker: DEFAULT_MARKER, implied: true } : {}),\n ...(readOnly ? { disabled: true } : {}),\n };\n })}\n />\n </div>\n );\n}\n\n// RadioGroupControl renders a small fixed enum as a segmented radio-button group\n// instead of a dropdown. It shares EnumControl's option list (any out-of-enum\n// value is already prepended, so a token still shows). One `radiogroup` role +\n// native radios keep it keyboard-navigable; the visible chip is a styled label\n// whose title is the option's description. The schema default carries a muted\n// \"default\" marker (the radio's accessible description) and, while the value is\n// unset, a dashed primary outline — distinct from the filled selection, and\n// never `checked`, because nothing is selected.\nexport function RadioGroupControl({ field, fieldId, readOnly, options, value, size }: EnumChoiceProps) {\n const defaultChoice = schemaDefaultChoice(field.schema, options);\n const impliedChoice = value === \"\" ? defaultChoice : undefined;\n return (\n <div\n role=\"radiogroup\"\n aria-label={field.label}\n id={fieldId}\n data-jsf-input\n className={cn(\n \"inline-flex flex-wrap items-center gap-1 rounded-md border border-input bg-background p-0.5\",\n field.inputClassName,\n )}\n >\n {options.map((opt) => {\n const checked = opt.value === value;\n const implied = opt.value === impliedChoice;\n const isDefault = opt.value === defaultChoice;\n const markerId = isDefault ? `${fieldId}-default` : undefined;\n return (\n <label\n key={opt.value}\n title={optionTitle(opt, isDefault)}\n data-implied={implied ? \"true\" : undefined}\n className={cn(\n \"inline-flex cursor-pointer select-none items-center rounded px-2.5 py-1\",\n labelSizeClass[size],\n checked\n ? \"bg-primary text-primary-foreground\"\n : implied\n ? \"text-foreground outline-dashed outline-1 -outline-offset-1 outline-primary/60 hover:bg-accent\"\n : \"text-muted-foreground hover:bg-accent hover:text-foreground\",\n readOnly && \"cursor-not-allowed opacity-60\",\n )}\n >\n <input\n type=\"radio\"\n name={fieldId}\n className=\"sr-only\"\n value={opt.value}\n checked={checked}\n disabled={readOnly}\n aria-describedby={markerId}\n onChange={() => field.onChange(opt.value)}\n />\n {opt.label}\n {isDefault && (\n <span id={markerId} aria-hidden=\"true\" className=\"ml-1.5 text-[11px] font-normal opacity-70\">\n {DEFAULT_MARKER}\n </span>\n )}\n </label>\n );\n })}\n </div>\n );\n}\n"],"names":["jsx","cn","SegmentedControl","jsxs","labelSizeClass"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FieldControl, FieldOption } from './json-schema-form-types.js';
|
|
2
|
+
import { FormSize } from './json-schema-form-size.js';
|
|
3
|
+
type EnumChoiceProps = {
|
|
4
|
+
field: FieldControl;
|
|
5
|
+
fieldId: string;
|
|
6
|
+
readOnly: boolean;
|
|
7
|
+
options: FieldOption[];
|
|
8
|
+
value: string;
|
|
9
|
+
size: FormSize;
|
|
10
|
+
};
|
|
11
|
+
export declare function SegmentedEnumControl({ field, fieldId, readOnly, options, value, size }: EnumChoiceProps): import("react").JSX.Element;
|
|
12
|
+
export declare function RadioGroupControl({ field, fieldId, readOnly, options, value, size }: EnumChoiceProps): import("react").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=json-schema-form-enum-choice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-enum-choice.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-enum-choice.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAsBxE,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAiBF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,eAAe,+BA+BvG;AAUD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,eAAe,+BAwDpG"}
|