{"version":3,"sources":["MojoLogo.png","utils/polyfill/string/includes.js","context/ThemeContext.js","context/AppContext.js","context/RouteContext.js","utils/reducer/useReducerWithThunk.js","reducer/types/prefix.js","reducer/types/intialize.js","reducer/types/suffix.js","reducer/types/categories.js","reducer/types/success_dialog.js","reducer/types/request_reasons.js","reducer/types/provider.js","reducer/types/slots.js","reducer/types/submit.js","reducer/AppReducer.js","reducer/types/route.js","reducer/RouteReducer.js","components/CSSReset/CSSReset.js","components/Layout/Layout.js","components/NoSelect/NoSelect.js","components/Layout/Header.js","components/Layout/Content.js","components/Layout/Sidebar.js","components/HoverPointer/HoverPointer.js","components/Spacer/Spacer.js","components/Spacer/SpacerV.js","components/CategoryToggle/Toggle.js","components/CategoryToggle/Container.js","components/CategoryToggle/index.js","components/Loading/Loading.js","reducer/actions/request_reasons.js","components/ReasonSelect/ReasonSelect.js","components/ReasonSelect/SelectContainer.js","components/ReasonSelect/OptionsContainer.js","components/ReasonSelect/Option.js","components/ReasonSelect/PlaceholderText.js","components/QueryGroup/QueryGroup.js","components/NavigationBar/NavigationBar.js","components/FullPageContainer/FullPageContainer.js","components/Button/Button.js","components/Button/NavButton.js","components/Button/NavButtonBack.js","components/Button/NavButtonNext.js","reducer/actions/route.js","components/QuerySection/QuerySection.js","reducer/actions/categories.js","components/ProviderCard/Private/Accent.js","components/ProviderCard/Private/Body.js","components/ProviderCard/Private/Button.js","components/ProviderCard/Private/ButtonLink.js","components/ProviderCard/Private/CalendarContainer.js","components/ProviderCard/Private/Collapse.js","components/ProviderCard/Private/CollapseInner.js","components/PoweredBy/PoweredBy.js","components/Print/AppointmentRequest.js","components/ProviderCard/Private/Dialog.js","components/ProviderCard/Private/Header.js","components/ProviderCard/Private/Error.js","components/ProviderCard/Private/FormContainer.js","components/ProviderCard/Private/HiddenMD.js","components/ProviderCard/Private/HiddenSM.js","components/ProviderCard/Private/IconContainer.js","components/ProviderCard/Private/InfoContainer.js","components/InputText/InputText.js","components/ProviderCard/Private/Label.js","components/ProviderCard/Private/Name.js","components/ProviderCard/Private/Primary.js","components/ProviderCard/Private/Role.js","components/ProviderCard/ProviderCard.js","components/ProviderCard/Private/SlotsContainer.js","components/ProviderCard/Private/Textarea.js","components/ProviderCard/Private/TimeSlot.js","reducer/actions/provider.js","components/Help/Help.js","components/SectionNav/SectionNav.js","components/ProviderSection/ProviderSection.js","utils/data/baseUrl.js","reducer/actions/slots.js","reducer/types/disabledays.js","reducer/actions/disabledays.js","reducer/SlotReducer.js","components/SlotsContainer/SlotsContainer.js","components/TimeSlot/TimeSlot.js","reducer/DisableReducer.js","components/CalendarSection/CalendarSection.js","components/Label/Label.js","components/Error/Error.js","components/InputGroupText/InputGroupText.js","components/Textarea/Textarea.js","utils/hooks/useUpdateEffect.js","utils/hooks/useDebounce.js","utils/hooks/useInputValidation.js","utils/validation/required.js","utils/validation/email.js","utils/validation/phone.js","utils/data/sanatizePhone.js","reducer/actions/submit.js","utils/compose/compose.js","components/FormSection/FormSection.js","utils/components/viewSwitch.js","schema/customer_provider.js","schema/request_reasonInput.js","schema/categoryInput.js","reducer/actions/initialize.js","components/Dialog/Dimmer.js","reducer/actions/success_dialog.js","components/Dialog/Dialog.js","components/PMOBW/PMOBW.js","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","String","prototype","includes","search","start","RegExp","TypeError","undefined","this","indexOf","grey","themeDefaultState","blue","blueSecondary","green","orange","light","lightSecondary","red","redSecondary","accent","primary","color","text","weight","family","rem","n","arguments","length","concat","border","width","gutter","borderRadius","shadow","media","xs","s","sm","md","lg","xl","mediaInverse","createContext","appDefaultState","name","timezone","api_key","entities","categories","request_reasons","providers","result","activeCategory","activeRequest_reason","selectedProvider","selectedSlot","start_time","end_time","successDialog","show","date","moment","email","AppContext","routeDefaultState","route","RouteContext","useReducerWithThunk","reducer","iState","_useReducer","useReducer","_useReducer2","_slicedToArray","state","dispatch","customDispatch","action","GET","SET","GET_INITIALIZE_REQUEST","GET_INITIALIZE_SUCCESS","SET_CATEGORY","SET_SUCCESS_DIALOG_SHOW","SET_REQUEST_REASON","SET_PROVIDER","GET_SLOTS_REQUEST","GET_SLOTS_SUCCESS","GET_SLOTS_REJECTED","SET_SELECTED_SLOT","PUT_SUBMIT_REQUEST","PUT_SUBMIT_SUCCESS","AppReducer","type","providerTypes","provider","update","$set","setProvider","initializeTypes","_action$data","data","getInitializeSuccess","dialogTypes","$merge","setSuccessDialogShow","submitTypes","_objectSpread","setSubmitSuccess","categoryTypes","_state$entities","_state$entities$categ","uuid","setCategory","reasonTypes","_state$entities2","_state$entities2$requ","setRequestReason","slotTypes","slot","setSelectedSlot","SET_ROUTE","setRoute","RouteReducer","actionTypes","CSSReset","createGlobalStyle","_templateObject","_taggedTemplateLiteral","Layout","styled","div","props","theme","elevated","defaultProps","NoSelect","inline","Header","Brand","_templateObject2","SubHeader","_templateObject3","Content","HoverPointer","Spacer","span","ToggleStyled","active","Container","CategoryToggle","Toggle","children","React","createElement","FontAwesomeIcon","icon","faCheckSquare","faSquare","Loading","Fragment","faSpinnerThird","spin","_ref","ReasonSelectStyled","FadeWrapper","ReasonSelect","_ref$options","options","_useContext","useContext","_useState","useState","_useState2","open","setOpen","SelectContainer","onClick","PlaceholderText","faChevronDown","style","marginLeft","OptionsContainer","map","o","Option","key","QueryGroup","NavigationBar","FullPageWrapper","FullPageContainer","pageRef","useRef","useEffect","boundingRect","current","getBoundingClientRect","elPos","top","window","pageYOffset","scrollTo","behavior","scrollToRef","ref","navigation","Button","sizing","size","NavButton","disabled","BackButton","buttonType","NavButtonBack","faChevronLeft","NavButtonNext","faChevronRight","Label","TextResult","StyledFullPage","QuerySection","_activeCategory$reque","_useContext$entities","categoryNodes","request_reasonNodes","routeDispatch","next","setNext","categorySelected","reasonSelected","QueryNavigation","CSSTransition","in","timeout","classNames","unmountOnExit","c","i","node","category_name","r","appt_length","description","Body","ButtonLink","PoweredByContainer","img","PoweredBy","_ref$style","src","Logo","CompanyName","Title","Text","_templateObject4","Heading","_templateObject5","TextRow","_templateObject6","ThankYouContainer","_templateObject7","HR","_templateObject8","Footer","_templateObject9","Receipt","_templateObject10","AppointmentRequest","_React$Component","_classCallCheck","_callSuper","_inherits","_createClass","value","_moment$tz","_moment$tz2","_this$props","practice","service","time","faCalendarAlt","tz","format","background","Component","Dimmer","Detail","_templateObject11","_templateObject12","HiddenSM","IconContainer","image","InfoContainer","InputTextWrapper","error","InputTextInput","input","InputTextIcon","InputText","_ref$value","_ref$setValue","setValue","_ref$placeholder","placeholder","onChange","e","target","faTimes","p","Name","Role","ProviderCardStyled","textarea","selected","ProviderCard","handleReset","resetKey","providerActions","profile_image_url","faIdCardAlt","role","Help","Sub","SectionNav","h2","SubTitle","ProviderSection","_useState3","_useState4","mount","setMount","providerNodes","filterProviders","reduce","res","_node$name","toLowerCase","toLocaleLowerCase","push","_useState5","_useState6","searchRes","setSearchRes","ProviderNavigation","as","flex","TransitionGroup","faTooth","IS_DEV","location","host","baseUrl","getSlotsSuccess","_ref2","GET_DISABLEDAYS_REQUEST","GET_DISABLEDAYS_SUCCESS","GET_DISABLEDAYS_REJECTED","getDisableDaysSuccess","SlotReducer","SlotsContainer","TimeSlotWrapper","IconWrapper","TimeWrapper","TimeSlot","_ref$setTime","setTime","faClock","DisableReducer","HelperText","HiddenMobile","CalendarSection","selectedDate","setSelectedDate","selectedMonth","setSelectedMonth","defaultSlotSelectionState","slots","disabledates","_useReducerWithThunk","_useReducerWithThunk2","slotsDispatch","_useReducerWithThunk3","_useReducerWithThunk4","disabledaysDispatch","slotActions","reason","url","Req","XMLHttpRequest","onload","json","JSON","parse","response","send","month","year","disableddates","disableActions","CalendarNavigation","height","faUserMd","Calendar","defaultValue","showDateInput","defaultView","onSelect","_selectDate","disabledDate","hour","minute","second","isBefore","online_booking_weekdays","day","Array","from","_disableDate","boxShadow","zIndex","faCalendarTimes","ErrorWrapper","Error","faExclamationTriangle","InputGroupText","label","validation","errors","Textarea","useUpdateEffect","fn","deps","didMount","useDebounce","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout","VALIDATION_REQUEST","VALIDATION_SUCCESS","validationRequest","rules","validate","rule","validationSuccess","validationDefaultState","isValidated","validating","validationReducer","useInputValidation","submit","required","v","RFC5322Standard","test","phone","replace","sanatizePhone","phone_number","_phone","area_code","substr","extension","putSubmitRequest","comment","_len","fns","_key","x","reduceRight","y","f","compose","_name$split","encodeURIComponent","split","putSubmitSuccess","request","FormContainer","FormSection","submitValidation","setName","nameValidation","_useState7","_useState8","setEmail","emailValidation","emailRule","_useState9","_useState10","setPhone","phoneValidation","phoneRule","_useState11","_useState12","setComment","FormNavigation","actions","faSignature","faEnvelope","faPhone","viewSwitch","view","shift","customer_provider","schema","Entity","idAttribute","request_reasonInput","categoryInput","DimmerComponent","setShow","Dialog","DialogHeader","DialogBody","AppointmentDetailsWrapper","AppointmentDetailsIcon","AppointmentDetails","DetailTitle","DialogTitle","DialogText","DialogComponent","_useContext$successDi","cRef","handleClose","dialogActions","ReactToPrint","trigger","content","display","PMOBW","normalize","getInitializeRequest","Object","assign","App","AppState","RouteState","Provider","ThemeProvider","Boolean","hostname","match","root","document","getElementById","newArraySearch","slice","searchObject","_newArraySearch$i$spl","_newArraySearch$i$spl2","rootAPIKey","getAttribute","ReactDOM","render","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.dea8b36d.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","if (!String.prototype.includes) {\r\n String.prototype.includes = function (search, start) {\r\n 'use strict'\r\n\r\n if (search instanceof RegExp) {\r\n throw TypeError('first argument must not be a RegExp')\r\n }\r\n if (start === undefined) { start = 0 }\r\n return this.indexOf(search, start) !== -1\r\n }\r\n}","import { createContext } from 'react';\r\n\r\nconst rem = 16;\r\nconst light = '#edebe9';\r\nconst lightSecondary = '#605e5c';\r\nconst orange = '#f15a31';\r\nconst green = '#80c342';\r\nconst blue = '#009ade';\r\nconst grey = '#414850';\r\nconst greyLight = '#d9dadc';\r\nconst accent = green\r\nconst primary = blue\r\n\r\nexport const themeDefaultState = {\r\n blue: '#009ade',\r\n blueSecondary: '#007bc3',\r\n green: '#80c342',\r\n orange,\r\n light,\r\n lightSecondary,\r\n red: '#e74c3c',\r\n redSecondary: '#d01919',\r\n accent,\r\n primary,\r\n grey,\r\n color: '#212529',\r\n text: {\r\n color: grey,\r\n weight: 100,\r\n family: `-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"`\r\n },\r\n rem: (n = 1) => `${ n * rem}px`,\r\n border: (color = greyLight, width = 1) => `${width}px solid ${color}`,\r\n gutter: rem,\r\n borderRadius: `${.25 * rem}px`,\r\n shadow: (color = grey) => `${color} 2px 2px 3px 0px`,\r\n media: {\r\n xs: (s) => `@media(max-width:${(36 * rem) - 1}px) {\r\n ${s}\r\n }`,\r\n sm: (s) => `@media(min-width:${36 * rem}px) {\r\n ${s}\r\n }`,\r\n md: (s) => `@media(min-width:${48 * rem}px) {\r\n ${s}\r\n }`,\r\n lg: (s) => `@media(min-width:${62 * rem}px) {\r\n ${s}\r\n }`,\r\n xl: (s) => `@media(min-width:${75 * rem}px) {\r\n ${s}\r\n }`,\r\n },\r\n mediaInverse: {\r\n xs: (s) => `@media(max-width:${(36 * rem) - 1}px) {\r\n ${s}\r\n }`,\r\n sm: (s) => `@media(max-width:${(48 * rem)-1}px) {\r\n ${s}\r\n }`,\r\n md: (s) => `@media(max-width:${(62 * rem)-1}px) {\r\n ${s}\r\n }`,\r\n lg: (s) => `@media(max-width:${(75 * rem)-1}px) {\r\n ${s}\r\n }`,\r\n xl: (s) => `@media(min-width:${75 * rem}px) {\r\n ${s}\r\n }`,\r\n }\r\n}\r\n\r\nexport const ThemeContext = createContext(themeDefaultState);","import { createContext } from 'react';\r\nimport moment from 'moment-timezone';\r\n\r\nexport const appDefaultState = {\r\n name: '',\r\n timezone: '',\r\n api_key: '',\r\n entities: {\r\n categories: { },\r\n request_reasons: { },\r\n providers: { }\r\n },\r\n result: {\r\n categories:[ ]\r\n },\r\n activeCategory: { },\r\n activeRequest_reason: '',\r\n selectedProvider: null,\r\n selectedSlot: { start_time: '', end_time: '' },\r\n successDialog: {\r\n show: false,\r\n date: moment(),\r\n email: ''\r\n }\r\n}\r\n\r\nexport const AppContext = createContext(appDefaultState);","import { createContext } from 'react';\r\n\r\nexport const routeDefaultState = {\r\n route: '/'\r\n}\r\n\r\nexport const RouteContext = createContext(routeDefaultState);","import { useReducer } from 'react';\r\n\r\n// Funciton: Enhanced reducer function that allows chaining of dispatches\r\nexport function useReducerWithThunk(reducer, iState) {\r\n const [state, dispatch] = useReducer(reducer, iState);\r\n\r\n let customDispatch = (action) => {\r\n if (typeof action === 'function') {\r\n action(customDispatch)\r\n } else {\r\n dispatch(action)\r\n }\r\n }\r\n\r\n return [state, customDispatch]\r\n}\r\n","// Default Prefix for all types\r\nexport const GET = 'GET_';\r\nexport const SET = 'SET_';\r\nexport const PUT = 'PUT_';\r\nexport const DELETE = 'DELETE_'\r\nexport const NEW = 'NEW_'","import {\r\n REQUEST,\r\n SUCCESS,\r\n REJECTED\r\n} from 'reducer/types/suffix'\r\nimport {\r\n GET\r\n} from 'reducer/types/prefix'\r\n\r\n// Base CONSTANT for INITIALIZE\r\nexport const INITIALIZE = 'INITIALIZE'\r\n\r\nexport const GET_INITIALIZE_REQUEST = `${GET}${INITIALIZE}${REQUEST}`\r\nexport const GET_INITIALIZE_SUCCESS = `${GET}${INITIALIZE}${SUCCESS}`\r\nexport const GET_INITIALIZE_REJECTED = `${GET}${INITIALIZE}${REJECTED}`","// Default Suffixes for all types\r\nexport const REQUEST = '_REQUEST';\r\nexport const SUCCESS = '_SUCCESS';\r\nexport const REJECTED = '_REJECTED';","import {\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\nexport const CATEGORY = 'CATEGORY'\r\n\r\nexport const SET_CATEGORY = `${SET}${CATEGORY}`","import {\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\nexport const SUCCESS_DIALOG = 'SUCCESS_DIALOG'\r\n\r\nexport const SET_SUCCESS_DIALOG_SHOW = `${SET}${SUCCESS_DIALOG}_SHOW`","import {\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\nexport const REQUEST_REASON = 'REQUEST_REASON'\r\n\r\nexport const SET_REQUEST_REASON = `${SET}${REQUEST_REASON}`","import {\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\nexport const PROVIDER = 'PROVIDER'\r\n\r\nexport const SET_PROVIDER = `${SET}${PROVIDER}`","import {\r\n REQUEST,\r\n SUCCESS,\r\n REJECTED\r\n} from 'reducer/types/suffix'\r\nimport {\r\n GET,\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\n// Base CONSTANT for INITIALIZE\r\nexport const SLOTS = 'SLOTS'\r\n\r\nexport const GET_SLOTS_REQUEST = `${GET}${SLOTS}${REQUEST}`\r\nexport const GET_SLOTS_SUCCESS = `${GET}${SLOTS}${SUCCESS}`\r\nexport const GET_SLOTS_REJECTED = `${GET}${SLOTS}${REJECTED}`\r\n\r\nexport const SELECTED_SLOT = 'SELECTED_SLOT'\r\n\r\nexport const SET_SELECTED_SLOT = `${SET}${SELECTED_SLOT}`","import {\r\n REQUEST,\r\n SUCCESS,\r\n REJECTED\r\n} from 'reducer/types/suffix'\r\nimport {\r\n PUT\r\n} from 'reducer/types/prefix'\r\n\r\n// Base CONSTANT for INITIALIZE\r\nexport const SUBMIT = 'SUBMIT'\r\n\r\nexport const PUT_SUBMIT_REQUEST = `${PUT}${SUBMIT}${REQUEST}`\r\nexport const PUT_SUBMIT_SUCCESS = `${PUT}${SUBMIT}${SUCCESS}`\r\nexport const PUT_SUBMIT_REJECTED = `${PUT}${SUBMIT}${REJECTED}`","// vendors\r\nimport update from 'immutability-helper'\r\nimport moment from 'moment-timezone';\r\n\r\n// CONSTANTS\r\nimport * as initializeTypes from 'reducer/types/intialize'\r\nimport * as categoryTypes from 'reducer/types/categories'\r\nimport * as dialogTypes from 'reducer/types/success_dialog'\r\nimport * as reasonTypes from 'reducer/types/request_reasons'\r\nimport * as providerTypes from 'reducer/types/provider'\r\nimport * as slotTypes from 'reducer/types/slots'\r\nimport * as submitTypes from 'reducer/types/submit'\r\n\r\nconst setProvider = (state, action) => {\r\n const { provider } = action\r\n return update(state, {\r\n selectedProvider: { $set: provider }\r\n })\r\n}\r\n\r\nconst getInitializeSuccess = (state, action) => {\r\n const { data: { result, entities } } = action\r\n \r\n return update(state, {\r\n api_key: { $set: result?.api_key },\r\n timezone: { $set: result?.timezone },\r\n name: { $set: result?.name },\r\n entities: { $set: entities },\r\n result: {\r\n categories: { $set: result?.categories }\r\n }\r\n })\r\n} \r\n\r\nconst setSuccessDialogShow = (state, action) => {\r\n const { show } = action\r\n return update(state, {\r\n successDialog: {\r\n $merge: {\r\n show\r\n }\r\n }\r\n })\r\n}\r\n\r\nconst setCategory = (state, action) => {\r\n const { uuid } = action\r\n return update(state, {\r\n $merge: {\r\n activeCategory: state.entities?.categories?.[uuid],\r\n activeRequest_reason: undefined\r\n }\r\n })\r\n}\r\n\r\nconst setRequestReason = (state, action) => {\r\n const { uuid } = action\r\n return update(state, {\r\n $merge: {\r\n activeRequest_reason: state.entities?.request_reasons?.[uuid]\r\n }\r\n })\r\n}\r\n\r\nconst setSelectedSlot = (state, action) => {\r\n const { slot } = action\r\n return update(state, {\r\n $merge: {\r\n selectedSlot: slot\r\n }\r\n })\r\n}\r\n\r\nconst setSubmitSuccess = (state, action) => {\r\n const { successDialog } = action\r\n return update(state, {\r\n activeCategory: { $set: { }},\r\n activeRequest_reason: { $set: '' },\r\n successDialog: { $set: {...successDialog } }\r\n })\r\n}\r\n\r\nexport const AppReducer = (state, action) => {\r\n\r\n switch(action.type) {\r\n case providerTypes.SET_PROVIDER: return setProvider(state, action)\r\n case initializeTypes.GET_INITIALIZE_SUCCESS: return getInitializeSuccess(state, action)\r\n case dialogTypes.SET_SUCCESS_DIALOG_SHOW: return setSuccessDialogShow(state, action)\r\n case submitTypes.PUT_SUBMIT_SUCCESS: return setSubmitSuccess(state, action)\r\n case categoryTypes.SET_CATEGORY: return setCategory(state, action)\r\n case reasonTypes.SET_REQUEST_REASON: return setRequestReason(state, action)\r\n case slotTypes.SET_SELECTED_SLOT: return setSelectedSlot(state, action)\r\n default: return state\r\n }\r\n\r\n}","import {\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\n// Base CONSTANT for ROUTE types\r\nexport const ROUTE = 'ROUTE'\r\n\r\nexport const SET_ROUTE = `${SET}${ROUTE}`","// vendors\r\nimport update from 'immutability-helper'\r\n\r\n// CONSTANTS\r\nimport * as actionTypes from 'reducer/types/route'\r\n\r\n// Initial state of the reducer\r\nimport { routeDefaultState } from 'context/RouteContext'\r\n\r\n\r\n// Each state mutation executed by the reducer\r\nconst setRoute = (state, action) => {\r\n const { route } = action;\r\n return update(state, {\r\n route: { $set: route }\r\n })\r\n}\r\n\r\n// The reducer\r\nexport const RouteReducer = (state = routeDefaultState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SET_ROUTE: return setRoute(state, action)\r\n default: return state\r\n }\r\n}","import { createGlobalStyle } from 'styled-components'\r\n\r\nexport const CSSReset = createGlobalStyle`\r\n #Mojo-Request-Appointment,\r\n #Mojo-Request-Appointment *,\r\n #Mojo-Request-Appointment *:before,\r\n #Mojo-Request-Appointment *:after {\r\n box-sizing: border-box;\r\n font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";\r\n }\r\n\r\n #Mojo-Request-Appointment {\r\n margin: 0;\r\n font-size: 16px;\r\n font-weight: 400;\r\n line-height: 1.5;\r\n color: #212529;\r\n text-align: left;\r\n background-color: #fff;\r\n}\r\n\r\n.rc-calendar {\r\n box-sizing: border-box;\r\n border: none !important;\r\n}\r\n.rc-calendar * {\r\n box-sizing: border-box;\r\n}\r\n.rc-calendar-hidden {\r\n display: none;\r\n}\r\n.rc-calendar-input-wrap {\r\n position: relative;\r\n padding: 6px;\r\n border-bottom: 1px solid #e9e9e9;\r\n}\r\n.rc-calendar-input-wrap:after {\r\n content: '';\r\n clear: both;\r\n}\r\n.rc-calendar-date-input-wrap {\r\n overflow: hidden;\r\n}\r\n.rc-calendar-time-picker {\r\n position: absolute;\r\n width: 100%;\r\n top: 34px;\r\n background-color: white;\r\n height: 217px;\r\n}\r\n.rc-calendar-time-picker-panel {\r\n width: 100%;\r\n position: relative;\r\n}\r\n.rc-calendar-time-picker-panel .rc-time-picker-panel-input-wrap {\r\n display: none;\r\n}\r\n.rc-calendar-time-picker-panel .rc-time-picker-panel-inner {\r\n border: none;\r\n box-shadow: none;\r\n}\r\n.rc-calendar-time-picker-panel .rc-time-picker-panel-select {\r\n width: 84px;\r\n}\r\n.rc-calendar-time-picker-panel .rc-time-picker-panel-select ul {\r\n max-height: 217px;\r\n}\r\n.rc-calendar-time-picker-panel .rc-time-picker-panel-select li {\r\n text-align: center;\r\n padding: 0;\r\n}\r\n.rc-calendar-time-picker-wrap {\r\n float: left;\r\n width: 100%;\r\n}\r\n.rc-calendar-time-picker-wrap .rc-time-picker {\r\n width: 100%;\r\n}\r\n.rc-calendar-time-picker-wrap .rc-time-picker-input {\r\n padding: 0;\r\n border: 1px solid transparent;\r\n outline: 0;\r\n height: 22px;\r\n}\r\n.rc-calendar-time-picker-wrap .rc-time-picker-icon {\r\n display: none;\r\n}\r\n.rc-calendar-input {\r\n border: 1px solid transparent;\r\n width: 100%;\r\n color: #666;\r\n cursor: text;\r\n line-height: 1.5;\r\n outline: 0;\r\n height: 22px;\r\n}\r\n.rc-calendar-input-invalid {\r\n border-color: red;\r\n}\r\n.rc-calendar-clear-btn {\r\n z-index: 9999;\r\n position: absolute;\r\n right: 6px;\r\n cursor: pointer;\r\n overflow: hidden;\r\n width: 20px;\r\n height: 20px;\r\n text-align: center;\r\n line-height: 20px;\r\n top: 6px;\r\n margin: 0;\r\n}\r\n.rc-calendar-clear-btn:after {\r\n content: \"x\";\r\n font-size: 12px;\r\n color: #aaa;\r\n display: inline-block;\r\n line-height: 1;\r\n width: 20px;\r\n transition: color 0.3s ease;\r\n}\r\n.rc-calendar-clear-btn:hover:after {\r\n color: #666;\r\n}\r\n.rc-calendar-picker {\r\n position: absolute;\r\n left: -9999px;\r\n top: -9999px;\r\n z-index: 1000;\r\n}\r\n.rc-calendar-picker-hidden {\r\n display: none;\r\n}\r\n.rc-calendar-picker-slide-up-enter {\r\n animation-duration: .3s;\r\n animation-fill-mode: both;\r\n transform-origin: 0 0;\r\n display: block !important;\r\n opacity: 0;\r\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\r\n animation-play-state: paused;\r\n}\r\n.rc-calendar-picker-slide-up-appear {\r\n animation-duration: .3s;\r\n animation-fill-mode: both;\r\n transform-origin: 0 0;\r\n display: block !important;\r\n opacity: 0;\r\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\r\n animation-play-state: paused;\r\n}\r\n.rc-calendar-picker-slide-up-leave {\r\n animation-duration: .3s;\r\n animation-fill-mode: both;\r\n transform-origin: 0 0;\r\n display: block !important;\r\n opacity: 1;\r\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\r\n animation-play-state: paused;\r\n}\r\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-bottomLeft,\r\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-bottomRight,\r\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-bottomLeft,\r\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-bottomRight {\r\n animation-name: rcDropdownSlideUpIn;\r\n animation-play-state: running;\r\n}\r\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-topLeft,\r\n.rc-calendar-picker-slide-up-enter.rc-calendar-picker-slide-up-enter-active.rc-calendar-picker-placement-topRight,\r\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-topLeft,\r\n.rc-calendar-picker-slide-up-appear.rc-calendar-picker-slide-up-appear-active.rc-calendar-picker-placement-topRight {\r\n animation-name: rcDropdownSlideDownIn;\r\n animation-play-state: running;\r\n}\r\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-bottomLeft,\r\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-bottomRight {\r\n animation-name: rcDropdownSlideUpOut;\r\n animation-play-state: running;\r\n}\r\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-topLeft,\r\n.rc-calendar-picker-slide-up-leave.rc-calendar-picker-slide-up-leave-active.rc-calendar-picker-placement-topRight {\r\n animation-name: rcDropdownSlideDownOut;\r\n animation-play-state: running;\r\n}\r\n@keyframes rcDropdownSlideUpIn {\r\n 0% {\r\n opacity: 0;\r\n transform-origin: 0% 0%;\r\n transform: scaleY(0);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform-origin: 0% 0%;\r\n transform: scaleY(1);\r\n }\r\n}\r\n@keyframes rcDropdownSlideUpOut {\r\n 0% {\r\n opacity: 1;\r\n transform-origin: 0% 0%;\r\n transform: scaleY(1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform-origin: 0% 0%;\r\n transform: scaleY(0);\r\n }\r\n}\r\n@keyframes rcDropdownSlideDownIn {\r\n 0% {\r\n opacity: 0;\r\n transform-origin: 100% 100%;\r\n transform: scaleY(0);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform-origin: 100% 100%;\r\n transform: scaleY(1);\r\n }\r\n}\r\n@keyframes rcDropdownSlideDownOut {\r\n 0% {\r\n opacity: 1;\r\n transform-origin: 100% 100%;\r\n transform: scaleY(1);\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform-origin: 100% 100%;\r\n transform: scaleY(0);\r\n }\r\n}\r\n.rc-calendar {\r\n position: relative !important;\r\n outline: none;\r\n font-family: Arial, \"Hiragino Sans GB\", \"Microsoft Yahei\", \"Microsoft Sans Serif\", \"WenQuanYi Micro Hei\", sans-serif;\r\n width: 253px;\r\n list-style: none;\r\n font-size: 12px;\r\n text-align: left;\r\n background-color: #fff;\r\n border-radius: 3px;\r\n box-shadow: 0 1px 5px #ccc;\r\n background-clip: padding-box;\r\n border: 1px solid #ccc;\r\n line-height: 1.5;\r\n}\r\n.rc-calendar-date-panel,\r\n.rc-calendar-panel {\r\n position: relative;\r\n outline: none;\r\n}\r\n.rc-calendar-week-number {\r\n width: 286px;\r\n}\r\n.rc-calendar-week-number-cell {\r\n text-align: center;\r\n}\r\n.rc-calendar-header {\r\n padding: 0 10px;\r\n height: 34px;\r\n line-height: 30px;\r\n text-align: center;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n border-bottom: 1px solid #ccc;\r\n}\r\n.rc-calendar-header > a {\r\n font-weight: bold;\r\n display: inline-block;\r\n padding: 0px 5px;\r\n line-height: 34px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n.rc-calendar-header > a:hover {\r\n cursor: pointer;\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-header .rc-calendar-prev-month-btn {\r\n position: absolute;\r\n left: 25px;\r\n}\r\n.rc-calendar-header .rc-calendar-prev-month-btn:after {\r\n content: '‹';\r\n}\r\n.rc-calendar-header .rc-calendar-next-month-btn {\r\n position: absolute;\r\n right: 25px;\r\n}\r\n.rc-calendar-header .rc-calendar-next-month-btn:after {\r\n content: '›';\r\n}\r\n.rc-calendar-year-select,\r\n.rc-calendar-month-select,\r\n.rc-calendar-day-select {\r\n display: inline-block;\r\n font-size: 12px;\r\n font-weight: bold;\r\n color: #666;\r\n padding: 0 8px;\r\n line-height: 34px;\r\n}\r\n.rc-calendar-year-select:hover,\r\n.rc-calendar-month-select:hover,\r\n.rc-calendar-day-select:hover {\r\n cursor: pointer;\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-prev-month-btn,\r\n.rc-calendar-next-month-btn,\r\n.rc-calendar-prev-year-btn,\r\n.rc-calendar-next-year-btn {\r\n position: absolute;\r\n top: 0;\r\n cursor: pointer;\r\n color: #999;\r\n font-family: Arial, \"Hiragino Sans GB\", \"Microsoft Yahei\", \"Microsoft Sans Serif\", sans-serif;\r\n padding: 0 5px;\r\n font-size: 16px;\r\n display: inline-block;\r\n line-height: 34px;\r\n}\r\n.rc-calendar-prev-month-btn:hover,\r\n.rc-calendar-next-month-btn:hover,\r\n.rc-calendar-prev-year-btn:hover,\r\n.rc-calendar-next-year-btn:hover {\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-next-year-btn {\r\n right: 0;\r\n}\r\n.rc-calendar-next-year-btn:after {\r\n content: ' ';\r\n}\r\n.rc-calendar-prev-year-btn {\r\n left: 0;\r\n}\r\n.rc-calendar-prev-year-btn:after {\r\n content: ' ';\r\n}\r\n.rc-calendar-body {\r\n padding: 9px 10px 10px;\r\n height: 217px;\r\n}\r\n.rc-calendar table {\r\n border-collapse: collapse;\r\n max-width: 100%;\r\n background-color: transparent;\r\n width: 100%;\r\n}\r\n.rc-calendar table,\r\n.rc-calendar td,\r\n.rc-calendar th,\r\n.rc-calendar td {\r\n border: none;\r\n}\r\n.rc-calendar-table {\r\n border-spacing: 0;\r\n margin-bottom: 0;\r\n}\r\n.rc-calendar-column-header {\r\n line-height: 18px;\r\n padding: 6px 0;\r\n width: 33px;\r\n text-align: center;\r\n}\r\n.rc-calendar-column-header .rc-calendar-column-header-inner {\r\n display: block;\r\n font-weight: normal;\r\n}\r\n.rc-calendar-week-number-header .rc-calendar-column-header-inner {\r\n display: none;\r\n}\r\n.rc-calendar-cell {\r\n padding: 1px 0;\r\n display: table-cell !important;\r\n width: auto !important;\r\n}\r\n\r\n.rc-calendar-date {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin: 0 auto;\r\n color: #666;\r\n border-radius: 50%;\r\n width: 26px;\r\n height: 26px;\r\n padding: 0;\r\n background: transparent;\r\n line-height: 26px;\r\n text-align: center;\r\n}\r\n.rc-calendar-date:hover {\r\n background: #ebfaff;\r\n cursor: pointer;\r\n}\r\n.rc-calendar-selected-day .rc-calendar-date {\r\n background: #d9f4fe;\r\n}\r\n.rc-calendar-selected-date .rc-calendar-date {\r\n background: #80c342;\r\n color: #fff;\r\n}\r\n.rc-calendar-selected-date .rc-calendar-date:hover {\r\n background: #80c342;\r\n}\r\n.rc-calendar-today .rc-calendar-date {\r\n border: 1px solid #80c342;\r\n}\r\n.rc-calendar-disabled-cell .rc-calendar-date {\r\n cursor: not-allowed;\r\n color: #bcbcbc;\r\n background: #f3f3f3;\r\n border-radius: 0;\r\n width: auto;\r\n}\r\n.rc-calendar-disabled-cell .rc-calendar-date:hover {\r\n background: #f3f3f3;\r\n}\r\n.rc-calendar-last-month-cell .rc-calendar-date,\r\n.rc-calendar-next-month-btn-day .rc-calendar-date {\r\n color: #bbb;\r\n}\r\n.rc-calendar-footer {\r\n border-top: 1px solid #ccc;\r\n padding: 10px 0;\r\n text-align: center;\r\n position: relative;\r\n}\r\n.rc-calendar-footer .rc-time-picker {\r\n width: 90px;\r\n}\r\n.rc-calendar-footer .rc-time-picker-input {\r\n height: 24px;\r\n}\r\n.rc-calendar-footer-show-ok {\r\n text-align: right;\r\n}\r\n.rc-calendar-footer-show-ok .rc-calendar-footer-btn {\r\n padding-right: 12px;\r\n}\r\n.rc-calendar-footer-show-ok .rc-calendar-time-picker-btn {\r\n margin-left: 0;\r\n padding: 0 12px;\r\n}\r\n.rc-calendar-footer-show-ok .rc-calendar-today-btn {\r\n float: left;\r\n padding-left: 12px;\r\n}\r\n.rc-calendar-footer-btn {\r\n margin-top: 2px;\r\n}\r\n.rc-calendar-footer-btn:after {\r\n content: 'x';\r\n height: 0;\r\n font-size: 0;\r\n overflow: hidden;\r\n clear: both;\r\n}\r\n.rc-calendar-time-picker-btn {\r\n margin-left: 10px;\r\n}\r\n.rc-calendar-today-btn,\r\n.rc-calendar-ok-btn,\r\n.rc-calendar-time-picker-btn {\r\n display: inline-block;\r\n text-align: center;\r\n color: #f46830;\r\n}\r\n.rc-calendar-today-btn:hover,\r\n.rc-calendar-ok-btn:hover,\r\n.rc-calendar-time-picker-btn:hover {\r\n cursor: pointer;\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-today-btn-disabled,\r\n.rc-calendar-ok-btn-disabled,\r\n.rc-calendar-time-picker-btn-disabled {\r\n color: #bbb;\r\n}\r\n.rc-calendar-today-btn-disabled:hover,\r\n.rc-calendar-ok-btn-disabled:hover,\r\n.rc-calendar-time-picker-btn-disabled:hover {\r\n color: #bbb;\r\n}\r\n.rc-calendar-time-input {\r\n height: 25px;\r\n position: relative;\r\n display: inline-block;\r\n margin: 0 0;\r\n padding: 4px 10px;\r\n border-radius: 6px 6px;\r\n border: 1px solid #d9d9d9;\r\n background-color: #ffffff;\r\n color: #666;\r\n line-height: 1.5;\r\n transform: border 0.3s cubic-bezier(0.35, 0, 0.25, 1), background 0.3s cubic-bezier(0.35, 0, 0.25, 1), box-shadow 0.3s cubic-bezier(0.35, 0, 0.25, 1);\r\n width: 40px;\r\n}\r\n.rc-calendar-time-input:hover {\r\n border-color: #23c0fa;\r\n}\r\n.rc-calendar-time-input:focus {\r\n border-color: #23c0fa;\r\n box-shadow: 0 0 3px #23c0fa;\r\n}\r\n.rc-calendar-time-panel {\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n background: #ffffff;\r\n z-index: 10;\r\n position: absolute;\r\n outline: none;\r\n}\r\n.rc-calendar-time-panel-header {\r\n padding: 0 10px;\r\n height: 34px;\r\n line-height: 34px;\r\n position: relative;\r\n text-align: center;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n border-bottom: 1px solid #ccc;\r\n}\r\n.rc-calendar-time-panel-body {\r\n padding: 9px 10px 10px;\r\n}\r\n.rc-calendar-time-panel-title {\r\n width: 180px;\r\n font-weight: bold;\r\n display: inline-block;\r\n padding: 4px 5px;\r\n text-align: center;\r\n height: 30px;\r\n line-height: 22px;\r\n border-radius: 4px;\r\n}\r\n.rc-calendar-time-panel-table {\r\n table-layout: fixed;\r\n width: 100%;\r\n height: 255px;\r\n border-collapse: separate;\r\n}\r\n.rc-calendar-time-panel-cell {\r\n text-align: center;\r\n height: 42px;\r\n vertical-align: middle;\r\n}\r\n.rc-calendar-time-panel-time {\r\n line-height: 26px;\r\n display: block;\r\n border-radius: 4px;\r\n width: 26px;\r\n margin: 0 auto;\r\n}\r\n.rc-calendar-time-panel-time:hover {\r\n background: #ebfaff;\r\n cursor: pointer;\r\n}\r\n.rc-calendar-time-panel-selected-cell .rc-calendar-time-panel-time {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-time-panel-selected-cell .rc-calendar-time-panel-time:hover {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-month-panel {\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n background: #ffffff;\r\n z-index: 10;\r\n position: absolute;\r\n outline: none;\r\n}\r\n.rc-calendar-month-panel-hidden {\r\n display: none;\r\n}\r\n.rc-calendar-month-panel-header {\r\n padding: 0 10px;\r\n height: 34px;\r\n line-height: 30px;\r\n position: relative;\r\n text-align: center;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n border-bottom: 1px solid #ccc;\r\n}\r\n.rc-calendar-month-panel-header > a {\r\n font-weight: bold;\r\n display: inline-block;\r\n padding: 4px 5px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n.rc-calendar-month-panel-header > a:hover {\r\n cursor: pointer;\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-month-panel-prev-year-btn,\r\n.rc-calendar-month-panel-next-year-btn {\r\n position: absolute;\r\n top: 0;\r\n}\r\n.rc-calendar-month-panel-next-year-btn:after {\r\n content: '»';\r\n}\r\n.rc-calendar-month-panel-prev-year-btn {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n left: 0;\r\n}\r\n.rc-calendar-month-panel-prev-year-btn:after {\r\n content: '«';\r\n}\r\n.rc-calendar-month-panel .rc-calendar-month-panel-year-select {\r\n width: 180px;\r\n}\r\n.rc-calendar-month-panel-year-select-arrow {\r\n display: none;\r\n}\r\n.rc-calendar-month-panel-next-year-btn {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n right: 0;\r\n}\r\n.rc-calendar-month-panel-body {\r\n padding: 9px 10px 10px;\r\n position: absolute;\r\n top: 34px;\r\n bottom: 0;\r\n}\r\n.rc-calendar-month-panel-table {\r\n table-layout: fixed;\r\n width: 100%;\r\n height: 100%;\r\n border-collapse: separate;\r\n}\r\n.rc-calendar-month-panel-cell {\r\n text-align: center;\r\n}\r\n.rc-calendar-month-panel-cell .rc-calendar-month-panel-month {\r\n display: block;\r\n width: 46px;\r\n margin: 0 auto;\r\n color: #666;\r\n border-radius: 4px 4px;\r\n height: 36px;\r\n padding: 0;\r\n background: transparent;\r\n line-height: 36px;\r\n text-align: center;\r\n}\r\n.rc-calendar-month-panel-cell .rc-calendar-month-panel-month:hover {\r\n background: #ebfaff;\r\n cursor: pointer;\r\n}\r\n.rc-calendar-month-panel-cell-disabled .rc-calendar-month-panel-month {\r\n color: #bfbfbf;\r\n}\r\n.rc-calendar-month-panel-cell-disabled .rc-calendar-month-panel-month:hover {\r\n background: white;\r\n cursor: not-allowed;\r\n}\r\n.rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month:hover {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-month-header-wrap {\r\n position: relative;\r\n height: 308px;\r\n}\r\n.rc-calendar-year-panel {\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n background: #ffffff;\r\n z-index: 10;\r\n position: absolute;\r\n outline: none;\r\n}\r\n.rc-calendar-year-panel-hidden {\r\n display: none;\r\n}\r\n.rc-calendar-year-panel-header {\r\n padding: 0 10px;\r\n height: 34px;\r\n line-height: 30px;\r\n position: relative;\r\n text-align: center;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n border-bottom: 1px solid #ccc;\r\n}\r\n.rc-calendar-year-panel-header > a {\r\n font-weight: bold;\r\n display: inline-block;\r\n padding: 4px 5px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n.rc-calendar-year-panel-header > a:hover {\r\n cursor: pointer;\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-year-panel-prev-decade-btn,\r\n.rc-calendar-year-panel-next-decade-btn {\r\n position: absolute;\r\n top: 0;\r\n}\r\n.rc-calendar-year-panel-next-decade-btn:after {\r\n content: '»';\r\n}\r\n.rc-calendar-year-panel-prev-decade-btn {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n left: 0;\r\n}\r\n.rc-calendar-year-panel-prev-decade-btn:after {\r\n content: '«';\r\n}\r\n.rc-calendar-year-panel .rc-calendar-year-panel-decade-select {\r\n width: 180px;\r\n}\r\n.rc-calendar-year-panel-decade-select-arrow {\r\n display: none;\r\n}\r\n.rc-calendar-year-panel-next-decade-btn {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n right: 0;\r\n}\r\n.rc-calendar-year-panel-body {\r\n padding: 9px 10px 10px;\r\n position: absolute;\r\n bottom: 0;\r\n top: 34px;\r\n}\r\n.rc-calendar-year-panel-table {\r\n table-layout: fixed;\r\n width: 100%;\r\n height: 100%;\r\n border-collapse: separate;\r\n}\r\n.rc-calendar-year-panel-cell {\r\n text-align: center;\r\n}\r\n.rc-calendar-year-panel-year {\r\n display: block;\r\n width: 46px;\r\n margin: 0 auto;\r\n color: #666;\r\n border-radius: 4px 4px;\r\n height: 36px;\r\n padding: 0;\r\n background: transparent;\r\n line-height: 36px;\r\n text-align: center;\r\n}\r\n.rc-calendar-year-panel-year:hover {\r\n background: #ebfaff;\r\n cursor: pointer;\r\n}\r\n.rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-year-panel-selected-cell .rc-calendar-year-panel-year:hover {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-year-panel-last-decade-cell .rc-calendar-year-panel-year,\r\n.rc-calendar-year-panel-next-decade-cell .rc-calendar-year-panel-year {\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n color: rgba(0, 0, 0, 0.25);\r\n}\r\n.rc-calendar-decade-panel {\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n background: #ffffff;\r\n z-index: 10;\r\n position: absolute;\r\n outline: none;\r\n}\r\n.rc-calendar-decade-panel-hidden {\r\n display: none;\r\n}\r\n.rc-calendar-decade-panel-header {\r\n padding: 0 10px;\r\n height: 34px;\r\n line-height: 34px;\r\n position: relative;\r\n text-align: center;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n border-bottom: 1px solid #ccc;\r\n}\r\n.rc-calendar-decade-panel-header > a {\r\n font-weight: bold;\r\n display: inline-block;\r\n padding: 1px 5px;\r\n text-align: center;\r\n width: 30px;\r\n}\r\n.rc-calendar-decade-panel-header > a:hover {\r\n cursor: pointer;\r\n color: #23c0fa;\r\n}\r\n.rc-calendar-decade-panel-prev-century-btn,\r\n.rc-calendar-decade-panel-next-century-btn {\r\n position: absolute;\r\n top: 0;\r\n}\r\n.rc-calendar-decade-panel-next-century-btn:after {\r\n content: '»';\r\n}\r\n.rc-calendar-decade-panel-prev-century-btn {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n left: 0;\r\n}\r\n.rc-calendar-decade-panel-prev-century-btn:after {\r\n content: '«';\r\n}\r\n.rc-calendar-decade-panel-next-century-btn {\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n right: 0;\r\n}\r\n.rc-calendar-decade-panel-body {\r\n padding: 9px 10px 10px;\r\n position: absolute;\r\n bottom: 0;\r\n top: 34px;\r\n}\r\n.rc-calendar-decade-panel-table {\r\n table-layout: fixed;\r\n width: 100%;\r\n height: 100%;\r\n border-collapse: separate;\r\n}\r\n.rc-calendar-decade-panel-cell {\r\n text-align: center;\r\n}\r\n.rc-calendar-decade-panel-decade {\r\n display: block;\r\n margin: 0 auto;\r\n color: #666;\r\n border-radius: 4px 4px;\r\n height: 36px;\r\n padding: 0;\r\n background: transparent;\r\n line-height: 36px;\r\n text-align: center;\r\n}\r\n.rc-calendar-decade-panel-decade:hover {\r\n background: #ebfaff;\r\n cursor: pointer;\r\n}\r\n.rc-calendar-decade-panel-selected-cell .rc-calendar-decade-panel-decade {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-decade-panel-selected-cell .rc-calendar-decade-panel-decade:hover {\r\n background: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-decade-panel-last-century-cell .rc-calendar-decade-panel-decade,\r\n.rc-calendar-decade-panel-next-century-cell .rc-calendar-decade-panel-decade {\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n color: rgba(0, 0, 0, 0.25);\r\n}\r\n.rc-calendar-range {\r\n width: 502px;\r\n overflow: hidden;\r\n}\r\n.rc-calendar-range-part {\r\n width: 250px;\r\n position: relative;\r\n}\r\n.rc-calendar-range-part .rc-calendar-time-picker {\r\n top: 69px;\r\n}\r\n.rc-calendar-range-part .rc-calendar-time-picker-panel-select {\r\n width: 77px;\r\n}\r\n.rc-calendar-range-left {\r\n float: left;\r\n}\r\n.rc-calendar-range-left .rc-calendar-time-picker-panel-select:last-child {\r\n border-right: 1px solid #e9e9e9;\r\n}\r\n.rc-calendar-range-right {\r\n float: right;\r\n}\r\n.rc-calendar-range-right .rc-calendar-time-picker-panel {\r\n left: 21px;\r\n}\r\n.rc-calendar-range-right .rc-calendar-time-picker-panel-select:first-child {\r\n border-left: 1px solid #e9e9e9;\r\n}\r\n.rc-calendar-range-middle {\r\n position: absolute;\r\n margin-left: -10px;\r\n text-align: center;\r\n height: 35px;\r\n line-height: 35px;\r\n}\r\n.rc-calendar-range .rc-calendar-date-panel::after {\r\n content: \".\";\r\n display: block;\r\n height: 0;\r\n clear: both;\r\n visibility: hidden;\r\n}\r\n.rc-calendar-range .rc-calendar-input-wrap {\r\n height: 35px;\r\n}\r\n.rc-calendar-range .rc-calendar-input,\r\n.rc-calendar-range .rc-time-picker-input {\r\n padding: 1px 7px;\r\n height: 22px;\r\n}\r\n.rc-calendar-range .rc-calendar-body,\r\n.rc-calendar-range .rc-calendar-decade-panel-body,\r\n.rc-calendar-range .rc-calendar-year-panel-body,\r\n.rc-calendar-range .rc-calendar-month-panel-body {\r\n border-bottom: 1px solid #e9e9e9;\r\n}\r\n.rc-calendar-range.rc-calendar-week-number {\r\n width: 574px;\r\n}\r\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part {\r\n width: 286px;\r\n}\r\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part .rc-calendar-time-picker {\r\n top: 69px;\r\n}\r\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-part .rc-calendar-time-picker-panel-select {\r\n width: 89px;\r\n}\r\n.rc-calendar-range.rc-calendar-week-number .rc-calendar-range-right .rc-calendar-time-picker-panel {\r\n left: 36px;\r\n}\r\n.rc-calendar-range .rc-calendar-year-panel,\r\n.rc-calendar-range .rc-calendar-month-panel,\r\n.rc-calendar-range .rc-calendar-decade-panel {\r\n top: 35px;\r\n}\r\n.rc-calendar-range .rc-calendar-month-panel .rc-calendar-year-panel {\r\n top: 0;\r\n}\r\n.rc-calendar-range .rc-calendar-decade-panel-table,\r\n.rc-calendar-range .rc-calendar-year-panel-table,\r\n.rc-calendar-range .rc-calendar-month-panel-table {\r\n height: 198px;\r\n}\r\n.rc-calendar-range .rc-calendar-in-range-cell {\r\n background: #ebf4f8;\r\n border-radius: 0;\r\n}\r\n.rc-calendar-range-bottom {\r\n text-align: right;\r\n}\r\n.rc-calendar-range .rc-calendar-footer {\r\n border-top: none;\r\n padding: 0;\r\n}\r\n.rc-calendar-range .rc-calendar-footer-btn {\r\n padding: 10px 12px 10px 0;\r\n}\r\n.rc-calendar-range .rc-calendar-ok-btn {\r\n position: static;\r\n}\r\n.rc-calendar-range .rc-calendar-today-btn {\r\n float: left;\r\n}\r\n.rc-calendar-full {\r\n width: 275px;\r\n}\r\n.rc-calendar-full-header {\r\n padding: 5px 10px;\r\n text-align: center;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n -webkit-user-select: none;\r\n border-bottom: 1px solid #ccc;\r\n overflow: hidden;\r\n}\r\n.rc-calendar-full-header-month-select,\r\n.rc-calendar-full-header-year-select {\r\n width: 70px;\r\n float: right;\r\n margin-right: 5px;\r\n}\r\n.rc-calendar-full-header-switcher {\r\n float: right;\r\n display: inline-block;\r\n}\r\n.rc-calendar-full-header-switcher-normal:hover {\r\n border-color: #23c0fa;\r\n box-shadow: 0 0 2px rgba(45, 183, 245, 0.8);\r\n cursor: pointer;\r\n}\r\n.rc-calendar-full-header-switcher-focus {\r\n border-color: #3fc7fa;\r\n background-color: #3fc7fa;\r\n color: #fff;\r\n}\r\n.rc-calendar-full-header-switcher > span {\r\n float: left;\r\n height: 28px;\r\n line-height: 24px;\r\n border: 1px solid #d9d9d9;\r\n padding: 0 10px;\r\n color: #666;\r\n}\r\n.rc-calendar-full-header-switcher > span:first-child {\r\n border-top-left-radius: 4px;\r\n border-bottom-left-radius: 4px;\r\n border-right: none;\r\n}\r\n.rc-calendar-full-header-switcher > span:last-child {\r\n border-top-right-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n border-left: none;\r\n}\r\n.rc-calendar-fullscreen {\r\n width: auto;\r\n}\r\n.rc-calendar-fullscreen .rc-calendar-full-header {\r\n border-bottom: none;\r\n}\r\n.rc-calendar-fullscreen .rc-calendar-column-header {\r\n text-align: right;\r\n padding-right: 12px;\r\n}\r\n.rc-calendar-fullscreen .rc-calendar-cell {\r\n padding: 0;\r\n}\r\n.rc-calendar-fullscreen .rc-calendar-cell .rc-calendar-date,\r\n.rc-calendar-fullscreen .rc-calendar-month-panel-cell .rc-calendar-month-panel-month {\r\n display: block;\r\n height: 116px;\r\n width: auto;\r\n border-radius: 0;\r\n margin: 0 4px;\r\n border: none;\r\n border-top: 2px solid #eee;\r\n text-align: right;\r\n padding-right: 8px;\r\n}\r\n.rc-calendar-fullscreen .rc-calendar-selected-day .rc-calendar-date,\r\n.rc-calendar-fullscreen .rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month {\r\n background-color: #ebfaff;\r\n color: #666;\r\n}\r\n.rc-calendar-fullscreen .rc-calendar-today .rc-calendar-date,\r\n.rc-calendar-fullscreen .rc-calendar-month-panel-selected-cell .rc-calendar-month-panel-month {\r\n border-top-color: #3FC7FA;\r\n color: #3FC7FA;\r\n}\r\n\r\n`","import styled from 'styled-components'\r\n\r\nconst Layout = styled.div`${\r\n props => `\r\n width: 100%;\r\n border-radius: ${props.theme.borderRadius};\r\n border: ${props.theme.border()};\r\n ${\r\n props.theme.media.md(`\r\n ${\r\n props.elevated\r\n ?\r\n `\r\n box-shadow: ${props.theme.shadow()};\r\n border: none;\r\n border-left: ${props.theme.border(props.theme.light, 1)};\r\n `\r\n :\r\n `\r\n border: ${props.theme.border()};\r\n `\r\n }\r\n `)\r\n } \r\n `}`\r\n\r\nLayout.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n Layout\r\n}","import styled from 'styled-components'\r\n\r\nconst NoSelect = styled.div`\r\n${props => props.inline && 'dipslay: inline-block;'}\r\n user-select: none;\r\n`\r\n\r\nNoSelect.defaultProps = {\r\n inline: false\r\n}\r\n\r\nexport {\r\n NoSelect\r\n}","import styled from 'styled-components'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\nconst Header = styled.div`\r\n background: ${props => props.theme.primary};\r\n color: white;\r\n grid-area: header;\r\n padding: 0 ${props => props.theme.rem()};\r\n padding-bottom: ${props => props.theme.rem(.5)};\r\n border-bottom: ${props => props.theme.border()};\r\n width: 100%;\r\n top: 0;\r\n z-index: 1;\r\n`\r\n\r\n\r\nHeader.defaultProps = {\r\n theme: {\r\n light: '#edebe9',\r\n primary: '#009ade',\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nconst Brand = styled.div`${props => `\r\n font-size: ${props.theme.rem(2)};\r\n color: white;\r\n font-weight: bold;\r\n display: block;\r\n ${props.theme.media.xs(`\r\n display: none;\r\n `)}\r\n`}`\r\nBrand.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nconst SubHeader = styled(NoSelect)`${props => `\r\n margin-top: ${props.theme.rem(-.5)};\r\n font-size: ${props.theme.rem()};\r\n color: white;\r\n ${props.theme.media.xs(`\r\n margin-top: auto;\r\n padding-top:8px;\r\n `)}\r\n`}`\r\nSubHeader.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nHeader.Brand = Brand;\r\nHeader.SubHeader = SubHeader\r\n\r\nexport {\r\n Header\r\n}","import styled from 'styled-components'\r\n\r\nconst Content = styled.div``\r\n\r\nContent.defaultProps = {\r\n}\r\n\r\nexport {\r\n Content\r\n}","import styled from 'styled-components'\r\n\r\nconst Sidebar = styled.div`\r\n grid-area: sidebar;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n border-bottom: ${props => props.theme.border()};\r\n background: #f4f3f2;\r\n padding-bottom: ${props => props.theme.rem()};\r\n ${props => props.theme.media.md(`\r\n border-right: ${props.theme.border()};\r\n border-bottom: 0px;\r\n `)}\r\n`\r\n\r\nSidebar.defaultProps = {\r\n}\r\n\r\nexport {\r\n Sidebar\r\n}","import styled from 'styled-components'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\nconst HoverPointer = styled(NoSelect)`\r\n ${props => props.inline && 'dipslay: inline-block;'}\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`\r\n\r\nHoverPointer.defaultProps = {\r\n inline: false\r\n}\r\n\r\nexport {\r\n HoverPointer\r\n}","import styled from 'styled-components'\r\n\r\nconst Spacer = styled.span`\r\n margin-left: ${props => props.theme.rem(.5)};\r\n margin-right: ${props => props.theme.rem(.5)};\r\n`\r\n\r\nSpacer.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n Spacer\r\n}","import styled from 'styled-components'\r\n\r\nconst SpacerV = styled.div`\r\n margin-bottom: ${props => props.theme.rem(.5)};\r\n margin-top: ${props => props.theme.rem(.5)};\r\n`\r\nSpacerV.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n SpacerV\r\n}","// Vendors\r\nimport React from 'react'\r\nimport styled from 'styled-components'\r\nimport { HoverPointer } from 'components/HoverPointer'\r\nimport { Spacer } from 'components/Spacer'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCheckSquare, faSquare } from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst ToggleStyled = styled(HoverPointer)`\r\n flex: 1;\r\n display: flex;\r\n align-items: center;\r\n height: 36px;\r\n font-size: ${props => props.theme.rem()};\r\n color: ${props => props.theme.color};\r\n background: ${props => props.active ? props.theme.primary : 'white'};\r\n color: ${props => props.active ? props.theme.light : props.theme.text.color};\r\n font-weight: ${props => props.theme.text.weight};\r\n border-top: 1px solid ${props => props.theme.primary};\r\n border-bottom: 1px solid ${props => props.theme.primary};\r\n border-left: 1px solid ${props => props.theme.primary};\r\n border-right: 1px solid ${props => props.theme.primary};\r\n padding: ${props => props.theme.rem(.3125)} ${props => props.theme.rem(.5)};\r\n &:first-child {\r\n border-top-left-radius: ${props => props.theme.borderRadius};\r\n border-top-right-radius: ${props => props.theme.borderRadius};\r\n }\r\n &:last-of-type {\r\n border-top: none;\r\n border-bottom-left-radius: ${props => props.theme.borderRadius};\r\n border-bottom-right-radius: ${props => props.theme.borderRadius};\r\n }\r\n transition: .3s background, .3s color, .3s border;\r\n ${props => props.theme.media.xl(`\r\n \r\n justify-content: center;\r\n \r\n &:first-child {\r\n border-top-right-radius: 0px;\r\n border-bottom-left-radius: ${props.theme.borderRadius};\r\n border-right: 0px;\r\n }\r\n &:last-of-type {\r\n border-top: 1px solid ${props.theme.primary};\r\n border-top-right-radius: ${props.theme.borderRadius};\r\n border-bottom-left-radius: 0px;\r\n border-right: 1px solid ${props.theme.primary};\r\n }\r\n `)}\r\n`\r\n\r\nToggleStyled.defaultProps = {\r\n active: false,\r\n theme: {\r\n primary: '#009ade',\r\n light: '#edebe9',\r\n lightSecondary: '#605e5c',\r\n rem: (n = 1) => `${n * 16}px`,\r\n borderRadius: `${.25 * 16}px`\r\n }\r\n}\r\n\r\nconst Toggle = (props) => {\r\n const { children, active } = props\r\n return (\r\n \r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport { \r\n Toggle\r\n}","import styled from 'styled-components'\r\n\r\nexport const Container = styled.div`\r\n &:first-child:not(:last-child) {\r\n border-top-left-radius: ${props => props.theme.borderRadius};\r\n border-top-right-radius: ${props => props.theme.borderRadius};\r\n }\r\n &:last-child {\r\n border-bottom-left-radius: ${props => props.theme.borderRadius};\r\n border-bottom-right-radius: ${props => props.theme.borderRadius};\r\n }\r\n ${props => props.theme.media.xl(`\r\n display: flex;\r\n\r\n &:first-child:not(:last-child) {\r\n border-bottom-left-radius: ${props => props.theme.borderRadius};\r\n border-top-right-radius: 0px;\r\n }\r\n &:last-child {\r\n border-top-right-radius: ${props => props.theme.borderRadius};\r\n border-bottom-left-radius: 0px;\r\n }\r\n `)}\r\n`","import { Toggle } from 'components/CategoryToggle/Toggle';\r\nimport { Container } from 'components/CategoryToggle/Container';\r\n\r\nconst CategoryToggle = {}\r\nCategoryToggle.Container = Container\r\nCategoryToggle.Toggle = Toggle\r\n\r\nexport {\r\n CategoryToggle,\r\n Toggle,\r\n Container\r\n}","import React, { Fragment } from 'react'\r\nimport { Spacer } from 'components/Spacer'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSpinnerThird } from '@fortawesome/pro-duotone-svg-icons';\r\n\r\nexport const Loading = () => \r\n Loading...\r\n","// CONSTANTS\r\nimport {\r\n SET_REQUEST_REASON\r\n} from 'reducer/types/request_reasons'\r\n\r\nexport const setRequestReason = ({ uuid }) => (dispatch) => {\r\n dispatch({\r\n type: SET_REQUEST_REASON,\r\n uuid\r\n })\r\n}","// Vendors\r\nimport React, { useState, useContext } from 'react'\r\nimport styled from 'styled-components'\r\n\r\nimport { AppContext } from 'context/AppContext'\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronDown } from '@fortawesome/pro-light-svg-icons';\r\n\r\n// Components\r\nimport { HoverPointer } from 'components/HoverPointer'\r\nimport { Loading } from 'components/Loading'\r\n\r\nimport {\r\n SelectContainer,\r\n OptionsContainer,\r\n Option,\r\n PlaceholderText\r\n} from 'components/ReasonSelect'\r\n\r\nimport {\r\n setRequestReason\r\n} from 'reducer/actions/request_reasons'\r\n\r\n \r\nconst ReasonSelectStyled = styled(HoverPointer)`\r\n font-size: ${props => props.theme.rem()};\r\n color: ${props => props.theme.color};\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: ${props => props.theme.rem(2.25)};\r\n border: 1px solid ${props => props.theme.primary};\r\n border-top: none;\r\n padding: 0 ${props => props.theme.rem(1)};\r\n background: white;\r\n`\r\n\r\nconst FadeWrapper = styled.div`${props => `\r\n flex: 1;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n margin-right: ${props.theme.rem()};\r\n position: relative !important;\r\n padding-right: 8px;\r\n border-right: ${props.theme.border()};\r\n`}`\r\n\r\nReasonSelectStyled.defaultProps = {\r\n theme: {\r\n rem: (n) => `${n * 16}px`,\r\n primary: '#009ade'\r\n }\r\n}\r\n\r\nexport const ReasonSelect = ({options = []}) => {\r\n\r\n const {\r\n activeCategory,\r\n activeRequest_reason,\r\n dispatch\r\n } = useContext(AppContext)\r\n const [open, setOpen] = useState(false)\r\n \r\n const handleSelection = (uuid) => {\r\n setOpen(false)\r\n dispatch(setRequestReason({uuid}))\r\n }\r\n return (\r\n \r\n setOpen(!open)}>\r\n \r\n {\r\n activeCategory\r\n ?\r\n activeRequest_reason\r\n ?\r\n activeRequest_reason?.name\r\n :\r\n \r\n Select a reason for your visit\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n {\r\n open &&\r\n \r\n {\r\n options.map(o => {\r\n return(\r\n \r\n )\r\n })\r\n }\r\n \r\n }\r\n \r\n )\r\n}","import styled from 'styled-components'\r\n\r\n// Components\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\nconst SelectContainer = styled(NoSelect)`\r\nposition: relative;\r\nwidth: 100%;\r\n& > :first-child {\r\n border-top: 1px solid ${props => props.theme.primary};\r\n border-top-left-radius: ${props => props.theme.borderRadius};\r\n border-top-right-radius: ${props => props.theme.borderRadius};\r\n}\r\n& > :last-child {\r\n border-bottom-left-radius: ${props => props.theme.borderRadius};\r\n border-bottom-right-radius: ${props => props.theme.borderRadius};\r\n}\r\n`\r\n\r\nSelectContainer.defaultProps = {\r\n theme: {\r\n primary: '#009ade',\r\n borderRadius: `${.25 * 16}px`\r\n }\r\n}\r\n\r\nexport { \r\n SelectContainer\r\n}","import styled from 'styled-components'\r\n\r\n// Components\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst OptionsContainer = styled(HoverPointer)`\r\n background: white;\r\n width: 100%;\r\n border: 1px solid ${props => props.theme.primary};\r\n border-top: none;\r\n opactiy: ${props => props.open ? 1 : 0};\r\n transition: .3s opactiy;\r\n z-index: 1;\r\n`\r\n\r\nOptionsContainer.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`,\r\n primary: '#009ade'\r\n },\r\n open: false\r\n}\r\n\r\nexport {\r\n OptionsContainer\r\n}","import styled from 'styled-components'\r\n\r\nconst Option = styled.div`\r\n padding: ${props => props.theme.rem(.5)} ${props => props.theme.rem(1)};\r\n font-size: ${props => props.theme.rem()};\r\n color: ${props => props.theme.primary};\r\n border-bottom: 1px solid ${props => props.theme.primary};\r\n\r\n &:hover {\r\n background: ${props => props.theme.primary}22;\r\n }\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n `\r\nOption.defaultProps = {\r\n theme: {\r\n rem: (n) => `${n * 16}px`,\r\n primary: '#009ade'\r\n }\r\n}\r\n\r\nexport {\r\n Option\r\n}","import styled from 'styled-components'\r\n\r\nconst PlaceholderText = styled.div`\r\n font-size: ${props => props.theme.rem()};\r\n color: ${ props => props.theme.lightSecondary};\r\n font-style: italic;\r\n `\r\nPlaceholderText.defaultProps = {\r\n theme: {\r\n lightSecondary: '#605e5c'\r\n }\r\n}\r\n\r\nexport {\r\n PlaceholderText\r\n}","import styled from 'styled-components'\r\n\r\nconst QueryGroup = styled.div`\r\n\r\n`\r\n\r\nQueryGroup.defaultProps = {\r\n\r\n}\r\n\r\nexport {\r\n QueryGroup\r\n}","import React from 'react'\r\nimport styled from 'styled-components'\r\n\r\nexport const NavigationBar = styled.div`\r\n bottom: 30px;\r\n width: 100%;\r\n margin-top: ${props => props.theme.rem(4)};\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n height: 48px;\r\n padding: 0 ${props => props.theme.rem()};\r\n border-top: ${props => props.theme.border()};\r\n background: white;\r\n z-index: 1;\r\n`","import React, {useRef, useEffect} from 'react'\r\nimport styled from 'styled-components'\r\n\r\nimport { NavigationBar } from 'components/NavigationBar'\r\n\r\nconst FullPageWrapper = styled.div`\r\n background: white;\r\n width: 100%;\r\n height: 100%;\r\n min-height: 60vh;\r\n display: flex;\r\n flex-direction: column;\r\n`\r\n\r\nexport const FullPageContainer = (props) => {\r\n\r\n const pageRef = useRef(null)\r\n const scrollToRef = () => {\r\n const boundingRect = pageRef.current.getBoundingClientRect()\r\n const elPos = boundingRect.top + window.pageYOffset - 100\r\n\r\n if (boundingRect.top < 0) {\r\n window.scrollTo({ top: elPos, behavior: 'smooth' })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n scrollToRef()\r\n }, [])\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n {props.navigation}\r\n \r\n \r\n )\r\n}","import styled from 'styled-components'\r\n\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst Button = styled(HoverPointer)`\r\n display: inline-block;\r\n border-radius: ${props => props.theme.borderRadius};\r\n background: ${props => props.theme.accent};\r\n color: white;\r\n ${props => sizing(props)}\r\n margin-left: auto;\r\n margin-right: ${props => props.theme.rem()};\r\n\r\n &:hover {\r\n background: ${props => props.theme.accent}ee;\r\n }\r\n`\r\n\r\nconst sizing = (props) => {\r\n switch (props.size) {\r\n case 'sm':\r\n return `\r\n font-size: ${ props.theme.rem(.9375)};\r\n padding: ${props.theme.rem(.125)} ${props.theme.rem(.75)};\r\n `\r\n default:\r\n return `\r\n font-size: ${ props.theme.rem()};\r\n padding: ${props.theme.rem(.5)} ${props.theme.rem(1)};\r\n `\r\n }\r\n}\r\n\r\nButton.defaultProps = {\r\n theme: {\r\n accent: '#80c342'\r\n }\r\n}\r\n\r\nexport {\r\n Button\r\n}","import React from 'react'\r\nimport styled from 'styled-components'\r\n\r\n\r\nconst NavButton = styled.div`\r\n display: inline-block;\r\n border-radius: ${props => props.theme.borderRadius};\r\n background: ${props => props.theme.accent};\r\n color: white !important;\r\n font-size: ${ props => props.theme.rem(.9375)};\r\n padding: ${props => props.theme.rem(.125)} ${props => props.theme.rem(.75)};\r\n text-decoration: none !important;\r\n\r\n cursor: ${ props => props.disabled ? `not-allowed` : `pointer` };\r\n\r\n &:hover {\r\n background: ${props => props.theme.accent}ee;\r\n }\r\n`\r\n\r\nNavButton.defaultProps = {\r\n theme: {\r\n accent: '#80c342'\r\n }\r\n}\r\n\r\nexport {\r\n NavButton\r\n}","import React from 'react'\r\nimport { NavButton } from './NavButton'\r\nimport styled from 'styled-components'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst BackButton = styled(NavButton)`${ props => `\r\n ${buttonType(props)}\r\n`}`\r\n\r\nconst buttonType = (props) => {\r\n switch (props.type) {\r\n case 'link':\r\n return `\r\n padding: 0;\r\n background: transparent;\r\n color: ${props.theme.primary} !important;\r\n text-decoration: underline;\r\n\r\n &:hover {\r\n background: transparent;\r\n color: ${props.theme.primary} !important;\r\n }\r\n `\r\n default:\r\n return `\r\n background: ${props.theme.primary};\r\n\r\n &:hover {\r\n background: ${props.theme.primary}ee;\r\n }\r\n `\r\n }\r\n}\r\n\r\nexport const NavButtonBack = (props) => {\r\n return (\r\n \r\n {props.children}\r\n \r\n )\r\n}","import React from 'react'\r\nimport { NavButton } from './NavButton'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronRight } from '@fortawesome/pro-light-svg-icons';\r\n\r\nexport const NavButtonNext = (props) => {\r\n return (\r\n \r\n {props.children} \r\n \r\n )\r\n}","// actionTypes\r\nimport * as actionTypes from 'reducer/types/route'\r\n\r\nexport const setRoute = (route) => {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.SET_ROUTE,\r\n route\r\n })\r\n }\r\n}","// Vendors\r\nimport React, { useContext, useState, useEffect } from 'react'\r\nimport styled from 'styled-components'\r\nimport { AppContext } from 'context/AppContext'\r\nimport { RouteContext } from 'context/RouteContext'\r\nimport { CSSTransition } from 'react-transition-group'\r\n\r\nimport './styles.css'\r\n\r\n// Components\r\nimport { CategoryToggle } from 'components/CategoryToggle'\r\nimport { ReasonSelect } from 'components/ReasonSelect'\r\nimport { QueryGroup } from 'components/QueryGroup'\r\nimport { FullPageContainer } from 'components/FullPageContainer'\r\nimport { Loading } from 'components/Loading'\r\nimport { NoSelect } from 'components/NoSelect'\r\nimport { NavButtonNext } from 'components/Button'\r\n\r\n// Actions\r\nimport {\r\n setCategory\r\n} from 'reducer/actions/categories'\r\nimport {\r\n setRoute\r\n} from 'reducer/actions/route'\r\n\r\nconst Label = styled(NoSelect)`${props => `\r\n font-size: ${props.theme.rem()};\r\n color: ${props.theme.color};\r\n font-weight: 600;\r\n margin-bottom: ${props.theme.rem(.5)};\r\n margin-top: ${props.theme.rem()};\r\n`}`\r\n\r\nconst TextResult = styled.span`\r\n min-height: 21px;\r\n display: block;\r\n font-size: ${props => props.theme.rem()};\r\n color: ${props => props.theme.text.color};\r\n font-weight: ${props => props.theme.text.weight};\r\n margin-left: ${props => props.theme.rem(.5)}\r\n`\r\n\r\nconst StyledFullPage = styled.div`${ props => `\r\n padding: 0 ${props.theme.rem()};\r\n flex: 1;\r\n`}`\r\n\r\n// Component\r\nexport const QuerySection = () => {\r\n\r\n const {\r\n activeRequest_reason,\r\n activeCategory,\r\n result: { categories },\r\n entities: {\r\n categories: categoryNodes,\r\n request_reasons: request_reasonNodes\r\n },\r\n dispatch\r\n } = useContext(AppContext)\r\n\r\n const { dispatch: routeDispatch } = useContext(RouteContext)\r\n\r\n const [next, setNext] = useState(false)\r\n\r\n useEffect(() => {\r\n const categorySelected = activeCategory?.uuid ? true : false\r\n const reasonSelected = activeRequest_reason?.uuid ? true : false\r\n setNext(categorySelected && reasonSelected)\r\n }, [activeCategory, activeRequest_reason])\r\n\r\n const QueryNavigation = (\r\n \r\n routeDispatch(setRoute('/providers'))}\r\n style={{ marginLeft: 'auto' }}\r\n >\r\n Select a Provider\r\n \r\n \r\n )\r\n \r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {\r\n !categories && \r\n }\r\n {\r\n categories?.map((c, i) => {\r\n let node = categoryNodes[c]\r\n return node.request_reasons.length > 0 ? (\r\n dispatch(setCategory({ uuid: node.uuid}))}\r\n >\r\n {node.category_name}\r\n \r\n ) : null\r\n })\r\n }\r\n \r\n \r\n \r\n \r\n \r\n request_reasonNodes[r])}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n {activeRequest_reason ? activeRequest_reason?.appt_length / 60000 : '0'}min\r\n \r\n {activeRequest_reason ? activeRequest_reason?.description : '...'}\r\n \r\n \r\n \r\n \r\n )\r\n}","// CONSTANTS\r\nimport {\r\n SET_CATEGORY\r\n} from 'reducer/types/categories'\r\n\r\nexport const setCategory = ({uuid}) => (dispatch) => {\r\n dispatch({\r\n type: SET_CATEGORY,\r\n uuid\r\n })\r\n}","import styled from 'styled-components'\r\n\r\nconst Accent = styled.span`\r\n color: ${props => props.theme.accent}\r\n`\r\n\r\nAccent.defaultProps = {\r\n theme: {\r\n accent: '#80c342'\r\n }\r\n}\r\n\r\nexport {\r\n Accent\r\n}","import styled from 'styled-components'\r\n\r\nconst Body = styled.div`\r\n padding: ${props => props.theme.rem()};\r\n`\r\n\r\nBody.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`,\r\n }\r\n}\r\n\r\nexport {\r\n Body\r\n}","import styled from 'styled-components'\r\n\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst Button = styled(HoverPointer)`\r\n display: inline-block;\r\n border-radius: ${props => props.theme.borderRadius};\r\n background: ${props => props.theme.accent};\r\n color: white;\r\n padding: ${props => props.theme.rem(.5)} ${props => props.theme.rem(1)};\r\n margin-left: auto;\r\n margin-right: ${props => props.theme.rem()};\r\n\r\n &:hover {\r\n background: ${props => props.theme.accent}ee;\r\n }\r\n`\r\n\r\nButton.defaultProps = {\r\n theme: {\r\n accent: '#80c342'\r\n }\r\n}\r\n\r\nexport {\r\n Button\r\n}","import styled from 'styled-components'\r\n\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst ButtonLink = styled(HoverPointer)`${props => `\r\n margin-left: auto;\r\n margin-right: ${props.theme.rem()};\r\n color: ${props.theme.primary};\r\n font-size: ${props.theme.rem()};\r\n ${props.theme.mediaInverse.xs(`\r\n border-radius: ${props.theme.borderRadius};\r\n background: ${props.theme.accent};\r\n color: white;\r\n padding: ${props.theme.rem(.5)} ${props.theme.rem(1)};\r\n &:hover {\r\n background: ${props.theme.accent}ee;\r\n }\r\n `)}\r\n`}`\r\n\r\nButtonLink.defaultProps = {\r\n theme: {\r\n rem: (n) => `${n * 16}px`,\r\n primary: '',\r\n borderRadius: `${.25 * 16}px`,\r\n accent: '',\r\n media: {\r\n xs: (s) => `${s}`\r\n }\r\n }\r\n}\r\n\r\nexport {\r\n ButtonLink\r\n}","import styled from 'styled-components'\r\n\r\nconst CalendarContainer = styled.div`${props => `\r\n flex: 1;\r\n text-align: center;\r\n padding-bottom: ${props.theme.rem()};\r\n`}`\r\n\r\nexport { CalendarContainer }","import styled from 'styled-components'\r\n\r\nconst Collapse = styled.div`${props => `\r\n max-height: ${props.show ? `1500px` : `0px`};\r\n width: 100%;\r\n transition: ${props.show ? '.6s' : '.3s'} max-height;\r\n overflow: hidden;\r\n`}`\r\n\r\nCollapse.defaultProps = {\r\n show: false\r\n}\r\n\r\nexport { Collapse }","import styled from 'styled-components'\r\n\r\nconst CollapseInner = styled.div`${props => `\r\n border-top: ${props.theme.border()};\r\n border-bottom: ${props.theme.border()};\r\n ${props.theme.media.xl(`\r\n display: flex;\r\n `)}\r\n`}`\r\n\r\nexport { CollapseInner }","// Vendors\r\nimport React from 'react'\r\nimport styled from 'styled-components'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\nimport Logo from 'MojoLogo.png'\r\n\r\nconst PoweredByContainer = styled(NoSelect)`\r\n bottom:0;\r\n width: 100%;\r\n grid-area: poweredby;\r\n padding: 0px ${props => props.theme.rem()};\r\n display: flex;\r\n align-items: center;\r\n color: ${props => props.theme.text.color};\r\n font-weight: ${props => props.theme.text.weight};\r\n font-size: ${props => props.theme.rem(.75)};\r\n background: #f4f3f2;\r\n border-top: ${props => props.theme.border()};\r\n justify-content: center;\r\n`\r\n\r\nconst Brand = styled.img`\r\n width: 100px;\r\n`\r\n\r\n\r\nexport const PoweredBy = ({style={}}) => {\r\n return (\r\n \r\n Powered by: \r\n \r\n )\r\n}","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport moment from 'moment-timezone'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCalendarAlt } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport { PoweredBy } from 'components/PoweredBy'\r\n\r\nconst Container = styled.div`${props => `\r\n margin: 0 auto;\r\n padding: ${props.theme.rem(2)} 0;\r\n width: ${props.theme.rem(32)};\r\n display: flex;\r\n height: 100vh;\r\n flex-direction: column;\r\n`}`\r\n\r\nconst CompanyName = styled.div`${props => `\r\n font-family: ${props.theme.text.family};\r\n font-size: ${props.theme.rem(2)};\r\n font-weight: bold;\r\n text-align: center;\r\n`}`\r\n\r\nconst Title = styled.div`${props => `\r\n font-family: ${props.theme.text.family};\r\n color: ${props.theme.primary};\r\n font-size: ${props.theme.rem(1.5)};\r\n font-weight: bold;\r\n text-align: center;\r\n`}`\r\n\r\nconst Text = styled.div`${props => `\r\n font-family: ${props.theme.text.family};\r\n font-weight: ${props.theme.text.weight};\r\n color: ${props.theme.text.color};\r\n line-height: 1.6;\r\n`}`\r\n\r\nconst Heading = styled(Text)`${props => `\r\n font-weight: bold;\r\n font-size: ${props.theme.rem(1.125)};\r\n`}`\r\n\r\nconst TextRow = styled.div`${props => `\r\n display: flex;\r\n justify-content: space-between;\r\n padding: ${props.theme.rem(.625)} 0;\r\n`}`\r\n\r\nconst ThankYouContainer = styled.div`${props => `\r\n margin: ${props.theme.rem(2)} 0;\r\n`}`\r\n\r\nconst HR = styled.div`${props => `\r\n border-bottom: ${props.theme.border()}\r\n`}`\r\n\r\nconst Footer = styled.div`\r\n margin-top: auto;\r\n`\r\nconst Receipt = styled(Text)`${props => `\r\n font-size: 80%;\r\n margin-bottom: ${props.theme.rem(.5)};\r\n text-align: center;\r\n font-style: italic;\r\n`}`\r\n\r\n\r\nclass AppointmentRequest extends React.Component {\r\n render() {\r\n const { practice, service, date, time, provider, timezone, email } = this.props;\r\n return (\r\n \r\n \r\n {practice}\r\n \r\n \r\n <FontAwesomeIcon icon={faCalendarAlt}/> Appointment Request\r\n \r\n \r\n \r\n Service\r\n \r\n \r\n {service}\r\n \r\n \r\n
\r\n \r\n \r\n Provider\r\n \r\n \r\n {provider}\r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n {date}\r\n \r\n \r\n \r\n \r\n Time\r\n \r\n \r\n {moment(time.start_time).tz(timezone)?.format('h:mm a')} - {moment(time.end_time).tz(timezone)?.format('h:mm a')}\r\n \r\n \r\n
\r\n \r\n \r\n Thank you for your appointment request with {provider}. {practice} will reach out to you to verify that your appointment has been accepted.\r\n \r\n \r\n
\r\n \r\n A copy of this receipt has been sent to {email}\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport {\r\n AppointmentRequest\r\n}","// Vendors\r\nimport React, { useRef } from 'react'\r\nimport styled from 'styled-components'\r\nimport moment from 'moment-timezone';\r\nimport ReactToPrint from 'react-to-print'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCalendarAlt, faTimes } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport { HoverPointer } from 'components/HoverPointer'\r\nimport { Button } from 'components/ProviderCard/Private'\r\nimport { AppointmentRequest } from 'components/Print'\r\n\r\nconst Dimmer = styled.div`${props => `\r\n display: ${props.show ? 'flex' : 'none'};\r\n align-items: center;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n background: ${props.theme.grey}a6;\r\n z-index: 999;\r\n`}`\r\n\r\nconst Dialog = styled.div`${props => `\r\nbackground: white;\r\noverflow: hidden;\r\nwidth: 100%;\r\n${Dimmer} & {\r\n border: ${props.theme.border()};\r\n ${props.theme.media.md(`\r\n margin: ${props.theme.rem()};\r\n border-radius: ${props.theme.borderRadius};\r\n `)}\r\n}\r\n`}`\r\n\r\nconst DialogHeader = styled.div`${props => `\r\n padding: ${props.theme.rem()};\r\n display: flex;\r\n justify-content: space-between;\r\n border-bottom: ${props.theme.border()};\r\n`}`\r\n\r\nconst DialogBody = styled.div`${props => `\r\n padding: ${props.theme.rem()};\r\n`}`\r\n\r\nconst AppointmentDetailsWrapper = styled.div`${props => `\r\nborder: ${props.theme.border()};\r\nborder-radius: ${props.theme.borderRadius};\r\ndisplay: inline-flex;\r\nmargin-bottom: ${props.theme.rem()};\r\n`}`\r\n\r\nconst AppointmentDetailsIcon = styled.div`${props => `\r\n background: #f4f3f2;\r\n border-right: ${props.theme.border()};\r\n display: flex;\r\n justify-content: center;\r\n padding: ${props.theme.rem()};\r\n`}`\r\n\r\nconst AppointmentDetails = styled.div`${props => `\r\n padding: ${props.theme.rem()};\r\n`}`\r\n\r\nconst Detail = styled.div`${props => `\r\n color: ${props.theme.text.color};\r\n font-weight: ${props.theme.text.weight};\r\n`}`\r\nconst DetailTitle = styled(Detail)`${props => `\r\n font-size: ${props.theme.rem(1.25)};\r\n line-height: 1;\r\n margin-bottom: ${props.theme.rem(.25)};\r\n`}`\r\nconst DialotTitle = styled(Detail)`${props => `\r\n font-size: ${props.theme.rem(1.25)};\r\n`}`\r\nconst DialogText = styled(Detail)`${props => `\r\n margin-bottom: ${props.theme.rem()};\r\n`}`\r\n\r\nconst ButtonLink = styled.div`${props => `\r\n text-decoration: underline;\r\n cursor: pointer;\r\n color: ${props.theme.primary};\r\n line-height: 1;\r\n padding-right: ${props.theme.rem(.75)};\r\n padding-top: ${props.theme.rem(.5)};\r\n`}`\r\n\r\nconst DialogComponent = ({provider, practice, request, date, slot, timezone, email, setShow}) => {\r\n\r\n const cRef = useRef()\r\n\r\n return (\r\n \r\n \r\n \r\n Appointment Request Details\r\n \r\n \r\n setShow(false)} />\r\n \r\n \r\n \r\n \r\n {practice} will reach out to you to verify that your appointment has been accepted.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {request.name}\r\n \r\n \r\n {provider.name}\r\n \r\n \r\n {date.format('MMMM Do YYYY')}\r\n \r\n \r\n {moment(slot.start_time).tz(timezone)?.format('h:mm a')} - {moment(slot.end_time).tz(timezone)?.format('h:mm a')}\r\n \r\n \r\n
\r\n Print}\r\n content={() => cRef.current}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n A receipt of this request has been sent to {email}.\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst DimmerComponent = ({ provider, practice, request, date, slot, timezone, show, setShow }) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport {\r\n DialogComponent as Dialog,\r\n DimmerComponent as Dimmer\r\n}","import styled from 'styled-components'\r\n\r\nconst Header = styled.div`\r\n display: flex;\r\n height: ${props => props.theme.rem(4)};\r\n align-items: center;\r\n border-top-left-radius: ${props => props.theme.borderRadius};\r\n border-top-right-radius: ${props => props.theme.borderRadius};\r\n margin-top: ${props => props.theme.rem(.5)};\r\n margin-bottom: ${props => props.theme.rem(.5)};\r\n`\r\n\r\nHeader.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`,\r\n light: '#edebe9',\r\n borderRadius: `${.25 * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n Header\r\n}","import React from 'react'\r\nimport styled from 'styled-components'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faExclamationTriangle } from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst ErrorWrapper = styled.div`${props => `\r\n width: 100%;\r\n font-size: 80%;\r\n margin-top: ${props.theme.rem(.25)};\r\n color: ${props.theme.orange};\r\n`}`\r\n\r\nconst Error = ({children}) => (\r\n \r\n {children}\r\n \r\n)\r\n\r\nexport {\r\n Error\r\n}","import styled from 'styled-components'\r\n\r\nconst FormContainer = styled.div`${props => `\r\n border-left: ${props.theme.border()};\r\n padding: ${props.theme.rem()};\r\n flex: 1;\r\n`}`\r\n\r\nexport { FormContainer }","import styled from 'styled-components'\r\n\r\nconst HiddenMD = styled.div`${props => `\r\n display: none;\r\n text-decoration: underline;\r\n ${props.theme.media.lg(`\r\n margin-left: 4px;\r\n display: inline-block;\r\n `)}\r\n`}`\r\n\r\nHiddenMD.defaultProps = {\r\n theme: {\r\n media: {\r\n lg: (s) => s\r\n }\r\n }\r\n}\r\n\r\nexport {\r\n HiddenMD\r\n}","import styled from 'styled-components'\r\n\r\nconst HiddenSM = styled.div`${props => `\r\n display: none;\r\n text-decoration: underline;\r\n ${props.theme.media.sm(`\r\n margin-left: 4px;\r\n display: inline-block;\r\n `)}\r\n`}`\r\n\r\nHiddenSM.defaultProps = {\r\n theme: {\r\n media: {\r\n sm: (s) => s\r\n }\r\n }\r\n}\r\n\r\nexport {\r\n HiddenSM\r\n}","import styled from 'styled-components'\r\n\r\nconst IconContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 100%;\r\n width: ${props => props.theme.rem(4)};\r\n margin-right: ${props => props.theme.rem()};\r\n margin-left: ${props => props.theme.rem()};\r\n background: ${props => props.theme.light}33;\r\n border-radius: 50%;\r\n ${props => props.image && `\r\n background: url(${props.image});\r\n background-size: cover;\r\n background-position: center;\r\n `}\r\n`\r\nIconContainer.defaultProps = {\r\n theme: {\r\n rem: (n = 1) => `${n * 16}px`,\r\n light: '#edebe9',\r\n borderRadius: `${.25 * 16}px`\r\n },\r\n image: undefined\r\n}\r\n\r\nexport {\r\n IconContainer\r\n}","import styled from 'styled-components'\r\n\r\nconst InfoContainer = styled.div`\r\n \r\n`\r\n\r\nexport {\r\n InfoContainer\r\n}","// Vendors\r\nimport React from 'react'\r\nimport styled from 'styled-components'\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faTimes } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst InputTextWrapper = styled.div`${props => `\r\n overflow: hidden;\r\n border-radius: ${props.theme.borderRadius};\r\n height: 36px;\r\n flex: 0;\r\n flex-basis: ${props.theme.rem(15)};\r\n border: ${props.theme.border()};\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: .3s width;\r\n ${props.error ? `\r\n border-color: ${props.theme.orange};\r\n background: ${props.theme.orange}16;\r\n ` : ''}\r\n`}`\r\n\r\nconst InputTextInput = styled.input`\r\n flex: 1;\r\n background: none;\r\n color: ${props => props.theme.text.color};\r\n font-size: ${props => props.theme.rem()};\r\n height: 100%;\r\n border: none;\r\n outline: none;\r\n padding-left: ${props => props.theme.rem(.5)};\r\n font-family: ${props => props.theme.text.family};\r\n\r\n &:placeholder-shown {\r\n font-style: italic;\r\n }\r\n`\r\n\r\nconst InputTextIcon = styled(HoverPointer)`\r\n width: 36px;\r\n height: 36px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`\r\n\r\nexport const InputText = ({ value = '', setValue = () => {}, icon, placeholder='', error }) => {\r\n return (\r\n \r\n setValue(e.target.value)}\r\n placeholder={placeholder}\r\n />\r\n setValue('')}>\r\n 0 ? faTimes : icon} />\r\n \r\n \r\n )\r\n}","import styled from 'styled-components'\r\n\r\nconst Label = styled.p`${props => `\r\n font-weight: 600;\r\n margin-bottom: ${props.theme.rem(.5)};\r\n`}`\r\n\r\nLabel.defaultProps = {\r\n theme: {\r\n rem: (n) => `${n * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n Label\r\n}","import styled from 'styled-components'\r\n\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst Name = styled(HoverPointer)`\r\n font-weight: bold;\r\n color: ${props => props.theme.primary};\r\n font-size: ${props => props.theme.rem(1.25)}\r\n`\r\n\r\nName.defaultProps = {\r\n theme: {\r\n primary: '#009ade',\r\n rem: (n = 1) => `${n * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n Name\r\n}","import styled from 'styled-components'\r\n\r\nconst Primary = styled.span`\r\n color: ${props => props.theme.primary}\r\n`\r\n\r\nPrimary.defaultProps = {\r\n theme: {\r\n primary: '#009ade'\r\n }\r\n}\r\n\r\nexport {\r\n Primary\r\n}","import styled from 'styled-components'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\nconst Role = styled(NoSelect)`${ props => `\r\n font-size: ${props.theme.rem()};\r\n`}`\r\n\r\nexport {\r\n Role\r\n}","// Vendors\r\nimport React, { useState, useContext } from 'react'\r\nimport styled from 'styled-components'\r\n\r\nimport { AppContext } from 'context/AppContext'\r\n\r\n// Routing\r\nimport { RouteContext } from 'context/RouteContext'\r\nimport { setRoute } from 'reducer/actions/route'\r\n\r\nimport * as providerActions from 'reducer/actions/provider'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCalendarAlt, faIdCardAlt } from '@fortawesome/pro-light-svg-icons';\r\n\r\n// Private Components\r\nimport {\r\n Header,\r\n IconContainer,\r\n InfoContainer,\r\n Name,\r\n Role,\r\n Body,\r\n ButtonLink,\r\n HiddenSM,\r\n} from 'components/ProviderCard/Private'\r\n\r\n// Style Wrapper\r\nconst ProviderCardStyled = styled.div`\r\n overflow: hidden;\r\n position: relative !important;\r\n font-weight: ${props => props.theme.text.weight};\r\n color: ${props => props.theme.text.color};\r\n border-top: ${props => props.theme.border()};\r\n cursor: pointer;\r\n\r\n &:last-child {\r\n border-bottom: ${props => props.theme.border()}\r\n }\r\n`\r\nProviderCardStyled.defaultProps = {\r\n theme: {\r\n light: '#edebe9',\r\n borderRadius: `${.25 * 16}px`,\r\n lightSecondary: '#605e5c'\r\n }\r\n}\r\n\r\n// Component\r\nexport const ProviderCard = ({ provider, handleReset, resetKey}) => {\r\n \r\n const { dispatch } = useContext(AppContext)\r\n const { dispatch: routeDispatch } = useContext(RouteContext)\r\n\r\n const handleSelection = () => {\r\n dispatch(providerActions.setProvider({ provider }))\r\n routeDispatch(setRoute('/calendar'))\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n {!provider.profile_image_url && }\r\n \r\n \r\n \r\n {provider.name}\r\n \r\n \r\n {provider.role}\r\n \r\n \r\n \r\n View openings\r\n \r\n
\r\n {provider.description && {provider.description}}\r\n
\r\n )\r\n}","import styled from 'styled-components'\r\n\r\nconst SlotsContainer = styled.div`${props => `\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n grid-gap: ${props.theme.rem()};\r\n padding: ${props.theme.rem()};\r\n border-top: ${props.theme.border('transparent')};\r\n border-bottom: ${props.theme.border('transparent')};\r\n ${props.error ? `\r\n border-color: ${props.theme.orange};\r\n background: ${props.theme.orange}16;\r\n ` : ''}\r\n`}`\r\n\r\nexport { SlotsContainer }","import styled from 'styled-components'\r\n\r\nconst Textarea = styled.textarea`${props => `\r\n width: 100%;\r\n overflow: auto;\r\n resize: none;\r\n border-radius: ${props.theme.borderRadius};\r\n font-size: ${props.theme.rem()};\r\n padding-left: ${props.theme.rem(.5)};\r\n padding-right: ${props.theme.rem(.5)};\r\n border: ${props.theme.border()};\r\n height: 100px;\r\n padding-top: ${props.theme.rem(.375)};\r\n font-family: ${props.theme.text.family};\r\n`}`\r\n\r\nexport { Textarea }","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport moment from 'moment-timezone';\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faClock } from '@fortawesome/pro-light-svg-icons';\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst TimeSlotWrapper = styled(HoverPointer)`${\r\n props => `\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background: ${props.selected ? props.theme.accent : props.theme.primary};\r\n color: white;\r\n border-radius: ${props.theme.borderRadius};\r\n padding: ${props.theme.rem(.5)} ${props.theme.rem()};\r\n `\r\n}\r\n`\r\nconst IconWrapper = styled.div`\r\n\r\n`\r\nconst TimeWrapper = styled.div`\r\n white-space: nowrap\r\n`\r\n\r\nexport const TimeSlot = ({selected, time, timezone, setTime = () => {}}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {moment(time).tz(timezone).format('h:mm a')}\r\n \r\n \r\n )\r\n}","import * as providerTypes from 'reducer/types/provider'\r\n\r\nexport const setProvider = ({provider}) => (dispatch) => {\r\n dispatch({\r\n type: providerTypes.SET_PROVIDER,\r\n provider\r\n })\r\n}","import styled from 'styled-components'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\nconst Help = styled(NoSelect)`${props => `\r\nborder-top: ${props.theme.border()};\r\ntext-align: center;\r\npadding: ${props.theme.rem(4)} ${props.theme.rem(1.5)};\r\n`}`\r\n\r\nconst Sub = styled.p`${props => `\r\n color: ${props.theme.text.color};\r\n font-weight: ${props.theme.text.weight};\r\n margin: 0;\r\n`}`\r\n\r\nconst Header = styled.div`${props => `\r\n font-size: ${props.theme.rem(2)};\r\n font-weight: bold;\r\n`}`\r\n\r\nHelp.Sub = Sub;\r\nHelp.Header = Header;\r\n\r\nexport {\r\n Help\r\n}","import styled from 'styled-components'\r\n\r\nconst SectionNav = styled.div`${props => `\r\n top: 0;\r\n padding: 0 ${props.theme.rem()};\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n background: #f4f3f2;\r\n height: 75px;\r\n position: relative;\r\n overflow: hidden;\r\n\r\n &:after {\r\n content: ' ';\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n border-right: 16px solid #f4f3f2;\r\n }\r\n`}`\r\n\r\nconst Title = styled.h2`${props => `\r\n margin: 0;\r\n color: ${props.theme.color};\r\n white-space: nowrap;\r\n font-size: ${props.theme.rem(1.625)};\r\n letter-spacing: 0;\r\n font-weight: 700;\r\n \r\n ${props.theme.media.sm(`\r\n font-size: ${props.theme.rem(2)};\r\n `)}\r\n`}`\r\n\r\nconst SubTitle = styled.div`${props => `\r\n margin-top: ${ props.theme.rem(-.375)};\r\n color: ${props.theme.color};\r\n white-space: nowrap;\r\n\r\n font-size: ${props.theme.rem(.875)};\r\n \r\n ${props.theme.media.sm(`\r\n font-size: ${props.theme.rem()};\r\n `)}\r\n`}`\r\nSectionNav.Title = Title;\r\nSectionNav.SubTitle = SubTitle;\r\n\r\nexport {\r\n SectionNav\r\n}","// Vendors\r\nimport React, { useContext, useState, useEffect } from 'react'\r\nimport { AppContext } from 'context/AppContext'\r\nimport './ProviderSection.css'\r\n\r\n// Routing\r\nimport { RouteContext } from 'context/RouteContext'\r\nimport { setRoute } from 'reducer/actions/route'\r\n\r\nimport { ProviderCard } from 'components/ProviderCard'\r\nimport { Help } from 'components/Help'\r\nimport { NoSelect } from 'components/NoSelect'\r\nimport { SectionNav } from 'components/SectionNav'\r\nimport { NavButtonBack } from 'components/Button'\r\nimport { FullPageContainer } from 'components/FullPageContainer'\r\n\r\nimport { \r\n TransitionGroup,\r\n CSSTransition\r\n} from 'react-transition-group'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faTooth } from '@fortawesome/pro-light-svg-icons';\r\n\r\nexport const ProviderSection = () => {\r\n\r\n const [search, setSearch] = useState('')\r\n const [mount, setMount] = useState(false)\r\n \r\n const {\r\n activeRequest_reason,\r\n activeCategory,\r\n entities: {\r\n providers: providerNodes,\r\n }\r\n } = useContext(AppContext)\r\n\r\n const { dispatch: routeDispatch } = useContext(RouteContext)\r\n\r\n const filterProviders = (activeRequest_reason) => {\r\n if (activeRequest_reason?.providers) {\r\n return activeRequest_reason.providers.reduce((res, p) => {\r\n let node = providerNodes[p];\r\n if (node?.name?.toLowerCase().includes(search.toLocaleLowerCase())) {\r\n res.push(node)\r\n }\r\n return res;\r\n }, [])\r\n } else {\r\n return []\r\n }\r\n }\r\n\r\n const [searchRes, setSearchRes] = useState(filterProviders(activeRequest_reason))\r\n\r\n useEffect(() => {\r\n setSearchRes(filterProviders(activeRequest_reason))\r\n }, [search, activeRequest_reason])\r\n\r\n const ProviderNavigation = (\r\n routeDispatch(setRoute('/'))}\r\n type='link'\r\n >\r\n Back to Services\r\n \r\n )\r\n return (\r\n \r\n \r\n
\r\n Select a Provider\r\n \r\n {activeCategory?.category_name} / {activeRequest_reason?.name}\r\n \r\n
\r\n
\r\n
\r\n {\r\n searchRes.length > 0\r\n ?\r\n \r\n {searchRes.map(node => (\r\n \r\n \r\n \r\n ))}\r\n \r\n :\r\n \r\n \r\n No Results\r\n No providers matched your search criteria.\r\n Adjust your search terms and try again.\r\n \r\n }\r\n
\r\n
\r\n )\r\n}","export const IS_DEV = window.location.host.includes('dev');\r\n\r\nexport const baseUrl = `https://${IS_DEV ? 'dev-app-priv' : 'app'}.practicemojo.com/cgi-bin/WebObjects/PracticeMojoAPI.woa/booking/`","// CONSTANTS\r\nimport {\r\n GET_SLOTS_REQUEST,\r\n GET_SLOTS_SUCCESS,\r\n GET_SLOTS_REJECTED,\r\n SET_SELECTED_SLOT\r\n} from 'reducer/types/slots'\r\n\r\nimport { baseUrl } from 'utils/data/baseUrl'\r\n\r\nexport const getSlotsRequest = ({ api_key, provider, date, reason }) => (dispatch) => {\r\n dispatch({\r\n type: GET_SLOTS_REQUEST\r\n })\r\n\r\n const url = `${baseUrl}${api_key}/availability?pr=${provider}&date=${date}&unit=DAY&arr=${reason}`\r\n \r\n var Req = new XMLHttpRequest()\r\n Req.onload = (e) => {\r\n const json = JSON.parse(Req.response)\r\n dispatch(getSlotsSuccess(json))\r\n }\r\n Req.open('GET', url)\r\n Req.send()\r\n}\r\n\r\nexport const getSlotsSuccess = (data) => (dispatch) => {\r\n dispatch({\r\n type: GET_SLOTS_SUCCESS,\r\n data\r\n })\r\n}\r\n\r\nexport const getSlotsRejected = () => (dispatch) => {\r\n dispatch({\r\n type: GET_SLOTS_REJECTED\r\n })\r\n}\r\n\r\nexport const setSelectedSlot = ({ slot, timezone }) => (dispatch) => {\r\n dispatch({\r\n type: SET_SELECTED_SLOT,\r\n slot,\r\n timezone\r\n })\r\n}","import {\r\n REQUEST,\r\n SUCCESS,\r\n REJECTED\r\n} from 'reducer/types/suffix'\r\nimport {\r\n GET,\r\n SET\r\n} from 'reducer/types/prefix'\r\n\r\n// Base CONSTANT for INITIALIZE\r\nexport const DISABLEDAYS = 'DISABLEDATES'\r\n\r\nexport const GET_DISABLEDAYS_REQUEST = `${GET}${DISABLEDAYS}${REQUEST}`\r\nexport const GET_DISABLEDAYS_SUCCESS = `${GET}${DISABLEDAYS}${SUCCESS}`\r\nexport const GET_DISABLEDAYS_REJECTED = `${GET}${DISABLEDAYS}${REJECTED}`\r\n\r\nexport const SELECTED_SLOT = 'SELECTED_SLOT'\r\n\r\nexport const SET_SELECTED_SLOT = `${SET}${SELECTED_SLOT}`","// CONSTANTS\r\nimport {\r\n GET_DISABLEDAYS_REQUEST,\r\n GET_DISABLEDAYS_SUCCESS,\r\n GET_DISABLEDAYS_REJECTED, \r\n} from 'reducer/types/disabledays'\r\n\r\nimport { baseUrl } from 'utils/data/baseUrl'\r\n\r\nexport const getDisableDaysRequest = ({ api_key, provider, month,year, reason }) => (dispatch) => {\r\n dispatch({\r\n type: GET_DISABLEDAYS_REQUEST\r\n })\r\n\r\n const url = `${baseUrl}${api_key}/unavailabledays?pr=${provider}&month=${month}&year=${year}&unit=DAY&arr=${reason}`\r\n \r\n var Req = new XMLHttpRequest()\r\n Req.onload = (e) => {\r\n const json = JSON.parse(Req.response) \r\n dispatch(getDisableDaysSuccess(json.disableddates))\r\n }\r\n Req.open('GET', url)\r\n Req.send()\r\n}\r\n\r\nexport const getDisableDaysSuccess = (data) => (dispatch) => {\r\n dispatch({\r\n type: GET_DISABLEDAYS_SUCCESS,\r\n data\r\n })\r\n}\r\n\r\nexport const getDisableDaysRejected = () => (dispatch) => {\r\n dispatch({\r\n type: GET_DISABLEDAYS_REJECTED, \r\n\r\n })\r\n}\r\n\r\n","// CONSTANTS\r\nimport {\r\n GET_SLOTS_REQUEST,\r\n GET_SLOTS_SUCCESS,\r\n GET_SLOTS_REJECTED\r\n} from 'reducer/types/slots'\r\n\r\nexport const SlotReducer = (state, action) => {\r\n\r\n switch (action.type) {\r\n case GET_SLOTS_REQUEST: {\r\n return state;\r\n }\r\n case GET_SLOTS_SUCCESS: {\r\n return action.data;\r\n }\r\n case GET_SLOTS_REJECTED: {\r\n return state;\r\n }\r\n default: {\r\n return state\r\n }\r\n\r\n }\r\n\r\n}","import styled from 'styled-components'\r\n\r\nconst SlotsContainer = styled.div`${props => `\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n grid-gap: ${props.theme.rem()};\r\n padding: ${props.theme.rem()};\r\n border-top: ${props.theme.border('transparent')};\r\n border-bottom: ${props.theme.border('transparent')};\r\n ${props.error ? `\r\n border-color: ${props.theme.orange};\r\n background: ${props.theme.orange}16;\r\n ` : ''}\r\n`}`\r\n\r\nexport { SlotsContainer }","import React from 'react'\r\nimport styled from 'styled-components'\r\nimport moment from 'moment-timezone';\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faClock } from '@fortawesome/pro-light-svg-icons';\r\nimport { HoverPointer } from 'components/HoverPointer'\r\n\r\nconst TimeSlotWrapper = styled(HoverPointer)`${\r\n props => `\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background: ${props.selected ? props.theme.accent : props.theme.primary};\r\n color: white;\r\n font-size: ${props.theme.rem()};\r\n border-radius: ${props.theme.borderRadius};\r\n padding: ${props.theme.rem(.25)} ${props.theme.rem(.5)};\r\n ${props.theme.media.sm(`\r\n padding: ${props.theme.rem(.5)} ${props.theme.rem()};\r\n `)}\r\n `\r\n }\r\n`\r\nconst IconWrapper = styled.div`\r\n\r\n`\r\nconst TimeWrapper = styled.div`\r\n white-space: nowrap\r\n`\r\n\r\nexport const TimeSlot = ({ selected, time, timezone, setTime = () => { } }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {moment(time).tz(timezone).format('h:mm a')}\r\n \r\n \r\n )\r\n}","// CONSTANTS\r\nimport {\r\n GET_DISABLEDAYS_REQUEST,\r\n GET_DISABLEDAYS_SUCCESS,\r\n GET_DISABLEDAYS_REJECTED, \r\n} from 'reducer/types/disabledays'\r\n\r\nexport const DisableReducer = (state, action) => {\r\n\r\n switch (action.type) {\r\n case GET_DISABLEDAYS_REQUEST: {\r\n return state;\r\n }\r\n case GET_DISABLEDAYS_SUCCESS: {\r\n return action.data;\r\n }\r\n case GET_DISABLEDAYS_REJECTED: {\r\n return state;\r\n }\r\n default: {\r\n return state\r\n }\r\n }\r\n\r\n}","// Vendors\r\nimport React, { useState, useContext, useEffect, useRef } from 'react'\r\nimport styled from 'styled-components'\r\nimport { CSSTransition } from 'react-transition-group'\r\nimport Calendar from 'rc-calendar'\r\nimport moment from 'moment-timezone'\r\n\r\nimport './CalendarSection.css'\r\n\r\n// Routing\r\nimport { RouteContext } from 'context/RouteContext'\r\nimport { setRoute } from 'reducer/actions/route'\r\n\r\n// Layout\r\nimport { FullPageContainer } from 'components/FullPageContainer'\r\nimport { NavButtonBack, NavButtonNext } from 'components/Button'\r\nimport { SectionNav } from 'components/SectionNav'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\n// Actions\r\nimport { AppContext } from 'context/AppContext'\r\nimport * as slotActions from 'reducer/actions/slots'\r\nimport * as disableActions from 'reducer/actions/disabledays'\r\nimport { useReducerWithThunk } from 'utils/reducer'\r\nimport { SlotReducer } from 'reducer/SlotReducer'\r\n\r\n// Components\r\nimport { SlotsContainer } from 'components/SlotsContainer'\r\nimport { Help } from 'components/Help'\r\nimport { TimeSlot } from 'components/TimeSlot'\r\n\r\n\r\n// Private Components\r\nimport {\r\n IconContainer\r\n} from 'components/ProviderCard/Private'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCalendarTimes, faUserMd } from '@fortawesome/pro-light-svg-icons';\r\nimport { DisableReducer } from 'reducer/DisableReducer'\r\nimport { monthsShort } from 'moment'\r\n\r\nconst HelperText = styled.div`${props => `\r\n padding: 0 ${props.theme.rem()};\r\n font-size: ${props.theme.rem(.75)};\r\n font-style: italic;\r\n color: ${props.theme.grey};\r\n`}`\r\n\r\nconst HiddenMobile = styled.span`${props => `\r\n ${props.theme.media.xs(`\r\n display: none;\r\n `)}\r\n`}`\r\n\r\nexport const CalendarSection = () => {\r\nconst disabledays =['2022-05-11','2022-05-12','2022-05-26'];\r\n\r\n const {\r\n api_key,\r\n selectedProvider: provider,\r\n activeRequest_reason,\r\n selectedSlot,\r\n dispatch\r\n } = useContext(AppContext)\r\n\r\n const { dispatch: routeDispatch } = useContext(RouteContext)\r\n\r\n const [next, setNext] = useState(false)\r\n\r\n const [selectedDate, setSelectedDate] = useState(moment())\r\n const [selectedMonth, setSelectedMonth] = useState(moment())\r\n \r\n const defaultSlotSelectionState = {\r\n slots: [],\r\n disabledates:[],\r\n timezone: ''\r\n }\r\n\r\n const _selectDate = (date) => { \r\n setSelectedDate(date);\r\n }\r\n\r\n const _selectMonth = (date) => { \r\n setSelectedMonth(date); \r\n }\r\n\r\n const _disableDate = (current) => {\r\n if (!current) {\r\n return true;\r\n }\r\n const date = moment();\r\n date.hour(0);\r\n date.minute(0);\r\n date.second(0);\r\n return current.isBefore(date) || !provider?.online_booking_weekdays.includes(current.day()) || !activeRequest_reason?.online_booking_weekdays.includes(current.day()) || Array.from(disabledates).includes(current.format('YYYY-MM-DD'))\r\n }\r\n\r\n const CalendarStyle = { width: 'auto', boxShadow: 'none' }\r\n\r\n \r\n\r\n const [slots, slotsDispatch] = useReducerWithThunk(SlotReducer, defaultSlotSelectionState) \r\n const [disabledates,disabledaysDispatch] = useReducerWithThunk(DisableReducer, defaultSlotSelectionState) \r\n \r\n\r\n useEffect(() => { \r\n setNext(selectedSlot.start_time !== '')\r\n }, [selectedSlot])\r\n\r\n useEffect(() => {\r\n dispatch(slotActions.setSelectedSlot({slot:{ start_time: '', end_time: '' }})) \r\n slotsDispatch(slotActions.getSlotsRequest({\r\n api_key,\r\n provider: provider.uuid,\r\n reason: activeRequest_reason.uuid,\r\n date: selectedDate.format('YYYY-MM-DD') \r\n }))\r\n }, [selectedDate])\r\n\r\n useEffect(() => {\r\n disabledaysDispatch(disableActions.getDisableDaysRequest({\r\n api_key,\r\n provider: provider.uuid,\r\n reason: activeRequest_reason.uuid,\r\n month: selectedMonth.format('MM'),\r\n year: selectedMonth.format('YYYY')\r\n }))\r\n }, [selectedMonth])\r\n\r\n const handleSlotSelect = (slot) => {\r\n dispatch(slotActions.setSelectedSlot({slot}))\r\n }\r\n\r\n const CalendarBack = (\r\n routeDispatch(setRoute('/providers'))}\r\n type='link'\r\n >\r\n Back to Providers\r\n \r\n )\r\n\r\n const CalendarNext = (\r\n \r\n routeDispatch(setRoute('/form'))}>\r\n Next\r\n \r\n \r\n )\r\n\r\n const CalendarNavigation = [\r\n CalendarBack,\r\n CalendarNext\r\n ]\r\n\r\n return (\r\n \r\n \r\n
\r\n Select a Date & Time\r\n {provider.name}\r\n
\r\n
\r\n \r\n {!provider.profile_image_url && }\r\n \r\n
\r\n
\r\n _selectDate(date)} \r\n disabledDate={(current) => _disableDate(current)} \r\n onChange={(month) => _selectMonth(month)} \r\n style={CalendarStyle}\r\n />\r\n\r\n
\r\n {\r\n slots.slots.length > 0\r\n ?\r\n \r\n \r\n {\r\n slots.slots.map(s => {\r\n return (\r\n handleSlotSelect(s)} />\r\n )\r\n })\r\n }\r\n \r\n \r\n Times based on {slots.timezone} timezone\r\n \r\n \r\n :\r\n \r\n \r\n No Availability\r\n \r\n }\r\n
\r\n
\r\n )\r\n}","import styled from 'styled-components'\r\n\r\nconst Label = styled.p`${props => `\r\n font-weight: 600;\r\n margin-bottom: ${props.theme.rem(.5)} !important;\r\n`}`\r\n\r\nLabel.defaultProps = {\r\n theme: {\r\n rem: (n) => `${n * 16}px`\r\n }\r\n}\r\n\r\nexport {\r\n Label\r\n}","import React from 'react'\r\nimport styled from 'styled-components'\r\n\r\n// icons\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faExclamationTriangle } from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst ErrorWrapper = styled.div`${props => `\r\n width: 100%;\r\n font-size: 80%;\r\n margin-top: ${props.theme.rem(.25)};\r\n color: ${props.theme.orange};\r\n`}`\r\n\r\nconst Error = ({ children }) => (\r\n \r\n {children}\r\n \r\n)\r\n\r\nexport {\r\n Error\r\n}","import React from 'react'\r\n\r\nimport { InputText } from 'components/InputText'\r\nimport { Label } from 'components/Label'\r\nimport { Error } from 'components/Error'\r\n\r\nconst InputGroupText = ({ label, placeholder, icon, value, setValue, validation }) => (\r\n
\r\n \r\n 0}\r\n />\r\n {\r\n validation.errors.map(e => {e})\r\n }\r\n
\r\n)\r\n\r\nexport { InputGroupText }","import styled from 'styled-components'\r\n\r\nconst Textarea = styled.textarea`${props => `\r\n width: 100%;\r\n overflow: auto;\r\n resize: none;\r\n border-radius: ${props.theme.borderRadius};\r\n font-size: ${props.theme.rem()};\r\n padding-left: ${props.theme.rem(.5)};\r\n padding-right: ${props.theme.rem(.5)};\r\n border: ${props.theme.border()};\r\n height: 100px;\r\n padding-top: ${props.theme.rem(.375)};\r\n font-family: ${props.theme.text.family};\r\n`}`\r\n\r\nexport { Textarea }","import { useEffect, useRef } from 'react'\r\n\r\n/*\r\n desc:\r\n Custom hook for executing on non-initial render.\r\n Persistant nature of a Ref allows us to initialize `false` on render\r\n and set `true` once so following executions of the effect execute.\r\n\r\n args:\r\n fn: function\r\n deps: var[]\r\n\r\n example useage:\r\n const [count, setCount] = useState(0)\r\n\r\n useUpdateEffect(() => {\r\n ...\r\n }, [count]);\r\n*/\r\n\r\nexport const useUpdateEffect = (fn, deps) => {\r\n // useRef persists across re-renders\r\n const didMount = useRef(false)\r\n\r\n useEffect(() => {\r\n // Check if didMount\r\n if (didMount.current) {\r\n // execute function\r\n fn()\r\n } else {\r\n // Set didMount to true\r\n didMount.current = true;\r\n }\r\n }, deps)\r\n}","import { useEffect, useState } from 'react'\r\n\r\n/*\r\n desc:\r\n Custom hook for debouncing values\r\n Useful delaying/grouping events on quickly changing values\r\n\r\n args:\r\n value: any\r\n delay: int\r\n\r\n example useage:\r\n const [search, setSearch] = useState('')\r\n const debouncedSearch = useDebounce(search)\r\n useEffect(() => {\r\n ...\r\n }, [debouncedSearch]);\r\n*/\r\n\r\nexport const useDebounce = (value, delay) => {\r\n // State and setters for debounced value\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(\r\n () => {\r\n // Update debounced value after delay\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n // Cancel the timeout if value changes (also on delay change or unmount)\r\n // This is how we prevent debounced value from updating if value is changed ...\r\n // .. within the delay period. Timeout gets cleared and restarted.\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n },\r\n [value, delay] // Only re-call effect if value or delay changes\r\n );\r\n\r\n return debouncedValue;\r\n}","// Vendors\r\nimport update from 'immutability-helper'\r\n\r\n// hook utilities\r\nimport { useDebounce } from 'utils/hooks'\r\nimport { useUpdateEffect } from 'utils/hooks'\r\nimport { useReducerWithThunk } from 'utils/reducer'\r\n\r\n// CONSTANTS\r\nimport { REQUEST, SUCCESS } from 'reducer/types/suffix'\r\nconst VALIDATION = 'VALIDATION'\r\nconst VALIDATION_REQUEST = `${VALIDATION}${REQUEST}`\r\nconst VALIDATION_SUCCESS = `${VALIDATION}${SUCCESS}`\r\n\r\n// Actions\r\n// Request Validation Action\r\nconst validationRequest = (value, rules = [{validate: () => true, error: 'error'}]) => (dispatch) => {\r\n dispatch({\r\n type: VALIDATION_REQUEST\r\n })\r\n\r\n const errors = rules.reduce((result, rule) => {\r\n if (!rule.validate(value)) {\r\n result.push(rule.error)\r\n }\r\n return result\r\n }, [])\r\n\r\n dispatch(validationSuccess(errors))\r\n\r\n}\r\n// Validation Completed Action\r\nconst validationSuccess = (errors) => (dispatch) => {\r\n dispatch({\r\n type: VALIDATION_SUCCESS,\r\n errors\r\n })\r\n}\r\n\r\n// Default reducer state\r\nconst validationDefaultState = {\r\n isValidated: false,\r\n errors: [],\r\n validating: false\r\n}\r\n\r\n// Validation Reducer\r\nconst validationReducer = (state, action) => {\r\n\r\n switch(action.type) {\r\n \r\n case VALIDATION_REQUEST: {\r\n return update(state, {\r\n $set: {\r\n isValidated: false,\r\n errors: [],\r\n validating: true\r\n }\r\n });\r\n \r\n }\r\n case VALIDATION_SUCCESS: {\r\n\r\n const errors = action.errors\r\n\r\n return update(state, {\r\n $set: {\r\n isValidated: true,\r\n errors,\r\n validating: false\r\n }\r\n });\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n}\r\n\r\n// Custom useInputValidationHook\r\nfunction useInputValidation(value='', rules = [{ validate: () => true, error: 'error' }], submit = false) {\r\n const [state, dispatch] = useReducerWithThunk(validationReducer, validationDefaultState)\r\n const debouncedValue = useDebounce(value, 500)\r\n\r\n useUpdateEffect(() => {\r\n dispatch(validationRequest(debouncedValue, rules))\r\n }, [debouncedValue, submit])\r\n\r\n return state\r\n}\r\n\r\nexport { useInputValidation }","const required = {\r\n validate: (v) => {\r\n switch (typeof v) {\r\n case 'string': {\r\n return v.length > 0\r\n }\r\n case 'boolean': {\r\n return v\r\n }\r\n default: {\r\n return true;\r\n }\r\n }\r\n },\r\n error: 'This field is required.'\r\n}\r\n\r\nexport {\r\n required\r\n}","const RFC5322Standard = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/\r\n\r\nconst email = {\r\n validate: (v) => RFC5322Standard.test(v),\r\n error: 'Please enter a valid email address.'\r\n}\r\n\r\nexport {\r\n email\r\n}","const phone = {\r\n validate: (v) => {\r\n v = v.replace(/\\D/g, '')\r\n return v.length >= 7\r\n },\r\n error: 'Please enter a valid phone number.'\r\n}\r\n\r\nexport {\r\n phone\r\n}","const sanatizePhone = (phone_number) => {\r\n phone_number = phone_number.replace(/\\D/g, '');\r\n const _phone = {}\r\n _phone.area_code = phone_number.substr(0, 3);\r\n if (phone_number.length > 3) {\r\n _phone.phone_number = phone_number.substr(3, 7);\r\n } else {\r\n _phone.phone_number = ''\r\n }\r\n if (phone_number.length > 10) {\r\n _phone.extension = phone_number.substr(10, 10);\r\n } else {\r\n _phone.extension = ''\r\n }\r\n return _phone;\r\n}\r\n\r\nexport {\r\n sanatizePhone\r\n}","import moment from 'moment'\r\n\r\nimport { baseUrl } from 'utils/data/baseUrl'\r\n\r\nimport * as submitTypes from 'reducer/types/submit'\r\n\r\n// utils\r\nimport { compose } from 'utils/compose'\r\n\r\nexport const putSubmitRequest = ({ api_key, selectedSlot, name, phone, email, comment, provider, activeRequest_reason }) => (dispatch) => {\r\n dispatch({\r\n type: submitTypes.PUT_SUBMIT_REQUEST\r\n })\r\n\r\n const appendTimeSlot = (url) => `${url}?end=${selectedSlot.end_time}&start=${selectedSlot.start_time}`\r\n\r\n const appendName = (url) => `${url}&first_name=${encodeURIComponent(name.split(' ')[0])}&last_name=${encodeURIComponent(name.split(' ')?.[1])}`\r\n\r\n const appendPhone = (url) => `${url}&area_code=${phone.area_code}&phone_number=${phone.phone_number}&extension=${phone.extension}`\r\n\r\n const appendEmail = (url) => `${url}&email=${encodeURIComponent(email)}`\r\n\r\n const appendMessage = (url) => `${url}&message=${encodeURIComponent(comment)}`\r\n\r\n const appendProvider = (url) => `${url}&pr=${provider.uuid}`\r\n\r\n const appendRequestReason = (url) => `${url}&arr=${activeRequest_reason.uuid}`\r\n\r\n const url = compose(\r\n appendName,\r\n appendPhone,\r\n appendEmail,\r\n appendMessage,\r\n appendProvider,\r\n appendRequestReason,\r\n appendTimeSlot\r\n )(`${baseUrl}${api_key}/request`)\r\n\r\n var Req = new XMLHttpRequest()\r\n Req.onload = (e) => {\r\n dispatch(putSubmitSuccess({\r\n show: true,\r\n provider,\r\n request: activeRequest_reason,\r\n date: moment(selectedSlot.start_time),\r\n slot: selectedSlot,\r\n email\r\n }))\r\n }\r\n Req.open('POST', url)\r\n Req.send()\r\n}\r\n\r\nexport const putSubmitSuccess = (successDialog) => (dispatch) => {\r\n dispatch({\r\n type: submitTypes.PUT_SUBMIT_SUCCESS,\r\n successDialog\r\n })\r\n}\r\n\r\nexport const putSubmitRejected = () => (dispatch) => {\r\n dispatch({\r\n type: submitTypes.PUT_SUBMIT_REJECTED\r\n })\r\n}","export const compose = (...fns) => x => fns.reduceRight((y, f) => f(y), x)","// Vendors\r\nimport React, { useState, useEffect, useContext } from 'react'\r\nimport styled from 'styled-components'\r\nimport { CSSTransition } from 'react-transition-group'\r\nimport { AppContext } from 'context/AppContext'\r\n\r\nimport './FormSection.css'\r\n\r\n// Routing\r\nimport { RouteContext } from 'context/RouteContext'\r\nimport { setRoute } from 'reducer/actions/route'\r\n\r\n// Layout\r\nimport { FullPageContainer } from 'components/FullPageContainer'\r\nimport { NavigationBar } from 'components/NavigationBar'\r\nimport { NavButtonBack, Button } from 'components/Button'\r\nimport { SectionNav } from 'components/SectionNav'\r\nimport { NoSelect } from 'components/NoSelect'\r\n\r\n// icons\r\nimport { faEnvelope, faSignature, faPhone } from '@fortawesome/pro-light-svg-icons'\r\n\r\n// Components\r\nimport { InputGroupText } from 'components/InputGroupText'\r\nimport { Textarea } from 'components/Textarea'\r\nimport { Label } from 'components/Label'\r\n\r\n// Validation\r\nimport { useInputValidation } from 'utils/hooks/useInputValidation'\r\nimport {\r\n required,\r\n email as emailRule,\r\n phone as phoneRule\r\n} from 'utils/validation'\r\nimport { sanatizePhone } from 'utils/data/sanatizePhone'\r\n\r\nimport * as actions from 'reducer/actions/submit'\r\n\r\nconst PaddedNavigationBar = styled(NavigationBar)`${props => `\r\n padding: 0 ${props.theme.rem()};\r\n`}`\r\n\r\nconst FormContainer = styled.div`${props => `\r\n padding: 0 ${props.theme.rem()};\r\n flex: 1;\r\n z-index:1;\r\n`}`\r\n\r\nconst HiddenMobile = styled.span`${props => `\r\n ${props.theme.media.xs(`\r\n display: none;\r\n `)}\r\n`}`\r\n\r\nexport const FormSection = () => {\r\n\r\n const {\r\n api_key,\r\n activeRequest_reason,\r\n selectedProvider,\r\n selectedSlot,\r\n dispatch\r\n } = useContext(AppContext)\r\n\r\n const { dispatch: routeDispatch } = useContext(RouteContext)\r\n\r\n const [next, setNext] = useState(false)\r\n\r\n const [submitValidation, setSubmitValidation] = useState(false)\r\n\r\n const [name, setName] = useState('')\r\n const nameValidation = useInputValidation(name, [required], submitValidation)\r\n\r\n const [email, setEmail] = useState('')\r\n const emailValidation = useInputValidation(email, [required, emailRule], submitValidation)\r\n\r\n const [phone, setPhone] = useState('')\r\n const phoneValidation = useInputValidation(phone, [required, phoneRule], submitValidation)\r\n\r\n const [comment, setComment] = useState('')\r\n\r\n useEffect(() => {\r\n setNext(\r\n nameValidation.errors.length === 0 && nameValidation.isValidated &&\r\n emailValidation.errors.length === 0 && emailValidation.isValidated &&\r\n phoneValidation.errors.length === 0 && phoneValidation.isValidated\r\n )\r\n }, [nameValidation, emailValidation, phoneValidation])\r\n\r\n const handleSubmit = () => {\r\n if(next) {\r\n dispatch(actions.putSubmitRequest({\r\n api_key,\r\n selectedSlot,\r\n name,\r\n phone: sanatizePhone(phone),\r\n email,\r\n comment,\r\n provider: selectedProvider,\r\n activeRequest_reason\r\n }))\r\n }\r\n }\r\n\r\n const FormBack = (\r\n routeDispatch(setRoute('/calendar'))}\r\n type='link'\r\n >\r\n Back to Calendar\r\n \r\n )\r\n const FormSubmit = (\r\n \r\n \r\n \r\n )\r\n\r\n const FormNavigation = [\r\n FormBack,\r\n FormSubmit\r\n ]\r\n\r\n return (\r\n \r\n \r\n
\r\n Patient Information\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n