@medplum/react 0.10.2 → 1.0.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 (133) hide show
  1. package/dist/cjs/AttachmentButton.d.ts +2 -0
  2. package/dist/cjs/CalendarInput.d.ts +0 -1
  3. package/dist/cjs/CheckboxFormSection.d.ts +0 -1
  4. package/dist/cjs/DescriptionList.d.ts +0 -1
  5. package/dist/cjs/DiagnosticReportDisplay.d.ts +0 -1
  6. package/dist/cjs/Document.d.ts +0 -1
  7. package/dist/cjs/FhirPathTable.d.ts +0 -1
  8. package/dist/cjs/FormSection.d.ts +0 -1
  9. package/dist/cjs/MedplumLink.d.ts +2 -4
  10. package/dist/cjs/QuestionnaireBuilder.d.ts +0 -1
  11. package/dist/cjs/QuestionnaireForm.d.ts +0 -1
  12. package/dist/cjs/RequestGroupDisplay.d.ts +0 -1
  13. package/dist/cjs/ResourceBadge.d.ts +0 -1
  14. package/dist/cjs/ResourceBlame.d.ts +0 -1
  15. package/dist/cjs/ResourceDiff.d.ts +0 -1
  16. package/dist/cjs/ResourceDiffTable.d.ts +0 -2
  17. package/dist/cjs/ResourceName.d.ts +2 -1
  18. package/dist/cjs/ResourceTimeline.d.ts +0 -1
  19. package/dist/cjs/Scheduler.d.ts +0 -1
  20. package/dist/cjs/SearchControl.d.ts +0 -1
  21. package/dist/cjs/SearchFilterEditor.d.ts +0 -1
  22. package/dist/cjs/Timeline.d.ts +0 -1
  23. package/dist/cjs/auth/AuthenticationForm.d.ts +1 -0
  24. package/dist/cjs/auth/RegisterForm.d.ts +0 -1
  25. package/dist/cjs/auth/SignInForm.d.ts +1 -1
  26. package/dist/cjs/index.js +1247 -907
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/index.min.js +1 -1
  29. package/dist/cjs/index.min.js.map +1 -1
  30. package/dist/cjs/stories/DescriptionList.stories.d.ts +5 -0
  31. package/dist/esm/AttachmentArrayInput.js +2 -2
  32. package/dist/esm/AttachmentArrayInput.js.map +1 -1
  33. package/dist/esm/AttachmentButton.d.ts +2 -0
  34. package/dist/esm/AttachmentButton.js +4 -1
  35. package/dist/esm/AttachmentButton.js.map +1 -1
  36. package/dist/esm/BackboneElementInput.js +2 -1
  37. package/dist/esm/BackboneElementInput.js.map +1 -1
  38. package/dist/esm/CalendarInput.d.ts +0 -1
  39. package/dist/esm/CalendarInput.js +39 -2
  40. package/dist/esm/CalendarInput.js.map +1 -1
  41. package/dist/esm/CheckboxFormSection.d.ts +0 -1
  42. package/dist/esm/CheckboxFormSection.js +5 -5
  43. package/dist/esm/CheckboxFormSection.js.map +1 -1
  44. package/dist/esm/DescriptionList.d.ts +0 -1
  45. package/dist/esm/DescriptionList.js +23 -1
  46. package/dist/esm/DescriptionList.js.map +1 -1
  47. package/dist/esm/DiagnosticReportDisplay.d.ts +0 -1
  48. package/dist/esm/DiagnosticReportDisplay.js +40 -22
  49. package/dist/esm/DiagnosticReportDisplay.js.map +1 -1
  50. package/dist/esm/Document.d.ts +0 -1
  51. package/dist/esm/Document.js +7 -2
  52. package/dist/esm/Document.js.map +1 -1
  53. package/dist/esm/ErrorBoundary.js +2 -1
  54. package/dist/esm/ErrorBoundary.js.map +1 -1
  55. package/dist/esm/FhirPathTable.d.ts +0 -1
  56. package/dist/esm/FhirPathTable.js +5 -5
  57. package/dist/esm/FhirPathTable.js.map +1 -1
  58. package/dist/esm/FormSection.d.ts +0 -1
  59. package/dist/esm/FormSection.js +3 -11
  60. package/dist/esm/FormSection.js.map +1 -1
  61. package/dist/esm/MedplumLink.d.ts +2 -4
  62. package/dist/esm/MedplumLink.js +11 -8
  63. package/dist/esm/MedplumLink.js.map +1 -1
  64. package/dist/esm/PlanDefinitionBuilder.js +41 -10
  65. package/dist/esm/PlanDefinitionBuilder.js.map +1 -1
  66. package/dist/esm/QuestionnaireBuilder.d.ts +0 -1
  67. package/dist/esm/QuestionnaireBuilder.js +78 -31
  68. package/dist/esm/QuestionnaireBuilder.js.map +1 -1
  69. package/dist/esm/QuestionnaireForm.d.ts +0 -1
  70. package/dist/esm/QuestionnaireForm.js +26 -16
  71. package/dist/esm/QuestionnaireForm.js.map +1 -1
  72. package/dist/esm/RequestGroupDisplay.d.ts +0 -1
  73. package/dist/esm/RequestGroupDisplay.js +8 -7
  74. package/dist/esm/RequestGroupDisplay.js.map +1 -1
  75. package/dist/esm/ResourceBadge.d.ts +0 -1
  76. package/dist/esm/ResourceBadge.js +2 -1
  77. package/dist/esm/ResourceBadge.js.map +1 -1
  78. package/dist/esm/ResourceBlame.d.ts +0 -1
  79. package/dist/esm/ResourceBlame.js +59 -10
  80. package/dist/esm/ResourceBlame.js.map +1 -1
  81. package/dist/esm/ResourceDiff.d.ts +0 -1
  82. package/dist/esm/ResourceDiff.js +13 -2
  83. package/dist/esm/ResourceDiff.js.map +1 -1
  84. package/dist/esm/ResourceDiffTable.d.ts +0 -2
  85. package/dist/esm/ResourceDiffTable.js +25 -3
  86. package/dist/esm/ResourceDiffTable.js.map +1 -1
  87. package/dist/esm/ResourceForm.js +6 -5
  88. package/dist/esm/ResourceForm.js.map +1 -1
  89. package/dist/esm/ResourceInput.js +22 -1
  90. package/dist/esm/ResourceInput.js.map +1 -1
  91. package/dist/esm/ResourceName.d.ts +2 -1
  92. package/dist/esm/ResourceName.js +5 -2
  93. package/dist/esm/ResourceName.js.map +1 -1
  94. package/dist/esm/ResourcePropertyDisplay.js +6 -6
  95. package/dist/esm/ResourcePropertyDisplay.js.map +1 -1
  96. package/dist/esm/ResourceTimeline.d.ts +0 -1
  97. package/dist/esm/ResourceTimeline.js +78 -25
  98. package/dist/esm/ResourceTimeline.js.map +1 -1
  99. package/dist/esm/Scheduler.d.ts +0 -1
  100. package/dist/esm/Scheduler.js +20 -4
  101. package/dist/esm/Scheduler.js.map +1 -1
  102. package/dist/esm/SearchControl.d.ts +0 -1
  103. package/dist/esm/SearchControl.js +33 -18
  104. package/dist/esm/SearchControl.js.map +1 -1
  105. package/dist/esm/SearchFilterEditor.d.ts +0 -1
  106. package/dist/esm/SearchFilterEditor.js +2 -2
  107. package/dist/esm/SearchFilterEditor.js.map +1 -1
  108. package/dist/esm/Timeline.d.ts +0 -1
  109. package/dist/esm/Timeline.js +13 -16
  110. package/dist/esm/Timeline.js.map +1 -1
  111. package/dist/esm/auth/AuthenticationForm.d.ts +1 -0
  112. package/dist/esm/auth/AuthenticationForm.js +6 -3
  113. package/dist/esm/auth/AuthenticationForm.js.map +1 -1
  114. package/dist/esm/auth/ChooseProfileForm.js +3 -3
  115. package/dist/esm/auth/ChooseProfileForm.js.map +1 -1
  116. package/dist/esm/auth/NewProjectForm.js +3 -3
  117. package/dist/esm/auth/NewProjectForm.js.map +1 -1
  118. package/dist/esm/auth/NewUserForm.js +4 -3
  119. package/dist/esm/auth/NewUserForm.js.map +1 -1
  120. package/dist/esm/auth/RegisterForm.d.ts +0 -1
  121. package/dist/esm/auth/RegisterForm.js.map +1 -1
  122. package/dist/esm/auth/SignInForm.d.ts +1 -1
  123. package/dist/esm/auth/SignInForm.js +1 -1
  124. package/dist/esm/auth/SignInForm.js.map +1 -1
  125. package/dist/esm/index.min.js +1 -1
  126. package/dist/esm/index.min.js.map +1 -1
  127. package/dist/esm/stories/DescriptionList.stories.d.ts +5 -0
  128. package/package.json +35 -24
  129. package/rollup.config.mjs +111 -0
  130. package/dist/cjs/defaulttheme.css +0 -192
  131. package/dist/cjs/styles.css +0 -528
  132. package/dist/esm/defaulttheme.css +0 -192
  133. package/dist/esm/styles.css +0 -528
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { Meta } from '@storybook/react';
3
+ declare const _default: Meta<import("@storybook/react").Args>;
4
+ export default _default;
5
+ export declare const Basic: () => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medplum/react",
3
- "version": "0.10.2",
3
+ "version": "1.0.0",
4
4
  "description": "Medplum React Component Library",
