@tellescope/react-components 1.205.0 → 1.206.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 (54) hide show
  1. package/lib/cjs/Forms/form_responses.d.ts +6 -2
  2. package/lib/cjs/Forms/form_responses.d.ts.map +1 -1
  3. package/lib/cjs/Forms/form_responses.js +8 -7
  4. package/lib/cjs/Forms/form_responses.js.map +1 -1
  5. package/lib/cjs/Forms/forms.d.ts +4 -1
  6. package/lib/cjs/Forms/forms.d.ts.map +1 -1
  7. package/lib/cjs/Forms/forms.js +6 -6
  8. package/lib/cjs/Forms/forms.js.map +1 -1
  9. package/lib/cjs/Forms/inputs.d.ts +8 -3
  10. package/lib/cjs/Forms/inputs.d.ts.map +1 -1
  11. package/lib/cjs/Forms/inputs.js +51 -34
  12. package/lib/cjs/Forms/inputs.js.map +1 -1
  13. package/lib/cjs/displays.d.ts +2 -0
  14. package/lib/cjs/displays.d.ts.map +1 -1
  15. package/lib/cjs/displays.js.map +1 -1
  16. package/lib/cjs/layout.d.ts +2 -1
  17. package/lib/cjs/layout.d.ts.map +1 -1
  18. package/lib/cjs/layout.js +2 -2
  19. package/lib/cjs/layout.js.map +1 -1
  20. package/lib/esm/CMS/components.d.ts +1 -0
  21. package/lib/esm/CMS/components.d.ts.map +1 -1
  22. package/lib/esm/Forms/form_responses.d.ts +7 -2
  23. package/lib/esm/Forms/form_responses.d.ts.map +1 -1
  24. package/lib/esm/Forms/form_responses.js +8 -7
  25. package/lib/esm/Forms/form_responses.js.map +1 -1
  26. package/lib/esm/Forms/forms.d.ts +7 -4
  27. package/lib/esm/Forms/forms.d.ts.map +1 -1
  28. package/lib/esm/Forms/forms.js +6 -6
  29. package/lib/esm/Forms/forms.js.map +1 -1
  30. package/lib/esm/Forms/hooks.d.ts +1 -0
  31. package/lib/esm/Forms/hooks.d.ts.map +1 -1
  32. package/lib/esm/Forms/inputs.d.ts +9 -4
  33. package/lib/esm/Forms/inputs.d.ts.map +1 -1
  34. package/lib/esm/Forms/inputs.js +51 -34
  35. package/lib/esm/Forms/inputs.js.map +1 -1
  36. package/lib/esm/controls.d.ts +2 -2
  37. package/lib/esm/displays.d.ts +2 -0
  38. package/lib/esm/displays.d.ts.map +1 -1
  39. package/lib/esm/displays.js.map +1 -1
  40. package/lib/esm/inputs.d.ts +1 -1
  41. package/lib/esm/inputs.native.d.ts +1 -0
  42. package/lib/esm/inputs.native.d.ts.map +1 -1
  43. package/lib/esm/layout.d.ts +2 -1
  44. package/lib/esm/layout.d.ts.map +1 -1
  45. package/lib/esm/layout.js +2 -2
  46. package/lib/esm/layout.js.map +1 -1
  47. package/lib/esm/state.d.ts +52 -52
  48. package/lib/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +9 -9
  50. package/src/Forms/form_responses.tsx +9 -8
  51. package/src/Forms/forms.tsx +9 -1
  52. package/src/Forms/inputs.tsx +38 -5
  53. package/src/displays.tsx +2 -0
  54. package/src/layout.tsx +3 -2
