@walkeros/explorer 2.1.4 → 3.0.0-next-1773236214827
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 +35 -11
- package/dist/components/atoms/button-group.stories.d.ts.map +1 -1
- package/dist/components/atoms/button-group.stories.js +5 -1
- package/dist/components/atoms/button-group.stories.js.map +1 -1
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.js +1 -1
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.js.map +1 -1
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js +1 -1
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js.map +1 -1
- package/dist/components/molecules/code-box.stories.d.ts +3 -3
- package/dist/components/molecules/code-box.stories.d.ts.map +1 -1
- package/dist/components/molecules/code-box.stories.js +7 -7
- package/dist/components/molecules/code-box.stories.js.map +1 -1
- package/dist/components/molecules/property-table.d.ts.map +1 -1
- package/dist/components/molecules/property-table.js.map +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/hooks/useMonacoHeight.d.ts.map +1 -1
- package/dist/hooks/useMonacoHeight.js.map +1 -1
- package/dist/index.d.cts +9 -672
- package/dist/index.d.ts +1 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -18676
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +687 -5001
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/themes/index.js.map +1 -1
- package/dist/types/intellisense.d.ts +2 -0
- package/dist/types/intellisense.d.ts.map +1 -1
- package/dist/utils/contract-path-walker.d.ts +27 -0
- package/dist/utils/contract-path-walker.d.ts.map +1 -0
- package/dist/utils/contract-path-walker.js +145 -0
- package/dist/utils/contract-path-walker.js.map +1 -0
- package/dist/utils/mapping-context-detector.d.ts +17 -0
- package/dist/utils/mapping-context-detector.d.ts.map +1 -0
- package/dist/utils/mapping-context-detector.js +22 -0
- package/dist/utils/mapping-context-detector.js.map +1 -0
- package/dist/utils/monaco-context-types.d.ts.map +1 -1
- package/dist/utils/monaco-context-types.js.map +1 -1
- package/dist/utils/monaco-intellisense-flow-extractor.d.ts +2 -2
- package/dist/utils/monaco-intellisense-flow-extractor.d.ts.map +1 -1
- package/dist/utils/monaco-intellisense-flow-extractor.js +28 -21
- package/dist/utils/monaco-intellisense-flow-extractor.js.map +1 -1
- package/dist/utils/monaco-json-path.d.ts +12 -0
- package/dist/utils/monaco-json-path.d.ts.map +1 -0
- package/dist/utils/monaco-json-path.js +68 -0
- package/dist/utils/monaco-json-path.js.map +1 -0
- package/dist/utils/monaco-schema-flow-config.d.ts +10 -0
- package/dist/utils/monaco-schema-flow-config.d.ts.map +1 -0
- package/dist/utils/{monaco-schema-flow-setup.js → monaco-schema-flow-config.js} +19 -19
- package/dist/utils/monaco-schema-flow-config.js.map +1 -0
- package/dist/utils/monaco-walkeros-completions.d.ts +8 -0
- package/dist/utils/monaco-walkeros-completions.d.ts.map +1 -1
- package/dist/utils/monaco-walkeros-completions.js +193 -0
- package/dist/utils/monaco-walkeros-completions.js.map +1 -1
- package/dist/utils/monaco-walkeros-providers.d.ts.map +1 -1
- package/dist/utils/monaco-walkeros-providers.js +58 -3
- package/dist/utils/monaco-walkeros-providers.js.map +1 -1
- package/package.json +9 -26
- package/AGENT.md +0 -429
- package/LICENSE +0 -42
- package/STYLE.md +0 -1103
- package/dist/chunk-5B2ONDO3.mjs +0 -573
- package/dist/chunk-5B2ONDO3.mjs.map +0 -1
- package/dist/components/atoms/alert.d.ts +0 -29
- package/dist/components/atoms/alert.d.ts.map +0 -1
- package/dist/components/atoms/alert.js +0 -19
- package/dist/components/atoms/alert.js.map +0 -1
- package/dist/components/atoms/alert.stories.d.ts +0 -7
- package/dist/components/atoms/alert.stories.d.ts.map +0 -1
- package/dist/components/atoms/alert.stories.js +0 -14
- package/dist/components/atoms/alert.stories.js.map +0 -1
- package/dist/components/atoms/base-mapping-pane.d.ts +0 -85
- package/dist/components/atoms/base-mapping-pane.d.ts.map +0 -1
- package/dist/components/atoms/base-mapping-pane.js +0 -53
- package/dist/components/atoms/base-mapping-pane.js.map +0 -1
- package/dist/components/atoms/config-tile.d.ts +0 -38
- package/dist/components/atoms/config-tile.d.ts.map +0 -1
- package/dist/components/atoms/config-tile.js +0 -29
- package/dist/components/atoms/config-tile.js.map +0 -1
- package/dist/components/atoms/consent-state-tile.d.ts +0 -14
- package/dist/components/atoms/consent-state-tile.d.ts.map +0 -1
- package/dist/components/atoms/consent-state-tile.js +0 -5
- package/dist/components/atoms/consent-state-tile.js.map +0 -1
- package/dist/components/atoms/field-header.d.ts +0 -41
- package/dist/components/atoms/field-header.d.ts.map +0 -1
- package/dist/components/atoms/field-header.js +0 -42
- package/dist/components/atoms/field-header.js.map +0 -1
- package/dist/components/atoms/form-field.d.ts +0 -28
- package/dist/components/atoms/form-field.d.ts.map +0 -1
- package/dist/components/atoms/form-field.js +0 -16
- package/dist/components/atoms/form-field.js.map +0 -1
- package/dist/components/atoms/form-field.stories.d.ts +0 -7
- package/dist/components/atoms/form-field.stories.d.ts.map +0 -1
- package/dist/components/atoms/form-field.stories.js +0 -16
- package/dist/components/atoms/form-field.stories.js.map +0 -1
- package/dist/components/atoms/form-input.d.ts +0 -43
- package/dist/components/atoms/form-input.d.ts.map +0 -1
- package/dist/components/atoms/form-input.js +0 -26
- package/dist/components/atoms/form-input.js.map +0 -1
- package/dist/components/atoms/form-input.stories.d.ts +0 -7
- package/dist/components/atoms/form-input.stories.d.ts.map +0 -1
- package/dist/components/atoms/form-input.stories.js +0 -17
- package/dist/components/atoms/form-input.stories.js.map +0 -1
- package/dist/components/atoms/form-textarea.d.ts +0 -41
- package/dist/components/atoms/form-textarea.d.ts.map +0 -1
- package/dist/components/atoms/form-textarea.js +0 -26
- package/dist/components/atoms/form-textarea.js.map +0 -1
- package/dist/components/atoms/form-textarea.stories.d.ts +0 -7
- package/dist/components/atoms/form-textarea.stories.d.ts.map +0 -1
- package/dist/components/atoms/form-textarea.stories.js +0 -17
- package/dist/components/atoms/form-textarea.stories.js.map +0 -1
- package/dist/components/atoms/icon-button.d.ts +0 -26
- package/dist/components/atoms/icon-button.d.ts.map +0 -1
- package/dist/components/atoms/icon-button.js +0 -39
- package/dist/components/atoms/icon-button.js.map +0 -1
- package/dist/components/atoms/mapping-boolean.d.ts +0 -31
- package/dist/components/atoms/mapping-boolean.d.ts.map +0 -1
- package/dist/components/atoms/mapping-boolean.js +0 -38
- package/dist/components/atoms/mapping-boolean.js.map +0 -1
- package/dist/components/atoms/mapping-breadcrumb.d.ts +0 -14
- package/dist/components/atoms/mapping-breadcrumb.d.ts.map +0 -1
- package/dist/components/atoms/mapping-breadcrumb.js +0 -10
- package/dist/components/atoms/mapping-breadcrumb.js.map +0 -1
- package/dist/components/atoms/mapping-collapsible.d.ts +0 -54
- package/dist/components/atoms/mapping-collapsible.d.ts.map +0 -1
- package/dist/components/atoms/mapping-collapsible.js +0 -87
- package/dist/components/atoms/mapping-collapsible.js.map +0 -1
- package/dist/components/atoms/mapping-condition-field.d.ts +0 -18
- package/dist/components/atoms/mapping-condition-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-condition-field.js +0 -34
- package/dist/components/atoms/mapping-condition-field.js.map +0 -1
- package/dist/components/atoms/mapping-condition.d.ts +0 -34
- package/dist/components/atoms/mapping-condition.d.ts.map +0 -1
- package/dist/components/atoms/mapping-condition.js +0 -70
- package/dist/components/atoms/mapping-condition.js.map +0 -1
- package/dist/components/atoms/mapping-confirm-button.d.ts +0 -29
- package/dist/components/atoms/mapping-confirm-button.d.ts.map +0 -1
- package/dist/components/atoms/mapping-confirm-button.js +0 -42
- package/dist/components/atoms/mapping-confirm-button.js.map +0 -1
- package/dist/components/atoms/mapping-consent-field.d.ts +0 -20
- package/dist/components/atoms/mapping-consent-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-consent-field.js +0 -36
- package/dist/components/atoms/mapping-consent-field.js.map +0 -1
- package/dist/components/atoms/mapping-consent.d.ts +0 -34
- package/dist/components/atoms/mapping-consent.d.ts.map +0 -1
- package/dist/components/atoms/mapping-consent.js +0 -86
- package/dist/components/atoms/mapping-consent.js.map +0 -1
- package/dist/components/atoms/mapping-data-field.d.ts +0 -23
- package/dist/components/atoms/mapping-data-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-data-field.js +0 -38
- package/dist/components/atoms/mapping-data-field.js.map +0 -1
- package/dist/components/atoms/mapping-data.d.ts +0 -34
- package/dist/components/atoms/mapping-data.d.ts.map +0 -1
- package/dist/components/atoms/mapping-data.js +0 -76
- package/dist/components/atoms/mapping-data.js.map +0 -1
- package/dist/components/atoms/mapping-enum-select.d.ts +0 -28
- package/dist/components/atoms/mapping-enum-select.d.ts.map +0 -1
- package/dist/components/atoms/mapping-enum-select.js +0 -142
- package/dist/components/atoms/mapping-enum-select.js.map +0 -1
- package/dist/components/atoms/mapping-fn-field.d.ts +0 -23
- package/dist/components/atoms/mapping-fn-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-fn-field.js +0 -38
- package/dist/components/atoms/mapping-fn-field.js.map +0 -1
- package/dist/components/atoms/mapping-fn.d.ts +0 -34
- package/dist/components/atoms/mapping-fn.d.ts.map +0 -1
- package/dist/components/atoms/mapping-fn.js +0 -70
- package/dist/components/atoms/mapping-fn.js.map +0 -1
- package/dist/components/atoms/mapping-grid.d.ts +0 -45
- package/dist/components/atoms/mapping-grid.d.ts.map +0 -1
- package/dist/components/atoms/mapping-grid.js +0 -83
- package/dist/components/atoms/mapping-grid.js.map +0 -1
- package/dist/components/atoms/mapping-input-with-button.d.ts +0 -54
- package/dist/components/atoms/mapping-input-with-button.d.ts.map +0 -1
- package/dist/components/atoms/mapping-input-with-button.js +0 -54
- package/dist/components/atoms/mapping-input-with-button.js.map +0 -1
- package/dist/components/atoms/mapping-input.d.ts +0 -44
- package/dist/components/atoms/mapping-input.d.ts.map +0 -1
- package/dist/components/atoms/mapping-input.js +0 -35
- package/dist/components/atoms/mapping-input.js.map +0 -1
- package/dist/components/atoms/mapping-key-field.d.ts +0 -23
- package/dist/components/atoms/mapping-key-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-key-field.js +0 -39
- package/dist/components/atoms/mapping-key-field.js.map +0 -1
- package/dist/components/atoms/mapping-key.d.ts +0 -35
- package/dist/components/atoms/mapping-key.d.ts.map +0 -1
- package/dist/components/atoms/mapping-key.js +0 -48
- package/dist/components/atoms/mapping-key.js.map +0 -1
- package/dist/components/atoms/mapping-map-entry.d.ts +0 -31
- package/dist/components/atoms/mapping-map-entry.d.ts.map +0 -1
- package/dist/components/atoms/mapping-map-entry.js +0 -68
- package/dist/components/atoms/mapping-map-entry.js.map +0 -1
- package/dist/components/atoms/mapping-number.d.ts +0 -32
- package/dist/components/atoms/mapping-number.d.ts.map +0 -1
- package/dist/components/atoms/mapping-number.js +0 -52
- package/dist/components/atoms/mapping-number.js.map +0 -1
- package/dist/components/atoms/mapping-object-explorer-field.d.ts +0 -30
- package/dist/components/atoms/mapping-object-explorer-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-object-explorer-field.js +0 -48
- package/dist/components/atoms/mapping-object-explorer-field.js.map +0 -1
- package/dist/components/atoms/mapping-object-explorer.d.ts +0 -59
- package/dist/components/atoms/mapping-object-explorer.d.ts.map +0 -1
- package/dist/components/atoms/mapping-object-explorer.js +0 -215
- package/dist/components/atoms/mapping-object-explorer.js.map +0 -1
- package/dist/components/atoms/mapping-set-entry.d.ts +0 -31
- package/dist/components/atoms/mapping-set-entry.d.ts.map +0 -1
- package/dist/components/atoms/mapping-set-entry.js +0 -66
- package/dist/components/atoms/mapping-set-entry.js.map +0 -1
- package/dist/components/atoms/mapping-settings-field.d.ts +0 -33
- package/dist/components/atoms/mapping-settings-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-settings-field.js +0 -48
- package/dist/components/atoms/mapping-settings-field.js.map +0 -1
- package/dist/components/atoms/mapping-settings.d.ts +0 -44
- package/dist/components/atoms/mapping-settings.d.ts.map +0 -1
- package/dist/components/atoms/mapping-settings.js +0 -108
- package/dist/components/atoms/mapping-settings.js.map +0 -1
- package/dist/components/atoms/mapping-string.d.ts +0 -19
- package/dist/components/atoms/mapping-string.d.ts.map +0 -1
- package/dist/components/atoms/mapping-string.js +0 -26
- package/dist/components/atoms/mapping-string.js.map +0 -1
- package/dist/components/atoms/mapping-tab.d.ts +0 -15
- package/dist/components/atoms/mapping-tab.d.ts.map +0 -1
- package/dist/components/atoms/mapping-tab.js +0 -8
- package/dist/components/atoms/mapping-tab.js.map +0 -1
- package/dist/components/atoms/mapping-type-button.d.ts +0 -19
- package/dist/components/atoms/mapping-type-button.d.ts.map +0 -1
- package/dist/components/atoms/mapping-type-button.js +0 -5
- package/dist/components/atoms/mapping-type-button.js.map +0 -1
- package/dist/components/atoms/mapping-validate-field.d.ts +0 -23
- package/dist/components/atoms/mapping-validate-field.d.ts.map +0 -1
- package/dist/components/atoms/mapping-validate-field.js +0 -38
- package/dist/components/atoms/mapping-validate-field.js.map +0 -1
- package/dist/components/atoms/mapping-validate.d.ts +0 -34
- package/dist/components/atoms/mapping-validate.d.ts.map +0 -1
- package/dist/components/atoms/mapping-validate.js +0 -68
- package/dist/components/atoms/mapping-validate.js.map +0 -1
- package/dist/components/atoms/mapping-value.d.ts +0 -17
- package/dist/components/atoms/mapping-value.d.ts.map +0 -1
- package/dist/components/atoms/mapping-value.js +0 -127
- package/dist/components/atoms/mapping-value.js.map +0 -1
- package/dist/components/atoms/pane-header.d.ts +0 -24
- package/dist/components/atoms/pane-header.d.ts.map +0 -1
- package/dist/components/atoms/pane-header.js +0 -5
- package/dist/components/atoms/pane-header.js.map +0 -1
- package/dist/components/atoms/panel-hints.d.ts +0 -35
- package/dist/components/atoms/panel-hints.d.ts.map +0 -1
- package/dist/components/atoms/panel-hints.js +0 -5
- package/dist/components/atoms/panel-hints.js.map +0 -1
- package/dist/components/atoms/panel-hints.stories.d.ts +0 -14
- package/dist/components/atoms/panel-hints.stories.d.ts.map +0 -1
- package/dist/components/atoms/panel-hints.stories.js +0 -35
- package/dist/components/atoms/panel-hints.stories.js.map +0 -1
- package/dist/components/atoms/submit-button.d.ts +0 -34
- package/dist/components/atoms/submit-button.d.ts.map +0 -1
- package/dist/components/atoms/submit-button.js +0 -18
- package/dist/components/atoms/submit-button.js.map +0 -1
- package/dist/components/atoms/submit-button.stories.d.ts +0 -7
- package/dist/components/atoms/submit-button.stories.d.ts.map +0 -1
- package/dist/components/atoms/submit-button.stories.js +0 -13
- package/dist/components/atoms/submit-button.stories.js.map +0 -1
- package/dist/components/demos/MappingCode.d.ts +0 -34
- package/dist/components/demos/MappingCode.d.ts.map +0 -1
- package/dist/components/demos/MappingCode.js +0 -54
- package/dist/components/demos/MappingCode.js.map +0 -1
- package/dist/components/demos/MappingCode.stories.d.ts +0 -16
- package/dist/components/demos/MappingCode.stories.d.ts.map +0 -1
- package/dist/components/demos/MappingCode.stories.js +0 -42
- package/dist/components/demos/MappingCode.stories.js.map +0 -1
- package/dist/components/demos/MappingDemo.d.ts +0 -41
- package/dist/components/demos/MappingDemo.d.ts.map +0 -1
- package/dist/components/demos/MappingDemo.js +0 -62
- package/dist/components/demos/MappingDemo.js.map +0 -1
- package/dist/components/demos/MappingDemo.stories.d.ts +0 -16
- package/dist/components/demos/MappingDemo.stories.d.ts.map +0 -1
- package/dist/components/demos/MappingDemo.stories.js +0 -63
- package/dist/components/demos/MappingDemo.stories.js.map +0 -1
- package/dist/components/forms/field-registry.d.ts +0 -42
- package/dist/components/forms/field-registry.d.ts.map +0 -1
- package/dist/components/forms/field-registry.js +0 -64
- package/dist/components/forms/field-registry.js.map +0 -1
- package/dist/components/forms/mapping-form-wrapper.d.ts +0 -14
- package/dist/components/forms/mapping-form-wrapper.d.ts.map +0 -1
- package/dist/components/forms/mapping-form-wrapper.js +0 -105
- package/dist/components/forms/mapping-form-wrapper.js.map +0 -1
- package/dist/components/forms/widget-registry.d.ts +0 -42
- package/dist/components/forms/widget-registry.d.ts.map +0 -1
- package/dist/components/forms/widget-registry.js +0 -54
- package/dist/components/forms/widget-registry.js.map +0 -1
- package/dist/components/molecules/auto-select.d.ts +0 -29
- package/dist/components/molecules/auto-select.d.ts.map +0 -1
- package/dist/components/molecules/auto-select.js +0 -188
- package/dist/components/molecules/auto-select.js.map +0 -1
- package/dist/components/molecules/config-form-card.d.ts +0 -50
- package/dist/components/molecules/config-form-card.d.ts.map +0 -1
- package/dist/components/molecules/config-form-card.js +0 -30
- package/dist/components/molecules/config-form-card.js.map +0 -1
- package/dist/components/molecules/config-form-card.stories.d.ts +0 -7
- package/dist/components/molecules/config-form-card.stories.d.ts.map +0 -1
- package/dist/components/molecules/config-form-card.stories.js +0 -21
- package/dist/components/molecules/config-form-card.stories.js.map +0 -1
- package/dist/components/molecules/config-overview-pane.d.ts +0 -44
- package/dist/components/molecules/config-overview-pane.d.ts.map +0 -1
- package/dist/components/molecules/config-overview-pane.js +0 -75
- package/dist/components/molecules/config-overview-pane.js.map +0 -1
- package/dist/components/molecules/config-tree-sidebar.d.ts +0 -46
- package/dist/components/molecules/config-tree-sidebar.d.ts.map +0 -1
- package/dist/components/molecules/config-tree-sidebar.js +0 -183
- package/dist/components/molecules/config-tree-sidebar.js.map +0 -1
- package/dist/components/molecules/destination-config-overview-pane.d.ts +0 -33
- package/dist/components/molecules/destination-config-overview-pane.d.ts.map +0 -1
- package/dist/components/molecules/destination-config-overview-pane.js +0 -153
- package/dist/components/molecules/destination-config-overview-pane.js.map +0 -1
- package/dist/components/molecules/flow-selector.d.ts +0 -19
- package/dist/components/molecules/flow-selector.d.ts.map +0 -1
- package/dist/components/molecules/flow-selector.js +0 -26
- package/dist/components/molecules/flow-selector.js.map +0 -1
- package/dist/components/molecules/flow-selector.stories.d.ts +0 -28
- package/dist/components/molecules/flow-selector.stories.d.ts.map +0 -1
- package/dist/components/molecules/flow-selector.stories.js +0 -66
- package/dist/components/molecules/flow-selector.stories.js.map +0 -1
- package/dist/components/molecules/form-card.d.ts +0 -28
- package/dist/components/molecules/form-card.d.ts.map +0 -1
- package/dist/components/molecules/form-card.js +0 -16
- package/dist/components/molecules/form-card.js.map +0 -1
- package/dist/components/molecules/form-card.stories.d.ts +0 -7
- package/dist/components/molecules/form-card.stories.d.ts.map +0 -1
- package/dist/components/molecules/form-card.stories.js +0 -16
- package/dist/components/molecules/form-card.stories.js.map +0 -1
- package/dist/components/molecules/mapping-batch-pane-view.d.ts +0 -22
- package/dist/components/molecules/mapping-batch-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-batch-pane-view.js +0 -45
- package/dist/components/molecules/mapping-batch-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-boolean-pane-view.d.ts +0 -28
- package/dist/components/molecules/mapping-boolean-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-boolean-pane-view.js +0 -34
- package/dist/components/molecules/mapping-boolean-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-condition-pane-view.d.ts +0 -18
- package/dist/components/molecules/mapping-condition-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-condition-pane-view.js +0 -63
- package/dist/components/molecules/mapping-condition-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-consent-pane-view.d.ts +0 -16
- package/dist/components/molecules/mapping-consent-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-consent-pane-view.js +0 -65
- package/dist/components/molecules/mapping-consent-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-consent-row.d.ts +0 -29
- package/dist/components/molecules/mapping-consent-row.d.ts.map +0 -1
- package/dist/components/molecules/mapping-consent-row.js +0 -26
- package/dist/components/molecules/mapping-consent-row.js.map +0 -1
- package/dist/components/molecules/mapping-entity-pane.d.ts +0 -17
- package/dist/components/molecules/mapping-entity-pane.d.ts.map +0 -1
- package/dist/components/molecules/mapping-entity-pane.js +0 -68
- package/dist/components/molecules/mapping-entity-pane.js.map +0 -1
- package/dist/components/molecules/mapping-enum-pane-view.d.ts +0 -40
- package/dist/components/molecules/mapping-enum-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-enum-pane-view.js +0 -32
- package/dist/components/molecules/mapping-enum-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-fn-pane-view.d.ts +0 -18
- package/dist/components/molecules/mapping-fn-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-fn-pane-view.js +0 -77
- package/dist/components/molecules/mapping-fn-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-function-pane-base.d.ts +0 -53
- package/dist/components/molecules/mapping-function-pane-base.d.ts.map +0 -1
- package/dist/components/molecules/mapping-function-pane-base.js +0 -60
- package/dist/components/molecules/mapping-function-pane-base.js.map +0 -1
- package/dist/components/molecules/mapping-key-pane-view.d.ts +0 -23
- package/dist/components/molecules/mapping-key-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-key-pane-view.js +0 -12
- package/dist/components/molecules/mapping-key-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-loop-field.d.ts +0 -44
- package/dist/components/molecules/mapping-loop-field.d.ts.map +0 -1
- package/dist/components/molecules/mapping-loop-field.js +0 -133
- package/dist/components/molecules/mapping-loop-field.js.map +0 -1
- package/dist/components/molecules/mapping-loop-pane-view.d.ts +0 -28
- package/dist/components/molecules/mapping-loop-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-loop-pane-view.js +0 -44
- package/dist/components/molecules/mapping-loop-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-map-field.d.ts +0 -31
- package/dist/components/molecules/mapping-map-field.d.ts.map +0 -1
- package/dist/components/molecules/mapping-map-field.js +0 -120
- package/dist/components/molecules/mapping-map-field.js.map +0 -1
- package/dist/components/molecules/mapping-map-overview.d.ts +0 -13
- package/dist/components/molecules/mapping-map-overview.d.ts.map +0 -1
- package/dist/components/molecules/mapping-map-overview.js +0 -58
- package/dist/components/molecules/mapping-map-overview.js.map +0 -1
- package/dist/components/molecules/mapping-map-pane-view-rjsf.d.ts +0 -53
- package/dist/components/molecules/mapping-map-pane-view-rjsf.d.ts.map +0 -1
- package/dist/components/molecules/mapping-map-pane-view-rjsf.js +0 -127
- package/dist/components/molecules/mapping-map-pane-view-rjsf.js.map +0 -1
- package/dist/components/molecules/mapping-name-pane-view.d.ts +0 -22
- package/dist/components/molecules/mapping-name-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-name-pane-view.js +0 -38
- package/dist/components/molecules/mapping-name-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-navigation-header.d.ts +0 -27
- package/dist/components/molecules/mapping-navigation-header.d.ts.map +0 -1
- package/dist/components/molecules/mapping-navigation-header.js +0 -7
- package/dist/components/molecules/mapping-navigation-header.js.map +0 -1
- package/dist/components/molecules/mapping-overview-pane.d.ts +0 -14
- package/dist/components/molecules/mapping-overview-pane.d.ts.map +0 -1
- package/dist/components/molecules/mapping-overview-pane.js +0 -60
- package/dist/components/molecules/mapping-overview-pane.js.map +0 -1
- package/dist/components/molecules/mapping-pane.d.ts +0 -52
- package/dist/components/molecules/mapping-pane.d.ts.map +0 -1
- package/dist/components/molecules/mapping-pane.js +0 -155
- package/dist/components/molecules/mapping-pane.js.map +0 -1
- package/dist/components/molecules/mapping-policy-overview-pane.d.ts +0 -26
- package/dist/components/molecules/mapping-policy-overview-pane.d.ts.map +0 -1
- package/dist/components/molecules/mapping-policy-overview-pane.js +0 -69
- package/dist/components/molecules/mapping-policy-overview-pane.js.map +0 -1
- package/dist/components/molecules/mapping-primitive-pane-view.d.ts +0 -30
- package/dist/components/molecules/mapping-primitive-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-primitive-pane-view.js +0 -43
- package/dist/components/molecules/mapping-primitive-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-rule-pane-view.d.ts +0 -25
- package/dist/components/molecules/mapping-rule-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-rule-pane-view.js +0 -35
- package/dist/components/molecules/mapping-rule-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-set-field.d.ts +0 -34
- package/dist/components/molecules/mapping-set-field.d.ts.map +0 -1
- package/dist/components/molecules/mapping-set-field.js +0 -160
- package/dist/components/molecules/mapping-set-field.js.map +0 -1
- package/dist/components/molecules/mapping-set-pane-view.d.ts +0 -31
- package/dist/components/molecules/mapping-set-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-set-pane-view.js +0 -96
- package/dist/components/molecules/mapping-set-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-tab-bar.d.ts +0 -15
- package/dist/components/molecules/mapping-tab-bar.d.ts.map +0 -1
- package/dist/components/molecules/mapping-tab-bar.js +0 -9
- package/dist/components/molecules/mapping-tab-bar.js.map +0 -1
- package/dist/components/molecules/mapping-tree-sidebar.d.ts +0 -59
- package/dist/components/molecules/mapping-tree-sidebar.d.ts.map +0 -1
- package/dist/components/molecules/mapping-tree-sidebar.js +0 -491
- package/dist/components/molecules/mapping-tree-sidebar.js.map +0 -1
- package/dist/components/molecules/mapping-type-grid.d.ts +0 -12
- package/dist/components/molecules/mapping-type-grid.d.ts.map +0 -1
- package/dist/components/molecules/mapping-type-grid.js +0 -107
- package/dist/components/molecules/mapping-type-grid.js.map +0 -1
- package/dist/components/molecules/mapping-type-selector.d.ts +0 -21
- package/dist/components/molecules/mapping-type-selector.d.ts.map +0 -1
- package/dist/components/molecules/mapping-type-selector.js +0 -38
- package/dist/components/molecules/mapping-type-selector.js.map +0 -1
- package/dist/components/molecules/mapping-validate-pane-view.d.ts +0 -19
- package/dist/components/molecules/mapping-validate-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-validate-pane-view.js +0 -66
- package/dist/components/molecules/mapping-validate-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-value-config-pane-view.d.ts +0 -30
- package/dist/components/molecules/mapping-value-config-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-value-config-pane-view.js +0 -105
- package/dist/components/molecules/mapping-value-config-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-value-pane-view.d.ts +0 -28
- package/dist/components/molecules/mapping-value-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-value-pane-view.js +0 -40
- package/dist/components/molecules/mapping-value-pane-view.js.map +0 -1
- package/dist/components/molecules/mapping-value-type-pane-view.d.ts +0 -27
- package/dist/components/molecules/mapping-value-type-pane-view.d.ts.map +0 -1
- package/dist/components/molecules/mapping-value-type-pane-view.js +0 -253
- package/dist/components/molecules/mapping-value-type-pane-view.js.map +0 -1
- package/dist/components/molecules/options-pane.d.ts +0 -28
- package/dist/components/molecules/options-pane.d.ts.map +0 -1
- package/dist/components/molecules/options-pane.js +0 -80
- package/dist/components/molecules/options-pane.js.map +0 -1
- package/dist/components/molecules/property-suggestions.d.ts +0 -17
- package/dist/components/molecules/property-suggestions.d.ts.map +0 -1
- package/dist/components/molecules/property-suggestions.js +0 -56
- package/dist/components/molecules/property-suggestions.js.map +0 -1
- package/dist/components/molecules/settings-overview-pane.d.ts +0 -32
- package/dist/components/molecules/settings-overview-pane.d.ts.map +0 -1
- package/dist/components/molecules/settings-overview-pane.js +0 -85
- package/dist/components/molecules/settings-overview-pane.js.map +0 -1
- package/dist/components/molecules/split-button.d.ts +0 -25
- package/dist/components/molecules/split-button.d.ts.map +0 -1
- package/dist/components/molecules/split-button.js +0 -37
- package/dist/components/molecules/split-button.js.map +0 -1
- package/dist/components/molecules/split-button.stories.d.ts +0 -32
- package/dist/components/molecules/split-button.stories.d.ts.map +0 -1
- package/dist/components/molecules/split-button.stories.js +0 -88
- package/dist/components/molecules/split-button.stories.js.map +0 -1
- package/dist/components/molecules/validation-overview-pane.d.ts +0 -27
- package/dist/components/molecules/validation-overview-pane.d.ts.map +0 -1
- package/dist/components/molecules/validation-overview-pane.js +0 -50
- package/dist/components/molecules/validation-overview-pane.js.map +0 -1
- package/dist/components/organisms/config-editor/config-editor-box.d.ts +0 -35
- package/dist/components/organisms/config-editor/config-editor-box.d.ts.map +0 -1
- package/dist/components/organisms/config-editor/config-editor-box.js +0 -50
- package/dist/components/organisms/config-editor/config-editor-box.js.map +0 -1
- package/dist/components/organisms/config-editor/config-editor-tabs.d.ts +0 -52
- package/dist/components/organisms/config-editor/config-editor-tabs.d.ts.map +0 -1
- package/dist/components/organisms/config-editor/config-editor-tabs.js +0 -127
- package/dist/components/organisms/config-editor/config-editor-tabs.js.map +0 -1
- package/dist/components/organisms/config-editor/config-editor.d.ts +0 -47
- package/dist/components/organisms/config-editor/config-editor.d.ts.map +0 -1
- package/dist/components/organisms/config-editor/config-editor.js +0 -50
- package/dist/components/organisms/config-editor/config-editor.js.map +0 -1
- package/dist/components/organisms/config-editor/config-editor.stories.d.ts +0 -25
- package/dist/components/organisms/config-editor/config-editor.stories.d.ts.map +0 -1
- package/dist/components/organisms/config-editor/config-editor.stories.js +0 -77
- package/dist/components/organisms/config-editor/config-editor.stories.js.map +0 -1
- package/dist/components/organisms/config-editor/index.d.ts +0 -22
- package/dist/components/organisms/config-editor/index.d.ts.map +0 -1
- package/dist/components/organisms/config-editor/index.js +0 -20
- package/dist/components/organisms/config-editor/index.js.map +0 -1
- package/dist/components/ui/label.d.ts +0 -5
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/label.js +0 -5
- package/dist/components/ui/label.js.map +0 -1
- package/dist/hooks/useMappingNavigation.d.ts +0 -62
- package/dist/hooks/useMappingNavigation.d.ts.map +0 -1
- package/dist/hooks/useMappingNavigation.js +0 -339
- package/dist/hooks/useMappingNavigation.js.map +0 -1
- package/dist/hooks/useMappingState.d.ts +0 -56
- package/dist/hooks/useMappingState.d.ts.map +0 -1
- package/dist/hooks/useMappingState.js +0 -142
- package/dist/hooks/useMappingState.js.map +0 -1
- package/dist/monaco-types-QVKK6UKF.mjs +0 -34
- package/dist/monaco-types-QVKK6UKF.mjs.map +0 -1
- package/dist/schemas/config-structures/destination-config.d.ts +0 -27
- package/dist/schemas/config-structures/destination-config.d.ts.map +0 -1
- package/dist/schemas/config-structures/destination-config.js +0 -104
- package/dist/schemas/config-structures/destination-config.js.map +0 -1
- package/dist/schemas/config-structures/index.d.ts +0 -17
- package/dist/schemas/config-structures/index.d.ts.map +0 -1
- package/dist/schemas/config-structures/index.js +0 -17
- package/dist/schemas/config-structures/index.js.map +0 -1
- package/dist/schemas/config-structures/mapping-rule.d.ts +0 -17
- package/dist/schemas/config-structures/mapping-rule.d.ts.map +0 -1
- package/dist/schemas/config-structures/mapping-rule.js +0 -81
- package/dist/schemas/config-structures/mapping-rule.js.map +0 -1
- package/dist/schemas/config-structures/types.d.ts +0 -62
- package/dist/schemas/config-structures/types.d.ts.map +0 -1
- package/dist/schemas/config-structures/types.js +0 -2
- package/dist/schemas/config-structures/types.js.map +0 -1
- package/dist/schemas/mapping-rule-schema.d.ts +0 -25
- package/dist/schemas/mapping-rule-schema.d.ts.map +0 -1
- package/dist/schemas/mapping-rule-schema.js +0 -86
- package/dist/schemas/mapping-rule-schema.js.map +0 -1
- package/dist/schemas/rule-properties-schema.d.ts +0 -42
- package/dist/schemas/rule-properties-schema.d.ts.map +0 -1
- package/dist/schemas/rule-properties-schema.js +0 -79
- package/dist/schemas/rule-properties-schema.js.map +0 -1
- package/dist/schemas/value-config-schema.d.ts +0 -36
- package/dist/schemas/value-config-schema.d.ts.map +0 -1
- package/dist/schemas/value-config-schema.js +0 -227
- package/dist/schemas/value-config-schema.js.map +0 -1
- package/dist/types/schemas.d.ts +0 -29
- package/dist/types/schemas.d.ts.map +0 -1
- package/dist/types/schemas.js +0 -2
- package/dist/types/schemas.js.map +0 -1
- package/dist/utils/clean-form-data.d.ts +0 -26
- package/dist/utils/clean-form-data.d.ts.map +0 -1
- package/dist/utils/clean-form-data.js +0 -76
- package/dist/utils/clean-form-data.js.map +0 -1
- package/dist/utils/config-validator.d.ts +0 -12
- package/dist/utils/config-validator.d.ts.map +0 -1
- package/dist/utils/config-validator.js +0 -10
- package/dist/utils/config-validator.js.map +0 -1
- package/dist/utils/consent-scanner.d.ts +0 -19
- package/dist/utils/consent-scanner.d.ts.map +0 -1
- package/dist/utils/consent-scanner.js +0 -115
- package/dist/utils/consent-scanner.js.map +0 -1
- package/dist/utils/generic-tree-builder.d.ts +0 -37
- package/dist/utils/generic-tree-builder.d.ts.map +0 -1
- package/dist/utils/generic-tree-builder.js +0 -225
- package/dist/utils/generic-tree-builder.js.map +0 -1
- package/dist/utils/mapping-path.d.ts +0 -146
- package/dist/utils/mapping-path.d.ts.map +0 -1
- package/dist/utils/mapping-path.js +0 -271
- package/dist/utils/mapping-path.js.map +0 -1
- package/dist/utils/monaco-schema-flow-setup.d.ts +0 -10
- package/dist/utils/monaco-schema-flow-setup.d.ts.map +0 -1
- package/dist/utils/monaco-schema-flow-setup.js.map +0 -1
- package/dist/utils/schema-validation.d.ts +0 -36
- package/dist/utils/schema-validation.d.ts.map +0 -1
- package/dist/utils/schema-validation.js +0 -136
- package/dist/utils/schema-validation.js.map +0 -1
- package/dist/utils/type-detector.d.ts +0 -35
- package/dist/utils/type-detector.d.ts.map +0 -1
- package/dist/utils/type-detector.js +0 -241
- package/dist/utils/type-detector.js.map +0 -1
- package/dist/utils/value-display-formatter.d.ts +0 -31
- package/dist/utils/value-display-formatter.d.ts.map +0 -1
- package/dist/utils/value-display-formatter.js +0 -110
- package/dist/utils/value-display-formatter.js.map +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
|
-
/**
|
|
4
|
-
* SplitButton - Primary button with dropdown actions
|
|
5
|
-
*
|
|
6
|
-
* Generic molecule: primary button + dropdown arrow.
|
|
7
|
-
* Click-outside and Escape to close.
|
|
8
|
-
*/
|
|
9
|
-
export function SplitButton({ children, onClick, actions = [], variant = 'primary', loading = false, loadingText, disabled = false, className = '', }) {
|
|
10
|
-
const [open, setOpen] = useState(false);
|
|
11
|
-
const ref = useRef(null);
|
|
12
|
-
const isDisabled = disabled || loading;
|
|
13
|
-
const handleClickOutside = useCallback((e) => {
|
|
14
|
-
if (ref.current && !ref.current.contains(e.target)) {
|
|
15
|
-
setOpen(false);
|
|
16
|
-
}
|
|
17
|
-
}, []);
|
|
18
|
-
const handleKeyDown = useCallback((e) => {
|
|
19
|
-
if (e.key === 'Escape')
|
|
20
|
-
setOpen(false);
|
|
21
|
-
}, []);
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
if (open) {
|
|
24
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
25
|
-
document.addEventListener('keydown', handleKeyDown);
|
|
26
|
-
return () => {
|
|
27
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
28
|
-
document.removeEventListener('keydown', handleKeyDown);
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
}, [open, handleClickOutside, handleKeyDown]);
|
|
32
|
-
return (_jsxs("div", { ref: ref, className: `elb-split-button elb-split-button--${variant} ${className}`, children: [_jsx("button", { type: "button", className: "elb-split-button__primary", onClick: onClick, disabled: isDisabled, children: loading ? (loadingText ?? children) : children }), actions.length > 0 && (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "elb-split-button__toggle", onClick: () => setOpen(!open), disabled: isDisabled, "aria-label": "More actions", "aria-expanded": open, children: _jsx("svg", { className: "elb-split-button__arrow", width: "10", height: "6", viewBox: "0 0 10 6", fill: "currentColor", children: _jsx("path", { d: "M1 1l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }) }) }), open && (_jsx("div", { className: "elb-split-button__dropdown", children: actions.map((action) => (_jsx("button", { type: "button", className: "elb-split-button__action", disabled: action.disabled, onClick: () => {
|
|
33
|
-
setOpen(false);
|
|
34
|
-
action.onClick();
|
|
35
|
-
}, children: action.label }, action.key))) }))] }))] }));
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=split-button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-button.js","sourceRoot":"","sources":["../../../src/components/molecules/split-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { SplitButton } from './split-button';
|
|
3
|
-
/**
|
|
4
|
-
* SplitButton - Primary button with dropdown actions
|
|
5
|
-
*
|
|
6
|
-
* Generic molecule combining a primary button with a dropdown arrow
|
|
7
|
-
* that reveals secondary actions. Supports loading and disabled states.
|
|
8
|
-
*/
|
|
9
|
-
declare const meta: Meta<typeof SplitButton>;
|
|
10
|
-
export default meta;
|
|
11
|
-
type Story = StoryObj<typeof SplitButton>;
|
|
12
|
-
/**
|
|
13
|
-
* Default SplitButton without actions
|
|
14
|
-
*/
|
|
15
|
-
export declare const Default: Story;
|
|
16
|
-
/**
|
|
17
|
-
* SplitButton with dropdown actions
|
|
18
|
-
*/
|
|
19
|
-
export declare const WithActions: Story;
|
|
20
|
-
/**
|
|
21
|
-
* Loading state
|
|
22
|
-
*/
|
|
23
|
-
export declare const Loading: Story;
|
|
24
|
-
/**
|
|
25
|
-
* Disabled state
|
|
26
|
-
*/
|
|
27
|
-
export declare const Disabled: Story;
|
|
28
|
-
/**
|
|
29
|
-
* Danger variant
|
|
30
|
-
*/
|
|
31
|
-
export declare const DangerVariant: Story;
|
|
32
|
-
//# sourceMappingURL=split-button.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/split-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAIlC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAiBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAStB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAa3B,CAAC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { SplitButton } from './split-button';
|
|
2
|
-
/**
|
|
3
|
-
* SplitButton - Primary button with dropdown actions
|
|
4
|
-
*
|
|
5
|
-
* Generic molecule combining a primary button with a dropdown arrow
|
|
6
|
-
* that reveals secondary actions. Supports loading and disabled states.
|
|
7
|
-
*/
|
|
8
|
-
const meta = {
|
|
9
|
-
component: SplitButton,
|
|
10
|
-
title: 'Molecules/SplitButton',
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
};
|
|
13
|
-
export default meta;
|
|
14
|
-
/**
|
|
15
|
-
* Default SplitButton without actions
|
|
16
|
-
*/
|
|
17
|
-
export const Default = {
|
|
18
|
-
args: {
|
|
19
|
-
children: 'Deploy',
|
|
20
|
-
onClick: () => { },
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* SplitButton with dropdown actions
|
|
25
|
-
*/
|
|
26
|
-
export const WithActions = {
|
|
27
|
-
args: {
|
|
28
|
-
children: 'Deploy',
|
|
29
|
-
onClick: () => { },
|
|
30
|
-
actions: [
|
|
31
|
-
{
|
|
32
|
-
key: 'download',
|
|
33
|
-
label: 'Download Flow (.json)',
|
|
34
|
-
onClick: () => { },
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
key: 'bundle',
|
|
38
|
-
label: 'Bundle (.js)',
|
|
39
|
-
onClick: () => { },
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Loading state
|
|
46
|
-
*/
|
|
47
|
-
export const Loading = {
|
|
48
|
-
args: {
|
|
49
|
-
children: 'Deploy',
|
|
50
|
-
onClick: () => { },
|
|
51
|
-
loading: true,
|
|
52
|
-
loadingText: 'Deploying...',
|
|
53
|
-
actions: [
|
|
54
|
-
{ key: 'download', label: 'Download Flow (.json)', onClick: () => { } },
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Disabled state
|
|
60
|
-
*/
|
|
61
|
-
export const Disabled = {
|
|
62
|
-
args: {
|
|
63
|
-
children: 'Deploy',
|
|
64
|
-
onClick: () => { },
|
|
65
|
-
disabled: true,
|
|
66
|
-
actions: [
|
|
67
|
-
{ key: 'download', label: 'Download Flow (.json)', onClick: () => { } },
|
|
68
|
-
],
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Danger variant
|
|
73
|
-
*/
|
|
74
|
-
export const DangerVariant = {
|
|
75
|
-
args: {
|
|
76
|
-
children: 'Delete Deployment',
|
|
77
|
-
onClick: () => { },
|
|
78
|
-
variant: 'danger',
|
|
79
|
-
actions: [
|
|
80
|
-
{
|
|
81
|
-
key: 'download',
|
|
82
|
-
label: 'Download Backup (.json)',
|
|
83
|
-
onClick: () => { },
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=split-button.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-button.stories.js","sourceRoot":"","sources":["../../../src/components/molecules/split-button.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,IAAI,GAA6B;IACrC,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,OAAO,EAAE;YACP;gBACE,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aAClB;YACD;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aAClB;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE;YACP,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;SACvE;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;SACvE;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,IAAI,EAAE;QACJ,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE;YACP;gBACE,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,yBAAyB;gBAChC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aAClB;SACF;KACF;CACF,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { UseMappingNavigationReturn } from '../../hooks/useMappingNavigation';
|
|
2
|
-
import type { ValidationError } from '../../utils/config-validator';
|
|
3
|
-
import type { ConfigStructureDef } from '../../schemas/config-structures/types';
|
|
4
|
-
import type { RJSFSchema } from '@rjsf/utils';
|
|
5
|
-
/**
|
|
6
|
-
* Validation Overview Pane - Shows all validation errors in the config
|
|
7
|
-
*
|
|
8
|
-
* Displays a list of all fields that have validation errors, grouped by section.
|
|
9
|
-
* Each error shows the path, current value, and error message.
|
|
10
|
-
* Clicking an error navigates to that field for editing.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* <ValidationOverviewPane
|
|
14
|
-
* errors={validationErrors}
|
|
15
|
-
* navigation={navigation}
|
|
16
|
-
* />
|
|
17
|
-
*/
|
|
18
|
-
export interface ValidationOverviewPaneProps {
|
|
19
|
-
errors: ValidationError[];
|
|
20
|
-
navigation: UseMappingNavigationReturn;
|
|
21
|
-
config: unknown;
|
|
22
|
-
structure: ConfigStructureDef;
|
|
23
|
-
schemas?: Record<string, RJSFSchema>;
|
|
24
|
-
className?: string;
|
|
25
|
-
}
|
|
26
|
-
export declare function ValidationOverviewPane({ errors, navigation, config, structure, schemas, className, }: ValidationOverviewPaneProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
-
//# sourceMappingURL=validation-overview-pane.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation-overview-pane.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/validation-overview-pane.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,0BAA0B,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkCD,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,SAAc,GACf,EAAE,2BAA2B,2CAyE7B"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { formatPath, groupErrorsBySection } from '../../utils/config-validator';
|
|
3
|
-
import { BaseMappingPane } from '../atoms/base-mapping-pane';
|
|
4
|
-
import { detectNodeType } from '../../utils/type-detector';
|
|
5
|
-
import { getValueAtPath } from '../../utils/mapping-path';
|
|
6
|
-
/**
|
|
7
|
-
* Format value for display (truncate if too long)
|
|
8
|
-
*/
|
|
9
|
-
function formatValue(value) {
|
|
10
|
-
if (value === null)
|
|
11
|
-
return 'null';
|
|
12
|
-
if (value === undefined)
|
|
13
|
-
return 'undefined';
|
|
14
|
-
const str = typeof value === 'string' ? value : JSON.stringify(value);
|
|
15
|
-
const maxLength = 50;
|
|
16
|
-
if (str.length > maxLength) {
|
|
17
|
-
return str.substring(0, maxLength) + '...';
|
|
18
|
-
}
|
|
19
|
-
return str;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get a nice section title from section key
|
|
23
|
-
*/
|
|
24
|
-
function getSectionTitle(section) {
|
|
25
|
-
const titles = {
|
|
26
|
-
settings: 'Settings',
|
|
27
|
-
mapping: 'Mapping Rules',
|
|
28
|
-
policy: 'Policy',
|
|
29
|
-
consent: 'Consent',
|
|
30
|
-
data: 'Data',
|
|
31
|
-
};
|
|
32
|
-
return titles[section] || section.charAt(0).toUpperCase() + section.slice(1);
|
|
33
|
-
}
|
|
34
|
-
export function ValidationOverviewPane({ errors, navigation, config, structure, schemas, className = '', }) {
|
|
35
|
-
const groupedErrors = groupErrorsBySection(errors);
|
|
36
|
-
const sections = Object.keys(groupedErrors).sort();
|
|
37
|
-
const handleErrorClick = (error) => {
|
|
38
|
-
const value = getValueAtPath(config, error.path);
|
|
39
|
-
const nodeType = detectNodeType(value, error.path, structure, schemas);
|
|
40
|
-
navigation.openTab(error.path, nodeType);
|
|
41
|
-
};
|
|
42
|
-
return (_jsx(BaseMappingPane, { title: "Validation Errors", description: errors.length === 0
|
|
43
|
-
? 'No validation errors found. All fields are valid.'
|
|
44
|
-
: `${errors.length} validation ${errors.length === 1 ? 'error' : 'errors'} found in your configuration.`, navigation: navigation, className: className, children: errors.length === 0 ? (_jsx("div", { className: "elb-mapping-rule-section", children: _jsxs("div", { style: {
|
|
45
|
-
padding: '40px 20px',
|
|
46
|
-
textAlign: 'center',
|
|
47
|
-
color: 'var(--color-text-muted)',
|
|
48
|
-
}, children: [_jsx("div", { style: { fontSize: '48px', marginBottom: '16px' }, children: "\u2713" }), _jsx("div", { style: { fontSize: '16px', fontWeight: 500 }, children: "All fields are valid" }), _jsx("div", { style: { fontSize: '14px', marginTop: '8px' }, children: "Your configuration has no validation errors." })] }) })) : (sections.map((section) => (_jsxs("div", { className: "elb-mapping-rule-section", children: [_jsx("h3", { className: "elb-mapping-rule-section-title", children: getSectionTitle(section) }), _jsx("div", { className: "elb-validation-errors-list", children: groupedErrors[section].map((error, index) => (_jsxs("div", { className: "elb-validation-error-item", onClick: () => handleErrorClick(error), children: [_jsx("div", { className: "elb-validation-error-icon", children: "\u26A0" }), _jsxs("div", { className: "elb-validation-error-content", children: [_jsx("div", { className: "elb-validation-error-path", children: formatPath(error.path) }), _jsx("div", { className: "elb-validation-error-message", children: error.error }), _jsxs("div", { className: "elb-validation-error-value", children: ["Current value: ", _jsx("code", { children: formatValue(error.value) })] })] }), _jsx("div", { className: "elb-validation-error-action", children: "\u2192" })] }, `${formatPath(error.path)}-${index}`))) })] }, section)))) }));
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=validation-overview-pane.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation-overview-pane.js","sourceRoot":"","sources":["../../../src/components/molecules/validation-overview-pane.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { type NavigationState } from './config-editor-tabs';
|
|
2
|
-
import type { ConfigStructureDef } from '../../../schemas/config-structures/types';
|
|
3
|
-
import type { RJSFSchema } from '@rjsf/utils';
|
|
4
|
-
/**
|
|
5
|
-
* Config Editor Box
|
|
6
|
-
*
|
|
7
|
-
* Wrapper component that provides Code/Visual toggle.
|
|
8
|
-
* Persists navigation state when switching between views.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* <ConfigEditorBox
|
|
12
|
-
* config={destinationConfig}
|
|
13
|
-
* onChange={setConfig}
|
|
14
|
-
* structure={DESTINATION_CONFIG_STRUCTURE}
|
|
15
|
-
* schemas={metaSchemas}
|
|
16
|
-
* label="Meta Pixel Configuration"
|
|
17
|
-
* />
|
|
18
|
-
*/
|
|
19
|
-
export interface ConfigEditorBoxProps<T extends Record<string, unknown>> {
|
|
20
|
-
config: T;
|
|
21
|
-
onChange?: (config: T) => void;
|
|
22
|
-
structure: ConfigStructureDef;
|
|
23
|
-
schemas?: Record<string, RJSFSchema>;
|
|
24
|
-
sections?: Record<string, boolean>;
|
|
25
|
-
label?: string;
|
|
26
|
-
className?: string;
|
|
27
|
-
initialTab?: 'code' | 'visual';
|
|
28
|
-
resizable?: boolean;
|
|
29
|
-
showTree?: boolean;
|
|
30
|
-
showHeader?: boolean;
|
|
31
|
-
initialNavigationState?: NavigationState;
|
|
32
|
-
onNavigationStateChange?: (state: NavigationState) => void;
|
|
33
|
-
}
|
|
34
|
-
export declare function ConfigEditorBox<T extends Record<string, unknown>>({ config, onChange, structure, schemas, sections, label, className, initialTab, resizable, showTree, showHeader, initialNavigationState, onNavigationStateChange, }: ConfigEditorBoxProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
35
|
-
//# sourceMappingURL=config-editor-box.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-editor-box.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/config-editor/config-editor-box.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5D;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjE,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,KAAuB,EACvB,SAAc,EACd,UAAqB,EACrB,SAAiB,EACjB,QAAe,EACf,UAAiB,EACjB,sBAAsB,EACtB,uBAAuB,GACxB,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAwFzB"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useMemo, useCallback } from 'react';
|
|
3
|
-
import { Box } from '../../atoms/box';
|
|
4
|
-
import { ButtonGroup } from '../../atoms/button-group';
|
|
5
|
-
import { CodeBox } from '../../molecules/code-box';
|
|
6
|
-
import { ConfigEditorTabs } from './config-editor-tabs';
|
|
7
|
-
export function ConfigEditorBox({ config, onChange, structure, schemas, sections, label = 'Configuration', className = '', initialTab = 'visual', resizable = false, showTree = true, showHeader = true, initialNavigationState, onNavigationStateChange, }) {
|
|
8
|
-
const [activeTab, setActiveTab] = useState(initialTab);
|
|
9
|
-
// Persist navigation state across view switches
|
|
10
|
-
const [persistedNavigationState, setPersistedNavigationState] = useState(initialNavigationState || null);
|
|
11
|
-
// Convert config to JSON string
|
|
12
|
-
const configJson = useMemo(() => JSON.stringify(config, null, 2), [config]);
|
|
13
|
-
// Build button group data
|
|
14
|
-
const buttons = useMemo(() => [
|
|
15
|
-
{
|
|
16
|
-
label: 'Visual',
|
|
17
|
-
value: 'visual',
|
|
18
|
-
active: activeTab === 'visual',
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
label: 'Code',
|
|
22
|
-
value: 'code',
|
|
23
|
-
active: activeTab === 'code',
|
|
24
|
-
},
|
|
25
|
-
], [activeTab]);
|
|
26
|
-
// Handle tab change
|
|
27
|
-
const handleTabChange = (value) => {
|
|
28
|
-
setActiveTab(value);
|
|
29
|
-
};
|
|
30
|
-
// Handle code changes
|
|
31
|
-
const handleCodeChange = (newCode) => {
|
|
32
|
-
if (!onChange)
|
|
33
|
-
return;
|
|
34
|
-
try {
|
|
35
|
-
const newConfig = JSON.parse(newCode);
|
|
36
|
-
onChange(newConfig);
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
// Invalid JSON - ignore (expected during editing)
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
// Handle navigation state persistence
|
|
43
|
-
// Memoize to prevent infinite re-render loop in useEffect dependencies
|
|
44
|
-
const handleNavigationChange = useCallback((state) => {
|
|
45
|
-
setPersistedNavigationState(state);
|
|
46
|
-
onNavigationStateChange?.(state);
|
|
47
|
-
}, [onNavigationStateChange]);
|
|
48
|
-
return (_jsx(Box, { header: label, headerActions: showHeader ? (_jsx(ButtonGroup, { buttons: buttons, onButtonClick: handleTabChange })) : undefined, className: className, resizable: resizable, showHeader: showHeader, children: activeTab === 'code' ? (_jsx(CodeBox, { code: configJson, language: "json", label: label, disabled: !onChange, onChange: onChange ? handleCodeChange : undefined })) : (_jsx(ConfigEditorTabs, { config: config, onChange: onChange, structure: structure, schemas: schemas, sections: sections, showTree: showTree, initialNavigationState: persistedNavigationState || undefined, onNavigationStateChange: handleNavigationChange })) }));
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=config-editor-box.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-editor-box.js","sourceRoot":"","sources":["../../../../src/components/organisms/config-editor/config-editor-box.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { type NodeType } from '../../../hooks/useMappingNavigation';
|
|
2
|
-
import type { ConfigStructureDef } from '../../../schemas/config-structures/types';
|
|
3
|
-
import type { RJSFSchema } from '@rjsf/utils';
|
|
4
|
-
/**
|
|
5
|
-
* Generic Config Editor Tabs
|
|
6
|
-
*
|
|
7
|
-
* Core editor component that works with any config type at any depth.
|
|
8
|
-
* Uses structure definitions and schemas to provide appropriate editing UI.
|
|
9
|
-
*
|
|
10
|
-
* Features:
|
|
11
|
-
* - Generic tree navigation (config-driven)
|
|
12
|
-
* - Structure-aware type detection
|
|
13
|
-
* - Validation with error overview
|
|
14
|
-
* - Code/Visual toggle support
|
|
15
|
-
* - Works at any depth (full config or nested object)
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // Full DestinationConfig
|
|
19
|
-
* <ConfigEditorTabs
|
|
20
|
-
* config={destinationConfig}
|
|
21
|
-
* onChange={setConfig}
|
|
22
|
-
* structure={DESTINATION_CONFIG_STRUCTURE}
|
|
23
|
-
* schemas={{ settings: settingsSchema, mapping: mappingSchema }}
|
|
24
|
-
* />
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Single Rule
|
|
28
|
-
* <ConfigEditorTabs
|
|
29
|
-
* config={ruleConfig}
|
|
30
|
-
* onChange={setRuleConfig}
|
|
31
|
-
* structure={MAPPING_RULE_STRUCTURE}
|
|
32
|
-
* schemas={{ mapping: mappingSettingsSchema }}
|
|
33
|
-
* />
|
|
34
|
-
*/
|
|
35
|
-
export interface ConfigEditorTabsProps<T extends Record<string, unknown>> {
|
|
36
|
-
config: T;
|
|
37
|
-
onChange?: (config: T) => void;
|
|
38
|
-
structure: ConfigStructureDef;
|
|
39
|
-
schemas?: Record<string, RJSFSchema>;
|
|
40
|
-
sections?: Record<string, boolean>;
|
|
41
|
-
showTree?: boolean;
|
|
42
|
-
initialNavigationState?: NavigationState;
|
|
43
|
-
onNavigationStateChange?: (state: NavigationState) => void;
|
|
44
|
-
className?: string;
|
|
45
|
-
}
|
|
46
|
-
export interface NavigationState {
|
|
47
|
-
currentPath: string[];
|
|
48
|
-
nodeType: NodeType;
|
|
49
|
-
expandedPaths: string[][];
|
|
50
|
-
}
|
|
51
|
-
export declare function ConfigEditorTabs<T extends Record<string, unknown>>({ config, onChange, structure, schemas, sections, showTree, initialNavigationState, onNavigationStateChange, className, }: ConfigEditorTabsProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
52
|
-
//# sourceMappingURL=config-editor-tabs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-editor-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/config-editor/config-editor-tabs.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,QAAQ,EACd,MAAM,qCAAqC,CAAC;AAS7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClE,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAa,EACb,QAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,SAAc,GACf,EAAE,qBAAqB,CAAC,CAAC,CAAC,2CAiO1B"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useState, useMemo } from 'react';
|
|
3
|
-
import { useMappingState, } from '../../../hooks/useMappingState';
|
|
4
|
-
import { useMappingNavigation, } from '../../../hooks/useMappingNavigation';
|
|
5
|
-
import { useTreeState } from '../../../hooks/useTreeState';
|
|
6
|
-
import { MappingNavigationHeader } from '../../molecules/mapping-navigation-header';
|
|
7
|
-
import { ConfigTreeSidebar } from '../../molecules/config-tree-sidebar';
|
|
8
|
-
import { MappingPane } from '../../molecules/mapping-pane';
|
|
9
|
-
import { ConfigOverviewPane } from '../../molecules/config-overview-pane';
|
|
10
|
-
import { ValidationOverviewPane } from '../../molecules/validation-overview-pane';
|
|
11
|
-
import { CodeBox } from '../../molecules/code-box';
|
|
12
|
-
import { getValueAtPath } from '../../../utils/mapping-path';
|
|
13
|
-
import { buildTree } from '../../../utils/generic-tree-builder';
|
|
14
|
-
import { detectNodeType } from '../../../utils/type-detector';
|
|
15
|
-
import { validateConfig } from '../../../utils/config-validator';
|
|
16
|
-
export function ConfigEditorTabs({ config, onChange, structure, schemas, sections = {}, showTree = true, initialNavigationState, onNavigationStateChange, className = '', }) {
|
|
17
|
-
const mappingState = useMappingState(config, onChange);
|
|
18
|
-
const navigation = useMappingNavigation({
|
|
19
|
-
config,
|
|
20
|
-
structure,
|
|
21
|
-
schemas,
|
|
22
|
-
});
|
|
23
|
-
const treeState = useTreeState(initialNavigationState?.expandedPaths || [[]]);
|
|
24
|
-
const [codeViewActive, setCodeViewActive] = useState(false);
|
|
25
|
-
// Build tree using unified tree builder
|
|
26
|
-
const configTree = useMemo(() => buildTree(config, structure, schemas, sections), [config, structure, schemas, sections]);
|
|
27
|
-
// Validate config
|
|
28
|
-
const validationErrors = useMemo(() => validateConfig(config, schemas), [config, schemas]);
|
|
29
|
-
// Get active tab
|
|
30
|
-
const activeTab = navigation.openTabs.find((tab) => tab.id === navigation.activeTabId);
|
|
31
|
-
// Get code for current path
|
|
32
|
-
const currentCode = useMemo(() => {
|
|
33
|
-
if (!activeTab || activeTab.path.length === 0) {
|
|
34
|
-
return JSON.stringify(config, null, 2);
|
|
35
|
-
}
|
|
36
|
-
const value = getValueAtPath(config, activeTab.path);
|
|
37
|
-
return JSON.stringify(value, null, 2);
|
|
38
|
-
}, [activeTab, config]);
|
|
39
|
-
// Handle code changes
|
|
40
|
-
const handleCodeChange = (code) => {
|
|
41
|
-
if (!onChange)
|
|
42
|
-
return;
|
|
43
|
-
try {
|
|
44
|
-
const parsed = JSON.parse(code);
|
|
45
|
-
if (!activeTab || activeTab.path.length === 0) {
|
|
46
|
-
onChange(parsed);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
const newConfig = { ...config };
|
|
50
|
-
let current = newConfig;
|
|
51
|
-
// Navigate to parent
|
|
52
|
-
for (let i = 0; i < activeTab.path.length - 1; i++) {
|
|
53
|
-
current = current[activeTab.path[i]];
|
|
54
|
-
}
|
|
55
|
-
// Update value
|
|
56
|
-
current[activeTab.path[activeTab.path.length - 1]] = parsed;
|
|
57
|
-
onChange(newConfig);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
// Invalid JSON, don't update
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
// Initialize navigation history with Overview
|
|
65
|
-
useEffect(() => {
|
|
66
|
-
if (navigation.navigationHistory.length === 0) {
|
|
67
|
-
navigation.switchToTab('');
|
|
68
|
-
if (initialNavigationState &&
|
|
69
|
-
initialNavigationState.currentPath.length > 0) {
|
|
70
|
-
navigation.openTab(initialNavigationState.currentPath, initialNavigationState.nodeType);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}, []);
|
|
74
|
-
// Persist navigation state changes
|
|
75
|
-
useEffect(() => {
|
|
76
|
-
if (onNavigationStateChange && activeTab) {
|
|
77
|
-
onNavigationStateChange({
|
|
78
|
-
currentPath: activeTab.path,
|
|
79
|
-
nodeType: activeTab.nodeType,
|
|
80
|
-
expandedPaths: Array.from(treeState.expandedPaths).map((key) => key.split('.')),
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}, [activeTab, treeState.expandedPaths, onNavigationStateChange]);
|
|
84
|
-
// Auto-expand tree to show active tab path
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
if (activeTab && activeTab.path.length > 0) {
|
|
87
|
-
for (let i = 1; i <= activeTab.path.length; i++) {
|
|
88
|
-
const pathToExpand = activeTab.path.slice(0, i);
|
|
89
|
-
treeState.expandPath(pathToExpand);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}, [activeTab?.id]);
|
|
93
|
-
// Get NodeType for a path using structure
|
|
94
|
-
const getNodeTypeForPath = (path) => {
|
|
95
|
-
const value = mappingState.actions.getValue(path);
|
|
96
|
-
return detectNodeType(value, path, structure, schemas);
|
|
97
|
-
};
|
|
98
|
-
return (_jsxs("div", { className: `elb-mapping-editor-tabs elb-mapping-editor-tabs--responsive ${className}`, "data-layout": "responsive", children: [showTree && (_jsxs(_Fragment, { children: [_jsx("div", { className: "elb-mapping-editor-mobile-backdrop", onClick: () => navigation.setTreeVisible(false), "aria-hidden": "true" }), _jsx(ConfigTreeSidebar, { tree: configTree, currentPath: activeTab?.path || [], expandedPaths: treeState.expandedPaths, visible: navigation.treeVisible, onToggle: treeState.togglePath, onNavigate: (path) => {
|
|
99
|
-
const nodeType = getNodeTypeForPath(path);
|
|
100
|
-
navigation.openTab(path, nodeType);
|
|
101
|
-
}, onClose: () => navigation.setTreeVisible(false), className: "elb-mapping-editor-sidebar" })] })), _jsxs("div", { className: "elb-mapping-editor-main", children: [_jsx(MappingNavigationHeader, { breadcrumb: navigation.breadcrumb, paneType: codeViewActive ? undefined : activeTab?.nodeType, showTreeButton: showTree, showCodeButton: !!activeTab, codeViewActive: codeViewActive, showDeleteButton: activeTab && activeTab.path.length > 0, validationErrors: validationErrors.length, onNavigate: (path) => {
|
|
102
|
-
if (path.length === 0) {
|
|
103
|
-
navigation.closeAllTabs();
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
navigation.navigateToBreadcrumb(path);
|
|
107
|
-
}
|
|
108
|
-
}, onToggleTree: navigation.toggleTree, onToggleCode: () => setCodeViewActive(!codeViewActive), onValidationClick: () => {
|
|
109
|
-
navigation.openTab([], 'validationOverview');
|
|
110
|
-
}, onDeleteClick: () => {
|
|
111
|
-
if (activeTab) {
|
|
112
|
-
const path = activeTab.path;
|
|
113
|
-
mappingState.actions.deleteValue(path);
|
|
114
|
-
if (path.length > 1) {
|
|
115
|
-
// Navigate to parent
|
|
116
|
-
const parentPath = path.slice(0, -1);
|
|
117
|
-
const parentType = getNodeTypeForPath(parentPath);
|
|
118
|
-
navigation.openTab(parentPath, parentType);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
// Close tab
|
|
122
|
-
navigation.closeTab(activeTab.id);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
} }), _jsx("div", { className: "elb-mapping-editor-content", children: codeViewActive ? (_jsx(CodeBox, { code: currentCode, language: "json", label: "", onChange: onChange ? handleCodeChange : undefined, showFormat: !!onChange, showHeader: false })) : activeTab ? (activeTab.nodeType === 'validationOverview' ? (_jsx(ValidationOverviewPane, { errors: validationErrors, navigation: navigation, config: config, structure: structure, schemas: schemas })) : (_jsx(MappingPane, { nodeType: activeTab.nodeType, path: activeTab.path, mappingState: mappingState, navigation: navigation, schemas: schemas, structure: structure }))) : (_jsx(ConfigOverviewPane, { config: config, structure: structure, navigation: navigation, schemas: schemas })) })] })] }));
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=config-editor-tabs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-editor-tabs.js","sourceRoot":"","sources":["../../../../src/components/organisms/config-editor/config-editor-tabs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { type ConfigEditorBoxProps } from './config-editor-box';
|
|
2
|
-
/**
|
|
3
|
-
* ConfigEditor - Generic Visual Configuration Editor
|
|
4
|
-
*
|
|
5
|
-
* A fully generic configuration editor that works at ANY depth with ANY config type.
|
|
6
|
-
* Uses structure definitions and schemas to provide appropriate editing UI.
|
|
7
|
-
*
|
|
8
|
-
* Key Features:
|
|
9
|
-
* - Works at any depth (full config or nested object)
|
|
10
|
-
* - Structure-driven (no hardcoded assumptions)
|
|
11
|
-
* - Schema-aware (validation, type hints, metadata)
|
|
12
|
-
* - Code/Visual toggle
|
|
13
|
-
* - Tree navigation
|
|
14
|
-
* - Validation with error overview
|
|
15
|
-
* - TypeScript generic for type safety
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // Full DestinationConfig
|
|
19
|
-
* <ConfigEditor
|
|
20
|
-
* config={destinationConfig}
|
|
21
|
-
* onChange={setConfig}
|
|
22
|
-
* structure={DESTINATION_CONFIG_STRUCTURE}
|
|
23
|
-
* schemas={metaSchemas}
|
|
24
|
-
* label="Meta Pixel Configuration"
|
|
25
|
-
* />
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* // Single Rule (deep nested)
|
|
29
|
-
* <ConfigEditor
|
|
30
|
-
* config={pageViewRule}
|
|
31
|
-
* onChange={setRule}
|
|
32
|
-
* structure={MAPPING_RULE_STRUCTURE}
|
|
33
|
-
* schemas={{ mapping: mappingSchema }}
|
|
34
|
-
* label="Page View Rule"
|
|
35
|
-
* showTree={false}
|
|
36
|
-
* />
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* // Read-only (no onChange)
|
|
40
|
-
* <ConfigEditor
|
|
41
|
-
* config={destinationConfig}
|
|
42
|
-
* structure={DESTINATION_CONFIG_STRUCTURE}
|
|
43
|
-
* initialTab="code"
|
|
44
|
-
* />
|
|
45
|
-
*/
|
|
46
|
-
export declare function ConfigEditor<T extends Record<string, unknown>>(props: ConfigEditorBoxProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
47
|
-
//# sourceMappingURL=config-editor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/config-editor/config-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAG/B"}
|