@vizzly/dashboard 0.12.12 → 0.12.13

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.
Files changed (67) hide show
  1. package/dist/charts/src/PieChart/PieChart.d.ts +2 -1
  2. package/dist/charts/src/ScatterChart/ScatterChart.d.ts +1 -1
  3. package/dist/charts/src/XYChart/ChartTooltip.styles.d.ts +0 -4
  4. package/dist/charts/src/types.d.ts +11 -0
  5. package/dist/charts/src/utils/buildTooltipStyles.d.ts +6 -0
  6. package/dist/dashboard/src/contexts/GlobalProvider/useGlobalProvider.d.ts +6 -0
  7. package/dist/dashboard/src/types.d.ts +1 -0
  8. package/dist/index.js +1 -1
  9. package/dist/shared-logic/src/AdditionalFilter/AdditionalFilter.d.ts +10 -1
  10. package/dist/shared-logic/src/AdditionalFilter/constants.d.ts +7 -0
  11. package/dist/shared-logic/src/AdditionalFilter/types.d.ts +10 -3
  12. package/dist/shared-logic/src/Callbacks/cell.funcs.d.ts +0 -2
  13. package/dist/shared-logic/src/Component/types.d.ts +1 -0
  14. package/dist/shared-logic/src/ComponentInterface/types/namespaces.types.d.ts +1 -0
  15. package/dist/shared-logic/src/Drilldown/Drilldown.d.ts +3 -1
  16. package/dist/shared-logic/src/Field/types.d.ts +1 -1
  17. package/dist/shared-logic/src/FormatPanelConfig/types.d.ts +1 -1
  18. package/dist/shared-logic/src/Theme/types.d.ts +44 -20
  19. package/dist/shared-logic/src/ValueAlias/ValueAlias.d.ts +1 -1
  20. package/dist/shared-logic/src/VizzlyState/index.d.ts +5 -0
  21. package/dist/shared-logic/src/api/queryEngine/createSqlPreview.d.ts +1 -1
  22. package/dist/shared-logic/src/api/queryEngine/saveConnection.d.ts +1 -1
  23. package/dist/shared-logic/src/utils/DateTime.d.ts +2 -1
  24. package/dist/shared-logic/src/utils/numberHelpers.d.ts +1 -0
  25. package/dist/shared-ui/src/base/Alert/Alert.types.d.ts +1 -0
  26. package/dist/shared-ui/src/base/DateTime/CustomRangePicker.d.ts +2 -0
  27. package/dist/shared-ui/src/base/DateTime/DateTimeFilter.d.ts +1 -0
  28. package/dist/shared-ui/src/base/DateTime/DateTimePickerInput.d.ts +2 -0
  29. package/dist/shared-ui/src/base/DateTime/FixedRange.d.ts +1 -1
  30. package/dist/shared-ui/src/base/Dragging/DragLayer.d.ts +7 -1
  31. package/dist/shared-ui/src/base/Empty/EmptyContainer.d.ts +1 -0
  32. package/dist/shared-ui/src/base/Panel/Panel.d.ts +1 -0
  33. package/dist/shared-ui/src/base/Tooltip/Tooltip.styles.d.ts +6 -1
  34. package/dist/shared-ui/src/components/AdditionalFilter/AdvancedPicker/AdvancedDisplayValues.d.ts +1 -0
  35. package/dist/shared-ui/src/components/AdditionalFilter/AdvancedPicker/DisplayChips.d.ts +0 -2
  36. package/dist/shared-ui/src/components/AdditionalFilter/{MultiSelectFilter → AdvancedPicker}/advancedFilters.d.ts +2 -2
  37. package/dist/shared-ui/src/components/AdditionalFilter/AdvancedPicker/displayChips.funcs.d.ts +15 -2
  38. package/dist/shared-ui/src/components/AdditionalFilter/{MultiSelectFilter/AdvancedSelectFilter.d.ts → AdvancedSelectFilter.d.ts} +4 -7
  39. package/dist/shared-ui/src/components/AdditionalFilter/useBuildDashboardFilter.d.ts +2 -8
  40. package/dist/shared-ui/src/components/BarChart/BarChartView.d.ts +1 -0
  41. package/dist/shared-ui/src/components/BarChart/types.d.ts +1 -0
  42. package/dist/shared-ui/src/components/ChartHelper.d.ts +1 -0
  43. package/dist/shared-ui/src/components/DragAndDrop/WidthChangingDnd.d.ts +8 -0
  44. package/dist/shared-ui/src/components/PieChart/PieChartView.d.ts +1 -1
  45. package/dist/shared-ui/src/components/Studio/StudioApp/ComponentOptions.d.ts +0 -1
  46. package/dist/shared-ui/src/components/Studio/StudioApp/DragHandle.d.ts +6 -1
  47. package/dist/shared-ui/src/components/Studio/StudioApp/DragHandle.styles.d.ts +1 -1
  48. package/dist/shared-ui/src/components/Studio/StudioContexts.d.ts +2 -1
  49. package/dist/shared-ui/src/components/Studio/StudioViews.d.ts +16 -0
  50. package/dist/shared-ui/src/contexts/DashboardBehaviour/dateTimeFormatOptions.d.ts +1 -0
  51. package/dist/shared-ui/src/contexts/DashboardBehaviour/types.d.ts +1 -0
  52. package/dist/shared-ui/src/contexts/DashboardContext/context.d.ts +2 -1
  53. package/dist/shared-ui/src/contexts/DashboardContext/types.d.ts +2 -1
  54. package/dist/shared-ui/src/hooks/useVizzly.d.ts +2 -1
  55. package/dist/shared-ui/src/library/DataPanel/DrilldownInput/DrilldownSelect.d.ts +1 -0
  56. package/dist/shared-ui/src/library/Empty.d.ts +1 -0
  57. package/dist/shared-ui/src/library/ResizableRow.d.ts +6 -5
  58. package/dist/shared-ui/src/types.d.ts +2 -1
  59. package/package.json +3 -3
  60. package/dist/shared-logic/src/ProtectedFields/isProtectedField.d.ts +0 -5
  61. package/dist/shared-logic/src/ProtectedFields/upcastProtectedFields.d.ts +0 -2
  62. package/dist/shared-logic/src/QueryEngineDataSet/index.d.ts +0 -1
  63. package/dist/shared-logic/src/QueryEngineDataSet/init.d.ts +0 -2
  64. package/dist/shared-logic/src/VizzlyConfig/index.d.ts +0 -3
  65. package/dist/shared-logic/src/VizzlyConfig/init.d.ts +0 -8
  66. package/dist/shared-logic/src/VizzlyConfig/validate.d.ts +0 -12
  67. package/dist/shared-ui/src/components/ClickSettings/ClickSettingsModal.d.ts +0 -9
