@open-mercato/ui 0.6.5-develop.5337.1.534b781eac → 0.6.5

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.
Files changed (65) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/ai/AiChat.js.map +1 -1
  3. package/dist/ai/records/ActivityCard.js +1 -6
  4. package/dist/ai/records/ActivityCard.js.map +2 -2
  5. package/dist/ai/records/DealCard.js +2 -23
  6. package/dist/ai/records/DealCard.js.map +2 -2
  7. package/dist/ai/records/ProductCard.js +2 -17
  8. package/dist/ai/records/ProductCard.js.map +2 -2
  9. package/dist/ai/useAiChat.js.map +1 -1
  10. package/dist/backend/AppShell.js +15 -8
  11. package/dist/backend/AppShell.js.map +2 -2
  12. package/dist/backend/CrudForm.js.map +1 -1
  13. package/dist/backend/DataTable.js +10 -9
  14. package/dist/backend/DataTable.js.map +2 -2
  15. package/dist/backend/ProfileDropdown.js +62 -33
  16. package/dist/backend/ProfileDropdown.js.map +2 -2
  17. package/dist/backend/charts/KpiCard.js +22 -14
  18. package/dist/backend/charts/KpiCard.js.map +2 -2
  19. package/dist/backend/charts/Sparkline.js +75 -0
  20. package/dist/backend/charts/Sparkline.js.map +7 -0
  21. package/dist/backend/charts/index.js +4 -1
  22. package/dist/backend/charts/index.js.map +2 -2
  23. package/dist/backend/dashboard/DashboardScreen.js +1 -2
  24. package/dist/backend/dashboard/DashboardScreen.js.map +2 -2
  25. package/dist/backend/injection/InjectionSpot.js +23 -6
  26. package/dist/backend/injection/InjectionSpot.js.map +2 -2
  27. package/dist/backend/injection/useGuardedMutation.js.map +1 -1
  28. package/dist/backend/utils/optimisticLock.js.map +1 -1
  29. package/dist/primitives/avatar.js +2 -2
  30. package/dist/primitives/avatar.js.map +2 -2
  31. package/dist/primitives/pagination.js +3 -3
  32. package/dist/primitives/pagination.js.map +2 -2
  33. package/dist/utils/format.js +27 -0
  34. package/dist/utils/format.js.map +7 -0
  35. package/package.json +9 -6
  36. package/src/ai/AiChat.tsx +1 -1
  37. package/src/ai/__tests__/AiChat.task-plan.test.tsx +1 -1
  38. package/src/ai/records/ActivityCard.tsx +1 -7
  39. package/src/ai/records/DealCard.tsx +2 -26
  40. package/src/ai/records/ProductCard.tsx +2 -19
  41. package/src/ai/useAiChat.ts +1 -1
  42. package/src/backend/AppShell.tsx +18 -8
  43. package/src/backend/CrudForm.tsx +1 -1
  44. package/src/backend/DataTable.tsx +18 -11
  45. package/src/backend/ProfileDropdown.tsx +35 -3
  46. package/src/backend/__tests__/AppShell.test.tsx +61 -1
  47. package/src/backend/__tests__/CrudForm.optimisticLock.test.tsx +52 -0
  48. package/src/backend/__tests__/DataTable.stickyResponsive.test.tsx +99 -0
  49. package/src/backend/__tests__/ProfileDropdown.test.tsx +59 -0
  50. package/src/backend/__tests__/lazy-heavy-libraries.test.ts +8 -0
  51. package/src/backend/charts/KpiCard.tsx +22 -12
  52. package/src/backend/charts/Sparkline.tsx +87 -0
  53. package/src/backend/charts/index.ts +2 -1
  54. package/src/backend/dashboard/DashboardScreen.tsx +1 -2
  55. package/src/backend/injection/InjectionSpot.tsx +27 -7
  56. package/src/backend/injection/__tests__/InjectionSpot.remount.test.tsx +140 -0
  57. package/src/backend/injection/useGuardedMutation.ts +1 -1
  58. package/src/backend/utils/optimisticLock.ts +1 -1
  59. package/src/primitives/__tests__/alert.test.tsx +16 -0
  60. package/src/primitives/__tests__/avatar.test.tsx +36 -1
  61. package/src/primitives/__tests__/pagination.test.tsx +31 -0
  62. package/src/primitives/avatar.tsx +8 -2
  63. package/src/primitives/pagination.tsx +3 -3
  64. package/src/utils/__tests__/format.test.ts +58 -0
  65. package/src/utils/format.ts +40 -0
@@ -134,8 +134,8 @@ const EXPORT_LABELS = {
134
134
  };
135
135
  const EMPTY_FILTER_DEFS = [];
136
136
  const EMPTY_FILTER_VALUES = Object.freeze({});
