@awell-health/ui-library 0.1.108 → 0.1.111

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/index.css CHANGED
@@ -6695,6 +6695,7 @@ html {
6695
6695
  justify-content: center;
6696
6696
  width: 100%;
6697
6697
  z-index: 1001;
6698
+ transition: opacity 0.3s ease-in-out;
6698
6699
  }
6699
6700
  @media (min-width: 640px) {
6700
6701
  .awell__hostedPageFooter_footer .awell__hostedPageFooter_scrollHint {
@@ -6702,14 +6703,6 @@ html {
6702
6703
  bottom: var(--awell-footer-height);
6703
6704
  }
6704
6705
  }
6705
- .awell__hostedPageFooter_footer .awell__hostedPageFooter_scrollHint.awell__hostedPageFooter_visible {
6706
- opacity: 1;
6707
- transition: opacity 0.3s ease-in-out;
6708
- }
6709
- .awell__hostedPageFooter_footer .awell__hostedPageFooter_scrollHint.awell__hostedPageFooter_hidden {
6710
- opacity: 0;
6711
- transition: opacity 0.3s ease-in-out;
6712
- }
6713
6706
  @import 'https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap';
6714
6707
  :root {
6715
6708
  --awell-accent100: #fdb833;
package/dist/index.js CHANGED
@@ -48498,69 +48498,100 @@ var Kr=[{
48498
48498
  }) }));
48499
48499
  };
48500
48500
 
