@ai-matrx/design-system 0.34.0 → 0.35.0

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 (47) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/content-transfer.cjs +3 -1
  3. package/dist/content-transfer.cjs.map +1 -1
  4. package/dist/content-transfer.js +3 -1
  5. package/dist/content-transfer.js.map +1 -1
  6. package/dist/data-table/copy-helpers.d.cts +1 -1
  7. package/dist/data-table/copy-helpers.d.ts +1 -1
  8. package/dist/data-table/data-row-inspector.cjs +3 -1
  9. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  10. package/dist/data-table/data-row-inspector.js +3 -1
  11. package/dist/data-table/data-row-inspector.js.map +1 -1
  12. package/dist/data-table/data-row-window.cjs +3 -1
  13. package/dist/data-table/data-row-window.cjs.map +1 -1
  14. package/dist/data-table/data-row-window.js +3 -1
  15. package/dist/data-table/data-row-window.js.map +1 -1
  16. package/dist/data-table/filter-engine.d.cts +1 -1
  17. package/dist/data-table/filter-engine.d.ts +1 -1
  18. package/dist/data-table/host.d.cts +1 -1
  19. package/dist/data-table/host.d.ts +1 -1
  20. package/dist/data-table/index.cjs +39 -22
  21. package/dist/data-table/index.cjs.map +1 -1
  22. package/dist/data-table/index.d.cts +2 -2
  23. package/dist/data-table/index.d.ts +2 -2
  24. package/dist/data-table/index.js +39 -22
  25. package/dist/data-table/index.js.map +1 -1
  26. package/dist/data-table/infer-filter.d.cts +1 -1
  27. package/dist/data-table/infer-filter.d.ts +1 -1
  28. package/dist/data-table/layered-filters.d.cts +1 -1
  29. package/dist/data-table/layered-filters.d.ts +1 -1
  30. package/dist/data-table/query-control.d.cts +1 -1
  31. package/dist/data-table/query-control.d.ts +1 -1
  32. package/dist/data-table/types.cjs.map +1 -1
  33. package/dist/data-table/types.d.cts +1 -1
  34. package/dist/data-table/types.d.ts +1 -1
  35. package/dist/data-table/url-state.d.cts +1 -1
  36. package/dist/data-table/url-state.d.ts +1 -1
  37. package/dist/data-table/xlsx.d.cts +1 -1
  38. package/dist/data-table/xlsx.d.ts +1 -1
  39. package/dist/index.cjs +4 -2
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.cts +28 -0
  42. package/dist/index.d.ts +28 -0
  43. package/dist/index.js +4 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/{types-CFmCZXVn.d.ts → types-Cxm5XK0L.d.ts} +25 -7
  46. package/dist/{types-CYkwg9jR.d.cts → types-kiV-CAuZ.d.cts} +25 -7
  47. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1089,6 +1089,34 @@ interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof Popo
1089
1089
  * `styles.css` already honours `prefers-reduced-motion`.
1090
1090
  */
1091
1091
  animated?: boolean;
1092
+ /**
1093
+ * HOW WIDE THE POPOVER IS ALLOWED TO BE, and it is the SYSTEM that decides — never a
1094
+ * surface pasting its own `w-64` over the default (lane FIX-14, 2026-09-22).
1095
+ *
1096
+ * `"fixed"` (default) is the historical `w-72`: right for a menu of short, known
1097
+ * labels, where a ragged edge would look broken.
1098
+ *
1099
+ * `"content"` is for a popover whose whole job is to SHOW SOMETHING THE SYSTEM DID
1100
+ * NOT CHOOSE — a person's name, a record's title, a row the user is about to
1101
+ * create. The relation picker offered
1102
+ *
1103
+ * Create “Marisol Okonkwo — 418 Calle Pu
1104
+ *
1105
+ * inside a 16rem box, cut mid-word, on the one control that exists to show the name
1106
+ * being created. A fixed width cannot be right for content of unknown length, so
1107
+ * this one grows to its content between an honest floor and an honest ceiling:
1108
+ *
1109
+ * · at least the trigger's own width, and at least 20rem — the width Airtable's and
1110
+ * Notion's link-record pickers settle on, and wide enough that an ordinary
1111
+ * "name — street, town" fits on one line;
1112
+ * · at most 28rem, and never wider than the viewport less a 1rem gutter each side,
1113
+ * so it still fits a 375px phone with nothing running off the screen. The floor is
1114
+ * clamped by the same gutter, so on a very narrow screen the ceiling still wins.
1115
+ *
1116
+ * Beyond that ceiling the CONTENT truncates with an ellipsis and carries a `title`.
1117
+ * Growing, then ellipsis — never a mid-word cut.
1118
+ */
1119
+ sizing?: "fixed" | "content";
1092
1120
  }
