studiokit-scaffolding-js 7.3.0 → 7.4.0-next.1.1

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 (90) hide show
  1. package/README.md +61 -62
  2. package/lib/components/AccessibilityStatement.d.ts +7 -0
  3. package/lib/components/AccessibilityStatement.js +351 -0
  4. package/lib/components/Buttons/PopoverButton.d.ts +16 -0
  5. package/lib/components/Buttons/PopoverButton.js +131 -0
  6. package/lib/components/Downtime.d.ts +5 -0
  7. package/lib/components/Downtime.js +80 -0
  8. package/lib/components/Dropdowns/UserDropdown.js +1 -1
  9. package/lib/components/EmptyCoursesMessage.d.ts +8 -0
  10. package/lib/components/EmptyCoursesMessage.js +60 -0
  11. package/lib/components/Footer/index.css +59 -0
  12. package/lib/components/Footer/index.d.ts +9 -0
  13. package/lib/components/Footer/index.js +208 -0
  14. package/lib/components/Forms/DateField.js +1 -1
  15. package/lib/components/Forms/TimeField.js +1 -1
  16. package/lib/components/FullscreenHeader.d.ts +11 -0
  17. package/lib/components/FullscreenHeader.js +88 -0
  18. package/lib/components/Groups/ExternalGroups/Attach.js +5 -1
  19. package/lib/components/HOC/CollectionComponent.js +1 -1
  20. package/lib/components/HOC/CollectionFirstItemComponent.js +1 -1
  21. package/lib/components/HOC/CollectionItemComponent.js +1 -1
  22. package/lib/components/HOC/EntityComponent.js +1 -1
  23. package/lib/components/HOC/SearchPersistorComponent.js +1 -1
  24. package/lib/components/Icons/IconSheriff.d.ts +3 -0
  25. package/lib/components/Icons/IconSheriff.js +36 -0
  26. package/lib/components/Impersonation/UserDetail.css +2 -0
  27. package/lib/components/Impersonation/UserDetail.d.ts +0 -5
  28. package/lib/components/Impersonation/UserDetail.js +22 -25
  29. package/lib/components/LoadErrorAlert.d.ts +7 -0
  30. package/lib/components/LoadErrorAlert.js +82 -0
  31. package/lib/components/LockDownBrowser/Check.js +6 -2
  32. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +1 -1
  33. package/lib/components/PrivacyPolicy.d.ts +6 -0
  34. package/lib/components/PrivacyPolicy.js +261 -0
  35. package/lib/components/Quill/TableModule/index.css +51 -51
  36. package/lib/components/SearchControls.js +1 -1
  37. package/lib/components/TimeZoneInfo.d.ts +2 -0
  38. package/lib/components/TimeZoneInfo.js +26 -0
  39. package/lib/components/UserRoles/index.d.ts +2 -2
  40. package/lib/components/UserRoles/index.js +10 -1
  41. package/lib/config/eslint/index.js +3 -4
  42. package/lib/config/eslint/lib/typescript.js +3 -4
  43. package/lib/constants/mockData.d.ts +2 -1
  44. package/lib/constants/mockData.js +10 -2
  45. package/lib/css/base/_print.css +4 -4
  46. package/lib/css/components/_actionList.css +48 -48
  47. package/lib/css/components/_bootstrap-grid.css +0 -1
  48. package/lib/css/components/_buttons.css +109 -5
  49. package/lib/css/components/_forms.css +53 -2
  50. package/lib/css/components/_menu.css +0 -1
  51. package/lib/css/components/_modals.css +65 -0
  52. package/lib/css/components/_quill.css +14 -5
  53. package/lib/css/components/_tables.css +5 -3
  54. package/lib/css/utils/_general.css +3 -1
  55. package/lib/css/utils/_icon.css +19 -0
  56. package/lib/css/variables.css +2 -0
  57. package/lib/hooks/useCollection.js +1 -1
  58. package/lib/hooks/useCollectionItem.js +1 -1
  59. package/lib/images/purdue-white.svg +1 -0
  60. package/lib/images/purdue.svg +1 -0
  61. package/lib/redux/actions/ModelAction.d.ts +17 -1
  62. package/lib/redux/actions/ModelAction.js +19 -3
  63. package/lib/redux/reducers/modelsReducer.js +12 -1
  64. package/lib/redux/sagas/modelFetchSaga.js +22 -2
  65. package/lib/redux/sagas/noStoreSaga.d.ts +8 -7
  66. package/lib/redux/sagas/noStoreSaga.js +27 -14
  67. package/lib/services/fetchService.d.ts +2 -1
  68. package/lib/services/fetchService.js +9 -3
  69. package/lib/types/externals.d.js +1 -1
  70. package/lib/types/net/FetchCancelledData.d.ts +3 -0
  71. package/lib/types/net/FetchCancelledData.js +6 -0
  72. package/lib/types/net/index.d.ts +1 -0
  73. package/lib/types/net/index.js +12 -1
  74. package/lib/utils/fetch.d.ts +2 -0
  75. package/lib/utils/fetch.js +24 -16
  76. package/lib/utils/lti.d.ts +1 -0
  77. package/lib/utils/lti.js +15 -2
  78. package/lib/utils/quill.js +5 -2
  79. package/lib/utils/serviceWorker.d.ts +8 -0
  80. package/lib/utils/serviceWorker.js +119 -0
  81. package/lib/utils/sort.d.ts +1 -0
  82. package/lib/utils/sort.js +16 -2
  83. package/lib/utils/string.d.ts +4 -0
  84. package/lib/utils/string.js +32 -2
  85. package/lib/utils/table.d.ts +2 -0
  86. package/lib/utils/table.js +10 -3
  87. package/lib/utils/user.js +3 -3
  88. package/package.json +8 -23
  89. package/lib/config/eslint/lib/prettier.d.ts +0 -3
  90. package/lib/config/eslint/lib/prettier.js +0 -23