48501
- var useScrollHint = function () {
48501
+ var useScrollHint = function (fixPosition) {
48502
+ if (fixPosition === void 0) {fixPosition = false;}
48502
48503
  var _a = React.useState(false),showScrollHint = _a[0],setShowScrollHint = _a[1];
48503
- var determineShowScrollHint = function () {
48504
- var mainContentEl = document.getElementById('ahp_main_content_with_scroll_hint');
48505
- if (mainContentEl) {
48506
- var isElementTotalHeightHigherThanElementVisibleHeight = mainContentEl.scrollHeight > mainContentEl.offsetHeight;
48507
- var hasUserScrolledToBottomOfEl = Math.ceil(mainContentEl.scrollTop + mainContentEl.offsetHeight) >=
48508
- mainContentEl.scrollHeight - 5;
48509
- if (isElementTotalHeightHigherThanElementVisibleHeight &&
48510
- !hasUserScrolledToBottomOfEl) {
48511
- setShowScrollHint(true);
48512
- } else
48513
- {
48514
- setShowScrollHint(false);
48515
- }
48504
+ var rafIdRef = React.useRef();
48505
+ var checkScrollHint = React.useCallback(function () {
48506
+ if (fixPosition) {
48507
+ var isPageScrollable = document.documentElement.scrollHeight > window.innerHeight;
48508
+ var isAtBottom = Math.ceil(window.scrollY + window.innerHeight) >=
48509
+ document.documentElement.scrollHeight - 5;
48510
+ setShowScrollHint(isPageScrollable && !isAtBottom);
48516
48511
  } else
48517
48512
  {
48518
- setShowScrollHint(false);
48513
+ var mainContentEl = document.getElementById('ahp_main_content_with_scroll_hint');
48514
+ if (!mainContentEl) {
48515
+ setShowScrollHint(false);
48516
+ return;
48517
+ }
48518
+ var isScrollable = mainContentEl.scrollHeight > mainContentEl.offsetHeight;
48519
+ var isAtBottom = Math.ceil(mainContentEl.scrollTop + mainContentEl.offsetHeight) >=
48520
+ mainContentEl.scrollHeight - 5;
48521
+ setShowScrollHint(isScrollable && !isAtBottom);
48519
48522
  }
48520
- };
48521
- React.useEffect(function () {
48522
- determineShowScrollHint();
48523
- }, [window.document.body.offsetHeight]);
48524
- React.useEffect(function () {
48525
- determineShowScrollHint();
48526
- var mainContentEl = document.getElementById('ahp_main_content_with_scroll_hint');
48527
- window.addEventListener('resize', determineShowScrollHint);
48528
- if (mainContentEl) {
48529
- mainContentEl.addEventListener('scroll', determineShowScrollHint);
48523
+ }, [fixPosition]);
48524
+ var debouncedCheckScrollHint = React.useCallback(function () {
48525
+ if (rafIdRef.current) {
48526
+ cancelAnimationFrame(rafIdRef.current);
48530
48527
  }
48531
- return function () {
48532
- window.removeEventListener('resize', determineShowScrollHint);
48533
- if (mainContentEl) {
48534
- mainContentEl.removeEventListener('scroll', determineShowScrollHint);
48528
+ rafIdRef.current = requestAnimationFrame(checkScrollHint);
48529
+ }, [checkScrollHint]);
48530
+ React.useEffect(function () {
48531
+ checkScrollHint();
48532
+ var rafCheck = requestAnimationFrame(function () {
48533
+ checkScrollHint();
48534
+ });
48535
+ if (fixPosition) {
48536
+ window.addEventListener('resize', checkScrollHint);
48537
+ window.addEventListener('scroll', checkScrollHint);
48538
+ var mutationObserver_1 = new MutationObserver(debouncedCheckScrollHint);
48539
+ mutationObserver_1.observe(document.body, {
48540
+ childList: true,
48541
+ subtree: true,
48542
+ attributes: false });
48543
+
48544
+ return function () {
48545
+ cancelAnimationFrame(rafCheck);
48546
+ if (rafIdRef.current) {
48547
+ cancelAnimationFrame(rafIdRef.current);
48548
+ }
48549
+ window.removeEventListener('resize', checkScrollHint);
48550
+ window.removeEventListener('scroll', checkScrollHint);
48551
+ mutationObserver_1.disconnect();
48552
+ };
48553
+ } else
48554
+ {
48555
+ var mainContentEl_1 = document.getElementById('ahp_main_content_with_scroll_hint');
48556
+ window.addEventListener('resize', checkScrollHint);
48557
+ if (mainContentEl_1) {
48558
+ mainContentEl_1.addEventListener('scroll', checkScrollHint);
48535
48559
  }
48536
- };
48537
- }, []);
48560
+ var mutationObserver_2 = new MutationObserver(debouncedCheckScrollHint);
48561
+ if (mainContentEl_1) {
48562
+ mutationObserver_2.observe(mainContentEl_1, {
48563
+ childList: true,
48564
+ subtree: true,
48565
+ attributes: false });
48566
+
48567
+ }
48568
+ return function () {
48569
+ cancelAnimationFrame(rafCheck);
48570
+ if (rafIdRef.current) {
48571
+ cancelAnimationFrame(rafIdRef.current);
48572
+ }
48573
+ window.removeEventListener('resize', checkScrollHint);
48574
+ if (mainContentEl_1) {
48575
+ mainContentEl_1.removeEventListener('scroll', checkScrollHint);
48576
+ }
48577
+ mutationObserver_2.disconnect();
48578
+ };
48579
+ }
48580
+ }, [fixPosition, checkScrollHint, debouncedCheckScrollHint]);
48538
48581
  return {
48539
- showScrollHint: showScrollHint,
48540
- determineShowScrollHint: determineShowScrollHint };
48582
+ showScrollHint: showScrollHint };
48541
48583
 
48542
48584
  };
48543
48585
 
48544
- var classes$7 = {"footer":"awell__hostedPageFooter_footer","fixed":"awell__hostedPageFooter_fixed","scrollHint":"awell__hostedPageFooter_scrollHint","visible":"awell__hostedPageFooter_visible","hidden":"awell__hostedPageFooter_hidden"};
48586
+ var classes$7 = {"footer":"awell__hostedPageFooter_footer","fixed":"awell__hostedPageFooter_fixed","scrollHint":"awell__hostedPageFooter_scrollHint"};
48545
48587
 
48546
48588
  var HostedPageFooter = function (_a) {
48547
- var children = _a.children,_b = _a.showScrollHint,showScrollHint = _b === void 0 ? false : _b,_c = _a.fixPosition,fixPosition = _c === void 0 ? false : _c;
48548
- var scrollIndicatorRef = React.useRef(null);
48549
- React.useEffect(function () {
48550
- var handleScroll = function () {
48551
- if (scrollIndicatorRef.current) {
48552
- var _a = document.documentElement,scrollTop = _a.scrollTop,scrollHeight = _a.scrollHeight,clientHeight = _a.clientHeight;
48553
- var isAtBottom = scrollTop + clientHeight >= scrollHeight - 2;
48554
- scrollIndicatorRef.current.classList.toggle(classes$7.hidden, isAtBottom);
48555
- }
48556
- };
48557
- window.addEventListener('scroll', handleScroll);
48558
- return function () {return window.removeEventListener('scroll', handleScroll);};
48559
- }, []);
48589
+ var children = _a.children,_b = _a.hideScrollHint,hideScrollHint = _b === void 0 ? false : _b,_c = _a.fixPosition,fixPosition = _c === void 0 ? false : _c;
48590
+ var showScrollHint = useScrollHint(fixPosition).showScrollHint;
48560
48591
  var footerClass = fixPosition ?
48561
48592
  "".concat(classes$7.footer, " ").concat(classes$7.fixed) :
48562
48593
  classes$7.footer;
48563
- return jsxRuntime.exports.jsxs("footer", __assign({ className: footerClass }, { children: [showScrollHint && jsxRuntime.exports.jsx("div", __assign({ ref: scrollIndicatorRef, className: "".concat(classes$7.scrollHint, " ").concat(classes$7.visible), id: "awell__scroll_hint" }, { children: jsxRuntime.exports.jsx(ScrollIndicator, {}) })), children] }));
48594
+ return jsxRuntime.exports.jsxs("footer", __assign({ className: footerClass }, { children: [!hideScrollHint && showScrollHint && jsxRuntime.exports.jsx("div", __assign({ className: classes$7.scrollHint, id: "awell__scroll_hint" }, { children: jsxRuntime.exports.jsx(ScrollIndicator, {}) })), children] }));
48564
48595
  };
48565
48596
 
48566
48597
  var classes$6 = {"container":"awell__checklist_container","awell_checklist":"awell__checklist_awell_checklist","title":"awell__checklist_title","checklist":"awell__checklist_checklist","checkboxListFormControl":"awell__checklist_checkboxListFormControl","button_wrapper":"awell__checklist_button_wrapper"};
@@ -48570,7 +48601,6 @@ var Kr=[{
48570
48601
  var Checklist = function (_a) {
48571
48602
  var title = _a.title,items = _a.items,onSubmit = _a.onSubmit,_b = _a.readOnly,readOnly = _b === void 0 ? false : _b,_c = _a.disabled,disabled = _c === void 0 ? false : _c,submitLabel = _a.submitLabel;
48572
48603
  var _d = React.useState(readOnly ? items : []),checkedItems = _d[0],setCheckedItems = _d[1];
48573
- var showScrollHint = useScrollHint().showScrollHint;
48574
48604
  var handleChange = function (item) {return function (checked) {
48575
48605
  if (checked) {
48576
48606
  setCheckedItems(__spreadArray(__spreadArray([], checkedItems, true), [item], false));
@@ -48579,16 +48609,15 @@ var Kr=[{
48579
48609
  setCheckedItems(checkedItems.filter(function (checkedItem) {return checkedItem !== item;}));
48580
48610
  }
48581
48611
  };};
48582
- return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: "".concat(classes$6.awell_checklist, " ").concat(classes$6.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$6.title }, { children: jsxRuntime.exports.jsx(QuestionLabel, { label: title }) })), jsxRuntime.exports.jsx("div", __assign({ className: classes$6.checklist }, { children: items.map(function (item) {return jsxRuntime.exports.jsx(CheckboxButton, { onChange: function (event) {return handleChange(item)(event.target.checked);}, label: item.label, id: item.id, disabled: readOnly, name: "checklist-".concat(title) }, item.id);}) }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: showScrollHint }, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$6.button_wrapper, " ").concat(classes$6.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ onClick: onSubmit, disabled: checkedItems.length !== items.length || readOnly || disabled, "data-cy": "submitChecklistButton" }, { children: submitLabel })) })) }))] });
48612
+ return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: "".concat(classes$6.awell_checklist, " ").concat(classes$6.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$6.title }, { children: jsxRuntime.exports.jsx(QuestionLabel, { label: title }) })), jsxRuntime.exports.jsx("div", __assign({ className: classes$6.checklist }, { children: items.map(function (item) {return jsxRuntime.exports.jsx(CheckboxButton, { onChange: function (event) {return handleChange(item)(event.target.checked);}, label: item.label, id: item.id, disabled: readOnly, name: "checklist-".concat(title) }, item.id);}) }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$6.button_wrapper, " ").concat(classes$6.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ onClick: onSubmit, disabled: checkedItems.length !== items.length || readOnly || disabled, "data-cy": "submitChecklistButton" }, { children: submitLabel })) })) })] });
48583
48613
  };