5
5
  "author": "Medplum <hello@medplum.com>",
6
6
  "license": "Apache-2.0",
@@ -14,41 +14,42 @@
14
14
  "clean": "rimraf dist storybook-static",
15
15
  "dev": "start-storybook -p 6006",
16
16
  "build": "npm run clean && npm run rollup",
17
- "rollup": "rollup --config rollup.config.js",
17
+ "rollup": "rollup --config rollup.config.mjs",
18
18
  "test": "jest",
19
19
  "storybook": "build-storybook"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@emotion/react": "11.10.4",
23
- "@mantine/core": "5.5.0",
24
- "@mantine/hooks": "5.5.0",
25
- "@medplum/core": "0.10.2",
26
- "@medplum/definitions": "0.10.2",
27
- "@medplum/fhirtypes": "0.10.2",
28
- "@medplum/mock": "0.10.2",
29
- "@tabler/icons": "1.101.0",
23
+ "@mantine/core": "5.5.5",
24
+ "@mantine/hooks": "5.5.5",
25
+ "@mantine/notifications": "5.5.5",
26
+ "@medplum/core": "1.0.0",
27
+ "@medplum/definitions": "1.0.0",
28
+ "@medplum/fhirtypes": "1.0.0",
29
+ "@medplum/mock": "1.0.0",
30
+ "@tabler/icons": "1.104.0",
30
31
  "@storybook/addon-actions": "6.5.12",
