@aehrc/smart-forms-renderer 1.0.0-alpha.84 → 1.0.0-alpha.85

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 (52) hide show
  1. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +3 -6
  2. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
  3. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +3 -6
  4. package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
  5. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js +6 -22
  6. package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -1
  7. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +4 -4
  8. package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -1
  9. package/lib/components/FormComponents/DecimalItem/DecimalField.js +3 -3
  10. package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
  11. package/lib/components/FormComponents/IntegerItem/IntegerField.js +3 -3
  12. package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
  13. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +19 -3
  14. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -1
  15. package/lib/components/FormComponents/QuantityItem/QuantityField.js +19 -3
  16. package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -1
  17. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +19 -6
  18. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -1
  19. package/lib/components/FormComponents/StringItem/StringField.js +3 -3
  20. package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
  21. package/lib/components/FormComponents/TextItem/TextField.js +4 -4
  22. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
  23. package/lib/hooks/useCodingCalculatedExpression.js +5 -0
  24. package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
  25. package/lib/hooks/useDateCalculatedExpression.js +5 -0
  26. package/lib/hooks/useDateCalculatedExpression.js.map +1 -1
  27. package/lib/hooks/useDateTimeCalculatedExpression.js +5 -0
  28. package/lib/hooks/useDateTimeCalculatedExpression.js.map +1 -1
  29. package/lib/hooks/useDecimalCalculatedExpression.js +5 -0
  30. package/lib/hooks/useDecimalCalculatedExpression.js.map +1 -1
  31. package/lib/hooks/useIntegerCalculatedExpression.js +5 -0
  32. package/lib/hooks/useIntegerCalculatedExpression.js.map +1 -1
  33. package/lib/hooks/useQuantityCalculatedExpression.js +5 -0
  34. package/lib/hooks/useQuantityCalculatedExpression.js.map +1 -1
  35. package/package.json +2 -2
  36. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +3 -5
  37. package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +3 -5
  38. package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx +3 -3
  39. package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +3 -4
  40. package/src/components/FormComponents/DecimalItem/DecimalField.tsx +2 -2
  41. package/src/components/FormComponents/IntegerItem/IntegerField.tsx +2 -2
  42. package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +20 -3
  43. package/src/components/FormComponents/QuantityItem/QuantityField.tsx +19 -2
  44. package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +20 -7
  45. package/src/components/FormComponents/StringItem/StringField.tsx +2 -2
  46. package/src/components/FormComponents/TextItem/TextField.tsx +2 -2
  47. package/src/hooks/useCodingCalculatedExpression.ts +6 -0
  48. package/src/hooks/useDateCalculatedExpression.ts +6 -0
  49. package/src/hooks/useDateTimeCalculatedExpression.ts +6 -0
  50. package/src/hooks/useDecimalCalculatedExpression.ts +6 -0
  51. package/src/hooks/useIntegerCalculatedExpression.ts +6 -0
  52. package/src/hooks/useQuantityCalculatedExpression.ts +6 -0
@@ -6,17 +6,14 @@ import { compareAnswerOptionValue, isOptionDisabled } from '../../../utils/choic
6
6
  import { useRendererStylingStore } from '../../../stores';
7
7
  import { StyledRequiredTypography } from '../Item.styles';
