@aehrc/smart-forms-renderer 0.6.0 → 0.6.3

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 (191) hide show
  1. package/README.md +59 -0
  2. package/lib/components/FormComponents/TextItem/MuiTextField.d.ts +3 -0
  3. package/lib/components/{FormRenderer/index.js → FormComponents/TextItem/MuiTextField.js} +4 -3
  4. package/lib/components/FormComponents/TextItem/MuiTextField.js.map +1 -0
  5. package/lib/components/FormComponents/TextItem/TextField.js +2 -1
  6. package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
  7. package/lib/components/Renderer/FormBodyTabbed.js +2 -1
  8. package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
  9. package/lib/index.d.ts +1 -1
  10. package/lib/index.js +1 -1
  11. package/lib/index.js.map +1 -1
  12. package/lib/theme/Theme.js +2 -2
  13. package/lib/theme/Theme.js.map +1 -1
  14. package/lib/theme/customGlobalStyles.d.ts +2 -0
  15. package/lib/theme/{globalStyles.js → customGlobalStyles.js} +4 -4
  16. package/lib/theme/customGlobalStyles.js.map +1 -0
  17. package/package.json +15 -4
  18. package/{lib/hooks/useTestContext.js → src/components/FormComponents/TextItem/MuiTextField.ts} +6 -11
  19. package/src/components/FormComponents/TextItem/TextField.tsx +2 -1
  20. package/src/components/Renderer/FormBodyTabbed.tsx +2 -1
  21. package/src/index.ts +1 -1
  22. package/src/theme/Theme.tsx +2 -2
  23. package/src/theme/{globalStyles.tsx → customGlobalStyles.tsx} +3 -3
  24. package/lib/api/populate.d.ts +0 -8
  25. package/lib/api/populate.js +0 -63
  26. package/lib/api/populate.js.map +0 -1
  27. package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.d.ts +0 -8
  28. package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.js +0 -25
  29. package/lib/components/FormComponents/ChoiceItems/ChoiceRadio.js.map +0 -1
  30. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.d.ts +0 -8
  31. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.js +0 -25
  32. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioButton.js.map +0 -1
  33. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.d.ts +0 -8
  34. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.js +0 -25
  35. package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingleItem.js.map +0 -1
  36. package/lib/components/FormComponents/ChoiceItems/QItemChoice.d.ts +0 -9
  37. package/lib/components/FormComponents/ChoiceItems/QItemChoice.js +0 -61
  38. package/lib/components/FormComponents/ChoiceItems/QItemChoice.js.map +0 -1
  39. package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.d.ts +0 -9
  40. package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.js +0 -89
  41. package/lib/components/FormComponents/ChoiceItems/QItemChoiceAutocomplete.js.map +0 -1
  42. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.d.ts +0 -11
  43. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.js +0 -70
  44. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerOption.js.map +0 -1
  45. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.d.ts +0 -11
  46. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.js +0 -67
  47. package/lib/components/FormComponents/ChoiceItems/QItemChoiceCheckboxAnswerValueSet.js.map +0 -1
  48. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.d.ts +0 -11
  49. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.js +0 -70
  50. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerOption.js.map +0 -1
  51. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.d.ts +0 -11
  52. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.js +0 -72
  53. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioAnswerValueSet.js.map +0 -1
  54. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.d.ts +0 -8
  55. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.js +0 -25
  56. package/lib/components/FormComponents/ChoiceItems/QItemChoiceRadioSingle.js.map +0 -1
  57. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.d.ts +0 -9
  58. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.js +0 -73
  59. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerOption.js.map +0 -1
  60. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.d.ts +0 -9
  61. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.js +0 -82
  62. package/lib/components/FormComponents/ChoiceItems/QItemChoiceSelectAnswerValueSet.js.map +0 -1
  63. package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.d.ts +0 -10
  64. package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.js +0 -35
  65. package/lib/components/FormComponents/ItemParts/CheckboxWithOpenLabel.js.map +0 -1
  66. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.d.ts +0 -10
  67. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js +0 -25
  68. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingle.js.map +0 -1
  69. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.d.ts +0 -10
  70. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js +0 -35
  71. package/lib/components/FormComponents/ItemParts/QItemCheckboxSingleWithOpenLabel.js.map +0 -1
  72. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.d.ts +0 -10
  73. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js +0 -31
  74. package/lib/components/FormComponents/ItemParts/QItemRadioButtonWithOpenLabel.js.map +0 -1
  75. package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.d.ts +0 -10
  76. package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.js +0 -31
  77. package/lib/components/FormComponents/ItemParts/RadioButtonItemWithOpenLabel.js.map +0 -1
  78. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.d.ts +0 -9
  79. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.js +0 -49
  80. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoice.js.map +0 -1
  81. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.d.ts +0 -9
  82. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.js +0 -109
  83. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceAutocomplete.js.map +0 -1
  84. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.d.ts +0 -11
  85. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js +0 -105
  86. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceCheckboxAnswerOption.js.map +0 -1
  87. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.d.ts +0 -11
  88. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js +0 -116
  89. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceRadioAnswerOption.js.map +0 -1
  90. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.d.ts +0 -9
  91. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.js +0 -75
  92. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerOption.js.map +0 -1
  93. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.d.ts +0 -9
  94. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.js +0 -68
  95. package/lib/components/FormComponents/OpenChoiceItems/QItemOpenChoiceSelectAnswerValueSet.js.map +0 -1
  96. package/lib/components/FormComponents/QItemChoice/QItemChoice.d.ts +0 -9
  97. package/lib/components/FormComponents/QItemChoice/QItemChoice.js +0 -61
  98. package/lib/components/FormComponents/QItemChoice/QItemChoice.js.map +0 -1
  99. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.d.ts +0 -9
  100. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js +0 -89
  101. package/lib/components/FormComponents/QItemChoice/QItemChoiceAutocomplete.js.map +0 -1
  102. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.d.ts +0 -11
  103. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js +0 -70
  104. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerOption.js.map +0 -1
  105. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.d.ts +0 -11
  106. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js +0 -67
  107. package/lib/components/FormComponents/QItemChoice/QItemChoiceCheckboxAnswerValueSet.js.map +0 -1
  108. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.d.ts +0 -11
  109. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js +0 -70
  110. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerOption.js.map +0 -1
  111. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.d.ts +0 -11
  112. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js +0 -72
  113. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioAnswerValueSet.js.map +0 -1
  114. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.d.ts +0 -8
  115. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js +0 -25
  116. package/lib/components/FormComponents/QItemChoice/QItemChoiceRadioSingle.js.map +0 -1
  117. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.d.ts +0 -9
  118. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js +0 -73
  119. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerOption.js.map +0 -1
  120. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.d.ts +0 -9
  121. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js +0 -82
  122. package/lib/components/FormComponents/QItemChoice/QItemChoiceSelectAnswerValueSet.js.map +0 -1
  123. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.d.ts +0 -9
  124. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js +0 -49
  125. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoice.js.map +0 -1
  126. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.d.ts +0 -9
  127. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js +0 -109
  128. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceAutocomplete.js.map +0 -1
  129. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.d.ts +0 -11
  130. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js +0 -105
  131. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceCheckboxAnswerOption.js.map +0 -1
  132. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.d.ts +0 -11
  133. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js +0 -116
  134. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceRadioAnswerOption.js.map +0 -1
  135. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.d.ts +0 -9
  136. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js +0 -75
  137. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerOption.js.map +0 -1
  138. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.d.ts +0 -9
  139. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js +0 -68
  140. package/lib/components/FormComponents/QItemOpenChoice/QItemOpenChoiceSelectAnswerValueSet.js.map +0 -1
  141. package/lib/components/FormRenderer/BaseRenderer.d.ts +0 -3
  142. package/lib/components/FormRenderer/BaseRenderer.js +0 -54
  143. package/lib/components/FormRenderer/BaseRenderer.js.map +0 -1
  144. package/lib/components/FormRenderer/FormBodyCollapsible.d.ts +0 -9
  145. package/lib/components/FormRenderer/FormBodyCollapsible.js +0 -57
  146. package/lib/components/FormRenderer/FormBodyCollapsible.js.map +0 -1
  147. package/lib/components/FormRenderer/FormBodySingleCollapsible.d.ts +0 -12
  148. package/lib/components/FormRenderer/FormBodySingleCollapsible.js +0 -39
  149. package/lib/components/FormRenderer/FormBodySingleCollapsible.js.map +0 -1
  150. package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.d.ts +0 -12
  151. package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js +0 -31
  152. package/lib/components/FormRenderer/FormBodySingleCollapsibleWrapper.js.map +0 -1
  153. package/lib/components/FormRenderer/FormBodyTabbed.d.ts +0 -9
  154. package/lib/components/FormRenderer/FormBodyTabbed.js +0 -60
  155. package/lib/components/FormRenderer/FormBodyTabbed.js.map +0 -1
  156. package/lib/components/FormRenderer/FormRenderer.d.ts +0 -3
  157. package/lib/components/FormRenderer/FormRenderer.js +0 -54
  158. package/lib/components/FormRenderer/FormRenderer.js.map +0 -1
  159. package/lib/components/FormRenderer/FormTitle.d.ts +0 -7
  160. package/lib/components/FormRenderer/FormTitle.js +0 -30
  161. package/lib/components/FormRenderer/FormTitle.js.map +0 -1
  162. package/lib/components/FormRenderer/FormTopLevelItem.d.ts +0 -9
  163. package/lib/components/FormRenderer/FormTopLevelItem.js +0 -45
  164. package/lib/components/FormRenderer/FormTopLevelItem.js.map +0 -1
  165. package/lib/components/FormRenderer/SmartFormsRenderer.d.ts +0 -9
  166. package/lib/components/FormRenderer/SmartFormsRenderer.js +0 -39
  167. package/lib/components/FormRenderer/SmartFormsRenderer.js.map +0 -1
  168. package/lib/components/FormRenderer/index.d.ts +0 -2
  169. package/lib/components/FormRenderer/index.js.map +0 -1
  170. package/lib/contexts/TestContext.d.ts +0 -11
  171. package/lib/contexts/TestContext.js +0 -32
  172. package/lib/contexts/TestContext.js.map +0 -1
  173. package/lib/contexts/index.d.ts +0 -1
  174. package/lib/contexts/index.js +0 -2
  175. package/lib/contexts/index.js.map +0 -1
  176. package/lib/hooks/useTestContext.d.ts +0 -5
  177. package/lib/hooks/useTestContext.js.map +0 -1
  178. package/lib/stores/useConfigStore.d.ts +0 -18
  179. package/lib/stores/useConfigStore.js +0 -17
  180. package/lib/stores/useConfigStore.js.map +0 -1
  181. package/lib/stores/useSmartClientStore.d.ts +0 -7
  182. package/lib/stores/useSmartClientStore.js +0 -7
  183. package/lib/stores/useSmartClientStore.js.map +0 -1
  184. package/lib/theme/globalStyles.d.ts +0 -2
  185. package/lib/theme/globalStyles.js.map +0 -1
  186. package/lib/utils/populate.d.ts +0 -16
  187. package/lib/utils/populate.js +0 -78
  188. package/lib/utils/populate.js.map +0 -1
  189. package/lib/utils/populateCallback.d.ts +0 -6
  190. package/lib/utils/populateCallback.js +0 -40
  191. package/lib/utils/populateCallback.js.map +0 -1