31
32
  "@storybook/addon-essentials": "6.5.12",
32
33
  "@storybook/addon-links": "6.5.12",
33
34
  "@storybook/builder-webpack5": "6.5.12",
34
35
  "@storybook/manager-webpack5": "6.5.12",
35
36
  "@storybook/react": "6.5.12",
36
- "@testing-library/dom": "8.18.1",
37
+ "@testing-library/dom": "8.19.0",
37
38
  "@testing-library/jest-dom": "5.16.5",
38
39
  "@testing-library/react": "13.4.0",
39
- "@types/jest": "29.1.1",
40
- "@types/node": "18.7.23",
40
+ "@types/jest": "29.1.2",
41
+ "@types/node": "18.11.0",
41
42
  "@types/react": "18.0.21",
42
43
  "@types/react-dom": "18.0.6",
43
44
  "@types/react-router-dom": "5.3.3",
44
45
  "dotenv-webpack": "8.0.1",
45
46
  "identity-obj-proxy": "3.0.0",
46
- "jest": "29.1.2",
47
- "jest-each": "29.1.2",
47
+ "jest": "29.2.0",
48
+ "jest-each": "29.2.0",
48
49
  "html-webpack-plugin": "5.5.0",
49
50
  "react": "18.2.0",
50
51
  "react-dom": "18.2.0",