1093
1121
  declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
1094
1122
 
package/dist/index.d.ts CHANGED
@@ -1089,6 +1089,34 @@ interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof Popo
1089
1089
  * `styles.css` already honours `prefers-reduced-motion`.
1090
1090
  */
1091
1091
  animated?: boolean;
1092
+ /**
1093
+ * HOW WIDE THE POPOVER IS ALLOWED TO BE, and it is the SYSTEM that decides — never a
1094
+ * surface pasting its own `w-64` over the default (lane FIX-14, 2026-09-22).
1095
+ *
1096
+ * `"fixed"` (default) is the historical `w-72`: right for a menu of short, known
1097
+ * labels, where a ragged edge would look broken.
1098
+ *
1099
+ * `"content"` is for a popover whose whole job is to SHOW SOMETHING THE SYSTEM DID
1100
+ * NOT CHOOSE — a person's name, a record's title, a row the user is about to
1101
+ * create. The relation picker offered
1102
+ *
1103
+ * Create “Marisol Okonkwo — 418 Calle Pu
1104
+ *
1105
+ * inside a 16rem box, cut mid-word, on the one control that exists to show the name
1106
+ * being created. A fixed width cannot be right for content of unknown length, so
1107
+ * this one grows to its content between an honest floor and an honest ceiling:
1108
+ *
1109
+ * · at least the trigger's own width, and at least 20rem — the width Airtable's and
1110
+ * Notion's link-record pickers settle on, and wide enough that an ordinary
1111
+ * "name — street, town" fits on one line;
1112
+ * · at most 28rem, and never wider than the viewport less a 1rem gutter each side,
1113
+ * so it still fits a 375px phone with nothing running off the screen. The floor is
1114
+ * clamped by the same gutter, so on a very narrow screen the ceiling still wins.
1115
+ *
1116
+ * Beyond that ceiling the CONTENT truncates with an ellipsis and carries a `title`.
1117
+ * Growing, then ellipsis — never a mid-word cut.
1118
+ */
1119
+ sizing?: "fixed" | "content";
1092
1120
  }
1093
1121
  declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
1094
1122
 
package/dist/index.js CHANGED
@@ -1601,6 +1601,7 @@ var PopoverContent = React16.forwardRef(
1601
1601
  sideOffset = 4,
1602
1602
  container,
1603
1603
  animated = true,
1604
+ sizing = "fixed",
1604
1605
  ...props
1605
1606
  }, ref) => {
1606
1607
  const portalContainer = usePortalContainer(container);
@@ -1617,7 +1618,8 @@ var PopoverContent = React16.forwardRef(
1617
1618
  // z, DOM portal order decides, so a dialog opened FROM a popover stacks
1618
1619
  // above it, and a popover opened from a dialog still stacks above the
1619
1620
  // dialog. z-[10001] buried dialogs behind fullscreen popovers.
1620
- "z-[10000] w-72 max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none",
1621
+ "z-[10000] max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none",
1622
+ sizing === "content" ? "w-auto min-w-[min(max(var(--radix-popover-trigger-width),20rem),calc(100vw-2rem))] max-w-[min(28rem,calc(100vw-2rem))]" : "w-72",
1621
1623
  animated && MOTION_POPPER,
1622
1624
  className
1623
1625
  ),
@@ -1724,7 +1726,7 @@ function CreatablePicker({
1724
1726
  ]
1725
1727
  }
1726
1728
  ) }),
1727
- /* @__PURE__ */ jsx20(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ jsxs9(
1729
+ /* @__PURE__ */ jsx20(PopoverContent, { sizing: "content", align: "start", className: "p-0", children: /* @__PURE__ */ jsxs9(
1728
1730
  Command,
1729
1731
  {
1730
1732
  filter: (itemValue, search, keywords) => {