@algorithm-shift/design-system 1.2.80 → 1.2.81

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
@@ -27848,7 +27848,8 @@ function useLazyDropdown(config) {
27848
27848
  hasMore,
27849
27849
  loadMore,
27850
27850
  search,
27851
- reset
27851
+ reset,
27852
+ loadPage
27852
27853
  };
27853
27854
  }
27854
27855
 
@@ -27880,7 +27881,8 @@ function LazySelectDropdown({
27880
27881
  hasMore,
27881
27882
  loadMore,
27882
27883
  search,
27883
- reset
27884
+ reset,
27885
+ loadPage
27884
27886
  } = useLazyDropdown({
27885
27887
  enabled: true,
27886
27888
  dataSource: source || "",
@@ -27925,6 +27927,7 @@ function LazySelectDropdown({
27925
27927
  };
27926
27928
  const handleFocus = () => {
27927
27929
  if (!disabled) setIsOpen(true);
27930
+ loadPage(1, "");
27928
27931
  };
27929
27932
  return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { ref: dropdownRef, className: "relative w-full", children: [
27930
27933
  /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
@@ -28894,10 +28897,13 @@ var MultiSelect = ({
28894
28897
  );
28895
28898
  };
28896
28899
  const selectedLabels = React8.useMemo(
28897
- () => data?.filter((opt) => value.includes(opt.value)).map((opt) => opt.label),
28900
+ () => {
28901
+ if (!data || !value) return [];
28902
+ return data?.filter((opt) => value.includes(opt.value)).map((opt) => opt.label);
28903
+ },
28898
28904
  [data, value]
28899
28905
  );
28900
- const options = data?.map((item) => ({
28906
+ const options = data && data?.map((item) => ({
28901
28907
  value: item[dataKey],
28902
28908
  label: item[dataLabel]
28903
28909
  }));
@@ -29059,8 +29065,13 @@ var import_react_table = require("@tanstack/react-table");
29059
29065
  // src/lib/table/cellRendererFactory.tsx
29060
29066
  var import_image3 = __toESM(require("next/image"));
29061
29067
 
29062
- // src/lib/table/valueFormatter.ts
29068
+ // src/lib/dayjs-setup.ts
29063
29069
  var import_dayjs = __toESM(require("dayjs"));
29070
+ var import_utc = __toESM(require("dayjs/plugin/utc"));
29071
+ import_dayjs.default.extend(import_utc.default);
29072
+ var dayjs_setup_default = import_dayjs.default;
29073
+
29074
+ // src/lib/table/valueFormatter.ts
29064
29075
  var valueFormatter = (value, format2, customFormatters = {}) => {
29065
29076
  if (!format2) return value;
29066
29077
  if (value == null) return "";
@@ -29071,11 +29082,18 @@ var valueFormatter = (value, format2, customFormatters = {}) => {
29071
29082
  const [type, arg] = format2.split(":");
29072
29083
  switch (type) {
29073
29084
  case "date":
29074
- return (0, import_dayjs.default)(value).format(arg || "YYYY-MM-DD");
29085
+ return dayjs_setup_default(value).format(arg || "YYYY-MM-DD");
29075
29086
  case "datetime":
29076
- return (0, import_dayjs.default)(value).format(arg || "YYYY-MM-DD HH:mm:ss");
29087
+ const parsed = dayjs_setup_default(value).isValid() ? dayjs_setup_default(value).utc() : dayjs_setup_default(value);
29088
+ return parsed.format("YYYY-MM-DD hh:mm");
29089
+ case "days":
29090
+ return dayjs_setup_default().diff(dayjs_setup_default(value), "day");
29091
+ case "months":
29092
+ return dayjs_setup_default().diff(dayjs_setup_default(value), "month");
29093
+ case "years":
29094
+ return dayjs_setup_default().diff(dayjs_setup_default(value), "year");
29077
29095
  case "time":
29078
- return (0, import_dayjs.default)(value).format(arg || "HH:mm");
29096
+ return dayjs_setup_default(value).format("HH:mm");
29079
29097
  case "number":
29080
29098
  return Number(value).toFixed(parseInt(arg || "2"));
29081
29099
  case "currency":
@@ -29132,9 +29150,9 @@ var cellRendererFactory = (renderer, rendererProps, value, row, customRenderers
29132
29150
  case "text":
29133
29151
  return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: row?.[rendererProps?.rowField] || formattedValue });
29134
29152
  case "number":
29135
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "tabular-nums text-right", children: valueFormatter(row?.[rendererProps?.rowField] || formattedValue, "number:2") });
29153
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "tabular-nums text-right", children: valueFormatter(row?.[rendererProps?.rowField] || value, "number:2") });
29136
29154
  case "date":
29137
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: valueFormatter(row?.[rendererProps?.rowField] || formattedValue, "date:DD MMM YYYY") });
29155
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: valueFormatter(row?.[rendererProps?.rowField] || value, format2) });
29138
29156
  case "link":
29139
29157
  return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
29140
29158
  "a",
@@ -29269,10 +29287,23 @@ var cellRendererFactory = (renderer, rendererProps, value, row, customRenderers
29269
29287
 
29270
29288
  // src/lib/table/useDynamicColumns.ts
29271
29289
  var columnHelper = (0, import_react_table.createColumnHelper)();
29290
+ function getValueByPath(obj, path) {
29291
+ return path.split(".").reduce((acc, key) => acc?.[key], obj);
29292
+ }
29272
29293
  var useDynamicColumns = (config, customRenderers = {}, customFormatters = {}) => {
29273
- return config.columns.map(
29274
- (col) => columnHelper.accessor(col.accessorKey ?? col.id, {
29275
- id: col.accessorKey ?? col.id,
29294
+ return config.columns.map((col) => {
29295
+ const accessorKey = col.accessorKey ?? col.id;
29296
+ const accessorFn = (row) => {
29297
+ if (Object.prototype.hasOwnProperty.call(row, accessorKey)) {
29298
+ return row[accessorKey];
29299
+ }
29300
+ if (accessorKey.includes(".")) {
29301
+ return getValueByPath(row, accessorKey);
29302
+ }
29303
+ return row[accessorKey];
29304
+ };
29305
+ return columnHelper.accessor(accessorFn, {
29306
+ id: accessorKey,
29276
29307
  header: col.header,
29277
29308
  cell: (info) => {
29278
29309
  const value = info.getValue();
@@ -29287,8 +29318,8 @@ var useDynamicColumns = (config, customRenderers = {}, customFormatters = {}) =>
29287
29318
  customFormatters
29288
29319
  );
29289
29320
  }
29290
- })
29291
- );
29321
+ });
29322
+ });
29292
29323
  };
29293
29324
 
29294
29325
  // src/components/ui/data-table.tsx
@@ -30088,10 +30119,7 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStag
30088
30119
  {
30089
30120
  className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm",
30090
30121
  onClick: () => {
30091
- const activeStage = stages?.find((stage) => stage.isActive);
30092
- if (activeStage && onStageChange) {
30093
- onStageChange("completed");
30094
- }
30122
+ onStageChange?.("completed");
30095
30123
  },
30096
30124
  children: buttonText
30097
30125
  }