51
- "react-router-dom": "6.4.1",
52
+ "react-router-dom": "6.4.2",
52
53
  "rimraf": "3.0.2",
53
54
  "typescript": "4.8.4"
54
55
  },
@@ -56,26 +57,36 @@
56
57
  "@emotion/react": "^11.10.4",
57
58
  "@mantine/core": "^5.4.0",
58
59
  "@mantine/hooks": "^5.4.0",
59
- "@medplum/core": "0.10.2",
60
+ "@mantine/notifications": "^5.4.0",
61
+ "@medplum/core": "1.0.0",
60
62
  "@tabler/icons": "^1.100.0",
61
63
  "react": "^17.0.2 || ^18.0.0",
62
64
  "react-dom": "^17.0.2 || ^18.0.0",
63
65
  "react-router-dom": "^6.2.2"
64
66
  },
67
+ "peerDependenciesMeta": {
68
+ "@emotion/react": {
69
+ "optional": true
70
+ },
71
+ "@mantine/core": {
72
+ "optional": true
73
+ },
74
+ "@mantine/hooks": {
75
+ "optional": true
76
+ },
77
+ "@mantine/notifications": {
78
+ "optional": true
79
+ },
80
+ "@tabler/icons": {
81
+ "optional": true
82
+ }
83
+ },
65
84
  "main": "dist/cjs/index.js",
66
85
  "module": "dist/esm/index.js",
67
86
  "exports": {
68
87
  ".": {
69
88
  "require": "./dist/cjs/index.js",
70
89
  "import": "./dist/esm/index.js"
71
- },
72
- "./defaulttheme.css": {
73
- "require": "./dist/cjs/defaulttheme.css",
74
- "import": "./dist/esm/defaulttheme.css"
75
- },
76
- "./styles.css": {
77
- "require": "./dist/cjs/styles.css",
78
- "import": "./dist/esm/styles.css"
79
90
  }
80
91
  },
81
92
  "types": "dist/esm/index.d.ts",
