{"version":3,"file":"TableSelector.cjs","sources":["../../../src/components/TableSelector.tsx"],"sourcesContent":["import { useAsync } from 'react-use';\n\nimport { type SelectableValue, toOption } from '@grafana/data';\nimport { selectors } from '@grafana/e2e-selectors';\nimport { t } from '@grafana/i18n';\nimport { Select } from '@grafana/ui';\n\nimport { type DB, type ResourceSelectorProps } from '../types';\n\nexport interface TableSelectorProps extends ResourceSelectorProps {\n  db: DB;\n  table: string | undefined;\n  dataset: string | undefined;\n  onChange: (v: SelectableValue) => void;\n  inputId?: string | undefined;\n}\n\nexport const TableSelector = ({ db, dataset, table, className, onChange, inputId }: TableSelectorProps) => {\n  const state = useAsync(async () => {\n    // No need to attempt to fetch tables for an unknown dataset.\n    if (!dataset) {\n      return [];\n    }\n\n    const tables = await db.tables(dataset);\n    return tables.map(toOption);\n  }, [dataset]);\n\n  return (\n    <Select\n      className={className}\n      disabled={state.loading}\n      aria-label={t('grafana-sql.components.table-selector.aria-label-table-selector', 'Table selector')}\n      inputId={inputId}\n      data-testid={selectors.components.SQLQueryEditor.headerTableSelector}\n      value={table}\n      options={state.value}\n      onChange={onChange}\n      isLoading={state.loading}\n      menuShouldPortal={true}\n      placeholder={\n        state.loading\n          ? t('grafana-sql.components.table-selector.placeholder-loading', 'Loading tables')\n          : t('grafana-sql.components.table-selector.placeholder-select-table', 'Select table')\n      }\n      allowCustomValue={true}\n    />\n  );\n};\n"],"names":["useAsync","toOption","jsx","Select","t","selectors"],"mappings":";;;;;;;;;;;;AAiBO,MAAM,aAAA,GAAgB,CAAC,EAAE,EAAA,EAAI,SAAS,KAAA,EAAO,SAAA,EAAW,QAAA,EAAU,OAAA,EAAQ,KAA0B;AACzG,EAAA,MAAM,KAAA,GAAQA,kBAAS,YAAY;AAEjC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,OAAO,EAAC;AAAA,IACV;AAEA,IAAA,MAAM,MAAA,GAAS,MAAM,EAAA,CAAG,MAAA,CAAO,OAAO,CAAA;AACtC,IAAA,OAAO,MAAA,CAAO,IAAIC,aAAQ,CAAA;AAAA,EAC5B,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,uBACEC,cAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,UAAU,KAAA,CAAM,OAAA;AAAA,MAChB,YAAA,EAAYC,MAAA,CAAE,iEAAA,EAAmE,gBAAgB,CAAA;AAAA,MACjG,OAAA;AAAA,MACA,aAAA,EAAaC,sBAAA,CAAU,UAAA,CAAW,cAAA,CAAe,mBAAA;AAAA,MACjD,KAAA,EAAO,KAAA;AAAA,MACP,SAAS,KAAA,CAAM,KAAA;AAAA,MACf,QAAA;AAAA,MACA,WAAW,KAAA,CAAM,OAAA;AAAA,MACjB,gBAAA,EAAkB,IAAA;AAAA,MAClB,WAAA,EACE,MAAM,OAAA,GACFD,MAAA,CAAE,6DAA6D,gBAAgB,CAAA,GAC/EA,MAAA,CAAE,gEAAA,EAAkE,cAAc,CAAA;AAAA,MAExF,gBAAA,EAAkB;AAAA;AAAA,GACpB;AAEJ;;;;"}