@cubejs-client/react 1.7.37 → 1.7.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"cubejs-client-react.umd.js","sources":["../src/CubeContext.ts","../src/QueryRenderer.tsx","../src/QueryRendererWithTotals.tsx","../src/utils.ts","../src/QueryBuilder.tsx","../src/CubeProvider.tsx","../src/hooks/deep-compare-memoize.ts","../src/hooks/cube-fetch.ts","../src/hooks/cube-sql.ts","../src/hooks/dry-run.ts","../src/hooks/lazy-dry-run.ts","../src/hooks/cube-query.ts","../src/hooks/cube-meta.ts"],"sourcesContent":["import { createContext } from 'react';\n\nimport type { CubeContextProps } from './types';\n\n/**\n * In case when you need direct access to `cubeApi` you can use `CubeContext` anywhere in your app\n *\n * ```js\n * import React from 'react';\n * import { CubeContext } from '@cubejs-client/react';\n *\n * export default function DisplayComponent() {\n * const { cubeApi } = React.useContext(CubeContext);\n * const [rawResults, setRawResults] = React.useState([]);\n * const query = {\n * ...\n * };\n *\n * React.useEffect(() => {\n * cubeApi.load(query).then((resultSet) => {\n * setRawResults(resultSet.rawData());\n * });\n * }, [query]);\n *\n * return (\n * <>\n * {rawResults.map(row => (\n * ...\n * ))}\n * </>\n * )\n * }\n * ```\n */\n// The context has no default value: `cubeApi` is only available under a\n// `CubeProvider`, and consumers guard against a missing context.\nexport default createContext<CubeContextProps>(null as unknown as CubeContextProps);\n","import React from 'react';\nimport { equals, toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent } from '@cubejs-client/core';\nimport type { CubeApi, LoadMethodOptions, Query, ResultSet } from '@cubejs-client/core';\n\nimport CubeContext from './CubeContext';\nimport type {\n MutexObj,\n QueryRendererLoadState,\n QueryRendererProps,\n QueryRendererRenderProps,\n QueryRendererState,\n} from './types';\n\n/**\n * `<QueryRenderer />` a react component that accepts a query, fetches the given query, and uses the render prop to render the resulting data\n * @stickyTypes QueryRendererProps, QueryRendererRenderProps\n * @noInheritDoc\n */\nexport default class QueryRenderer extends React.Component<QueryRendererProps, QueryRendererState> {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n query: null,\n render: null,\n queries: null,\n loadSql: null,\n updateOnlyOnStateChange: false,\n resetResultSetOnChange: true,\n cache: null,\n };\n\n // @deprecated use `isQueryPresent` from `@cubejs-client/core`\n static isQueryPresent(query: Query | Query[]) {\n return isQueryPresent(query);\n }\n\n constructor(props: QueryRendererProps) {\n super(props);\n this.state = {};\n this.mutexObj = {};\n }\n\n componentDidMount() {\n const { query, queries } = this.props;\n if (query) {\n this.load(query);\n }\n if (queries) {\n this.loadQueries(queries);\n }\n }\n\n shouldComponentUpdate(nextProps: QueryRendererProps, nextState: QueryRendererState) {\n const {\n query, queries, render, cubeApi, loadSql, updateOnlyOnStateChange\n } = this.props;\n if (!updateOnlyOnStateChange) {\n return true;\n }\n return !equals(nextProps.query, query)\n || !equals(nextProps.queries, queries)\n || ((nextProps.render == null || render == null) && nextProps.render !== render)\n || nextProps.cubeApi !== cubeApi\n || nextProps.loadSql !== loadSql\n || !equals(nextState, this.state)\n || nextProps.updateOnlyOnStateChange !== updateOnlyOnStateChange;\n }\n\n componentDidUpdate(prevProps: QueryRendererProps) {\n const { query, queries } = this.props;\n if (!equals(prevProps.query, query)) {\n this.load(query);\n }\n\n if (!equals(prevProps.queries, queries)) {\n this.loadQueries(queries);\n }\n }\n\n // These sit after the lifecycle methods because `react/sort-comp` sorts\n // TypeScript field declarations into `everything-else`, which the configured\n // order puts after `lifecycle`. Runtime is unaffected: field initializers run\n // right after `super()`, so the constructor's assignments still win.\n //\n // `this.context` is not re-declared: React types it as `any`, and a field\n // declaration would be emitted at runtime and shadow the context React\n // assigns.\n private mutexObj: MutexObj;\n\n cubeApi(): CubeApi {\n // eslint-disable-next-line react/destructuring-assignment\n return this.props.cubeApi || this.context && this.context.cubeApi;\n }\n\n load(query: Query | Query[]) {\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n error: null,\n sqlQuery: null,\n ...(resetResultSetOnChange ? { resultSet: null } : {})\n });\n const { loadSql } = this.props;\n const cubeApi = this.cubeApi();\n\n const loadOptions: LoadMethodOptions = {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n ...(cache ? { cache } : {}),\n };\n\n if (query && isQueryPresent(query)) {\n if (loadSql === 'only') {\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' })\n .then(sqlQuery => this.setState({ sqlQuery, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else if (loadSql) {\n Promise.all([\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' }),\n cubeApi.load(query, loadOptions)\n ]).then(([sqlQuery, resultSet]) => this.setState({\n sqlQuery, resultSet, error: null, isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else {\n cubeApi.load(query, loadOptions)\n .then(resultSet => this.setState({ resultSet, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n }\n }\n\n loadQueries(queries?: { [key: string]: Query }) {\n const cubeApi = this.cubeApi();\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error: null\n });\n\n const resultPromises = Promise.all(toPairs(queries as { [key: string]: Query }).map(\n ([name, query]) => cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n ...(cache ? { cache } : {}),\n }).then((r): [string, ResultSet] => [name, r])\n ));\n\n resultPromises\n .then(resultSet => this.setState({\n resultSet: fromPairs(resultSet),\n error: null,\n isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n\n render() {\n const {\n error, queries, resultSet, isLoading, sqlQuery\n } = this.state;\n const { render } = this.props;\n\n const loadState: QueryRendererLoadState = {\n error: error ? new Error(error.response?.plainError || error.message || error.toString()) : null,\n resultSet: queries ? (resultSet || {}) : resultSet,\n loadingState: { isLoading },\n sqlQuery\n };\n\n if (render) {\n // The prop is declared as returning `void` for backwards compatibility,\n // while what it returns is what gets rendered\n return render(loadState as QueryRendererRenderProps) as React.ReactNode;\n }\n\n return null;\n }\n}\n","import React from 'react';\nimport type { TimeDimension } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport type { QueryRendererWithTotalsProps } from './types';\n\nconst QueryRendererWithTotals = ({ query, ...restProps }: QueryRendererWithTotalsProps) => (\n <QueryRenderer\n queries={{\n // `granularity: null` is sent to the API on purpose to get totals\n totals: {\n ...query,\n dimensions: [],\n timeDimensions: query.timeDimensions\n ? query.timeDimensions.map(td => ({ ...td, granularity: null }) as unknown as TimeDimension)\n : undefined\n },\n main: query\n }}\n {...restProps}\n />\n);\n\nexport default QueryRendererWithTotals;\n","export function removeEmpty<T>(obj: T): T {\n if (Array.isArray(obj) || typeof obj !== 'object') {\n return obj;\n }\n\n return Object.fromEntries(\n Object.entries(obj as Record<string, unknown>)\n .filter(([, v]) => v != null)\n .map(([k, v]) => {\n if (Array.isArray(v)) {\n return [k, v.map(removeEmpty)];\n }\n\n return [k, typeof v === 'object' ? removeEmpty(v) : v];\n })\n ) as T;\n}\n","import React from 'react';\nimport { clone, equals, indexBy, pick, prop, uniq, uniqBy } from 'ramda';\nimport {\n defaultHeuristics,\n defaultOrder,\n flattenFilters,\n getQueryMembers,\n isQueryPresent,\n moveItemInArray,\n movePivotItem,\n validateQuery,\n ResultSet,\n removeEmptyQueryFields\n} from '@cubejs-client/core';\nimport type {\n CubeApi,\n CubeMember,\n DryRunResponse,\n Meta,\n NotFoundMember,\n PivotConfig,\n PivotQuery,\n Query,\n QueryOrder,\n RequestError,\n TCubeDimension,\n TCubeMeasure,\n TCubeSegment,\n TDefaultHeuristicsState,\n TOrderMember,\n} from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport CubeContext from './CubeContext';\nimport { removeEmpty } from './utils';\nimport type {\n AvailableCube,\n AvailableMembers,\n ChartType,\n CubeContextProps,\n FilterUpdateFields,\n FilterUpdateInput,\n GranularityOption,\n IndexedDimension,\n IndexedMeasure,\n IndexedSegment,\n MemberUpdater,\n MemberUpdaterFactory,\n MetaErrorSource,\n MutexObj,\n PivotConfigUpdaterArgs,\n QueryBuilderInternalState,\n QueryBuilderProps,\n QueryBuilderRenderProps,\n QueryBuilderState,\n QueryBuilderStateUpdate,\n QueryMemberType,\n QueryRendererRenderProps,\n ResolvedFilter,\n ResolveMemberArgs,\n ResolvedTimeDimension,\n TimeDimensionComparisonUpdateFields,\n TimeDimensionRangedUpdateFields,\n TimeDimensionUpdateInput,\n TimeDimensionWithExtraFields,\n} from './types';\n\nconst granularities: GranularityOption[] = [\n { name: undefined, title: 'w/o grouping' },\n { name: 'second', title: 'Second' },\n { name: 'minute', title: 'Minute' },\n { name: 'hour', title: 'Hour' },\n { name: 'day', title: 'Day' },\n { name: 'week', title: 'Week' },\n { name: 'month', title: 'Month' },\n { name: 'quarter', title: 'Quarter' },\n { name: 'year', title: 'Year' },\n];\n\n/**\n * `<QueryBuilder />` is used to build interactive analytics query builders. It abstracts state management and API calls to Cube.js Backend. It uses render prop technique and doesn’t render anything itself, but calls the render function instead.\n *\n * **Example**\n *\n * [Open in CodeSandbox](https://codesandbox.io/s/z6r7qj8wm)\n * ```js\n * import React from 'react';\n * import ReactDOM from 'react-dom';\n * import { Layout, Divider, Empty, Select } from 'antd';\n * import { QueryBuilder } from '@cubejs-client/react';\n * import cube from '@cubejs-client/core';\n * import 'antd/dist/antd.css';\n *\n * import ChartRenderer from './ChartRenderer';\n *\n * const cubeApi = cube('YOUR-CUBE-API-TOKEN', {\n * apiUrl: 'http://localhost:4000/cubejs-api/v1',\n * });\n *\n * const App = () => (\n * <QueryBuilder\n * query={{\n * timeDimensions: [\n * {\n * dimension: 'LineItems.createdAt',\n * granularity: 'month',\n * },\n * ],\n * }}\n * cubeApi={cubeApi}\n * render={({ resultSet, measures, availableMeasures, updateMeasures }) => (\n * <Layout.Content style={{ padding: '20px' }}>\n * <Select\n * mode=\"multiple\"\n * style={{ width: '100%' }}\n * placeholder=\"Please select\"\n * onSelect={(measure) => updateMeasures.add(measure)}\n * onDeselect={(measure) => updateMeasures.remove(measure)}\n * >\n * {availableMeasures.map((measure) => (\n * <Select.Option key={measure.name} value={measure}>\n * {measure.title}\n * </Select.Option>\n * ))}\n * </Select>\n * <Divider />\n * {measures.length > 0 ? (\n * <ChartRenderer resultSet={resultSet} />\n * ) : (\n * <Empty description=\"Select measure or dimension to get started\" />\n * )}\n * </Layout.Content>\n * )}\n * />\n * );\n *\n * const rootElement = document.getElementById(\"root\");\n * ReactDOM.render(<App />, rootElement);\n * ```\n * @stickyTypes QueryBuilderProps, QueryBuilderRenderProps, QueryBuilderState\n * @noInheritDoc\n * @order 2\n */\nexport default class QueryBuilder extends React.Component<QueryBuilderProps, QueryBuilderInternalState> {\n static contextType = CubeContext;\n\n static defaultProps = {\n cubeApi: null,\n stateChangeHeuristics: null,\n disableHeuristics: false,\n render: null,\n wrapWithQueryRenderer: true,\n defaultChartType: 'line',\n defaultQuery: {},\n initialVizState: null,\n onVizStateChanged: null,\n\n // deprecated\n query: null,\n setQuery: null,\n vizState: null,\n setVizState: null,\n };\n\n // This is an anti-pattern, only kept for backward compatibility\n // https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#anti-pattern-unconditionally-copying-props-to-state\n static getDerivedStateFromProps(props: QueryBuilderProps, state: QueryBuilderInternalState) {\n if (props.query || props.vizState) {\n const nextState = {\n ...state,\n ...(props.vizState || {}),\n };\n\n if (Array.isArray(props.query)) {\n throw new Error('Array of queries is not supported.');\n }\n\n return {\n ...nextState,\n query: {\n ...nextState.query,\n ...(props.query || {}),\n },\n };\n }\n return null;\n }\n\n static resolveMember(\n type: QueryMemberType,\n { meta, query }: ResolveMemberArgs\n ): unknown[] {\n if (!meta) {\n return [];\n }\n\n if (Array.isArray(query)) {\n return query.reduce<unknown[]>(\n (memo, currentQuery) => memo.concat(\n QueryBuilder.resolveMember(type, {\n meta,\n query: currentQuery,\n })\n ),\n []\n );\n }\n\n if (type === 'timeDimensions') {\n return (query.timeDimensions || []).map((m, index) => ({\n ...m,\n dimension: {\n ...(meta.resolveMember(m.dimension, 'dimensions') as TCubeDimension),\n granularities,\n },\n index,\n }));\n }\n\n return (query[type] || []).map((m, index) => ({\n index,\n ...(meta.resolveMember(m, type) as CubeMember),\n }));\n }\n\n constructor(props: QueryBuilderProps) {\n super(props);\n\n this.state = {\n query: (props.defaultQuery || props.query) as Query,\n chartType: props.defaultChartType,\n validatedQuery: props.query, // deprecated, validatedQuery should not be set until after dry-run for safety\n missingMembers: [],\n // todo: rename to `isMetaReady`\n isFetchingMeta: true,\n dryRunResponse: null,\n ...props.vizState, // deprecated\n ...props.initialVizState,\n };\n\n this.mutexObj = {};\n this.orderMembersOrderKeys = [];\n }\n\n async componentDidMount() {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n async componentDidUpdate(prevProps: QueryBuilderProps) {\n const { schemaVersion, onSchemaChange } = this.props;\n const { meta } = this.state;\n\n if (this.prevContext?.cubeApi !== this.context?.cubeApi) {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n if (prevProps.schemaVersion !== schemaVersion) {\n try {\n const newMeta = await this.cubeApi().meta();\n if (!equals(newMeta, meta) && typeof onSchemaChange === 'function') {\n onSchemaChange({\n schemaVersion: schemaVersion as number,\n refresh: async () => {\n await this.fetchMeta();\n },\n });\n }\n } catch (error) {\n // eslint-disable-next-line\n this.setState({ metaError: error as Error });\n }\n }\n }\n\n // These sit after the lifecycle methods because `react/sort-comp` sorts\n // TypeScript field declarations into `everything-else`, which the configured\n // order puts after `lifecycle`. Runtime is unaffected: field initializers run\n // right after `super()`, so the constructor's assignments still win.\n //\n // `this.context` is not re-declared: React types it as `any`, and a field\n // declaration would be emitted at runtime and shadow the context React\n // assigns.\n private mutexObj: MutexObj;\n\n private orderMembersOrderKeys: string[];\n\n private prevContext?: CubeContextProps;\n\n fetchMeta = async () => {\n if (!this.cubeApi()) {\n return;\n }\n\n let meta: Meta | undefined;\n let metaError: MetaErrorSource | null = null;\n let richMetaError: Error | null = null;\n let metaErrorStack: string | null = null;\n\n try {\n this.setState({ isFetchingMeta: true });\n meta = await this.cubeApi().meta();\n } catch (error) {\n const requestError = error as RequestError;\n\n metaError = requestError.response?.plainError || requestError;\n richMetaError = requestError;\n metaErrorStack = requestError.response?.stack?.replace(requestError.message || '', '') || '';\n }\n\n this.setState(\n {\n meta,\n metaError: metaError ? new Error(metaError.message || metaError.toString()) : null,\n richMetaError,\n metaErrorStack,\n isFetchingMeta: false,\n },\n () => {\n // Run update query to force viz state update\n // This will catch any new missing members, and also validate the query against the new meta\n this.updateQuery({});\n }\n );\n };\n\n cubeApi(): CubeApi {\n const { cubeApi } = this.props;\n // eslint-disable-next-line react/destructuring-assignment\n return cubeApi || (this.context && this.context.cubeApi);\n }\n\n getMissingMembers(query: Query, meta?: Meta) {\n if (!meta) {\n return [];\n }\n\n return getQueryMembers(query)\n .map((member) => {\n const resolvedMember = meta.resolveMember(member, ['measures', 'dimensions', 'segments']) as NotFoundMember;\n if (resolvedMember.error) {\n return member;\n }\n return false;\n })\n .filter(Boolean) as string[];\n }\n\n isQueryPresent() {\n const { query } = this.state;\n return QueryRenderer.isQueryPresent(query);\n }\n\n prepareRenderProps(queryRendererProps?: QueryRendererRenderProps): QueryBuilderRenderProps {\n const getName = (member: unknown) => (member as CubeMember).name;\n\n const toTimeDimension = (member: TimeDimensionUpdateInput) => {\n const rangeSelection = member.compareDateRange\n ? { compareDateRange: member.compareDateRange }\n : { dateRange: member.dateRange };\n\n return removeEmpty({\n dimension: member.dimension.name,\n granularity: member.granularity,\n ...rangeSelection,\n });\n };\n\n const toFilter = (member: FilterUpdateInput) => ({\n member: member.member?.name || member.dimension?.name,\n operator: member.operator,\n ...(['set', 'notSet'].includes(member.operator) ? {} : { values: member.values }),\n });\n\n const updateMethods: MemberUpdaterFactory = (memberType, toQuery = getName) => ({\n add: (member) => {\n const { query } = this.state;\n this.updateQuery({\n [memberType]: ((query[memberType] || []) as unknown[]).concat(toQuery(member)),\n } as Query);\n },\n remove: (member) => {\n const { query } = this.state;\n\n return this.updateQuery({\n [memberType]: ((query[memberType] || []) as unknown[]).filter((_, index) => index !== member.index),\n } as Query);\n },\n update: (member, updateWith) => {\n const { query } = this.state;\n const members = ((query[memberType] || []) as unknown[]).concat([]);\n members.splice(member.index, 1, toQuery(updateWith));\n return this.updateQuery({\n [memberType]: members,\n } as Query);\n },\n });\n\n const {\n meta,\n metaError,\n richMetaError,\n query,\n queryError,\n chartType,\n pivotConfig,\n validatedQuery,\n missingMembers,\n isFetchingMeta,\n dryRunResponse,\n metaErrorStack\n } = this.state;\n\n const flatFilters = uniqBy((filter) => `${prop('member', filter)}${prop('operator', filter)}`,\n flattenFilters((meta && query.filters) || []).map((filter) => ({\n ...filter,\n member: filter.member || filter.dimension,\n })));\n\n const filters: ResolvedFilter[] = flatFilters.map((m, i) => ({\n ...m,\n dimension: meta!.resolveMember(\n m.member || m.dimension!,\n ['dimensions', 'measures']\n ) as TCubeDimension | TCubeMeasure,\n operators: meta!.filterOperatorsForMember(m.member || m.dimension!, ['dimensions', 'measures']),\n index: i,\n }));\n\n const measures = QueryBuilder.resolveMember('measures', this.state) as IndexedMeasure[];\n const dimensions = QueryBuilder.resolveMember('dimensions', this.state) as IndexedDimension[];\n const timeDimensions = QueryBuilder.resolveMember('timeDimensions', this.state) as ResolvedTimeDimension[];\n const segments: IndexedSegment[] = ((meta && query.segments) || []).map((m, i) => ({\n index: i,\n ...(meta!.resolveMember(m, 'segments') as TCubeSegment),\n }));\n\n let availableMeasures: TCubeMeasure[] = [];\n let availableDimensions: TCubeDimension[] = [];\n let availableSegments: TCubeSegment[] = [];\n let availableFilterMembers: Array<AvailableCube<TCubeMeasure> | AvailableCube<TCubeDimension>> = [];\n\n const availableMembers: AvailableMembers = meta?.membersGroupedByCube() || {\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n };\n\n if (meta) {\n availableMeasures = meta.membersForQuery(query, 'measures') as TCubeMeasure[];\n availableDimensions = meta.membersForQuery(query, 'dimensions') as TCubeDimension[];\n availableSegments = meta.membersForQuery(query, 'segments') as TCubeSegment[];\n\n const indexedMeasures = indexBy(prop('cubeName'), availableMembers.measures);\n const indexedDimensions = indexBy(prop('cubeName'), availableMembers.dimensions);\n const cubeNames = uniq([...Object.keys(indexedMeasures), ...Object.keys(indexedDimensions)]).sort();\n\n // Measures and dimensions of a cube are merged into one member list, which\n // the declared type describes as either one or the other\n availableFilterMembers = cubeNames.map((name): AvailableCube<TCubeMeasure | TCubeDimension> => {\n const cube = indexedMeasures[name] || indexedDimensions[name];\n\n return {\n ...cube,\n members: [\n ...indexedMeasures[name]?.members,\n ...indexedDimensions[name]?.members\n ].sort((a, b) => (a.shortTitle > b.shortTitle ? 1 : -1)),\n };\n }) as Array<AvailableCube<TCubeMeasure> | AvailableCube<TCubeDimension>>;\n }\n\n const activeOrder = Array.isArray(query.order) ? Object.fromEntries(query.order) : query.order;\n const members = [\n ...measures,\n ...dimensions,\n ...timeDimensions.map(({ dimension }) => dimension)\n ];\n\n let orderMembers = uniqBy(prop('id'), [\n // uniqBy prefers first, so these will only be added if not already in the query\n ...members.map(({ name, title }) => ({ id: name, title, order: activeOrder?.[name] || 'none' })),\n ]);\n\n if (this.orderMembersOrderKeys.length !== orderMembers.length) {\n this.orderMembersOrderKeys = orderMembers.map(({ id }) => id);\n }\n\n if (this.orderMembersOrderKeys.length) {\n // Preserve order until the members change or manually re-ordered\n // This is needed so that when an order member becomes active, it doesn't jump to the top of the list\n orderMembers = (this.orderMembersOrderKeys || [])\n .map((id) => orderMembers.find((member) => member.id === id))\n .filter(Boolean) as TOrderMember[];\n }\n\n return {\n meta,\n metaError,\n richMetaError,\n metaErrorStack,\n query,\n error: queryError, // Match same name as QueryRenderer prop\n validatedQuery: validatedQuery as Query,\n isQueryPresent: this.isQueryPresent(),\n chartType,\n measures,\n dimensions,\n // The declared granularity options require a `name`, which the\n // \"w/o grouping\" option leaves out\n timeDimensions: timeDimensions as (TimeDimensionWithExtraFields & { index: number })[],\n segments,\n filters,\n orderMembers,\n availableMeasures,\n availableDimensions,\n availableTimeDimensions: availableDimensions.filter((m) => m.type === 'time'),\n availableSegments,\n availableMembers,\n availableFilterMembers,\n updateQuery: (queryUpdate) => this.updateQuery(queryUpdate),\n updateMeasures: updateMethods<TCubeMeasure>('measures'),\n updateDimensions: updateMethods<TCubeDimension>('dimensions'),\n updateSegments: updateMethods<TCubeSegment>('segments'),\n updateTimeDimensions: updateMethods<TimeDimensionUpdateInput>('timeDimensions', toTimeDimension) as\n MemberUpdater<TimeDimensionRangedUpdateFields | TimeDimensionComparisonUpdateFields>,\n updateFilters: updateMethods<FilterUpdateInput>('filters', toFilter) as MemberUpdater<FilterUpdateFields>,\n updateChartType: (newChartType: ChartType) => this.updateVizState({ chartType: newChartType }),\n updateOrder: {\n set: (memberId: string, newOrder: QueryOrder | 'none' = 'asc') => {\n this.updateQuery({\n order: orderMembers\n .map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n .reduce<[string, QueryOrder][]>(\n (acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc),\n []\n ),\n });\n },\n update: (order) => {\n this.updateQuery({\n order,\n });\n },\n reorder: (sourceIndex: number, destinationIndex: number) => {\n if (sourceIndex == null || destinationIndex == null) {\n return;\n }\n\n const nextArray = moveItemInArray(orderMembers, sourceIndex, destinationIndex);\n this.orderMembersOrderKeys = nextArray.map(({ id }) => id);\n\n this.updateQuery({\n order: nextArray.reduce<[string, QueryOrder][]>(\n (acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc),\n []\n ),\n });\n },\n },\n pivotConfig,\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }: PivotConfigUpdaterArgs) => {\n this.updateVizState({\n pivotConfig: movePivotItem(\n pivotConfig as PivotConfig, sourceIndex, destinationIndex, sourceAxis, destinationAxis\n ),\n });\n },\n update: (config) => {\n const { limit } = config;\n\n this.updateVizState({\n pivotConfig: {\n ...pivotConfig,\n ...config,\n },\n ...(limit ? { query: { ...query, limit } } : null),\n });\n },\n },\n missingMembers,\n refresh: this.fetchMeta,\n isFetchingMeta,\n dryRunResponse: dryRunResponse as DryRunResponse | undefined,\n ...queryRendererProps,\n };\n }\n\n updateQuery(queryUpdate: Query) {\n const { query } = this.state;\n\n this.updateVizState({\n query: removeEmptyQueryFields({\n ...query,\n ...queryUpdate,\n }),\n });\n }\n\n async updateVizState(state: QueryBuilderStateUpdate) {\n const { setQuery, setVizState } = this.props;\n const { query: stateQuery, pivotConfig: statePivotConfig, chartType, meta } = this.state;\n\n const finalState = this.applyStateChangeHeuristics(state);\n if (!finalState.query) {\n finalState.query = { ...stateQuery };\n }\n\n let vizStateSent: QueryBuilderState | null = null;\n const handleVizStateChange = (currentState: QueryBuilderStateUpdate) => {\n const { onVizStateChanged } = this.props;\n if (onVizStateChanged) {\n const newVizState = pick(['chartType', 'pivotConfig', 'query'], currentState) as QueryBuilderState;\n // Don't run callbacks more than once unless the viz state has changed since last time\n if (!vizStateSent || !equals(vizStateSent, newVizState)) {\n onVizStateChanged(newVizState);\n // use clone to make sure we don't save object references\n vizStateSent = clone(newVizState);\n }\n }\n };\n\n // deprecated, setters replaced by onVizStateChanged\n const runSetters = (currentState: QueryBuilderStateUpdate) => {\n if (setVizState) {\n setVizState(pick(['chartType', 'pivotConfig', 'query'], currentState) as QueryBuilderState);\n }\n if (currentState.query && setQuery) {\n setQuery(currentState.query);\n }\n };\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = defaultOrder(finalState.query);\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(\n finalState.query as PivotQuery,\n (finalState.pivotConfig !== undefined ? finalState.pivotConfig : statePivotConfig) as PivotConfig | undefined\n );\n\n finalState.missingMembers = this.getMissingMembers(finalState.query, meta);\n finalState.chartType = finalState.chartType || state.chartType || chartType;\n\n // deprecated\n runSetters({\n ...state,\n query: finalState.query,\n });\n\n // Update optimistically so that UI does not stutter\n this.setState({\n ...finalState,\n queryError: null,\n } as QueryBuilderInternalState);\n\n handleVizStateChange(finalState);\n\n const shouldFetchDryRun = !equals(\n pick(['measures', 'dimensions', 'timeDimensions'], stateQuery),\n pick(['measures', 'dimensions', 'timeDimensions'], finalState.query)\n );\n\n if (shouldFetchDryRun && isQueryPresent(finalState.query) && finalState.missingMembers.length === 0) {\n try {\n const response = await this.cubeApi().dryRun(finalState.query, {\n mutexObj: this.mutexObj,\n });\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = (response.queryOrder || []).reduce((memo, current) => ({ ...memo, ...current }), {});\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(response.pivotQuery, finalState.pivotConfig);\n finalState.validatedQuery = this.validatedQuery(finalState);\n finalState.dryRunResponse = response;\n\n // deprecated\n if (isQueryPresent(stateQuery)) {\n runSetters({\n ...this.state,\n ...finalState,\n });\n }\n } catch (error) {\n const requestError = error as RequestError;\n\n this.setState({\n queryError: new Error(requestError.response?.plainError || requestError.message),\n richQueryError: new Error(requestError.message || requestError.toString())\n });\n }\n }\n\n this.setState(finalState as QueryBuilderInternalState, () => handleVizStateChange(this.state));\n }\n\n validatedQuery(state?: QueryBuilderStateUpdate) {\n const { query } = state || this.state;\n\n return validateQuery(query);\n }\n\n defaultHeuristics(newState: QueryBuilderStateUpdate): QueryBuilderStateUpdate {\n const { query, sessionGranularity, meta } = this.state;\n\n return defaultHeuristics(newState as TDefaultHeuristicsState, query, {\n meta: meta as Meta,\n sessionGranularity: sessionGranularity || 'day',\n }) as QueryBuilderStateUpdate;\n }\n\n applyStateChangeHeuristics(newState: QueryBuilderStateUpdate): QueryBuilderStateUpdate {\n const { stateChangeHeuristics, disableHeuristics } = this.props;\n if (disableHeuristics) {\n return newState;\n }\n return (stateChangeHeuristics && stateChangeHeuristics(this.state, newState)) || this.defaultHeuristics(newState);\n }\n\n render() {\n const { query } = this.state;\n const { cubeApi, render, wrapWithQueryRenderer } = this.props;\n\n if (wrapWithQueryRenderer) {\n return (\n <QueryRenderer\n query={query}\n cubeApi={cubeApi}\n resetResultSetOnChange={false}\n render={(queryRendererProps) => {\n if (render) {\n return render(this.prepareRenderProps(queryRendererProps));\n }\n return null;\n }}\n />\n );\n } else {\n if (render) {\n return render(this.prepareRenderProps());\n }\n return null;\n }\n }\n}\n","import React from 'react';\n\nimport CubeContext from './CubeContext';\nimport type { CubeContextProps, CubeProviderProps } from './types';\n\n/**\n * Cube.js context provider\n * ```js\n * import React from 'react';\n * import cube from '@cubejs-client/core';\n * import { CubeProvider } from '@cubejs-client/react';\n *\n * const API_URL = 'https://harsh-eel.aws-us-east-2.cubecloudapp.dev';\n * const CUBE_TOKEN =\n * 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.* eyJpYXQiOjE1OTE3MDcxNDgsImV4cCI6MTU5NDI5OTE0OH0.* n5jGLQJ14igg6_Hri_Autx9qOIzVqp4oYxmX27V-4T4';\n *\n * const cubeApi = cube(CUBE_TOKEN, {\n * apiUrl: `${API_URL}/cubejs-api/v1`,\n * });\n *\n * export default function App() {\n * return (\n * <CubeProvider cubeApi={cubeApi}>\n * //...\n * </CubeProvider>\n * )\n * }\n * ```\n * @stickyTypes\n * @order 10\n */\nconst CubeProvider: React.FC<CubeProviderProps> = ({ cubeApi, children, options = {} }) => (\n <CubeContext.Provider value={{\n cubeApi,\n options\n } as CubeContextProps}\n >\n {children}\n </CubeContext.Provider>\n);\n\nexport default CubeProvider;\n","import { useRef } from 'react';\nimport { equals } from 'ramda';\n\nexport default function useDeepCompareMemoize(value: unknown[]): unknown[] {\n const ref = useRef<unknown[]>([]);\n\n if (!equals(value, ref.current)) {\n ref.current = value;\n }\n\n return ref.current;\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent } from '@cubejs-client/core';\nimport type { MetaMethodOptions, Query } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\nimport type {\n CubeFetchArgs,\n CubeFetchDispatch,\n CubeFetchMethod,\n CubeFetchState,\n MutexObj,\n UseCubeFetchInternalResult,\n UseCubeFetchLoadOptions,\n UseCubeFetchOptions,\n UseCubeFetchResult,\n} from '../types';\n\n/**\n * @hidden\n */\nexport function useCubeFetch<T>(\n method: CubeFetchMethod,\n options?: UseCubeFetchOptions\n): UseCubeFetchResult<T>;\n\nexport function useCubeFetch<T>(\n method: CubeFetchMethod,\n options: UseCubeFetchOptions = {}\n): UseCubeFetchInternalResult<T> {\n const context = useContext(CubeContext);\n const mutexRef = useRef<MutexObj>({});\n\n const [response, setResponse] = useState<CubeFetchState<T>>({\n isLoading: false,\n response: null,\n });\n const [error, setError] = useState<Error | null>(null);\n\n const { skip = false } = options;\n\n async function load(loadOptions: UseCubeFetchLoadOptions = {}, ignoreSkip = false) {\n const cubeApi = options.cubeApi || context?.cubeApi;\n const query = loadOptions.query || options.query;\n const onlyViews = 'onlyViews' in loadOptions ? loadOptions.onlyViews : options.onlyViews;\n\n const queryCondition = method === 'meta' ? true : query && isQueryPresent(query);\n\n if (cubeApi && (ignoreSkip || !skip) && queryCondition) {\n setError(null);\n setResponse({\n isLoading: true,\n response: null,\n });\n\n const coreOptions: MetaMethodOptions = {\n mutexObj: mutexRef.current,\n mutexKey: method,\n ...(options.baseRequestId ? { baseRequestId: options.baseRequestId } : {}),\n ...(method === 'meta' && onlyViews ? { onlyViews: true } : {})\n };\n const args: CubeFetchArgs = method === 'meta' ? [coreOptions] : [query!, coreOptions];\n // `method` picks between overloaded `CubeApi` methods, so the call is\n // dispatched dynamically while keeping `cubeApi` as the receiver\n const fetchMethod = cubeApi[method] as CubeFetchDispatch;\n\n try {\n const fetchResponse = await fetchMethod.apply(cubeApi, args) as T;\n\n setResponse({\n response: fetchResponse,\n isLoading: false,\n });\n } catch (fetchError) {\n setError(fetchError as Error);\n setResponse({\n isLoading: false,\n response: null,\n });\n }\n }\n }\n\n useEffect(() => {\n load();\n // `order` is read off a single query; an array of queries does not carry it\n }, useDeepCompareMemoize([\n Object.keys((options.query as Query | undefined)?.order || {}),\n options,\n context,\n ]));\n\n return {\n ...response,\n error,\n refetch: (refetchOptions?: UseCubeFetchLoadOptions) => load(refetchOptions, true),\n };\n}\n","import type { DryRunResponse, Query, SqlQuery } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type { UseCubeFetchOptions, UseCubeFetchResult } from '../types';\n\n/**\n * The hook resolves with a `SqlQuery`, while its `response` stays declared as a\n * dry-run response for backwards compatibility — `UseCubeSqlResult` spells the\n * real shape. `refetch` is declared, as it is on `useDryRun` and `useCubeMeta`,\n * because all three return the same object.\n *\n * @hidden\n */\nexport function useCubeSql(\n query: Query | Query[],\n options: UseCubeFetchOptions = {}\n): UseCubeFetchResult<DryRunResponse> {\n return useCubeFetch<SqlQuery>('sql', {\n ...options,\n query\n }) as unknown as UseCubeFetchResult<DryRunResponse>;\n}\n","import type { DryRunResponse, Query } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type { UseCubeFetchOptions, UseCubeFetchResult } from '../types';\n\n/**\n * @hidden\n */\nexport function useDryRun(\n query: Query | Query[],\n options: UseCubeFetchOptions = {}\n): UseCubeFetchResult<DryRunResponse> {\n return useCubeFetch<DryRunResponse>('dryRun', {\n ...options,\n query,\n });\n}\n","import type { DryRunResponse, Query } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type {\n CubeFetchResult,\n UseCubeFetchLoadOptions,\n UseCubeFetchOptions,\n} from '../types';\n\n/**\n * @hidden\n */\nexport function useLazyDryRun(\n query?: Query | Query[],\n options: UseCubeFetchOptions = {}\n): [(loadOptions?: UseCubeFetchLoadOptions) => Promise<void>, CubeFetchResult<DryRunResponse>] {\n const { refetch, ...result } = useCubeFetch<DryRunResponse>('dryRun', {\n ...options,\n query,\n skip: true\n });\n\n return [refetch, result];\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport type {\n DeeplyReadonly,\n ProgressResponse,\n Query,\n QueryRecordType,\n ResultSet,\n UnsubscribeObj,\n} from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\nimport type {\n MutexObj,\n ProgressCallback,\n ProgressResultWithResponse,\n ReadonlyQueryInput,\n UseCubeQueryInternalResult,\n UseCubeQueryOptions,\n UseCubeQueryResult,\n} from '../types';\n\n/**\n * A React hook for executing Cube.js queries\n * ```js\n * import React from 'react';\n * import { Table } from 'antd';\n * import { useCubeQuery } from '@cubejs-client/react';\n *\n * export default function App() {\n * const { resultSet, isLoading, error, progress } = useCubeQuery({\n * measures: ['Orders.count'],\n * dimensions: ['Orders.createdAt.month'],\n * });\n *\n * if (isLoading) {\n * return <div>{progress?.stage || 'Loading...'}</div>;\n * }\n *\n * if (error) {\n * return <div>{error.toString()}</div>;\n * }\n *\n * if (!resultSet) {\n * return null;\n * }\n *\n * const dataSource = resultSet.tablePivot();\n * const columns = resultSet.tableColumns();\n *\n * return <Table columns={columns} dataSource={dataSource} />;\n * }\n *\n * ```\n * @order 1\n * @stickyTypes\n */\nexport function useCubeQuery<\n Data,\n QueryInput extends ReadonlyQueryInput = ReadonlyQueryInput\n>(\n query: QueryInput,\n options?: UseCubeQueryOptions\n): UseCubeQueryResult<QueryInput, unknown extends Data ? QueryRecordType<QueryInput> : Data>;\n\nexport function useCubeQuery(\n query: ReadonlyQueryInput,\n options: UseCubeQueryOptions = {}\n): UseCubeQueryInternalResult {\n const mutexRef = useRef<MutexObj>({});\n const [currentQuery, setCurrentQuery] = useState<ReadonlyQueryInput | null>(null);\n const [isLoading, setLoading] = useState(!options.skip);\n const [resultSet, setResultSet] = useState<ResultSet | null>(null);\n const [progress, setProgress] = useState<ProgressResponse | null>(null);\n const [error, setError] = useState<Error | null>(null);\n const context = useContext(CubeContext);\n\n let subscribeRequest: UnsubscribeObj | null = null;\n\n // `progressResponse` is not part of the public `ProgressResult` API\n const progressCallback: ProgressCallback = (progressResult) => setProgress(\n (progressResult as unknown as ProgressResultWithResponse).progressResponse\n );\n\n async function fetch() {\n const { resetResultSetOnChange } = options;\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n if (resetResultSetOnChange) {\n setResultSet(null);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n const response = await cubeApi.load(query, {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n castNumerics: Boolean(typeof options.castNumerics === 'boolean' ? options.castNumerics : context?.options?.castNumerics),\n ...(options.cache ? { cache: options.cache } : {}),\n });\n\n setResultSet(response);\n setProgress(null);\n } catch (loadError) {\n setError(loadError as Error);\n setResultSet(null);\n setProgress(null);\n }\n\n setLoading(false);\n }\n\n useEffect(() => {\n const { skip = false, resetResultSetOnChange } = options;\n\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n async function loadQuery() {\n if (!skip && isQueryPresent(query)) {\n // `areQueriesEqual` is declared for a single query, and reads no more\n // than `order` off one when given an array of queries\n const previousQuery = currentQuery as DeeplyReadonly<Query> | null;\n\n if (!areQueriesEqual(previousQuery, query as DeeplyReadonly<Query>)) {\n if (resetResultSetOnChange == null || resetResultSetOnChange) {\n setResultSet(null);\n }\n setCurrentQuery(query);\n }\n\n setError(null);\n setLoading(true);\n\n try {\n if (subscribeRequest) {\n await subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n\n if (options.subscribe) {\n subscribeRequest = cubeApi.subscribe(\n query,\n {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback,\n ...(options.cache ? { cache: options.cache } : {}),\n },\n (e, result) => {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n );\n } else {\n await fetch();\n }\n } catch (e) {\n setError(e as Error);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\n }\n }\n\n loadQuery();\n\n return () => {\n if (subscribeRequest) {\n subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n };\n // `order` is read off a single query; an array of queries does not carry it\n }, useDeepCompareMemoize([\n query,\n Object.keys((query as DeeplyReadonly<Query> | undefined)?.order || {}),\n options,\n context,\n ]));\n\n return {\n isLoading,\n resultSet,\n error,\n progress,\n previousQuery: currentQuery,\n refetch: fetch\n };\n}\n","import type { Meta } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type { CubeMetaFetchOptions, UseCubeFetchResult } from '../types';\n\nexport function useCubeMeta(options: CubeMetaFetchOptions = {}): UseCubeFetchResult<Meta> {\n return useCubeFetch<Meta>('meta', options);\n}\n"],"names":["createContext","QueryRenderer","_React$Component","props","_this","_classCallCheck","_callSuper","_defineProperty","state","mutexObj","_inherits","_createClass","key","value","componentDidMount","_this$props","query","queries","load","loadQueries","shouldComponentUpdate","nextProps","nextState","_this$props2","render","cubeApi","loadSql","updateOnlyOnStateChange","equals","componentDidUpdate","prevProps","_this$props3","context","_this2","_this$props4","resetResultSetOnChange","cache","setState","_objectSpread","isLoading","error","sqlQuery","resultSet","loadOptions","mutexKey","isQueryPresent","sql","then","Promise","all","_ref","_ref2","_slicedToArray","_this3","_this$props5","resultPromises","toPairs","map","_ref3","_ref4","name","r","fromPairs","_error$response","_this$state","loadState","Error","response","plainError","message","toString","loadingState","React","Component","CubeContext","QueryRendererWithTotals","restProps","_objectWithoutProperties","_excluded","createElement","_extends","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","Array","isArray","_typeof","Object","fromEntries","entries","filter","v","k","granularities","title","QueryBuilder","_asyncToGenerator","_regenerator","m","_callee","meta","metaError","richMetaError","metaErrorStack","_requestError$respons","_requestError$respons2","requestError","_t","w","_context","p","n","a","isFetchingMeta","stack","replace","updateQuery","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_t2","_context4","refresh","_refresh","_callee3","_context3","_x","getMissingMembers","getQueryMembers","member","resolvedMember","resolveMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","_member$member","_member$dimension","operator","includes","values","updateMethods","memberType","toQuery","length","add","concat","remove","_","index","update","updateWith","members","splice","queryError","pivotConfig","flatFilters","uniqBy","prop","flattenFilters","filters","i","operators","filterOperatorsForMember","measures","segments","availableMeasures","availableDimensions","availableSegments","availableFilterMembers","availableMembers","membersGroupedByCube","membersForQuery","indexedMeasures","indexBy","indexedDimensions","cubeNames","uniq","_toConsumableArray","keys","sort","_indexedMeasures$name","_indexedDimensions$na","cube","b","shortTitle","activeOrder","order","orderMembers","id","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","_ref5","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","_ref6","_ref7","updatePivotConfig","moveItem","_ref8","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","_updateVizState","_callee5","_this4","setQuery","setVizState","_this$state2","stateQuery","statePivotConfig","finalState","vizStateSent","handleVizStateChange","runSetters","shouldFetchDryRun","_requestError$respons3","_t3","_context5","applyStateChangeHeuristics","currentState","onVizStateChanged","newVizState","pick","clone","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","_x2","_ref9","validateQuery","defaultHeuristics","newState","_this$state3","sessionGranularity","stateChangeHeuristics","disableHeuristics","_this5","wrapWithQueryRenderer","getDerivedStateFromProps","_ref0","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","useCubeFetch","method","_options$query","useContext","mutexRef","_useState","useState","_useState2","setResponse","_useState3","_useState4","setError","_options$skip","skip","_load","ignoreSkip","onlyViews","queryCondition","coreOptions","args","fetchMethod","fetchResponse","_args","baseRequestId","useEffect","refetch","refetchOptions","useCubeSql","useDryRun","useLazyDryRun","_useCubeFetch","result","useCubeQuery","setCurrentQuery","setLoading","_useState5","_useState6","setResultSet","_useState7","_useState8","progress","setProgress","_useState9","_useState0","subscribeRequest","progressCallback","progressResult","progressResponse","fetch","_fetch","_context$options","castNumerics","loadQuery","_loadQuery","previousQuery","areQueriesEqual","unsubscribe","subscribe","e","useCubeMeta"],"mappings":"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"}
1
+ {"version":3,"file":"cubejs-client-react.umd.js","sources":["../src/CubeContext.ts","../src/QueryRenderer.tsx","../src/QueryRendererWithTotals.tsx","../src/utils.ts","../src/QueryBuilder.tsx","../src/CubeProvider.tsx","../src/hooks/deep-compare-memoize.ts","../src/hooks/cube-fetch.ts","../src/hooks/cube-sql.ts","../src/hooks/dry-run.ts","../src/hooks/lazy-dry-run.ts","../src/hooks/cube-query.ts","../src/hooks/cube-meta.ts"],"sourcesContent":["import { createContext } from 'react';\n\nimport type { CubeContextProps } from './types';\n\n/**\n * In case when you need direct access to `cubeApi` you can use `CubeContext` anywhere in your app\n *\n * ```js\n * import React from 'react';\n * import { CubeContext } from '@cubejs-client/react';\n *\n * export default function DisplayComponent() {\n * const { cubeApi } = React.useContext(CubeContext);\n * const [rawResults, setRawResults] = React.useState([]);\n * const query = {\n * ...\n * };\n *\n * React.useEffect(() => {\n * cubeApi.load(query).then((resultSet) => {\n * setRawResults(resultSet.rawData());\n * });\n * }, [query]);\n *\n * return (\n * <>\n * {rawResults.map(row => (\n * ...\n * ))}\n * </>\n * )\n * }\n * ```\n */\n// The context has no default value: `cubeApi` is only available under a\n// `CubeProvider`, and consumers guard against a missing context.\nexport default createContext<CubeContextProps>(null as unknown as CubeContextProps);\n","import React from 'react';\nimport { equals, toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent } from '@cubejs-client/core';\nimport type { CubeApi, LoadMethodOptions, Query, ResultSet } from '@cubejs-client/core';\n\nimport CubeContext from './CubeContext';\nimport type {\n MutexObj,\n QueryRendererLoadState,\n QueryRendererProps,\n QueryRendererRenderProps,\n QueryRendererState,\n} from './types';\n\n/**\n * `<QueryRenderer />` a react component that accepts a query, fetches the given query, and uses the render prop to render the resulting data\n * @stickyTypes QueryRendererProps, QueryRendererRenderProps\n * @noInheritDoc\n */\nexport default class QueryRenderer extends React.Component<QueryRendererProps, QueryRendererState> {\n static contextType = CubeContext;\n\n context!: React.ContextType<typeof CubeContext>;\n\n static defaultProps = {\n cubeApi: null,\n query: null,\n render: null,\n queries: null,\n loadSql: null,\n updateOnlyOnStateChange: false,\n resetResultSetOnChange: true,\n cache: null,\n };\n\n // @deprecated use `isQueryPresent` from `@cubejs-client/core`\n static isQueryPresent(query: Query | Query[]) {\n return isQueryPresent(query);\n }\n\n constructor(props: QueryRendererProps) {\n super(props);\n this.state = {};\n this.mutexObj = {};\n }\n\n componentDidMount() {\n const { query, queries } = this.props;\n if (query) {\n this.load(query);\n }\n if (queries) {\n this.loadQueries(queries);\n }\n }\n\n shouldComponentUpdate(nextProps: QueryRendererProps, nextState: QueryRendererState) {\n const {\n query, queries, render, cubeApi, loadSql, updateOnlyOnStateChange\n } = this.props;\n if (!updateOnlyOnStateChange) {\n return true;\n }\n return !equals(nextProps.query, query)\n || !equals(nextProps.queries, queries)\n || ((nextProps.render == null || render == null) && nextProps.render !== render)\n || nextProps.cubeApi !== cubeApi\n || nextProps.loadSql !== loadSql\n || !equals(nextState, this.state)\n || nextProps.updateOnlyOnStateChange !== updateOnlyOnStateChange;\n }\n\n componentDidUpdate(prevProps: QueryRendererProps) {\n const { query, queries } = this.props;\n if (!equals(prevProps.query, query)) {\n this.load(query);\n }\n\n if (!equals(prevProps.queries, queries)) {\n this.loadQueries(queries);\n }\n }\n\n // These sit after the lifecycle methods because `react/sort-comp` sorts\n // TypeScript field declarations into `everything-else`, which the configured\n // order puts after `lifecycle`. Runtime is unaffected: field initializers run\n // right after `super()`, so the constructor's assignments still win.\n private mutexObj: MutexObj;\n\n cubeApi(): CubeApi {\n // eslint-disable-next-line react/destructuring-assignment\n return this.props.cubeApi || this.context && this.context.cubeApi;\n }\n\n load(query: Query | Query[]) {\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n error: null,\n sqlQuery: null,\n ...(resetResultSetOnChange ? { resultSet: null } : {})\n });\n const { loadSql } = this.props;\n const cubeApi = this.cubeApi();\n\n const loadOptions: LoadMethodOptions = {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n ...(cache ? { cache } : {}),\n };\n\n if (query && isQueryPresent(query)) {\n if (loadSql === 'only') {\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' })\n .then(sqlQuery => this.setState({ sqlQuery, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else if (loadSql) {\n Promise.all([\n cubeApi.sql(query, { mutexObj: this.mutexObj, mutexKey: 'sql' }),\n cubeApi.load(query, loadOptions)\n ]).then(([sqlQuery, resultSet]) => this.setState({\n sqlQuery, resultSet, error: null, isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n } else {\n cubeApi.load(query, loadOptions)\n .then(resultSet => this.setState({ resultSet, error: null, isLoading: false }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n }\n }\n\n loadQueries(queries?: { [key: string]: Query }) {\n const cubeApi = this.cubeApi();\n const { resetResultSetOnChange, cache } = this.props;\n this.setState({\n isLoading: true,\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error: null\n });\n\n const resultPromises = Promise.all(toPairs(queries as { [key: string]: Query }).map(\n ([name, query]) => cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n ...(cache ? { cache } : {}),\n }).then((r): [string, ResultSet] => [name, r])\n ));\n\n resultPromises\n .then(resultSet => this.setState({\n resultSet: fromPairs(resultSet),\n error: null,\n isLoading: false\n }))\n .catch(error => this.setState({\n ...(resetResultSetOnChange ? { resultSet: null } : {}),\n error,\n isLoading: false\n }));\n }\n\n render() {\n const {\n error, queries, resultSet, isLoading, sqlQuery\n } = this.state;\n const { render } = this.props;\n\n const loadState: QueryRendererLoadState = {\n error: error ? new Error(error.response?.plainError || error.message || error.toString()) : null,\n resultSet: queries ? (resultSet || {}) : resultSet,\n loadingState: { isLoading },\n sqlQuery\n };\n\n if (render) {\n // The prop is declared as returning `void` for backwards compatibility,\n // while what it returns is what gets rendered\n return render(loadState as QueryRendererRenderProps) as React.ReactNode;\n }\n\n return null;\n }\n}\n","import React from 'react';\nimport type { TimeDimension } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport type { QueryRendererWithTotalsProps } from './types';\n\nconst QueryRendererWithTotals = ({ query, ...restProps }: QueryRendererWithTotalsProps) => (\n <QueryRenderer\n queries={{\n // `granularity: null` is sent to the API on purpose to get totals\n totals: {\n ...query,\n dimensions: [],\n timeDimensions: query.timeDimensions\n ? query.timeDimensions.map(td => ({ ...td, granularity: null }) as unknown as TimeDimension)\n : undefined\n },\n main: query\n }}\n {...restProps}\n />\n);\n\nexport default QueryRendererWithTotals;\n","export function removeEmpty<T>(obj: T): T {\n if (Array.isArray(obj) || typeof obj !== 'object') {\n return obj;\n }\n\n return Object.fromEntries(\n Object.entries(obj as Record<string, unknown>)\n .filter(([, v]) => v != null)\n .map(([k, v]) => {\n if (Array.isArray(v)) {\n return [k, v.map(removeEmpty)];\n }\n\n return [k, typeof v === 'object' ? removeEmpty(v) : v];\n })\n ) as T;\n}\n","import React from 'react';\nimport { clone, equals, indexBy, pick, prop, uniq, uniqBy } from 'ramda';\nimport {\n defaultHeuristics,\n defaultOrder,\n flattenFilters,\n getQueryMembers,\n isQueryPresent,\n moveItemInArray,\n movePivotItem,\n validateQuery,\n ResultSet,\n removeEmptyQueryFields\n} from '@cubejs-client/core';\nimport type {\n CubeApi,\n CubeMember,\n DryRunResponse,\n Meta,\n NotFoundMember,\n PivotConfig,\n PivotQuery,\n Query,\n QueryOrder,\n RequestError,\n TCubeDimension,\n TCubeMeasure,\n TCubeSegment,\n TDefaultHeuristicsState,\n TOrderMember,\n} from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport CubeContext from './CubeContext';\nimport { removeEmpty } from './utils';\nimport type {\n AvailableCube,\n AvailableMembers,\n ChartType,\n CubeContextProps,\n FilterUpdateFields,\n FilterUpdateInput,\n GranularityOption,\n IndexedDimension,\n IndexedMeasure,\n IndexedSegment,\n MemberUpdater,\n MemberUpdaterFactory,\n MetaErrorSource,\n MutexObj,\n PivotConfigUpdaterArgs,\n QueryBuilderInternalState,\n QueryBuilderProps,\n QueryBuilderRenderProps,\n QueryBuilderState,\n QueryBuilderStateUpdate,\n QueryMemberType,\n QueryRendererRenderProps,\n ResolvedFilter,\n ResolveMemberArgs,\n ResolvedTimeDimension,\n TimeDimensionComparisonUpdateFields,\n TimeDimensionRangedUpdateFields,\n TimeDimensionUpdateInput,\n TimeDimensionWithExtraFields,\n} from './types';\n\nconst granularities: GranularityOption[] = [\n { name: undefined, title: 'w/o grouping' },\n { name: 'second', title: 'Second' },\n { name: 'minute', title: 'Minute' },\n { name: 'hour', title: 'Hour' },\n { name: 'day', title: 'Day' },\n { name: 'week', title: 'Week' },\n { name: 'month', title: 'Month' },\n { name: 'quarter', title: 'Quarter' },\n { name: 'year', title: 'Year' },\n];\n\n/**\n * `<QueryBuilder />` is used to build interactive analytics query builders. It abstracts state management and API calls to Cube Backend. It uses render prop technique and doesn’t render anything itself, but calls the render function instead.\n *\n * **Example**\n *\n * [Open in CodeSandbox](https://codesandbox.io/s/z6r7qj8wm)\n * ```js\n * import React from 'react';\n * import ReactDOM from 'react-dom';\n * import { Layout, Divider, Empty, Select } from 'antd';\n * import { QueryBuilder } from '@cubejs-client/react';\n * import cube from '@cubejs-client/core';\n * import 'antd/dist/antd.css';\n *\n * import ChartRenderer from './ChartRenderer';\n *\n * const cubeApi = cube('YOUR-CUBE-API-TOKEN', {\n * apiUrl: 'http://localhost:4000/cubejs-api/v1',\n * });\n *\n * const App = () => (\n * <QueryBuilder\n * query={{\n * timeDimensions: [\n * {\n * dimension: 'LineItems.createdAt',\n * granularity: 'month',\n * },\n * ],\n * }}\n * cubeApi={cubeApi}\n * render={({ resultSet, measures, availableMeasures, updateMeasures }) => (\n * <Layout.Content style={{ padding: '20px' }}>\n * <Select\n * mode=\"multiple\"\n * style={{ width: '100%' }}\n * placeholder=\"Please select\"\n * onSelect={(measure) => updateMeasures.add(measure)}\n * onDeselect={(measure) => updateMeasures.remove(measure)}\n * >\n * {availableMeasures.map((measure) => (\n * <Select.Option key={measure.name} value={measure}>\n * {measure.title}\n * </Select.Option>\n * ))}\n * </Select>\n * <Divider />\n * {measures.length > 0 ? (\n * <ChartRenderer resultSet={resultSet} />\n * ) : (\n * <Empty description=\"Select measure or dimension to get started\" />\n * )}\n * </Layout.Content>\n * )}\n * />\n * );\n *\n * const rootElement = document.getElementById(\"root\");\n * ReactDOM.render(<App />, rootElement);\n * ```\n * @stickyTypes QueryBuilderProps, QueryBuilderRenderProps, QueryBuilderState\n * @noInheritDoc\n * @order 2\n */\nexport default class QueryBuilder extends React.Component<QueryBuilderProps, QueryBuilderInternalState> {\n static contextType = CubeContext;\n\n context!: React.ContextType<typeof CubeContext>;\n\n static defaultProps = {\n cubeApi: null,\n stateChangeHeuristics: null,\n disableHeuristics: false,\n render: null,\n wrapWithQueryRenderer: true,\n defaultChartType: 'line',\n defaultQuery: {},\n initialVizState: null,\n onVizStateChanged: null,\n\n // deprecated\n query: null,\n setQuery: null,\n vizState: null,\n setVizState: null,\n };\n\n // This is an anti-pattern, only kept for backward compatibility\n // https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#anti-pattern-unconditionally-copying-props-to-state\n static getDerivedStateFromProps(props: QueryBuilderProps, state: QueryBuilderInternalState) {\n if (props.query || props.vizState) {\n const nextState = {\n ...state,\n ...(props.vizState || {}),\n };\n\n if (Array.isArray(props.query)) {\n throw new Error('Array of queries is not supported.');\n }\n\n return {\n ...nextState,\n query: {\n ...nextState.query,\n ...(props.query || {}),\n },\n };\n }\n return null;\n }\n\n static resolveMember(\n type: QueryMemberType,\n { meta, query }: ResolveMemberArgs\n ): unknown[] {\n if (!meta) {\n return [];\n }\n\n if (Array.isArray(query)) {\n return query.reduce<unknown[]>(\n (memo, currentQuery) => memo.concat(\n QueryBuilder.resolveMember(type, {\n meta,\n query: currentQuery,\n })\n ),\n []\n );\n }\n\n if (type === 'timeDimensions') {\n return (query.timeDimensions || []).map((m, index) => ({\n ...m,\n dimension: {\n ...(meta.resolveMember(m.dimension, 'dimensions') as TCubeDimension),\n granularities,\n },\n index,\n }));\n }\n\n return (query[type] || []).map((m, index) => ({\n index,\n ...(meta.resolveMember(m, type) as CubeMember),\n }));\n }\n\n constructor(props: QueryBuilderProps) {\n super(props);\n\n this.state = {\n query: (props.defaultQuery || props.query) as Query,\n chartType: props.defaultChartType,\n validatedQuery: props.query, // deprecated, validatedQuery should not be set until after dry-run for safety\n missingMembers: [],\n // todo: rename to `isMetaReady`\n isFetchingMeta: true,\n dryRunResponse: null,\n ...props.vizState, // deprecated\n ...props.initialVizState,\n };\n\n this.mutexObj = {};\n this.orderMembersOrderKeys = [];\n }\n\n async componentDidMount() {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n async componentDidUpdate(prevProps: QueryBuilderProps) {\n const { schemaVersion, onSchemaChange } = this.props;\n const { meta } = this.state;\n\n if (this.prevContext?.cubeApi !== this.context?.cubeApi) {\n this.prevContext = this.context;\n await this.fetchMeta();\n }\n\n if (prevProps.schemaVersion !== schemaVersion) {\n try {\n const newMeta = await this.cubeApi().meta();\n if (!equals(newMeta, meta) && typeof onSchemaChange === 'function') {\n onSchemaChange({\n schemaVersion: schemaVersion as number,\n refresh: async () => {\n await this.fetchMeta();\n },\n });\n }\n } catch (error) {\n // eslint-disable-next-line\n this.setState({ metaError: error as Error });\n }\n }\n }\n\n // These sit after the lifecycle methods because `react/sort-comp` sorts\n // TypeScript field declarations into `everything-else`, which the configured\n // order puts after `lifecycle`. Runtime is unaffected: field initializers run\n // right after `super()`, so the constructor's assignments still win.\n private mutexObj: MutexObj;\n\n private orderMembersOrderKeys: string[];\n\n private prevContext?: CubeContextProps;\n\n fetchMeta = async () => {\n if (!this.cubeApi()) {\n return;\n }\n\n let meta: Meta | undefined;\n let metaError: MetaErrorSource | null = null;\n let richMetaError: Error | null = null;\n let metaErrorStack: string | null = null;\n\n try {\n this.setState({ isFetchingMeta: true });\n meta = await this.cubeApi().meta();\n } catch (error) {\n const requestError = error as RequestError;\n\n metaError = requestError.response?.plainError || requestError;\n richMetaError = requestError;\n metaErrorStack = requestError.response?.stack?.replace(requestError.message || '', '') || '';\n }\n\n this.setState(\n {\n meta,\n metaError: metaError ? new Error(metaError.message || metaError.toString()) : null,\n richMetaError,\n metaErrorStack,\n isFetchingMeta: false,\n },\n () => {\n // Run update query to force viz state update\n // This will catch any new missing members, and also validate the query against the new meta\n this.updateQuery({});\n }\n );\n };\n\n cubeApi(): CubeApi {\n const { cubeApi } = this.props;\n // eslint-disable-next-line react/destructuring-assignment\n return cubeApi || (this.context && this.context.cubeApi);\n }\n\n getMissingMembers(query: Query, meta?: Meta) {\n if (!meta) {\n return [];\n }\n\n return getQueryMembers(query)\n .map((member) => {\n const resolvedMember = meta.resolveMember(member, ['measures', 'dimensions', 'segments']) as NotFoundMember;\n if (resolvedMember.error) {\n return member;\n }\n return false;\n })\n .filter(Boolean) as string[];\n }\n\n isQueryPresent() {\n const { query } = this.state;\n return QueryRenderer.isQueryPresent(query);\n }\n\n prepareRenderProps(queryRendererProps?: QueryRendererRenderProps): QueryBuilderRenderProps {\n const getName = (member: unknown) => (member as CubeMember).name;\n\n const toTimeDimension = (member: TimeDimensionUpdateInput) => {\n const rangeSelection = member.compareDateRange\n ? { compareDateRange: member.compareDateRange }\n : { dateRange: member.dateRange };\n\n return removeEmpty({\n dimension: member.dimension.name,\n granularity: member.granularity,\n ...rangeSelection,\n });\n };\n\n const toFilter = (member: FilterUpdateInput) => ({\n member: member.member?.name || member.dimension?.name,\n operator: member.operator,\n ...(['set', 'notSet'].includes(member.operator) ? {} : { values: member.values }),\n });\n\n const updateMethods: MemberUpdaterFactory = (memberType, toQuery = getName) => ({\n add: (member) => {\n const { query } = this.state;\n this.updateQuery({\n [memberType]: ((query[memberType] || []) as unknown[]).concat(toQuery(member)),\n } as Query);\n },\n remove: (member) => {\n const { query } = this.state;\n\n return this.updateQuery({\n [memberType]: ((query[memberType] || []) as unknown[]).filter((_, index) => index !== member.index),\n } as Query);\n },\n update: (member, updateWith) => {\n const { query } = this.state;\n const members = ((query[memberType] || []) as unknown[]).concat([]);\n members.splice(member.index, 1, toQuery(updateWith));\n return this.updateQuery({\n [memberType]: members,\n } as Query);\n },\n });\n\n const {\n meta,\n metaError,\n richMetaError,\n query,\n queryError,\n chartType,\n pivotConfig,\n validatedQuery,\n missingMembers,\n isFetchingMeta,\n dryRunResponse,\n metaErrorStack\n } = this.state;\n\n const flatFilters = uniqBy((filter) => `${prop('member', filter)}${prop('operator', filter)}`,\n flattenFilters((meta && query.filters) || []).map((filter) => ({\n ...filter,\n member: filter.member || filter.dimension,\n })));\n\n const filters: ResolvedFilter[] = flatFilters.map((m, i) => ({\n ...m,\n dimension: meta!.resolveMember(\n m.member || m.dimension!,\n ['dimensions', 'measures']\n ) as TCubeDimension | TCubeMeasure,\n operators: meta!.filterOperatorsForMember(m.member || m.dimension!, ['dimensions', 'measures']),\n index: i,\n }));\n\n const measures = QueryBuilder.resolveMember('measures', this.state) as IndexedMeasure[];\n const dimensions = QueryBuilder.resolveMember('dimensions', this.state) as IndexedDimension[];\n const timeDimensions = QueryBuilder.resolveMember('timeDimensions', this.state) as ResolvedTimeDimension[];\n const segments: IndexedSegment[] = ((meta && query.segments) || []).map((m, i) => ({\n index: i,\n ...(meta!.resolveMember(m, 'segments') as TCubeSegment),\n }));\n\n let availableMeasures: TCubeMeasure[] = [];\n let availableDimensions: TCubeDimension[] = [];\n let availableSegments: TCubeSegment[] = [];\n let availableFilterMembers: Array<AvailableCube<TCubeMeasure> | AvailableCube<TCubeDimension>> = [];\n\n const availableMembers: AvailableMembers = meta?.membersGroupedByCube() || {\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n };\n\n if (meta) {\n availableMeasures = meta.membersForQuery(query, 'measures') as TCubeMeasure[];\n availableDimensions = meta.membersForQuery(query, 'dimensions') as TCubeDimension[];\n availableSegments = meta.membersForQuery(query, 'segments') as TCubeSegment[];\n\n const indexedMeasures = indexBy(prop('cubeName'), availableMembers.measures);\n const indexedDimensions = indexBy(prop('cubeName'), availableMembers.dimensions);\n const cubeNames = uniq([...Object.keys(indexedMeasures), ...Object.keys(indexedDimensions)]).sort();\n\n // Measures and dimensions of a cube are merged into one member list, which\n // the declared type describes as either one or the other\n availableFilterMembers = cubeNames.map((name): AvailableCube<TCubeMeasure | TCubeDimension> => {\n const cube = indexedMeasures[name] || indexedDimensions[name];\n\n return {\n ...cube,\n members: [\n ...indexedMeasures[name]?.members,\n ...indexedDimensions[name]?.members\n ].sort((a, b) => (a.shortTitle > b.shortTitle ? 1 : -1)),\n };\n }) as Array<AvailableCube<TCubeMeasure> | AvailableCube<TCubeDimension>>;\n }\n\n const activeOrder = Array.isArray(query.order) ? Object.fromEntries(query.order) : query.order;\n const members = [\n ...measures,\n ...dimensions,\n ...timeDimensions.map(({ dimension }) => dimension)\n ];\n\n let orderMembers = uniqBy(prop('id'), [\n // uniqBy prefers first, so these will only be added if not already in the query\n ...members.map(({ name, title }) => ({ id: name, title, order: activeOrder?.[name] || 'none' })),\n ]);\n\n if (this.orderMembersOrderKeys.length !== orderMembers.length) {\n this.orderMembersOrderKeys = orderMembers.map(({ id }) => id);\n }\n\n if (this.orderMembersOrderKeys.length) {\n // Preserve order until the members change or manually re-ordered\n // This is needed so that when an order member becomes active, it doesn't jump to the top of the list\n orderMembers = (this.orderMembersOrderKeys || [])\n .map((id) => orderMembers.find((member) => member.id === id))\n .filter(Boolean) as TOrderMember[];\n }\n\n return {\n meta,\n metaError,\n richMetaError,\n metaErrorStack,\n query,\n error: queryError, // Match same name as QueryRenderer prop\n validatedQuery: validatedQuery as Query,\n isQueryPresent: this.isQueryPresent(),\n chartType,\n measures,\n dimensions,\n // The declared granularity options require a `name`, which the\n // \"w/o grouping\" option leaves out\n timeDimensions: timeDimensions as (TimeDimensionWithExtraFields & { index: number })[],\n segments,\n filters,\n orderMembers,\n availableMeasures,\n availableDimensions,\n availableTimeDimensions: availableDimensions.filter((m) => m.type === 'time'),\n availableSegments,\n availableMembers,\n availableFilterMembers,\n updateQuery: (queryUpdate) => this.updateQuery(queryUpdate),\n updateMeasures: updateMethods<TCubeMeasure>('measures'),\n updateDimensions: updateMethods<TCubeDimension>('dimensions'),\n updateSegments: updateMethods<TCubeSegment>('segments'),\n updateTimeDimensions: updateMethods<TimeDimensionUpdateInput>('timeDimensions', toTimeDimension) as\n MemberUpdater<TimeDimensionRangedUpdateFields | TimeDimensionComparisonUpdateFields>,\n updateFilters: updateMethods<FilterUpdateInput>('filters', toFilter) as MemberUpdater<FilterUpdateFields>,\n updateChartType: (newChartType: ChartType) => this.updateVizState({ chartType: newChartType }),\n updateOrder: {\n set: (memberId: string, newOrder: QueryOrder | 'none' = 'asc') => {\n this.updateQuery({\n order: orderMembers\n .map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n .reduce<[string, QueryOrder][]>(\n (acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc),\n []\n ),\n });\n },\n update: (order) => {\n this.updateQuery({\n order,\n });\n },\n reorder: (sourceIndex: number, destinationIndex: number) => {\n if (sourceIndex == null || destinationIndex == null) {\n return;\n }\n\n const nextArray = moveItemInArray(orderMembers, sourceIndex, destinationIndex);\n this.orderMembersOrderKeys = nextArray.map(({ id }) => id);\n\n this.updateQuery({\n order: nextArray.reduce<[string, QueryOrder][]>(\n (acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc),\n []\n ),\n });\n },\n },\n pivotConfig,\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }: PivotConfigUpdaterArgs) => {\n this.updateVizState({\n pivotConfig: movePivotItem(\n pivotConfig as PivotConfig, sourceIndex, destinationIndex, sourceAxis, destinationAxis\n ),\n });\n },\n update: (config) => {\n const { limit } = config;\n\n this.updateVizState({\n pivotConfig: {\n ...pivotConfig,\n ...config,\n },\n ...(limit ? { query: { ...query, limit } } : null),\n });\n },\n },\n missingMembers,\n refresh: this.fetchMeta,\n isFetchingMeta,\n dryRunResponse: dryRunResponse as DryRunResponse | undefined,\n ...queryRendererProps,\n };\n }\n\n updateQuery(queryUpdate: Query) {\n const { query } = this.state;\n\n this.updateVizState({\n query: removeEmptyQueryFields({\n ...query,\n ...queryUpdate,\n }),\n });\n }\n\n async updateVizState(state: QueryBuilderStateUpdate) {\n const { setQuery, setVizState } = this.props;\n const { query: stateQuery, pivotConfig: statePivotConfig, chartType, meta } = this.state;\n\n const finalState = this.applyStateChangeHeuristics(state);\n if (!finalState.query) {\n finalState.query = { ...stateQuery };\n }\n\n let vizStateSent: QueryBuilderState | null = null;\n const handleVizStateChange = (currentState: QueryBuilderStateUpdate) => {\n const { onVizStateChanged } = this.props;\n if (onVizStateChanged) {\n const newVizState = pick(['chartType', 'pivotConfig', 'query'], currentState) as QueryBuilderState;\n // Don't run callbacks more than once unless the viz state has changed since last time\n if (!vizStateSent || !equals(vizStateSent, newVizState)) {\n onVizStateChanged(newVizState);\n // use clone to make sure we don't save object references\n vizStateSent = clone(newVizState);\n }\n }\n };\n\n // deprecated, setters replaced by onVizStateChanged\n const runSetters = (currentState: QueryBuilderStateUpdate) => {\n if (setVizState) {\n setVizState(pick(['chartType', 'pivotConfig', 'query'], currentState) as QueryBuilderState);\n }\n if (currentState.query && setQuery) {\n setQuery(currentState.query);\n }\n };\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = defaultOrder(finalState.query);\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(\n finalState.query as PivotQuery,\n (finalState.pivotConfig !== undefined ? finalState.pivotConfig : statePivotConfig) as PivotConfig | undefined\n );\n\n finalState.missingMembers = this.getMissingMembers(finalState.query, meta);\n finalState.chartType = finalState.chartType || state.chartType || chartType;\n\n // deprecated\n runSetters({\n ...state,\n query: finalState.query,\n });\n\n // Update optimistically so that UI does not stutter\n this.setState({\n ...finalState,\n queryError: null,\n } as QueryBuilderInternalState);\n\n handleVizStateChange(finalState);\n\n const shouldFetchDryRun = !equals(\n pick(['measures', 'dimensions', 'timeDimensions'], stateQuery),\n pick(['measures', 'dimensions', 'timeDimensions'], finalState.query)\n );\n\n if (shouldFetchDryRun && isQueryPresent(finalState.query) && finalState.missingMembers.length === 0) {\n try {\n const response = await this.cubeApi().dryRun(finalState.query, {\n mutexObj: this.mutexObj,\n });\n\n if (finalState.shouldApplyHeuristicOrder) {\n finalState.query.order = (response.queryOrder || []).reduce((memo, current) => ({ ...memo, ...current }), {});\n }\n\n finalState.pivotConfig = ResultSet.getNormalizedPivotConfig(response.pivotQuery, finalState.pivotConfig);\n finalState.validatedQuery = this.validatedQuery(finalState);\n finalState.dryRunResponse = response;\n\n // deprecated\n if (isQueryPresent(stateQuery)) {\n runSetters({\n ...this.state,\n ...finalState,\n });\n }\n } catch (error) {\n const requestError = error as RequestError;\n\n this.setState({\n queryError: new Error(requestError.response?.plainError || requestError.message),\n richQueryError: new Error(requestError.message || requestError.toString())\n });\n }\n }\n\n this.setState(finalState as QueryBuilderInternalState, () => handleVizStateChange(this.state));\n }\n\n validatedQuery(state?: QueryBuilderStateUpdate) {\n const { query } = state || this.state;\n\n return validateQuery(query);\n }\n\n defaultHeuristics(newState: QueryBuilderStateUpdate): QueryBuilderStateUpdate {\n const { query, sessionGranularity, meta } = this.state;\n\n return defaultHeuristics(newState as TDefaultHeuristicsState, query, {\n meta: meta as Meta,\n sessionGranularity: sessionGranularity || 'day',\n }) as QueryBuilderStateUpdate;\n }\n\n applyStateChangeHeuristics(newState: QueryBuilderStateUpdate): QueryBuilderStateUpdate {\n const { stateChangeHeuristics, disableHeuristics } = this.props;\n if (disableHeuristics) {\n return newState;\n }\n return (stateChangeHeuristics && stateChangeHeuristics(this.state, newState)) || this.defaultHeuristics(newState);\n }\n\n render() {\n const { query } = this.state;\n const { cubeApi, render, wrapWithQueryRenderer } = this.props;\n\n if (wrapWithQueryRenderer) {\n return (\n <QueryRenderer\n query={query}\n cubeApi={cubeApi}\n resetResultSetOnChange={false}\n render={(queryRendererProps) => {\n if (render) {\n return render(this.prepareRenderProps(queryRendererProps));\n }\n return null;\n }}\n />\n );\n } else {\n if (render) {\n return render(this.prepareRenderProps());\n }\n return null;\n }\n }\n}\n","import React from 'react';\n\nimport CubeContext from './CubeContext';\nimport type { CubeContextProps, CubeProviderProps } from './types';\n\n/**\n * Cube context provider\n * ```js\n * import React from 'react';\n * import cube from '@cubejs-client/core';\n * import { CubeProvider } from '@cubejs-client/react';\n *\n * const API_URL = 'https://harsh-eel.aws-us-east-2.cubecloudapp.dev';\n * const CUBE_TOKEN =\n * 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.* eyJpYXQiOjE1OTE3MDcxNDgsImV4cCI6MTU5NDI5OTE0OH0.* n5jGLQJ14igg6_Hri_Autx9qOIzVqp4oYxmX27V-4T4';\n *\n * const cubeApi = cube(CUBE_TOKEN, {\n * apiUrl: `${API_URL}/cubejs-api/v1`,\n * });\n *\n * export default function App() {\n * return (\n * <CubeProvider cubeApi={cubeApi}>\n * //...\n * </CubeProvider>\n * )\n * }\n * ```\n * @stickyTypes\n * @order 10\n */\nconst CubeProvider: React.FC<CubeProviderProps> = ({ cubeApi, children, options = {} }) => (\n <CubeContext.Provider value={{\n cubeApi,\n options\n } as CubeContextProps}\n >\n {children}\n </CubeContext.Provider>\n);\n\nexport default CubeProvider;\n","import { useRef } from 'react';\nimport { equals } from 'ramda';\n\nexport default function useDeepCompareMemoize(value: unknown[]): unknown[] {\n const ref = useRef<unknown[]>([]);\n\n if (!equals(value, ref.current)) {\n ref.current = value;\n }\n\n return ref.current;\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent } from '@cubejs-client/core';\nimport type { MetaMethodOptions, Query } from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\nimport type {\n CubeFetchArgs,\n CubeFetchDispatch,\n CubeFetchMethod,\n CubeFetchState,\n MutexObj,\n UseCubeFetchInternalResult,\n UseCubeFetchLoadOptions,\n UseCubeFetchOptions,\n UseCubeFetchResult,\n} from '../types';\n\n/**\n * @hidden\n */\nexport function useCubeFetch<T>(\n method: CubeFetchMethod,\n options?: UseCubeFetchOptions\n): UseCubeFetchResult<T>;\n\nexport function useCubeFetch<T>(\n method: CubeFetchMethod,\n options: UseCubeFetchOptions = {}\n): UseCubeFetchInternalResult<T> {\n const context = useContext(CubeContext);\n const mutexRef = useRef<MutexObj>({});\n\n const [response, setResponse] = useState<CubeFetchState<T>>({\n isLoading: false,\n response: null,\n });\n const [error, setError] = useState<Error | null>(null);\n\n const { skip = false } = options;\n\n async function load(loadOptions: UseCubeFetchLoadOptions = {}, ignoreSkip = false) {\n const cubeApi = options.cubeApi || context?.cubeApi;\n const query = loadOptions.query || options.query;\n const onlyViews = 'onlyViews' in loadOptions ? loadOptions.onlyViews : options.onlyViews;\n\n const queryCondition = method === 'meta' ? true : query && isQueryPresent(query);\n\n if (cubeApi && (ignoreSkip || !skip) && queryCondition) {\n setError(null);\n setResponse({\n isLoading: true,\n response: null,\n });\n\n const coreOptions: MetaMethodOptions = {\n mutexObj: mutexRef.current,\n mutexKey: method,\n ...(options.baseRequestId ? { baseRequestId: options.baseRequestId } : {}),\n ...(method === 'meta' && onlyViews ? { onlyViews: true } : {})\n };\n const args: CubeFetchArgs = method === 'meta' ? [coreOptions] : [query!, coreOptions];\n // `method` picks between overloaded `CubeApi` methods, so the call is\n // dispatched dynamically while keeping `cubeApi` as the receiver\n const fetchMethod = cubeApi[method] as CubeFetchDispatch;\n\n try {\n const fetchResponse = await fetchMethod.apply(cubeApi, args) as T;\n\n setResponse({\n response: fetchResponse,\n isLoading: false,\n });\n } catch (fetchError) {\n setError(fetchError as Error);\n setResponse({\n isLoading: false,\n response: null,\n });\n }\n }\n }\n\n useEffect(() => {\n load();\n // `order` is read off a single query; an array of queries does not carry it\n }, useDeepCompareMemoize([\n Object.keys((options.query as Query | undefined)?.order || {}),\n options,\n context,\n ]));\n\n return {\n ...response,\n error,\n refetch: (refetchOptions?: UseCubeFetchLoadOptions) => load(refetchOptions, true),\n };\n}\n","import type { DryRunResponse, Query, SqlQuery } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type { UseCubeFetchOptions, UseCubeFetchResult } from '../types';\n\n/**\n * The hook resolves with a `SqlQuery`, while its `response` stays declared as a\n * dry-run response for backwards compatibility — `UseCubeSqlResult` spells the\n * real shape. `refetch` is declared, as it is on `useDryRun` and `useCubeMeta`,\n * because all three return the same object.\n *\n * @hidden\n */\nexport function useCubeSql(\n query: Query | Query[],\n options: UseCubeFetchOptions = {}\n): UseCubeFetchResult<DryRunResponse> {\n return useCubeFetch<SqlQuery>('sql', {\n ...options,\n query\n }) as unknown as UseCubeFetchResult<DryRunResponse>;\n}\n","import type { DryRunResponse, Query } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type { UseCubeFetchOptions, UseCubeFetchResult } from '../types';\n\n/**\n * @hidden\n */\nexport function useDryRun(\n query: Query | Query[],\n options: UseCubeFetchOptions = {}\n): UseCubeFetchResult<DryRunResponse> {\n return useCubeFetch<DryRunResponse>('dryRun', {\n ...options,\n query,\n });\n}\n","import type { DryRunResponse, Query } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type {\n CubeFetchResult,\n UseCubeFetchLoadOptions,\n UseCubeFetchOptions,\n} from '../types';\n\n/**\n * @hidden\n */\nexport function useLazyDryRun(\n query?: Query | Query[],\n options: UseCubeFetchOptions = {}\n): [(loadOptions?: UseCubeFetchLoadOptions) => Promise<void>, CubeFetchResult<DryRunResponse>] {\n const { refetch, ...result } = useCubeFetch<DryRunResponse>('dryRun', {\n ...options,\n query,\n skip: true\n });\n\n return [refetch, result];\n}\n","import { useContext, useEffect, useState, useRef } from 'react';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport type {\n DeeplyReadonly,\n ProgressResponse,\n Query,\n QueryRecordType,\n ResultSet,\n UnsubscribeObj,\n} from '@cubejs-client/core';\n\nimport CubeContext from '../CubeContext';\nimport useDeepCompareMemoize from './deep-compare-memoize';\nimport type {\n MutexObj,\n ProgressCallback,\n ProgressResultWithResponse,\n ReadonlyQueryInput,\n UseCubeQueryInternalResult,\n UseCubeQueryOptions,\n UseCubeQueryResult,\n} from '../types';\n\n/**\n * A React hook for executing Cube queries\n * ```js\n * import React from 'react';\n * import { Table } from 'antd';\n * import { useCubeQuery } from '@cubejs-client/react';\n *\n * export default function App() {\n * const { resultSet, isLoading, error, progress } = useCubeQuery({\n * measures: ['Orders.count'],\n * dimensions: ['Orders.createdAt.month'],\n * });\n *\n * if (isLoading) {\n * return <div>{progress?.stage || 'Loading...'}</div>;\n * }\n *\n * if (error) {\n * return <div>{error.toString()}</div>;\n * }\n *\n * if (!resultSet) {\n * return null;\n * }\n *\n * const dataSource = resultSet.tablePivot();\n * const columns = resultSet.tableColumns();\n *\n * return <Table columns={columns} dataSource={dataSource} />;\n * }\n *\n * ```\n * @order 1\n * @stickyTypes\n */\nexport function useCubeQuery<\n Data,\n QueryInput extends ReadonlyQueryInput = ReadonlyQueryInput\n>(\n query: QueryInput,\n options?: UseCubeQueryOptions\n): UseCubeQueryResult<QueryInput, unknown extends Data ? QueryRecordType<QueryInput> : Data>;\n\nexport function useCubeQuery(\n query: ReadonlyQueryInput,\n options: UseCubeQueryOptions = {}\n): UseCubeQueryInternalResult {\n const mutexRef = useRef<MutexObj>({});\n const [currentQuery, setCurrentQuery] = useState<ReadonlyQueryInput | null>(null);\n const [isLoading, setLoading] = useState(!options.skip);\n const [resultSet, setResultSet] = useState<ResultSet | null>(null);\n const [progress, setProgress] = useState<ProgressResponse | null>(null);\n const [error, setError] = useState<Error | null>(null);\n const context = useContext(CubeContext);\n const requestIdRef = useRef(0);\n const hasStartedRequestRef = useRef(false);\n\n let subscribeRequest: UnsubscribeObj | null = null;\n\n function isCurrentRequest(requestId: number) {\n return requestId === requestIdRef.current;\n }\n\n function startRequest() {\n hasStartedRequestRef.current = true;\n\n return ++requestIdRef.current;\n }\n\n function createProgressCallback(requestId: number): ProgressCallback {\n return (progressResult) => {\n if (isCurrentRequest(requestId)) {\n // `progressResponse` is not part of the public `ProgressResult` API\n setProgress(\n (progressResult as unknown as ProgressResultWithResponse).progressResponse\n );\n }\n };\n }\n\n async function fetchQuery(requestId: number) {\n const { resetResultSetOnChange } = options;\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n if (resetResultSetOnChange) {\n setResultSet(null);\n }\n\n setError(null);\n setLoading(true);\n setProgress(null);\n\n try {\n const response = await cubeApi.load(query, {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback: createProgressCallback(requestId),\n castNumerics: Boolean(typeof options.castNumerics === 'boolean' ? options.castNumerics : context?.options?.castNumerics),\n ...(options.cache ? { cache: options.cache } : {}),\n });\n\n if (isCurrentRequest(requestId)) {\n setResultSet(response);\n setProgress(null);\n }\n } catch (loadError) {\n if (isCurrentRequest(requestId)) {\n setError(loadError as Error);\n setResultSet(null);\n setProgress(null);\n }\n }\n\n if (isCurrentRequest(requestId)) {\n setLoading(false);\n }\n }\n\n async function fetch() {\n const requestId = startRequest();\n\n await fetchQuery(requestId);\n }\n\n useEffect(() => {\n const { skip = false, resetResultSetOnChange } = options;\n\n const cubeApi = options.cubeApi || context?.cubeApi;\n\n if (!cubeApi) {\n throw new Error('Cube API client is not provided');\n }\n\n async function loadQuery() {\n if (!skip && isQueryPresent(query)) {\n const requestId = startRequest();\n\n // `areQueriesEqual` is declared for a single query, and reads no more\n // than `order` off one when given an array of queries\n const previousQuery = currentQuery as DeeplyReadonly<Query> | null;\n\n if (!areQueriesEqual(previousQuery, query as DeeplyReadonly<Query>)) {\n if (resetResultSetOnChange == null || resetResultSetOnChange) {\n setResultSet(null);\n }\n setCurrentQuery(query);\n }\n\n setError(null);\n setLoading(true);\n setProgress(null);\n\n try {\n if (subscribeRequest) {\n await subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n\n if (options.subscribe) {\n subscribeRequest = cubeApi.subscribe(\n query,\n {\n mutexObj: mutexRef.current,\n mutexKey: 'query',\n progressCallback: createProgressCallback(requestId),\n ...(options.cache ? { cache: options.cache } : {}),\n },\n (e, result) => {\n if (isCurrentRequest(requestId)) {\n if (e) {\n setError(e);\n } else {\n setResultSet(result);\n }\n setLoading(false);\n setProgress(null);\n }\n }\n );\n } else {\n await fetchQuery(requestId);\n }\n } catch (e) {\n if (isCurrentRequest(requestId)) {\n setError(e as Error);\n setResultSet(null);\n setLoading(false);\n setProgress(null);\n }\n }\n } else if (hasStartedRequestRef.current) {\n setLoading(false);\n setProgress(null);\n }\n }\n\n loadQuery();\n\n return () => {\n requestIdRef.current += 1;\n\n if (subscribeRequest) {\n subscribeRequest.unsubscribe();\n subscribeRequest = null;\n }\n };\n // `order` is read off a single query; an array of queries does not carry it\n }, useDeepCompareMemoize([\n query,\n Object.keys((query as DeeplyReadonly<Query> | undefined)?.order || {}),\n options,\n context,\n ]));\n\n return {\n isLoading,\n resultSet,\n error,\n progress,\n previousQuery: currentQuery,\n refetch: fetch\n };\n}\n","import type { Meta } from '@cubejs-client/core';\n\nimport { useCubeFetch } from './cube-fetch';\nimport type { CubeMetaFetchOptions, UseCubeFetchResult } from '../types';\n\nexport function useCubeMeta(options: CubeMetaFetchOptions = {}): UseCubeFetchResult<Meta> {\n return useCubeFetch<Meta>('meta', options);\n}\n"],"names":["createContext","QueryRenderer","_React$Component","props","_this","_classCallCheck","_callSuper","_defineProperty","state","mutexObj","_inherits","_createClass","key","value","componentDidMount","_this$props","query","queries","load","loadQueries","shouldComponentUpdate","nextProps","nextState","_this$props2","render","cubeApi","loadSql","updateOnlyOnStateChange","equals","componentDidUpdate","prevProps","_this$props3","context","_this2","_this$props4","resetResultSetOnChange","cache","setState","_objectSpread","isLoading","error","sqlQuery","resultSet","loadOptions","mutexKey","isQueryPresent","sql","then","Promise","all","_ref","_ref2","_slicedToArray","_this3","_this$props5","resultPromises","toPairs","map","_ref3","_ref4","name","r","fromPairs","_error$response","_this$state","loadState","Error","response","plainError","message","toString","loadingState","React","Component","CubeContext","QueryRendererWithTotals","restProps","_objectWithoutProperties","_excluded","createElement","_extends","totals","dimensions","timeDimensions","td","granularity","undefined","main","removeEmpty","obj","Array","isArray","_typeof","Object","fromEntries","entries","filter","v","k","granularities","title","QueryBuilder","_asyncToGenerator","_regenerator","m","_callee","meta","metaError","richMetaError","metaErrorStack","_requestError$respons","_requestError$respons2","requestError","_t","w","_context","p","n","a","isFetchingMeta","stack","replace","updateQuery","defaultQuery","chartType","defaultChartType","validatedQuery","missingMembers","dryRunResponse","vizState","initialVizState","orderMembersOrderKeys","_componentDidMount","_callee2","_context2","prevContext","fetchMeta","apply","arguments","_componentDidUpdate","_callee4","_this$prevContext","_this$context","schemaVersion","onSchemaChange","newMeta","_t2","_context4","refresh","_refresh","_callee3","_context3","_x","getMissingMembers","getQueryMembers","member","resolvedMember","resolveMember","Boolean","prepareRenderProps","queryRendererProps","getName","toTimeDimension","rangeSelection","compareDateRange","dateRange","dimension","toFilter","_member$member","_member$dimension","operator","includes","values","updateMethods","memberType","toQuery","length","add","concat","remove","_","index","update","updateWith","members","splice","queryError","pivotConfig","flatFilters","uniqBy","prop","flattenFilters","filters","i","operators","filterOperatorsForMember","measures","segments","availableMeasures","availableDimensions","availableSegments","availableFilterMembers","availableMembers","membersGroupedByCube","membersForQuery","indexedMeasures","indexBy","indexedDimensions","cubeNames","uniq","_toConsumableArray","keys","sort","_indexedMeasures$name","_indexedDimensions$na","cube","b","shortTitle","activeOrder","order","orderMembers","id","find","availableTimeDimensions","type","queryUpdate","updateMeasures","updateDimensions","updateSegments","updateTimeDimensions","updateFilters","updateChartType","newChartType","updateVizState","updateOrder","set","memberId","newOrder","orderMember","reduce","acc","_ref5","reorder","sourceIndex","destinationIndex","nextArray","moveItemInArray","_ref6","_ref7","updatePivotConfig","moveItem","_ref8","sourceAxis","destinationAxis","movePivotItem","config","limit","removeEmptyQueryFields","_updateVizState","_callee5","_this4","setQuery","setVizState","_this$state2","stateQuery","statePivotConfig","finalState","vizStateSent","handleVizStateChange","runSetters","shouldFetchDryRun","_requestError$respons3","_t3","_context5","applyStateChangeHeuristics","currentState","onVizStateChanged","newVizState","pick","clone","shouldApplyHeuristicOrder","defaultOrder","ResultSet","getNormalizedPivotConfig","dryRun","queryOrder","memo","current","pivotQuery","richQueryError","_x2","_ref9","validateQuery","defaultHeuristics","newState","_this$state3","sessionGranularity","stateChangeHeuristics","disableHeuristics","_this5","wrapWithQueryRenderer","getDerivedStateFromProps","_ref0","currentQuery","CubeProvider","children","_ref$options","options","Provider","useDeepCompareMemoize","ref","useRef","useCubeFetch","method","_options$query","useContext","mutexRef","_useState","useState","_useState2","setResponse","_useState3","_useState4","setError","_options$skip","skip","_load","ignoreSkip","onlyViews","queryCondition","coreOptions","args","fetchMethod","fetchResponse","_args","baseRequestId","useEffect","refetch","refetchOptions","useCubeSql","useDryRun","useLazyDryRun","_useCubeFetch","result","useCubeQuery","setCurrentQuery","setLoading","_useState5","_useState6","setResultSet","_useState7","_useState8","progress","setProgress","_useState9","_useState0","requestIdRef","hasStartedRequestRef","subscribeRequest","isCurrentRequest","requestId","startRequest","createProgressCallback","progressResult","progressResponse","fetchQuery","_fetchQuery","_context$options","progressCallback","castNumerics","fetch","_fetch","loadQuery","_loadQuery","previousQuery","areQueriesEqual","unsubscribe","subscribe","e","useCubeMeta"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { QueryRecordType } from '@cubejs-client/core';
2
2
  import type { ReadonlyQueryInput, UseCubeQueryOptions, UseCubeQueryResult } from '../types';
3
3
  /**
4
- * A React hook for executing Cube.js queries
4
+ * A React hook for executing Cube queries
5
5
  * ```js
6
6
  * import React from 'react';
7
7
  * import { Table } from 'antd';
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * @menuCategory Reference
5
5
  * @subcategory Frontend
6
6
  * @menuOrder 3
7
- * @description `@cubejs-client/react` provides React Components for easy Cube.js integration in a React app.
7
+ * @description `@cubejs-client/react` provides React Components for easy Cube integration in a React app.
8
8
  */
9
9
  import QueryRenderer from './QueryRenderer';
10
10
  import QueryRendererWithTotals from './QueryRendererWithTotals';
package/dist/types.d.ts CHANGED
@@ -51,7 +51,7 @@ export type QueryRendererProps = {
51
51
  [key: string]: Query;
52
52
  };
53
53
  /**
54
- * Indicates whether the generated by `Cube.js` SQL Code should be requested. See [rest-api#sql](/reference/rest-api#v1sql). When set to `only` then only the request to [/v1/sql](/reference/rest-api#v1sql) will be performed. When set to `true` the sql request will be performed along with the query request. Will not be performed if set to `false`
54
+ * Indicates whether the generated by `Cube` SQL Code should be requested. See [rest-api#sql](/reference/rest-api#v1sql). When set to `only` then only the request to [/v1/sql](/reference/rest-api#v1sql) will be performed. When set to `true` the sql request will be performed along with the query request. Will not be performed if set to `false`
55
55
  */
56
56
  loadSql?: 'only' | boolean;
57
57
  /**
@@ -215,19 +215,19 @@ export type QueryBuilderRenderProps = {
215
215
  availableMembers: AvailableMembers;
216
216
  availableFilterMembers: Array<AvailableCube<TCubeMeasure> | AvailableCube<TCubeDimension>>;
217
217
  /**
218
- * An array of available measures to select. They are loaded via the API from Cube.js Backend.
218
+ * An array of available measures to select. They are loaded via the API from Cube Backend.
219
219
  */
220
220
  availableMeasures: TCubeMeasure[];
221
221
  /**
222
- * An array of available dimensions to select. They are loaded via the API from Cube.js Backend.
222
+ * An array of available dimensions to select. They are loaded via the API from Cube Backend.
223
223
  */
224
224
  availableDimensions: TCubeDimension[];
225
225
  /**
226
- * An array of available time dimensions to select. They are loaded via the API from Cube.js Backend.
226
+ * An array of available time dimensions to select. They are loaded via the API from Cube Backend.
227
227
  */
228
228
  availableTimeDimensions: TCubeDimension[];
229
229
  /**
230
- * An array of available segments to select. They are loaded via the API from Cube.js Backend.
230
+ * An array of available segments to select. They are loaded via the API from Cube Backend.
231
231
  */
232
232
  availableSegments: TCubeSegment[];
233
233
  updateMeasures: MeasureUpdater;