48584
48614
 
48585
48615
  var classes$5 = {"container":"awell__message_container","awell_message":"awell__message_awell_message","slate-MediaEmbedElement-input":"awell__message_slate-MediaEmbedElement-input","slate-MediaEmbedElement-iframe":"awell__message_slate-MediaEmbedElement-iframe","content":"awell__message_content","message_title":"awell__message_message_title","attachmentList":"awell__message_attachmentList","button_wrapper":"awell__message_button_wrapper"};
48586
48616
 
48587
48617
  var Message = function (_a) {
48588
48618
  var onMessageRead = _a.onMessageRead,content = _a.content,subject = _a.subject,children = _a.children,attachmentIcon = _a.attachmentIcon,attachmentLabels = _a.attachmentLabels,attachments = _a.attachments,buttonLabels = _a.buttonLabels;
48589
- var showScrollHint = useScrollHint().showScrollHint;
48590
48619
  var cleanContent = generatePureHtml(content);
48591
- return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("article", __assign({ className: "".concat(classes$5.awell_message, " ").concat(classes$5.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$5.message_title }, { children: subject })), jsxRuntime.exports.jsx("div", __assign({ className: classes$5.content }, { children: jsxRuntime.exports.jsx(RichTextViewer, { content: cleanContent }) })), jsxRuntime.exports.jsxs("div", __assign({ className: classes$5.attachmentList }, { children: [jsxRuntime.exports.jsx(AttachmentList, { attachments: attachments, icon: attachmentIcon, labels: attachmentLabels }), children] }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: showScrollHint }, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$5.button_wrapper, " ").concat(classes$5.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "markMessageAsReadButton", variant: "secondary", onClick: onMessageRead }, { children: buttonLabels.readMessage })) })) }))] });
48620
+ return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("article", __assign({ className: "".concat(classes$5.awell_message, " ").concat(classes$5.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$5.message_title }, { children: subject })), jsxRuntime.exports.jsx("div", __assign({ className: classes$5.content }, { children: jsxRuntime.exports.jsx(RichTextViewer, { content: cleanContent }) })), jsxRuntime.exports.jsxs("div", __assign({ className: classes$5.attachmentList }, { children: [jsxRuntime.exports.jsx(AttachmentList, { attachments: attachments, icon: attachmentIcon, labels: attachmentLabels }), children] }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$5.button_wrapper, " ").concat(classes$5.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "markMessageAsReadButton", variant: "secondary", onClick: onMessageRead }, { children: buttonLabels.readMessage })) })) })] });
48592
48621
  };