@@ -360,7 +360,7 @@ var NumberInput = function (_a) {
360
360
  exports.NumberInput = NumberInput;
361
361
  var InsuranceInput = function (_a) {
362
362
  var _b, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
363
- var field = _a.field, value = _a.value, onChange = _a.onChange, form = _a.form, responses = _a.responses, enduser = _a.enduser, props = __rest(_a, ["field", "value", "onChange", "form", "responses", "enduser"]);
363
+ var field = _a.field, onDatabaseSelect = _a.onDatabaseSelect, value = _a.value, onChange = _a.onChange, form = _a.form, responses = _a.responses, enduser = _a.enduser, props = __rest(_a, ["field", "onDatabaseSelect", "value", "onChange", "form", "responses", "enduser"]);
364
364
  var session = (0, __1.useResolvedSession)();
365
365
  var _t = (0, react_1.useState)([]), payers = _t[0], setPayers = _t[1];
366
366
  var _u = (0, react_1.useState)(''), query = _u[0], setQuery = _u[1];
@@ -399,6 +399,7 @@ var InsuranceInput = function (_a) {
399
399
  name: ((_e = (_d = c.values.find(function (v) { var _a, _b; return ((_b = (_a = v.label) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'name'; })) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.toString()) || '',
400
400
  state: ((_g = (_f = c.values.find(function (v) { var _a, _b; return ((_b = (_a = v.label) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'state'; })) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.toString()) || '',
401
401
  type: ((_j = (_h = c.values.find(function (v) { var _a, _b; return ((_b = (_a = v.label) === null || _a === void 0 ? void 0 : _a.trim()) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'type'; })) === null || _h === void 0 ? void 0 : _h.value) === null || _j === void 0 ? void 0 : _j.toString()) || '',
402
+ databaseRecord: c,
402
403
  });
403
404
  })
404
405
  .filter(function (c) { return !c.state || !state || (c.state === state); }));
@@ -443,11 +444,15 @@ var InsuranceInput = function (_a) {
443
444
  setQuery(v);
444
445
  } }
445
446
  : function (e, v) {
446
- var _a, _b;
447
+ var _a, _b, _d;
447
448
  if (v) {
448
449
  setQuery(v);
449
450
  }
450
- onChange(__assign(__assign({}, value), { payerName: v || '', payerId: ((_a = payers.find(function (p) { return p.name === v; })) === null || _a === void 0 ? void 0 : _a.id) || '', payerType: ((_b = payers.find(function (p) { return p.name === v; })) === null || _b === void 0 ? void 0 : _b.type) || '' }), field.id);
451
+ var databaseRecord = (_a = payers.find(function (p) { return p.name === v; })) === null || _a === void 0 ? void 0 : _a.databaseRecord;
452
+ if (databaseRecord) {
453
+ onDatabaseSelect === null || onDatabaseSelect === void 0 ? void 0 : onDatabaseSelect([databaseRecord]);
454
+ }
455
+ onChange(__assign(__assign({}, value), { payerName: v || '', payerId: ((_b = payers.find(function (p) { return p.name === v; })) === null || _b === void 0 ? void 0 : _b.id) || '', payerType: ((_d = payers.find(function (p) { return p.name === v; })) === null || _d === void 0 ? void 0 : _d.type) || '' }), field.id);
451
456
  }, renderInput: function (params) {
452
457
  var _a;
453
458
  return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { InputProps: __assign(__assign({}, params.InputProps), { sx: exports.defaultInputProps.sx }), required: !field.isOptional, size: "small", label: "Insurer", placeholder: ((_a = field.options) === null || _a === void 0 ? void 0 : _a.dataSource) === constants_1.CANVAS_TITLE ? "Search insurer..." : "Insurer" })));
@@ -992,7 +997,17 @@ var useDatabaseChoices = function (_a) {
992
997
  preventRefetch[databaseId + field.id + lastId] = false;
993
998
  });
994
999
  }, [session, field, databaseId, renderCount]);
