@ai-matrx/design-system 0.26.0 → 0.28.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 (63) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/data-table/copy-helpers.cjs.map +1 -1
  3. package/dist/data-table/copy-helpers.d.cts +2 -1
  4. package/dist/data-table/copy-helpers.d.ts +2 -1
  5. package/dist/data-table/copy-helpers.js.map +1 -1
  6. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  7. package/dist/data-table/data-row-inspector.js.map +1 -1
  8. package/dist/data-table/data-row-window.cjs.map +1 -1
  9. package/dist/data-table/data-row-window.js.map +1 -1
  10. package/dist/data-table/date-filter.cjs +145 -0
  11. package/dist/data-table/date-filter.cjs.map +1 -0
  12. package/dist/data-table/date-filter.d.cts +31 -0
  13. package/dist/data-table/date-filter.d.ts +31 -0
  14. package/dist/data-table/date-filter.js +125 -0
  15. package/dist/data-table/date-filter.js.map +1 -0
  16. package/dist/data-table/filter-engine.cjs +88 -0
  17. package/dist/data-table/filter-engine.cjs.map +1 -1
  18. package/dist/data-table/filter-engine.d.cts +2 -1
  19. package/dist/data-table/filter-engine.d.ts +2 -1
  20. package/dist/data-table/filter-engine.js +88 -0
  21. package/dist/data-table/filter-engine.js.map +1 -1
  22. package/dist/data-table/host.d.cts +2 -1
  23. package/dist/data-table/host.d.ts +2 -1
  24. package/dist/data-table/index.cjs +238 -7
  25. package/dist/data-table/index.cjs.map +1 -1
  26. package/dist/data-table/index.d.cts +3 -2
  27. package/dist/data-table/index.d.ts +3 -2
  28. package/dist/data-table/index.js +238 -7
  29. package/dist/data-table/index.js.map +1 -1
  30. package/dist/data-table/infer-filter.cjs +2 -0
  31. package/dist/data-table/infer-filter.cjs.map +1 -1
  32. package/dist/data-table/infer-filter.d.cts +3 -2
  33. package/dist/data-table/infer-filter.d.ts +3 -2
  34. package/dist/data-table/infer-filter.js +2 -0
  35. package/dist/data-table/infer-filter.js.map +1 -1
  36. package/dist/data-table/layered-filters.d.cts +2 -1
  37. package/dist/data-table/layered-filters.d.ts +2 -1
  38. package/dist/data-table/query-control.cjs.map +1 -1
  39. package/dist/data-table/query-control.d.cts +2 -1
  40. package/dist/data-table/query-control.d.ts +2 -1
  41. package/dist/data-table/query-control.js.map +1 -1
  42. package/dist/data-table/types.cjs.map +1 -1
  43. package/dist/data-table/types.d.cts +2 -1
  44. package/dist/data-table/types.d.ts +2 -1
  45. package/dist/data-table/url-state.d.cts +2 -1
  46. package/dist/data-table/url-state.d.ts +2 -1
  47. package/dist/data-table/xlsx.cjs.map +1 -1
  48. package/dist/data-table/xlsx.d.cts +2 -1
  49. package/dist/data-table/xlsx.d.ts +2 -1
  50. package/dist/data-table/xlsx.js.map +1 -1
  51. package/dist/field-formats/index.cjs +15 -0
  52. package/dist/field-formats/index.cjs.map +1 -1
  53. package/dist/field-formats/index.js +15 -0
  54. package/dist/field-formats/index.js.map +1 -1
  55. package/dist/index.cjs +5 -1
  56. package/dist/index.cjs.map +1 -1
  57. package/dist/index.d.cts +16 -0
  58. package/dist/index.d.ts +16 -0
  59. package/dist/index.js +5 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/{types-Cu5_eUG1.d.ts → types-D9JBR6ZU.d.ts} +3 -2
  62. package/dist/{types-DrJXAAoD.d.cts → types-jQddSUnj.d.cts} +3 -2
  63. package/package.json +11 -1