48593
48622
 
48594
48623
  var classes$4 = {"container":"awell__form_container","traditional_container":"awell__form_traditional_container","awell_wizard_form":"awell__form_awell_wizard_form","form_progress":"awell__form_form_progress","loadingContainer":"awell__form_loadingContainer","title":"awell__form_title","wizard_form":"awell__form_wizard_form","conversational_button_wrapper":"awell__form_conversational_button_wrapper","traditional_button_wrapper":"awell__form_traditional_button_wrapper","traditional_form_question":"awell__form_traditional_form_question","trademark":"awell__form_trademark","conversational":"awell__form_conversational"};
@@ -49397,15 +49426,11 @@ var Kr=[{
49397
49426
  autosaveAnswers: autosaveAnswers,
49398
49427
  onAnswersChange: onAnswersChange }),
49399
49428
  submitForm = _e.submitForm,isSubmittingForm = _e.isSubmittingForm,handleGoToNextQuestion = _e.handleGoToNextQuestion,handleGoToPrevQuestion = _e.handleGoToPrevQuestion,_f = _e.formMethods,control = _f.control,getValues = _f.getValues,currentQuestion = _e.currentQuestion,percentageCompleted = _e.percentageCompleted,errors = _e.errors,isFirstQuestion = _e.isFirstQuestion,isLastQuestion = _e.isLastQuestion,isEvaluatingQuestionVisibility = _e.isEvaluatingQuestionVisibility;
49400
- var _g = useScrollHint(),showScrollHint = _g.showScrollHint,determineShowScrollHint = _g.determineShowScrollHint;
49401
49429
  var submitAndMoveToNextQuestion = function () {
49402
49430
  if (!isLastQuestion) {
49403
49431
  handleGoToNextQuestion();
49404
49432
  }
49405
49433
  };
