@medplum/react 0.9.24 → 0.9.25

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.
package/dist/esm/index.js CHANGED
@@ -4962,20 +4962,22 @@ function getGoogleClientId(clientId) {
4962
4962
  /**
4963
4963
  * Dynamically loads the recaptcha script.
4964
4964
  * We do not want to load the script on page load unless the user needs it.
4965
+ * @param siteKey The reCAPTCHA site key, available from the reCAPTCHA admin page.
4965
4966
  */
4966
- function initRecaptcha() {
4967
+ function initRecaptcha(siteKey) {
4967
4968
  if (typeof grecaptcha === 'undefined') {
4968
- createScriptTag('https://www.google.com/recaptcha/api.js?render=' + process.env.RECAPTCHA_SITE_KEY);
4969
+ createScriptTag('https://www.google.com/recaptcha/api.js?render=' + siteKey);
4969
4970
  }
4970
4971
  }
4971
4972
  /**
4972
4973
  * Starts a request to generate a recapcha token.
4974
+ * @param siteKey The reCAPTCHA site key, available from the reCAPTCHA admin page.
4973
4975
  * @returns Promise to a recaptcha token for the current user.
4974
4976
  */
4975
- function getRecaptcha() {
4977
+ function getRecaptcha(siteKey) {
4976
4978
  return new Promise((resolve) => {
4977
4979
  grecaptcha.ready(() => {
4978
- grecaptcha.execute(process.env.RECAPTCHA_SITE_KEY, { action: 'submit' }).then(resolve);
4980
+ grecaptcha.execute(siteKey, { action: 'submit' }).then(resolve);
4979
4981
  });
4980
4982
  });
4981
4983
  }
@@ -4983,9 +4985,10 @@ function getRecaptcha() {
4983
4985
  function RegisterForm(props) {
4984
4986
  const medplum = useMedplum();
4985
4987
  const googleClientId = getGoogleClientId(props.googleClientId);
4988
+ const recaptchaSiteKey = props.recaptchaSiteKey;
4986
4989
  const [outcome, setOutcome] = useState();
4987
4990
  const issues = getIssuesForExpression(outcome, undefined);
4988
- useEffect(initRecaptcha, []);
4991
+ useEffect(() => initRecaptcha(recaptchaSiteKey), [recaptchaSiteKey]);
4989
4992
  function handleAuthResponse(registerRequest, partialLogin) {
4990
4993
  return __awaiter(this, void 0, void 0, function* () {
4991
4994
  try {
@@ -5007,7 +5010,7 @@ function RegisterForm(props) {
5007
5010
  return (React.createElement(Document, { width: 450 },
5008
5011
  React.createElement(Form, { style: { maxWidth: 400 }, onSubmit: (formData) => __awaiter(this, void 0, void 0, function* () {
5009
5012
  try {
5010
- const recaptchaToken = yield getRecaptcha();
5013
+ const recaptchaToken = yield getRecaptcha(recaptchaSiteKey);
5011
5014
  const registerRequest = Object.assign(Object.assign({}, formData), { recaptchaToken });
5012
5015
  const userLogin = yield medplum.startNewUser(registerRequest);
5013
5016
  handleAuthResponse(registerRequest, userLogin);
@@ -5808,5 +5811,5 @@ function TabSwitch(props) {
5808
5811
  })));
5809
5812
  }
5810
5813
 
5811
- export { AddressDisplay, AddressInput, AttachmentArrayDisplay, AttachmentArrayInput, AttachmentInput, Autocomplete, Avatar, BackboneElementInput, Button, Checkbox, CheckboxFormSection, CodeInput, CodeableConceptDisplay, CodeableConceptInput, ContactDetailDisplay, ContactDetailInput, ContactPointDisplay, ContactPointInput, DateTimeDisplay, DateTimeInput, DefaultResourceTimeline, DiagnosticReportDisplay, Document, ElementDefinitionInputSelector, ElementDefinitionTypeInput, EncounterTimeline, ErrorBoundary, FhirPathTable, FooterLinks, Form, FormSection, Header, HumanNameDisplay, HumanNameInput, IdentifierInput, Input, Loading, Logo, MedplumLink, MedplumProvider, MemoizedFhirPathTable, MemoizedSearchControl, MenuItem, ObservationTable, PatientTimeline, PlanDefinitionBuilder, Popup, QuestionnaireBuilder, QuestionnaireForm, QuestionnaireFormItem, QuestionnaireItemType, RangeDisplay, RangeInput, ReferenceInput, RegisterForm, RequestGroupDisplay, ResourceArrayDisplay, ResourceArrayInput, ResourceBadge, ResourceBlame, ResourceDiff, ResourceForm, ResourceHistoryTable, ResourceInput, ResourceName, ResourcePropertyDisplay, ResourcePropertyInput, ResourceTable, ResourceTimeline, Scheduler, Scrollable, SearchChangeEvent, SearchClickEvent, SearchControl, SearchFieldEditor, SearchFilterEditor, SearchLoadEvent, Select, ServiceRequestTimeline, SignInForm, StatusBadge, Tab, TabList, TabPanel, TabSwitch, TextArea, Timeline, TimelineItem, TitleBar, UploadButton, addDateEqualsFilter, addDateFilter, addDateFilterBetween, addField, addFilter, addLastMonthFilter, addMissingFilter, addNextMonthFilter, addQuestionnaireInitialValues, addThisMonthFilter, addTodayFilter, addTomorrowFilter, addYearToDateFilter, addYesterdayFilter, buildFieldNameString, clearFilters, clearFiltersOnField, convertIsoToLocal, convertLocalToIso, createScriptTag, deleteFilter, formatRangeString, getOpString, getRecaptcha, getSearchOperators, getSortField, getTimeString, getValueAndType, hasFilterOnField, initRecaptcha, isChoiceQuestion, isSortDescending, movePage, parseForm, renderValue, setFilters, setOffset, setPropertyValue, setSort, sortByDateAndPriority, toggleSort, useMedplum, useMedplumContext, useMedplumProfile, useResource };
5814
+ export { AddressDisplay, AddressInput, AttachmentArrayDisplay, AttachmentArrayInput, AttachmentInput, Autocomplete, Avatar, BackboneElementInput, Button, Checkbox, CheckboxFormSection, CodeInput, CodeableConceptDisplay, CodeableConceptInput, ContactDetailDisplay, ContactDetailInput, ContactPointDisplay, ContactPointInput, DateTimeDisplay, DateTimeInput, DefaultResourceTimeline, DiagnosticReportDisplay, Document, ElementDefinitionInputSelector, ElementDefinitionTypeInput, EncounterTimeline, ErrorBoundary, FhirPathTable, FooterLinks, Form, FormSection, Header, HumanNameDisplay, HumanNameInput, IdentifierInput, Input, InputRow, Loading, Logo, MedplumLink, MedplumProvider, MemoizedFhirPathTable, MemoizedSearchControl, MenuItem, ObservationTable, PatientTimeline, PlanDefinitionBuilder, Popup, QuestionnaireBuilder, QuestionnaireForm, QuestionnaireFormItem, QuestionnaireItemType, RangeDisplay, RangeInput, ReferenceInput, RegisterForm, RequestGroupDisplay, ResourceArrayDisplay, ResourceArrayInput, ResourceBadge, ResourceBlame, ResourceDiff, ResourceForm, ResourceHistoryTable, ResourceInput, ResourceName, ResourcePropertyDisplay, ResourcePropertyInput, ResourceTable, ResourceTimeline, Scheduler, Scrollable, SearchChangeEvent, SearchClickEvent, SearchControl, SearchFieldEditor, SearchFilterEditor, SearchLoadEvent, Select, ServiceRequestTimeline, SignInForm, StatusBadge, Tab, TabList, TabPanel, TabSwitch, TextArea, Timeline, TimelineItem, TitleBar, UploadButton, addDateEqualsFilter, addDateFilter, addDateFilterBetween, addField, addFilter, addLastMonthFilter, addMissingFilter, addNextMonthFilter, addQuestionnaireInitialValues, addThisMonthFilter, addTodayFilter, addTomorrowFilter, addYearToDateFilter, addYesterdayFilter, buildFieldNameString, clearFilters, clearFiltersOnField, convertIsoToLocal, convertLocalToIso, createScriptTag, deleteFilter, formatRangeString, getOpString, getRecaptcha, getSearchOperators, getSortField, getTimeString, getValueAndType, hasFilterOnField, initRecaptcha, isChoiceQuestion, isSortDescending, movePage, parseForm, renderValue, setFilters, setOffset, setPropertyValue, setSort, sortByDateAndPriority, toggleSort, useMedplum, useMedplumContext, useMedplumProfile, useResource };
5812
5815
  //# sourceMappingURL=index.js.map