package/dist/index.d.cts CHANGED
@@ -1475,6 +1475,22 @@ interface OrganizationPickerOrganization {
1475
1475
  /** Database-validated 2–3 uppercase letters. Optional — not every report carries it. */
1476
1476
  abbreviation?: string | null;
1477
1477
  isPersonal?: boolean;
1478
+ /**
1479
+ * THE ADDRESS, for when the NAME is not enough — its slug, or whatever else the
1480
+ * host has that tells two of them apart.
1481
+ *
1482
+ * 🚨 WHY (crew D2, 2026-09-21). Two organizations called "Kessler Lab for Applied
1483
+ * Microbial Ecology" and two called "Wraithmoor Regional Museum of Art & Craft" sat
1484
+ * in one list, identical down to the abbreviation tile, and a person had no way of
1485
+ * knowing which one they were about to work in. The list drew the name and nothing
1486
+ * else, so there was nothing for it to draw.
1487
+ *
1488
+ * It is shown ONLY on the rows whose name another row in the list also carries —
1489
+ * the way Slack shows a workspace's URL and Google shows the account's email, and
1490
+ * only where it settles the question. A list of distinct names stays exactly as it
1491
+ * was, because a second line under every row is noise a person learns to skip.
1492
+ */
1493
+ distinguisher?: string | null;
1478
1494
  }
1479
1495
  interface OrganizationPickerProps {
1480
1496
  organizations: readonly OrganizationPickerOrganization[];
package/dist/index.d.ts CHANGED
@@ -1475,6 +1475,22 @@ interface OrganizationPickerOrganization {
1475
1475
  /** Database-validated 2–3 uppercase letters. Optional — not every report carries it. */
1476
1476
  abbreviation?: string | null;
1477
1477
  isPersonal?: boolean;
1478
+ /**
1479
+ * THE ADDRESS, for when the NAME is not enough — its slug, or whatever else the
1480
+ * host has that tells two of them apart.
1481
+ *
1482
+ * 🚨 WHY (crew D2, 2026-09-21). Two organizations called "Kessler Lab for Applied
1483
+ * Microbial Ecology" and two called "Wraithmoor Regional Museum of Art & Craft" sat
1484
+ * in one list, identical down to the abbreviation tile, and a person had no way of
1485
+ * knowing which one they were about to work in. The list drew the name and nothing
1486
+ * else, so there was nothing for it to draw.
1487
+ *
1488
+ * It is shown ONLY on the rows whose name another row in the list also carries —
1489
+ * the way Slack shows a workspace's URL and Google shows the account's email, and
1490
+ * only where it settles the question. A list of distinct names stays exactly as it
1491
+ * was, because a second line under every row is noise a person learns to skip.
1492
+ */
1493
+ distinguisher?: string | null;
1478
1494
  }
1479
1495
  interface OrganizationPickerProps {
1480
1496
  organizations: readonly OrganizationPickerOrganization[];
package/dist/index.js CHANGED
@@ -3415,6 +3415,7 @@ function OrganizationPicker({
3415
3415
  }) {
3416
3416
  const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
3417
3417
  const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
3418
+ const sharesItsName = (org) => organizations.filter((other) => other.name.trim() === org.name.trim()).length > 1;
3418
3419
  return /* @__PURE__ */ jsxs21("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3419
3420
  !hideHeading && /* @__PURE__ */ jsx38("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3420
3421
  loading ? /* @__PURE__ */ jsxs21("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
@@ -3456,7 +3457,10 @@ function OrganizationPicker({
3456
3457
  )
3457
3458
  }
3458
3459
  ),
3459
- /* @__PURE__ */ jsx38("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
3460
+ /* @__PURE__ */ jsxs21("span", { className: "flex min-w-0 flex-1 flex-col", children: [
3461
+ /* @__PURE__ */ jsx38("span", { className: "truncate", children: org.name }),
3462
+ sharesItsName(org) && org.distinguisher ? /* @__PURE__ */ jsx38("span", { className: "truncate text-[10px] font-normal text-muted-foreground", children: org.distinguisher }) : null
3463
+ ] }),
3460
3464
  org.isPersonal && /* @__PURE__ */ jsx38("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3461
3465
  isDefault(org.id) && /* @__PURE__ */ jsx38(
3462
3466
  StarIcon,