blixify-ui-web 1.2.193 → 1.2.195

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.
@@ -78,4 +78,23 @@ export declare const handleShapeChartPoints: (points: ChartPoint[], options: Cha
78
78
  * group of its own
79
79
  */
80
80
  export declare const handleGroupKeyQuery: (columnId: string, key: any) => Query[];
81
+ export interface ChartChange {
82
+ direction: "up" | "down" | "flat";
83
+ percent: number | null;
84
+ }
85
+ /**
86
+ * The last complete period against the one before it — the period still under
87
+ * way is left out, as a part-period would always read as a drop.
88
+ */
89
+ export declare const handleChangeSummary: (values: number[], isComplete: boolean[]) => ChartChange | null;
90
+ /**
91
+ * Each period's value as a share of that period's total, in whole percent.
92
+ */
93
+ export declare const handleShares: (values: number[], totals: number[]) => number[];
94
+ /**
95
+ * The change in share between the last complete period and the one before,
96
+ * in percentage points — a share's own percentage change would read as a
97
+ * percent of a percent.
98
+ */
99
+ export declare const handleShareChange: (shares: number[], isComplete: boolean[]) => ChartChange | null;
81
100
  //# sourceMappingURL=chartResults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chartResults.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartResults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;;;GAIG;AAEH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,MAAM,GAAG,IAM7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAC3B,IAAI,OACN,IAAI,YACC,iBAAiB;WAEH,MAAM;WAAS,IAAI;SAAO,IAAI;WAAS,MAAM;GAoBtE,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAC5B,IAAI,YACA,iBAAiB,WAU5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAChC,OAAO,KACX;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAmBpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QACzB,GAAG,WACC,aAAa,WACb;IAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAChC,MAkBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,WACzB,UAAU,EAAE,WACX,iBAAiB,KACzB;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CA2C3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,OAAO,GAAG,KAAG,KAAK,EAErE,CAAC"}
1
+ {"version":3,"file":"chartResults.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartResults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;;;GAIG;AAEH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,MAAM,GAAG,IAM7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAC3B,IAAI,OACN,IAAI,YACC,iBAAiB;WAEH,MAAM;WAAS,IAAI;SAAO,IAAI;WAAS,MAAM;GAoBtE,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAC5B,IAAI,YACA,iBAAiB,WAU5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAChC,OAAO,KACX;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAmBpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QACzB,GAAG,WACC,aAAa,WACb;IAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAChC,MAkBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,WACzB,UAAU,EAAE,WACX,iBAAiB,KACzB;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CA2C3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,OAAO,GAAG,KAAG,KAAK,EAErE,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAElC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,WACtB,MAAM,EAAE,cACJ,OAAO,EAAE,KACpB,WAAW,GAAG,IAchB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,WAAY,MAAM,EAAE,UAAU,MAAM,EAAE,aAG5D,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WACpB,MAAM,EAAE,cACJ,OAAO,EAAE,KACpB,WAAW,GAAG,IAYhB,CAAC"}
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.handleGroupKeyQuery = exports.handleShapeChartPoints = exports.handleGroupKeyLabel = exports.handleFlattenGroupedResult = exports.handleFormatBucketLabel = exports.handleSplitDateInterval = exports.handleToChartNumber = exports.MAX_DATE_BUCKETS = exports.EMPTY_GROUP_LABEL = exports.OTHERS_LABEL = void 0;
26
+ exports.handleShareChange = exports.handleShares = exports.handleChangeSummary = exports.handleGroupKeyQuery = exports.handleShapeChartPoints = exports.handleGroupKeyLabel = exports.handleFlattenGroupedResult = exports.handleFormatBucketLabel = exports.handleSplitDateInterval = exports.handleToChartNumber = exports.MAX_DATE_BUCKETS = exports.EMPTY_GROUP_LABEL = exports.OTHERS_LABEL = void 0;
27
27
  var dayjs_1 = __importDefault(require("../../dayjs"));
28
28
  exports.OTHERS_LABEL = "Others";
29
29
  exports.EMPTY_GROUP_LABEL = "No Value";
@@ -197,4 +197,54 @@ var handleGroupKeyQuery = function (columnId, key) { return [
197
197
  { type: "=", queryId: columnId, value: key !== null && key !== void 0 ? key : null },
198
198
  ]; };
199
199
  exports.handleGroupKeyQuery = handleGroupKeyQuery;
200
+ /**
201
+ * The last complete period against the one before it — the period still under
202
+ * way is left out, as a part-period would always read as a drop.
203
+ */
204
+ var handleChangeSummary = function (values, isComplete) {
205
+ var _a, _b;
206
+ var complete = values
207
+ .map(function (_, index) { return index; })
208
+ .filter(function (index) { return isComplete[index]; });
209
+ if (complete.length < 2)
210
+ return null;
211
+ var last = (_a = values[complete[complete.length - 1]]) !== null && _a !== void 0 ? _a : 0;
212
+ var previous = (_b = values[complete[complete.length - 2]]) !== null && _b !== void 0 ? _b : 0;
213
+ if (previous === 0)
214
+ return { direction: last > 0 ? "up" : last < 0 ? "down" : "flat", percent: null };
215
+ var percent = Math.round(((last - previous) / Math.abs(previous)) * 100);
216
+ return {
217
+ direction: percent > 0 ? "up" : percent < 0 ? "down" : "flat",
218
+ percent: percent,
219
+ };
220
+ };
221
+ exports.handleChangeSummary = handleChangeSummary;
222
+ /**
223
+ * Each period's value as a share of that period's total, in whole percent.
224
+ */
225
+ var handleShares = function (values, totals) {
226
+ return values.map(function (value, index) {
227
+ return totals[index] ? Math.round(((value !== null && value !== void 0 ? value : 0) / totals[index]) * 100) : 0;
228
+ });
229
+ };
230
+ exports.handleShares = handleShares;
231
+ /**
232
+ * The change in share between the last complete period and the one before,
233
+ * in percentage points — a share's own percentage change would read as a
234
+ * percent of a percent.
235
+ */
236
+ var handleShareChange = function (shares, isComplete) {
237
+ var complete = shares
238
+ .map(function (_, index) { return index; })
239
+ .filter(function (index) { return isComplete[index]; });
240
+ if (complete.length < 2)
241
+ return null;
242
+ var points = shares[complete[complete.length - 1]] -
243
+ shares[complete[complete.length - 2]];
244
+ return {
245
+ direction: points > 0 ? "up" : points < 0 ? "down" : "flat",
246
+ percent: points,
247
+ };
248
+ };
249
+ exports.handleShareChange = handleShareChange;
200
250
  //# sourceMappingURL=chartResults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chartResults.js","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartResults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartResults.js","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartResults.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Option } from "../../input/select";
2
2
  import { DataStructure } from "../dataTemplate/model";
3
- import { Charts } from "../dataTemplate/spaceModel";
3
+ import { ChartHighlight, Charts } from "../dataTemplate/spaceModel";
4
4
  import { WorkspaceDevSettings } from "../dataTemplate/workspaceModel";
5
5
  import { Query } from "../readQuery";
6
6
  export interface ChartDrillDown {
@@ -16,6 +16,7 @@ interface Props {
16
16
  structure?: DataStructure[];
17
17
  personOptions?: Option[];
18
18
  onDrillDown?: (drillDown: ChartDrillDown) => void;
19
+ onHighlightRow?: (chart: Charts, row: string, highlight: Omit<ChartHighlight, "row"> | null) => void;
19
20
  }
20
21
  /**
21
22
  * A chart drawn from new-style options — group by any column, date buckets,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/index.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAc,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAa,MAAM,cAAc,CAAC;AA2BhD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAGlD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD;AA6CD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,YAEgB,CAAC;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,OA8/CrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/index.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAc,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAEL,cAAc,EACd,MAAM,EACP,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAa,MAAM,cAAc,CAAC;AA+BhD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAGlD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAGlD,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,IAAI,KAC1C,IAAI,CAAC;CACX;AA6CD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,YAEgB,CAAC;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,OA+vDrC"}
@@ -85,6 +85,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
85
85
  exports.handleIsShapedChart = void 0;
86
86
  exports.DataGraph = DataGraph;
87
87
  var solid_1 = require("@heroicons/react/24/solid");
88
+ var outline_1 = require("@heroicons/react/24/outline");
88
89
  var axios_1 = __importDefault(require("axios"));
89
90
  var dayjs_1 = __importDefault(require("../../dayjs"));
90
91
  var react_1 = __importStar(require("react"));
@@ -98,6 +99,7 @@ var textButton_1 = require("../../action/textButton");
98
99
  var loading_1 = require("../../display/loading");
99
100
  var select_1 = require("../../input/select");
100
101
  var chartBuilder_1 = require("../dataTemplate/chartBuilder");
102
+ var spaceModel_1 = require("../dataTemplate/spaceModel");
101
103
  var readQuery_1 = require("../readQuery");
102
104
  var stories_1 = require("../stories");
103
105
  var utils_1 = require("../utils");
@@ -137,7 +139,8 @@ function DataGraph(props) {
137
139
  // INFO: a chart reading again — after a filter or range change — keeps its
138
140
  // last numbers on screen, dimmed, so they are not taken for the new ones
139
141
  var _f = (0, react_1.useState)({}), reloading = _f[0], setReloading = _f[1];
140
- var _g = (0, react_1.useState)({}), detailsOpen = _g[0], setDetailsOpen = _g[1];
142
+ var _g = (0, react_1.useState)(null), highlightBar = _g[0], setHighlightBar = _g[1];
143
+ var _h = (0, react_1.useState)({}), detailsOpen = _h[0], setDetailsOpen = _h[1];
141
144
  var oldGraphAnalyticsFilterRef = (0, react_1.useRef)({});
142
145
  // INFO: the latest load of each chart; an older answer arriving after a
143
146
  // newer one is dropped, so the builder preview never shows past settings
@@ -191,6 +194,15 @@ function DataGraph(props) {
191
194
  /* eslint-disable */
192
195
  }, [graphAnalyticsFilter]);
