synapse-react-client 4.0.10 → 4.0.11

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 (89) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/CloudWarning.d.ts +5 -0
  3. package/dist/assets/icons/CloudWarning.d.ts.map +1 -0
  4. package/dist/assets/icons/CloudWarning.js +47 -0
  5. package/dist/assets/icons/CloudWarning.js.map +1 -0
  6. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.d.ts.map +1 -1
  7. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +143 -140
  8. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  9. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  10. package/dist/components/DataGrid/columns/AutocompleteColumn.js +66 -55
  11. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  12. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  13. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +1 -1
  14. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  15. package/dist/components/DataGrid/utils/applyModelChange.d.ts +1 -1
  16. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  17. package/dist/components/DataGrid/utils/applyModelChange.js +27 -24
  18. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  19. package/dist/components/DataGrid/utils/columnFactory.d.ts +8 -0
  20. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  21. package/dist/components/DataGrid/utils/columnFactory.js +47 -44
  22. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  23. package/dist/components/DataGrid/utils/getEmptyValue.d.ts +2 -0
  24. package/dist/components/DataGrid/utils/getEmptyValue.d.ts.map +1 -0
  25. package/dist/components/DataGrid/utils/getEmptyValue.js +8 -0
  26. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -0
  27. package/dist/components/DataGrid/utils/modelColsToGrid.d.ts.map +1 -1
  28. package/dist/components/DataGrid/utils/modelColsToGrid.js +2 -1
  29. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  30. package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts +32 -0
  31. package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts.map +1 -0
  32. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js +22 -0
  33. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -0
  34. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.css +1 -0
  35. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
  36. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +199 -132
  37. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  38. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js +22 -0
  39. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -0
  40. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +170 -0
  41. package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
  42. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -0
  43. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  44. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
  45. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +15 -14
  46. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  47. package/dist/components/Forum/DiscussionReply.d.ts +1 -0
  48. package/dist/components/Forum/DiscussionReply.d.ts.map +1 -1
  49. package/dist/components/Forum/DiscussionReply.js +19 -19
  50. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  51. package/dist/components/Forum/DiscussionThread.d.ts +1 -0
  52. package/dist/components/Forum/DiscussionThread.d.ts.map +1 -1
  53. package/dist/components/Forum/DiscussionThread.js +73 -72
  54. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  55. package/dist/components/GenericCard/BioregistryRules.d.ts.map +1 -1
  56. package/dist/components/GenericCard/BioregistryRules.js +7 -3
  57. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  58. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  59. package/dist/components/IconSvg/IconSvg.js +2 -1
  60. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  61. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
  62. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +157 -148
  63. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  64. package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
  65. package/dist/components/doi/CreateOrUpdateDoiModal.js +20 -19
  66. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  67. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
  68. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
  69. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  70. package/dist/synapse-queries/KeyFactory.d.ts +1 -0
  71. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  72. package/dist/synapse-queries/KeyFactory.js +3 -0
  73. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  74. package/dist/synapse-queries/forum/useThread.d.ts +1 -0
  75. package/dist/synapse-queries/forum/useThread.d.ts.map +1 -1
  76. package/dist/synapse-queries/forum/useThread.js +19 -12
  77. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  78. package/dist/tsconfig.build.tsbuildinfo +1 -1
  79. package/dist/utils/APIConstants.d.ts +1 -0
  80. package/dist/utils/APIConstants.d.ts.map +1 -1
  81. package/dist/utils/APIConstants.js +2 -2
  82. package/dist/utils/APIConstants.js.map +1 -1
  83. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  84. package/dist/utils/AppUtils/session/ApplicationSessionManager.js +7 -4
  85. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  86. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  87. package/dist/utils/functions/EntityTypeUtils.js +15 -4
  88. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  89. package/package.json +4 -4
@@ -3,21 +3,23 @@ import { autocompleteColumn as t } from "../columns/AutocompleteColumn.js";
3
3
  import { autocompleteMultipleEnumColumn as n } from "../columns/AutocompleteMultipleEnumColumn.js";
4
4
  import { calculateDefaultColumnWidth as r } from "./calculateColumnWidth.js";
5
5
  import { ColumnHeaderWithTooltip as i } from "../components/ColumnHeaderWithTooltip.js";
6
- import { Tooltip as a } from "@mui/material";
7
- import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
8
- import { SmartToyTwoTone as l } from "@mui/icons-material";
9
- import { c as u } from "react/compiler-runtime";
10
- import { createTextColumn as d, floatColumn as f, keyColumn as p } from "@sage-bionetworks/react-datasheet-grid";
6
+ import { getEmptyValue as a } from "./getEmptyValue.js";
7
+ import { wrapPasteValueWithSchemaCoercion as o } from "./schemaAwarePasteValue.js";
8
+ import { Tooltip as s } from "@mui/material";
9
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
10
+ import { SmartToyTwoTone as d } from "@mui/icons-material";
11
+ import { c as f } from "react/compiler-runtime";
12
+ import { createTextColumn as p, floatColumn as m, keyColumn as h } from "@sage-bionetworks/react-datasheet-grid";
11
13
  //#region src/components/DataGrid/utils/columnFactory.tsx