@@ -1,5 +1,5 @@
1
1
  import { DataType } from '../Field/types';
2
- import { AdditionalFilter, TimeRangeOptions, FilterConfig, OptionalFilters, DateFilter, DateAndTimeFilter, Field } from './types';
2
+ import { AdditionalFilter, TimeRangeOptions, FilterConfig, OptionalFilters, DateFilter, DateAndTimeFilter, LegacyNumericFilterValue, Field } from './types';
3
3
  import { DataSet } from '../DataSet/types';
4
4
  import * as Filter from '../Filter';
5
5
  import { DateTimeFilterOptions } from '../DateTime/types';
@@ -25,6 +25,14 @@ export declare const findMatchingFilter: (dashboardFilters: AdditionalFilter[],
25
25
  export declare const removeFilters: <T extends AdditionalFilter>(allFilters: T[], filtersToRemove: T[]) => T[];
26
26
  export declare const containsDuplicateFilters: (additionalFilters: Array<AdditionalFilter>) => boolean;
27
27
  export declare const removeDeadFields: (filters: Array<AdditionalFilter>, dataSets: DataSet[]) => AdditionalFilter[];
28
+ export declare const upcastFilterValue: (value: AdditionalFilter['value'], type: AdditionalFilter['type'], appliesToFields: Field[]) => string | number | boolean | string[] | QueryAttributes.Filter[][] | LegacyNumericFilterValue | {
29
+ type: "fixedRange";
30
+ before: Date | null;
31
+ after: Date | null;
32
+ } | {
33
+ type: "relative";
34
+ value: string;
35
+ } | import("./types").RelativeRangeValue | number[] | null;
28
36
  export declare enum DateOp {
29
37
  Greater = 0,
30
38
  Less = 1
@@ -33,3 +41,4 @@ export declare function inclusiveExclusiveCurrent(op: DateOp, filter: DateFilter
33
41
  export declare function getCascadeOptionsFilters(globalFilters: AdditionalFilter[], dataSets: DataSet[], dateFilterOptions: DateTimeFilterOptions, cascadeFilterSelection?: boolean): OptionalFilters | undefined;
34
42
  export declare const updateFilterForOptionalPulledFromOptions: (filter: AdditionalFilter) => AdditionalFilter;
35
43
  export declare const buildAdvancedFilters: (filterValue: QueryAttributes.Filter[][], field: Field, dataSetId: string) => never[] | QueryAttributes.Filter;
44
+ export declare function getFilterDataType(filter: AdditionalFilter, dataSets: DataSet[]): "string" | "number" | "boolean" | "date_time" | "string[]" | undefined;
@@ -5,5 +5,12 @@ export declare const DATE_FILTER = "dateFilter";
5
5
  export declare const DATE_TIME_FILTER = "dateTimeFilter";
6
6
  export declare const DATE_AND_TIME_FILTER = "dateAndTimeFilter";
7
7
  export declare const SINGLE_SELECT_FILTER = "singleSelectFilter";
8
+ /**
9
+ * @deprecated The "multiSelectFilter" has been deprecated. Use "advancedFilter".
10
+ */
8
11
  export declare const MULTI_SELECT_FILTER = "multiSelectFilter";
12
+ /**
13
+ * @deprecated The "numericFilter" has been deprecated. Use "advancedFilter".
14
+ */
9
15
  export declare const NUMERIC_FILTER = "numericFilter";
16
+ export declare const ADVANCED_FILTER = "advancedFilter";
@@ -4,18 +4,21 @@ export declare type FilterConfig = {
4
4
  localFilters?: Array<AdditionalFilter>;
5
5
  globalFilters?: Array<AdditionalFilter>;
6
6
  };
7
- export declare type AdditionalFilter = NumericFilter | SingleSelectFilter | DateFilter | DateAndTimeFilter | DateTimeFilter | MultiSelectFilter;
7
+ export declare type AdditionalFilter = NumericFilter | SingleSelectFilter | DateFilter | DateAndTimeFilter | DateTimeFilter | MultiSelectFilter | AdvancedFilter;
8
8
  export declare type Field = {
9
9
  dataSetId: string;
10
10
  fieldId: QueryAttributes.Field;
11
11
  };
12
- declare type AdditionalFilterType = typeof FilterType.DATE_FILTER | typeof FilterType.DATE_TIME_FILTER | typeof FilterType.DATE_AND_TIME_FILTER | typeof FilterType.SINGLE_SELECT_FILTER | typeof FilterType.MULTI_SELECT_FILTER | typeof FilterType.NUMERIC_FILTER;
12
+ declare type AdditionalFilterType = typeof FilterType.DATE_FILTER | typeof FilterType.DATE_TIME_FILTER | typeof FilterType.DATE_AND_TIME_FILTER | typeof FilterType.SINGLE_SELECT_FILTER | typeof FilterType.MULTI_SELECT_FILTER | typeof FilterType.NUMERIC_FILTER | typeof FilterType.ADVANCED_FILTER;
13
13
  export declare type OptionalFilters = {
14
14
  [dataSetId: string]: Array<QueryAttributes.Filter>;
15
15
  };
16
16
  declare type BaseAdditionalFilter<T extends AdditionalFilterType> = {
17
17
  /**
18
- * NOTE: The "dateTimeFilter" type value has been deprecated. Use "dateFilter".
18
+ * NOTE:
19
+ * - The "dateTimeFilter" type value has been deprecated. Use "dateFilter".
20
+ * - The "multiSelectFilter" type value has been deprecated. Use "advancedFilter".
21
+ * - The "numericFilter" type value has been deprecated. Use "advancedFilter".
19
22
  */
20
23
  type: T;
21
24
  appliesToFields: Array<Field>;
@@ -80,6 +83,10 @@ export declare type MultiSelectFilter = BaseAdditionalFilter<typeof FilterType.M
80
83
  value: string[] | number[] | null | QueryAttributes.Filter[][];
81
84
  optionsPulledFrom?: Array<Field>;
82
85
  };
86
+ export declare type AdvancedFilter = BaseAdditionalFilter<typeof FilterType.ADVANCED_FILTER> & {
87
+ value: QueryAttributes.Filter[][] | null;
88
+ optionsPulledFrom?: Array<Field>;
89
+ };
83
90
  export declare type TimeRangeOptions = {
84
91
  [id: string]: {
85
92
  range: {
@@ -12,7 +12,6 @@ export declare type BuildViewClick = {
12
12
  viewId: string;
13
13
  type: 'barChart' | 'horizontalBarChart';
14
14
  timeDimension: QueryAttributes.TimeDimension | undefined;
15
- protectedFields?: Component.ProtectedFields | undefined;
16
15
  };
17
16
  export declare function buildOnViewClick(clickedValue?: Datum, nearestDatum?: DatumByKey, props?: BuildViewClick): void;
18
17
  export declare type BuildTableViewClick = {
@@ -22,7 +21,6 @@ export declare type BuildTableViewClick = {
22
21
  onViewClick: ((data: Component.TableOnViewClick) => void) | undefined;
23
22
  type: 'dataTable' | 'basicTable';
24
23
  dimension: QueryAttributes.Dimension[];
25
- protectedFields?: Component.ProtectedFields;
26
24
  };
27
25
  export declare type TableOnViewClick = (rowIndex: number, cellIndex: number, value: string | number, fieldV2?: TableFieldsV2[], additionalAttributes?: AddtionalOnClickAttributes) => void;
28
26
  export declare type TableCellRender = (rowIndex: number, cellIndex: number, value: string | number, fieldV2?: TableFieldsV2[], additionalAttributes?: AddtionalOnClickAttributes) => React.ReactNode | string;
@@ -156,6 +156,7 @@ export declare namespace Component {
156
156
  conditionalFormattingRules: Array<ConditionalFormatting.Rule>;
157
157
  labelsAsPercentage: boolean;
158
158
  legend: boolean;
159
+ labels?: boolean;
159
160
  labelFormat: FormatType;
160
161
  parameters?: Parameters;
161
162
  };
@@ -85,6 +85,7 @@ export interface FormatPanelNamespaces {
85
85
  subSectionDefinition: {
86
86
  stacked?: SubSection<'stacked'>;
87
87
  legend?: SubSection<'legend'>;
88
+ labels?: SubSection<'labels'>;
88
89
  curve?: SubSection<'curve'>;
89
90
  number_format?: SubSection<'numberFormat'>;
90
91
  };
@@ -3,7 +3,9 @@ import { QueryAttributes } from '../QueryAttributes/types';
3
3
  import { QueryEngineConfig } from '../QueryEngineConfig/types';
4
4
  import { Component } from '../Component/types';
5
5
  import { Datum } from '../DatumKey';
6
- export declare const updateTimeDimension: (dataSet: DataSet, option: QueryAttributes.TimeDimension) => QueryAttributes.TimeDimension | null;
6
+ export declare const updateTimeDimension: (dataSet: DataSet, option: QueryAttributes.TimeDimension & {
7
+ function?: string;
8
+ }) => QueryAttributes.TimeDimension | null;
7
9
  export declare type DrilldownField = Component.DrilldownOptions & {
8
10
  value: string;
9
11
  };
@@ -1,6 +1,6 @@
1
1
  import { QueryAttributes } from '../QueryAttributes/types';
2
2
  export declare type DataType = 'number' | 'boolean' | 'string' | 'date_time' | 'string[]';
3
- export declare type DateTimeFormat = 'DD/MM/YYYY' | 'MM/DD/YYYY' | 'DD-MM-YYYY' | 'MM-DD-YYYY' | 'DD MMMM YYYY, hh:mm' | 'dddd DD MMMM YYYY, hh:mm' | 'hh:mm' | 'hh:mm:ss' | 'DD MMMM YYYY' | 'MMMM YYYY' | 'YYYY' | 'YYYY-MM-DD[T]HH:mm:ss' | 'quarter' | 'week';
3
+ export declare type DateTimeFormat = 'DD/MM/YYYY' | 'MM/DD/YYYY' | 'DD-MM-YYYY' | 'MM-DD-YYYY' | 'DD MMMM YYYY, hh:mm' | 'dddd DD MMMM YYYY, hh:mm' | 'hh:mm' | 'hh:mm:ss' | 'DD MMMM YYYY' | 'MMMM YYYY' | 'YYYY' | 'YYYY-MM-DD[T]HH:mm:ss' | 'quarter' | 'week' | 'day_of_month' | 'day_of_week_iso' | 'week_of_year' | 'hour_of_day';
4
4
  export declare type SupportedAggregateOption = string;
5
5
  declare type DashboardRequiredFilterGroup = {
6
6
  /** This is displayed on the global filter, and it is also used to group related filters */
@@ -8,7 +8,7 @@ export declare type FormatSubSections = Section<'time'> | Section<'fontSize'>;
8
8
  export declare type FormatSection = Section<'format'> & {
9
9
  subSection: Array<FormatSubSections>;
10
10
  };
11
- export declare type ChartStylesSubSections = Section<'stacked' | 'curve' | 'legend' | 'numberFormat'>;
11
+ export declare type ChartStylesSubSections = Section<'stacked' | 'curve' | 'legend' | 'numberFormat' | 'labels'>;
12
12
  export declare type ChartStylesSection = Section<'chartStyles'> & {
13
13
  subSection: Array<ChartStylesSubSections>;
14
14
  };
@@ -15,37 +15,38 @@ export declare type Theme = {
15
15
  };
16
16
  export declare namespace VizzlyTheming {
17
17
  interface Base extends Theme {
18
+ accordion?: Accordion;
19
+ ai?: AI;
20
+ alerts?: Alerts;
18
21
  baseFont?: FontStyle;
19
- titles?: FontStyle;
20
22
  buttons?: Buttons;
21
- panels?: Panel;
22
- forms?: Form;
23
- modals?: Modal;
24
- lists?: List;
25
- tabs?: Tabs;
26
- alerts?: Alerts;
27
23
  charts?: Charts;
28
- dropdowns?: Dropdown;
29
- popoverMenu?: PopoverMenu;
30
- tables?: Tables;
31
- accordion?: Accordion;
32
- radioGroup?: RadioGroup;
33
- search?: Search;
34
24
  dashboard?: Dashboard;
35
- library?: Library;
25
+ dropdowns?: Dropdown;
26
+ editor?: {
27
+ settings?: Panel;
28
+ component?: Panel;
29
+ gap?: CSSProperties['gap'];
30
+ };
36
31
  filters?: Filters;
32
+ forms?: Form;
37
33
  header?: Header;
38
- ai?: AI;
39
34
  icons?: Icons;
35
+ library?: Library;
36
+ lists?: List;
37
+ modals?: Modal;
38
+ panels?: Panel;
39
+ popoverMenu?: PopoverMenu;
40
+ radioGroup?: RadioGroup;
41
+ search?: Search;
40
42
  section?: {
41
43
  panel?: Panel;
42
44
  title?: FontStyle;
43
45
  };
44
- editor?: {
45
- settings?: Panel;
46
- component?: Panel;
47
- gap?: CSSProperties['gap'];
48
- };
46
+ tables?: Tables;
47
+ tabs?: Tabs;
48
+ titles?: FontStyle;
49
+ tooltips?: Tooltip;
49
50
  }
50
51
  interface Buttons {
51
52
  primary?: ButtonType;
@@ -345,7 +346,18 @@ export declare namespace VizzlyTheming {
345
346
  barChart?: BarChart;
346
347
  singleStat?: SingleStat;
347
348
  threshold?: ChartThreshold;
349
+ popoverMenus?: ChartPopoverMenu;
348
350
  };
351
+ interface ChartPopoverMenu {
352
+ background?: CSSProperties['background'];
353
+ border?: CSSProperties['border'];
354
+ borderRadius?: CSSProperties['borderRadius'];
355
+ boxShadow?: CSSProperties['boxShadow'];
356
+ color?: CSSProperties['color'];
357
+ fontFamily?: CSSProperties['fontFamily'];
358
+ letterSpacing?: CSSProperties['letterSpacing'];
359
+ padding?: CSSProperties['padding'];
360
+ }
349
361
  type ChartThreshold = {
350
362
  stroke: CSSProperties['stroke'];
351
363
  };
@@ -564,5 +576,17 @@ export declare namespace VizzlyTheming {
564
576
  type SingleStat = {
565
577
  delteStyle?: 'pill' | 'text';
566
578
  };
579
+ type Tooltip = {
580
+ background?: CSSProperties['background'];
581
+ borderRadius?: CSSProperties['borderRadius'];
582
+ boxShadow?: CSSProperties['boxShadow'];
583
+ color?: CSSProperties['color'];
584
+ fontFamily?: CSSProperties['fontFamily'];
585
+ fontSize?: CSSProperties['fontSize'];
586
+ fontWeight?: CSSProperties['fontWeight'];
587
+ letterSpacing?: CSSProperties['letterSpacing'];
588
+ lineHeight?: CSSProperties['lineHeight'];
589
+ padding?: CSSProperties['padding'];
590
+ };
567
591
  }
568
592
  export declare type ThemeVersion = 1 | 2;
@@ -2,5 +2,5 @@ export declare const build: (value: string | number, valueAlias?: {
2
2
  [id: string]: string | number;
3
3
  } | import("./types").ValueAliasFunction | undefined, options?: {
4
4
  fieldId?: string | null | undefined;
5
- filter?: import("../AdditionalFilter/types").NumericFilter | import("../AdditionalFilter/types").SingleSelectFilter | import("../AdditionalFilter/types").DateFilter | import("../AdditionalFilter/types").DateAndTimeFilter | import("../AdditionalFilter/types").DateTimeFilter | import("../AdditionalFilter/types").MultiSelectFilter | undefined;
5
+ filter?: import("../AdditionalFilter/types").NumericFilter | import("../AdditionalFilter/types").SingleSelectFilter | import("../AdditionalFilter/types").DateFilter | import("../AdditionalFilter/types").DateAndTimeFilter | import("../AdditionalFilter/types").DateTimeFilter | import("../AdditionalFilter/types").MultiSelectFilter | import("../AdditionalFilter/types").AdvancedFilter | undefined;
6
6
  } | undefined) => string | number | undefined;
@@ -29,6 +29,11 @@ export declare type SubscriberOptions = StateOptions & {
29
29
  clearInMemoryDb?: boolean;
30
30
  };
31
31
  export declare type Subscriber = (data: SubscriberOptions) => void;
32
+ export declare enum SavingState {
33
+ InProgress = "InProgress",
34
+ Saved = "Saved",
35
+ Undefined = "Undefined"
36
+ }
32
37
  interface VizzlyState {
33
38
  get: (identifier: string, listener: Subscriber) => () => void;
34
39
  set: (identifier: string, data: StateOptions) => void;
@@ -1,3 +1,3 @@
1
1
  import { QueryEngineEndpoint } from '../../QueryEngineConfig/types';
2
2
  import { Result } from '../../Result/types';
3
- export declare const createSqlPreview: (queryEngineEndpoint: QueryEngineEndpoint, sql: string, parameters: string | undefined, limit: number, abortSignal?: AbortSignal | undefined) => Promise<Result>;
3
+ export declare const createSqlPreview: (queryEngineEndpoint: QueryEngineEndpoint, sql: string, parameters: string | undefined, limit: number, connectionId: string | undefined, abortSignal?: AbortSignal | undefined) => Promise<Result>;
@@ -3,5 +3,5 @@ import { Client } from '../../VizzlyConfig/types';
3
3
  declare type Response = {} | {
4
4
  reason: string;
5
5
  };
6
- export declare const saveConnection: (queryEngineEndpoint: QueryEngineEndpoint, integrationClient: Client, connection: any, abortSignal?: AbortSignal | undefined) => Promise<Response | null>;
6
+ export declare const saveConnection: (queryEngineEndpoint: QueryEngineEndpoint, integrationClient: Client, connection: any, connectionId: string, abortSignal?: AbortSignal | undefined) => Promise<Response | null>;
7
7
  export {};
@@ -7,7 +7,8 @@ export declare const formatLongDateAndTime: (date: Date | null) => string | null
7
7
  export declare const formatShortDateAndTime: (date: Date | null) => string | null;
8
8
  export declare const addMinutes: (date: Date, minutes: number) => Date;
9
9
  export declare const isDateBetween: (now: Date, before: Date, after: Date) => boolean;
10
- export declare const format: (date: Date, format: DateTimeFormat) => string | null;
10
+ export declare const format: (value: Date | string | number, format: DateTimeFormat) => string | null;
11
+ export declare const _formatDate: (date: Date, format: DateTimeFormat) => string | null;
11
12
  export declare const fillTruncatedDatesBetween: (start: Date, end: Date, interval: QueryAttributes.TimeDimension.Truncate) => Date[];
12
13
  export declare const truncateDateTime: (dateTime: Date, truncate: QueryAttributes.TimeDimension.Truncate) => Date;
13
14
  export declare const subtractDays: (date: Date, days: number) => Date;
@@ -6,3 +6,4 @@ export declare const toDp: (number: number, decimalPlaces: number) => string;
6
6
  export declare const toCurrency: (number: number, currency: 'EUR' | 'GBP' | 'USD') => string;
7
7
  export declare const toPercentage: (number: number, decimalPlaces?: number | undefined) => string;
8
8
  export declare function formatCompactNumber(number: number): string;
9
+ export declare const numberPostfix: (number: number) => "th" | "st" | "nd" | "rd";
@@ -5,4 +5,5 @@ export declare type AlertProps = {
5
5
  children?: ReactNode;
6
6
  title?: string;
7
7
  icon?: ReactNode;
8
+ className?: string;
8
9
  };
@@ -7,6 +7,7 @@ import moment from 'moment';
7
7
  import { QueryEngineConfig } from '../../../../shared-logic/src/QueryEngineConfig/types';
8
8
  import { DataSet } from '../../../../shared-logic/src/DataSet/types';
9
9
  import { QueryAttributes } from '../../../../shared-logic/src/QueryAttributes/types';
10
+ import { DashboardBehaviour } from '../../contexts/DashboardBehaviour/types';
10
11
  declare type DatePickerProps = {
11
12
  id?: string | number;
12
13
  dynamicWidth?: boolean;
@@ -14,6 +15,7 @@ declare type DatePickerProps = {
14
15
  timeFormat?: TimeRangeFormat;
15
16
  textOverride?: TextOverride;
16
17
  setShowCustom?: (value: boolean) => void;
18
+ datePickerFormat?: DashboardBehaviour['datePickerFormat'];
17
19
  showCustom?: boolean;
18
20
  queryEngineConfig?: QueryEngineConfig;
19
21
  data?: DataSet[];
@@ -14,6 +14,7 @@ export declare const DateTimeFilter: FunctionComponent<{
14
14
  placeholder: string;
15
15
  hasCustomPicker?: boolean;
16
16
  dateFilterOptions: DashboardBehaviour['dateFilterOptions'];
17
+ datePickerFormat?: DashboardBehaviour['datePickerFormat'];
17
18
  showClearBtn?: boolean;
18
19
  textOverride?: DashboardBehaviour['textOverride'];
19
20
  queryEngineConfig?: QueryEngineConfig;
@@ -1,6 +1,8 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  export declare const DATE_FORMAT: {
3
3
  readonly DDMMYYYY: "DD/MM/YYYY";
4
+ readonly MMDDYYYY: "MM/DD/YYYY";
5
+ readonly YYYYMMDD: "YYYY/MM/DD";
4
6
  };
5
7
  export declare type DateRangeFormat = (typeof DATE_FORMAT)[keyof typeof DATE_FORMAT];
6
8
  export declare const DateTimePickerInput: FunctionComponent<{
@@ -2,7 +2,7 @@ import { Dispatch, FunctionComponent, SetStateAction } from 'react';
2
2
  import { TextOverride } from '../../../../shared-logic/src/Translations/types';
3
3
  import { DateRangePickerState, FixedRangeState, Time } from './CustomRangePicker';
4
4
  export declare const FixedRange: FunctionComponent<{
5
- dateFormat: 'DD/MM/YYYY';
5
+ dateFormat: 'DD/MM/YYYY' | 'MM/DD/YYYY' | 'YYYY/MM/DD';
6
6
  textOverride: TextOverride | undefined;
7
7
  fixed?: FixedRangeState;
8
8
  onApply: () => void;
@@ -3,4 +3,10 @@ export declare const DragLayer: FunctionComponent<{
3
3
  children: ReactNode;
4
4
  selectedItem?: (item: any) => void;
5
5
  }>;
6
- export declare function createTransparentImage(width: number, height: number): string;
6
+ export declare function createTransparentImage(width: number, height: number, params?: {
7
+ fillStyle?: string;
8
+ border?: string;
9
+ borderRadius?: string;
10
+ positionLeft?: string;
11
+ xPosition?: number;
12
+ }): string;
@@ -4,6 +4,7 @@ export declare const EmptyContainer: React.FunctionComponent<{
4
4
  renderExtra?: (() => ReactNode) | undefined;
5
5
  opacity?: 40 | 60 | undefined;
6
6
  children?: ReactNode;
7
+ contentClassName?: string | undefined;
7
8
  }> & {
8
9
  Extra: React.FunctionComponent<{
9
10
  children: ReactNode;
@@ -8,4 +8,5 @@ export declare const Panel: React.ForwardRefExoticComponent<{
8
8
  onHover?: ((active: boolean) => void) | undefined;
9
9
  width?: CSSProperties['width'];
10
10
  padding?: CSSProperties['padding'];
11
+ "data-component"?: string | undefined;
11
12
  } & React.RefAttributes<HTMLInputElement>>;
@@ -1,7 +1,12 @@
1
1
  import { CSSProperties } from 'react';
2
+ import { VizzlyTheming } from '../../types';
3
+ interface TooltipStyles extends VizzlyTheming.Tooltip {
4
+ minWidth?: CSSProperties['minWidth'];
5
+ }
2
6
  export declare const tooltipStyles: (() => null) & {
3
- popover: (minWidth?: CSSProperties['minWidth']) => {
7
+ popover: ({ minWidth, background, borderRadius, boxShadow, color, fontFamily, fontSize, fontWeight, letterSpacing, lineHeight, padding, }: TooltipStyles) => {
4
8
  (variantOptions: Object): string;
5
9
  toString: any;
6
10
  };
7
11
  };
12
+ export {};
@@ -11,4 +11,5 @@ export declare const AdvancedDisplayValues: FunctionComponent<{
11
11
  chips?: DisplayChipsType[];
12
12
  clearDisabled?: boolean;
13
13
  onClick: (open: boolean) => void;
14
+ id: string;
14
15
  }>;
@@ -1,7 +1,5 @@
1
1
  import { FunctionComponent } from 'react';
2
- import { TextOverride } from '../../../../../shared-logic/src/Translations/types';
3
2
  import { DisplayChipsType } from './displayChips.funcs';
4
3
  export declare const DisplayChips: FunctionComponent<{
5
4
  chips: DisplayChipsType[];
6
- textOverride?: TextOverride;
7
5
  }>;
@@ -1,5 +1,5 @@
1
1
  import { QueryAttributes } from '../../../../../shared-logic/src/QueryAttributes/types';
2
2
  import { MultiSelectFilter as MultiSelectFilterType, NumericFilter } from '../../../../../shared-logic/src/AdditionalFilter/types';
3
- import { FilterType } from './AdvancedSelectFilter';
4
- export declare const definingForFilterInput: (filter: MultiSelectFilterType | NumericFilter, type: FilterType) => QueryAttributes.Filter[][];
3
+ import { DataType } from '../../../../../shared-logic/src/Field/types';
4
+ export declare const definingForFilterInput: (filter: MultiSelectFilterType | NumericFilter, type: Omit<DataType, 'date_time'>) => QueryAttributes.Filter[][];
5
5
  export declare function buildForEachAppliesToField(completedFilters: QueryAttributes.Filter[][], filter: NumericFilter | MultiSelectFilterType): QueryAttributes.Filter[];
@@ -1,8 +1,16 @@
1
- import { QueryAttributes } from '../../../../../shared-logic/src/QueryAttributes/types';
1
+ import { MultiSelectFilter, NumericFilter } from '../../../../../shared-logic/src/AdditionalFilter/types';
2
+ import { QueryAttributes, SupportedOperators } from '../../../../../shared-logic/src/QueryAttributes/types';
3
+ import { DataType } from '../../../../../shared-logic/src/Field/types';
2
4
  export declare type DisplayChipsType = {
3
5
  full: string[];
4
6
  op: string;
5
7
  };
8
+ export declare enum FilterType {
9
+ STRING_FILTER = "string",
10
+ STRING_ARRAY_FILTER = "string[]",
11
+ NUMERIC_FILTER = "number",
12
+ BOOLEAN_FILTER = "boolean"
13
+ }
6
14
  export declare const filterValuesToChips: (value: QueryAttributes.Filter[][], filterOptions?: {
7
15
  value: any;
8
16
  label: string;
@@ -10,4 +18,9 @@ export declare const filterValuesToChips: (value: QueryAttributes.Filter[][], fi
10
18
  export declare const valueToChips: (values: string[], filterOptions?: {
11
19
  value: any;
12
20
  label: string;
13
- }[] | undefined) => DisplayChipsType[] | undefined;
21
+ }[] | undefined, op?: string | undefined) => DisplayChipsType[] | undefined;
22
+ export declare const getFormattedDisplayValue: (operator: string, value: string | number, supportedOperators: SupportedOperators) => string;
23
+ export declare function getChips(filter: MultiSelectFilter | NumericFilter, type: Omit<DataType, 'date_time'>, options?: {
24
+ value: any;
25
+ label: string;
26
+ }[]): DisplayChipsType[] | undefined;
@@ -1,15 +1,12 @@
1
- import { MultiSelectFilter as MultiSelectFilterType, NumericFilter } from '../../../../../shared-logic/src/AdditionalFilter/types';
2
- import { DataSet } from '../../../../../shared-logic/src/DataSet/types';
1
+ import { MultiSelectFilter as MultiSelectFilterType, NumericFilter } from '../../../../shared-logic/src/AdditionalFilter/types';
2
+ import { DataSet } from '../../../../shared-logic/src/DataSet/types';
3
3
  import { FunctionComponent } from 'react';
4
- export declare enum FilterType {
5
- MULTI_SELECT_FILTER = "multiSelect",
6
- NUMERIC_FILTER = "number"
7
- }
4
+ import { DataType } from '../../../../shared-logic/src/Field/types';
8
5
  export declare const AdvancedSelectFilter: FunctionComponent<{
9
6
  filterIndex: number;
10
7
  filter: MultiSelectFilterType | NumericFilter;
11
8
  dataSets: DataSet[];
12
9
  onChange: (filter: MultiSelectFilterType | NumericFilter) => void;
13
10
  showClearBtn?: boolean;
14
- type: FilterType;
11
+ type: Omit<DataType, 'date_time'>;
15
12
  }>;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { DataSet as DataSetType } from '../../../../shared-logic/src/DataSet/types';
3
3
  import { AdditionalFilter } from '../../../../shared-logic/src/AdditionalFilter/types';
4
+ import { MultiSelectOptions } from '../../base/MultiSelect';
4
5
  export declare type AdvancedOptions = {
5
6
  inclusiveDate?: boolean;
6
7
  };
@@ -32,14 +33,7 @@ export declare const useBuildDashboardFilter: (currentGlobalFilter: AdditionalFi
32
33
  label: string;
33
34
  value: string;
34
35
  }[];
35
- fieldOptions: {
36
- label: string;
37
- value: {
38
- dataSetId: string;
39
- field: import("../../../../shared-logic/src/Field/types").DateTimeField | import("../../../../shared-logic/src/Field/types").NonDateTimeField | import("../../../../shared-logic/src/CustomField/types").SimpleMathField;
40
- };
41
- hide: boolean;
42
- }[];
36
+ fieldOptions: MultiSelectOptions[];
43
37
  dispatch: React.Dispatch<Action>;
44
38
  globalFilter: AdditionalFilter;
45
39
  };
@@ -17,6 +17,7 @@ declare type ExtendedProps = BarChartViewProps & {
17
17
  onDrilldownChange: (payload: Drilldown.SelectedDrilldown) => void;
18
18
  drilldownSelections: Drilldown.SelectedDrilldown[];
19
19
  onResetDrilldown: () => void;
20
+ editor?: boolean;
20
21
  };
21
22
  declare const _default: React.NamedExoticComponent<ExtendedProps>;
22
23
  export default _default;
@@ -19,4 +19,5 @@ export declare type BarChartProps = {
19
19
  onViewClick?: (data: ComponentType.ChartOnViewClick) => void;
20
20
  updateComponentAttributes: (attributes: ComponentType.BarChartAttributes | ComponentType.HorizontalBarChartAttributes) => void;
21
21
  idPrefix: IdPrefix;
22
+ editor?: boolean;
22
23
  };
@@ -21,6 +21,7 @@ declare type Datum = {
21
21
  };
22
22
  export declare const getExplanationsOfConditionFormattingRulesThatApplyToSeries: (dimensions: QueryAttributesType.Dimension[], conditionalFormattingRules: ActualComponent.ConditionalFormatting.Rule[], seriesKey: string, supportedAggregates: DashboardBehaviour['queryEngineConfig']['supportedAggregates'], dataSet: DataSetType) => Array<ConditionalFormattingOption>;
23
23
  export declare const applyConditionFormattingRules: (dimensions: QueryAttributesType.Dimension[], conditionalFormattingRules: ConditionalFormattingBoundary[], datum: Datum | undefined, key: string, dataSet: DataSetType) => ActualComponent.ConditionalFormatting.DisplayRule | undefined;
24
+ export declare function formattedFallbackDateTime(value: string | number | Date): string;
24
25
  export declare const formatXAxisLabel: (timeDimension: QueryAttributesType.TimeDimension | null, supportedTimeTruncFunctions: QueryEngineConfig['supportedTimeTruncFunctions'], axisLabelConfig: AxisLabelConfig, valueAlias?: DashboardBehaviour['valueAlias']) => (value: any, fieldId?: string | null | undefined) => string;
25
26
  export declare const formatYAxisLabel: (textOverride: TextOverride, axisLabelConfig?: AxisLabelConfig | undefined) => (value: any) => string;
26
27
  export declare const formatSeriesName: (result: ResultType | null | undefined, textOverride: TextOverride, type: ComponentType, id: string, labelFormat: LabelFormat) => (key: string) => string | undefined;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { DisplayRow } from '../../../../shared-logic/src/Display/types';
3
+ export declare const WidthChangingDnd: (props: {
4
+ dropIndex: number;
5
+ colWidth: number;
6
+ active: boolean;
7
+ onDrop: (cellIndex: number, moved: number, displayRow: DisplayRow) => void;
8
+ }) => JSX.Element;
@@ -9,6 +9,6 @@ export declare type PieChartViewProps = VizzlyComponents.ViewProps<Component.Pie
9
9
  export declare const defaultProps: Omit<Component.PieChartAttributes, 'dataSetId'>;
10
10
  declare const memoized: React.MemoExoticComponent<{
11
11
  (props: PieChartViewProps): JSX.Element;
12
- defaultProps: Pick<Component.PieChartAttributes, "filter" | "order" | "offset" | "measure" | "dimension" | "timeDimension" | "limit" | "type" | "viewId" | "displayTitle" | "displaySubject" | "protectedByOrganisation" | "tags" | "conditionalFormattingRules" | "legend" | "parameters" | "labelFormat" | "labelsAsPercentage">;
12
+ defaultProps: Pick<Component.PieChartAttributes, "filter" | "order" | "offset" | "measure" | "dimension" | "timeDimension" | "limit" | "type" | "viewId" | "displayTitle" | "displaySubject" | "protectedByOrganisation" | "tags" | "conditionalFormattingRules" | "legend" | "parameters" | "labelFormat" | "labelsAsPercentage" | "labels">;
13
13
  }>;
14
14
  export default memoized;
@@ -17,7 +17,6 @@ export declare const PopulatedComponentOptions: (props: {
17
17
  onDownload: (downloadType: DownloadType, overrideId?: string | undefined) => void;
18
18
  onManageReport: () => void;
19
19
  onAddFilter: () => void;
20
- onClickSettings: () => void;
21
20
  onSetParameters: () => void;
22
21
  onAddToLibrary: () => void;
23
22
  onShowFullscreen: () => void;
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from 'react';
1
+ import { FunctionComponent, CSSProperties } from 'react';
2
2
  import { ConnectDragSource } from 'react-dnd';
3
3
  declare type Props = {
4
4
  dragSource?: ConnectDragSource;
@@ -6,6 +6,7 @@ declare type Props = {
6
6
  enabled: boolean;
7
7
  top?: number;
8
8
  height?: number;
9
+ left?: CSSProperties['left'];
9
10
  };
10
11
  export declare const MoveComponentDragHandle: (props: Props) => JSX.Element;
11
12
  export declare const DragHandle: FunctionComponent<Omit<Props, 'dragSource' | 'enabled'>>;
@@ -13,4 +14,8 @@ export declare const useMoveComponentDrag: (rowIndex: number, cellIndex: number)
13
14
  adjust: import("react-dnd").XYCoord | null;
14
15
  isDragging: boolean;
15
16
  }, import("react-dnd").DragElementWrapper<import("react-dnd").DragSourceOptions>, import("react-dnd").DragElementWrapper<import("react-dnd").DragPreviewOptions>];
17
+ export declare const useMoveRow: (currentRowIndex: number) => [{
18
+ adjust: import("react-dnd").XYCoord | null;
19
+ isDragging: boolean;
20
+ }, import("react-dnd").DragElementWrapper<import("react-dnd").DragSourceOptions>, import("react-dnd").DragElementWrapper<import("react-dnd").DragPreviewOptions>];
16
21
  export {};
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
- export declare const container: (top?: CSSProperties['top']) => {
2
+ export declare const container: (top?: CSSProperties['top'], left?: CSSProperties['left']) => {
3
3
  (variantOptions: Object): string;
4
4
  toString: any;
5
5
  };
@@ -7,6 +7,7 @@ import { IdentityConfig } from '../../../../shared-logic/src/IdentityConfig/type
7
7
  import { StudioState } from '../../contexts/DashboardContext/types';
8
8
  import { AIFunctions } from '../../contexts/AIProvider/types';
9
9
  import { GlobalLibrary } from '../../../../shared-logic/src/GlobalLibrary';
10
+ import { SavingState } from '../../../../shared-logic/src/VizzlyState';
10
11
  export declare type StudioProps = {
11
12
  vizzlyApiConfig?: VizzlyComponents.ApiConfig;
12
13
  runQueriesCallback: VizzlyComponents.runQueriesCallback;
@@ -37,6 +38,6 @@ export declare type StudioProps = {
37
38
  editor?: {
38
39
  globalLibraries: GlobalLibrary.Base[];
39
40
  };
40
- updatingDashboard: boolean;
41
+ saving: SavingState;
41
42
  };
42
43
  export declare const StudioContexts: FunctionComponent<StudioProps>;
@@ -0,0 +1,16 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { Display } from '../../../../shared-logic/src/Display/types';
3
+ export declare const StudioViews: FunctionComponent<{
4
+ display: Display;
5
+ dashboardGridSettings: {
6
+ gridColumn: string;
7
+ gridRow: number;
8
+ };
9
+ id: string;
10
+ generatingPDF: boolean;
11
+ gridColumns: string[];
12
+ hideAddCellColumn: boolean;
13
+ pdfPageBreaks: {
14
+ [rowIndex: number]: number;
15
+ } | undefined;
16
+ }>;