49406
- React.useEffect(function () {
49407
- determineShowScrollHint();
49408
- }, [currentQuestion]);
49409
49434
  var shouldAutoProgress = function (question) {
49410
49435
  if (autoProgress === false) {
49411
49436
  return false;
@@ -49419,7 +49444,7 @@ var Kr=[{
49419
49444
  form.questions.length === 1 ||
49420
49445
  showProgressBar === false;
49421
49446
  return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: "".concat(classes$4.awell_wizard_form, " ").concat(classes$4.container) }, { children: [!hideProgressIndicator && jsxRuntime.exports.jsx("div", __assign({ className: classes$4.form_progress }, { children: jsxRuntime.exports.jsx(ProgressIndicator, { percentageCompleted: percentageCompleted }) })), isEvaluatingQuestionVisibility ||
49422
- (currentQuestion === null || currentQuestion === void 0 ? void 0 : currentQuestion.id) === undefined ? jsxRuntime.exports.jsx("div", __assign({ className: classes$4.loadingContainer }, { children: jsxRuntime.exports.jsx(LoadActivityPlaceholder, {}) })) : jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment, { children: jsxRuntime.exports.jsxs("div", __assign({ className: classes$4.wizard_form }, { children: [jsxRuntime.exports.jsx(Question, { question: currentQuestion, control: control, getValues: getValues, errors: errors, labels: questionLabels, submitAndMoveToNextQuestion: submitAndMoveToNextQuestion, inputAutoFocus: true, shouldAutoProgress: shouldAutoProgress, onFileUpload: onFileUpload }, currentQuestion.id), (form === null || form === void 0 ? void 0 : form.trademark) && jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$4.trademark, " ").concat(classes$4.conversational) }, { children: form.trademark }))] })) })] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: showScrollHint }, { children: !isEvaluatingQuestionVisibility && jsxRuntime.exports.jsxs("div", __assign({ className: "".concat(classes$4.conversational_button_wrapper, " ").concat(classes$4.container) }, { children: [jsxRuntime.exports.jsx("div", { children: !isFirstQuestion && jsxRuntime.exports.jsx(Button, __assign({ variant: "tertiary", onClick: handleGoToPrevQuestion, "data-cy": "navigateToPrevQuestionButton" }, { children: buttonLabels.prev })) }), isLastQuestion ? jsxRuntime.exports.jsx(Button, __assign({ onClick: submitForm, type: "submit", "data-cy": "submitFormButton", disabled: isSubmittingForm }, { children: buttonLabels.submit })) : jsxRuntime.exports.jsx(Button, __assign({ variant: "secondary", onClick: handleGoToNextQuestion, "data-cy": "navigateToNextQuestionButton" }, { children: buttonLabels.next }))] })) }))] });
49447
+ (currentQuestion === null || currentQuestion === void 0 ? void 0 : currentQuestion.id) === undefined ? jsxRuntime.exports.jsx("div", __assign({ className: classes$4.loadingContainer }, { children: jsxRuntime.exports.jsx(LoadActivityPlaceholder, {}) })) : jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment, { children: jsxRuntime.exports.jsxs("div", __assign({ className: classes$4.wizard_form }, { children: [jsxRuntime.exports.jsx(Question, { question: currentQuestion, control: control, getValues: getValues, errors: errors, labels: questionLabels, submitAndMoveToNextQuestion: submitAndMoveToNextQuestion, inputAutoFocus: true, shouldAutoProgress: shouldAutoProgress, onFileUpload: onFileUpload }, currentQuestion.id), (form === null || form === void 0 ? void 0 : form.trademark) && jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$4.trademark, " ").concat(classes$4.conversational) }, { children: form.trademark }))] })) })] })) })), jsxRuntime.exports.jsx(HostedPageFooter, { children: !isEvaluatingQuestionVisibility && jsxRuntime.exports.jsxs("div", __assign({ className: "".concat(classes$4.conversational_button_wrapper, " ").concat(classes$4.container) }, { children: [jsxRuntime.exports.jsx("div", { children: !isFirstQuestion && jsxRuntime.exports.jsx(Button, __assign({ variant: "tertiary", onClick: handleGoToPrevQuestion, "data-cy": "navigateToPrevQuestionButton" }, { children: buttonLabels.prev })) }), isLastQuestion ? jsxRuntime.exports.jsx(Button, __assign({ onClick: submitForm, type: "submit", "data-cy": "submitFormButton", disabled: isSubmittingForm }, { children: buttonLabels.submit })) : jsxRuntime.exports.jsx(Button, __assign({ variant: "secondary", onClick: handleGoToNextQuestion, "data-cy": "navigateToNextQuestionButton" }, { children: buttonLabels.next }))] })) })] });
49423
49448
  };
49424
49449
 
49425
49450
  function r(e) {var t,f,n = "";if ("string" == typeof e || "number" == typeof e) n += e;else if ("object" == typeof e) if (Array.isArray(e)) {var o = e.length;for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);} else for (f in e) e[f] && (n && (n += " "), n += f);return n;}function clsx() {for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);return n;}
@@ -49442,9 +49467,9 @@ var Kr=[{
49442
49467
  resetLayoutMode();
49443
49468
  };
49444
49469
  });
