@welshare/questionnaire 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +151 -0
  2. package/dist/esm/components/bmi-form.d.ts +68 -0
  3. package/dist/esm/components/bmi-form.d.ts.map +1 -0
  4. package/dist/esm/components/bmi-form.js +138 -0
  5. package/dist/esm/components/question-renderer.d.ts +6 -1
  6. package/dist/esm/components/question-renderer.d.ts.map +1 -1
  7. package/dist/esm/components/question-renderer.js +49 -14
  8. package/dist/esm/components/questions/decimal-question.d.ts +8 -1
  9. package/dist/esm/components/questions/decimal-question.d.ts.map +1 -1
  10. package/dist/esm/components/questions/decimal-question.js +19 -1
  11. package/dist/esm/components/questions/multiple-choice-question.d.ts.map +1 -1
  12. package/dist/esm/components/questions/multiple-choice-question.js +2 -2
  13. package/dist/esm/contexts/questionnaire-context.d.ts.map +1 -1
  14. package/dist/esm/contexts/questionnaire-context.js +3 -2
  15. package/dist/esm/index.d.ts +6 -2
  16. package/dist/esm/index.d.ts.map +1 -1
  17. package/dist/esm/index.js +5 -1
  18. package/dist/esm/lib/bmi-helpers.d.ts +50 -0
  19. package/dist/esm/lib/bmi-helpers.d.ts.map +1 -0
  20. package/dist/esm/lib/bmi-helpers.js +69 -0
  21. package/dist/esm/lib/constants.d.ts +94 -0
  22. package/dist/esm/lib/constants.d.ts.map +1 -0
  23. package/dist/esm/lib/constants.js +93 -0
  24. package/dist/esm/lib/questionnaire-utils.d.ts +21 -1
  25. package/dist/esm/lib/questionnaire-utils.d.ts.map +1 -1
  26. package/dist/esm/lib/questionnaire-utils.js +85 -4
  27. package/dist/esm/types/fhir.d.ts +1 -0
  28. package/dist/esm/types/fhir.d.ts.map +1 -1
  29. package/dist/esm/types/index.d.ts +25 -0
  30. package/dist/esm/types/index.d.ts.map +1 -1
  31. package/dist/styles.css +108 -0
  32. package/package.json +17 -6
  33. package/dist/node_modules/@welshare/questionnaire/.tshy/build.json +0 -8
  34. package/dist/node_modules/@welshare/questionnaire/.tshy/esm.json +0 -16
  35. package/dist/node_modules/@welshare/questionnaire/LICENSE +0 -7
  36. package/dist/node_modules/@welshare/questionnaire/README.md +0 -173
  37. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/debug-section.d.ts +0 -44
  38. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/debug-section.d.ts.map +0 -1
  39. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/debug-section.js +0 -28
  40. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/question-renderer.d.ts +0 -80
  41. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/question-renderer.d.ts.map +0 -1
  42. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/question-renderer.js +0 -159
  43. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/boolean-question.d.ts +0 -15
  44. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/boolean-question.d.ts.map +0 -1
  45. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/boolean-question.js +0 -19
  46. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/choice-question.d.ts +0 -19
  47. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/choice-question.d.ts.map +0 -1
  48. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/choice-question.js +0 -23
  49. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/decimal-question.d.ts +0 -12
  50. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/decimal-question.d.ts.map +0 -1
  51. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/decimal-question.js +0 -7
  52. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/integer-question.d.ts +0 -18
  53. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/integer-question.d.ts.map +0 -1
  54. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/integer-question.js +0 -24
  55. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/multiple-choice-question.d.ts +0 -20
  56. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/multiple-choice-question.d.ts.map +0 -1
  57. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/multiple-choice-question.js +0 -39
  58. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/string-question.d.ts +0 -12
  59. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/string-question.d.ts.map +0 -1
  60. package/dist/node_modules/@welshare/questionnaire/dist/esm/components/questions/string-question.js +0 -7
  61. package/dist/node_modules/@welshare/questionnaire/dist/esm/contexts/questionnaire-context.d.ts +0 -41
  62. package/dist/node_modules/@welshare/questionnaire/dist/esm/contexts/questionnaire-context.d.ts.map +0 -1
  63. package/dist/node_modules/@welshare/questionnaire/dist/esm/contexts/questionnaire-context.js +0 -350
  64. package/dist/node_modules/@welshare/questionnaire/dist/esm/index.d.ts +0 -7
  65. package/dist/node_modules/@welshare/questionnaire/dist/esm/index.d.ts.map +0 -1
  66. package/dist/node_modules/@welshare/questionnaire/dist/esm/index.js +0 -6
  67. package/dist/node_modules/@welshare/questionnaire/dist/esm/lib/questionnaire-utils.d.ts +0 -33
  68. package/dist/node_modules/@welshare/questionnaire/dist/esm/lib/questionnaire-utils.d.ts.map +0 -1
  69. package/dist/node_modules/@welshare/questionnaire/dist/esm/lib/questionnaire-utils.js +0 -99
  70. package/dist/node_modules/@welshare/questionnaire/dist/esm/package.json +0 -3
  71. package/dist/node_modules/@welshare/questionnaire/dist/esm/types/fhir.d.ts +0 -117
  72. package/dist/node_modules/@welshare/questionnaire/dist/esm/types/fhir.d.ts.map +0 -1
  73. package/dist/node_modules/@welshare/questionnaire/dist/esm/types/fhir.js +0 -3
  74. package/dist/node_modules/@welshare/questionnaire/dist/esm/types/index.d.ts +0 -51
  75. package/dist/node_modules/@welshare/questionnaire/dist/esm/types/index.d.ts.map +0 -1
  76. package/dist/node_modules/@welshare/questionnaire/dist/esm/types/index.js +0 -1
  77. package/dist/node_modules/@welshare/questionnaire/dist/styles.css +0 -467
  78. package/dist/node_modules/@welshare/questionnaire/dist/tokens.css +0 -130
  79. package/dist/node_modules/@welshare/questionnaire/package.json +0 -85
  80. package/dist/node_modules/@welshare/questionnaire/src/components/debug-section.tsx +0 -116
  81. package/dist/node_modules/@welshare/questionnaire/src/components/question-renderer.tsx +0 -368
  82. package/dist/node_modules/@welshare/questionnaire/src/components/questionnaire-styles.css +0 -467
  83. package/dist/node_modules/@welshare/questionnaire/src/components/questionnaire-tokens.css +0 -130
  84. package/dist/node_modules/@welshare/questionnaire/src/components/questions/boolean-question.tsx +0 -72
  85. package/dist/node_modules/@welshare/questionnaire/src/components/questions/choice-question.tsx +0 -68
  86. package/dist/node_modules/@welshare/questionnaire/src/components/questions/decimal-question.tsx +0 -32
  87. package/dist/node_modules/@welshare/questionnaire/src/components/questions/integer-question.tsx +0 -87
  88. package/dist/node_modules/@welshare/questionnaire/src/components/questions/multiple-choice-question.tsx +0 -119
  89. package/dist/node_modules/@welshare/questionnaire/src/components/questions/string-question.tsx +0 -31
  90. package/dist/node_modules/@welshare/questionnaire/src/contexts/questionnaire-context.tsx +0 -499
  91. package/dist/node_modules/@welshare/questionnaire/src/index.ts +0 -41
  92. package/dist/node_modules/@welshare/questionnaire/src/lib/__tests__/questionnaire-utils.test.ts +0 -578
  93. package/dist/node_modules/@welshare/questionnaire/src/lib/questionnaire-utils.ts +0 -122
  94. package/dist/node_modules/@welshare/questionnaire/src/types/fhir.ts +0 -126
  95. package/dist/node_modules/@welshare/questionnaire/src/types/index.ts +0 -44
  96. package/dist/node_modules/@welshare/questionnaire/tsconfig.json +0 -16
