├── src
├── App.css
├── lib
│ ├── yaml.worker.js
│ └── monaco-workers.js
├── components
│ ├── diagram
│ │ ├── index.js
│ │ ├── DiagramStyles.css
│ │ └── layoutUtils.js
│ ├── error
│ │ ├── index.js
│ │ ├── PreviewErrorBoundary.jsx
│ │ └── FormPageErrorBoundary.jsx
│ ├── ui
│ │ ├── index.js
│ │ ├── TypeSelector
│ │ │ ├── index.js
│ │ │ ├── TypeSelectorPopover.jsx
│ │ │ ├── TypeSelector.jsx
│ │ │ └── LogicalTypeSelect.jsx
│ │ ├── icons
│ │ │ ├── ChevronDownIcon.jsx
│ │ │ ├── StringIcon.jsx
│ │ │ ├── NumberIcon.jsx
│ │ │ ├── TimeIcon.jsx
│ │ │ ├── IntegerIcon.jsx
│ │ │ ├── LockClosedIcon.jsx
│ │ │ ├── BooleanIcon.jsx
│ │ │ ├── CheckCircleIcon.jsx
│ │ │ ├── QuestionMarkCircleIcon.jsx
│ │ │ ├── TimestampIcon.jsx
│ │ │ ├── DateIcon.jsx
│ │ │ ├── DocumentTextIcon.jsx
│ │ │ ├── ExclamationCircleIcon.jsx
│ │ │ ├── ArrayIcon.jsx
│ │ │ ├── LinkIcon.jsx
│ │ │ ├── ObjectIcon.jsx
│ │ │ ├── AsteriskIcon.jsx
│ │ │ ├── CheckIcon.jsx
│ │ │ ├── CustomPropertyIcon.jsx
│ │ │ ├── ChevronRightIcon.jsx
│ │ │ ├── QualityCheckIcons.jsx
│ │ │ └── AuthoritativeDefinitionsIcon.jsx
│ │ ├── Tag.jsx
│ │ ├── Tooltip.jsx
│ │ ├── AuthoritativeDefinitionsPreview.jsx
│ │ ├── ResizeDivider.jsx
│ │ ├── CustomPropertiesPreview.jsx
│ │ ├── ArrayInput.jsx
│ │ ├── ValidatedInput.jsx
│ │ ├── PropertyValueRenderer.jsx
│ │ └── Tags.jsx
│ └── features
│ │ ├── index.js
│ │ ├── schema
│ │ ├── propertyIcons.js
│ │ └── PropertyIndicators.jsx
│ │ ├── preview
│ │ ├── PricingSection.jsx
│ │ ├── CustomPropertiesSection.jsx
│ │ ├── RolesSection.jsx
│ │ └── SlaSection.jsx
│ │ ├── DataContractPreview.jsx
│ │ └── SettingsModal.jsx
├── routes
│ ├── Schemas.jsx
│ ├── Servers.jsx
│ ├── Diagram.jsx
│ ├── Schema.jsx
│ ├── Server.jsx
│ ├── index.js
│ ├── Roles.jsx
│ └── CustomProperties.jsx
├── layouts
│ └── index.js
├── assets
│ ├── server-icons
│ │ ├── glue.svg
│ │ ├── denodo.svg
│ │ ├── informix.svg
│ │ ├── vertica.svg
│ │ ├── kinesis.svg
│ │ ├── sftp.svg
│ │ ├── cloudsql.svg
│ │ ├── local.svg
│ │ ├── pubsub.svg
│ │ ├── databricks.svg
│ │ ├── duckdb.svg
│ │ ├── clickhouse.svg
│ │ ├── bigquery.svg
│ │ ├── azure.svg
│ │ ├── synapse.svg
│ │ ├── mssql.svg
│ │ ├── db2.svg
│ │ ├── athena.svg
│ │ ├── oracle.svg
│ │ ├── serverIcons.jsx
│ │ ├── custom.svg
│ │ └── database.svg
│ ├── support-icons
│ │ ├── email.svg
│ │ ├── other.svg
│ │ ├── ticket.svg
│ │ ├── slack.svg
│ │ ├── supportIcons.jsx
│ │ ├── discord.svg
│ │ ├── googlechat.svg
│ │ └── teams.svg
│ └── link-icons
│ │ ├── databricks.jsx
│ │ ├── sap.jsx
│ │ ├── onetrust.jsx
│ │ ├── bigquery.jsx
│ │ ├── confluent.jsx
│ │ ├── index.js
│ │ ├── openmetadata.jsx
│ │ ├── leanix.jsx
│ │ ├── starburst.jsx
│ │ ├── catalog.jsx
│ │ ├── changelog.jsx
│ │ ├── file-code.jsx
│ │ ├── confluent-schema-registry.jsx
│ │ ├── mssql.jsx
│ │ ├── repository.jsx
│ │ ├── gitlab.jsx
│ │ ├── teams.jsx
│ │ ├── snowflake.jsx
│ │ ├── powerbi.jsx
│ │ ├── collibra.jsx
│ │ ├── datawarehouse.jsx
│ │ └── kafka.jsx
├── hooks
│ └── useActiveServerType.js
├── main.jsx
├── config
│ └── storage.js
├── utils
│ ├── yaml.js
│ └── schemaPathBuilder.js
└── services
│ └── FileStorageBackend.js
├── docs
└── screenshot.png
├── .editorconfig
├── Dockerfile
├── .gitignore
├── .dockerignore
├── tailwind.config.js
├── index.html
├── .claude
└── settings.json
├── CONTRIBUTING.md
├── CLAUDE.md
├── eslint.config.js
├── public
├── index.html
└── logo_fuchsia_v2.svg
├── LICENSE
├── package.json
├── .github
└── workflows
│ ├── azure-static-web-apps-orange-desert-03e149203.yml
│ └── release.yml
├── vite.config.js
└── README.md
/src/App.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/yaml.worker.js:
--------------------------------------------------------------------------------
1 | import 'monaco-yaml/yaml.worker.js';
2 |
--------------------------------------------------------------------------------
/docs/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/datacontract/datacontract-editor/main/docs/screenshot.png
--------------------------------------------------------------------------------
/src/components/diagram/index.js:
--------------------------------------------------------------------------------
1 | export { default as DiagramView } from './DiagramView.jsx';
2 | export { default as SchemaNode } from './SchemaNode.jsx';
3 |
--------------------------------------------------------------------------------
/src/routes/Schemas.jsx:
--------------------------------------------------------------------------------
1 | import { SchemasEditor } from '../components/features/index.js';
2 |
3 | const Schemas = () => {
4 | return
27 | A list of roles that will provide user access to the dataset. 28 |
29 | 30 |This section covers pricing when you bill your customer for using 13 | this data product.
14 |58 | A list of key/value pairs for custom properties. Names should be in camel case. 59 |
60 | 61 |This section covers other properties you may find in a data 30 | contract.
31 |{helpText}
} 72 |71 | {message} 72 |
73 | ))} 74 |Support and communication channels help consumers find help 74 | regarding 75 | their use of the data contract
76 |63 | Current: {apiServerUrl || 'https://api.datacontract.com'} 64 |
65 |66 | The base URL for the Data Contract CLI API server. Leave empty to use the default. 67 |
68 |82 | Optional API key for authentication with the Data Contract CLI API server. 83 |
84 |22 | The preview could not be rendered. This usually happens when the YAML contains unexpected data structures. 23 |
24 | 25 |Suggestions:
32 |
54 | {error?.stack}
55 |
56 | 26 | The {pageName} form encountered an error and could not be displayed. 27 |
28 | 29 |What you can do:
36 |
65 | {error?.stack}
66 |
67 | This section describes the service-level agreements (SLA).
98 |