@ammarkhalidfarooq/dashboard-package 0.6.71 → 0.6.72

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.cjs.js CHANGED
@@ -2162,6 +2162,21 @@ var DonorGeographyPanel = function DonorGeographyPanel(_ref9) {
2162
2162
  })
2163
2163
  });
2164
2164
  };
2165
+ var formatDonationTypeCategory = function formatDonationTypeCategory(label, slotWidth) {
2166
+ var str = String(label !== null && label !== void 0 ? label : "").trim();
2167
+ if (!str) return "";
2168
+ var monthRange = str.match(/^([A-Za-z]{3})-([A-Za-z]{3})(?:\s+\d{2,4})?$/);
2169
+ if (monthRange) {
2170
+ var full = "".concat(monthRange[1], "-").concat(monthRange[2]);
2171
+ var mini = "".concat(monthRange[1][0], "-").concat(monthRange[2][0]);
2172
+ var fullWidth = full.length * 3.1;
2173
+ return fullWidth <= slotWidth - 2 ? full : mini;
2174
+ }
2175
+ var noYear = str.replace(/\s+['']?\d{2,4}$/, "").trim();
2176
+ var maxChars = Math.max(3, Math.floor(slotWidth / 3.1));
2177
+ if (noYear.length <= maxChars) return noYear;
2178
+ return "".concat(noYear.slice(0, Math.max(1, maxChars - 1)), "\u2026");
2179
+ };
2165
2180
  var DonationTypeBarSvg = function DonationTypeBarSvg(_ref0) {
2166
2181
  var _ref0$categories = _ref0.categories,
2167
2182
  categories = _ref0$categories === void 0 ? [] : _ref0$categories,
@@ -2178,13 +2193,15 @@ var DonationTypeBarSvg = function DonationTypeBarSvg(_ref0) {
2178
2193
  var padL = 30;
2179
2194
  var padR = 2;
2180
2195
  var padT = 14;
2181
- var padB = 18;
2196
+ var padB = 20;
2182
2197
  var chartW = width - padL - padR;
2183
2198
  var chartH = height - padT - padB;
2184
2199
  var allVals = [].concat(_toConsumableArray(recurring), _toConsumableArray(oneTime));
2185
2200
  var maxVal = Math.max.apply(Math, _toConsumableArray(allVals).concat([0])) || 1;
2186
2201
  var n = categories.length;
2187
2202
  var yTicks = [0, maxVal / 2, maxVal];
2203
+ var groupW = n > 0 ? chartW / n : chartW;
2204
+ var labelFontSize = n > 3 ? 5 : 5.5;
2188
2205
  if (!n) {
2189
2206
  return /*#__PURE__*/jsxRuntime.jsxs("svg", {
2190
2207
  width: "100%",
@@ -2209,7 +2226,6 @@ var DonationTypeBarSvg = function DonationTypeBarSvg(_ref0) {
2209
2226
  })]
2210
2227
  });
2211
2228
  }
2212
- var groupW = chartW / n;
2213
2229
  var barW = Math.min(groupW * 0.3, 12);
2214
2230
  var baseY = padT + chartH;
2215
2231
  return /*#__PURE__*/jsxRuntime.jsxs("svg", {
@@ -2219,7 +2235,19 @@ var DonationTypeBarSvg = function DonationTypeBarSvg(_ref0) {
2219
2235
  style: {
2220
2236
  display: "block"
2221
2237
  },
2222
- children: [yTicks.map(function (tick, i) {
2238
+ children: [/*#__PURE__*/jsxRuntime.jsx("defs", {
2239
+ children: categories.map(function (_, i) {
2240
+ return /*#__PURE__*/jsxRuntime.jsx("clipPath", {
2241
+ id: "donation-type-cat-clip-".concat(i),
2242
+ children: /*#__PURE__*/jsxRuntime.jsx("rect", {
2243
+ x: padL + i * groupW,
2244
+ y: baseY + 2,
2245
+ width: groupW,
2246
+ height: padB - 2
2247
+ })
2248
+ }, "clip-".concat(i));
2249
+ })
2250
+ }), yTicks.map(function (tick, i) {
2223
2251
  var y = padT + chartH - tick / maxVal * chartH;
2224
2252
  return /*#__PURE__*/jsxRuntime.jsxs("g", {
2225
2253
  children: [/*#__PURE__*/jsxRuntime.jsx("line", {
@@ -2283,11 +2311,12 @@ var DonationTypeBarSvg = function DonationTypeBarSvg(_ref0) {
2283
2311
  })]
2284
2312
  }), /*#__PURE__*/jsxRuntime.jsx("text", {
2285
2313
  x: groupX,
2286
- y: height - 4,
2314
+ y: height - 5,
2287
2315
  textAnchor: "middle",
2288
- fontSize: 7.5,
2316
+ fontSize: labelFontSize,
2289
2317
  fill: "rgba(0,0,0,0.4)",
2290
- children: cat
2318
+ clipPath: "url(#donation-type-cat-clip-".concat(i, ")"),
2319
+ children: formatDonationTypeCategory(cat, groupW)
2291
2320
  })]
2292
2321
  }, "bar-".concat(i));
2293
2322
  })]