@@ -1,39 +0,0 @@
1
- /*
2
- * Copyright 2023 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
- import React from 'react';
18
- import useInitialiseRenderer from '../../hooks/useInitialiseRenderer';
19
- import { Box, CircularProgress, Typography } from '@mui/material';
20
- import { QueryClientProvider } from '@tanstack/react-query';
21
- import useQueryClient from '../../hooks/useQueryClient';
22
- import BaseRenderer from './BaseRenderer';
23
- import ThemeProvider from '../../theme/Theme';
24
- // TODO add terminiology server
25
- function SmartFormsRenderer(props) {
26
- const { questionnaire, questionnaireResponse, additionalVariables } = props;
27
- const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables);
28
- const queryClient = useQueryClient();
29
- if (isLoading) {
30
- return (React.createElement(Box, { display: "flex", alignItems: "center", columnGap: 2 },
31
- React.createElement(CircularProgress, null),
32
- React.createElement(Typography, null, "Loading questionnaire...")));
33
- }
34
- return (React.createElement(ThemeProvider, null,
35
- React.createElement(QueryClientProvider, { client: queryClient },
36
- React.createElement(BaseRenderer, null))));
37
- }
38
- export default SmartFormsRenderer;
39
- //# sourceMappingURL=SmartFormsRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["../../../src/components/FormRenderer/SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAQ9C,+BAA+B;AAC/B,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAE5E,MAAM,SAAS,GAAG,qBAAqB,CACrC,aAAa,EACb,qBAAqB,EACrB,mBAAmB,CACpB,CAAC;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YAClD,oBAAC,gBAAgB,OAAG;YACpB,oBAAC,UAAU,mCAAsC,CAC7C,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,aAAa;QACZ,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;YACtC,oBAAC,YAAY,OAAG,CACI,CACR,CACjB,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default as SmartFormsRenderer } from './SmartFormsRenderer';
2
- export { default as BaseRenderer } from './BaseRenderer';
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FormRenderer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import React from 'react';
3
- export interface TestContextContextType {
4
- hasChanges: boolean;
5
- setHasChanges: (updatedHasChanges: boolean) => unknown;
6
- }
7
- export declare const TestContext: React.Context<TestContextContextType>;
8
- declare function TestContextProvider(props: {
9
- children: ReactNode;
10
- }): React.JSX.Element;
11
- export default TestContextProvider;
@@ -1,32 +0,0 @@
1
- /*
2
- * Copyright 2023 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
- import React, { createContext, useState } from 'react';
18
- export const TestContext = createContext({
19
- hasChanges: false,
20
- setHasChanges: () => void 0
21
- });
22
- function TestContextProvider(props) {
23
- const { children } = props;
24
- const [hasChanges, setHasChanges] = useState(false);
25
- const testContext = {
26
- hasChanges,
27
- setHasChanges
28
- };
29
- return React.createElement(TestContext.Provider, { value: testContext }, children);
30
- }
31
- export default TestContextProvider;
32
- //# sourceMappingURL=TestContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestContext.js","sourceRoot":"","sources":["../../src/contexts/TestContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOvD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAyB;IAC/D,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;CAC5B,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,KAA8B;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE3B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,WAAW,GAA2B;QAC1C,UAAU;QACV,aAAa;KACd,CAAC;IAEF,OAAO,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,WAAW,IAAG,QAAQ,CAAwB,CAAC;AACrF,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- export { default as TestContextProvider } from './TestContext';
@@ -1,2 +0,0 @@
1
- export { default as TestContextProvider } from './TestContext';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,5 +0,0 @@
1
- declare function useTestContext(): {
2
- hasChanges: boolean;
3
- setHasChanges: (updatedHasChanges: boolean) => unknown;
4
- };
5
- export default useTestContext;
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTestContext.js","sourceRoot":"","sources":["../../src/hooks/useTestContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,SAAS,cAAc;IACrB,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE9D,OAAO;QACL,UAAU;QACV,aAAa;KACd,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { Encounter, Patient, Practitioner, Questionnaire } from 'fhir/r4';
2
- import type Client from 'fhirclient/lib/Client';
3
- export interface ConfigState {
4
- smartClient: Client | null;
5
- patient: Patient | null;
6
- user: Practitioner | null;
7
- encounter: Encounter | null;
8
- launchQuestionnaire: Questionnaire | null;
9
- debugMode: boolean;
10
- setSmartClient: (client: Client) => void;
11
- setPatient: (patient: Patient) => void;
12
- setUser: (user: Practitioner) => void;
13
- setEncounter: (encounter: Encounter) => void;
14
- setLaunchQuestionnaire: (launchQuestionnaire: Questionnaire | null) => void;
15
- activateDebugMode: () => void;
16
- }
17
- declare const useConfigStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ConfigState>>;
18
- export default useConfigStore;
@@ -1,17 +0,0 @@
1
- import { create } from 'zustand';
2
- const useConfigStore = create()((set) => ({
3
- smartClient: null,
4
- patient: null,
5
- user: null,
6
- encounter: null,
7
- launchQuestionnaire: null,
8
- debugMode: false,
9
- setSmartClient: (client) => set(() => ({ smartClient: client })),
10
- setPatient: (patient) => set(() => ({ patient: patient })),
11
- setUser: (user) => set(() => ({ user: user })),
12
- setEncounter: (encounter) => set(() => ({ encounter: encounter })),
13
- setLaunchQuestionnaire: (launchQuestionnaire) => set(() => ({ launchQuestionnaire: launchQuestionnaire })),
14
- activateDebugMode: () => set(() => ({ debugMode: true }))
15
- }));
16
- export default useConfigStore;
17
- //# sourceMappingURL=useConfigStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useConfigStore.js","sourceRoot":"","sources":["../../src/stores/useConfigStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAmBjC,MAAM,cAAc,GAAG,MAAM,EAAe,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACrD,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,IAAI;IACf,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,KAAK;IAChB,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,UAAU,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,YAAY,EAAE,CAAC,SAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,sBAAsB,EAAE,CAAC,mBAAyC,EAAE,EAAE,CACpE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC3D,iBAAiB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;CAC1D,CAAC,CAAC,CAAC;AAEJ,eAAe,cAAc,CAAC"}
@@ -1,7 +0,0 @@
1
- import type Client from 'fhirclient/lib/Client';
2
- export interface UseSmartClientType {
3
- smartClient: Client | null;
4
- setSmartClient: (client: Client) => void;
5
- }
6
- declare const useSmartClientStore: import("zustand").UseBoundStore<import("zustand").StoreApi<UseSmartClientType>>;
7
- export default useSmartClientStore;
@@ -1,7 +0,0 @@
1
- import { create } from 'zustand';
2
- const useSmartClientStore = create()((set) => ({
3
- smartClient: null,
4
- setSmartClient: (client) => set(() => ({ smartClient: client }))
5
- }));
6
- export default useSmartClientStore;
7
- //# sourceMappingURL=useSmartClientStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSmartClientStore.js","sourceRoot":"","sources":["../../src/stores/useSmartClientStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQjC,MAAM,mBAAmB,GAAG,MAAM,EAAsB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjE,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;CACzE,CAAC,CAAC,CAAC;AAEJ,eAAe,mBAAmB,CAAC"}
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export default function GlobalStyles(): React.JSX.Element;
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalStyles.js","sourceRoot":"","sources":["../../src/theme/globalStyles.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,OAAO,CACL,oBAAC,eAAe,IACd,MAAM,EAAE;YACN,GAAG,EAAE;gBACH,SAAS,EAAE,YAAY;aACxB;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,uBAAuB,EAAE,OAAO;aACjC;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;aACf;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;aACf;YACD,KAAK,EAAE;gBACL,gBAAgB,EAAE;oBAChB,aAAa,EAAE,WAAW;oBAC1B,8BAA8B,EAAE;wBAC9B,MAAM,EAAE,CAAC;wBACT,gBAAgB,EAAE,MAAM;qBACzB;oBACD,8BAA8B,EAAE;wBAC9B,MAAM,EAAE,CAAC;wBACT,gBAAgB,EAAE,MAAM;qBACzB;iBACF;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,MAAM;aACjB;YACD,EAAE,EAAE;gBACF,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;aACX;SACF,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { Encounter, Patient, Practitioner, Questionnaire, QuestionnaireResponse } from 'fhir/r4';
2
- import type Client from 'fhirclient/lib/Client';
3
- export interface PopulateFormParams {
4
- populated: QuestionnaireResponse;
5
- hasWarnings: boolean;
6
- }
7
- /**
8
- * Pre-populate questionnaire from CMS patient data to form a populated questionnaireResponse
9
- *
10
- * @author Sean Fong
11
- */
12
- export declare function populateQuestionnaire(questionnaire: Questionnaire, fhirClient: Client, patient: Patient, user: Practitioner, encounter: Encounter | null, populateForm: {
13
- (params: PopulateFormParams): void;
14
- }, exitSpinner: {
15
- (): void;
16
- }): Promise<void>;
@@ -1,78 +0,0 @@
1
- /*
2
- * Copyright 2023 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
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- import { getLaunchContexts, getQuestionnaireLevelXFhirQueryVariables, getSourceQueries } from './populateContexts';
27
- import { isInputParameters } from 'sdc-populate';
28
- import { createPopulateInputParameters } from './populateInputParams';
29
- import { requestPopulate } from '../api/populate';
30
- /**
31
- * Pre-populate questionnaire from CMS patient data to form a populated questionnaireResponse
32
- *
33
- * @author Sean Fong
34
- */
35
- export function populateQuestionnaire(questionnaire, fhirClient, patient, user, encounter, populateForm, exitSpinner) {
36
- var _a;
37
- return __awaiter(this, void 0, void 0, function* () {
38
- // Get launch contexts, source queries and questionnaire-level variables
39
- const launchContexts = getLaunchContexts(questionnaire);
40
- const sourceQueries = getSourceQueries(questionnaire);
41
- const questionnaireLevelVariables = getQuestionnaireLevelXFhirQueryVariables(questionnaire);
42
- if (launchContexts.length === 0 &&
43
- sourceQueries.length === 0 &&
44
- questionnaireLevelVariables.length === 0) {
45
- exitSpinner();
46
- return;
47
- }
48
- // Define population input parameters from launch contexts, source queries and questionnaire-level variables
49
- const inputParameters = createPopulateInputParameters(questionnaire, patient, user, encounter, launchContexts, sourceQueries, questionnaireLevelVariables);
50
- if (!inputParameters) {
51
- exitSpinner();
52
- return;
53
- }
54
- if (!isInputParameters(inputParameters)) {
55
- exitSpinner();
56
- return;
57
- }
58
- // Perform population if parameters satisfies input parameters
59
- const outputParameters = yield requestPopulate(fhirClient, inputParameters);
60
- if (outputParameters.resourceType === 'OperationOutcome') {
61
- exitSpinner();
62
- return;
63
- }
64
- const responseParameter = outputParameters.parameter.find((param) => param.name === 'response');
65
- const issuesParameter = outputParameters.parameter.find((param) => param.name === 'issues');
66
- if (issuesParameter) {
67
- for (const issue of issuesParameter.resource.issue) {
68
- if ((_a = issue.details) === null || _a === void 0 ? void 0 : _a.text) {
69
- console.warn(issue.details.text);
70
- }
71
- }
72
- populateForm({ populated: responseParameter.resource, hasWarnings: true });
73
- return;
74
- }
75
- populateForm({ populated: responseParameter.resource, hasWarnings: false });
76
- });
77
- }
78
- //# sourceMappingURL=populate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populate.js","sourceRoot":"","sources":["../../src/utils/populate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AASH,OAAO,EACL,iBAAiB,EACjB,wCAAwC,EACxC,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD;;;;GAIG;AACH,MAAM,UAAgB,qBAAqB,CACzC,aAA4B,EAC5B,UAAkB,EAClB,OAAgB,EAChB,IAAkB,EAClB,SAA2B,EAC3B,YAEC,EACD,WAAyB;;;QAEzB,wEAAwE;QACxE,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,2BAA2B,GAAG,wCAAwC,CAAC,aAAa,CAAC,CAAC;QAE5F,IACE,cAAc,CAAC,MAAM,KAAK,CAAC;YAC3B,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1B,2BAA2B,CAAC,MAAM,KAAK,CAAC,EACxC;YACA,WAAW,EAAE,CAAC;YACd,OAAO;SACR;QAED,4GAA4G;QAC5G,MAAM,eAAe,GAAG,6BAA6B,CACnD,aAAa,EACb,OAAO,EACP,IAAI,EACJ,SAAS,EACT,cAAc,EACd,aAAa,EACb,2BAA2B,CAC5B,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE;YACpB,WAAW,EAAE,CAAC;YACd,OAAO;SACR;QAED,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;YACvC,WAAW,EAAE,CAAC;YACd,OAAO;SACR;QAED,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAE5E,IAAI,gBAAgB,CAAC,YAAY,KAAK,kBAAkB,EAAE;YACxD,WAAW,EAAE,CAAC;YACd,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CACvD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAChB,CAAC;QACvB,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAE7E,CAAC;QAEd,IAAI,eAAe,EAAE;YACnB,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAClD,IAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAClC;aACF;YACD,YAAY,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO;SACR;QAED,YAAY,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;;CAC7E"}
@@ -1,6 +0,0 @@
1
- import type { FetchResourceCallback } from 'sdc-populate';
2
- export interface RequestConfig {
3
- clientEndpoint: string;
4
- authToken: string;
5
- }
6
- export declare const fetchResourceCallback: FetchResourceCallback;
@@ -1,40 +0,0 @@
1
- /*
2
- * Copyright 2023 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
- import axios from 'axios';
18
- const ABSOLUTE_URL_REGEX = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/;
19
- export const fetchResourceCallback = (query, requestConfig) => {
20
- let { clientEndpoint } = requestConfig;
21
- const { authToken } = requestConfig;
22
- const headers = {
23
- Accept: 'application/json;charset=utf-8',
24
- Authorization: `Bearer ${authToken}`
25
- };
26
- if (!clientEndpoint.endsWith('/')) {
27
- clientEndpoint += '/';
28
- }
29
- if (ABSOLUTE_URL_REGEX.test(query)) {
30
- return axios.get(query, {
31
- headers: headers
32
- });
33
- }
34
- else {
35
- return axios.get(clientEndpoint + query, {
36
- headers: headers
37
- });
38
- }
39
- };
40
- //# sourceMappingURL=populateCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populateCallback.js","sourceRoot":"","sources":["../../src/utils/populateCallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAOlE,MAAM,CAAC,MAAM,qBAAqB,GAA0B,CAC1D,KAAa,EACb,aAA4B,EAC5B,EAAE;IACF,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAEpC,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,gCAAgC;QACxC,aAAa,EAAE,UAAU,SAAS,EAAE;KACrC,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACjC,cAAc,IAAI,GAAG,CAAC;KACvB;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;YACtB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,GAAG,KAAK,EAAE;YACvC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;KACJ;AACH,CAAC,CAAC"}