49445
- return jsxRuntime.exports.jsxs("div", __assign({ style: { height: '100%' } }, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: clsx(layoutClasses.main_content, classes$4.traditional_form) }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: clsx(classes$4.container, classes$4.traditional_container) }, { children: [!questionWithVisiblity ? jsxRuntime.exports.jsx("div", __assign({ className: classes$4.loadingContainer }, { children: jsxRuntime.exports.jsx(LoadActivityPlaceholder, {}) })) : jsxRuntime.exports.jsx("div", { children: jsxRuntime.exports.jsx("div", { children: questionWithVisiblity.
49470
+ return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: clsx(layoutClasses.main_content, classes$4.traditional_form) }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: clsx(classes$4.container, classes$4.traditional_container) }, { children: [!questionWithVisiblity ? jsxRuntime.exports.jsx("div", __assign({ className: classes$4.loadingContainer }, { children: jsxRuntime.exports.jsx(LoadActivityPlaceholder, {}) })) : jsxRuntime.exports.jsx("div", { children: jsxRuntime.exports.jsx("div", { children: questionWithVisiblity.
49446
49471
  filter(function (vb) {return vb.visible;}).
49447
- map(function (visibleQuestion) {return jsxRuntime.exports.jsx("div", __assign({ className: classes$4.traditional_form_question }, { children: jsxRuntime.exports.jsx(Question, { question: visibleQuestion, control: control, getValues: getValues, errors: errors, inputAutoFocus: false, onAnswerChange: updateQuestionVisibility, labels: questionLabels, onFileUpload: onFileUpload }, visibleQuestion.id) }), visibleQuestion.id);}) }) }), (form === null || form === void 0 ? void 0 : form.trademark) && jsxRuntime.exports.jsx("div", __assign({ className: classes$4.trademark }, { children: form.trademark }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: true, fixPosition: true }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: classes$4.traditional_button_wrapper }, { children: [formHasErrors && jsxRuntime.exports.jsx("div", { children: jsxRuntime.exports.jsx(Text, __assign({ variant: "textSmall", color: "var(--awell-signalError100)" }, { children: errorLabels.formHasErrors })) }), jsxRuntime.exports.jsx("div", {}), jsxRuntime.exports.jsx(Button, __assign({ onClick: submitForm, type: "submit", "data-cy": "submitFormButton", disabled: isSubmittingForm }, { children: buttonLabels.submit }))] })) }))] }));
49472
+ map(function (visibleQuestion) {return jsxRuntime.exports.jsx("div", __assign({ className: classes$4.traditional_form_question }, { children: jsxRuntime.exports.jsx(Question, { question: visibleQuestion, control: control, getValues: getValues, errors: errors, inputAutoFocus: false, onAnswerChange: updateQuestionVisibility, labels: questionLabels, onFileUpload: onFileUpload }, visibleQuestion.id) }), visibleQuestion.id);}) }) }), (form === null || form === void 0 ? void 0 : form.trademark) && jsxRuntime.exports.jsx("div", __assign({ className: classes$4.trademark }, { children: form.trademark }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ fixPosition: true }, { children: jsxRuntime.exports.jsxs("div", __assign({ className: classes$4.traditional_button_wrapper }, { children: [formHasErrors && jsxRuntime.exports.jsx("div", { children: jsxRuntime.exports.jsx(Text, __assign({ variant: "textSmall", color: "var(--awell-signalError100)" }, { children: errorLabels.formHasErrors })) }), jsxRuntime.exports.jsx("div", {}), jsxRuntime.exports.jsx(Button, __assign({ onClick: submitForm, type: "submit", "data-cy": "submitFormButton", disabled: isSubmittingForm }, { children: buttonLabels.submit }))] })) }))] });
49448
49473
  };
49449
49474
 
49450
49475
  var WizardForm = ConversationalForm;