12
- function m(e, t) {
14
+ function g(e, t) {
13
15
  function n(n) {
14
- let r = u(13), i = n.rowData.__cellChangeInfo?.[t], d = i?.category === "own-agent" || i?.category === "other-agent", f;
15
- r[0] === n ? f = r[1] : (f = /* @__PURE__ */ s(e, { ...n }), r[0] = n, r[1] = f);
16
+ let r = f(13), i = n.rowData.__cellChangeInfo?.[t], a = i?.category === "own-agent" || i?.category === "other-agent", o;
17
+ r[0] === n ? o = r[1] : (o = /* @__PURE__ */ l(e, { ...n }), r[0] = n, r[1] = o);
16
18
  let p;
17
- r[2] !== i || r[3] !== d ? (p = i && !d && /* @__PURE__ */ s(a, {
19
+ r[2] !== i || r[3] !== a ? (p = i && !a && /* @__PURE__ */ l(s, {
18
20
  title: i.tooltipText,
19
21
  placement: "top-end",
20
- children: /* @__PURE__ */ s("div", { style: {
22
+ children: /* @__PURE__ */ l("div", { style: {
21
23
  position: "absolute",
22
24
  top: 0,
23
25
  right: 0,
@@ -26,12 +28,12 @@ function m(e, t) {
26
28
  zIndex: 21,
27
29
  pointerEvents: "auto"
28
30
  } })
29
- }), r[2] = i, r[3] = d, r[4] = p) : p = r[4];
31
+ }), r[2] = i, r[3] = a, r[4] = p) : p = r[4];
30
32
  let m;
31
- r[5] !== i || r[6] !== d || r[7] !== n.focus ? (m = d && !n.focus && /* @__PURE__ */ s(a, {
33
+ r[5] !== i || r[6] !== a || r[7] !== n.focus ? (m = a && !n.focus && /* @__PURE__ */ l(s, {
32
34
  title: i.tooltipText,
33
35
  placement: "left",
34
- children: /* @__PURE__ */ s(l, { sx: {
36
+ children: /* @__PURE__ */ l(d, { sx: {
35
37
  fontSize: "1em",
36
38
  alignSelf: "center",
37
39
  flexShrink: 0,
@@ -41,73 +43,74 @@ function m(e, t) {
41
43
  color: "grey.400",
42
44
  backgroundColor: "transparent"
43
45
  } })
44
- }), r[5] = i, r[6] = d, r[7] = n.focus, r[8] = m) : m = r[8];
46
+ }), r[5] = i, r[6] = a, r[7] = n.focus, r[8] = m) : m = r[8];
45
47
  let h;
46
- return r[9] !== f || r[10] !== p || r[11] !== m ? (h = /* @__PURE__ */ c(o, { children: [
47
- f,
48
+ return r[9] !== o || r[10] !== p || r[11] !== m ? (h = /* @__PURE__ */ u(c, { children: [
49
+ o,
48
50
  p,
49
51
  m
50
- ] }), r[9] = f, r[10] = p, r[11] = m, r[12] = h) : h = r[12], h;
52
+ ] }), r[9] = o, r[10] = p, r[11] = m, r[12] = h) : h = r[12], h;
51
53
  }
52
54
  return n.displayName = `CellWithTooltip(${t})`, n;
53
55
  }
54
- function h(e) {
56
+ function _(e) {
55
57
  return e ? "header-cell-required" : "header-cell";
56
58
  }
57
- function g(e, t) {
59
+ function v(e, t) {
58
60
  return ({ rowData: n }) => ({
59
61
  ...n,
60
- [e]: t ? null : void 0
62
+ [e]: a(t)
61
63
  });
62
64
  }
63
- function _(e) {
65
+ function y(e) {
64
66
  return (t) => {
65
67
  let n = t.trim();
66
- return n === "" ? e ? null : void 0 : n;
68
+ return n === "" ? a(e) : n;
67
69
  };
68
70
  }
69
- function v(e, t) {
71
+ function b(e, t) {
70
72
  let n = {
71
73
  showPinIcon: e.showPinIcon,
72
74
  hasDescription: !!e.description
73
- }, a = e.customWidth ?? r(e.columnName, void 0, n), o = p(e.columnName, t);
75
+ }, a = e.customWidth ?? r(e.columnName, void 0, n), s = h(e.columnName, t);
74
76
  return {
75
- ...o,
76
- component: m(o.component, e.columnName),
77
- title: /* @__PURE__ */ s(i, {
77
+ ...s,
78
+ component: g(s.component, e.columnName),
79
+ title: /* @__PURE__ */ l(i, {
78
80
  name: e.columnName,
79
81
  description: e.description,
80
82
  showPinIcon: e.showPinIcon,
81
83
  isPinned: e.isPinned,
82
84
  onTogglePin: e.onTogglePin
83
85
  }),
84
- headerClassName: h(e.isRequired),
86
+ headerClassName: _(e.isRequired),
85
87
  minWidth: a,
86
88
  basis: a,
87
89
  grow: 0,
88
90
  shrink: 0,
89
91
  disabled: e.disabled,
90
- deleteValue: g(e.columnName, e.isRequired),
92
+ deleteValue: v(e.columnName, e.isRequired),
93
+ pasteValue: o(s.pasteValue, e.columnName, e.schemaPropertyInfo),
91
94
  stickyLeft: e.isPinned
92
95
  };
93
96
  }
94
- var y = {
95
- multipleEnum: (e) => v(e, n({
97
+ var x = {
98
+ multipleEnum: (e) => b(e, n({
96
99
  choices: e.enumeratedValues ?? [],
97
100
  colType: e.typeInfo?.type || null,
98
101
  limitTags: 3,
99
- clearValue: e.isRequired ? null : void 0
102
+ clearValue: a(e.isRequired)
100
103
  })),
101
- boolean: (e) => v(e, t({
104
+ boolean: (e) => b(e, t({
102
105
  choices: [!0, !1],
103
106
  colType: "boolean",
104
- clearValue: e.isRequired ? null : void 0
107
+ clearValue: a(e.isRequired)
105
108
  })),
106
- number: (e) => v(e, f),
107
- enumerated: (e) => v(e, t({
109
+ number: (e) => b(e, m),
110
+ enumerated: (e) => b(e, t({
108
111
  choices: e.enumeratedValues ?? [],
109
112
  colType: e.typeInfo?.type || null,
110
- clearValue: e.isRequired ? null : void 0
113
+ clearValue: a(e.isRequired)
111
114
  })),
112
115
  "date-time": (t) => {
113
116
  let n = e({ colType: t.typeInfo?.type || null }), i = {
@@ -119,27 +122,27 @@ var y = {
119
122
  enumeratedValues: null
120
123
  }, i);
121
124
  return {
122
- ...v(t, n),
125
+ ...b(t, n),
123
126
  minWidth: a,
124
127
  basis: a
125
128
  };
126
129
  },
127
130
  text: (e) => ({
128
- ...v(e, d({
131
+ ...b(e, p({
129
132
  continuousUpdates: !1,
130
133
  deletedValue: void 0,
131
- parseUserInput: _(e.isRequired)
134
+ parseUserInput: y(e.isRequired)
132
135
  })),
133
136
  cellClassName: "MuiInputBase-input"
134
137
  })
135
138
  };
136
- function b(e, t) {
139
+ function S(e, t) {
137
140
  return e ? e.format === "date-time" ? "date-time" : e.isArray ? "multipleEnum" : e.type === "boolean" ? "boolean" : e.type === "number" || e.type === "integer" ? "number" : t && t.length > 0 ? "enumerated" : "text" : t && t.length > 0 ? "enumerated" : "text";
138
141
  }
139
- function x(e) {
140
- return y[b(e.typeInfo, e.enumeratedValues)](e);
142
+ function C(e) {
143
+ return x[S(e.typeInfo, e.enumeratedValues)](e);
141
144
  }
142
145
  //#endregion
143
- export { x as createColumn };
146
+ export { C as createColumn };
144
147
 
145
148
  //# sourceMappingURL=columnFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnFactory.js","names":["dateTimeColumn","EnumeratedValue","FlatTypeInfo","CellComponent","CellProps","Column","createTextColumn","floatColumn","keyColumn","autocompleteColumn","autocompleteMultipleEnumColumn","calculateDefaultColumnWidth","HeaderOptions","ColumnHeaderWithTooltip","Tooltip","SmartToyTwoTone","DataGridRow","withChangeIndicatorTooltip","OriginalComponent","T","C","colName","CellWithTooltip","props","$","_c","changeInfo","rowData","__cellChangeInfo","isAgent","category","t0","t1","tooltipText","position","top","right","width","height","zIndex","pointerEvents","t2","focus","fontSize","alignSelf","flexShrink","mr","color","backgroundColor","t3","displayName","ColumnConfig","columnName","description","disabled","typeInfo","enumeratedValues","isRequired","customWidth","showPinIcon","isPinned","onTogglePin","getHeaderClassName","createDeleteValue","Record","undefined","createParseUserInput","value","trimmedValue","trim","createBaseColumn","config","columnImpl","headerOptions","hasDescription","keyed","component","title","headerClassName","minWidth","basis","grow","shrink","deleteValue","stickyLeft","COLUMN_FACTORIES","multipleEnum","choices","colType","type","limitTags","clearValue","boolean","number","enumerated","date-time","text","continuousUpdates","deletedValue","parseUserInput","cellClassName","getColumnType","length","format","isArray","createColumn","columnType"],"sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"sourcesContent":["import { dateTimeColumn } from '@/components/DataGrid/columns/DateTimeColumn'\nimport { EnumeratedValue } from '@/utils/jsonschema/getEnumeratedValues'\nimport { FlatTypeInfo } from '@/utils/jsonschema/getType'\nimport {\n CellComponent,\n CellProps,\n Column,\n createTextColumn,\n floatColumn,\n keyColumn,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport { autocompleteColumn } from '../columns/AutocompleteColumn'\nimport { autocompleteMultipleEnumColumn } from '../columns/AutocompleteMultipleEnumColumn'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './calculateColumnWidth'\nimport { ColumnHeaderWithTooltip } from '../components/ColumnHeaderWithTooltip'\nimport { Tooltip } from '@mui/material'\nimport { SmartToyTwoTone } from '@mui/icons-material'\nimport type { DataGridRow } from '../DataGridTypes'\n\n/**\n * Wraps a column cell component to overlay change-attribution indicators:\n * - Non-agent changes: invisible 7×7px tooltip trigger over the CSS triangle (top-right).\n * - Agent changes: robot icon (1em, vertically centered on the right) with no triangle.\n */\nfunction withChangeIndicatorTooltip<T, C>(\n OriginalComponent: CellComponent<T, C>,\n colName: string,\n): CellComponent<T, C> {\n function CellWithTooltip(props: CellProps<T, C>) {\n const changeInfo = (props.rowData as DataGridRow).__cellChangeInfo?.[\n colName\n ]\n const isAgent =\n changeInfo?.category === 'own-agent' ||\n changeInfo?.category === 'other-agent'\n return (\n <>\n <OriginalComponent {...props} />\n {changeInfo && !isAgent && (\n <Tooltip title={changeInfo.tooltipText} placement=\"top-end\">\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: 7,\n height: 7,\n zIndex: 21,\n pointerEvents: 'auto',\n }}\n />\n </Tooltip>\n )}\n {isAgent && !props.focus && (\n <Tooltip title={changeInfo.tooltipText} placement=\"left\">\n <SmartToyTwoTone\n sx={{\n fontSize: '1em',\n alignSelf: 'center',\n flexShrink: 0,\n mr: 0.5,\n zIndex: 21,\n pointerEvents: 'auto',\n color: 'grey.400',\n backgroundColor: 'transparent',\n }}\n />\n </Tooltip>\n )}\n </>\n )\n }\n CellWithTooltip.displayName = `CellWithTooltip(${colName})`\n return CellWithTooltip\n}\n\ntype ColumnConfig = {\n columnName: string\n description?: string\n disabled?: boolean\n typeInfo: FlatTypeInfo | null\n enumeratedValues: EnumeratedValue[] | string[] | null\n isRequired: boolean\n customWidth?: number\n showPinIcon?: boolean\n isPinned?: boolean\n onTogglePin?: () => void\n}\n\nfunction getHeaderClassName(isRequired: boolean): string {\n return isRequired ? 'header-cell-required' : 'header-cell'\n}\n\nfunction createDeleteValue(columnName: string, isRequired?: boolean) {\n return ({ rowData }: { rowData: Record<string, unknown> }) => ({\n ...rowData,\n [columnName]: isRequired ? null : undefined,\n })\n}\n\nfunction createParseUserInput(isRequired?: boolean) {\n return (value: string) => {\n const trimmedValue = value.trim()\n if (trimmedValue === '') {\n return isRequired ? null : undefined\n }\n return trimmedValue\n }\n}\n\nfunction createBaseColumn(config: ColumnConfig, columnImpl: any) {\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n undefined, // propertyInfo is not available here, passed from higher level\n headerOptions,\n )\n\n const keyed = keyColumn(config.columnName, columnImpl)\n return {\n ...keyed,\n component: withChangeIndicatorTooltip(keyed.component!, config.columnName),\n title: (\n <ColumnHeaderWithTooltip\n name={config.columnName}\n description={config.description}\n showPinIcon={config.showPinIcon}\n isPinned={config.isPinned}\n onTogglePin={config.onTogglePin}\n />\n ),\n headerClassName: getHeaderClassName(config.isRequired),\n minWidth: width,\n basis: width,\n grow: 0,\n shrink: 0,\n disabled: config.disabled,\n deleteValue: createDeleteValue(config.columnName, config.isRequired),\n stickyLeft: config.isPinned,\n }\n}\n\nconst COLUMN_FACTORIES = {\n multipleEnum: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteMultipleEnumColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n limitTags: 3,\n clearValue: config.isRequired ? null : undefined,\n }),\n )\n },\n\n boolean: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: [true, false],\n colType: 'boolean',\n clearValue: config.isRequired ? null : undefined,\n }),\n )\n },\n\n number: (config: ColumnConfig) => {\n return createBaseColumn(config, floatColumn)\n },\n\n enumerated: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n clearValue: config.isRequired ? null : undefined,\n }),\n )\n },\n\n 'date-time': (config: ColumnConfig) => {\n const columnImpl = dateTimeColumn({\n colType: config.typeInfo?.type || null,\n })\n\n // Date-time needs special width calculation\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n {\n type: config.typeInfo ?? undefined,\n isRequired: config.isRequired,\n enumeratedValues: null,\n },\n headerOptions,\n )\n\n return {\n ...createBaseColumn(config, columnImpl),\n minWidth: width,\n basis: width,\n }\n },\n\n text: (config: ColumnConfig) => {\n const columnImpl = createTextColumn({\n continuousUpdates: false,\n deletedValue: undefined,\n parseUserInput: createParseUserInput(config.isRequired),\n })\n\n return {\n ...createBaseColumn(config, columnImpl),\n cellClassName: 'MuiInputBase-input',\n }\n },\n}\n\nfunction getColumnType(\n typeInfo: FlatTypeInfo | null,\n enumeratedValues?: EnumeratedValue[] | string[] | null,\n): keyof typeof COLUMN_FACTORIES {\n if (!typeInfo) {\n return enumeratedValues && enumeratedValues.length > 0\n ? 'enumerated'\n : 'text'\n }\n\n if (typeInfo.format === 'date-time') {\n return 'date-time'\n }\n\n // Handle arrays - check if it's an array of enums\n if (typeInfo.isArray) {\n return 'multipleEnum'\n }\n\n if (typeInfo.type === 'boolean') {\n return 'boolean'\n }\n\n if (typeInfo.type === 'number' || typeInfo.type === 'integer') {\n return 'number'\n }\n\n if (enumeratedValues && enumeratedValues.length > 0) {\n return 'enumerated'\n }\n\n return 'text'\n}\n\nexport function createColumn(config: ColumnConfig): Column {\n const columnType = getColumnType(config.typeInfo, config.enumeratedValues)\n return COLUMN_FACTORIES[columnType](config)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnFactory.js","names":["dateTimeColumn","EnumeratedValue","FlatTypeInfo","SchemaPropertyInfo","CellComponent","CellProps","Column","createTextColumn","floatColumn","keyColumn","autocompleteColumn","autocompleteMultipleEnumColumn","calculateDefaultColumnWidth","HeaderOptions","ColumnHeaderWithTooltip","Tooltip","SmartToyTwoTone","DataGridRow","wrapPasteValueWithSchemaCoercion","getEmptyValue","withChangeIndicatorTooltip","OriginalComponent","T","C","colName","CellWithTooltip","props","$","_c","changeInfo","rowData","__cellChangeInfo","isAgent","category","t0","t1","tooltipText","position","top","right","width","height","zIndex","pointerEvents","t2","focus","fontSize","alignSelf","flexShrink","mr","color","backgroundColor","t3","displayName","ColumnConfig","columnName","description","disabled","typeInfo","enumeratedValues","isRequired","customWidth","showPinIcon","isPinned","onTogglePin","schemaPropertyInfo","getHeaderClassName","createDeleteValue","Record","createParseUserInput","value","trimmedValue","trim","createBaseColumn","config","columnImpl","headerOptions","hasDescription","undefined","keyed","component","title","headerClassName","minWidth","basis","grow","shrink","deleteValue","pasteValue","stickyLeft","COLUMN_FACTORIES","multipleEnum","choices","colType","type","limitTags","clearValue","boolean","number","enumerated","date-time","text","continuousUpdates","deletedValue","parseUserInput","cellClassName","getColumnType","length","format","isArray","createColumn","columnType"],"sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"sourcesContent":["import { dateTimeColumn } from '@/components/DataGrid/columns/DateTimeColumn'\nimport { EnumeratedValue } from '@/utils/jsonschema/getEnumeratedValues'\nimport { FlatTypeInfo } from '@/utils/jsonschema/getType'\nimport { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport {\n CellComponent,\n CellProps,\n Column,\n createTextColumn,\n floatColumn,\n keyColumn,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport { autocompleteColumn } from '../columns/AutocompleteColumn'\nimport { autocompleteMultipleEnumColumn } from '../columns/AutocompleteMultipleEnumColumn'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './calculateColumnWidth'\nimport { ColumnHeaderWithTooltip } from '../components/ColumnHeaderWithTooltip'\nimport { Tooltip } from '@mui/material'\nimport { SmartToyTwoTone } from '@mui/icons-material'\nimport type { DataGridRow } from '../DataGridTypes'\nimport { wrapPasteValueWithSchemaCoercion } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Wraps a column cell component to overlay change-attribution indicators:\n * - Non-agent changes: invisible 7×7px tooltip trigger over the CSS triangle (top-right).\n * - Agent changes: robot icon (1em, vertically centered on the right) with no triangle.\n */\nfunction withChangeIndicatorTooltip<T, C>(\n OriginalComponent: CellComponent<T, C>,\n colName: string,\n): CellComponent<T, C> {\n function CellWithTooltip(props: CellProps<T, C>) {\n const changeInfo = (props.rowData as DataGridRow).__cellChangeInfo?.[\n colName\n ]\n const isAgent =\n changeInfo?.category === 'own-agent' ||\n changeInfo?.category === 'other-agent'\n return (\n <>\n <OriginalComponent {...props} />\n {changeInfo && !isAgent && (\n <Tooltip title={changeInfo.tooltipText} placement=\"top-end\">\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: 7,\n height: 7,\n zIndex: 21,\n pointerEvents: 'auto',\n }}\n />\n </Tooltip>\n )}\n {isAgent && !props.focus && (\n <Tooltip title={changeInfo.tooltipText} placement=\"left\">\n <SmartToyTwoTone\n sx={{\n fontSize: '1em',\n alignSelf: 'center',\n flexShrink: 0,\n mr: 0.5,\n zIndex: 21,\n pointerEvents: 'auto',\n color: 'grey.400',\n backgroundColor: 'transparent',\n }}\n />\n </Tooltip>\n )}\n </>\n )\n }\n CellWithTooltip.displayName = `CellWithTooltip(${colName})`\n return CellWithTooltip\n}\n\ntype ColumnConfig = {\n columnName: string\n description?: string\n disabled?: boolean\n typeInfo: FlatTypeInfo | null\n enumeratedValues: EnumeratedValue[] | string[] | null\n isRequired: boolean\n customWidth?: number\n showPinIcon?: boolean\n isPinned?: boolean\n onTogglePin?: () => void\n /**\n * Optional column-level schema info. When provided, paste behavior coerces\n * empty pasted cells to the schema-correct blank (undefined for optional\n * columns, null for required columns). Omit to preserve the column impl's\n * default paste behavior.\n */\n schemaPropertyInfo?: SchemaPropertyInfo\n}\n\nfunction getHeaderClassName(isRequired: boolean): string {\n return isRequired ? 'header-cell-required' : 'header-cell'\n}\n\nfunction createDeleteValue(columnName: string, isRequired?: boolean) {\n return ({ rowData }: { rowData: Record<string, unknown> }) => ({\n ...rowData,\n [columnName]: getEmptyValue(isRequired),\n })\n}\n\nfunction createParseUserInput(isRequired?: boolean) {\n return (value: string) => {\n const trimmedValue = value.trim()\n if (trimmedValue === '') {\n return getEmptyValue(isRequired)\n }\n return trimmedValue\n }\n}\n\nfunction createBaseColumn(config: ColumnConfig, columnImpl: any) {\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n undefined, // propertyInfo is not available here, passed from higher level\n headerOptions,\n )\n\n const keyed = keyColumn(config.columnName, columnImpl)\n return {\n ...keyed,\n component: withChangeIndicatorTooltip(keyed.component!, config.columnName),\n title: (\n <ColumnHeaderWithTooltip\n name={config.columnName}\n description={config.description}\n showPinIcon={config.showPinIcon}\n isPinned={config.isPinned}\n onTogglePin={config.onTogglePin}\n />\n ),\n headerClassName: getHeaderClassName(config.isRequired),\n minWidth: width,\n basis: width,\n grow: 0,\n shrink: 0,\n disabled: config.disabled,\n deleteValue: createDeleteValue(config.columnName, config.isRequired),\n pasteValue: wrapPasteValueWithSchemaCoercion(\n keyed.pasteValue,\n config.columnName,\n config.schemaPropertyInfo,\n ),\n stickyLeft: config.isPinned,\n }\n}\n\nconst COLUMN_FACTORIES = {\n multipleEnum: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteMultipleEnumColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n limitTags: 3,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n boolean: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: [true, false],\n colType: 'boolean',\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n number: (config: ColumnConfig) => {\n return createBaseColumn(config, floatColumn)\n },\n\n enumerated: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n 'date-time': (config: ColumnConfig) => {\n const columnImpl = dateTimeColumn({\n colType: config.typeInfo?.type || null,\n })\n\n // Date-time needs special width calculation\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n {\n type: config.typeInfo ?? undefined,\n isRequired: config.isRequired,\n enumeratedValues: null,\n },\n headerOptions,\n )\n\n return {\n ...createBaseColumn(config, columnImpl),\n minWidth: width,\n basis: width,\n }\n },\n\n text: (config: ColumnConfig) => {\n const columnImpl = createTextColumn({\n continuousUpdates: false,\n deletedValue: undefined,\n parseUserInput: createParseUserInput(config.isRequired),\n })\n\n return {\n ...createBaseColumn(config, columnImpl),\n cellClassName: 'MuiInputBase-input',\n }\n },\n}\n\nfunction getColumnType(\n typeInfo: FlatTypeInfo | null,\n enumeratedValues?: EnumeratedValue[] | string[] | null,\n): keyof typeof COLUMN_FACTORIES {\n if (!typeInfo) {\n return enumeratedValues && enumeratedValues.length > 0\n ? 'enumerated'\n : 'text'\n }\n\n if (typeInfo.format === 'date-time') {\n return 'date-time'\n }\n\n // Handle arrays - check if it's an array of enums\n if (typeInfo.isArray) {\n return 'multipleEnum'\n }\n\n if (typeInfo.type === 'boolean') {\n return 'boolean'\n }\n\n if (typeInfo.type === 'number' || typeInfo.type === 'integer') {\n return 'number'\n }\n\n if (enumeratedValues && enumeratedValues.length > 0) {\n return 'enumerated'\n }\n\n return 'text'\n}\n\nexport function createColumn(config: ColumnConfig): Column {\n const columnType = getColumnType(config.typeInfo, config.enumeratedValues)\n return COLUMN_FACTORIES[columnType](config)\n}\n"],"mappings":";;;;;;;;;;;;;AA8BA,SAASoB,EACPC,GACAG,GACqB;CACrB,SAAAC,EAAAC,GAAA;EAAA,IAAAC,IAAAC,EAAA,GAAA,EACEC,IAAoBH,EAAKI,QAAuBC,mBAC9CP,IAEFQ,IACEH,GAAUI,aAAe,eACzBJ,GAAUI,aAAe,eAAaC;AAAA,EAAAP,EAAA,OAAAD,IAGJQ,IAAAP,EAAA,MAAhCO,IAAA,kBAAC,GAAD,EAAkB,GAAKR,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAO;EAAA,IAAAC;AAAA,EAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAC/BG,IAAAN,KAAA,CAAeG,KACd,kBAAC,GAAD;GAAgB,OAAAH,EAAUO;GAAwB,WAAA;aAChD,kBAAA,OAAA,EACS,OAAA;IAAAC,UACK;IAAUC,KACf;IAACC,OACC;IAACC,OACD;IAACC,QACA;IAACC,QACD;IAAEC,eACK;IACjB,EAEJ,CAAA;GACD,CAAA,EAAAhB,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;EAAA,IAAAiB;AAAA,EAAAjB,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAD,EAAAmB,SACAD,IAAAZ,KAAA,CAAYN,EAAKmB,SAChB,kBAAC,GAAD;GAAgB,OAAAhB,EAAUO;GAAwB,WAAA;aAChD,kBAAC,GAAD,EACM,IAAA;IAAAU,UACQ;IAAKC,WACJ;IAAQC,YACP;IAACC,IACT;IAAGP,QACC;IAAEC,eACK;IAAMO,OACd;IAAUC,iBACA;IACnB,EAEJ,CAAA;GACD,CAAA,EAAAxB,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAD,EAAAmB,OAAAlB,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA;EAAA,IAAAyB;AACA,SADAzB,EAAA,OAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAiB,KAhCHQ,IAAA,kBAAA,GAAA,EAAA,UAAA;GACElB;GACCC;GAeAS;GAgBA,EAAA,CAAA,EAAAjB,EAAA,KAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAiB,GAAAjB,EAAA,MAAAyB,KAAAA,IAAAzB,EAAA,KAjCHyB;;AAqCJ,QADA3B,EAAgB4B,cAAc,mBAAmB7B,EAAO,IACjDC;;AAuBT,SAASyC,EAAmBN,GAA6B;AACvD,QAAOA,IAAa,yBAAyB;;AAG/C,SAASO,EAAkBZ,GAAoBK,GAAsB;AACnE,SAAQ,EAAE9B,kBAAqD;EAC7D,GAAGA;GACFyB,IAAapC,EAAcyC,EAAU;EACvC;;AAGH,SAASS,EAAqBT,GAAsB;AAClD,SAAQU,MAAkB;EACxB,IAAMC,IAAeD,EAAME,MAAM;AAIjC,SAHID,MAAiB,KACZpD,EAAcyC,EAAW,GAE3BW;;;AAIX,SAASE,EAAiBC,GAAsBC,GAAiB;CAC/D,IAAMC,IAA+B;EACnCd,aAAaY,EAAOZ;EACpBe,gBAAgB,CAAC,CAACH,EAAOlB;EAC1B,EAEKhB,IACJkC,EAAOb,eACPjD,EACE8D,EAAOnB,YACPuB,KAAAA,GACAF,EACD,EAEGG,IAAQtE,EAAUiE,EAAOnB,YAAYoB,EAAW;AACtD,QAAO;EACL,GAAGI;EACHC,WAAW5D,EAA2B2D,EAAMC,WAAYN,EAAOnB,WAAW;EAC1E0B,OACE,kBAAC,GAAD;GACE,MAAMP,EAAOnB;GACb,aAAamB,EAAOlB;GACpB,aAAakB,EAAOZ;GACpB,UAAUY,EAAOX;GACjB,aAAaW,EAAOV;GAEvB,CAAA;EACDkB,iBAAiBhB,EAAmBQ,EAAOd,WAAW;EACtDuB,UAAU3C;EACV4C,OAAO5C;EACP6C,MAAM;EACNC,QAAQ;EACR7B,UAAUiB,EAAOjB;EACjB8B,aAAapB,EAAkBO,EAAOnB,YAAYmB,EAAOd,WAAW;EACpE4B,YAAYtE,EACV6D,EAAMS,YACNd,EAAOnB,YACPmB,EAAOT,mBACR;EACDwB,YAAYf,EAAOX;EACpB;;AAGH,IAAM2B,IAAmB;CACvBC,eAAejB,MACND,EACLC,GACA/D,EAA+B;EAC7BiF,SAASlB,EAAOf,oBAAoB,EAAE;EACtCkC,SAASnB,EAAOhB,UAAUoC,QAAQ;EAClCC,WAAW;EACXC,YAAY7E,EAAcuD,EAAOd,WAAU;EAC5C,CACH,CAAC;CAGHqC,UAAUvB,MACDD,EACLC,GACAhE,EAAmB;EACjBkF,SAAS,CAAC,IAAM,GAAM;EACtBC,SAAS;EACTG,YAAY7E,EAAcuD,EAAOd,WAAU;EAC5C,CACH,CAAC;CAGHsC,SAASxB,MACAD,EAAiBC,GAAQlE,EAAY;CAG9C2F,aAAazB,MACJD,EACLC,GACAhE,EAAmB;EACjBkF,SAASlB,EAAOf,oBAAoB,EAAE;EACtCkC,SAASnB,EAAOhB,UAAUoC,QAAQ;EAClCE,YAAY7E,EAAcuD,EAAOd,WAAU;EAC5C,CACH,CAAC;CAGH,cAAcc,MAAyB;EACrC,IAAMC,IAAa3E,EAAe,EAChC6F,SAASnB,EAAOhB,UAAUoC,QAAQ,MACnC,CAAC,EAGIlB,IAA+B;GACnCd,aAAaY,EAAOZ;GACpBe,gBAAgB,CAAC,CAACH,EAAOlB;GAC1B,EAEKhB,IACJkC,EAAOb,eACPjD,EACE8D,EAAOnB,YACP;GACEuC,MAAMpB,EAAOhB,YAAYoB,KAAAA;GACzBlB,YAAYc,EAAOd;GACnBD,kBAAkB;GACnB,EACDiB,EACD;AAEH,SAAO;GACL,GAAGH,EAAiBC,GAAQC,EAAW;GACvCQ,UAAU3C;GACV4C,OAAO5C;GACR;;CAGH6D,OAAO3B,OAOE;EACL,GAAGD,EAAiBC,GAPHnE,EAAiB;GAClC+F,mBAAmB;GACnBC,cAAczB,KAAAA;GACd0B,gBAAgBnC,EAAqBK,EAAOd,WAAU;GACvD,CAG6Be,CAAW;EACvC8B,eAAe;EAChB;CAEJ;AAED,SAASC,EACPhD,GACAC,GAC+B;AA4B/B,QA3BKD,IAMDA,EAASkD,WAAW,cACf,cAILlD,EAASmD,UACJ,iBAGLnD,EAASoC,SAAS,YACb,YAGLpC,EAASoC,SAAS,YAAYpC,EAASoC,SAAS,YAC3C,WAGLnC,KAAoBA,EAAiBgD,SAAS,IACzC,eAGF,SA1BEhD,KAAoBA,EAAiBgD,SAAS,IACjD,eACA;;AA2BR,SAAgBG,EAAapC,GAA8B;AAEzD,QAAOgB,EADYgB,EAAchC,EAAOhB,UAAUgB,EAAOf,iBACjCoD,EAAYrC,EAAO"}
@@ -0,0 +1,2 @@
1
+ export declare function getEmptyValue(isRequired?: boolean): null | undefined;
2
+ //# sourceMappingURL=getEmptyValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEmptyValue.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/getEmptyValue.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,oBAEjD"}
@@ -0,0 +1,8 @@
1
+ //#region src/components/DataGrid/utils/getEmptyValue.ts
2
+ function e(e) {
3
+ return e ? null : void 0;
4
+ }
5
+ //#endregion
6
+ export { e as getEmptyValue };
7
+
8
+ //# sourceMappingURL=getEmptyValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEmptyValue.js","names":[],"sources":["../../../../src/components/DataGrid/utils/getEmptyValue.ts"],"sourcesContent":["export function getEmptyValue(isRequired?: boolean) {\n return isRequired ? null : undefined\n}\n"],"mappings":";AAAA,SAAgB,EAAc,GAAsB;AAClD,QAAO,IAAa,OAAO,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelColsToGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/modelColsToGrid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAE9E,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,oBAAoB,EAAE,mBAAmB,EACzC,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACzC,aAAa,GAAE,GAAG,CAAC,MAAM,CAAa,EACtC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAC1C,MAAM,EAAE,CAsBV"}
1
+ {"version":3,"file":"modelColsToGrid.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/modelColsToGrid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAE9E,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,oBAAoB,EAAE,mBAAmB,EACzC,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACzC,aAAa,GAAE,GAAG,CAAC,MAAM,CAAa,EACtC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAC1C,MAAM,EAAE,CAuBV"}
@@ -13,7 +13,8 @@ function t(t, n, r, i = {}, a = /* @__PURE__ */ new Set(), o) {
13
13
  customWidth: i[c],
14
14
  showPinIcon: u,
15
15
  isPinned: d,
16
- onTogglePin: o ? () => o(s) : void 0
16
+ onTogglePin: o ? () => o(s) : void 0,
17
+ schemaPropertyInfo: l
17
18
  });
18
19
  });
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modelColsToGrid.js","names":["Column","createColumn","SchemaPropertiesMap","modelColsToGrid","columnNames","columnOrder","schemaPropertiesInfo","columnWidths","Record","pinnedColumns","Set","onTogglePin","columnIndex","map","index","arrayIndex","columnName","propertyInfo","showPinIcon","undefined","isPinned","has","description","typeInfo","type","enumeratedValues","isRequired","disabled","readOnly","customWidth"],"sources":["../../../../src/components/DataGrid/utils/modelColsToGrid.ts"],"sourcesContent":["import { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport { createColumn } from './columnFactory'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\n\nexport function modelColsToGrid(\n columnNames: string[],\n columnOrder: number[],\n schemaPropertiesInfo: SchemaPropertiesMap,\n columnWidths: Record<string, number> = {},\n pinnedColumns: Set<number> = new Set(),\n onTogglePin?: (columnIndex: number) => void,\n): Column[] {\n return columnOrder.map((index: number, arrayIndex: number) => {\n const columnName = columnNames[index]\n const propertyInfo = schemaPropertiesInfo[columnName]\n\n // Only show pin functionality for the first column and when toggle handler exists\n const showPinIcon = arrayIndex === 0 && onTogglePin !== undefined\n const isPinned = pinnedColumns.has(arrayIndex)\n\n return createColumn({\n columnName,\n description: propertyInfo?.description,\n typeInfo: propertyInfo?.type || null,\n enumeratedValues: propertyInfo?.enumeratedValues || [],\n isRequired: propertyInfo?.isRequired || false,\n disabled: propertyInfo?.type?.readOnly,\n customWidth: columnWidths[columnName],\n showPinIcon,\n isPinned,\n onTogglePin: onTogglePin ? () => onTogglePin(arrayIndex) : undefined,\n })\n })\n}\n"],"mappings":";;AAIA,SAAgBG,EACdC,GACAC,GACAC,GACAC,IAAuC,EAAE,EACzCE,oBAA6B,IAAIC,KAAK,EACtCC,GACU;AACV,QAAON,EAAYQ,KAAKC,GAAeC,MAAuB;EAC5D,IAAMC,IAAaZ,EAAYU,IACzBG,IAAeX,EAAqBU,IAGpCE,IAAcH,MAAe,KAAKJ,MAAgBQ,KAAAA,GAClDC,IAAWX,EAAcY,IAAIN,EAAW;AAE9C,SAAOd,EAAa;GAClBe;GACAM,aAAaL,GAAcK;GAC3BC,UAAUN,GAAcO,QAAQ;GAChCC,kBAAkBR,GAAcQ,oBAAoB,EAAE;GACtDC,YAAYT,GAAcS,cAAc;GACxCC,UAAUV,GAAcO,MAAMI;GAC9BC,aAAatB,EAAaS;GAC1BE;GACAE;GACAT,aAAaA,UAAoBA,EAAYI,EAAW,GAAGI,KAAAA;GAC5D,CAAC;GACF"}
1
+ {"version":3,"file":"modelColsToGrid.js","names":["Column","createColumn","SchemaPropertiesMap","modelColsToGrid","columnNames","columnOrder","schemaPropertiesInfo","columnWidths","Record","pinnedColumns","Set","onTogglePin","columnIndex","map","index","arrayIndex","columnName","propertyInfo","showPinIcon","undefined","isPinned","has","description","typeInfo","type","enumeratedValues","isRequired","disabled","readOnly","customWidth","schemaPropertyInfo"],"sources":["../../../../src/components/DataGrid/utils/modelColsToGrid.ts"],"sourcesContent":["import { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport { createColumn } from './columnFactory'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\n\nexport function modelColsToGrid(\n columnNames: string[],\n columnOrder: number[],\n schemaPropertiesInfo: SchemaPropertiesMap,\n columnWidths: Record<string, number> = {},\n pinnedColumns: Set<number> = new Set(),\n onTogglePin?: (columnIndex: number) => void,\n): Column[] {\n return columnOrder.map((index: number, arrayIndex: number) => {\n const columnName = columnNames[index]\n const propertyInfo = schemaPropertiesInfo[columnName]\n\n // Only show pin functionality for the first column and when toggle handler exists\n const showPinIcon = arrayIndex === 0 && onTogglePin !== undefined\n const isPinned = pinnedColumns.has(arrayIndex)\n\n return createColumn({\n columnName,\n description: propertyInfo?.description,\n typeInfo: propertyInfo?.type || null,\n enumeratedValues: propertyInfo?.enumeratedValues || [],\n isRequired: propertyInfo?.isRequired || false,\n disabled: propertyInfo?.type?.readOnly,\n customWidth: columnWidths[columnName],\n showPinIcon,\n isPinned,\n onTogglePin: onTogglePin ? () => onTogglePin(arrayIndex) : undefined,\n schemaPropertyInfo: propertyInfo,\n })\n })\n}\n"],"mappings":";;AAIA,SAAgBG,EACdC,GACAC,GACAC,GACAC,IAAuC,EAAE,EACzCE,oBAA6B,IAAIC,KAAK,EACtCC,GACU;AACV,QAAON,EAAYQ,KAAKC,GAAeC,MAAuB;EAC5D,IAAMC,IAAaZ,EAAYU,IACzBG,IAAeX,EAAqBU,IAGpCE,IAAcH,MAAe,KAAKJ,MAAgBQ,KAAAA,GAClDC,IAAWX,EAAcY,IAAIN,EAAW;AAE9C,SAAOd,EAAa;GAClBe;GACAM,aAAaL,GAAcK;GAC3BC,UAAUN,GAAcO,QAAQ;GAChCC,kBAAkBR,GAAcQ,oBAAoB,EAAE;GACtDC,YAAYT,GAAcS,cAAc;GACxCC,UAAUV,GAAcO,MAAMI;GAC9BC,aAAatB,EAAaS;GAC1BE;GACAE;GACAT,aAAaA,UAAoBA,EAAYI,EAAW,GAAGI,KAAAA;GAC3DW,oBAAoBb;GACrB,CAAC;GACF"}
@@ -0,0 +1,32 @@
1
+ import type { Column } from '@sage-bionetworks/react-datasheet-grid';
2
+ import type { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo';
3
+ /**
4
+ * Coerce an empty cell value to the schema-correct blank before it reaches
5
+ * the model, regardless of how the edit originated (paste, free-typed commit,
6
+ * programmatic CREATE/UPDATE, etc.).
7
+ *
8
+ * - Optional columns -> undefined (property is absent and passes validation
9
+ * for any optional type).
10
+ * - Required columns -> null (validator surfaces a substantive error the
11
+ * user can act on).
12
+ *
13
+ * "Empty" means null, undefined, or a whitespace-only string. Spreadsheet
14
+ * clipboard formats (text/html in particular) can encode visually empty
15
+ * cells as runs of `\n` from stacked `<br>` tags, so the trim check covers
16
+ * those alongside literal "". Empty arrays are not coerced because some
17
+ * columns (e.g. multi-enum) emit [] from their own paste logic and that is
18
+ * the desired in-model representation.
19
+ *
20
+ * If schemaPropertyInfo is omitted, the original value is returned unchanged.
21
+ */
22
+ export declare function coerceModelCellValue(value: unknown, schemaPropertyInfo?: SchemaPropertyInfo): unknown;
23
+ type PasteValueFn<T, PasteValue> = NonNullable<Column<T, unknown, PasteValue>['pasteValue']>;
24
+ /**
25
+ * Wraps a keyed column's `pasteValue` so that an empty pasted cell is coerced
26
+ * to the schema-correct blank for the column. If `schemaPropertyInfo` is
27
+ * omitted (e.g. the grid is rendered without a JSON schema), the original
28
+ * paste behavior is preserved.
29
+ */
30
+ export declare function wrapPasteValueWithSchemaCoercion<T extends Record<string, unknown>, PasteValue>(originalPasteValue: PasteValueFn<T, PasteValue> | undefined, columnName: string, schemaPropertyInfo?: SchemaPropertyInfo): PasteValueFn<T, PasteValue> | undefined;
31
+ export {};
32
+ //# sourceMappingURL=schemaAwarePasteValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAwarePasteValue.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/schemaAwarePasteValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAGlF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAYT;AAED,KAAK,YAAY,CAAC,CAAC,EAAE,UAAU,IAAI,WAAW,CAC5C,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,YAAY,CAAC,CAC7C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,UAAU,EAEV,kBAAkB,EAAE,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,EAC3D,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,CAazC"}
@@ -0,0 +1,22 @@
1
+ import { getEmptyValue as e } from "./getEmptyValue.js";
2
+ //#region src/components/DataGrid/utils/schemaAwarePasteValue.ts
3
+ function t(t, n) {
4
+ return n && (t == null || typeof t == "string" && t.trim() === "") ? e(n.isRequired) : t;
5
+ }
6
+ function n(e, n, r) {
7
+ return !e || !r ? e : ({ rowData: i, value: a, rowIndex: o }) => {
8
+ let s = e({
9
+ rowData: i,
10
+ value: a,
11
+ rowIndex: o
12
+ }), c = s[n], l = t(c, r);
13
+ return l === c ? s : {
14
+ ...s,
15
+ [n]: l
16
+ };
17
+ };
18
+ }
19
+ //#endregion
20
+ export { t as coerceModelCellValue, n as wrapPasteValueWithSchemaCoercion };
21
+
22
+ //# sourceMappingURL=schemaAwarePasteValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaAwarePasteValue.js","names":["Column","SchemaPropertyInfo","getEmptyValue","coerceModelCellValue","value","schemaPropertyInfo","undefined","trim","isRequired","PasteValueFn","NonNullable","T","PasteValue","wrapPasteValueWithSchemaCoercion","Record","originalPasteValue","columnName","rowData","rowIndex","result","cellValue","coerced"],"sources":["../../../../src/components/DataGrid/utils/schemaAwarePasteValue.ts"],"sourcesContent":["import type { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport type { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Coerce an empty cell value to the schema-correct blank before it reaches\n * the model, regardless of how the edit originated (paste, free-typed commit,\n * programmatic CREATE/UPDATE, etc.).\n *\n * - Optional columns -> undefined (property is absent and passes validation\n * for any optional type).\n * - Required columns -> null (validator surfaces a substantive error the\n * user can act on).\n *\n * \"Empty\" means null, undefined, or a whitespace-only string. Spreadsheet\n * clipboard formats (text/html in particular) can encode visually empty\n * cells as runs of `\\n` from stacked `<br>` tags, so the trim check covers\n * those alongside literal \"\". Empty arrays are not coerced because some\n * columns (e.g. multi-enum) emit [] from their own paste logic and that is\n * the desired in-model representation.\n *\n * If schemaPropertyInfo is omitted, the original value is returned unchanged.\n */\nexport function coerceModelCellValue(\n value: unknown,\n schemaPropertyInfo?: SchemaPropertyInfo,\n): unknown {\n if (!schemaPropertyInfo) {\n return value\n }\n if (\n value === null ||\n value === undefined ||\n (typeof value === 'string' && value.trim() === '')\n ) {\n return getEmptyValue(schemaPropertyInfo.isRequired)\n }\n return value\n}\n\ntype PasteValueFn<T, PasteValue> = NonNullable<\n Column<T, unknown, PasteValue>['pasteValue']\n>\n\n/**\n * Wraps a keyed column's `pasteValue` so that an empty pasted cell is coerced\n * to the schema-correct blank for the column. If `schemaPropertyInfo` is\n * omitted (e.g. the grid is rendered without a JSON schema), the original\n * paste behavior is preserved.\n */\nexport function wrapPasteValueWithSchemaCoercion<\n T extends Record<string, unknown>,\n PasteValue,\n>(\n originalPasteValue: PasteValueFn<T, PasteValue> | undefined,\n columnName: string,\n schemaPropertyInfo?: SchemaPropertyInfo,\n): PasteValueFn<T, PasteValue> | undefined {\n if (!originalPasteValue || !schemaPropertyInfo) {\n return originalPasteValue\n }\n return ({ rowData, value, rowIndex }) => {\n const result = originalPasteValue({ rowData, value, rowIndex })\n const cellValue = result[columnName]\n const coerced = coerceModelCellValue(cellValue, schemaPropertyInfo)\n if (coerced === cellValue) {\n return result\n }\n return { ...result, [columnName]: coerced } as T\n }\n}\n"],"mappings":";;AAuBA,SAAgBG,EACdC,GACAC,GACS;AAWT,QAVKA,MAIHD,KAAU,QAET,OAAOA,KAAU,YAAYA,EAAMG,MAAM,KAAK,MAExCL,EAAcG,EAAmBG,WAAW,GAE9CJ;;AAaT,SAAgBS,EAIdE,GACAC,GACAX,GACyC;AAIzC,QAHI,CAACU,KAAsB,CAACV,IACnBU,KAED,EAAEE,YAASb,UAAOc,kBAAe;EACvC,IAAMC,IAASJ,EAAmB;GAAEE;GAASb;GAAOc;GAAU,CAAC,EACzDE,IAAYD,EAAOH,IACnBK,IAAUlB,EAAqBiB,GAAWf,EAAmB;AAInE,SAHIgB,MAAYD,IACPD,IAEF;GAAE,GAAGA;IAASH,IAAaK;GAAS"}
@@ -0,0 +1 @@
1
+ ._visuallyHidden_58da9_1{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._externalWarningPanel_58da9_12{box-sizing:border-box;flex-direction:row;align-items:center;gap:12px;width:500px;padding:16px;display:flex;position:fixed;bottom:160px;right:20px}._externalWarningPanel_58da9_12._externalWarningPanel_58da9_12{background-color:#223549;border-radius:0}._warningIcon_58da9_29{flex-shrink:0}._warningIcon_58da9_29._warningIcon_58da9_29{font-size:40px}._warningTextContainer_58da9_36{flex:1}._warningTitleText_58da9_40._warningTitleText_58da9_40{color:#fff;font-size:14px;font-weight:700;line-height:1.4}._warningCloseButton_58da9_47._warningCloseButton_58da9_47{color:#fff;flex-shrink:0;align-self:flex-start}._warningCloseButton_58da9_47._warningCloseButton_58da9_47:hover{color:#889baf}._progressPanel_58da9_56{box-sizing:border-box;flex-direction:column;gap:4px;width:500px;height:150px;padding:16px;display:flex;position:fixed;bottom:20px;right:20px}._progressPanel_58da9_56._progressPanel_58da9_56{background-color:#223549;border-radius:0}._progressTitleText_58da9_73._progressTitleText_58da9_73{color:#fff;font-size:14px;line-height:1.4}._progressFileNameText_58da9_79{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._progressFileNameText_58da9_79._progressFileNameText_58da9_79{color:#889baf;font-size:13px;line-height:1.4}._progressFooter_58da9_90{flex:1;align-items:center;gap:8px;margin-top:auto;display:flex}._progressBarContainer_58da9_98{flex-direction:column;flex:1;gap:4px;display:flex}._progressStats_58da9_105{justify-content:space-between;display:flex}._progressStatsText_58da9_110._progressStatsText_58da9_110{color:#889baf;font-size:12px}._progressBar_58da9_98 .MuiLinearProgress-bar{background-color:#469285}._cancelButtonContainer_58da9_119{flex-shrink:0;justify-content:center;width:80px;display:flex}._cancelButton_58da9_119._cancelButton_58da9_119{color:#fff;border-color:#fff;min-width:0;padding:10px 16px;font-size:.75rem;line-height:1}._cancelButton_58da9_119._cancelButton_58da9_119:hover{color:#889baf;border-color:#889baf}
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadIneligibleForPackagingFilesFromListButton.d.ts","sourceRoot":"","sources":["../../../src/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.tsx"],"names":[],"mappings":"AAoDA,MAAM,MAAM,sDAAsD,GAAG;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;CAC5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,sDAAsD,kDAwrB9D;AAED,eAAe,iDAAiD,CAAA"}
1
+ {"version":3,"file":"DownloadIneligibleForPackagingFilesFromListButton.d.ts","sourceRoot":"","sources":["../../../src/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.tsx"],"names":[],"mappings":"AAoEA,MAAM,MAAM,sDAAsD,GAAG;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;CAC5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,sDAAsD,kDAw0B9D;AAED,eAAe,iDAAiD,CAAA"}