/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

// @ts-check

/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
  docs: [
    'getting-started',
    {
      'type': 'category',
      'label': 'Setup',
      'link': {
        'type': 'doc',
        'id': 'setup/index',
      },
      'items': [
        'setup/try-tooljet',
        'setup/digitalocean',
        'setup/docker',
        'setup/heroku',
        'setup/ec2',
        'setup/ecs',
        'setup/openshift',
        'setup/helm',
        'setup/kubernetes',
        'setup/kubernetes-gke',
        'setup/kubernetes-aks',
        'setup/azure-container',
        'setup/google-cloud-run',
        'setup/client',
        'setup/env-vars',
        'setup/http-proxy',
        'setup/tooljet-subpath',
        'setup/v2-migration-guide'
      ]
    },
    'licensing',
    'tooljet-database',
    'tooljet-copilot',
    {
      'type': 'category',
      'label': 'Datasource Catalog',
      'items': [
        'data-sources/overview',
        {
          'type': 'category',
          'label': 'Datasources library',
          'items': [
            'data-sources/airtable',
            'data-sources/s3',
            'data-sources/amazonses',
            'data-sources/appwrite',
            'data-sources/athena',
            'data-sources/baserow',
            'data-sources/bigquery',
            'data-sources/firestore',
            'data-sources/clickhouse',
            'data-sources/cosmosdb',
            'data-sources/couchdb',
            'data-sources/dynamodb',
            'data-sources/elasticsearch',
            'data-sources/gcs',
            'data-sources/google.sheets',
            'data-sources/graphql',
            'data-sources/grpc',
            'data-sources/influxdb',
            'data-sources/mailgun',
            'data-sources/mariadb',
            'data-sources/minio',
            'data-sources/mongodb',
            'data-sources/mssql',
            'data-sources/mysql',
            'data-sources/n8n',
            'data-sources/notion',
            'data-sources/openapi',
            'data-sources/oracledb',
            'data-sources/postgresql',
            'data-sources/redis',
            'data-sources/restapi',
            'data-sources/rethinkdb',
            'data-sources/run-js',
            'data-sources/run-py',
            'data-sources/saphana',
            'data-sources/sendgrid',
            'data-sources/slack',
            'data-sources/smtp',
            'data-sources/snowflake',
            'data-sources/stripe',
            'data-sources/twilio',
            'data-sources/typesense',
            'data-sources/woocommerce',
            'data-sources/zendesk',
          ],
        },
        'tutorial/transformations',
      ],
    },
    {
      'type': 'category',
      'label': 'Components Catalog',
      'items': [
        'widgets/overview',
        {
          'type': 'category',
          'label': 'Components library',
          'items': [
            'widgets/bounded-box',
            'widgets/button',
            'widgets/button-group',
            'widgets/calendar',
            'widgets/chart',
            'widgets/checkbox',
            'widgets/circular-progress-bar',
            'widgets/code-editor',
            'widgets/color-picker',
            'widgets/container',
            'widgets/custom-component',
            'widgets/date-range-picker',
            'widgets/datepicker',
            'widgets/divider',
            'widgets/dropdown',
            'widgets/file-picker',
            'widgets/form',
            'widgets/html',
            'widgets/icon',
            'widgets/iframe',
            'widgets/image',
            'widgets/kanban',
            'widgets/link',
            'widgets/listview',
            'widgets/map',
            'widgets/modal',
            'widgets/multiselect',
            'widgets/number-input',
            'widgets/password-input',
            'widgets/pdf',
            'widgets/pagination',
            'widgets/qr-scanner',
            'widgets/radio-button',
            'widgets/range-slider',
            'widgets/rich-text-editor',
            'widgets/spinner',
            'widgets/star-rating',
            'widgets/statistics',
            'widgets/steps',
            'widgets/svg-image',
            'widgets/table',
            'widgets/tabs',
            'widgets/tags',
            'widgets/text-input',
            'widgets/text',
            'widgets/textarea',
            'widgets/timeline',
            'widgets/timer',
            'widgets/toggle-switch',
            'widgets/tree-select',
            'widgets/vertical-divider',
          ],
        },
        {
          'type': 'category',
          'label': 'Actions Reference',
          'link': {
            'type': 'generated-index',
            'title': 'Actions Reference',
            'description': 'All the actions that can be performed through event handlers',
            'keywords': [
              'actions',
              'events',
            ],
          },
          'items': [
            'actions/show-alert',
            'actions/logout',
            'actions/run-query',
            'actions/open-webpage',
            'actions/go-to-app',
            'actions/show-modal',
            'actions/close-modal',
            'actions/copy-to-clipboard',
            'actions/set-localstorage',
            'actions/generate-file',
            'actions/set-table-page',
            'actions/set-variable',
            'actions/unset-variable',
            'actions/switch-page',
            'actions/set-page-variable',
            'actions/unset-page-variable',
            'actions/control-component',
          ],
        },
      ],
    },
    {
      'type': 'category',
      'label': 'App Builder',
      'items': [
        'app-builder/overview',
        'app-builder/topbar',
        'app-builder/share',
        'app-builder/canvas',
        'app-builder/left-sidebar',
        'app-builder/components-library',
        'app-builder/query-panel',
        'tutorial/pages',
        'app-builder/customstyles',
        'tutorial/keyboard-shortcuts',
      ],
    },
    {
      'type': 'category',
      'label': 'Org Management',
      'items': [
        {
          'type': 'category',
          'label': 'User Authentication',
          'link': {
            'type': 'generated-index',
            'title': 'User Authentication',
            'description': 'Guides for setting up User Authentication and managing Single Sign-On',
            'keywords': [
              'SSO',
              'authentication',
            ],
          },
          'collapsed': true,
          'items': [
            'user-authentication/user-lifecycle',
            'user-authentication/general-settings',
            'user-authentication/password-login',
            {
              'type': 'category',
              'label': 'SSO',
              'items': [
                'user-authentication/sso/github',
                'user-authentication/sso/google',
                {
                  'type': 'category',
                  'label': 'OpenId Connect',
                  'link': {
                    'type': 'generated-index',
                    'title': 'OpenId Connect',
                    'description': ' ',
                    'keywords': [
                      'okta',
                      'openid',
                      'azureAD',
                    ],
                  },
                  'collapsed': false,
                  'items': [
                    'user-authentication/sso/openid/setup',
                    'user-authentication/sso/openid/azuread',
                    'user-authentication/sso/openid/okta',
                    'user-authentication/sso/openid/google-openid',
                  ],
                },
                'user-authentication/sso/ldap',
              ],
            },
          ],
        },
        {
          'type': 'category',
          'label': 'Workspaces',
          'items': [
            'tutorial/workspace_overview',
            'tutorial/workspace-variables',
          ],
        },
        'org-management/permissions',
        'tutorial/manage-users-groups',
        'Enterprise/audit_logs',
        'Enterprise/white-label',
        'Enterprise/superadmin',
      ],
    },
    {
      'type': 'category',
      'label': 'Release Management',
      'items': [
        'release-management/multi-environment',
        'tutorial/versioning-and-release',
      ],
    },
    {
      'type': 'category',
      'label': 'Marketplace',
      'link': {
        'type': 'generated-index',
        'title': 'Marketplace',
        //        'description': 'ToolJet Marketplace documentation',
        'keywords': [
          'Marketplace',
          'Marketplace for plugins',
          'Using Marketplace',
          'Build plugins for marketplace',
        ],
      },
      'collapsed': true,
      'items': [
        'marketplace/marketplace-overview',
        {
          'type': 'category',
          'label': 'Marketplace Plugins',
          'items': [
            'marketplace/plugins/marketplace-plugin-textract',
            'marketplace/plugins/marketplace-plugin-github',
            'marketplace/plugins/marketplace-plugin-harperdb',
            'marketplace/plugins/marketplace-plugin-openai',
            'marketplace/plugins/marketplace-plugin-plivo',
          ],
        },
      ],
    },
    {
      'type': 'category',
      'label': 'How To',
      'link': {
        'type': 'generated-index',
        'title': 'How To Guides',
        'description': 'How To Guides for all the things ToolJet',
        'keywords': [
          'how to',
        ]
      },
      'items': [
        'how-to/use-inspector',
        'how-to/use-form-component',
        'how-to/access-cellvalue-rowdata',
        'how-to/bulk-update-multiple-rows',
        'how-to/access-currentuser',
        'how-to/use-axios-in-runjs',
        'how-to/import-external-libraries-using-runpy',
        'how-to/import-external-libraries-using-runjs',
        'how-to/run-actions-from-runjs',
        'how-to/intentionally-fail-js-query',
        'how-to/run-query-at-specified-intervals',
        'how-to/use-to-py-function-in-runpy',
        'how-to/access-users-location',
        'how-to/use-s3-signed-url-to-upload-docs',
        'how-to/s3-custom-endpoints',
        'how-to/oauth2-authorization',
        'how-to/upload-files-aws',
        'how-to/upload-files-gcs',
        'how-to/loading-image-pdf-from-db',
      ],
    },
    {
      'type': 'category',
      'label': 'Contributing Guide',
      'link': {
        'type': 'generated-index',
        'title': 'Contributing Guide',
        'description': 'Guides for contributing to ToolJet',
        'keywords': [
          'contribute',
          'contributing',
        ],
      },
      'collapsed': false,
      'items': [
        'contributing-guide/setup/architecture',
        {
          'type': 'category',
          'label': 'Setup',
          'items': [
            'contributing-guide/setup/macos',
            'contributing-guide/setup/docker',
            'contributing-guide/setup/ubuntu',
            'contributing-guide/setup/windows',
          ],
        },
        {
          'type': 'category',
          'label': 'Marketplace',
          'items': [
            'contributing-guide/marketplace/marketplace-setup',
            'contributing-guide/marketplace/creating-a-plugin',
          ],
        },
        'tooljet-cli',
        'contributing-guide/testing',
        'contributing-guide/l10n',
        {
          'type': 'category',
          'label': 'Troubleshooting',
          'items': [
            'contributing-guide/troubleshooting/eslint',
            'contributing-guide/troubleshooting/runpy-limitations',
          ],
        },
        'contributing-guide/code-of-conduct',
        'contributing-guide/slackcoc',
      ],
    },
    'security',
    'tracking',
    {
      'type': 'category',
      'label': 'Project Overview',
      'collapsed': false,
      'items': [
        {
          'type': 'link',
          'label': 'Releases',
          'href': 'https://github.com/ToolJet/ToolJet/releases',
        },
        {
          'type': 'link',
          'label': 'Roadmap',
          'href': 'https://github.com/ToolJet/ToolJet/projects/2?query=is%3Aopen+sort%3Aupdated-desc',
        },
      ],
    },
  ],
};

module.exports = sidebars;