@@ -63108,7 +63133,6 @@ var Kr=[{
63108
63133
 
63109
63134
  var CloudinaryUpload = function (_a) {
63110
63135
  var cloudName = _a.cloudName,uploadPreset = _a.uploadPreset,folder = _a.folder,tags = _a.tags,context = _a.context,onFinish = _a.onFinish,text = _a.text;
63111
- var showScrollHint = useScrollHint().showScrollHint;
63112
63136
  var _b = React.useState([]),uploadedFilesList = _b[0],setUploadedFilesList = _b[1];
63113
63137
  var attachments = React.useMemo(function () {
63114
63138
  return uploadedFilesList.map(function (_a, index) {
@@ -63127,13 +63151,12 @@ var Kr=[{
63127
63151
  var handleOnDone = React.useCallback(function () {
63128
63152
  onFinish(uploadedFilesList);
63129
63153
  }, [onFinish, uploadedFilesList]);
63130
- return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("section", __assign({ className: "".concat(classes$1.awell_cloudinary, " ").concat(classes$1.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$1.message_title }, { children: text.subject })), jsxRuntime.exports.jsxs("div", __assign({ className: classes$1.content }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: "files" }, { children: jsxRuntime.exports.jsx("p", { children: text.fileCountHeader(uploadedFilesList === null || uploadedFilesList === void 0 ? void 0 : uploadedFilesList.length) }) })), !!attachments.length && jsxRuntime.exports.jsx("div", __assign({ className: classes$1.attachmentList }, { children: jsxRuntime.exports.jsx(AttachmentList, { attachments: attachments, icon: text.attachmentIcon, labels: text.attachmentLabels }) })), jsxRuntime.exports.jsx(CloudinaryUploadWidget, { cloudName: cloudName, uploadPreset: uploadPreset, folder: folder, tags: tags, context: context, onFileUpload: onImageUploadHandler, text: { uploadButton: text.buttonLabels.upload } })] }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: showScrollHint }, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$1.button_wrapper, " ").concat(classes$1.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "finishUpload", variant: "secondary", onClick: handleOnDone }, { children: text.buttonLabels.done })) })) }))] });
63154
+ return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("section", __assign({ className: "".concat(classes$1.awell_cloudinary, " ").concat(classes$1.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$1.message_title }, { children: text.subject })), jsxRuntime.exports.jsxs("div", __assign({ className: classes$1.content }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: "files" }, { children: jsxRuntime.exports.jsx("p", { children: text.fileCountHeader(uploadedFilesList === null || uploadedFilesList === void 0 ? void 0 : uploadedFilesList.length) }) })), !!attachments.length && jsxRuntime.exports.jsx("div", __assign({ className: classes$1.attachmentList }, { children: jsxRuntime.exports.jsx(AttachmentList, { attachments: attachments, icon: text.attachmentIcon, labels: text.attachmentLabels }) })), jsxRuntime.exports.jsx(CloudinaryUploadWidget, { cloudName: cloudName, uploadPreset: uploadPreset, folder: folder, tags: tags, context: context, onFileUpload: onImageUploadHandler, text: { uploadButton: text.buttonLabels.upload } })] }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$1.button_wrapper, " ").concat(classes$1.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "finishUpload", variant: "secondary", onClick: handleOnDone }, { children: text.buttonLabels.done })) })) })] });
63131
63155
  };
63132
63156
  CloudinaryUpload.displayName = 'Cloudinary';
63133
63157
 
63134
63158
  var CloudinarySingleFileUpload = function (_a) {
63135
63159
  var cloudName = _a.cloudName,uploadPreset = _a.uploadPreset,folder = _a.folder,tags = _a.tags,context = _a.context,onFinish = _a.onFinish,text = _a.text;
63136
- var showScrollHint = useScrollHint().showScrollHint;
63137
63160
  var _b = React.useState(undefined),uploadedFile = _b[0],setUploadedFile = _b[1];
63138
63161
  var attachments = React.useMemo(function () {return [
63139
63162
  {
@@ -63149,7 +63172,7 @@ var Kr=[{
63149
63172
  var handleOnDone = React.useCallback(function () {
63150
63173
  onFinish(uploadedFile);
63151
63174
  }, [onFinish, uploadedFile]);
63152
- return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("section", __assign({ className: "".concat(classes$1.awell_cloudinary, " ").concat(classes$1.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$1.message_title }, { children: text.subject })), jsxRuntime.exports.jsxs("div", __assign({ className: classes$1.content }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: "files" }, { children: jsxRuntime.exports.jsx("p", { children: text.fileCountHeader(uploadedFile !== undefined) }) })), uploadedFile && jsxRuntime.exports.jsx("div", __assign({ className: classes$1.attachmentList }, { children: jsxRuntime.exports.jsx(AttachmentList, { attachments: attachments, icon: text.attachmentIcon, labels: text.attachmentLabels }) })), !uploadedFile && jsxRuntime.exports.jsx(CloudinaryUploadWidget, { cloudName: cloudName, uploadPreset: uploadPreset, multiple: false, folder: folder, tags: tags, context: context, onFileUpload: onImageUploadHandler, text: { uploadButton: text.buttonLabels.upload } })] }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: showScrollHint }, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$1.button_wrapper, " ").concat(classes$1.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "finishUpload", variant: "secondary", onClick: handleOnDone }, { children: text.buttonLabels.done })) })) }))] });
63175
+ return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment, { children: [jsxRuntime.exports.jsx("main", __assign({ id: "ahp_main_content_with_scroll_hint", className: layoutClasses.main_content }, { children: jsxRuntime.exports.jsxs("section", __assign({ className: "".concat(classes$1.awell_cloudinary, " ").concat(classes$1.container) }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: classes$1.message_title }, { children: text.subject })), jsxRuntime.exports.jsxs("div", __assign({ className: classes$1.content }, { children: [jsxRuntime.exports.jsx("div", __assign({ className: "files" }, { children: jsxRuntime.exports.jsx("p", { children: text.fileCountHeader(uploadedFile !== undefined) }) })), uploadedFile && jsxRuntime.exports.jsx("div", __assign({ className: classes$1.attachmentList }, { children: jsxRuntime.exports.jsx(AttachmentList, { attachments: attachments, icon: text.attachmentIcon, labels: text.attachmentLabels }) })), !uploadedFile && jsxRuntime.exports.jsx(CloudinaryUploadWidget, { cloudName: cloudName, uploadPreset: uploadPreset, multiple: false, folder: folder, tags: tags, context: context, onFileUpload: onImageUploadHandler, text: { uploadButton: text.buttonLabels.upload } })] }))] })) })), jsxRuntime.exports.jsx(HostedPageFooter, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes$1.button_wrapper, " ").concat(classes$1.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "finishUpload", variant: "secondary", onClick: handleOnDone }, { children: text.buttonLabels.done })) })) })] });
63153
63176
  };
