@optifye/dashboard-core 6.10.44 → 6.10.46

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.
package/dist/index.js CHANGED
@@ -30331,9 +30331,9 @@ var HourlyOutputChartComponent = ({
30331
30331
  return { interval: 0, angle: -45, height: 92, tickFont: 10, tickMargin: 12 };
30332
30332
  }
30333
30333
  if (containerWidth >= 760) {
30334
- return { interval: 1, angle: -35, height: 76, tickFont: 9, tickMargin: 8 };
30334
+ return { interval: 0, angle: -35, height: 76, tickFont: 9, tickMargin: 8 };
30335
30335
  }
30336
- return { interval: 2, angle: -30, height: 64, tickFont: 9, tickMargin: 6 };
30336
+ return { interval: 0, angle: -30, height: 64, tickFont: 9, tickMargin: 6 };
30337
30337
  }, [containerWidth]);
30338
30338
  const formatHour = React26__namespace.default.useCallback((hourIndex) => {
30339
30339
  const isLastHour = hourIndex === SHIFT_DURATION - 1;
@@ -30544,7 +30544,7 @@ var HourlyOutputChartComponent = ({
30544
30544
  right: 10,
30545
30545
  bottom: 10,
30546
30546
  // Small bottom margin
30547
- left: 0
30547
+ left: 6
30548
30548
  },
30549
30549
  barCategoryGap: "25%",
30550
30550
  children: [
@@ -30566,7 +30566,7 @@ var HourlyOutputChartComponent = ({
30566
30566
  {
30567
30567
  yAxisId: "default",
30568
30568
  tickMargin: 8,
30569
- width: 35,
30569
+ width: 48,
30570
30570
  domain: [0, maxYValue],
30571
30571
  ticks: generateYAxisTicks(),
30572
30572
  tickFormatter: (value) => value,
@@ -30575,7 +30575,7 @@ var HourlyOutputChartComponent = ({
30575
30575
  return /* @__PURE__ */ jsxRuntime.jsx("g", { transform: `translate(${x},${y})`, children: /* @__PURE__ */ jsxRuntime.jsx(
30576
30576
  "text",
30577
30577
  {
30578
- x: 0,
30578
+ x: -2,
30579
30579
  y: 0,
30580
30580
  dy: 4,
30581
30581
  textAnchor: "end",
@@ -32567,13 +32567,37 @@ var HourlyUptimeChartComponent = ({
32567
32567
  }, []);
32568
32568
  const xAxisConfig = React26__namespace.default.useMemo(() => {
32569
32569
  if (containerWidth >= 960) {
32570
- return { interval: 0, angle: -45, height: 92, tickFont: 10, tickMargin: 12 };
32570
+ return { interval: 0, angle: -45, height: 92, tickFont: 10, tickMargin: 12, labelMode: "full" };
32571
32571
  }
32572
32572
  if (containerWidth >= 760) {
32573
- return { interval: 1, angle: -35, height: 76, tickFont: 9, tickMargin: 8 };
32573
+ return { interval: 0, angle: -35, height: 76, tickFont: 9, tickMargin: 8, labelMode: "compact" };
32574
32574
  }
32575
- return { interval: 2, angle: -30, height: 64, tickFont: 9, tickMargin: 6 };
32575
+ return { interval: 0, angle: -30, height: 64, tickFont: 9, tickMargin: 6, labelMode: "start" };
32576
32576
  }, [containerWidth]);
32577
+ const formatXAxisTick = React26__namespace.default.useCallback((raw) => {
32578
+ const label = typeof raw === "string" ? raw : String(raw);
32579
+ if (xAxisConfig.labelMode === "full") return label;
32580
+ const parts = label.split("-");
32581
+ if (parts.length !== 2) return label;
32582
+ const parsePart = (part) => {
32583
+ const match = part.match(/^(\d{1,2})(?::(\d{2}))?(AM|PM)$/);
32584
+ if (!match) return null;
32585
+ const [, hh, mm, meridiem] = match;
32586
+ const time2 = mm ? `${hh}:${mm}` : hh;
32587
+ const merShort = meridiem === "AM" ? "A" : "P";
32588
+ return { time: time2, meridiem, merShort };
32589
+ };
32590
+ const start = parsePart(parts[0]);
32591
+ const end = parsePart(parts[1]);
32592
+ if (!start || !end) return label;
32593
+ if (xAxisConfig.labelMode === "start") {
32594
+ return `${start.time}${start.merShort}`;
32595
+ }
32596
+ if (start.meridiem === end.meridiem) {
32597
+ return `${start.time}-${end.time}${end.merShort}`;
32598
+ }
32599
+ return `${start.time}${start.merShort}-${end.time}${end.merShort}`;
32600
+ }, [xAxisConfig.labelMode]);
32577
32601
  if (!hasAggregateData && !uptimeSeries.hasData) {
32578
32602
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `w-full h-full flex items-center justify-center text-sm text-gray-500 ${className}`, children: "No uptime data available." });
32579
32603
  }
@@ -32611,7 +32635,8 @@ var HourlyUptimeChartComponent = ({
32611
32635
  angle: xAxisConfig.angle,
32612
32636
  textAnchor: "end",
32613
32637
  tickMargin: xAxisConfig.tickMargin,
32614
- height: xAxisConfig.height
32638
+ height: xAxisConfig.height,
32639
+ tickFormatter: formatXAxisTick
32615
32640
  }
32616
32641
  ),
32617
32642
  /* @__PURE__ */ jsxRuntime.jsx(
package/dist/index.mjs CHANGED
@@ -30302,9 +30302,9 @@ var HourlyOutputChartComponent = ({
30302
30302
  return { interval: 0, angle: -45, height: 92, tickFont: 10, tickMargin: 12 };
30303
30303
  }
30304
30304
  if (containerWidth >= 760) {
30305
- return { interval: 1, angle: -35, height: 76, tickFont: 9, tickMargin: 8 };
30305
+ return { interval: 0, angle: -35, height: 76, tickFont: 9, tickMargin: 8 };
30306
30306
  }
30307
- return { interval: 2, angle: -30, height: 64, tickFont: 9, tickMargin: 6 };
30307
+ return { interval: 0, angle: -30, height: 64, tickFont: 9, tickMargin: 6 };
30308
30308
  }, [containerWidth]);
30309
30309
  const formatHour = React26__default.useCallback((hourIndex) => {
30310
30310
  const isLastHour = hourIndex === SHIFT_DURATION - 1;
@@ -30515,7 +30515,7 @@ var HourlyOutputChartComponent = ({
30515
30515
  right: 10,
30516
30516
  bottom: 10,
30517
30517
  // Small bottom margin
30518
- left: 0
30518
+ left: 6
30519
30519
  },
30520
30520
  barCategoryGap: "25%",
30521
30521
  children: [
@@ -30537,7 +30537,7 @@ var HourlyOutputChartComponent = ({
30537
30537
  {
30538
30538
  yAxisId: "default",
30539
30539
  tickMargin: 8,
30540
- width: 35,
30540
+ width: 48,
30541
30541
  domain: [0, maxYValue],
30542
30542
  ticks: generateYAxisTicks(),
30543
30543
  tickFormatter: (value) => value,
@@ -30546,7 +30546,7 @@ var HourlyOutputChartComponent = ({
30546
30546
  return /* @__PURE__ */ jsx("g", { transform: `translate(${x},${y})`, children: /* @__PURE__ */ jsx(
30547
30547
  "text",
30548
30548
  {
30549
- x: 0,
30549
+ x: -2,
30550
30550
  y: 0,
30551
30551
  dy: 4,
30552
30552
  textAnchor: "end",
@@ -32538,13 +32538,37 @@ var HourlyUptimeChartComponent = ({
32538
32538
  }, []);
32539
32539
  const xAxisConfig = React26__default.useMemo(() => {
32540
32540
  if (containerWidth >= 960) {
32541
- return { interval: 0, angle: -45, height: 92, tickFont: 10, tickMargin: 12 };
32541
+ return { interval: 0, angle: -45, height: 92, tickFont: 10, tickMargin: 12, labelMode: "full" };
32542
32542
  }
32543
32543
  if (containerWidth >= 760) {
32544
- return { interval: 1, angle: -35, height: 76, tickFont: 9, tickMargin: 8 };
32544
+ return { interval: 0, angle: -35, height: 76, tickFont: 9, tickMargin: 8, labelMode: "compact" };
32545
32545
  }
32546
- return { interval: 2, angle: -30, height: 64, tickFont: 9, tickMargin: 6 };
32546
+ return { interval: 0, angle: -30, height: 64, tickFont: 9, tickMargin: 6, labelMode: "start" };
32547
32547
  }, [containerWidth]);
32548
+ const formatXAxisTick = React26__default.useCallback((raw) => {
32549
+ const label = typeof raw === "string" ? raw : String(raw);
32550
+ if (xAxisConfig.labelMode === "full") return label;
32551
+ const parts = label.split("-");
32552
+ if (parts.length !== 2) return label;
32553
+ const parsePart = (part) => {
32554
+ const match = part.match(/^(\d{1,2})(?::(\d{2}))?(AM|PM)$/);
32555
+ if (!match) return null;
32556
+ const [, hh, mm, meridiem] = match;
32557
+ const time2 = mm ? `${hh}:${mm}` : hh;
32558
+ const merShort = meridiem === "AM" ? "A" : "P";
32559
+ return { time: time2, meridiem, merShort };
32560
+ };
32561
+ const start = parsePart(parts[0]);
32562
+ const end = parsePart(parts[1]);
32563
+ if (!start || !end) return label;
32564
+ if (xAxisConfig.labelMode === "start") {
32565
+ return `${start.time}${start.merShort}`;
32566
+ }
32567
+ if (start.meridiem === end.meridiem) {
32568
+ return `${start.time}-${end.time}${end.merShort}`;
32569
+ }
32570
+ return `${start.time}${start.merShort}-${end.time}${end.merShort}`;
32571
+ }, [xAxisConfig.labelMode]);
32548
32572
  if (!hasAggregateData && !uptimeSeries.hasData) {
32549
32573
  return /* @__PURE__ */ jsx("div", { className: `w-full h-full flex items-center justify-center text-sm text-gray-500 ${className}`, children: "No uptime data available." });
32550
32574
  }
@@ -32582,7 +32606,8 @@ var HourlyUptimeChartComponent = ({
32582
32606
  angle: xAxisConfig.angle,
32583
32607
  textAnchor: "end",
32584
32608
  tickMargin: xAxisConfig.tickMargin,
32585
- height: xAxisConfig.height
32609
+ height: xAxisConfig.height,
32610
+ tickFormatter: formatXAxisTick
32586
32611
  }
32587
32612
  ),
32588
32613
  /* @__PURE__ */ jsx(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optifye/dashboard-core",
3
- "version": "6.10.44",
3
+ "version": "6.10.46",
4
4
  "description": "Reusable UI & logic for Optifye dashboard",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",