@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.mjs CHANGED
@@ -27751,7 +27751,8 @@ function useLazyDropdown(config) {
27751
27751
  hasMore,
27752
27752
  loadMore,
27753
27753
  search,
27754
- reset
27754
+ reset,
27755
+ loadPage
27755
27756
  };
27756
27757
  }
27757
27758
 
@@ -27783,7 +27784,8 @@ function LazySelectDropdown({
27783
27784
  hasMore,
27784
27785
  loadMore,
27785
27786
  search,
27786
- reset
27787
+ reset,
27788
+ loadPage
27787
27789
  } = useLazyDropdown({
27788
27790
  enabled: true,
27789
27791
  dataSource: source || "",
@@ -27828,6 +27830,7 @@ function LazySelectDropdown({
27828
27830
  };
27829
27831
  const handleFocus = () => {
27830
27832
  if (!disabled) setIsOpen(true);
27833
+ loadPage(1, "");
27831
27834
  };
27832
27835
  return /* @__PURE__ */ jsxs18("div", { ref: dropdownRef, className: "relative w-full", children: [
27833
27836
  /* @__PURE__ */ jsx36(
@@ -28797,10 +28800,13 @@ var MultiSelect = ({
28797
28800
  );
28798
28801
  };
28799
28802
  const selectedLabels = React8.useMemo(
28800
- () => data?.filter((opt) => value.includes(opt.value)).map((opt) => opt.label),
28803
+ () => {
28804
+ if (!data || !value) return [];
28805
+ return data?.filter((opt) => value.includes(opt.value)).map((opt) => opt.label);
28806
+ },
28801
28807
  [data, value]
28802
28808
  );
28803
- const options = data?.map((item) => ({
28809
+ const options = data && data?.map((item) => ({
28804
28810
  value: item[dataKey],
28805
28811
  label: item[dataLabel]
28806
28812
  }));
@@ -28968,8 +28974,13 @@ import { createColumnHelper } from "@tanstack/react-table";
28968
28974
  // src/lib/table/cellRendererFactory.tsx
28969
28975
  import Image2 from "next/image";
28970
28976
 
28971
- // src/lib/table/valueFormatter.ts
28977
+ // src/lib/dayjs-setup.ts
28972
28978
  import dayjs from "dayjs";
28979
+ import utc from "dayjs/plugin/utc";
28980
+ dayjs.extend(utc);
28981
+ var dayjs_setup_default = dayjs;
28982
+
28983
+ // src/lib/table/valueFormatter.ts
28973
28984
  var valueFormatter = (value, format2, customFormatters = {}) => {
28974
28985
  if (!format2) return value;
28975
28986
  if (value == null) return "";
@@ -28980,11 +28991,18 @@ var valueFormatter = (value, format2, customFormatters = {}) => {
28980
28991
  const [type, arg] = format2.split(":");
28981
28992
  switch (type) {
28982
28993
  case "date":
28983
- return dayjs(value).format(arg || "YYYY-MM-DD");
28994
+ return dayjs_setup_default(value).format(arg || "YYYY-MM-DD");
28984
28995
  case "datetime":
28985
- return dayjs(value).format(arg || "YYYY-MM-DD HH:mm:ss");
28996
+ const parsed = dayjs_setup_default(value).isValid() ? dayjs_setup_default(value).utc() : dayjs_setup_default(value);
28997
+ return parsed.format("YYYY-MM-DD hh:mm");
28998
+ case "days":
28999
+ return dayjs_setup_default().diff(dayjs_setup_default(value), "day");
29000
+ case "months":
29001
+ return dayjs_setup_default().diff(dayjs_setup_default(value), "month");
29002
+ case "years":
29003
+ return dayjs_setup_default().diff(dayjs_setup_default(value), "year");
28986
29004
  case "time":
28987
- return dayjs(value).format(arg || "HH:mm");
29005
+ return dayjs_setup_default(value).format("HH:mm");
28988
29006
  case "number":
28989
29007
  return Number(value).toFixed(parseInt(arg || "2"));
28990
29008
  case "currency":
@@ -29041,9 +29059,9 @@ var cellRendererFactory = (renderer, rendererProps, value, row, customRenderers
29041
29059
  case "text":
29042
29060
  return /* @__PURE__ */ jsx52("span", { children: row?.[rendererProps?.rowField] || formattedValue });
29043
29061
  case "number":
29044
- return /* @__PURE__ */ jsx52("span", { className: "tabular-nums text-right", children: valueFormatter(row?.[rendererProps?.rowField] || formattedValue, "number:2") });
29062
+ return /* @__PURE__ */ jsx52("span", { className: "tabular-nums text-right", children: valueFormatter(row?.[rendererProps?.rowField] || value, "number:2") });
29045
29063
  case "date":
29046
- return /* @__PURE__ */ jsx52("span", { children: valueFormatter(row?.[rendererProps?.rowField] || formattedValue, "date:DD MMM YYYY") });
29064
+ return /* @__PURE__ */ jsx52("span", { children: valueFormatter(row?.[rendererProps?.rowField] || value, format2) });
29047
29065
  case "link":
29048
29066
  return /* @__PURE__ */ jsx52(
29049
29067
  "a",
@@ -29178,10 +29196,23 @@ var cellRendererFactory = (renderer, rendererProps, value, row, customRenderers
29178
29196
 
29179
29197
  // src/lib/table/useDynamicColumns.ts
29180
29198
  var columnHelper = createColumnHelper();
29199
+ function getValueByPath(obj, path) {
29200
+ return path.split(".").reduce((acc, key) => acc?.[key], obj);
29201
+ }
29181
29202
  var useDynamicColumns = (config, customRenderers = {}, customFormatters = {}) => {
29182
- return config.columns.map(
29183
- (col) => columnHelper.accessor(col.accessorKey ?? col.id, {
29184
- id: col.accessorKey ?? col.id,
29203
+ return config.columns.map((col) => {
29204
+ const accessorKey = col.accessorKey ?? col.id;
29205
+ const accessorFn = (row) => {
29206
+ if (Object.prototype.hasOwnProperty.call(row, accessorKey)) {
29207
+ return row[accessorKey];
29208
+ }
29209
+ if (accessorKey.includes(".")) {
29210
+ return getValueByPath(row, accessorKey);
29211
+ }
29212
+ return row[accessorKey];
29213
+ };
29214
+ return columnHelper.accessor(accessorFn, {
29215
+ id: accessorKey,
29185
29216
  header: col.header,
29186
29217
  cell: (info) => {
29187
29218
  const value = info.getValue();
@@ -29196,8 +29227,8 @@ var useDynamicColumns = (config, customRenderers = {}, customFormatters = {}) =>
29196
29227
  customFormatters
29197
29228
  );
29198
29229
  }
29199
- })
29200
- );
29230
+ });
29231
+ });
29201
29232
  };
29202
29233
 
29203
29234
  // src/components/ui/data-table.tsx
@@ -29997,10 +30028,7 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStag
29997
30028
  {
29998
30029
  className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm",
29999
30030
  onClick: () => {
30000
- const activeStage = stages?.find((stage) => stage.isActive);
30001
- if (activeStage && onStageChange) {
30002
- onStageChange("completed");
30003
- }
30031
+ onStageChange?.("completed");
30004
30032
  },
30005
30033
  children: buttonText
30006
30034
  }