63154
63177
  CloudinarySingleFileUpload.displayName = 'CloudinarySingleFileUpload';
63155
63178
 
@@ -63191,7 +63214,7 @@ var Kr=[{
63191
63214
  return updateMedication(index, 'dose', e.target.value);
63192
63215
  }, placeholder: text.medication_dose }), jsxRuntime.exports.jsx(InputField, { id: "instructions", label: text.medication_instructions, type: "text", value: medication.instructions || '', onChange: function (e) {
63193
63216
  return updateMedication(index, 'instructions', e.target.value);
63194
- }, placeholder: text.medication_instructions }), jsxRuntime.exports.jsx("button", __assign({ onClick: function () {return removeMedication(index);}, type: "button", className: classes.deleteMedsButton }, { children: jsxRuntime.exports.jsx(ForwardRef$1, { className: classes.icon, "aria-hidden": "true" }) }))] }), index);}) })), jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes.container, " ").concat(classes.addMedsButton) }, { children: jsxRuntime.exports.jsx(Button, __assign({ onClick: addMedication, variant: "secondary" }, { children: text.add_medication_button })) }))] })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ showScrollHint: false }, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes.button_wrapper, " ").concat(classes.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "submitMedication", variant: "primary", onClick: handleSubmit }, { children: text.submit_medication })) })) }))] });
63217
+ }, placeholder: text.medication_instructions }), jsxRuntime.exports.jsx("button", __assign({ onClick: function () {return removeMedication(index);}, type: "button", className: classes.deleteMedsButton }, { children: jsxRuntime.exports.jsx(ForwardRef$1, { className: classes.icon, "aria-hidden": "true" }) }))] }), index);}) })), jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes.container, " ").concat(classes.addMedsButton) }, { children: jsxRuntime.exports.jsx(Button, __assign({ onClick: addMedication, variant: "secondary" }, { children: text.add_medication_button })) }))] })), jsxRuntime.exports.jsx(HostedPageFooter, __assign({ hideScrollHint: true }, { children: jsxRuntime.exports.jsx("div", __assign({ className: "".concat(classes.button_wrapper, " ").concat(classes.container) }, { children: jsxRuntime.exports.jsx(Button, __assign({ "data-cy": "submitMedication", variant: "primary", onClick: handleSubmit }, { children: text.submit_medication })) })) }))] });
63195
63218
  };
63196
63219
  CollectMedication.displayName = 'CollectMedication';
63197
63220
 
@@ -1,6 +1,5 @@
1
1
  interface UseScrollHintHook {
2
2
  showScrollHint: boolean;
3
- determineShowScrollHint: () => void;
4
3
  }
5
- export declare const useScrollHint: () => UseScrollHintHook;
4
+ export declare const useScrollHint: (fixPosition?: boolean) => UseScrollHintHook;
6
5
  export {};
@@ -1,7 +1,7 @@
1
1
  import React, { FC } from 'react';
2
2
  export interface HostedPageFooterProps {
3
3
  children: React.ReactNode | string;
4
- showScrollHint?: boolean;
4
+ hideScrollHint?: boolean;
5
5
  fixPosition?: boolean;
6
6
  }
7
7
  export declare const HostedPageFooter: FC<HostedPageFooterProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/ui-library",
3
- "version": "0.1.108",
3
+ "version": "0.1.111",
4
4
  "description": "UI components to integrate with Awell Health",
5
5
  "repository": {
6
6
  "type": "git",