1000
+ var addChoice = (0, react_1.useCallback)(function (record) {
1001
+ if (!choicesForDatabase[databaseId]) {
1002
+ choicesForDatabase[databaseId] = {
1003
+ done: false,
1004
+ records: [],
1005
+ };
1006
+ }
1007
+ choicesForDatabase[databaseId].records.push(record);
1008
+ }, [choicesForDatabase, databaseId]);
995
1009
  return {
1010
+ addChoice: addChoice,
996
1011
  doneLoading: (_d = (_b = choicesForDatabase[databaseId]) === null || _b === void 0 ? void 0 : _b.done) !== null && _d !== void 0 ? _d : false,
997
1012
  choices: __spreadArray(__spreadArray([], (_f = (_e = choicesForDatabase[databaseId]) === null || _e === void 0 ? void 0 : _e.records) !== null && _f !== void 0 ? _f : [], true), (otherAnswers || []).map(function (v) {
998
1013
  var _a;
@@ -1033,14 +1048,14 @@ var get_other_answers = function (_value, typing) {
1033
1048
  return [];
1034
1049
  };
1035
1050
  var DatabaseSelectInput = function (_a) {
1036
- var _b, _d, _e, _f;
1037
- var field = _a.field, _value = _a.value, onChange = _a.onChange, onDatabaseSelect = _a.onDatabaseSelect, responses = _a.responses, size = _a.size, disabled = _a.disabled;
1038
- var _g = (0, react_1.useState)(''), typing = _g[0], setTyping = _g[1];
1039
- var _h = useDatabaseChoices({
1051
+ var _b, _d, _e, _f, _g, _h;
1052
+ var AddToDatabase = _a.AddToDatabase, field = _a.field, _value = _a.value, onChange = _a.onChange, onDatabaseSelect = _a.onDatabaseSelect, responses = _a.responses, size = _a.size, disabled = _a.disabled;
1053
+ var _j = (0, react_1.useState)(''), typing = _j[0], setTyping = _j[1];
1054
+ var _k = useDatabaseChoices({
1040
1055
  databaseId: (_b = field.options) === null || _b === void 0 ? void 0 : _b.databaseId,
1041
1056
  field: field,
1042
1057
  otherAnswers: get_other_answers(_value, ((_d = field === null || field === void 0 ? void 0 : field.options) === null || _d === void 0 ? void 0 : _d.other) ? typing : undefined),
1043
- }), choices = _h.choices, doneLoading = _h.doneLoading;
1058
+ }), addChoice = _k.addChoice, choices = _k.choices, doneLoading = _k.doneLoading;
1044
1059
  var value = react_1.default.useMemo(function () {
1045
1060
  var _a, _b;
1046
1061
  try {
@@ -1113,32 +1128,34 @@ var DatabaseSelectInput = function (_a) {
1113
1128
  }, [field, filteredChoicesWithPotentialDuplicates]);
1114
1129
  if (!doneLoading)
1115
1130
  return (0, jsx_runtime_1.jsx)(LinearProgress_1.default, {});
1116
- return ((0, jsx_runtime_1.jsx)(material_1.Autocomplete, { id: field.id, freeSolo: false, size: size, componentsProps: { popper: { sx: { wordBreak: "break-word" } } }, options: filteredChoices, multiple: true, getOptionLabel: function (o) { return (Array.isArray(o) // edge case
1117
- ? ''
1118
- : label_for_database_record(field, o)); }, value: value, disabled: disabled, onChange: function (_, v) {
1119
- var _a, _b, _d, _e;
1120
- if (v.length && onDatabaseSelect) {
1121
- onDatabaseSelect(v);
1122
- }
1123
- return onChange((!((_a = field.options) === null || _a === void 0 ? void 0 : _a.radio)
1124
- ? v.map(function (_v) {
1125
- var _a;
1126
- return ({
1127
- databaseId: (_a = field.options) === null || _a === void 0 ? void 0 : _a.databaseId,
1128
- recordId: _v.id,
1129
- text: label_for_database_record(field, _v),
1130
- });
1131
- })
1132
- : [{
1133
- databaseId: (_b = field.options) === null || _b === void 0 ? void 0 : _b.databaseId,
1134
- recordId: (_e = (_d = v[v.length - 1]) === null || _d === void 0 ? void 0 : _d.id) !== null && _e !== void 0 ? _e : '',
1135
- text: label_for_database_record(field, v[v.length - 1]),
1136
- }]), field.id);
1137
- }, inputValue: typing, onInputChange: function (e, v) { return e && setTyping(v); }, renderInput: function (params) { return (0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { InputProps: __assign(__assign({}, params.InputProps), { sx: exports.defaultInputProps.sx }) })); },
1138
- // use custom Chip to ensure very long entries break properly (whitespace: normal)
1139
- renderTags: function (value, getTagProps) {
1140
- return value.map(function (value, index) { return ((0, jsx_runtime_1.jsx)(material_1.Chip, __assign({ label: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ style: { whiteSpace: 'normal' } }, { children: Array.isArray(value) ? '' : label_for_database_record(field, value) })) }, getTagProps({ index: index }), { sx: { height: "100%", py: 0.5 } }))); });
1141
- } }));
1131
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Autocomplete, { id: field.id, freeSolo: false, size: size, componentsProps: { popper: { sx: { wordBreak: "break-word" } } }, options: filteredChoices, multiple: true, getOptionLabel: function (o) { return (Array.isArray(o) // edge case
1132
+ ? ''
1133
+ : label_for_database_record(field, o)); }, value: value, disabled: disabled, onChange: function (_, v) {
1134
+ var _a, _b, _d, _e, _f;
1135
+ if (v.length && onDatabaseSelect) {
1136
+ onDatabaseSelect(((_a = field.options) === null || _a === void 0 ? void 0 : _a.radio)
1137
+ ? [v[v.length - 1]] // if radio, only last selected
1138
+ : v);
1139
+ }
1140
+ return onChange((!((_b = field.options) === null || _b === void 0 ? void 0 : _b.radio)
1141
+ ? v.map(function (_v) {
1142
+ var _a;
1143
+ return ({
1144
+ databaseId: (_a = field.options) === null || _a === void 0 ? void 0 : _a.databaseId,
1145
+ recordId: _v.id,
1146
+ text: label_for_database_record(field, _v),
1147
+ });
1148
+ })
1149
+ : [{
1150
+ databaseId: (_d = field.options) === null || _d === void 0 ? void 0 : _d.databaseId,
1151
+ recordId: (_f = (_e = v[v.length - 1]) === null || _e === void 0 ? void 0 : _e.id) !== null && _f !== void 0 ? _f : '',
1152
+ text: label_for_database_record(field, v[v.length - 1]),
1153
+ }]), field.id);
1154
+ }, inputValue: typing, onInputChange: function (e, v) { return e && setTyping(v); }, renderInput: function (params) { return (0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { InputProps: __assign(__assign({}, params.InputProps), { sx: exports.defaultInputProps.sx }) })); },
1155
+ // use custom Chip to ensure very long entries break properly (whitespace: normal)
1156
+ renderTags: function (value, getTagProps) {
1157
+ return value.map(function (value, index) { return ((0, jsx_runtime_1.jsx)(material_1.Chip, __assign({ label: (0, jsx_runtime_1.jsx)(material_1.Typography, __assign({ style: { whiteSpace: 'normal' } }, { children: Array.isArray(value) ? '' : label_for_database_record(field, value) })) }, getTagProps({ index: index }), { sx: { height: "100%", py: 0.5 } }))); });
1158
+ } }), AddToDatabase && ((_g = field === null || field === void 0 ? void 0 : field.options) === null || _g === void 0 ? void 0 : _g.allowAddToDatabase) && ((0, jsx_runtime_1.jsx)(AddToDatabase, { databaseId: (_h = field.options) === null || _h === void 0 ? void 0 : _h.databaseId, onAdd: addChoice }))] }));
1142
1159
  };
1143
1160
  exports.DatabaseSelectInput = DatabaseSelectInput;
1144
1161
  var displayTermsCache = undefined;