@@ -0,0 +1,111 @@
1
+ import resolve from '@rollup/plugin-node-resolve';
2
+ import replace from '@rollup/plugin-replace';
3
+ import typescript from '@rollup/plugin-typescript';
4
+ import dotenv from 'dotenv';
5
+ import { mkdirSync, writeFileSync } from 'fs';
6
+ import peerDepsExternal from 'rollup-plugin-peer-deps-external';
7
+ import { terser } from 'rollup-plugin-terser';
8
+
9
+ dotenv.config();
10
+
11
+ const extensions = ['.ts', '.tsx'];
12
+
13
+ const globals = {
14
+ '@mantine/core': 'mantine.core',
15
+ '@mantine/hooks': 'mantine.hooks',
16
+ '@mantine/notifications': 'mantine.notifications',
17
+ '@mantine/react': 'mantine.react',
18
+ '@medplum/core': 'medplum.core',
19
+ '@medplum/mock': 'medplum.mock',
20
+ '@tabler/icons': 'tabler.icons',
21
+ react: 'React',
22
+ 'react-dom': 'ReactDOM',
23
+ 'react-router-dom': 'ReactRouterDOM',
24
+ };
25
+
26
+ const sourcemapPathTransform = (path) => path.replaceAll('\\', '/').replaceAll('../../../src', '../../src');
27
+
28
+ export default [
29
+ {
30
+ input: 'src/index.ts',
31
+ output: [
32
+ {
33
+ file: 'dist/cjs/index.js',
34
+ format: 'umd',
35
+ name: 'medplum.react',
36
+ sourcemap: true,
37
+ sourcemapPathTransform,
38
+ globals,
39
+ },
40
+ {
41
+ file: 'dist/cjs/index.min.js',
42
+ format: 'umd',
43
+ name: 'medplum.react',
44
+ plugins: [terser()],
45
+ sourcemap: true,
46
+ sourcemapPathTransform,
47
+ globals,
48
+ },
49
+ ],
50
+ plugins: [
51
+ replace({
52
+ preventAssignment: true,
53
+ values: {
54
+ 'process.env.NODE_ENV': '"production"',
55
+ 'process.env.GOOGLE_AUTH_ORIGINS': `"${process.env.GOOGLE_AUTH_ORIGINS}"`,
56
+ 'process.env.GOOGLE_CLIENT_ID': `"${process.env.GOOGLE_CLIENT_ID}"`,
57
+ },
58
+ }),
59
+ peerDepsExternal(),
60
+ resolve({ extensions }),
61
+ typescript({ tsconfig: 'tsconfig.cjs.json', resolveJsonModule: true }),
62
+ {
63
+ buildEnd: () => {
64
+ mkdirSync('./dist/cjs', { recursive: true });
65
+ writeFileSync('./dist/cjs/package.json', '{"type": "commonjs"}');
66
+ },
67
+ },
68
+ ],
69
+ external: Object.keys(globals),
70
+ },
71
+ {
72
+ input: 'src/index.ts',
73
+ output: [
74
+ {
75
+ dir: 'dist/esm',
76
+ format: 'esm',
77
+ preserveModules: true,
78
+ preserveModulesRoot: 'src',
79
+ sourcemap: true,
80
+ sourcemapPathTransform,
81
+ },
82
+ {
83
+ file: 'dist/esm/index.min.js',
84
+ format: 'esm',
85
+ plugins: [terser()],
86
+ sourcemap: true,
87
+ sourcemapPathTransform,
88
+ },
89
+ ],
90
+ plugins: [
91
+ replace({
92
+ preventAssignment: true,
93
+ values: {
94
+ 'process.env.NODE_ENV': '"production"',
95
+ 'process.env.GOOGLE_AUTH_ORIGINS': `"${process.env.GOOGLE_AUTH_ORIGINS}"`,
96
+ 'process.env.GOOGLE_CLIENT_ID': `"${process.env.GOOGLE_CLIENT_ID}"`,
97
+ },
98
+ }),
99
+ peerDepsExternal(),
100
+ resolve({ extensions }),
101
+ typescript({ tsconfig: 'tsconfig.esm.json', resolveJsonModule: true }),
102
+ {
103
+ buildEnd: () => {
104
+ mkdirSync('./dist/esm', { recursive: true });
105
+ writeFileSync('./dist/esm/package.json', '{"type": "module"}');
106
+ },
107
+ },
108
+ ],
109
+ external: Object.keys(globals),
110
+ },
111
+ ];
@@ -1,192 +0,0 @@
1
- :root {
2
- --medplum-background: #f8f9fa;
3
- --medplum-surface: #ffffff;
4
- --medplum-foreground: #424242;
5
- --medplum-navbar: #5b2876;
6
- --medplum-navbar-textbox: rgba(255, 255, 255, 0.2);
7
- --medplum-navbar-placeholder: rgba(255, 255, 255, 0.6);
8
- --medplum-shadow: rgba(0, 0, 0, 0.1);
9
- --medplum-font-small: 12px;
10
- --medplum-font-normal: 13px;
11
- --medplum-font-big: 18px;
12
- /* gray */
13
- --medplum-gray-50: #fafafa;
14
- --medplum-gray-100: #f5f5f5;
15
- --medplum-gray-200: #eeeeee;
16
- --medplum-gray-300: #e0e0e0;
17
- --medplum-gray-400: #bdbdbd;
18
- --medplum-gray-500: #9e9e9e;
19
- --medplum-gray-600: #757575;
20
- --medplum-gray-700: #616161;
21
- --medplum-gray-800: #424242;
22
- --medplum-gray-900: #212121;
23
- /* red */
24
- --medplum-red-50: #ffebee;
25
- --medplum-red-100: #ffcdd2;
26
- --medplum-red-200: #ef9a9a;
27
- --medplum-red-300: #e57373;
28
- --medplum-red-400: #ef5350;
29
- --medplum-red-500: #f44336;
30
- --medplum-red-600: #e53935;
31
- --medplum-red-700: #d32f2f;
32
- --medplum-red-800: #c62828;
33
- --medplum-red-900: #b71c1c;
34
- /* purple */
35
- --medplum-purple-50: #ede7f6;
36
- --medplum-purple-100: #d1c4e9;
37
- --medplum-purple-200: #b39ddb;
38
- --medplum-purple-300: #9575cd;
39
- --medplum-purple-400: #7e57c2;
40
- --medplum-purple-500: #673ab7;
41
- --medplum-purple-600: #5e35b1;
42
- --medplum-purple-700: #512da8;
43
- --medplum-purple-800: #4527a0;
44
- --medplum-purple-900: #311b92;
45
- /* blue */
46
- --medplum-blue-50: #e3f2fd;
47
- --medplum-blue-100: #bbdefb;
48
- --medplum-blue-200: #90caf9;
49
- --medplum-blue-300: #64b5f6;
50
- --medplum-blue-400: #42a5f5;
51
- --medplum-blue-500: #2196f3;
52
- --medplum-blue-600: #1e88e5;
53
- --medplum-blue-700: #1976d2;
54
- --medplum-blue-800: #1565c0;
55
- --medplum-blue-900: #0d47a1;
56
- /* green */
57
- --medplum-green-50: #e8f5e9;
58
- --medplum-green-100: #c8e6c9;
59
- --medplum-green-200: #a5d6a7;
60
- --medplum-green-300: #81c784;
61
- --medplum-green-400: #66bb6a;
62
- --medplum-green-500: #4caf50;
63
- --medplum-green-600: #43a047;
64
- --medplum-green-700: #388e3c;
65
- --medplum-green-800: #2e7d32;
66
- --medplum-green-900: #1b5e20;
67
- /* yellow */
68
- --medplum-yellow-50: #fffde7;
69
- --medplum-yellow-100: #fff9c4;
70
- --medplum-yellow-200: #fff59d;
71
- --medplum-yellow-300: #fff176;
72
- --medplum-yellow-400: #ffee58;
73
- --medplum-yellow-500: #ffeb3b;
74
- --medplum-yellow-600: #fdd835;
75
- --medplum-yellow-700: #fbc02d;
76
- --medplum-yellow-800: #f9a825;
77
- --medplum-yellow-900: #f57f17;
78
- /* orange */
79
- --medplum-orange-50: #fff3e0;
80
- --medplum-orange-100: #ffe0b2;
81
- --medplum-orange-200: #ffcc80;
82
- --medplum-orange-300: #ffb74d;
83
- --medplum-orange-400: #ffa726;
84
- --medplum-orange-500: #ff9800;
85
- --medplum-orange-600: #fb8c00;
86
- --medplum-orange-700: #f57c00;
87
- --medplum-orange-800: #ef6c00;
88
- --medplum-orange-900: #e65100;
89
- }
90
-
91
- @media (prefers-color-scheme: dark2) {
92
- :root {
93
- --medplum-background: #222;
94
- --medplum-surface: #000;
95
- --medplum-foreground: #eee;
96
- --medplum-navbar: #5b2876;
97
- --medplum-navbar-textbox: rgba(255, 255, 255, 0.2);
98
- --medplum-navbar-placeholder: rgba(255, 255, 255, 0.6);
99
- --medplum-shadow: rgba(0, 0, 0, 0.2);
100
- /* gray */
101
- --medplum-gray-900: #fafafa;
102
- --medplum-gray-800: #f5f5f5;
103
- --medplum-gray-700: #eeeeee;
104
- --medplum-gray-600: #e0e0e0;
105
- --medplum-gray-500: #bdbdbd;
106
- --medplum-gray-400: #9e9e9e;
107
- --medplum-gray-300: #757575;
108
- --medplum-gray-200: #616161;
109
- --medplum-gray-100: #424242;
110
- --medplum-gray-50: #212121;
111
- /* red */
112
- --medplum-red-900: #ffebee;
113
- --medplum-red-800: #ffcdd2;
114
- --medplum-red-700: #ef9a9a;
115
- --medplum-red-600: #e57373;
116
- --medplum-red-500: #ef5350;
117
- --medplum-red-400: #f44336;
118
- --medplum-red-300: #e53935;
119
- --medplum-red-200: #d32f2f;
120
- --medplum-red-100: #c62828;
121
- --medplum-red-50: #b71c1c;
122
- /* purple */
123
- --medplum-purple-900: #ede7f6;
124
- --medplum-purple-800: #d1c4e9;
125
- --medplum-purple-700: #b39ddb;
126
- --medplum-purple-600: #9575cd;
127
- --medplum-purple-500: #7e57c2;
128
- --medplum-purple-400: #673ab7;
129
- --medplum-purple-300: #5e35b1;
130
- --medplum-purple-200: #512da8;
131
- --medplum-purple-100: #4527a0;
132
- --medplum-purple-50: #311b92;
133
- /* blue */
134
- --medplum-blue-50: #e3f2fd;
135
- --medplum-blue-100: #bbdefb;
136
- --medplum-blue-200: #90caf9;
137
- --medplum-blue-300: #64b5f6;
138
- --medplum-blue-400: #42a5f5;
139
- --medplum-blue-500: #2196f3;
140
- --medplum-blue-600: #1e88e5;
141
- --medplum-blue-700: #1976d2;
142
- --medplum-blue-800: #1565c0;
143
- --medplum-blue-900: #0d47a1;
144
- /* green */
145
- --medplum-green-900: #e8f5e9;
146
- --medplum-green-800: #c8e6c9;
147
- --medplum-green-700: #a5d6a7;
148
- --medplum-green-600: #81c784;
149
- --medplum-green-500: #66bb6a;
150
- --medplum-green-400: #4caf50;
151
- --medplum-green-300: #43a047;
152
- --medplum-green-200: #388e3c;
153
- --medplum-green-100: #2e7d32;
154
- --medplum-green-50: #1b5e20;
155
- /* yellow */
156
- --medplum-yellow-900: #fffde7;
157
- --medplum-yellow-800: #fff9c4;
158
- --medplum-yellow-700: #fff59d;
159
- --medplum-yellow-600: #fff176;
160
- --medplum-yellow-500: #ffee58;
161
- --medplum-yellow-400: #ffeb3b;
162
- --medplum-yellow-300: #fdd835;
163
- --medplum-yellow-200: #fbc02d;
164
- --medplum-yellow-100: #f9a825;
165
- --medplum-yellow-50: #f57f17;
166
- /* orange */
167
- --medplum-orange-900: #fff3e0;
168
- --medplum-orange-800: #ffe0b2;
169
- --medplum-orange-700: #ffcc80;
170
- --medplum-orange-600: #ffb74d;
171
- --medplum-orange-500: #ffa726;
172
- --medplum-orange-400: #ff9800;
173
- --medplum-orange-300: #fb8c00;
174
- --medplum-orange-200: #f57c00;
175
- --medplum-orange-100: #ef6c00;
176
- --medplum-orange-50: #e65100;
177
- }
178
- }
179
-
180
- a {
181
- color: var(--medplum-blue-700);
182
- text-decoration: none;
183
- }
184
-
185
- a:hover {
186
- text-decoration: underline;
187
- transition: background-color 100ms linear, color 100ms linear, border 100ms linear;
188
- }
189
-
190
- a:focus {
191
- outline: 0.1px solid var(--medplum-blue-500);
192
- }