193
196
  /* eslint-enable */
197
+ // INFO: an open highlight bar closes on any click outside it; its own clicks
198
+ // and the button that opens it stop at themselves
199
+ (0, react_1.useEffect)(function () {
200
+ if (!highlightBar)
201
+ return;
202
+ var handleClose = function () { return setHighlightBar(null); };
203
+ window.addEventListener("click", handleClose);
204
+ return function () { return window.removeEventListener("click", handleClose); };
205
+ }, [highlightBar]);
194
206
  var handleIsGraphAnalyticsDataChanged = function (prevFilter, newFilter) {
195
207
  for (var key in newFilter) {
196
208
  if (!prevFilter[key] ||
@@ -1157,10 +1169,107 @@ function DataGraph(props) {
1157
1169
  handleUpdateChartData(index, dateRange);
1158
1170
  } }))));
1159
1171
  };
1172
+ // INFO: written out in full so Tailwind keeps every class in a consumer's build
1173
+ var HIGHLIGHT_ROW_CLASS = {
1174
+ red: "bg-red-50 text-red-700",
1175
+ amber: "bg-amber-50 text-amber-700",
1176
+ green: "bg-green-50 text-green-700",
1177
+ blue: "bg-blue-50 text-blue-700",
1178
+ purple: "bg-purple-50 text-purple-700",
1179
+ };
1180
+ var HIGHLIGHT_DOT_CLASS = {
1181
+ red: "bg-red-500",
1182
+ amber: "bg-amber-500",
1183
+ green: "bg-green-500",
1184
+ blue: "bg-blue-500",
1185
+ purple: "bg-purple-500",
1186
+ };
1187
+ var handleFindHighlight = function (item, row) { var _a; return ((_a = item.highlights) !== null && _a !== void 0 ? _a : []).find(function (each) { return each.row === row; }); };
1188
+ // INFO: the row's tint and weight, and the background its pinned label
1189
+ // needs so the tint carries under it
1190
+ var handleHighlightClass = function (item, row) {
1191
+ var _a;
1192
+ var highlight = handleFindHighlight(item, row);
1193
+ if (!highlight)
1194
+ return { row: "", label: "bg-white" };
1195
+ var colour = highlight.colour
1196
+ ? (_a = HIGHLIGHT_ROW_CLASS[highlight.colour]) !== null && _a !== void 0 ? _a : ""
1197
+ : "";
1198
+ var weight = highlight.bold ? "font-semibold" : "";
1199
+ return {
1200
+ row: "".concat(colour, " ").concat(weight),
1201
+ label: colour ? colour.split(" ")[0] : "bg-white",
1202
+ };
1203
+ };
1204
+ var handleSetHighlight = function (item, row, update) {
1205
+ var _a;
1206
+ setHighlightBar(null);
1207
+ (_a = props.onHighlightRow) === null || _a === void 0 ? void 0 : _a.call(props, item, row, update);
1208
+ };
1209
+ var renderHighlightBar = function (item, row) {
1210
+ var current = handleFindHighlight(item, row);
1211
+ return (react_1.default.createElement("div", {
1212
+ // INFO: opens beside the label, inside the row's own height — the card
1213
+ // clips what spills out of it, so a bar below the last row was cut off
1214
+ className: "absolute left-full top-1/2 z-20 ml-2 flex -translate-y-1/2 items-center gap-1.5 whitespace-nowrap rounded-md border border-gray-200 bg-white px-2 py-1 shadow-lg", "data-testid": "chart-highlight-bar", onClick: function (e) { return e.stopPropagation(); } },
1215
+ react_1.default.createElement("button", { type: "button", "aria-label": "Bold", className: "rounded px-1.5 text-sm font-bold ".concat((current === null || current === void 0 ? void 0 : current.bold) ? "bg-gray-200 text-gray-900" : "text-gray-600"), onClick: function () {
1216
+ return handleSetHighlight(item, row, {
1217
+ colour: current === null || current === void 0 ? void 0 : current.colour,
1218
+ bold: !(current === null || current === void 0 ? void 0 : current.bold) || undefined,
1219
+ });
1220
+ } }, "B"),
1221
+ spaceModel_1.CHART_HIGHLIGHT_COLOURS.map(function (eachColour) { return (react_1.default.createElement("button", { key: eachColour, type: "button", "aria-label": eachColour, className: "h-4 w-4 rounded-full ".concat(HIGHLIGHT_DOT_CLASS[eachColour], " ").concat((current === null || current === void 0 ? void 0 : current.colour) === eachColour
1222
+ ? "ring-2 ring-gray-400 ring-offset-1"
1223
+ : ""), onClick: function () {
1224
+ return handleSetHighlight(item, row, {
1225
+ colour: (current === null || current === void 0 ? void 0 : current.colour) === eachColour ? undefined : eachColour,
1226
+ bold: current === null || current === void 0 ? void 0 : current.bold,
1227
+ });
1228
+ } })); }),
1229
+ react_1.default.createElement("button", { type: "button", className: "ml-1 text-xs text-gray-500 hover:text-gray-800", onClick: function () { return handleSetHighlight(item, row, null); } }, "Clear")));
1230
+ };
1231
+ // INFO: a row's name — in the primary colour when it opens records, and with
1232
+ // the highlight control beside it for an editor
1233
+ var renderRowLabel = function (item, row, isClickable) {
1234
+ var isBarOpen = (highlightBar === null || highlightBar === void 0 ? void 0 : highlightBar.chart) === item.title && (highlightBar === null || highlightBar === void 0 ? void 0 : highlightBar.row) === row;
1235
+ return (react_1.default.createElement("span", { className: "relative inline-flex items-center gap-1.5" },
1236
+ react_1.default.createElement("span", { className: isClickable
1237
+ ? "text-primary-600 hover:underline"
1238
+ : "" }, row),
1239
+ props.onHighlightRow && row !== chartResults_1.OTHERS_LABEL && (react_1.default.createElement("button", { type: "button", "aria-label": "Highlight ".concat(row), className: "text-gray-400 hover:text-gray-700 ".concat(isBarOpen ? "" : "sm:opacity-0 sm:group-hover:opacity-100"), onClick: function (e) {
1240
+ e.stopPropagation();
1241
+ setHighlightBar(isBarOpen ? null : { chart: item.title, row: row });
1242
+ } },
1243
+ react_1.default.createElement(outline_1.SwatchIcon, { className: "h-3.5 w-3.5" }))),
1244
+ isBarOpen && renderHighlightBar(item, row)));
1245
+ };
1246
+ var renderChange = function (item, change, unit) {
1247
+ if (unit === void 0) { unit = "%"; }
1248
+ if (!change)
1249
+ return "–";
1250
+ var arrow = change.direction === "up" ? "▲" : change.direction === "down" ? "▼" : "";
1251
+ var isGood = item.higherIsBetter === undefined || change.direction === "flat"
1252
+ ? undefined
1253
+ : (change.direction === "up") === item.higherIsBetter;
1254
+ var colour = isGood === undefined
1255
+ ? "text-gray-500"
1256
+ : isGood
1257
+ ? "text-green-600"
1258
+ : "text-red-600";
1259
+ var amount = change.percent === null
1260
+ ? change.direction === "flat"
1261
+ ? "0".concat(unit)
1262
+ : "new"
1263
+ : "".concat(Math.abs(change.percent)).concat(unit);
1264
+ return (react_1.default.createElement("span", { className: "whitespace-nowrap ".concat(colour) },
1265
+ arrow ? "".concat(arrow, " ") : "",
1266
+ amount));
1267
+ };
1160
1268
  // INFO: the same points and segments turned on their side — one column per