package/README.md CHANGED
@@ -9,27 +9,30 @@
9
9
  # Installation
10
10
 
11
11
  ## Install this library and call startup methods
12
+
12
13
  1. `yarn add studiokit-scaffolding-js`
13
14
  1. (Optional) Call configurable extensions in your main entry file
14
- * `redux/sagas/rootSaga`
15
- * `setOtherDependentSagas` to add more sagas
16
- * `redux/sagas/postLoginDataSaga`
17
- * `setOnPostLogin` to load more data after login
18
- * `redux/configureReducers`
19
- * `updatePersistBlacklist` and `setOtherReducers` to add more reducers
15
+ - `redux/sagas/rootSaga`
16
+ - `setOtherDependentSagas` to add more sagas
17
+ - `redux/sagas/postLoginDataSaga`
18
+ - `setOnPostLogin` to load more data after login
19
+ - `redux/configureReducers`
20
+ - `updatePersistBlacklist` and `setOtherReducers` to add more reducers
20
21
  1. In your main entry file call `startup`
21
- ```js
22
- import { startup, endpointMappings } from 'studiokit-scaffolding-js'
23
-
24
- const appConfig = {/* AppConfiguration */}
25
- const endpointMappings = {...endpointMappings, .../* App EndpointMappings */}
26
- const { history, store, persistor } = startup(appConfig, endpointMappings)
27
-
28
- // render using history, store, persistor
29
- ReactDOM.render(
30
- ...
31
- )
32
- ```
22
+
23
+ ```js
24
+ import { startup, endpointMappings } from 'studiokit-scaffolding-js'
25
+
26
+ const appConfig = {/* AppConfiguration */}
27
+ const endpointMappings = {...endpointMappings, .../* App EndpointMappings */}
28
+ const { history, store, persistor } = startup(appConfig, endpointMappings)
29
+
30
+ // render using history, store, persistor
31
+ ReactDOM.render(
32
+ ...
33
+ )
34
+ ```
35
+
33
36
  ## Styles
34
37
 
35
38
  ### Basic Setup
@@ -47,10 +50,9 @@ import 'studiokit-scaffolding-js/lib/css/index-with-variables.css'
47
50
  In `config-overrides.js` when setting up `react-app-require-postcss`, in order for css variables to work, the `importFrom` array should look like the following:
48
51
 
49
52
  ```js
50
- importFrom: [
51
- 'node_modules/studiokit-scaffolding-js/lib/css/variables.css'
52
- ]
53
+ importFrom: ['node_modules/studiokit-scaffolding-js/lib/css/variables.css']
53
54
  ```
55
+
54
56
  ### Variable Override Setup
55
57
 
56
58
  In order to override certain color variables from `variables.css`, they must be overridden _before_ scaffolding’s `index.css` file is imported.
@@ -69,10 +71,7 @@ import './css/index.css'
69
71
  In `config-overrides.js` when setting up `react-app-require-postcss`, in order for css variables to work, the `importFrom` array should look like the following:
70
72
 
71
73
  ```js
72
- importFrom: [
73
- 'node_modules/studiokit-scaffolding-js/lib/css/variables.css',
74
- 'src/css/variables.css'
75
- ]
74
+ importFrom: ['node_modules/studiokit-scaffolding-js/lib/css/variables.css', 'src/css/variables.css']
76
75
  ```
77
76
 
78
77
  # Usage
@@ -86,57 +85,57 @@ Components and utils can be imported from `studiokit-scaffolding-js/lib/...`
86
85
  ## Branches
87
86
 
88
87
  1. Create a new branch
89
- * **Feature/Issue**: In GitLab from an issue, create a branch off of `develop`
90
- * **Hotfix**: Create a `hotfix` branch off of `master` (manually or in GitLab by making an MR)
88
+ - **Feature/Issue**: In GitLab from an issue, create a branch off of `develop`
89
+ - **Hotfix**: Create a `hotfix` branch off of `master` (manually or in GitLab by making an MR)
91
90
  1. Update the version number