8
8
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
9
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
9
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
10
10
  function ChoiceSelectAnswerOptionFields(props) {
11
11
  const { qItem, options, valueSelect, feedback, readOnly, expressionUpdated, isTabled, renderingExtensions, answerOptionsToggleExpressionsMap, onSelectChange } = props;
12
12
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
13
13
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
14
14
  const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
15
- return (_jsxs(_Fragment, { children: [_jsx(Autocomplete, { id: qItem.type + '-' + qItem.linkId, value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, options: options, getOptionDisabled: (option) => isOptionDisabled(option, answerOptionsToggleExpressionsMap), getOptionLabel: (option) => getAnswerOptionLabel(option), isOptionEqualToValue: (option, value) => compareAnswerOptionValue(option, value), onChange: (_, newValue) => onSelectChange(newValue), openOnFocus: true, autoHighlight: true, sx: [
16
- expressionUpdateFadingGlow(expressionUpdated),
17
- { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }
18
- ], size: "small", disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', renderInput: (params) => (_jsx(StandardTextField, Object.assign({ textFieldWidth: textFieldWidth, isTabled: isTabled, placeholder: entryFormat || displayPrompt }, params, { slotProps: {
19
- input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', endAdornment: (_jsxs(_Fragment, { children: [params.InputProps.endAdornment, _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] })) })
15
+ return (_jsxs(_Fragment, { children: [_jsx(Autocomplete, { id: qItem.type + '-' + qItem.linkId, value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, options: options, getOptionDisabled: (option) => isOptionDisabled(option, answerOptionsToggleExpressionsMap), getOptionLabel: (option) => getAnswerOptionLabel(option), isOptionEqualToValue: (option, value) => compareAnswerOptionValue(option, value), onChange: (_, newValue) => onSelectChange(newValue), openOnFocus: true, autoHighlight: true, sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }, size: "small", disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', renderInput: (params) => (_jsx(StandardTextField, Object.assign({ textFieldWidth: textFieldWidth, isTabled: isTabled, placeholder: entryFormat || displayPrompt }, params, { slotProps: {
16
+ input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', endAdornment: (_jsxs(_Fragment, { children: [params.InputProps.endAdornment, _jsx(ExpressionUpdateFadingIcon, { fadeIn: expressionUpdated, disabled: readOnly }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] })) })
20
17
  } }))) }), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
21
18
  }
22
19
  export default ChoiceSelectAnswerOptionFields;
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceSelectAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAerF,SAAS,8BAA8B,CAAC,KAA0C;IAChF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,iCAAiC,EACjC,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;IAExE,OAAO,CACL,8BACE,KAAC,YAAY,IACX,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,iCAAiC,CAAC,EAC1F,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACxD,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,EAChF,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EACnD,WAAW,QACX,aAAa,QACb,EAAE,EAAE;oBACF,0BAA0B,CAAC,iBAAiB,CAAC;oBAC7C,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;iBAC5E,EACD,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,iBAAiB,kBAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IAAI,aAAa,IACrC,MAAM,IACV,SAAS,EAAE;wBACT,KAAK,kCACA,MAAM,CAAC,UAAU,KACpB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,YAAY,EAAE,CACZ,8BACG,MAAM,CAAC,UAAU,CAAC,YAAY,EAC/B,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACnE,CACJ,GACF;qBACF,IACD,CACH,GACD,EAED,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"ChoiceSelectAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx"],"names":[],"mappings":";AAsBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAejF,SAAS,8BAA8B,CAAC,KAA0C;IAChF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,iCAAiC,EACjC,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;IAExE,OAAO,CACL,8BACE,KAAC,YAAY,IACX,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EACnC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,iCAAiC,CAAC,EAC1F,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACxD,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,EAChF,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EACnD,WAAW,QACX,aAAa,QACb,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,EAC/E,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,iBAAiB,kBAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IAAI,aAAa,IACrC,MAAM,IACV,SAAS,EAAE;wBACT,KAAK,kCACA,MAAM,CAAC,UAAU,KACpB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,YAAY,EAAE,CACZ,8BACG,MAAM,CAAC,UAAU,CAAC,YAAY,EAC/B,KAAC,0BAA0B,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC7E,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACnE,CACJ,GACF;qBACF,IACD,CACH,GACD,EAED,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,8BAA8B,CAAC"}
@@ -24,20 +24,17 @@ import { useRendererStylingStore } from '../../../stores';
24
24
  import { StyledRequiredTypography } from '../Item.styles';
25
25
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
26
26
  import { isCodingDisabled } from '../../../utils/choice';
27
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
27
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
28
28
  function ChoiceSelectAnswerValueSetFields(props) {
29
29
  const { qItem, codings, valueCoding, terminologyError, feedback, readOnly, expressionUpdated, isTabled, renderingExtensions, answerOptionsToggleExpressionsMap, onSelectChange } = props;
30
30
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
31
31
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
32
32
  const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
33
33
  if (codings.length > 0) {
34
- return (_jsxs(_Fragment, { children: [_jsx(Autocomplete, Object.assign({}, (!isTabled && { id: `${qItem.type}-${qItem.linkId}` }), { options: codings, getOptionDisabled: (coding) => isCodingDisabled(coding, answerOptionsToggleExpressionsMap), getOptionLabel: (option) => { var _a; return (_a = option.display) !== null && _a !== void 0 ? _a : `${option.code}`; }, value: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, onChange: (_, newValue) => onSelectChange(newValue), openOnFocus: true, autoHighlight: true, sx: [
35
- expressionUpdateFadingGlow(expressionUpdated),
36
- { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }
37
- ], size: "small", disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', renderInput: (params) => {
34
+ return (_jsxs(_Fragment, { children: [_jsx(Autocomplete, Object.assign({}, (!isTabled && { id: `${qItem.type}-${qItem.linkId}` }), { options: codings, getOptionDisabled: (coding) => isCodingDisabled(coding, answerOptionsToggleExpressionsMap), getOptionLabel: (option) => { var _a; return (_a = option.display) !== null && _a !== void 0 ? _a : `${option.code}`; }, value: valueCoding !== null && valueCoding !== void 0 ? valueCoding : null, onChange: (_, newValue) => onSelectChange(newValue), openOnFocus: true, autoHighlight: true, sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }, size: "small", disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', renderInput: (params) => {
38
35
  var _a;
39
36
  return (_jsx(StandardTextField, Object.assign({ textFieldWidth: textFieldWidth, isTabled: isTabled, placeholder: entryFormat || displayPrompt }, params, { slotProps: {
40
- input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', endAdornment: (_jsxs(_Fragment, { children: [params.InputProps.endAdornment, _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] })), inputProps: Object.assign(Object.assign({}, params.inputProps), { 'aria-label': (_a = qItem.text) !== null && _a !== void 0 ? _a : 'Unnamed choice dropdown' }) })
37
+ input: Object.assign(Object.assign({}, params.InputProps), { readOnly: readOnly && readOnlyVisualStyle === 'readonly', endAdornment: (_jsxs(_Fragment, { children: [params.InputProps.endAdornment, _jsx(ExpressionUpdateFadingIcon, { fadeIn: expressionUpdated, disabled: readOnly }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] })), inputProps: Object.assign(Object.assign({}, params.inputProps), { 'aria-label': (_a = qItem.text) !== null && _a !== void 0 ? _a : 'Unnamed choice dropdown' }) })
41
38
  }, "data-test": "q-item-choice-select-answer-value-set-field" })));
42
39
  } })), feedback ? _jsx(StyledRequiredTypography, { children: feedback }) : null] }));
43
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceSelectAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAOlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAgBrF,SAAS,gCAAgC,CAAC,KAA4C;IACpF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,iCAAiC,EACjC,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,8BACE,KAAC,YAAY,oBACP,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,IAC1D,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAC5B,gBAAgB,CAAC,MAAM,EAAE,iCAAiC,CAAC,EAE7D,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,OAAO,mCAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA,EAAA,EAC9D,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EACnD,WAAW,QACX,aAAa,QACb,EAAE,EAAE;wBACF,0BAA0B,CAAC,iBAAiB,CAAC;wBAC7C,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;qBAC5E,EACD,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;;wBAAC,OAAA,CACvB,KAAC,iBAAiB,kBAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IAAI,aAAa,IACrC,MAAM,IACV,SAAS,EAAE;gCACT,KAAK,kCACA,MAAM,CAAC,UAAU,KACpB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,YAAY,EAAE,CACZ,8BACG,MAAM,CAAC,UAAU,CAAC,YAAY,EAC/B,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACnE,CACJ,EACD,UAAU,kCACL,MAAM,CAAC,UAAU,KACpB,YAAY,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,yBAAyB,MAExD;6BACF,eACS,6CAA6C,IACvD,CACH,CAAA;qBAAA,IACD,EAED,QAAQ,CAAC,CAAC,CAAC,KAAC,wBAAwB,cAAE,QAAQ,GAA4B,CAAC,CAAC,CAAC,IAAI,IACjF,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,CACL,MAAC,WAAW,IAAC,KAAK,EAAC,OAAO,aACxB,KAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI,EACpD,MAAC,UAAU,IAAC,SAAS,EAAC,KAAK,oFAC2C,GAAG,EACtE,gBAAgB,CAAC,cAAc,IACrB,IACD,CACf,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CACL,KAAC,UAAU,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,sCAE7C,CACd,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,WAAW,IAAC,KAAK,EAAC,OAAO,aACxB,KAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI,EACpD,KAAC,UAAU,IAAC,SAAS,EAAC,KAAK,iFAEd,IACD,CACf,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
1
+ {"version":3,"file":"ChoiceSelectAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx"],"names":[],"mappings":"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"}
@@ -1,26 +1,10 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /*
3
- * Copyright 2025 Commonwealth Scientific and Industrial Research
4
- * Organisation (CSIRO) ABN 41 687 119 230.
5
- *
6
- * Licensed under the Apache License, Version 2.0 (the "License");
7
- * you may not use this file except in compliance with the License.
8
- * You may obtain a copy of the License at
9
- *
10
- * http://www.apache.org/licenses/LICENSE-2.0
11
- *
12
- * Unless required by applicable law or agreed to in writing, software
13
- * distributed under the License is distributed on an "AS IS" BASIS,
14
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- * See the License for the specific language governing permissions and
16
- * limitations under the License.
17
- */
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
2
  import { useRef } from 'react';
19
3
  import InputAdornment from '@mui/material/InputAdornment';
20
4
  import { StandardTextField } from '../../Textfield.styles';
21
5
  import DatePicker from './DatePicker';
22
6
  import { useRendererStylingStore } from '../../../../stores';
23
- import { expressionUpdateFadingGlow } from '../../../ExpressionUpdateFadingGlow.styles';
7
+ import ExpressionUpdateFadingIcon from '../../ItemParts/ExpressionUpdateFadingIcon';
24
8
  function CustomDateField(props) {
25
9
  const { linkId, itemType, itemText, valueDate, input, feedback, isFocused, displayPrompt, entryFormat, readOnly, calcExpUpdated, isPartOfDateTime, isTabled, setFocused, onInputChange, onDateBlur, onSelectDate } = props;
26
10
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
@@ -38,12 +22,12 @@ function CustomDateField(props) {
38
22
  return (_jsx(StandardTextField, Object.assign({}, (!isTabled && { id: id }), { ref: anchorRef, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, value: input, error: !!feedback, onChange: (e) => onInputChange(e.target.value), placeholder: placeholderText, disabled: readOnly && readOnlyVisualStyle === 'disabled', size: "small", focused: isFocused, onFocus: () => setFocused(true), onBlur: () => {
39
23
  onDateBlur();
40
24
  setFocused(false);
41
- }, sx: [expressionUpdateFadingGlow(calcExpUpdated)], slotProps: {
25
+ }, slotProps: {
42
26
  input: {
43
27
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
44
- endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(DatePicker, { valueString: valueDate, readOnly: readOnly, anchorEl: anchorRef.current, onSelectDate: (valueDayjs) => {
45
- onSelectDate(valueDayjs.format('DD/MM/YYYY'));
46
- }, onFocus: (focus) => setFocused(focus) }) })),
28
+ endAdornment: (_jsxs(InputAdornment, { position: "end", children: [_jsx(ExpressionUpdateFadingIcon, { fadeIn: calcExpUpdated, disabled: readOnly }), _jsx(DatePicker, { valueString: valueDate, readOnly: readOnly, anchorEl: anchorRef.current, onSelectDate: (valueDayjs) => {
29
+ onSelectDate(valueDayjs.format('DD/MM/YYYY'));
30
+ }, onFocus: (focus) => setFocused(focus) })] })),
47
31
  inputProps: Object.assign({}, (isTabled ? {} : { 'aria-label': itemText !== null && itemText !== void 0 ? itemText : `Unnamed ${itemType} item` }))
48
32
  }
49
33
  }, helperText: feedback })));
@@ -1 +1 @@
1
- {"version":3,"file":"CustomDateField.js","sourceRoot":"","sources":["../../../../../src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomDateField.js","sourceRoot":"","sources":["../../../../../src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ import MuiTextField from '../../TextItem/MuiTextField';
6
6
  import { grey } from '@mui/material/colors';
7
7
  import Typography from '@mui/material/Typography';
8
8
  import { useRendererStylingStore } from '../../../../stores';
9
- import { expressionUpdateFadingGlow } from '../../../ExpressionUpdateFadingGlow.styles';
10
9
  import FormControl from '@mui/material/FormControl';
11
10
  function CustomTimeField(props) {
12
- const { linkId, itemType, timeInput, periodInput, is24HourNotation, feedback, displayPrompt, readOnly, calcExpUpdated, isPartOfDateTime, isTabled, onTimeInputChange, onPeriodChange, onTimeBlur } = props;
11
+ const { linkId, itemType, timeInput, periodInput, is24HourNotation, feedback, displayPrompt, readOnly, isPartOfDateTime, isTabled, onTimeInputChange, onPeriodChange, onTimeBlur } = props;
12
+ // TODO this component doesn't have a calcExpUpdated update animation
13
13
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
14
14
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
15
15
  // If this reusable time field is part of a DateTime component, do not assign an id to the wrapping <Box/>
@@ -17,11 +17,11 @@ function CustomTimeField(props) {
17
17
  const itemId = isPartOfDateTime ? undefined : itemType + '-' + linkId;
18
18
  const timeId = itemType + '-' + linkId + '-time';
19
19
  const periodId = itemType + '-' + linkId + '-period';
20
- return (_jsxs(_Fragment, { children: [_jsxs(Box, { id: itemId, display: "flex", alignItems: "center", columnGap: 1, sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160 }, children: [_jsx(MuiTextField, { id: timeId, value: timeInput, error: !!feedback, fullWidth: true, sx: [expressionUpdateFadingGlow(calcExpUpdated), { flex: 1 }], onChange: (e) => onTimeInputChange(e.target.value), onBlur: onTimeBlur, label: displayPrompt, placeholder: "--:--", disabled: readOnly && readOnlyVisualStyle === 'disabled', size: "small", slotProps: {
20
+ return (_jsxs(_Fragment, { children: [_jsxs(Box, { id: itemId, display: "flex", alignItems: "center", columnGap: 1, sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160 }, children: [_jsx(MuiTextField, { id: timeId, value: timeInput, error: !!feedback, fullWidth: true, sx: { flex: 1 }, onChange: (e) => onTimeInputChange(e.target.value), onBlur: onTimeBlur, label: displayPrompt, placeholder: "--:--", disabled: readOnly && readOnlyVisualStyle === 'disabled', size: "small", slotProps: {
21
21
  input: {
22
22
  readOnly: readOnly && readOnlyVisualStyle === 'readonly'
23
23
  }
24
- } }), _jsx(FormControl, { sx: [expressionUpdateFadingGlow(calcExpUpdated), { flex: 1 }], children: _jsxs(Select, { id: periodId, value: is24HourNotation ? '' : periodInput, error: !!feedback, disabled: (readOnly && readOnlyVisualStyle === 'disabled') || is24HourNotation, readOnly: (readOnly && readOnlyVisualStyle === 'readonly') || is24HourNotation, displayEmpty: true, size: "small", onChange: (e) => onPeriodChange(e.target.value), onBlur: onTimeBlur, children: [_jsx(MenuItem, { value: "", children: _jsx("span", { style: { color: grey['500'] }, children: is24HourNotation ? '-' : 'AM/PM' }) }), _jsx(MenuItem, { value: "AM", children: "AM" }), _jsx(MenuItem, { value: "PM", children: "PM" })] }) })] }), _jsx(Typography, { component: "span", variant: "caption", color: "error", sx: { ml: 1.75, mt: -0.5 }, children: feedback })] }));
24
+ } }), _jsx(FormControl, { sx: { flex: 1 }, children: _jsxs(Select, { id: periodId, value: is24HourNotation ? '' : periodInput, error: !!feedback, disabled: (readOnly && readOnlyVisualStyle === 'disabled') || is24HourNotation, readOnly: (readOnly && readOnlyVisualStyle === 'readonly') || is24HourNotation, displayEmpty: true, size: "small", onChange: (e) => onPeriodChange(e.target.value), onBlur: onTimeBlur, children: [_jsx(MenuItem, { value: "", children: _jsx("span", { style: { color: grey['500'] }, children: is24HourNotation ? '-' : 'AM/PM' }) }), _jsx(MenuItem, { value: "AM", children: "AM" }), _jsx(MenuItem, { value: "PM", children: "PM" })] }) })] }), _jsx(Typography, { component: "span", variant: "caption", color: "error", sx: { ml: 1.75, mt: -0.5 }, children: feedback })] }));
25
25
  }
26
26
  export default CustomTimeField;
27
27
  //# sourceMappingURL=CustomTimeField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomTimeField.js","sourceRoot":"","sources":["../../../../../src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx"],"names":[],"mappings":";AAmBA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,WAAW,MAAM,2BAA2B,CAAC;AAkBpD,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,UAAU,EACX,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,0GAA0G;IAC1G,8FAA8F;IAC9F,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC;IAEtE,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;IAErD,OAAO,CACL,8BACE,MAAC,GAAG,IACF,EAAE,EAAE,MAAM,EACV,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAClE,KAAC,YAAY,IACX,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,SAAS,QACT,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAC7D,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACjF,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;4BACT,KAAK,EAAE;gCACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;6BACzD;yBACF,GACD,EACF,KAAC,WAAW,IAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,YACxE,MAAC,MAAM,IACL,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAC1C,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,CAAC,IAAI,gBAAgB,EAC9E,QAAQ,EAAE,CAAC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,CAAC,IAAI,gBAAgB,EAC9E,YAAY,QACZ,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,MAAM,EAAE,UAAU,aAClB,KAAC,QAAQ,IAAC,KAAK,EAAC,EAAE,YAChB,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,YAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAQ,GACrE,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,IAAI,mBAAc,EAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,IAAI,mBAAc,IAC3B,GACG,IACV,EACN,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,YACpF,QAAQ,GACE,IACZ,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"CustomTimeField.js","sourceRoot":"","sources":["../../../../../src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx"],"names":[],"mappings":";AAmBA,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,WAAW,MAAM,2BAA2B,CAAC;AAkBpD,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,UAAU,EACX,GAAG,KAAK,CAAC;IACV,qEAAqE;IAErE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,0GAA0G;IAC1G,8FAA8F;IAC9F,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC;IAEtE,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;IAErD,OAAO,CACL,8BACE,MAAC,GAAG,IACF,EAAE,EAAE,MAAM,EACV,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAClE,KAAC,YAAY,IACX,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,SAAS,QACT,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EACf,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACjF,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;4BACT,KAAK,EAAE;gCACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;6BACzD;yBACF,GACD,EACF,KAAC,WAAW,IAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAC1B,MAAC,MAAM,IACL,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAC1C,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,CAAC,IAAI,gBAAgB,EAC9E,QAAQ,EAAE,CAAC,QAAQ,IAAI,mBAAmB,KAAK,UAAU,CAAC,IAAI,gBAAgB,EAC9E,YAAY,QACZ,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,MAAM,EAAE,UAAU,aAClB,KAAC,QAAQ,IAAC,KAAK,EAAC,EAAE,YAChB,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,YAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAQ,GACrE,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,IAAI,mBAAc,EAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,IAAI,mBAAc,IAC3B,GACG,IACV,EACN,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,YACpF,QAAQ,GACE,IACZ,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -20,7 +20,7 @@ import { StandardTextField } from '../Textfield.styles';
20
20
  import { useRendererStylingStore } from '../../../stores';
21
21
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
22
22
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
23
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
23
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
24
24
  function DecimalField(props) {
25
25
  const { linkId, itemType, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, calcExpUpdated, isTabled, onInputChange, onBlur } = props;
26
26
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
@@ -32,14 +32,14 @@ function DecimalField(props) {
32
32
  if (entryFormat) {
33
33
  placeholderText = entryFormat;
34
34
  }
35
- return (_jsx(StandardTextField, { id: itemType + '-' + linkId, value: input, error: !!feedback, helperText: feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', placeholder: placeholderText, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, size: "small", sx: [expressionUpdateFadingGlow(calcExpUpdated)], slotProps: {
35
+ return (_jsx(StandardTextField, { id: itemType + '-' + linkId, value: input, error: !!feedback, helperText: feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', placeholder: placeholderText, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, size: "small", slotProps: {
36
36
  htmlInput: {
37
37
  inputMode: 'numeric',
38
38
  pattern: '[0-9]*'
39
39
  },
40
40
  input: {
41
41
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
42
- endAdornment: (_jsxs(InputAdornment, { position: "end", children: [_jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
42
+ endAdornment: (_jsxs(InputAdornment, { position: "end", children: [_jsx(ExpressionUpdateFadingIcon, { fadeIn: calcExpUpdated, disabled: readOnly }), _jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
43
43
  onInputChange('');
44
44
  } }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] }))
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAgBrF,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,eAAe,EAC5B,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,EAChD,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,QAAQ;aAClB;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,aAC5B,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,eACS,sBAAsB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAgBjF,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,eAAe,EAC5B,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,QAAQ;aAClB;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,aAC5B,KAAC,0BAA0B,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC1E,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,eACS,sBAAsB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -20,7 +20,7 @@ import { StandardTextField } from '../Textfield.styles';
20
20
  import { useRendererStylingStore } from '../../../stores';
21
21
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
22
22
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
23
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
23
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
24
24
  function IntegerField(props) {
25
25
  const { linkId, itemType, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, calcExpUpdated, isTabled, onInputChange, onBlur } = props;
26
26
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
@@ -32,14 +32,14 @@ function IntegerField(props) {
32
32
  if (entryFormat) {
33
33
  placeholderText = entryFormat;
34
34
  }
35
- return (_jsx(StandardTextField, { id: itemType + '-' + linkId, value: input, error: !!feedback, helperText: feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', label: displayPrompt, placeholder: placeholderText, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, size: "small", sx: [expressionUpdateFadingGlow(calcExpUpdated)], slotProps: {
35
+ return (_jsx(StandardTextField, { id: itemType + '-' + linkId, value: input, error: !!feedback, helperText: feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', label: displayPrompt, placeholder: placeholderText, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, size: "small", slotProps: {
36
36
  htmlInput: {
37
37
  inputMode: 'numeric',
38
38
  pattern: '[0-9]*'
39
39
  },
40
40
  input: {
41
41
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
42
- endAdornment: (_jsxs(InputAdornment, { position: 'end', children: [_jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
42
+ endAdornment: (_jsxs(InputAdornment, { position: 'end', children: [_jsx(ExpressionUpdateFadingIcon, { fadeIn: calcExpUpdated, disabled: readOnly }), _jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
43
43
  onInputChange('');
44
44
  } }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] }))
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/IntegerItem/IntegerField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAgBrF,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAG,GAAG,CAAC;IAC1B,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,eAAe,EAC5B,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,EAChD,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,QAAQ;aAClB;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAE,KAAK,aAC7B,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,eACS,sBAAsB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"IntegerField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/IntegerItem/IntegerField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAgBjF,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAG,GAAG,CAAC;IAC1B,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,eAAe,EAC5B,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;YACT,SAAS,EAAE;gBACT,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,QAAQ;aAClB;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAE,KAAK,aAC7B,KAAC,0BAA0B,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC1E,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,eACS,sBAAsB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -1,18 +1,34 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright 2025 Commonwealth Scientific and Industrial Research
4
+ * Organisation (CSIRO) ABN 41 687 119 230.
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
2
18
  import Autocomplete from '@mui/material/Autocomplete';
3
19
  import MuiTextField from '../TextItem/MuiTextField';
4
20
  import Box from '@mui/material/Box';
5
21
  import Typography from '@mui/material/Typography';
6
22
  import { useRendererStylingStore } from '../../../stores';
7
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
8
23
  function QuantityComparatorField(props) {
9
- const { linkId, itemType, options, valueSelect, readOnly, calcExpUpdated, onChange } = props;
24
+ const { linkId, itemType, options, valueSelect, readOnly, onChange } = props;
25
+ // TODO this component doesn't have a calcExpUpdated update animation
10
26
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
11
27
  const hideQuantityComparatorField = useRendererStylingStore.use.hideQuantityComparatorField();
12
28
  if (hideQuantityComparatorField) {
13
29
  return null;
14
30
  }
15
- return (_jsxs(Box, { children: [_jsx(Autocomplete, { id: itemType + '-' + linkId + '-comparator', value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, options: options, onChange: (_, newValue) => onChange(newValue), autoHighlight: true, sx: [expressionUpdateFadingGlow(calcExpUpdated), { width: 88 }], disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', size: "small", renderInput: (params) => _jsx(MuiTextField, Object.assign({ sx: { width: 88 } }, params)) }), _jsx(Typography, { variant: "caption", color: "text.secondary", children: "(optional)" })] }));
31
+ return (_jsxs(Box, { children: [_jsx(Autocomplete, { id: itemType + '-' + linkId + '-comparator', value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, options: options, onChange: (_, newValue) => onChange(newValue), autoHighlight: true, sx: { width: 88 }, disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', size: "small", renderInput: (params) => _jsx(MuiTextField, Object.assign({ sx: { width: 88 } }, params)) }), _jsx(Typography, { variant: "caption", color: "text.secondary", children: "(optional)" })] }));
16
32
  }
17
33
  export default QuantityComparatorField;
18
34
  //# sourceMappingURL=QuantityComparatorField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuantityComparatorField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAEtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAYrF,SAAS,uBAAuB,CAAC,KAAmC;IAClE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE7F,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC;IAC9F,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,MAAC,GAAG,eACF,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,aAAa,EAC3C,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAkC,CAAC,EACvE,aAAa,QACb,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAC/D,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAC,YAAY,kBAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAM,MAAM,EAAI,GACxE,EACF,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,gBAAgB,2BAEvC,IACT,CACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"QuantityComparatorField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAEtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAY1D,SAAS,uBAAuB,CAAC,KAAmC;IAClE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC7E,qEAAqE;IAErE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC;IAC9F,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,MAAC,GAAG,eACF,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,aAAa,EAC3C,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAkC,CAAC,EACvE,aAAa,QACb,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EACjB,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAC,YAAY,kBAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAM,MAAM,EAAI,GACxE,EACF,KAAC,UAAU,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,gBAAgB,2BAEvC,IACT,CACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -1,10 +1,26 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright 2025 Commonwealth Scientific and Industrial Research
4
+ * Organisation (CSIRO) ABN 41 687 119 230.
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
2
18
  import InputAdornment from '@mui/material/InputAdornment';
3
19
  import { StandardTextField } from '../Textfield.styles';
4
20
  import { useRendererStylingStore } from '../../../stores';
5
21
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
6
22
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
7
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
23
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
8
24
  function QuantityField(props) {
9
25
  const { linkId, itemType, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, calcExpUpdated, isTabled, onInputChange, onBlur } = props;
10
26
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
@@ -16,11 +32,11 @@ function QuantityField(props) {
16
32
  if (entryFormat) {
17
33
  placeholderText = entryFormat;
18
34
  }
19
- return (_jsx(StandardTextField, { id: itemType + '-' + linkId + '-input', value: input, error: !!feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', placeholder: placeholderText, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, size: "small", sx: [expressionUpdateFadingGlow(calcExpUpdated)], slotProps: {
35
+ return (_jsx(StandardTextField, { id: itemType + '-' + linkId + '-input', value: input, error: !!feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', placeholder: placeholderText, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, size: "small", slotProps: {
20
36
  htmlInput: { inputMode: 'numeric', pattern: '[0-9]*' },
21
37
  input: {
22
38
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
23
- endAdornment: (_jsxs(InputAdornment, { position: 'end', children: [_jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
39
+ endAdornment: (_jsxs(InputAdornment, { position: 'end', children: [_jsx(ExpressionUpdateFadingIcon, { fadeIn: calcExpUpdated, disabled: readOnly }), _jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
24
40
  onInputChange('');
25
41
  } }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] }))
26
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QuantityField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityField.tsx"],"names":[],"mappings":";AAAA,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAgBrF,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,QAAQ,EACtC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,eAAe,EAC5B,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,EAChD,SAAS,EAAE;YACT,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;YACtD,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAE,KAAK,aAC7B,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,EACD,UAAU,EAAE,QAAQ,eACV,uBAAuB,GACjC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"QuantityField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAgBjF,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,eAAe,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,QAAQ,EACtC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,eAAe,EAC5B,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;YACT,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;YACtD,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAE,KAAK,aAC7B,KAAC,0BAA0B,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC1E,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,EACD,UAAU,EAAE,QAAQ,eACV,uBAAuB,GACjC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -1,17 +1,30 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright 2025 Commonwealth Scientific and Industrial Research
4
+ * Organisation (CSIRO) ABN 41 687 119 230.
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
2
18
  import { getAnswerOptionLabel } from '../../../utils/openChoice';
3
19
  import { StandardTextField } from '../Textfield.styles';
4
20
  import Autocomplete from '@mui/material/Autocomplete';
5
21
  import { useRendererStylingStore } from '../../../stores';
6
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
7
22
  function QuantityUnitField(props) {
8
- const { linkId, itemType, options, valueSelect, readOnly, calcExpUpdated, isTabled, onChange } = props;
23
+ const { linkId, itemType, options, valueSelect, readOnly, isTabled, onChange } = props;
24
+ // TODO this component doesn't have a calcExpUpdated update animation
9
25
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
10
26
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
11
- return (_jsx(Autocomplete, { id: itemType + '-' + linkId + '-unit', value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, isOptionEqualToValue: (option, value) => { var _a, _b; return ((_a = option.valueCoding) === null || _a === void 0 ? void 0 : _a.code) === ((_b = value === null || value === void 0 ? void 0 : value.valueCoding) === null || _b === void 0 ? void 0 : _b.code); }, options: options, getOptionLabel: (option) => getAnswerOptionLabel(option), onChange: (_, newValue) => onChange(newValue), autoHighlight: true, sx: [
12
- expressionUpdateFadingGlow(calcExpUpdated),
13
- { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }
14
- ], disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', size: "small", renderInput: (params) => (_jsx(StandardTextField, Object.assign({ textFieldWidth: textFieldWidth, isTabled: isTabled }, params))) }));
27
+ return (_jsx(Autocomplete, { id: itemType + '-' + linkId + '-unit', value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, isOptionEqualToValue: (option, value) => { var _a, _b; return ((_a = option.valueCoding) === null || _a === void 0 ? void 0 : _a.code) === ((_b = value === null || value === void 0 ? void 0 : value.valueCoding) === null || _b === void 0 ? void 0 : _b.code); }, options: options, getOptionLabel: (option) => getAnswerOptionLabel(option), onChange: (_, newValue) => onChange(newValue), autoHighlight: true, sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }, disabled: readOnly && readOnlyVisualStyle === 'disabled', readOnly: readOnly && readOnlyVisualStyle === 'readonly', size: "small", renderInput: (params) => (_jsx(StandardTextField, Object.assign({ textFieldWidth: textFieldWidth, isTabled: isTabled }, params))) }));
15
28
  }
16
29
  export default QuantityUnitField;
17
30
  //# sourceMappingURL=QuantityUnitField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuantityUnitField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityUnitField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAYrF,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC5F,KAAK,CAAC;IAER,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,EACrC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,eACtC,OAAA,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,OAAK,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,0CAAE,IAAI,CAAA,CAAA,EAAA,EAEvD,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAgD,CAAC,EACrF,aAAa,QACb,EAAE,EAAE;YACF,0BAA0B,CAAC,cAAc,CAAC;YAC1C,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC5E,EACD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,iBAAiB,kBAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,IAAM,MAAM,EAAI,CACtF,GACD,CACH,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"QuantityUnitField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityUnitField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAY1D,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACvF,qEAAqE;IAErE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,EACrC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,eACtC,OAAA,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,OAAK,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,0CAAE,IAAI,CAAA,CAAA,EAAA,EAEvD,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAgD,CAAC,EACrF,aAAa,QACb,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,EAC/E,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,iBAAiB,kBAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,IAAM,MAAM,EAAI,CACtF,GACD,CACH,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
@@ -4,15 +4,15 @@ import { StandardTextField } from '../Textfield.styles';
4
4
  import { useRendererStylingStore } from '../../../stores';
5
5
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
6
6
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
7
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
7
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
8
8
  function StringField(props) {
9
9
  const { linkId, itemType, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, isTabled, calcExpUpdated, onInputChange, onBlur } = props;
10
10
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
11
11
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
12
- return (_jsx(StandardTextField, { id: itemType + '-' + linkId, multiline: true, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, value: input, error: !!feedback, onBlur: onBlur, onChange: (event) => onInputChange(event.target.value), placeholder: entryFormat || displayPrompt, disabled: readOnly && readOnlyVisualStyle === 'disabled', size: "small", sx: [expressionUpdateFadingGlow(calcExpUpdated)], slotProps: {
12
+ return (_jsx(StandardTextField, { id: itemType + '-' + linkId, multiline: true, fullWidth: true, textFieldWidth: textFieldWidth, isTabled: isTabled, value: input, error: !!feedback, onBlur: onBlur, onChange: (event) => onInputChange(event.target.value), placeholder: entryFormat || displayPrompt, disabled: readOnly && readOnlyVisualStyle === 'disabled', size: "small", slotProps: {
13
13
  input: {
14
14
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
15
- endAdornment: (_jsxs(InputAdornment, { position: "end", children: [_jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
15
+ endAdornment: (_jsxs(InputAdornment, { position: "end", children: [_jsx(ExpressionUpdateFadingIcon, { fadeIn: calcExpUpdated, disabled: readOnly }), _jsx(ClearButtonAdornment, { readOnly: readOnly, onClear: () => {
16
16
  onInputChange('');
17
17
  } }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] }))
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/StringItem/StringField.tsx"],"names":[],"mappings":";AAkBA,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAgBrF,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,SAAS,QACT,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,WAAW,EAAE,WAAW,IAAI,aAAa,EACzC,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,EAChD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,aAC5B,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,EACD,UAAU,EAAE,QAAQ,eACV,qBAAqB,GAC/B,CACH,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/StringItem/StringField.tsx"],"names":[],"mappings":";AAkBA,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAgBjF,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,OAAO,CACL,KAAC,iBAAiB,IAChB,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,SAAS,QACT,SAAS,QACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,WAAW,EAAE,WAAW,IAAI,aAAa,EACzC,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,aAC5B,KAAC,0BAA0B,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC1E,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,EAAE,CAAC,CAAC;4BACpB,CAAC,GACD,EACF,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,EACD,UAAU,EAAE,QAAQ,eACV,qBAAqB,GAC/B,CACH,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /*
3
3
  * Copyright 2025 Commonwealth Scientific and Industrial Research
4
4
  * Organisation (CSIRO) ABN 41 687 119 230.
@@ -19,14 +19,14 @@ import InputAdornment from '@mui/material/InputAdornment';
19
19
  import MuiTextField from './MuiTextField';
20
20
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
21
21
  import { useRendererStylingStore } from '../../../stores';
22
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
22
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
23
23
  function TextField(props) {
24
24
  const { linkId, itemType, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, calcExpUpdated, onInputChange, onBlur } = props;
25
25
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
26
- return (_jsx(MuiTextField, { id: itemType + '-' + linkId, value: input, error: !!feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', placeholder: entryFormat || displayPrompt, fullWidth: true, multiline: true, size: "small", minRows: 3, sx: [expressionUpdateFadingGlow(calcExpUpdated)], slotProps: {
26
+ return (_jsx(MuiTextField, { id: itemType + '-' + linkId, value: input, error: !!feedback, onChange: (event) => onInputChange(event.target.value), onBlur: onBlur, disabled: readOnly && readOnlyVisualStyle === 'disabled', placeholder: entryFormat || displayPrompt, fullWidth: true, multiline: true, size: "small", minRows: 3, slotProps: {
27
27
  input: {
28
28
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
29
- endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit }) }))
29
+ endAdornment: (_jsxs(InputAdornment, { position: "end", children: [_jsx(ExpressionUpdateFadingIcon, { fadeIn: calcExpUpdated, disabled: readOnly }), _jsx(DisplayUnitText, { readOnly: readOnly, children: displayUnit })] }))
30
30
  }
31
31
  }, helperText: feedback, "data-test": "q-item-text-field" }));
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/TextItem/TextField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAgBrF,SAAS,SAAS,CAAC,KAAqB;IACtC,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,WAAW,IAAI,aAAa,EACzC,SAAS,QACT,SAAS,QACT,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,CAAC,EACV,EAAE,EAAE,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,EAChD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,KAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,YAC5B,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,GACrD,CAClB;aACF;SACF,EACD,UAAU,EAAE,QAAQ,eACV,mBAAmB,GAC7B,CACH,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/TextItem/TextField.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,0BAA0B,MAAM,yCAAyC,CAAC;AAgBjF,SAAS,SAAS,CAAC,KAAqB;IACtC,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,MAAM,EACP,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE9E,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,MAAM,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EACxD,WAAW,EAAE,WAAW,IAAI,aAAa,EACzC,SAAS,QACT,SAAS,QACT,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,CAAC,EACV,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ,IAAI,mBAAmB,KAAK,UAAU;gBACxD,YAAY,EAAE,CACZ,MAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,aAC5B,KAAC,0BAA0B,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC1E,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAAG,WAAW,GAAmB,IACrD,CAClB;aACF;SACF,EACD,UAAU,EAAE,QAAQ,eACV,mBAAmB,GAC7B,CACH,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
@@ -27,6 +27,11 @@ function useCodingCalculatedExpression(props) {
27
27
  if (!calcExpression) {
28
28
  return;
29
29
  }
30
+ // If both input and calculated value are falsy, there is nothing to update
31
+ const inputAndCalcValueAreBothFalsy = valueInString === '' && !calcExpression.value;
32
+ if (inputAndCalcValueAreBothFalsy) {
33
+ return;
34
+ }
30
35
  // only update if calculated value is different from current value
31
36
  if (calcExpression.value !== valueInString &&
32
37
  (typeof calcExpression.value === 'string' ||
@@ -1 +1 @@
1
- {"version":3,"file":"useCodingCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useCodingCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,gEAAgE;AAChE,SAAS,6BAA6B,CACpC,KAAyC;IAEzC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,GAC1F,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,aAAa;YACtC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACvC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACxC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACxC,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAChC,CAAC;YACD,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qCAAqC;YACrC,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,4BAA4B,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,uEAAuE;YACvE,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrF,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9B,8BAA8B,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,MAAM,cAAc,GAClB,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACtC,CAAC,CAAC,cAAc,CAAC,KAAK;gBACtB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEtC,8BAA8B,CAAC,cAAc,CAAC,CAAC;YAC/C,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAED,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"useCodingCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useCodingCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,gEAAgE;AAChE,SAAS,6BAA6B,CACpC,KAAyC;IAEzC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,GAC1F,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,6BAA6B,GAAG,aAAa,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACpF,IAAI,6BAA6B,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,aAAa;YACtC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACvC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACxC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACxC,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAChC,CAAC;YACD,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qCAAqC;YACrC,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,4BAA4B,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,uEAAuE;YACvE,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrF,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC9B,8BAA8B,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,MAAM,cAAc,GAClB,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ;gBACtC,CAAC,CAAC,cAAc,CAAC,KAAK;gBACtB,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEtC,8BAA8B,CAAC,cAAc,CAAC,CAAC;YAC/C,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAED,eAAe,6BAA6B,CAAC"}
@@ -26,6 +26,11 @@ function useDateCalculatedExpression(props) {
26
26
  if (!calcExpression) {
27
27
  return;
28
28
  }
29
+ // If both input and calculated value are falsy, there is nothing to update
30
+ const inputAndCalcValueAreBothFalsy = valueDateFhir === '' && !calcExpression.value;
31
+ if (inputAndCalcValueAreBothFalsy) {
32
+ return;
33
+ }
29
34
  // only update if calculated value is different from current value
30
35
  if (calcExpression.value !== valueDateFhir &&
31
36
  (typeof calcExpression.value === 'string' || calcExpression.value === null)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useDateCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useDateCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,SAAS,2BAA2B,CAClC,KAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,GAC1F,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,aAAa;YACtC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qCAAqC;YACrC,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,4BAA4B,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,uCAAuC;YACvC,8BAA8B,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC;YAC/D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"useDateCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useDateCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,SAAS,2BAA2B,CAClC,KAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,GAC1F,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,6BAA6B,GAAG,aAAa,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACpF,IAAI,6BAA6B,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,aAAa;YACtC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qCAAqC;YACrC,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,4BAA4B,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,uCAAuC;YACvC,8BAA8B,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC;YAC/D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED,eAAe,2BAA2B,CAAC"}
@@ -26,6 +26,11 @@ function useDateTimeCalculatedExpression(props) {
26
26
  if (!calcExpression) {
27
27
  return;
28
28
  }
29
+ // If both input and calculated value are falsy, there is nothing to update
30
+ const inputAndCalcValueAreBothFalsy = valueDateTimeFhir === '' && !calcExpression.value;
31
+ if (inputAndCalcValueAreBothFalsy) {
32
+ return;
33
+ }
29
34
  // only update if calculated value is different from current value
30
35
  if (calcExpression.value !== valueDateTimeFhir &&
31
36
  (typeof calcExpression.value === 'string' || calcExpression.value === null)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useDateTimeCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useDateTimeCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,SAAS,+BAA+B,CACtC,KAA2C;IAE3C,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,GAC9F,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,iBAAiB;YAC1C,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qCAAqC;YACrC,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,4BAA4B,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,uCAAuC;YACvC,8BAA8B,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC;YAC/D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"useDateTimeCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useDateTimeCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,SAAS,+BAA+B,CACtC,KAA2C;IAE3C,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,GAC9F,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,6BAA6B,GAAG,iBAAiB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACxF,IAAI,6BAA6B,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,iBAAiB;YAC1C,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,6CAA6C;YAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qCAAqC;YACrC,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,4BAA4B,EAAE,CAAC;gBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,uCAAuC;YACvC,8BAA8B,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC;YAC/D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED,eAAe,+BAA+B,CAAC"}
@@ -26,6 +26,11 @@ function useDecimalCalculatedExpression(props) {
26
26
  if (!calcExpression) {
27
27
  return;
28
28
  }
29
+ // If both input and calculated value are falsy, there is nothing to update
30
+ const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
31
+ if (inputAndCalcValueAreBothFalsy) {
32
+ return;
33
+ }
29
34
  // only update if calculated value is different from current value
30
35
  if (calcExpression.value !== inputValue &&
31
36
  (typeof calcExpression.value === 'number' || calcExpression.value === null)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useDecimalCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useDecimalCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAclD,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EACJ,KAAK,EACL,UAAU,EACV,SAAS,EACT,+BAA+B,EAC/B,4BAA4B,EAC7B,GAAG,KAAK,CAAC;IAEV,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,UAAU;YACnC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,MAAM,mBAAmB,GACvB,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ;gBACvE,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;YAE3B,kEAAkE;YAClE,IAAI,mBAAmB,KAAK,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,6CAA6C;gBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,qCAAqC;gBACrC,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;oBACjC,4BAA4B,EAAE,CAAC;oBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAED,yCAAyC;gBACzC,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"useDecimalCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useDecimalCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAclD,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EACJ,KAAK,EACL,UAAU,EACV,SAAS,EACT,+BAA+B,EAC/B,4BAA4B,EAC7B,GAAG,KAAK,CAAC;IAEV,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,6BAA6B,GAAG,UAAU,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACjF,IAAI,6BAA6B,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,UAAU;YACnC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,MAAM,mBAAmB,GACvB,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ;gBACvE,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;YAE3B,kEAAkE;YAClE,IAAI,mBAAmB,KAAK,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,6CAA6C;gBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,qCAAqC;gBACrC,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;oBACjC,4BAA4B,EAAE,CAAC;oBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAED,yCAAyC;gBACzC,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
@@ -26,6 +26,11 @@ function useIntegerCalculatedExpression(props) {
26
26
  if (!calcExpression) {
27
27
  return;
28
28
  }
29
+ // If both input and calculated value are falsy, there is nothing to update
30
+ const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
31
+ if (inputAndCalcValueAreBothFalsy) {
32
+ return;
33
+ }
29
34
  // only update if calculated value is different from current value
30
35
  if (calcExpression.value !== inputValue &&
31
36
  (typeof calcExpression.value === 'number' || calcExpression.value === null)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useIntegerCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useIntegerCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,GACxF,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,UAAU;YACnC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC;YAEjD,IAAI,mBAAmB,KAAK,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,6CAA6C;gBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,qCAAqC;gBACrC,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;oBACjC,4BAA4B,EAAE,CAAC;oBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAED,yCAAyC;gBACzC,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"useIntegerCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useIntegerCalculatedExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAalD,SAAS,8BAA8B,CACrC,KAA0C;IAE1C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,GACxF,KAAK,CAAC;IAER,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAEhF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CACP,GAAG,EAAE;;QACH,MAAM,cAAc,GAAG,MAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAC9D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,6BAA6B,GAAG,UAAU,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACjF,IAAI,6BAA6B,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,IACE,cAAc,CAAC,KAAK,KAAK,UAAU;YACnC,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,CAAC,EAC3E,CAAC;YACD,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC;YAEjD,IAAI,mBAAmB,KAAK,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,6CAA6C;gBAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,qCAAqC;gBACrC,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;oBACjC,4BAA4B,EAAE,CAAC;oBAC/B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAED,yCAAyC;gBACzC,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;gBACrD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,uDAAuD;IACvD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
@@ -30,6 +30,11 @@ function useQuantityCalculatedExpression(props) {
30
30
  if (!calcExpression) {
31
31
  return;
32
32
  }
33
+ // If both input and calculated value are falsy, there is nothing to update
34
+ const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
35
+ if (inputAndCalcValueAreBothFalsy) {
36
+ return;
37
+ }
33
38
  // only update if calculated value is different from current value
34
39
  if (calcExpression.value !== inputValue &&
35
40
  (typeof calcExpression.value === 'number' ||
@@ -1 +1 @@
1
- {"version":3,"file":"useQuantityCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useQuantityCalculatedExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuantityCalculatedExpression.js","sourceRoot":"","sources":["../../src/hooks/useQuantityCalculatedExpression.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aehrc/smart-forms-renderer",
3
- "version": "1.0.0-alpha.84",
3
+ "version": "1.0.0-alpha.85",
4
4
  "description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -86,7 +86,7 @@
86
86
  "@types/react-dom": "^19.1.1",
87
87
  "chokidar": "^4.0.3",
88
88
  "concurrently": "^9.1.2",
89
- "eslint-plugin-storybook": "9.0.16",
89
+ "eslint-plugin-storybook": "9.0.18",
90
90
  "jest": "^29.7.0",
91
91
  "jest-environment-jsdom": "^30.0.0",
92
92
  "storybook": "^9.0.16",
@@ -27,7 +27,7 @@ import { compareAnswerOptionValue, isOptionDisabled } from '../../../utils/choic
27
27
  import { useRendererStylingStore } from '../../../stores';
28
28
  import { StyledRequiredTypography } from '../Item.styles';
29
29
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
30
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
30
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
31
31
 
32
32
  interface ChoiceSelectAnswerOptionFieldsProps
33
33
  extends PropsWithIsTabledRequiredAttribute,
@@ -73,10 +73,7 @@ function ChoiceSelectAnswerOptionFields(props: ChoiceSelectAnswerOptionFieldsPro
73
73
  onChange={(_, newValue) => onSelectChange(newValue)}
74
74
  openOnFocus
75
75
  autoHighlight
76
- sx={[
77
- expressionUpdateFadingGlow(expressionUpdated),
78
- { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }
79
- ]}
76
+ sx={{ maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }}
80
77
  size="small"
81
78
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
82
79
  readOnly={readOnly && readOnlyVisualStyle === 'readonly'}
@@ -93,6 +90,7 @@ function ChoiceSelectAnswerOptionFields(props: ChoiceSelectAnswerOptionFieldsPro
93
90
  endAdornment: (
94
91
  <>
95
92
  {params.InputProps.endAdornment}
93
+ <ExpressionUpdateFadingIcon fadeIn={expressionUpdated} disabled={readOnly} />
96
94
  <DisplayUnitText readOnly={readOnly}>{displayUnit}</DisplayUnitText>
97
95
  </>
98
96
  )
@@ -30,7 +30,7 @@ import { useRendererStylingStore } from '../../../stores';
30
30
  import { StyledRequiredTypography } from '../Item.styles';
31
31
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
32
32
  import { isCodingDisabled } from '../../../utils/choice';
33
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
33
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
34
34
 
35
35
  interface ChoiceSelectAnswerValueSetFieldsProps
36
36
  extends PropsWithIsTabledRequiredAttribute,
@@ -80,10 +80,7 @@ function ChoiceSelectAnswerValueSetFields(props: ChoiceSelectAnswerValueSetField
80
80
  onChange={(_, newValue) => onSelectChange(newValue)}
81
81
  openOnFocus
82
82
  autoHighlight
83
- sx={[
84
- expressionUpdateFadingGlow(expressionUpdated),
85
- { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }
86
- ]}
83
+ sx={{ maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }}
87
84
  size="small"
88
85
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
89
86
  readOnly={readOnly && readOnlyVisualStyle === 'readonly'}
@@ -100,6 +97,7 @@ function ChoiceSelectAnswerValueSetFields(props: ChoiceSelectAnswerValueSetField
100
97
  endAdornment: (
101
98
  <>
102
99
  {params.InputProps.endAdornment}
100
+ <ExpressionUpdateFadingIcon fadeIn={expressionUpdated} disabled={readOnly} />
103
101
  <DisplayUnitText readOnly={readOnly}>{displayUnit}</DisplayUnitText>
104
102
  </>
105
103
  ),
@@ -15,15 +15,15 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
+ import type { ChangeEvent, Dispatch, SetStateAction } from 'react';
18
19
  import { useRef } from 'react';
19
20
  import type { Dayjs } from 'dayjs';
20
21
  import InputAdornment from '@mui/material/InputAdornment';
21
- import type { ChangeEvent, Dispatch, SetStateAction } from 'react';
22
22
  import type { PropsWithIsTabledRequiredAttribute } from '../../../../interfaces/renderProps.interface';
23
23
  import { StandardTextField } from '../../Textfield.styles';
24
24
  import DatePicker from './DatePicker';
25
25
  import { useRendererStylingStore } from '../../../../stores';
26
- import { expressionUpdateFadingGlow } from '../../../ExpressionUpdateFadingGlow.styles';
26
+ import ExpressionUpdateFadingIcon from '../../ItemParts/ExpressionUpdateFadingIcon';
27
27
 
28
28
  interface CustomDateFieldProps extends PropsWithIsTabledRequiredAttribute {
29
29
  linkId: string;
@@ -101,12 +101,12 @@ function CustomDateField(props: CustomDateFieldProps) {
101
101
  onDateBlur();
102
102
  setFocused(false);
103
103
  }}
104
- sx={[expressionUpdateFadingGlow(calcExpUpdated)]}
105
104
  slotProps={{
106
105
  input: {
107
106
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
108
107
  endAdornment: (
109
108
  <InputAdornment position="end">
109
+ <ExpressionUpdateFadingIcon fadeIn={calcExpUpdated} disabled={readOnly} />
110
110
  <DatePicker
111
111
  valueString={valueDate}
112
112
  readOnly={readOnly}
@@ -24,7 +24,6 @@ import MuiTextField from '../../TextItem/MuiTextField';
24
24
  import { grey } from '@mui/material/colors';
25
25
  import Typography from '@mui/material/Typography';
26
26
  import { useRendererStylingStore } from '../../../../stores';
27
- import { expressionUpdateFadingGlow } from '../../../ExpressionUpdateFadingGlow.styles';
28
27
  import FormControl from '@mui/material/FormControl';
29
28
 
30
29
  interface CustomTimeFieldProps extends PropsWithIsTabledRequiredAttribute {
@@ -53,13 +52,13 @@ function CustomTimeField(props: CustomTimeFieldProps) {
53
52
  feedback,
54
53
  displayPrompt,
55
54
  readOnly,
56
- calcExpUpdated,
57
55
  isPartOfDateTime,
58
56
  isTabled,
59
57
  onTimeInputChange,
60
58
  onPeriodChange,
61
59
  onTimeBlur
62
60
  } = props;
61
+ // TODO this component doesn't have a calcExpUpdated update animation
63
62
 
64
63
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
65
64
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
@@ -84,7 +83,7 @@ function CustomTimeField(props: CustomTimeFieldProps) {
84
83
  value={timeInput}
85
84
  error={!!feedback}
86
85
  fullWidth
87
- sx={[expressionUpdateFadingGlow(calcExpUpdated), { flex: 1 }]}
86
+ sx={{ flex: 1 }}
88
87
  onChange={(e: ChangeEvent<HTMLInputElement>) => onTimeInputChange(e.target.value)}
89
88
  onBlur={onTimeBlur}
90
89
  label={displayPrompt}
@@ -97,7 +96,7 @@ function CustomTimeField(props: CustomTimeFieldProps) {
97
96
  }
98
97
  }}
99
98
  />
100
- <FormControl sx={[expressionUpdateFadingGlow(calcExpUpdated), { flex: 1 }]}>
99
+ <FormControl sx={{ flex: 1 }}>
101
100
  <Select
102
101
  id={periodId}
103
102
  value={is24HourNotation ? '' : periodInput}
@@ -21,7 +21,7 @@ import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/ren
21
21
  import { useRendererStylingStore } from '../../../stores';
22
22
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
23
23
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
24
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
24
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
25
25
 
26
26
  interface DecimalFieldProps extends PropsWithIsTabledRequiredAttribute {
27
27
  linkId: string;
@@ -79,7 +79,6 @@ function DecimalField(props: DecimalFieldProps) {
79
79
  textFieldWidth={textFieldWidth}
80
80
  isTabled={isTabled}
81
81
  size="small"
82
- sx={[expressionUpdateFadingGlow(calcExpUpdated)]}
83
82
  slotProps={{
84
83
  htmlInput: {
85
84
  inputMode: 'numeric',
@@ -89,6 +88,7 @@ function DecimalField(props: DecimalFieldProps) {
89
88
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
90
89
  endAdornment: (
91
90
  <InputAdornment position="end">
91
+ <ExpressionUpdateFadingIcon fadeIn={calcExpUpdated} disabled={readOnly} />
92
92
  <ClearButtonAdornment
93
93
  readOnly={readOnly}
94
94
  onClear={() => {
@@ -21,7 +21,7 @@ import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/ren
21
21
  import { useRendererStylingStore } from '../../../stores';
22
22
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
23
23
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
24
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
24
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
25
25
 
26
26
  interface IntegerFieldProps extends PropsWithIsTabledRequiredAttribute {
27
27
  linkId: string;
@@ -80,7 +80,6 @@ function IntegerField(props: IntegerFieldProps) {
80
80
  textFieldWidth={textFieldWidth}
81
81
  isTabled={isTabled}
82
82
  size="small"
83
- sx={[expressionUpdateFadingGlow(calcExpUpdated)]}
84
83
  slotProps={{
85
84
  htmlInput: {
86
85
  inputMode: 'numeric',
@@ -90,6 +89,7 @@ function IntegerField(props: IntegerFieldProps) {
90
89
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
91
90
  endAdornment: (
92
91
  <InputAdornment position={'end'}>
92
+ <ExpressionUpdateFadingIcon fadeIn={calcExpUpdated} disabled={readOnly} />
93
93
  <ClearButtonAdornment
94
94
  readOnly={readOnly}
95
95
  onClear={() => {
@@ -1,3 +1,20 @@
1
+ /*
2
+ * Copyright 2025 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
1
18
  import Autocomplete from '@mui/material/Autocomplete';
2
19
  import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/renderProps.interface';
3
20
  import MuiTextField from '../TextItem/MuiTextField';
@@ -5,7 +22,6 @@ import Box from '@mui/material/Box';
5
22
  import Typography from '@mui/material/Typography';
6
23
  import type { Quantity } from 'fhir/r4';
7
24
  import { useRendererStylingStore } from '../../../stores';
8
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
9
25
 
10
26
  interface QuantityComparatorFieldProps extends PropsWithIsTabledRequiredAttribute {
11
27
  linkId: string;
@@ -18,7 +34,8 @@ interface QuantityComparatorFieldProps extends PropsWithIsTabledRequiredAttribut
18
34
  }
19
35
 
20
36
  function QuantityComparatorField(props: QuantityComparatorFieldProps) {
21
- const { linkId, itemType, options, valueSelect, readOnly, calcExpUpdated, onChange } = props;
37
+ const { linkId, itemType, options, valueSelect, readOnly, onChange } = props;
38
+ // TODO this component doesn't have a calcExpUpdated update animation
22
39
 
23
40
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
24
41
  const hideQuantityComparatorField = useRendererStylingStore.use.hideQuantityComparatorField();
@@ -34,7 +51,7 @@ function QuantityComparatorField(props: QuantityComparatorFieldProps) {
34
51
  options={options}
35
52
  onChange={(_, newValue) => onChange(newValue as Quantity['comparator'])}
36
53
  autoHighlight
37
- sx={[expressionUpdateFadingGlow(calcExpUpdated), { width: 88 }]}
54
+ sx={{ width: 88 }}
38
55
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
39
56
  readOnly={readOnly && readOnlyVisualStyle === 'readonly'}
40
57
  size="small"
@@ -1,10 +1,27 @@
1
+ /*
2
+ * Copyright 2025 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
1
18
  import InputAdornment from '@mui/material/InputAdornment';
2
19
  import { StandardTextField } from '../Textfield.styles';
3
20
  import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/renderProps.interface';
4
21
  import { useRendererStylingStore } from '../../../stores';
5
22
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
6
23
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
7
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
24
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
8
25
 
9
26
  interface QuantityFieldProps extends PropsWithIsTabledRequiredAttribute {
10
27
  linkId: string;
@@ -61,13 +78,13 @@ function QuantityField(props: QuantityFieldProps) {
61
78
  textFieldWidth={textFieldWidth}
62
79
  isTabled={isTabled}
63
80
  size="small"
64
- sx={[expressionUpdateFadingGlow(calcExpUpdated)]}
65
81
  slotProps={{
66
82
  htmlInput: { inputMode: 'numeric', pattern: '[0-9]*' },
67
83
  input: {
68
84
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
69
85
  endAdornment: (
70
86
  <InputAdornment position={'end'}>
87
+ <ExpressionUpdateFadingIcon fadeIn={calcExpUpdated} disabled={readOnly} />
71
88
  <ClearButtonAdornment
72
89
  readOnly={readOnly}
73
90
  onClear={() => {
@@ -1,10 +1,26 @@
1
+ /*
2
+ * Copyright 2025 Commonwealth Scientific and Industrial Research
3
+ * Organisation (CSIRO) ABN 41 687 119 230.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
1
18
  import { getAnswerOptionLabel } from '../../../utils/openChoice';
2
19
  import { StandardTextField } from '../Textfield.styles';
3
20
  import Autocomplete from '@mui/material/Autocomplete';
4
21
  import type { QuestionnaireItemAnswerOption } from 'fhir/r4';
5
22
  import type { PropsWithIsTabledRequiredAttribute } from '../../../interfaces/renderProps.interface';
6
23
  import { useRendererStylingStore } from '../../../stores';
7
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
8
24
 
9
25
  interface QuantityUnitFieldProps extends PropsWithIsTabledRequiredAttribute {
10
26
  linkId: string;
@@ -17,8 +33,8 @@ interface QuantityUnitFieldProps extends PropsWithIsTabledRequiredAttribute {
17
33
  }
18
34
 
19
35
  function QuantityUnitField(props: QuantityUnitFieldProps) {
20
- const { linkId, itemType, options, valueSelect, readOnly, calcExpUpdated, isTabled, onChange } =
21
- props;
36
+ const { linkId, itemType, options, valueSelect, readOnly, isTabled, onChange } = props;
37
+ // TODO this component doesn't have a calcExpUpdated update animation
22
38
 
23
39
  const readOnlyVisualStyle = useRendererStylingStore.use.readOnlyVisualStyle();
24
40
  const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
@@ -34,10 +50,7 @@ function QuantityUnitField(props: QuantityUnitFieldProps) {
34
50
  getOptionLabel={(option) => getAnswerOptionLabel(option)}
35
51
  onChange={(_, newValue) => onChange(newValue as QuestionnaireItemAnswerOption | null)}
36
52
  autoHighlight
37
- sx={[
38
- expressionUpdateFadingGlow(calcExpUpdated),
39
- { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }
40
- ]}
53
+ sx={{ maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }}
41
54
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
42
55
  readOnly={readOnly && readOnlyVisualStyle === 'readonly'}
43
56
  size="small"
@@ -21,7 +21,7 @@ import { StandardTextField } from '../Textfield.styles';
21
21
  import { useRendererStylingStore } from '../../../stores';
22
22
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
23
23
  import { ClearButtonAdornment } from '../ItemParts/ClearButtonAdornment';
24
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
24
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
25
25
 
26
26
  interface StringFieldProps extends PropsWithIsTabledRequiredAttribute {
27
27
  linkId: string;
@@ -70,12 +70,12 @@ function StringField(props: StringFieldProps) {
70
70
  placeholder={entryFormat || displayPrompt}
71
71
  disabled={readOnly && readOnlyVisualStyle === 'disabled'}
72
72
  size="small"
73
- sx={[expressionUpdateFadingGlow(calcExpUpdated)]}
74
73
  slotProps={{
75
74
  input: {
76
75
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
77
76
  endAdornment: (
78
77
  <InputAdornment position="end">
78
+ <ExpressionUpdateFadingIcon fadeIn={calcExpUpdated} disabled={readOnly} />
79
79
  <ClearButtonAdornment
80
80
  readOnly={readOnly}
81
81
  onClear={() => {
@@ -19,7 +19,7 @@ import InputAdornment from '@mui/material/InputAdornment';
19
19
  import MuiTextField from './MuiTextField';
20
20
  import DisplayUnitText from '../ItemParts/DisplayUnitText';
21
21
  import { useRendererStylingStore } from '../../../stores';
22
- import { expressionUpdateFadingGlow } from '../../ExpressionUpdateFadingGlow.styles';
22
+ import ExpressionUpdateFadingIcon from '../ItemParts/ExpressionUpdateFadingIcon';
23
23
 
24
24
  interface TextFieldProps {
25
25
  linkId: string;
@@ -65,12 +65,12 @@ function TextField(props: TextFieldProps) {
65
65
  multiline
66
66
  size="small"
67
67
  minRows={3}
68
- sx={[expressionUpdateFadingGlow(calcExpUpdated)]}
69
68
  slotProps={{
70
69
  input: {
71
70
  readOnly: readOnly && readOnlyVisualStyle === 'readonly',
72
71
  endAdornment: (
73
72
  <InputAdornment position="end">
73
+ <ExpressionUpdateFadingIcon fadeIn={calcExpUpdated} disabled={readOnly} />
74
74
  <DisplayUnitText readOnly={readOnly}>{displayUnit}</DisplayUnitText>
75
75
  </InputAdornment>
76
76
  )
@@ -51,6 +51,12 @@ function useCodingCalculatedExpression(
51
51
  return;
52
52
  }
53
53
 
54
+ // If both input and calculated value are falsy, there is nothing to update
55
+ const inputAndCalcValueAreBothFalsy = valueInString === '' && !calcExpression.value;
56
+ if (inputAndCalcValueAreBothFalsy) {
57
+ return;
58
+ }
59
+
54
60
  // only update if calculated value is different from current value
55
61
  if (
56
62
  calcExpression.value !== valueInString &&
@@ -50,6 +50,12 @@ function useDateCalculatedExpression(
50
50
  return;
51
51
  }
52
52
 
53
+ // If both input and calculated value are falsy, there is nothing to update
54
+ const inputAndCalcValueAreBothFalsy = valueDateFhir === '' && !calcExpression.value;
55
+ if (inputAndCalcValueAreBothFalsy) {
56
+ return;
57
+ }
58
+
53
59
  // only update if calculated value is different from current value
54
60
  if (
55
61
  calcExpression.value !== valueDateFhir &&
@@ -50,6 +50,12 @@ function useDateTimeCalculatedExpression(
50
50
  return;
51
51
  }
52
52
 
53
+ // If both input and calculated value are falsy, there is nothing to update
54
+ const inputAndCalcValueAreBothFalsy = valueDateTimeFhir === '' && !calcExpression.value;
55
+ if (inputAndCalcValueAreBothFalsy) {
56
+ return;
57
+ }
58
+
53
59
  // only update if calculated value is different from current value
54
60
  if (
55
61
  calcExpression.value !== valueDateTimeFhir &&
@@ -56,6 +56,12 @@ function useDecimalCalculatedExpression(
56
56
  return;
57
57
  }
58
58
 
59
+ // If both input and calculated value are falsy, there is nothing to update
60
+ const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
61
+ if (inputAndCalcValueAreBothFalsy) {
62
+ return;
63
+ }
64
+
59
65
  // only update if calculated value is different from current value
60
66
  if (
61
67
  calcExpression.value !== inputValue &&
@@ -50,6 +50,12 @@ function useIntegerCalculatedExpression(
50
50
  return;
51
51
  }
52
52
 
53
+ // If both input and calculated value are falsy, there is nothing to update
54
+ const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
55
+ if (inputAndCalcValueAreBothFalsy) {
56
+ return;
57
+ }
58
+
53
59
  // only update if calculated value is different from current value
54
60
  if (
55
61
  calcExpression.value !== inputValue &&
@@ -74,6 +74,12 @@ function useQuantityCalculatedExpression(
74
74
  return;
75
75
  }
76
76
 
77
+ // If both input and calculated value are falsy, there is nothing to update
78
+ const inputAndCalcValueAreBothFalsy = inputValue === '' && !calcExpression.value;
79
+ if (inputAndCalcValueAreBothFalsy) {
80
+ return;
81
+ }
82
+
77
83
  // only update if calculated value is different from current value
78
84
  if (
79
85
  calcExpression.value !== inputValue &&