@@ -1,126 +0,0 @@
1
- // FHIR Types for Questionnaire and QuestionnaireResponse
2
- // Based on FHIR R4 Specification with extensions commonly used in Welshare surveys
3
-
4
- export type Coding = {
5
- system?: string;
6
- version?: string;
7
- code?: string;
8
- display?: string;
9
- userSelected?: boolean;
10
- }
11
-
12
- export type QuestionnaireItemAnswerOption = {
13
- valueCoding?: Coding;
14
- valueInteger?: number;
15
- valueDate?: string;
16
- valueTime?: string;
17
- valueString?: string;
18
- initialSelected?: boolean;
19
- }
20
-
21
- export type Extension = {
22
- url: string;
23
- valueBoolean?: boolean;
24
- valueString?: string;
25
- valueInteger?: number;
26
- valueCodeableConcept?: {
27
- coding?: Coding[];
28
- };
29
- valueExpression?: {
30
- language?: string;
31
- expression?: string;
32
- };
33
- extension?: Extension[];
34
- }
35
-
36
- export type QuestionnaireItem = {
37
- linkId: string;
38
- definition?: string;
39
- code?: Coding[];
40
- prefix?: string;
41
- text?: string;
42
- type: 'group' | 'display' | 'boolean' | 'decimal' | 'integer' | 'date' | 'dateTime' | 'time' | 'string' | 'text' | 'url' | 'choice' | 'open-choice' | 'attachment' | 'reference' | 'quantity';
43
- enableWhen?: Array<{
44
- question: string;
45
- operator: string;
46
- answerBoolean?: boolean;
47
- answerDecimal?: number;
48
- answerInteger?: number;
49
- answerDate?: string;
50
- answerDateTime?: string;
51
- answerTime?: string;
52
- answerString?: string;
53
- answerCoding?: Coding;
54
- }>;
55
- enableBehavior?: string;
56
- required?: boolean;
57
- repeats?: boolean;
58
- readOnly?: boolean;
59
- maxLength?: number;
60
- maxAnswers?: number;
61
- answerValueSet?: string;
62
- answerOption?: QuestionnaireItemAnswerOption[];
63
- initial?: Array<{
64
- valueBoolean?: boolean;
65
- valueDecimal?: number;
66
- valueInteger?: number;
67
- valueDate?: string;
68
- valueDateTime?: string;
69
- valueTime?: string;
70
- valueString?: string;
71
- valueCoding?: Coding;
72
- }>;
73
- extension?: Extension[];
74
- item?: QuestionnaireItem[];
75
- }
76
-
77
- export type Questionnaire = {
78
- resourceType: 'Questionnaire';
79
- id: string;
80
- url?: string;
81
- version?: string;
82
- name?: string;
83
- title?: string;
84
- status: 'draft' | 'active' | 'retired' | 'unknown';
85
- subjectType?: string[];
86
- date?: string;
87
- publisher?: string;
88
- description?: string;
89
- item?: QuestionnaireItem[];
90
- }
91
-
92
- export type QuestionnaireResponseAnswer = {
93
- valueBoolean?: boolean;
94
- valueDecimal?: number;
95
- valueInteger?: number;
96
- valueDate?: string;
97
- valueDateTime?: string;
98
- valueTime?: string;
99
- valueString?: string;
100
- valueUri?: string;
101
- valueCoding?: Coding;
102
- valueQuantity?: {
103
- value?: number;
104
- unit?: string;
105
- system?: string;
106
- code?: string;
107
- };
108
- item?: QuestionnaireResponseItem[];
109
- }
110
-
111
- export type QuestionnaireResponseItem = {
112
- linkId: string;
113
- definition?: string;
114
- text?: string;
115
- answer?: QuestionnaireResponseAnswer[];
116
- item?: QuestionnaireResponseItem[];
117
- }
118
-
119
- export type QuestionnaireResponse = {
120
- resourceType: 'QuestionnaireResponse';
121
- id?: string;
122
- questionnaire?: string;
123
- status: 'in-progress' | 'completed' | 'amended' | 'entered-in-error' | 'stopped';
124
- authored?: string;
125
- item?: QuestionnaireResponseItem[];
126
- }
@@ -1,44 +0,0 @@
1
- /**
2
- * Props for rendering a radio button option
3
- */
4
- export interface RadioInputProps {
5
- /** The linkId of the question item */
6
- linkId: string;
7
- /** The option's value coding */
8
- valueCoding?: { system?: string; code?: string; display?: string };
9
- /** The option's integer value (if applicable) */
10
- valueInteger?: number;
11
- /** Whether this option is currently selected */
12
- checked: boolean;
13
- /** Whether this option is disabled */
14
- disabled?: boolean;
15
- /** Callback when the option is selected */
16
- onChange: () => void;
17
- /** The display text for this option */
18
- label: string;
19
- /** The index of this option in the list */
20
- index: number;
21
- }
22
-
23
-
24
- /**
25
- * Props for rendering a checkbox option
26
- */
27
- export interface CheckboxInputProps {
28
- /** The linkId of the question item */
29
- linkId: string;
30
- /** The option's value coding */
31
- valueCoding?: { system?: string; code?: string; display?: string };
32
- /** The option's integer value (if applicable) */
33
- valueInteger?: number;
34
- /** Whether this option is currently selected */
35
- checked: boolean;
36
- /** Whether this option is disabled */
37
- disabled?: boolean;
38
- /** Callback when the option is toggled */
39
- onChange: () => void;
40
- /** The display text for this option */
41
- label: string;
42
- /** The index of this option in the list */
43
- index: number;
44
- }
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "@workspace/typescript-config/react-library.json",
3
- "compilerOptions": {
4
- "baseUrl": ".",
5
- "paths": {
6
- "@/*": ["./src/*"]
7
- },
8
- "allowJs": true,
9
- "jsx": "react-jsx"
10
- },
11
- "include": [
12
- "**/*.ts",
13
- "**/*.tsx"
14
- ],
15
- "exclude": ["node_modules", "dist"]
16
- }