92
- * **Feature/Issue**
93
- * append `-next.1.1`
94
- * e.g. If the current version is `1.0.0`, the new branch should be `1.0.0-next.1.1`
95
- * **Hotfix**
96
- * increase the version number and append `-alpha.1`
97
- * e.g. If the current version is `1.0.0`, the new branch should be `1.0.1-alpha.1` for hotfix
98
- * **NOTE:** if **more than one** branch is being developed on at the same time, simply increment the **first** number after "next"
99
- * e.g. `1.0.0-next.2.1` for the second issue branch (this won't apply for hotfixes)
91
+ - **Feature/Issue**
92
+ - append `-next.1.1`
93
+ - e.g. If the current version is `1.0.0`, the new branch should be `1.0.0-next.1.1`
94
+ - **Hotfix**
95
+ - increase the version number and append `-alpha.1`
96
+ - e.g. If the current version is `1.0.0`, the new branch should be `1.0.1-alpha.1` for hotfix
97
+ - **NOTE:** if **more than one** branch is being developed on at the same time, simply increment the **first** number after "next"
98
+ - e.g. `1.0.0-next.2.1` for the second issue branch (this won't apply for hotfixes)
100
99
  1. Development Loop
101
- 1. Add/update new components, utils, or styles
102
- 1. Add/update unit tests for those components or utils to confirm basic functionality
103
- 1. Increment the **last** number in the version
104
- * e.g. `1.0.0-next.2.1` => `1.0.0-next.2.2` for a feature/issue branch
105
- * e.g. `1.0.1-alpha.1` => `1.0.1-alpha.2` for a hotfix branch
106
- 1. Push to gitlab.
100
+ 1. Add/update new components, utils, or styles
101
+ 1. Add/update unit tests for those components or utils to confirm basic functionality
102
+ 1. Increment the **last** number in the version
103
+ - e.g. `1.0.0-next.2.1` => `1.0.0-next.2.2` for a feature/issue branch
104
+ - e.g. `1.0.1-alpha.1` => `1.0.1-alpha.2` for a hotfix branch
105
+ 1. Push to gitlab.
107
106
  1. Publish to npmjs.org
108
- * `npm publish --tag next` (or `--tag alpha` for hotfixes)
109
- (You will need to be logged into npm via `npm login` if you aren't already. Use your own login, not the itap-informatics one.)
110
- 1. Install the new version in the project(s) you are working on by updating its `package.json` and running `yarn`
111
- * As an alternative to the two steps above, if you don't need to make changes available to other devs yet you can:
112
- 1. In the studiokit directory, run `yarn build` then `yarn pack`. You'll still need to have incremented the version number to avoid having it cached.
113
- 1. Over in the Circuit/Variate/etc. directory, run `yarn add ../studiokit-scaffolding-js/package.tgz`.
114
- 1. Repeat as needed
107
+ - `npm publish --tag next` (or `--tag alpha` for hotfixes)
108
+ (You will need to be logged into npm via `npm login` if you aren't already. Use your own login, not the itap-informatics one.)
109
+ 1. Install the new version in the project(s) you are working on by updating its `package.json` and running `yarn`
110
+ - As an alternative to the two steps above, if you don't need to make changes available to other devs yet you can:
111
+ 1. In the studiokit directory, run `yarn build` then `yarn pack`. You'll still need to have incremented the version number to avoid having it cached.
112
+ 1. Over in the Circuit/Variate/etc. directory, run `yarn add ../studiokit-scaffolding-js/package.tgz`.
113
+ 1. Repeat as needed
115
114
  1. Merging
116
- * After the Merge Request is approved, **remove** the "next" or "alpha" suffix from the version **before** merging to develop or master
117
- * For **hotfix** branches, the version number should be the new patch number, e.g. `1.0.1`
115
+ - After the Merge Request is approved, **remove** the "next" or "alpha" suffix from the version **before** merging to develop or master
116
+ - For **hotfix** branches, the version number should be the new patch number, e.g. `1.0.1`
118
117
  1. Release
119
- * **Feature/Issue**: After merging, create a new "release" branch from `develop` and follow the "git flow" release steps as normal
120
- * **Hotfix**: Finish the "git flow" hotfix steps as normal from the hotfix branch
118
+ - **Feature/Issue**: After merging, create a new "release" branch from `develop` and follow the "git flow" release steps as normal
119
+ - **Hotfix**: Finish the "git flow" hotfix steps as normal from the hotfix branch
121
120
  1. Publish to npmjs.org
122
- * `npm publish`
123
- (You will need to be logged into npm via `npm login` if you aren't already. Use your own login, not the itap-informatics one.)
121
+ - `npm publish`
122
+ (You will need to be logged into npm via `npm login` if you aren't already. Use your own login, not the itap-informatics one.)
124
123
 
125
124
  ## Styles
126
125
 
127
126
  Styles are organized into the following folders and files inside of `src/css`
128
127
 
129
128
  1. `variables.css`
130
- * Global constant variables
131
- * Common app-specific variables
129
+ - Global constant variables
130
+ - Common app-specific variables
132
131
  1. `utils`
133
- * Assorted utility styles, similar to tachyons
134
- * Break out similar styles into separate files once a few similar ones exist
135
- * e.g. `_display.css` contains all `display: ...;` related modifier styles
132
+ - Assorted utility styles, similar to tachyons
133
+ - Break out similar styles into separate files once a few similar ones exist
134
+ - e.g. `_display.css` contains all `display: ...;` related modifier styles
136
135
  1. `base`
137
- * `_base.css`: Generic tags, .skip-main link, and .main-content
138
- * `_typography.css`: Default fonts, font scale, and text colors
136
+ - `_base.css`: Generic tags, .skip-main link, and .main-content
137
+ - `_typography.css`: Default fonts, font scale, and text colors
139
138
  1. `components`
140
- * Global component specific styles (e.g. not functional like tachyons)
139
+ - Global component specific styles (e.g. not functional like tachyons)
141
140
 
142
141
  Your project’s css folders and files should follow this same pattern.
@@ -0,0 +1,7 @@
1
+ import { FunctionComponent, ReactNode } from 'react';
2
+ export interface AccessibilityStatementProps {
3
+ statementDate: string;
4
+ additionalLimitations?: ReactNode;
5
+ feedbackEmail?: string;
6
+ }
7
+ export declare const AccessibilityStatement: FunctionComponent<AccessibilityStatementProps>;
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AccessibilityStatement = void 0;
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _reactBootstrap = require("react-bootstrap");
9
+ var _reactHelmet = require("react-helmet");
10
+ var _constants = require("../constants");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ const AccessibilityStatement = t0 => {
13
+ const $ = (0, _reactCompilerRuntime.c)(47);
14
+ const {
15
+ statementDate,
16
+ additionalLimitations,
17
+ feedbackEmail: t1
18
+ } = t0;
19
+ const feedbackEmail = t1 === undefined ? "tlt@purdue.edu" : t1;
20
+ let t2;
21
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
22
+ t2 = (0, _constants.getAppConfig)();
23
+ $[0] = t2;
24
+ } else {
25
+ t2 = $[0];
26
+ }
27
+ const {
28
+ APP_NAME
29
+ } = t2;
30
+ let t3;
31
+ let t4;
32
+ let t5;
33
+ let t6;
34
+ let t7;
35
+ let t8;
36
+ let t9;
37
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
38
+ t3 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHelmet.Helmet, {
39
+ title: "Accessibility Statement"
40
+ });
41
+ t4 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("h2", {
42
+ children: ["Accessibility Statement for ", APP_NAME]
43
+ });
44
+ t5 = /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
45
+ children: "This is an accessibility statement from Purdue University."
46
+ });
47
+ t6 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
48
+ children: "Measures to Support Accessibility"
49
+ });
50
+ t7 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
51
+ className: "mb2",
52
+ children: ["Purdue University takes the following measures to ensure accessibility of ", APP_NAME, ":"]
53
+ });
54
+ t8 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
55
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
56
+ children: "Include accessibility throughout our internal policies."
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
58
+ children: "Integrate accessibility into our procurement practices."
59
+ })]
60
+ });
61
+ t9 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
62
+ children: "Conformance Status"
63
+ });
64
+ $[1] = t3;
65
+ $[2] = t4;
66
+ $[3] = t5;
67
+ $[4] = t6;
68
+ $[5] = t7;
69
+ $[6] = t8;
70
+ $[7] = t9;
71
+ } else {
72
+ t3 = $[1];
73
+ t4 = $[2];
74
+ t5 = $[3];
75
+ t6 = $[4];
76
+ t7 = $[5];
77
+ t8 = $[6];
78
+ t9 = $[7];
79
+ }
80
+ let t10;
81
+ let t11;
82
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
83
+ t10 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
84
+ children: ["The", " ", /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
85
+ href: "https://www.w3.org/WAI/standards-guidelines/wcag/",
86
+ target: "_blank",
87
+ rel: "noopener noreferrer",
88
+ children: "Web Content Accessibility Guidelines (WCAG)"
89
+ }), " ", "defines requirements for designers and developers to improve accessibility for people with disabilities. It defines three levels of conformance: Level A, Level AA, and Level AAA.", " ", APP_NAME, " is partially conformant with WCAG 2.2 level AA. Partially conformant means that some parts of the content do not fully conform to the accessibility standard."]
90
+ });
91
+ t11 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
92
+ children: "Feedback"
93
+ });
94
+ $[8] = t10;
95
+ $[9] = t11;
96
+ } else {
97
+ t10 = $[8];
98
+ t11 = $[9];
99
+ }
100
+ const t12 = `mailto:${feedbackEmail}`;
101
+ let t13;
102
+ if ($[10] !== feedbackEmail || $[11] !== t12) {
103
+ t13 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
104
+ children: ["We welcome your feedback on the accessibility of ", APP_NAME, ". Please let us know if you encounter accessibility barriers on ", APP_NAME, " by emailing us at", " ", /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
105
+ href: t12,
106
+ children: feedbackEmail
107
+ }), "."]
108
+ });
109
+ $[10] = feedbackEmail;
110
+ $[11] = t12;
111
+ $[12] = t13;
112
+ } else {
113
+ t13 = $[12];
114
+ }
115
+ let t14;
116
+ let t15;
117
+ let t16;
118
+ let t17;
119
+ let t18;
120
+ let t19;
121
+ let t20;
122
+ let t21;
123
+ let t22;
124
+ let t23;
125
+ let t24;
126
+ let t25;
127
+ let t26;
128
+ let t27;
129
+ let t28;
130
+ let t29;
131
+ if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
132
+ t14 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
133
+ children: "Compatibility with Browsers and Assistive Technology"
134
+ });
135
+ t15 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
136
+ className: "mb2",
137
+ children: [APP_NAME, " is designed to be compatible with the following assistive technologies:"]
138
+ });
139
+ t16 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
140
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
141
+ children: "NVDA screen reader on Windows"
142
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
143
+ children: "VoiceOver on MacOS"
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
145
+ children: "All major browsers using keyboard navigation"
146
+ })]
147
+ });
148
+ t17 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
149
+ children: "Technical Specifications"
150
+ });
151
+ t18 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
152
+ className: "mb2",
153
+ children: ["Accessibility of ", APP_NAME, " relies on the following technologies to work with the particular combination of web browser and any assistive technologies or plugins installed on your computer:"]
154
+ });
155
+ t19 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
156
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
157
+ children: "HTML"
158
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
159
+ children: "WAI-ARIA"
160
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
161
+ children: "CSS"
162
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
163
+ children: "JavaScript"
164
+ })]
165
+ });
166
+ t20 = /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
167
+ children: "These technologies are relied upon for conformance with the accessibility standards used."
168
+ });
169
+ t21 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
170
+ children: "Limitations and Alternatives"
171
+ });
172
+ t22 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
173
+ children: ["Despite our best efforts to ensure accessibility of ", APP_NAME, ", there may be some limitations. Below is a description of known limitations, and potential solutions. Please contact us if you observe an issue not listed below."]
174
+ });
175
+ t23 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
176
+ className: "mb2",
177
+ children: ["Known limitations for ", APP_NAME, ":"]
178
+ });
179
+ t24 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
180
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
181
+ children: "1.1.1 Non-text Content: "
182
+ }), "User-supplied content may not meet this criteria"]
183
+ });
184
+ t25 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
185
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
186
+ children: "1.2.1 Audio-only and Video-only (Prerecorded):"
187
+ }), " User-supplied content may not meet this criteria"]
188
+ });
189
+ t26 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
190
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
191
+ children: "1.2.2 Captions (Prerecorded):"
192
+ }), " User-supplied content may not meet this criteria"]
193
+ });
194
+ t27 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
195
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
196
+ children: "1.2.3 Audio Description or Media Alternative (Prerecorded):"
197
+ }), " User-supplied content may not meet this criteria"]
198
+ });
199
+ t28 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
200
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
201
+ children: "1.3.3 Sensory Characteristics:"
202
+ }), " User-supplied content may not meet this criteria"]
203
+ });
204
+ t29 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
205
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
206
+ children: "1.2.5 Audio Description (Prerecorded):"
207
+ }), " User-supplied content may not meet this criteria"]
208
+ });
209
+ $[13] = t14;
210
+ $[14] = t15;
211
+ $[15] = t16;
212
+ $[16] = t17;
213
+ $[17] = t18;
214
+ $[18] = t19;
215
+ $[19] = t20;
216
+ $[20] = t21;
217
+ $[21] = t22;
218
+ $[22] = t23;
219
+ $[23] = t24;
220
+ $[24] = t25;
221
+ $[25] = t26;
222
+ $[26] = t27;
223
+ $[27] = t28;
224
+ $[28] = t29;
225
+ } else {
226
+ t14 = $[13];
227
+ t15 = $[14];
228
+ t16 = $[15];
229
+ t17 = $[16];
230
+ t18 = $[17];
231
+ t19 = $[18];
232
+ t20 = $[19];
233
+ t21 = $[20];
234
+ t22 = $[21];
235
+ t23 = $[22];
236
+ t24 = $[23];
237
+ t25 = $[24];
238
+ t26 = $[25];
239
+ t27 = $[26];
240
+ t28 = $[27];
241
+ t29 = $[28];
242
+ }
243
+ let t30;
244
+ if ($[29] !== additionalLimitations) {
245
+ t30 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
246
+ children: [t24, t25, t26, t27, t28, t29, additionalLimitations]
247
+ });
248
+ $[29] = additionalLimitations;
249
+ $[30] = t30;
250
+ } else {
251
+ t30 = $[30];
252
+ }
253
+ let t31;
254
+ let t32;
255
+ let t33;
256
+ let t34;
257
+ if ($[31] === Symbol.for("react.memo_cache_sentinel")) {
258
+ t31 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
259
+ children: "Assessment Approach"
260
+ });
261
+ t32 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
262
+ className: "mb2",
263
+ children: ["Purdue University assessed the accessibility of ", APP_NAME, " by the following approach:"]
264
+ });
265
+ t33 = /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
266
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
267
+ children: "Self-evaluation"
268
+ })
269
+ });
270
+ t34 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
271
+ children: "Formal Complaints"
272
+ });
273
+ $[31] = t31;
274
+ $[32] = t32;
275
+ $[33] = t33;
276
+ $[34] = t34;
277
+ } else {
278
+ t31 = $[31];
279
+ t32 = $[32];
280
+ t33 = $[33];
281
+ t34 = $[34];
282
+ }
283
+ const t35 = `mailto:${feedbackEmail}`;
284
+ let t36;
285
+ if ($[35] !== feedbackEmail || $[36] !== t35) {
286
+ t36 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
287
+ children: ["Email us at ", /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
288
+ href: t35,
289
+ children: feedbackEmail
290
+ }), "."]
291
+ });
292
+ $[35] = feedbackEmail;
293
+ $[36] = t35;
294
+ $[37] = t36;
295
+ } else {
296
+ t36 = $[37];
297
+ }
298
+ let t37;
299
+ if ($[38] === Symbol.for("react.memo_cache_sentinel")) {
300
+ t37 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
301
+ children: "Date"
302
+ });
303
+ $[38] = t37;
304
+ } else {
305
+ t37 = $[38];
306
+ }
307
+ let t38;
308
+ if ($[39] === Symbol.for("react.memo_cache_sentinel")) {
309
+ t38 = /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
310
+ href: "https://www.w3.org/WAI/planning/statements/",
311
+ target: "_blank",
312
+ rel: "noopener noreferrer",
313
+ children: "W3C Accessibility Statement Generator Tool"
314
+ });
315
+ $[39] = t38;
316
+ } else {
317
+ t38 = $[39];
318
+ }
319
+ let t39;
320
+ if ($[40] !== statementDate) {
321
+ t39 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
322
+ children: ["This statement was created on ", statementDate, " using the", " ", t38, "."]
323
+ });
324
+ $[40] = statementDate;
325
+ $[41] = t39;
326
+ } else {
327
+ t39 = $[41];
328
+ }
329
+ let t40;
330
+ if ($[42] !== t13 || $[43] !== t30 || $[44] !== t36 || $[45] !== t39) {
331
+ t40 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Container, {
332
+ className: "mt3",
333
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Row, {
334
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Col, {
335
+ xs: 12,
336
+ children: [t3, t4, t5, t6, t7, t8, t9, t10, t11, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t30, t31, t32, t33, t34, t36, t37, t39]
337
+ })
338
+ })
339
+ });
340
+ $[42] = t13;
341
+ $[43] = t30;
342
+ $[44] = t36;
343
+ $[45] = t39;
344
+ $[46] = t40;
345
+ } else {
346
+ t40 = $[46];
347
+ }
348
+ return t40;
349
+ };
350
+ exports.AccessibilityStatement = AccessibilityStatement;
351
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RCb290c3RyYXAiLCJyZXF1aXJlIiwiX3JlYWN0SGVsbWV0IiwiX2NvbnN0YW50cyIsIl9qc3hSdW50aW1lIiwiQWNjZXNzaWJpbGl0eVN0YXRlbWVudCIsInQwIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJzdGF0ZW1lbnREYXRlIiwiYWRkaXRpb25hbExpbWl0YXRpb25zIiwiZmVlZGJhY2tFbWFpbCIsInQxIiwidW5kZWZpbmVkIiwidDIiLCJTeW1ib2wiLCJmb3IiLCJnZXRBcHBDb25maWciLCJBUFBfTkFNRSIsInQzIiwidDQiLCJ0NSIsInQ2IiwidDciLCJ0OCIsInQ5IiwianN4IiwiSGVsbWV0IiwidGl0bGUiLCJqc3hzIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJ0MTAiLCJ0MTEiLCJocmVmIiwidGFyZ2V0IiwicmVsIiwidDEyIiwidDEzIiwidDE0IiwidDE1IiwidDE2IiwidDE3IiwidDE4IiwidDE5IiwidDIwIiwidDIxIiwidDIyIiwidDIzIiwidDI0IiwidDI1IiwidDI2IiwidDI3IiwidDI4IiwidDI5IiwidDMwIiwidDMxIiwidDMyIiwidDMzIiwidDM0IiwidDM1IiwidDM2IiwidDM3IiwidDM4IiwidDM5IiwidDQwIiwiQ29udGFpbmVyIiwiUm93IiwiQ29sIiwieHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQWNjZXNzaWJpbGl0eVN0YXRlbWVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnVuY3Rpb25Db21wb25lbnQsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ29sLCBDb250YWluZXIsIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCdcbmltcG9ydCB7IEhlbG1ldCB9IGZyb20gJ3JlYWN0LWhlbG1ldCdcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NpYmlsaXR5U3RhdGVtZW50UHJvcHMge1xuXHRzdGF0ZW1lbnREYXRlOiBzdHJpbmdcblx0YWRkaXRpb25hbExpbWl0YXRpb25zPzogUmVhY3ROb2RlXG5cdGZlZWRiYWNrRW1haWw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IEFjY2Vzc2liaWxpdHlTdGF0ZW1lbnQ6IEZ1bmN0aW9uQ29tcG9uZW50PEFjY2Vzc2liaWxpdHlTdGF0ZW1lbnRQcm9wcz4gPSAoe1xuXHRzdGF0ZW1lbnREYXRlLFxuXHRhZGRpdGlvbmFsTGltaXRhdGlvbnMsXG5cdGZlZWRiYWNrRW1haWwgPSAndGx0QHB1cmR1ZS5lZHUnXG59KSA9PiB7XG5cdGNvbnN0IHsgQVBQX05BTUUgfSA9IGdldEFwcENvbmZpZygpXG5cdHJldHVybiAoXG5cdFx0PENvbnRhaW5lciBjbGFzc05hbWU9XCJtdDNcIj5cblx0XHRcdDxSb3c+XG5cdFx0XHRcdDxDb2wgeHM9ezEyfT5cblx0XHRcdFx0XHQ8SGVsbWV0IHRpdGxlPVwiQWNjZXNzaWJpbGl0eSBTdGF0ZW1lbnRcIiAvPlxuXHRcdFx0XHRcdDxoMj5BY2Nlc3NpYmlsaXR5IFN0YXRlbWVudCBmb3Ige0FQUF9OQU1FfTwvaDI+XG5cdFx0XHRcdFx0PHA+VGhpcyBpcyBhbiBhY2Nlc3NpYmlsaXR5IHN0YXRlbWVudCBmcm9tIFB1cmR1ZSBVbml2ZXJzaXR5LjwvcD5cblx0XHRcdFx0XHQ8aDM+TWVhc3VyZXMgdG8gU3VwcG9ydCBBY2Nlc3NpYmlsaXR5PC9oMz5cblx0XHRcdFx0XHQ8cCBjbGFzc05hbWU9XCJtYjJcIj5cblx0XHRcdFx0XHRcdFB1cmR1ZSBVbml2ZXJzaXR5IHRha2VzIHRoZSBmb2xsb3dpbmcgbWVhc3VyZXMgdG8gZW5zdXJlIGFjY2Vzc2liaWxpdHkgb2Yge0FQUF9OQU1FfTpcblx0XHRcdFx0XHQ8L3A+XG5cdFx0XHRcdFx0PHVsPlxuXHRcdFx0XHRcdFx0PGxpPkluY2x1ZGUgYWNjZXNzaWJpbGl0eSB0aHJvdWdob3V0IG91ciBpbnRlcm5hbCBwb2xpY2llcy48L2xpPlxuXHRcdFx0XHRcdFx0PGxpPkludGVncmF0ZSBhY2Nlc3NpYmlsaXR5IGludG8gb3VyIHByb2N1cmVtZW50IHByYWN0aWNlcy48L2xpPlxuXHRcdFx0XHRcdDwvdWw+XG5cdFx0XHRcdFx0PGgzPkNvbmZvcm1hbmNlIFN0YXR1czwvaDM+XG5cdFx0XHRcdFx0PHA+XG5cdFx0XHRcdFx0XHRUaGV7JyAnfVxuXHRcdFx0XHRcdFx0PGFcblx0XHRcdFx0XHRcdFx0aHJlZj1cImh0dHBzOi8vd3d3LnczLm9yZy9XQUkvc3RhbmRhcmRzLWd1aWRlbGluZXMvd2NhZy9cIlxuXHRcdFx0XHRcdFx0XHR0YXJnZXQ9XCJfYmxhbmtcIlxuXHRcdFx0XHRcdFx0XHRyZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG5cdFx0XHRcdFx0XHRcdFdlYiBDb250ZW50IEFjY2Vzc2liaWxpdHkgR3VpZGVsaW5lcyAoV0NBRylcblx0XHRcdFx0XHRcdDwvYT57JyAnfVxuXHRcdFx0XHRcdFx0ZGVmaW5lcyByZXF1aXJlbWVudHMgZm9yIGRlc2lnbmVycyBhbmQgZGV2ZWxvcGVycyB0byBpbXByb3ZlIGFjY2Vzc2liaWxpdHkgZm9yIHBlb3BsZSB3aXRoXG5cdFx0XHRcdFx0XHRkaXNhYmlsaXRpZXMuIEl0IGRlZmluZXMgdGhyZWUgbGV2ZWxzIG9mIGNvbmZvcm1hbmNlOiBMZXZlbCBBLCBMZXZlbCBBQSwgYW5kIExldmVsIEFBQS57JyAnfVxuXHRcdFx0XHRcdFx0e0FQUF9OQU1FfSBpcyBwYXJ0aWFsbHkgY29uZm9ybWFudCB3aXRoIFdDQUcgMi4yIGxldmVsIEFBLiBQYXJ0aWFsbHkgY29uZm9ybWFudCBtZWFucyB0aGF0IHNvbWVcblx0XHRcdFx0XHRcdHBhcnRzIG9mIHRoZSBjb250ZW50IGRvIG5vdCBmdWxseSBjb25mb3JtIHRvIHRoZSBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkLlxuXHRcdFx0XHRcdDwvcD5cblx0XHRcdFx0XHQ8aDM+RmVlZGJhY2s8L2gzPlxuXHRcdFx0XHRcdDxwPlxuXHRcdFx0XHRcdFx0V2Ugd2VsY29tZSB5b3VyIGZlZWRiYWNrIG9uIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHtBUFBfTkFNRX0uIFBsZWFzZSBsZXQgdXMga25vdyBpZiB5b3UgZW5jb3VudGVyXG5cdFx0XHRcdFx0XHRhY2Nlc3NpYmlsaXR5IGJhcnJpZXJzIG9uIHtBUFBfTkFNRX0gYnkgZW1haWxpbmcgdXMgYXR7JyAnfVxuXHRcdFx0XHRcdFx0PGEgaHJlZj17YG1haWx0bzoke2ZlZWRiYWNrRW1haWx9YH0+e2ZlZWRiYWNrRW1haWx9PC9hPi5cblx0XHRcdFx0XHQ8L3A+XG5cdFx0XHRcdFx0PGgzPkNvbXBhdGliaWxpdHkgd2l0aCBCcm93c2VycyBhbmQgQXNzaXN0aXZlIFRlY2hub2xvZ3k8L2gzPlxuXHRcdFx0XHRcdDxwIGNsYXNzTmFtZT1cIm1iMlwiPlxuXHRcdFx0XHRcdFx0e0FQUF9OQU1FfSBpcyBkZXNpZ25lZCB0byBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGZvbGxvd2luZyBhc3Npc3RpdmUgdGVjaG5vbG9naWVzOlxuXHRcdFx0XHRcdDwvcD5cblx0XHRcdFx0XHQ8dWw+XG5cdFx0XHRcdFx0XHQ8bGk+TlZEQSBzY3JlZW4gcmVhZGVyIG9uIFdpbmRvd3M8L2xpPlxuXHRcdFx0XHRcdFx0PGxpPlZvaWNlT3ZlciBvbiBNYWNPUzwvbGk+XG5cdFx0XHRcdFx0XHQ8bGk+QWxsIG1ham9yIGJyb3dzZXJzIHVzaW5nIGtleWJvYXJkIG5hdmlnYXRpb248L2xpPlxuXHRcdFx0XHRcdDwvdWw+XG5cdFx0XHRcdFx0PGgzPlRlY2huaWNhbCBTcGVjaWZpY2F0aW9uczwvaDM+XG5cdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwibWIyXCI+XG5cdFx0XHRcdFx0XHRBY2Nlc3NpYmlsaXR5IG9mIHtBUFBfTkFNRX0gcmVsaWVzIG9uIHRoZSBmb2xsb3dpbmcgdGVjaG5vbG9naWVzIHRvIHdvcmsgd2l0aCB0aGUgcGFydGljdWxhclxuXHRcdFx0XHRcdFx0Y29tYmluYXRpb24gb2Ygd2ViIGJyb3dzZXIgYW5kIGFueSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIG9yIHBsdWdpbnMgaW5zdGFsbGVkIG9uIHlvdXIgY29tcHV0ZXI6XG5cdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdDx1bD5cblx0XHRcdFx0XHRcdDxsaT5IVE1MPC9saT5cblx0XHRcdFx0XHRcdDxsaT5XQUktQVJJQTwvbGk+XG5cdFx0XHRcdFx0XHQ8bGk+Q1NTPC9saT5cblx0XHRcdFx0XHRcdDxsaT5KYXZhU2NyaXB0PC9saT5cblx0XHRcdFx0XHQ8L3VsPlxuXHRcdFx0XHRcdDxwPlRoZXNlIHRlY2hub2xvZ2llcyBhcmUgcmVsaWVkIHVwb24gZm9yIGNvbmZvcm1hbmNlIHdpdGggdGhlIGFjY2Vzc2liaWxpdHkgc3RhbmRhcmRzIHVzZWQuPC9wPlxuXHRcdFx0XHRcdDxoMz5MaW1pdGF0aW9ucyBhbmQgQWx0ZXJuYXRpdmVzPC9oMz5cblx0XHRcdFx0XHQ8cD5cblx0XHRcdFx0XHRcdERlc3BpdGUgb3VyIGJlc3QgZWZmb3J0cyB0byBlbnN1cmUgYWNjZXNzaWJpbGl0eSBvZiB7QVBQX05BTUV9LCB0aGVyZSBtYXkgYmUgc29tZSBsaW1pdGF0aW9ucy5cblx0XHRcdFx0XHRcdEJlbG93IGlzIGEgZGVzY3JpcHRpb24gb2Yga25vd24gbGltaXRhdGlvbnMsIGFuZCBwb3RlbnRpYWwgc29sdXRpb25zLiBQbGVhc2UgY29udGFjdCB1cyBpZiB5b3Vcblx0XHRcdFx0XHRcdG9ic2VydmUgYW4gaXNzdWUgbm90IGxpc3RlZCBiZWxvdy5cblx0XHRcdFx0XHQ8L3A+XG5cdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwibWIyXCI+S25vd24gbGltaXRhdGlvbnMgZm9yIHtBUFBfTkFNRX06PC9wPlxuXHRcdFx0XHRcdDx1bD5cblx0XHRcdFx0XHRcdDxsaT5cblx0XHRcdFx0XHRcdFx0PHN0cm9uZz4xLjEuMSBOb24tdGV4dCBDb250ZW50OiA8L3N0cm9uZz5Vc2VyLXN1cHBsaWVkIGNvbnRlbnQgbWF5IG5vdCBtZWV0IHRoaXMgY3JpdGVyaWFcblx0XHRcdFx0XHRcdDwvbGk+XG5cdFx0XHRcdFx0XHQ8bGk+XG5cdFx0XHRcdFx0XHRcdDxzdHJvbmc+MS4yLjEgQXVkaW8tb25seSBhbmQgVmlkZW8tb25seSAoUHJlcmVjb3JkZWQpOjwvc3Ryb25nPiBVc2VyLXN1cHBsaWVkIGNvbnRlbnQgbWF5XG5cdFx0XHRcdFx0XHRcdG5vdCBtZWV0IHRoaXMgY3JpdGVyaWFcblx0XHRcdFx0XHRcdDwvbGk+XG5cdFx0XHRcdFx0XHQ8bGk+XG5cdFx0XHRcdFx0XHRcdDxzdHJvbmc+MS4yLjIgQ2FwdGlvbnMgKFByZXJlY29yZGVkKTo8L3N0cm9uZz4gVXNlci1zdXBwbGllZCBjb250ZW50IG1heSBub3QgbWVldCB0aGlzXG5cdFx0XHRcdFx0XHRcdGNyaXRlcmlhXG5cdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0PGxpPlxuXHRcdFx0XHRcdFx0XHQ8c3Ryb25nPjEuMi4zIEF1ZGlvIERlc2NyaXB0aW9uIG9yIE1lZGlhIEFsdGVybmF0aXZlIChQcmVyZWNvcmRlZCk6PC9zdHJvbmc+IFVzZXItc3VwcGxpZWRcblx0XHRcdFx0XHRcdFx0Y29udGVudCBtYXkgbm90IG1lZXQgdGhpcyBjcml0ZXJpYVxuXHRcdFx0XHRcdFx0PC9saT5cblx0XHRcdFx0XHRcdDxsaT5cblx0XHRcdFx0XHRcdFx0PHN0cm9uZz4xLjMuMyBTZW5zb3J5IENoYXJhY3RlcmlzdGljczo8L3N0cm9uZz4gVXNlci1zdXBwbGllZCBjb250ZW50IG1heSBub3QgbWVldCB0aGlzXG5cdFx0XHRcdFx0XHRcdGNyaXRlcmlhXG5cdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0PGxpPlxuXHRcdFx0XHRcdFx0XHQ8c3Ryb25nPjEuMi41IEF1ZGlvIERlc2NyaXB0aW9uIChQcmVyZWNvcmRlZCk6PC9zdHJvbmc+IFVzZXItc3VwcGxpZWQgY29udGVudCBtYXkgbm90IG1lZXRcblx0XHRcdFx0XHRcdFx0dGhpcyBjcml0ZXJpYVxuXHRcdFx0XHRcdFx0PC9saT5cblx0XHRcdFx0XHRcdHthZGRpdGlvbmFsTGltaXRhdGlvbnN9XG5cdFx0XHRcdFx0PC91bD5cblx0XHRcdFx0XHQ8aDM+QXNzZXNzbWVudCBBcHByb2FjaDwvaDM+XG5cdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwibWIyXCI+XG5cdFx0XHRcdFx0XHRQdXJkdWUgVW5pdmVyc2l0eSBhc3Nlc3NlZCB0aGUgYWNjZXNzaWJpbGl0eSBvZiB7QVBQX05BTUV9IGJ5IHRoZSBmb2xsb3dpbmcgYXBwcm9hY2g6XG5cdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdDx1bD5cblx0XHRcdFx0XHRcdDxsaT5TZWxmLWV2YWx1YXRpb248L2xpPlxuXHRcdFx0XHRcdDwvdWw+XG5cdFx0XHRcdFx0PGgzPkZvcm1hbCBDb21wbGFpbnRzPC9oMz5cblx0XHRcdFx0XHQ8cD5cblx0XHRcdFx0XHRcdEVtYWlsIHVzIGF0IDxhIGhyZWY9e2BtYWlsdG86JHtmZWVkYmFja0VtYWlsfWB9PntmZWVkYmFja0VtYWlsfTwvYT4uXG5cdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdDxoMz5EYXRlPC9oMz5cblx0XHRcdFx0XHQ8cD5cblx0XHRcdFx0XHRcdFRoaXMgc3RhdGVtZW50IHdhcyBjcmVhdGVkIG9uIHtzdGF0ZW1lbnREYXRlfSB1c2luZyB0aGV7JyAnfVxuXHRcdFx0XHRcdFx0PGEgaHJlZj1cImh0dHBzOi8vd3d3LnczLm9yZy9XQUkvcGxhbm5pbmcvc3RhdGVtZW50cy9cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG5cdFx0XHRcdFx0XHRcdFczQyBBY2Nlc3NpYmlsaXR5IFN0YXRlbWVudCBHZW5lcmF0b3IgVG9vbFxuXHRcdFx0XHRcdFx0PC9hPlxuXHRcdFx0XHRcdFx0LlxuXHRcdFx0XHRcdDwvcD5cblx0XHRcdFx0PC9Db2w+XG5cdFx0XHQ8L1Jvdz5cblx0XHQ8L0NvbnRhaW5lcj5cblx0KVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsZUFBQSxHQUFBQyxPQUFBO0FB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
@@ -0,0 +1,16 @@
1
+ import React, { FunctionComponent } from 'react';
2
+ export interface PopoverButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'className' | 'color'> {
3
+ additionalClasses?: string;
4
+ variant?: 'text' | 'outlined' | 'contained';
5
+ onClick: () => void;
6
+ /** Set this to true to disable the button and not show the `disabledPopover` on hover */
7
+ disabled?: boolean;
8
+ /** Set this to true to disable the button but still show the `disabledPopover` on hover */
9
+ disabledWithCSS?: boolean;
10
+ enabledPopoverContent?: React.ReactNode;
11
+ /** Popover that is shown if (and only if) `disabledWithCSS` is set to true */
12
+ disabledPopoverContent?: React.ReactNode;
13
+ useIconButton?: boolean;
14
+ children?: React.ReactNode;
15
+ }
16
+ export declare const PopoverButton: FunctionComponent<PopoverButtonProps>;