1161
- // date bucket, one row per segment, each row and each date totalled
1269
+ // date bucket, one row per segment, each row and each date totalled, with
1270
+ // the last complete bucket against the one before it in Change
1162
1271
  var renderDatesAcrossTable = function (item, points, segments, handleFormat, showTotal) {
1163
- var _a, _b, _c, _d;
1272
+ var _a, _b, _c, _d, _e;
1164
1273
  var canDrill = !!props.onDrillDown;
1165
1274
  var measureColumn = handleFindColumn((_a = item.queryAttributeId) === null || _a === void 0 ? void 0 : _a[0]);
1166
1275
  var measureLabel = item.queryBaseType === "sum" || item.queryBaseType === "avg"
@@ -1169,33 +1278,68 @@ function DataGraph(props) {
1169
1278
  var rows = segments !== null && segments !== void 0 ? segments : [
1170
1279
  { name: measureLabel, data: points.map(function (eachPoint) { return eachPoint.y; }) },
1171
1280
  ];
1281
+ // INFO: a bucket whose end is still ahead is under way — its count is a
1282
+ // part-period, so it is marked and left out of Change
1283
+ var now = Date.now();
1284
+ var isComplete = points.map(function (eachPoint) {
1285
+ var _a, _b, _c;
1286
+ var end = ((_c = (_b = (_a = eachPoint.query) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : [])[1];
1287
+ return !end || (0, dayjs_1.default)(end).valueOf() <= now;
1288
+ });
1289
+ var showChange = points.length > 2 && !item.cumulative;
1290
+ // INFO: a share only means something across several rows, so a single
1291
+ // unsplit row keeps its counts
1292
+ var display = segments ? (_e = item.valueDisplay) !== null && _e !== void 0 ? _e : "count" : "count";
1293
+ var periodTotals = points.map(function (eachPoint) { return eachPoint.y; });
1294
+ var grandTotal = periodTotals.reduce(function (sum, each) { return sum + each; }, 0);
1295
+ var handleCell = function (value, total) {
1296
+ var share = total ? Math.round((value / total) * 100) : 0;
1297
+ if (display === "percent")
1298
+ return "".concat(share, "%");
1299
+ if (display === "both")
1300
+ return "".concat(handleFormat(value), " \u00B7 ").concat(share, "%");
1301
+ return handleFormat(value);
1302
+ };
1303
+ var handleRowChange = function (data) {
1304
+ return display === "percent"
1305
+ ? renderChange(item, (0, chartResults_1.handleShareChange)((0, chartResults_1.handleShares)(data, periodTotals), isComplete), " pts")
1306
+ : renderChange(item, (0, chartResults_1.handleChangeSummary)(data, isComplete));
1307
+ };
1172
1308
  // INFO: the row names stay in view while the dates scroll sideways
1173
- var pinnedClass = "sticky left-0 z-10 bg-white";
1309
+ var pinnedClass = "sticky left-0 z-10";
1174
1310
  var handleRowTotal = function (data) {
1175
1311
  return Math.round(data.reduce(function (sum, each) { return sum + each; }, 0) * 100) / 100;
1176
1312
  };
1177
1313
  return (react_1.default.createElement("table", { className: "min-w-full divide-y divide-gray-200 text-sm" },
1178
1314
  react_1.default.createElement("thead", null,
1179
1315
  react_1.default.createElement("tr", null,
1180
- react_1.default.createElement("th", { className: pinnedClass }),
1181
- points.map(function (eachPoint, pointIndex) { return (react_1.default.createElement("th", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: "whitespace-nowrap py-2 pl-4 text-right font-medium text-gray-500 ".concat(canDrill && eachPoint.query
1182
- ? "cursor-pointer hover:text-gray-900"
1183
- : ""), onClick: function () {
1316
+ react_1.default.createElement("th", { className: "".concat(pinnedClass, " bg-white") }),
1317
+ points.map(function (eachPoint, pointIndex) { return (react_1.default.createElement("th", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: "whitespace-nowrap py-2 pl-4 text-right font-medium ".concat(canDrill && eachPoint.query
1318
+ ? "cursor-pointer text-primary-600 hover:underline"
1319
+ : "text-gray-500"), onClick: function () {
1184
1320
  return eachPoint.query && handleDrillDown(item, eachPoint);
1185
- } }, eachPoint.x)); }),
1186
- showTotal && (react_1.default.createElement("th", { className: "py-2 pl-4 text-right font-medium text-gray-500" }, "Total")))),
1187
- react_1.default.createElement("tbody", { className: "divide-y divide-gray-100" }, rows.map(function (eachRow) { return (react_1.default.createElement("tr", { key: eachRow.name },
1188
- react_1.default.createElement("td", { className: "".concat(pinnedClass, " whitespace-nowrap py-2 pr-4 text-gray-600") }, eachRow.name),
1189
- points.map(function (eachPoint, pointIndex) {
1190
- var _a;
1191
- return (react_1.default.createElement("td", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: "py-2 pl-4 text-right text-gray-700" }, handleFormat((_a = eachRow.data[pointIndex]) !== null && _a !== void 0 ? _a : 0)));
1192
- }),
1193
- showTotal && (react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-medium text-gray-900" }, handleFormat(handleRowTotal(eachRow.data)))))); })),
1321
+ } },
1322
+ eachPoint.x,
1323
+ !isComplete[pointIndex] && (react_1.default.createElement("span", { className: "block text-xs font-normal text-gray-400" }, "so far")))); }),
1324
+ showTotal && (react_1.default.createElement("th", { className: "py-2 pl-4 text-right font-medium text-gray-500" }, "Total")),
1325
+ showChange && (react_1.default.createElement("th", { className: "py-2 pl-4 text-right font-medium text-gray-500" }, "Change")))),
1326
+ react_1.default.createElement("tbody", { className: "divide-y divide-gray-100" }, rows.map(function (eachRow) {
1327
+ var highlight = handleHighlightClass(item, eachRow.name);
1328
+ return (react_1.default.createElement("tr", { key: eachRow.name, className: "group ".concat(highlight.row), "data-testid": "chart-row-".concat(eachRow.name) },
1329
+ react_1.default.createElement("td", { className: "".concat(pinnedClass, " ").concat(highlight.label, " whitespace-nowrap py-2 pr-4 ").concat(highlight.row ? "" : "text-gray-600") }, renderRowLabel(item, eachRow.name, false)),
1330
+ points.map(function (eachPoint, pointIndex) {
1331
+ var _a;
1332
+ return (react_1.default.createElement("td", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: "py-2 pl-4 text-right ".concat(highlight.row ? "" : "text-gray-700") }, handleCell((_a = eachRow.data[pointIndex]) !== null && _a !== void 0 ? _a : 0, periodTotals[pointIndex])));
1333
+ }),
1334
+ showTotal && (react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-medium text-gray-900" }, handleCell(handleRowTotal(eachRow.data), grandTotal))),
1335
+ showChange && (react_1.default.createElement("td", { className: "py-2 pl-4 text-right" }, handleRowChange(eachRow.data)))));
1336
+ })),
1194
1337
  showTotal && segments && (react_1.default.createElement("tfoot", null,
1195
1338
  react_1.default.createElement("tr", { className: "border-t border-gray-300" },
1196
- react_1.default.createElement("td", { className: "".concat(pinnedClass, " py-2 pr-4 font-semibold text-gray-900") }, "Total"),
1197
- points.map(function (eachPoint, pointIndex) { return (react_1.default.createElement("td", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: "py-2 pl-4 text-right font-semibold text-gray-900" }, handleFormat(eachPoint.y))); }),
1198
- react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-semibold text-gray-900" }, handleFormat(handleRowTotal(points.map(function (eachPoint) { return eachPoint.y; })))))))));
1339
+ react_1.default.createElement("td", { className: "".concat(pinnedClass, " bg-white py-2 pr-4 font-semibold text-gray-900") }, "Total"),
1340
+ points.map(function (eachPoint, pointIndex) { return (react_1.default.createElement("td", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: "py-2 pl-4 text-right font-semibold text-gray-900" }, handleCell(eachPoint.y, eachPoint.y))); }),
1341
+ react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-semibold text-gray-900" }, handleCell(grandTotal, grandTotal)),
1342
+ showChange && (react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-semibold" }, renderChange(item, (0, chartResults_1.handleChangeSummary)(points.map(function (eachPoint) { return eachPoint.y; }), isComplete)))))))));
1199
1343
  };
1200
1344
  var renderTableChart = function (item, points, index, customDate, segments) {
1201
1345
  var total = points.reduce(function (sum, eachPoint) { return sum + eachPoint.y; }, 0);
@@ -1214,17 +1358,19 @@ function DataGraph(props) {
1214
1358
  react_1.default.createElement("th", null),
1215
1359
  segments.map(function (eachSegment) { return (react_1.default.createElement("th", { key: eachSegment.name, className: "py-2 pl-4 text-right font-medium text-gray-500" }, eachSegment.name)); }),
1216
1360
  react_1.default.createElement("th", { className: "py-2 pl-4 text-right font-medium text-gray-500" }, "Total")))),
1217
- react_1.default.createElement("tbody", { className: "divide-y divide-gray-100" }, points.map(function (eachPoint, pointIndex) { return (react_1.default.createElement("tr", { key: "".concat(pointIndex, "-").concat(eachPoint.x), className: canDrill && eachPoint.query
1218
- ? "cursor-pointer hover:bg-gray-50"
1219
- : "", onClick: function () {
1220
- return eachPoint.query && handleDrillDown(item, eachPoint);
1221
- } },
1222
- react_1.default.createElement("td", { className: "py-2 pr-4 text-gray-600" }, eachPoint.x), segments === null || segments === void 0 ? void 0 :
1223
- segments.map(function (eachSegment) {
1224
- var _a;
1225
- return (react_1.default.createElement("td", { key: eachSegment.name, className: "py-2 pl-4 text-right text-gray-700" }, handleFormat((_a = eachSegment.data[pointIndex]) !== null && _a !== void 0 ? _a : 0)));
1226
- }),
1227
- react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-medium text-gray-900" }, handleFormat(eachPoint.y)))); })),
1361
+ react_1.default.createElement("tbody", { className: "divide-y divide-gray-100" }, points.map(function (eachPoint, pointIndex) {
1362
+ var highlight = handleHighlightClass(item, eachPoint.x);
1363
+ var isClickable = canDrill && !!eachPoint.query;
1364
+ return (react_1.default.createElement("tr", { key: "".concat(pointIndex, "-").concat(eachPoint.x), "data-testid": "chart-row-".concat(eachPoint.x), className: "group ".concat(highlight.row, " ").concat(isClickable ? "cursor-pointer hover:bg-gray-50" : ""), onClick: function () {
1365
+ return eachPoint.query && handleDrillDown(item, eachPoint);
1366
+ } },
1367
+ react_1.default.createElement("td", { className: "py-2 pr-4 ".concat(highlight.row ? "" : "text-gray-600") }, renderRowLabel(item, eachPoint.x, isClickable)), segments === null || segments === void 0 ? void 0 :
1368
+ segments.map(function (eachSegment) {
1369
+ var _a;
1370
+ return (react_1.default.createElement("td", { key: eachSegment.name, className: "py-2 pl-4 text-right text-gray-700" }, handleFormat((_a = eachSegment.data[pointIndex]) !== null && _a !== void 0 ? _a : 0)));
1371
+ }),
1372
+ react_1.default.createElement("td", { className: "py-2 pl-4 text-right font-medium text-gray-900" }, handleFormat(eachPoint.y))));
1373
+ })),
1228
1374
  showTotal && !isPercent && (react_1.default.createElement("tfoot", null,
1229
1375
  react_1.default.createElement("tr", { className: "border-t border-gray-300" },
1230
1376
  react_1.default.createElement("td", { className: "py-2 pr-4 font-semibold text-gray-900" }, "Total"), segments === null || segments === void 0 ? void 0 :