137
- const STICKY_RIGHT_SHADOW_CLASS = "before:absolute before:inset-y-0 before:-left-2 before:w-2 before:bg-gradient-to-l before:from-foreground/8 before:to-transparent before:pointer-events-none";
138
- const STICKY_LEFT_SHADOW_CLASS = "after:absolute after:inset-y-0 after:-right-2 after:w-2 after:bg-gradient-to-r after:from-foreground/8 after:to-transparent after:pointer-events-none";
137
+ const STICKY_RIGHT_SHADOW_CLASS = "md:before:absolute md:before:inset-y-0 md:before:-left-2 md:before:w-2 md:before:bg-gradient-to-l md:before:from-foreground/8 md:before:to-transparent md:before:pointer-events-none";
138
+ const STICKY_LEFT_SHADOW_CLASS = "md:after:absolute md:after:inset-y-0 md:after:-right-2 md:after:w-2 md:after:bg-gradient-to-r md:after:from-foreground/8 md:after:to-transparent md:after:pointer-events-none";
139
139
  function collectUniqueById(entries, warningScope) {
140
140
  const byId = /* @__PURE__ */ new Map();
141
141
  for (const entry of entries) {
@@ -649,6 +649,7 @@ function DataTable({
649
649
  extensionTableId: extensionTableIdProp,
650
650
  stickyFirstColumn = false,
651
651
  stickyActionsColumn = false,
652
+ actionsColumnAlign = "right",
652
653
  virtualized = false,
653
654
  virtualizedMaxHeight,
654
655
  virtualizedOverscan = 10,
@@ -2076,13 +2077,13 @@ function DataTable({
2076
2077
  const columnMeta = header.column.columnDef?.meta;
2077
2078
  const priority = resolvePriority(header.column);
2078
2079
  const isFirstDataColumn = headerIndex === 0;
2079
- const stickyClass = stickyFirstColumn && isFirstDataColumn ? ` sticky left-0 z-10 bg-background ${STICKY_LEFT_SHADOW_CLASS}` : "";
2080
+ const stickyClass = stickyFirstColumn && isFirstDataColumn ? ` md:sticky md:left-0 md:z-10 md:bg-background ${STICKY_LEFT_SHADOW_CLASS}` : "";
2080
2081
  const headerCellContent = header.isPlaceholder ? null : /* @__PURE__ */ jsxs(
2081
2082
  Button,
2082
2083
  {
2083
2084
  variant: "ghost",
2084
2085
  type: "button",
2085
- className: `h-auto p-0 font-medium ${sortable && header.column.getCanSort?.() ? "cursor-pointer select-none" : ""}`,
2086
+ className: `h-auto p-0 has-[>svg]:px-0 font-medium ${sortable && header.column.getCanSort?.() ? "cursor-pointer select-none" : ""}`,
2086
2087
  onClick: () => sortable && header.column.toggleSorting?.(header.column.getIsSorted() === "asc"),
2087
2088
  children: [
2088
2089
  flexRender(header.column.columnDef.header, header.getContext()),
@@ -2101,8 +2102,8 @@ function DataTable({
2101
2102
  TableHead,
2102
2103
  {
2103
2104
  className: cn(
2104
- "w-0 text-right",
2105
- stickyActionsColumn && `sticky right-0 z-20 bg-background ${STICKY_RIGHT_SHADOW_CLASS}`
2105
+ actionsColumnAlign === "center" ? "w-0 text-center" : "w-0 text-right",
2106
+ stickyActionsColumn && `md:sticky md:right-0 md:z-20 md:bg-background ${STICKY_RIGHT_SHADOW_CLASS}`
2106
2107
  ),
2107
2108
  children: t("ui.dataTable.actionsColumn", "Actions")
2108
2109
  }
@@ -2178,14 +2179,14 @@ function DataTable({
2178
2179
  tooltipText = cellValue != null ? String(cellValue) : void 0;
2179
2180
  }
2180
2181
  const wrappedContent = shouldTruncate ? /* @__PURE__ */ jsx(TruncatedCell, { maxWidth, tooltipContent: tooltipText, children: content }) : content;
2181
- return /* @__PURE__ */ jsx(TableCell, { className: responsiveClass(priority, columnMeta?.hidden) + (isStickyCell ? ` sticky left-0 z-10 bg-background ${STICKY_LEFT_SHADOW_CLASS}` : ""), children: wrappedContent }, cell.id);
2182
+ return /* @__PURE__ */ jsx(TableCell, { className: responsiveClass(priority, columnMeta?.hidden) + (isStickyCell ? ` md:sticky md:left-0 md:z-10 md:bg-background ${STICKY_LEFT_SHADOW_CLASS}` : ""), children: wrappedContent }, cell.id);
2182
2183
  }),
2183
2184
  rowActions || injectedRowActions.length > 0 ? /* @__PURE__ */ jsx(
2184
2185
  TableCell,
2185
2186
  {
2186
2187
  className: cn(
2187
- "text-right whitespace-nowrap",
2188
- stickyActionsColumn && `sticky right-0 z-10 bg-background ${STICKY_RIGHT_SHADOW_CLASS}`
2188
+ actionsColumnAlign === "center" ? "text-center whitespace-nowrap" : "text-right whitespace-nowrap",
2189
+ stickyActionsColumn && `md:sticky md:right-0 md:z-10 md:bg-background ${STICKY_RIGHT_SHADOW_CLASS}`
2189
2190
  ),
2190
2191
  "data-actions-cell": true,
2191
2192
  children: rowActionsElement