{"version":3,"sources":["i18n.ts","store/asyncAction/types.ts","components/auth/privateRoute.tsx","components/layout/loading.tsx","store/device/types.ts","store/asyncAction/actions.ts","graphql/types.tsx","typeFilters.ts","store/device/actions.ts","store/device/reducers.ts","views/devices/devicesCardList.tsx","components/deletePanel.tsx","views/devices/deleteDevicePanel.tsx","data/validation/linkDeviceValidationSchema.ts","components/mutatePanel.tsx","store/organization/types.ts","store/organization/reducers.ts","store/organization/actions.ts","components/organizationsDropdown.tsx","views/devices/linkDevicePanel.tsx","components/layout/subHeading.tsx","components/api/util.ts","components/addressField.tsx","data/validation/updateDeviceValidationSchema.ts","components/controllerDropDown.tsx","views/devices/editDevicePanel.tsx","views/devices/index.tsx","components/layout/pageHeading.tsx","views/connections/index.tsx","views/extensions/index.tsx","views/extensions/installed.tsx","views/organizations/organizationsCardList.tsx","data/validation/addOrganizationSchema.ts","views/organizations/addOrganizationPanel.tsx","data/validation/updateOrganizationSchema.ts","views/organizations/editOrganizationPanel.tsx","views/organizations/deleteOrganizationPanel.tsx","views/organizations/index.tsx","views/user/index.tsx","components/textPane.tsx","components/wizard.tsx","components/checkList.tsx","store/ui/types.ts","store/ui/reducers.ts","components/auth/permission.ts","components/api/api.tsx","components/uploadAssetComponent.tsx","views/home/getStartedWizard.tsx","views/home/getStartedPanel.tsx","views/home/index.tsx","components/layout/clipBoardButton.tsx","views/debug/debugEditorView.tsx","views/debug/userInformation.tsx","views/debug/applicationInformation.tsx","views/debug/auditTrailList.tsx","views/debug/auditEntryDiff.tsx","components/userPicker.tsx","views/debug/auditTrail.tsx","views/debug/index.tsx","assets/img/logo-text.svg","views/oauth/index.tsx","store/ui/actions.ts","assets/customIcons.tsx","components/layout/userMenu.tsx","views/content/editTextAssetPanel.tsx","components/layout/breadCrumbs.tsx","components/layout/header.tsx","components/layout/navBar.tsx","assets/img/pixon-white-text.svg","components/layout/logo.tsx","components/layout/mainLayout.tsx","components/api/usePixonCommand.tsx","views/content/assetList.tsx","views/content/assetsCommandBar.tsx","views/content/newAssetPanel.tsx","views/content/editAssetPanel.tsx","components/organizationPicker.tsx","views/content/assetsFilter.tsx","views/content/assets.tsx","views/devices/deviceCommandBar.tsx","views/devices/deviceScreenShot.tsx","views/devices/deviceVisualizerNodeTypes.ts","views/devices/deviceProperties.tsx","views/devices/componentTreePicker.tsx","views/devices/pageEditorCommandBar.tsx","views/devices/pageEditorMovableComponent.tsx","views/devices/pageEditorContextMenu.tsx","views/devices/pageEditor.tsx","views/devices/deviceVisualizer.tsx","components/colorPickerButton.tsx","components/fontComboBox.tsx","components/fontSizeComboBox.tsx","views/devices/component-editors/cssPropertiesEditorGroup.tsx","components/dataSourceDropDown.tsx","components/assetsDropDown.tsx","components/idField.tsx","views/devices/component-editors/defaultComponentEditorGroup.tsx","views/devices/component-editors/backgroundImageComponentEditorGroup.tsx","views/devices/component-editors/propertyEditor.ts","views/devices/component-editors/deviceSendMessageButtonComponentEditorGroup.tsx","views/devices/component-editors/nameOfDayComponentEditorGroup.tsx","views/devices/component-editors/textTableComponentEditorGroup.tsx","views/devices/component-editors/smhiWeatherComponentEditorGroup.tsx","views/devices/component-editors/clockComponentEditorGroup.tsx","views/devices/component-editors/deviceMessageLabelComponentEditorGroup.tsx","views/devices/component-editors/rssComponentEditorGroup.tsx","views/devices/component-editors/calendarComponentEditorGroup.tsx","views/devices/component-editors/textLabelComponentEditorGroup.tsx","views/devices/component-editors/transitTimesComponentEditorGroup.tsx","views/devices/deviceDetailPage.tsx","views/devices/component-editors/deviceEventActionComponentEditorGroup.tsx","views/devices/component-editors/imageComponentEditorGroup.tsx","views/devices/component-editors/deviceVoteCategoryButtonComponentEditorGroup.tsx","views/devices/component-editors/snowFlakeEffectComponentEditorGroup.tsx","views/devices/component-editors/iframeComponentEditorGroup.tsx","views/devices/component-editors/barcodeReaderComponentEditorGroup.tsx","components/assetPicker.tsx","views/devices/component-editors/imageCarouselComponentEditorGroup.tsx","views/devices/component-editors/dexcomComponentEditorGroup.tsx","views/devices/component-editors/keyboardBarcodeReaderComponentEditorGroup.tsx","views/devices/editComponentPanel.tsx","views/content/dataSourcesList.tsx","views/content/dataSourcesCommandBar.tsx","views/content/datasource-editors/dataSourceEditor.ts","views/content/datasource-editors/defaultOAuthEditorGroup.tsx","views/content/datasource-editors/defaultDataSourceEditorGroup.tsx","views/content/datasource-editors/editJsonAssetDataSourceForm.tsx","views/content/datasource-editors/editResidentRegistryDataSourceForm.tsx","views/content/datasource-editors/editDeviceMessageDataSourceForm.tsx","views/content/datasource-editors/clockDataSourceEditorGroup.tsx","views/content/datasource-editors/rssDataSourceEditorGroup.tsx","views/content/datasource-editors/calendarDataSourceEditorGroup.tsx","views/content/datasource-editors/transitStopDataSourceEditorGroup.tsx","views/content/datasource-editors/weatherDataSourceEditorGroup.tsx","views/content/datasource-editors/namerOfDayDataSourceEditorGroup.tsx","views/content/datasource-editors/DexcomDataSourceEditorGroup.tsx","views/content/editDataSourcePanel.tsx","components/dataSourceTypeDropDown.tsx","views/content/newDataSourcePanel.tsx","views/content/dataSources.tsx","components/StripeHookProvider.tsx","views/organizations/addSubscriptionForm.tsx","views/organizations/showExistingSubscriptionForm.tsx","views/organizations/addPaymentMethodForm.tsx","views/organizations/paymentMethodsList.tsx","views/organizations/manageSubscriptionPanel.tsx","views/organizations/organizationCommandBar.tsx","views/organizations/organizationProperties.tsx","views/organizations/organizationDeviceList.tsx","views/organizations/organizationLogoEdit.tsx","views/organizations/organizationDetailPage.tsx","data/routes.ts","views/landing/index.tsx","app.tsx","serviceWorker.ts","store/address/types.ts","store/address/reducers.ts","store/index.ts","telemetryService.ts","index.tsx"],"names":["i18n","use","Backend","LanguageDetector","initReactI18next","init","fallbackLng","debug","saveMissing","interpolation","escapeValue","backend","loadPath","addPath","allowMultiLoading","crossDomain","withCredentials","requestOptions","mode","credentials","cache","reloadInterval","ns","defaultNS","react","bindI18n","useSuspense","AsyncActionStatus","PrivateRoute","routeProps","keycloak","useKeycloak","isAuthenticated","authenticated","useEffect","fn","a","params","redirectUri","window","location","origin","login","path","Loading","className","Spinner","size","SpinnerSize","large","label","LOAD_DEVICES","LINK_DEVICE","UNLINK_DEVICE","UPDATE_DEVICE","startedAsyncAction","type","status","STARTED","succeededAsyncAction","payload","SUCCEEDED","failedAsyncAction","error","FAILED","async","action","args","dispatch","client","getState","AssetType","AuditEntryState","ComponentTypeEnum","DataSourceTypeEnum","DeviceFeatures","HorizontalAlign","NotificationType","TagType","VerticalAlign","defaultOptions","CreateOrganizationAssetsDocument","gql","AddOrganizationPaymentMethodDocument","AssignDataSourceAssetDocument","AssignDeviceControllerDocument","CancelOrganizationSubscriptionDocument","CreateDataSourceDocument","CreateOrganizationDocument","LinkDeviceDocument","NotifyAssetChangedDocument","RemoveAssetDocument","RemoveDataSourceDocument","RemoveDeviceDocument","RemoveOrganizationDocument","RemoveOrganizationPaymentMethodDocument","SendCommandDocument","useSendCommandMutation","baseOptions","options","Apollo","SetupNewDeviceDocument","UnassignDataSourceAssetDocument","UpdateAssetDocument","UpdateDataSourceDocument","UpdateDeviceDocument","UpdateOrganizationDocument","UpdateOrganizationSubscriptionDocument","UpdatePageDocument","ApplicationInformationDocument","AssetDocument","AssetsDocument","useAssetsQuery","AuditEntriesDocument","AuditEntryDocument","ComponentPickerComponentsDocument","ComponentPickerTagsDocument","ControllersDocument","DataSourcesDocument","useDataSourcesQuery","DeviceDocument","DevicesDocument","GetDeviceDetailsDocument","HomeScreenInformationDocument","OrganizationDocument","OrganizationDetailsWithDevicesDocument","OrganizationWithPaymentDetailsDocument","OrganizationsWithLogoDocument","OrganizationsWithOfficeAddressDocument","SubscriptionsDocument","UsersDocument","notEmpty","value","undefined","loadDevices","query","result","data","devices","filter","Promise","resolve","linkDevice","linkDeviceInput","mutate","mutation","variables","input","device","updateDevice","updatedDevice","initialState","entities","asyncStatus","UNSTARTED","getDevices","state","getDevicesAsyncStatus","getDevicesError","tokens","tenGapStack","childrenGap","withRouter","props","useDispatch","useSelector","loadStatus","loadError","MessageBar","messageBarType","MessageBarType","message","grouped","reduce","g","e","organization","name","push","cardStyles","root","width","Stack","wrap","Object","keys","sort","b","toLowerCase","map","key","i","Text","variant","horizontal","displayName","deviceIndex","DocumentCard","onClick","history","id","styles","DocumentCardImage","height","imageFit","ImageFit","centerContain","imageSrc","screenShotThumbnailSasUrl","TooltipHost","content","ioTDeviceId","DocumentCardTitle","title","shouldTruncate","showAsSecondaryTitle","address","DocumentCardLocation","addressLine1","city","ariaLabel","placement","DocumentCardActions","actions","iconProps","iconName","ev","onDeleteClick","stopPropagation","preventDefault","onEditClick","DeletePanel","useState","validationText","setValidationText","isOkToDelete","setIsOkToDelete","t","useTranslation","deleteAction","onDismiss","validationOk","validate","Panel","PanelType","medium","headerText","closeButtonAriaLabel","isOpen","TextField","placeholder","validationValue","required","autoFocus","onKeyPress","onChange","target","warning","isMultiline","dismissButtonAriaLabel","horizontalAlign","DefaultButton","text","PrimaryButton","disabled","DeleteDevicePanel","deviceId","removeDevice","LinkDeviceValidationSchema","properties","linkCode","organizationId","MutatePanel","validationSchema","hasSentRequest","setHasSentRequest","isValid","setIsValid","validationErrors","setValidationErrors","statusSelector","errorSelector","registerSchema","then","errors","length","dispatchAsyncMutationAction","internalStatus","updateAction","createAction","children","validationError","index","constraints","constraintIndex","LOAD_ORGANIZATIONS","ADD_ORGANIZATION","UPDATE_ORGANIZATION","DELETE_ORGANIZATION","getOrganizations","organizations","getOrganizationsAsyncStatus","getOrganizationsError","loadOrganizationsAction","addOrganization","newOrganization","createOrganization","updateOrganization","updatedOrganization","OrganizationsDropDown","selectedOrganizationId","selectFirstIfAvailable","selected","setSelected","o","found","first","Dropdown","selectedKey","option","LinkDevicePanel","setInput","deviceDisplayName","setDeviceDisplayName","setLinkCode","setOrganizationId","v","SubHeading","block","heading","isEmpty","s","getAssetUrl","asset","CONTENT_BASE_URL","lastShortTermReadToken","UploadAsset","file","contentType","sasString","lastShortTermWriteToken","blobName","anonymousCredential","AnonymousCredential","containerURL","ContainerURL","StorageURL","newPipeline","blobURL","BlobURL","fromContainerURL","blockBlobURL","BlockBlobURL","fromBlobURL","uploadBrowserDataToBlockBlob","Aborter","none","blockSize","parallelism","blobHTTPHeaders","blobContentType","progress","console","addressString","streetNumber","postalcode","trim","isEditableUsingTextEditor","editable","HandlebarsTemplate","Data","ResidentRegistry","includes","assetType","isEditableUsingTableEditor","humanFileSize","Math","floor","log","pow","toFixed","isColor","strColor","Option","style","before","color","preventContextmenu","event","getHorizontalAlignIconName","align","Left","Center","Right","getVerticalAlignIconName","Top","Bottom","AddressField","onAddressSelected","initialValueString","initialValue","selectedAddress","setSelectedAddress","selectedAddressString","Label","htmlFor","types","onSuggestSelect","suggest","getAddressComponent","componentType","gmaps","address_components","find","el","hasOwnProperty","addressObj","subdivision","country","iso","latitude","lat","longitude","lng","jsonData","JSON","stringify","defaultProps","UpdateDeviceValidationSchema","ControllerDropDown","useControllersQuery","loading","controllers","selectedOption","setSelectedOption","ds","timeZoneOptions","moment","tz","names","EditDevicePanel","useDeviceQuery","useAssignDeviceControllerMutation","assignDeviceControllerMutation","d","model","timeZoneId","stripTypenames","obj","propToDelete","property","File","newData","objectId","hasRealmRole","c","controllerId","controller","DevicePageIndex","selectedDevice","setSelectedDevice","showDeleteDevicePanel","toggleDeleteDevicePanel","showEditDevicePanel","toggleShowEditDevicePanel","showLinkDevicePanel","toggleLinkDevicePanel","commandBarItems","cacheKey","CommandBar","items","Item","toString","PageHeading","PresentationsPageIndex","componentDidMount","React","people","profileImageSrc","TestImages","personaFemale","initials","personaMale","ExtensionsPageIndex","display","marginRight","marginBottom","padding","cover","documentPreviewTwo","DocumentCardDetails","DocumentCardActivity","activity","fontSize","InstalledExtensionsPage","getLogoUrl","logotype","officeAddress","locationHref","AddOrganizationValidationSchema","AddOrganizationPanel","organizationName","setOrganizationName","isOptional","fieldName","object","UpdateOrganizationValidationSchema","billingEmail","billingAddress","contactEmail","phoneNumber","url","EditOrganizationPanel","useOrganizationQuery","vatNumber","organizationNumber","MaskedTextField","mask","DeleteOrganizationPanel","removeOrganization","selectedOrganization","setSelectedOrganization","showAddOrganizationPanel","toggleShowAddOrganizationPanel","showEditOrganizationPanel","toggleShowEditOrganizationPanel","showDeleteOrganizationPanel","toggleDeleteOrganizationPanel","UserPageIndex","userInfo","user","userPersona","imageUrl","secondaryText","preferred_username","Persona","PersonaSize","size100","presence","PersonaPresence","TextPane","subheading","boxShadow","Depths","depth8","Wizard","defaultSelectedKey","showTabIcons","addNumbering","setSelectedKey","stepIsValid","setStepIsValid","getTitle","step","Pivot","PivotItem","itemIcon","blocked","validationErrorMessage","onValidate","getColor","getStartedTokens","CheckList","item","StackItem","FontIcon","completed","SET_UI_LANGUAGE","SET_UI_CONFIG","SET_UI_AUTH_CONFIG","SET_UI_AUTH_SESSION","SET_UI_GRAPHQL_CLIENT","global","language","apiBaseUrl","applicationInsightsKey","graphQlClient","auth","config","baseUrl","clientId","realm","session","accessToken","permissions","scope","userId","Permission","getUiLanguage","ui","getAccessToken","getApiBaseUrl","PixonApiContext","createContext","usePixonApi","useContext","PixonApiProvider","get","fetch","headers","Authorization","Provider","ApolloProvider","activeStyle","borderColor","acceptStyle","rejectStyle","UploadAssetComponent","ref","showAcceptReject","acceptedMimeTypes","acceptMessage","uploadFinishedCallback","context","baseStyleMemo","useMemo","flex","flexDirection","alignItems","borderWidth","borderRadius","borderStyle","backgroundColor","outline","transition","getAssetType","startsWith","Image","Video","endsWith","onDrop","useCallback","files","assets","filename","mimeType","createOrganizationAssets","forEach","useDropzone","accept","acceptedFiles","fileRejections","getRootProps","getInputProps","isDragActive","isDragAccept","isDragReject","open","useImperativeHandle","mapfile","acceptedFilesItems","rejectedFilesItems","forwardRef","GetStartedWizard","info","setMessage","Link","href","src","uploadedAsset","success","hasInitializedOrganization","hasInitializedDevice","hasInitializedComponent","GetStartedPanel","layerProps","eventBubblingEnabled","isBlocking","stackTokens","classNames","mergeStyleSets","exampleRoot","marginTop","nameText","fontWeight","newsItems","activityDescription","activityPersonas","timeStamp","Date","toLocaleString","showGetStartedPanel","toggleGetStartedPanel","useHomeScreenInformationQuery","home","notificationList","notifications","n","MessageBarButton","subjectId","notificationType","organizationCount","deviceCount","dataSourceCount","componentCount","lastActivity","fullName","username","email","itemName","picture","timestamp","ActivityItem","ClipBoardButton","IconButton","Clipboard","copy","DebugEditorView","stringValue","clipBoardValue","theme","UserInformation","token","jwtToken","jwtData","split","decodedJwtJsonData","atob","parse","decodeJwtToken","API_BASE_URL","APPLICATION_INSIGHTS_KEY","KEYCLOAK_BASE_URL","KEYCLOAK_CLIENT_ID","KEYCLOAK_REALM","columns","minWidth","maxWidth","isResizable","themedMedium","ApplicationInformation","apiConfig","setConfig","useApplicationInformationQuery","applicationInfo","application","getApiConfiguration","json","DetailsList","setKey","selectionMode","SelectionMode","layoutMode","DetailsListLayoutMode","fixedColumns","ReadApiConfiguration","AuditTrailList","onSelectEntry","useAuditEntriesQuery","refetch","contextMenu","setContextMenu","Selection","onSelectionChanged","selection","getSelection","lastUpdated","defaultColumns","isRowHeader","isPadded","entries","auditEntries","compact","single","justified","isHeaderVisible","selectionPreservedOnEmptyClick","enterModalSelectionOnTouch","onItemContextMenu","mouseEvent","selectedItem","contextualMenuProps","x","y","ContextualMenu","AuditEntryDiff","entry","useAuditEntryQuery","auditEntryId","oldValues","newValues","auditEntry","p","propertyName","oldValue","newValue","original","UserPicker","useUsersQuery","users","suggestionProps","suggestionsHeaderText","mostRecentlyUsedHeaderText","noResultsFoundText","loadingText","showRemoveButtons","suggestionsAvailableAlertText","suggestionsContainerAriaLabel","usersToPersonas","userList","u","externalUserId","optionalText","peopleList","setPeopleList","mostRecentlyUsed","setMostRecentlyUsed","filterPromise","personasToReturn","filterPersonasByText","filterText","doesTextStartWith","indexOf","removeDuplicates","personas","possibleDupes","persona","listContainsPersona","onResolveSuggestions","currentPersonas","limitResults","filteredPersonas","splice","onEmptyInputFocus","mru","getTextFromItem","pickerSuggestionsProps","onRemoveSuggestion","indexPeopleList","indexMostRecentlyUsed","newPeople","slice","concat","newSuggestedPeople","onValidateInput","ValidationState","valid","invalid","onInputChange","emailAddress","exec","substring","resolveDelay","themedLarge","margin","StateTags","k","EntityTypeTags","EntitySetTags","addDays","date","days","setDate","getDate","AuditTrail","isFilterCalloutVisible","setIsFilterCalloutVisible","selectedEntry","setSelectedEntry","from","to","setFilter","filterButtonElement","useRef","DayPickerStrings","months","shortMonths","shortDays","goToToday","prevMonthAriaLabel","nextMonthAriaLabel","prevYearAriaLabel","nextYearAriaLabel","onItemSelected","createdBy","selectedItems","tag","DatePicker","firstDayOfWeek","DayOfWeek","Monday","strings","onSelectDate","Callout","current","setInitialFocus","TagPicker","ft","inputProps","states","entitySetNames","entityTypeNames","excludeEntityTypeNames","entityIds","grow","DebugPageIndex","selectedPivot","setSelectedPivotItem","apiStatusCode","setApiResponseCode","showMessageBar","setShowMessageBar","syncingUser","setSyncingUser","responseData","synchronizeAuth0UserWithPixonDb","isTestEnvironment","environmentUrls","linkFormat","linkSize","onLinkClick","itemKey","Separator","vertical","urls","userItems","adminItems","resultIsSuccess","URLSearchParams","search","logo","textAlign","close","setUiLanguage","registerIcons","icons","xmlns","viewBox","fillOpacity","clipPath","transform","fillRule","strokeWidth","fill","EditorType","UserMenu","uiLanguage","userProfile","setUserProfile","changeLanguage","loadUserInfo","menuItems","itemType","ContextualMenuItemType","Divider","logout","menuProps","shouldFocusOnMount","onRenderMenuList","defaultRender","hidePersonaDetails","_renderMenuList","size48","renderer","breadcrumb","match","i18next","pathname","matches","replace","previous","pathSection","routes","matchPath","exact","getBreadcrumbs","bc","Breadcrumb","dividerAs","dividerProps","tooltipText","calloutProps","gapSpace","cursor","Header","verticalAlign","navBarTheme","createTheme","palette","themePrimary","themeDarker","neutralLighter","neutralPrimary","themeDarkAlt","neutralLighterAlt","neutralLight","white","NavBar","NavBarItems","links","icon","Customizer","settings","Nav","element","groups","linkText","LogoImage","styled","Logo","alt","sideBarColumnStyles","background","mainColumnStyles","mainColumnStack","maiRowStack","MainLayout","PassedComponent","collapsed","verticalFill","this","Icon","setState","marginLeft","Component","defaultColumnProperties","sample","getLanguage","PixonCommand","EditTextAssetPanel","selectedId","onCancel","editorType","showValidationError","setShowValidationError","setContent","editor","setEditor","selectedCoordinates","setSelectedCoordinates","grid","useNotifyAssetChangedMutation","notifyAssetChangedMutation","useAssetQuery","fetchedAsset","Table","fetchData","r","casted","saveChanges","arrayData","TextEncoder","encode","insertRow","rowIdx","nextRows","entrance","apartment_number","national_land_survey_number","resident_type","minHeight","scrollableContent","boxSizing","deleteRow","rowGetter","rowsCount","enableRowSelect","rowScrollTimeout","enableCellSelect","onCellSelected","onGridRowsUpdated","fromRow","toRow","updated","rows","Trans","i18nKey","parsed","fileIconHeaderIcon","fileIconCell","selectors","visibility","fileIconImg","maxHeight","controlWrapper","flexWrap","exampleToggle","selectionDetails","AssetList","onEditAsset","onEditAssetContent","onRemoveAsset","iconClassName","isIconOnly","onRender","ext","parts","fileExt","cn","isCollapsible","multiple","subMenuProps","AssetsCommandBar","selectedAsset","onAddNewAsset","NewAssetPanel","onCreateAndDismiss","setOrganization","editedAsset","setEditedAsset","EditAssetPanel","onUpdateAndDismiss","OrganizationPicker","useOrganizationsWithLogoQuery","organizationsToPersonas","organizationList","setOrganizationList","AssetTypeTags","MimeTypeTags","_","uniqWith","values","isEqual","AssetsFilter","onFilterUpdated","displayNames","filenames","ownedBy","defaultSelectedItems","assetTypes","mimeTypes","AssetsPage","assetId","shouldEditContent","errorReason","setErrorReason","setSelectedAsset","setLastUpdated","showEditAssetPanel","toggleShowEditAssetPanel","editContentAssetId","setEditContentAssetId","showNewAssetPanel","toggleShowNewAssetPanel","setEditorType","useRemoveAssetMutation","removeAssetMutation","useUpdateAssetMutation","updateAssetMutation","refresh","removeSelectedAssets","reason","updateAsset","et","f","newAsset","GetCommandOptions","command","targetId","commandName","usePixonCommands","sendCommandHandler","reloadCommand","Reload","refreshContextCommand","RefreshContext","unlinkCommand","Unlink","requestScreenShotCommand","RequestScreenShot","DeviceScreenShotMode","DeviceCommandBar","onCancelEdit","onUpdatePage","onTogglePanel","isDirty","toggleDebugPanelCommand","visible","ToggleDebugPanel","useToggleDebugPanel","toggleStatusBarCommand","ToggleStatusbar","useToggleStatusBar","DeviceDetailPanel","PageEditor","DeviceVisualizer","Section","sectionProps","topDivider","bottomDivider","PixonGraphComponents","DeviceScreenShot","triggerRefreshOnLoad","refreshDoneCallback","isFull","Full","screenShotSasUrl","setUrl","showFull","setShowFull","showRequestButton","setShowRequestButton","seconds","setSeconds","timerID","setTimerId","refreshScreenShot","clearInterval","hash","now","timer","setInterval","prev","depth4","Dialog","hidden","modalProps","containerClassName","themedSmallStackTokens","DeviceProperties","Property","localizationKey","calloutTokens","ComponentTreePicker","addComponent","useComponentPickerTagsQuery","tagTypes","ComponentCategory","componentsQuery","useComponentPickerComponentsQuery","isTemplate","isCalloutVisible","setIsCalloutVisible","calloutTargetElement","setCalloutTargetElement","hovered","setHovered","filteredNodes","setFilteredNodes","treeNodes","setTreeNodes","filterNavlist","filteredLinks","tags","components","nameComparer","getLinks","parentTag","parentId","tagComponents","some","nameTranslationKey","isExpanded","dataObj","getComponents","subTagsAndComponents","rootLinks","SearchBox","underlined","onRenderLink","link","onMouseEnter","onMouseLeave","directionalHint","DirectionalHint","rightCenter","calloutMaxWidth","previewImage","descriptionTranslationKey","layerItems","alignHorizontalItems","alignVerticalItems","PageEditorCommandBar","onChangeViewScale","defaultViewScale","Slider","min","max","defaultValue","onChanged","Rematrix","require","PageEditorMovableComponent","pageComponent","onMouseDown","onEditComponent","viewScale","component","getTheme","componentId","join","hoveredTarget","document","querySelector","onContextMenu","movableTargetClassname","scaleMatrix","scale","matrix","fromString","identity","multiply","parseFloat","position","opacity","themeSecondary","themeLight","calcStyle","black","PageEditorContextMenu","menu","movableContainerId","onAddComponent","onRemoveComponent","selectedComponent","container","setContainer","setTarget","targetElements","setTargetElements","setViewScale","componentList","button","co","hideContextMenu","createContextMenu","nativeEvent","getElementById","elements","Array","querySelectorAll","selectedElement","getAttribute","clientWidth","clientHeight","updateComponentValues","selectedComponents","sc","movableElementStyle","getComputedStyle","scaledElementTransform","inverseScale","scaledTransform","backgroundImageUrl","bgImageComponent","BackgroundImage","getBackgroundImageUrl","scaledWidth","viewportWidth","scaledHeight","viewportHeight","frame","newGuid","Guid","raw","top","left","backgroundImage","backgroundRepeat","backgroundSize","edge","keepRatio","draggable","throttleDrag","onDragStart","onDrag","onDragEnd","rotatable","throttleRotate","resizable","onResizeStart","cssWidth","cssHeight","set","onResize","dt","translate","drag","delta","onResizeEnd","onRotate","onRotateEnd","snappable","snapCenter","snapThreshold","bounds","offsetLeft","offsetTop","bottom","offsetHeight","right","offsetWidth","verticalGuidelines","horizontalGuidelines","elementGuidelines","VisualComponentNode","addInput","A","getInputData","B","setOutputData","LGraphNode","DataSourceNode","addOutput","CSStyleNode","LiteGraph","registerNodeType","VisualComponent","DataSource","CSStyle","deviceContext","canvasId","graph","LGraph","canvas","LGraphCanvas","presentation","presentations","calculateGroupSizeAndPosition","pageNodes","group","nodeBounds","getBounding","pos","createComponentNodes","componentNode","createNode","m","add","dataSource","dataSourceNode","connect","pages","page","LGraphGroup","adjustNodesSize","createPageNodes","start","ColorPickerButton","_menuButtonElement","SwatchColorPicker","columnCount","cellHeight","cellWidth","cellShape","colorCells","ColorPicker","alphaSliderHidden","showPreview","FontCombobox","_fontMapping","fonts","defaultSelectedFont","defaultFontKey","_optionsForCustomRender","SelectableOptionMenuItemType","fontName","ComboBox","allowFreeform","autoComplete","onRenderOption","fontFamily","newFontName","absoluteSizeValues","percentageSizeValues","relativeSizeValues","FontSizeCombobox","defaultSize","sizeValue","CssPropertiesEditorGroup","setStyle","stringStyle","setStringStyle","cssError","setCssError","serialized","updateProperty","partialUpdate","prevState","str","multiline","autoAdjustHeight","errorMessage","css","parseCssValue","DataSourceDropDown","dataSourceTypes","dataSources","dataSourceType","AssetsDropDown","foundAsset","IdField","readOnly","DefaultComponentEditorGroup","onPageComponentChange","themeChildren","showDataSourceEditor","showPositionEditor","showCssEditor","showTemplateAssetEditor","showClassNameProperty","selectedDataSource","ChoiceGroup","BackgroundImageComponentEditorGroup","useComponentConfiguration","configuration","setConfiguration","DisplayType","DeviceSendMessageButtonComponentEditorGroup","updateConfigurationProperty","DeviceMessage","TextTableComponentEditorGroup","SmhiWeatherComponentEditorGroup","WeatherForecastSmhi","WeatherIcons","numDaysToShow","showValue","valueFormat","iconSize","Checkbox","showDayLabel","showTemperatureLabel","ClockComponentEditorGroup","Clock","formatString","DeviceMessageLabelComponentEditorGroup","RssComponentEditorGroup","RssFeeds","numberOfItemsToShow","dateFormatString","CalendarComponentEditorGroup","CalendarIcal","TextLabelComponentEditorGroup","TransitTimesComponentEditorGroup","TransitStop","NameOfDayComponentEditorGroup","NameOfDay","displayType","List","String","DeviceEventActionComponentEditorGroup","DeviceEvent","timeoutInSeconds","eventReceivedShowSelector","eventReceivedHideSelector","timeoutShowSelector","timeoutHideSelector","ImageComponentEditorGroup","DeviceVoteCategoryButtonComponentEditorGroup","vote","onVoteShowSelector","onVoteHideSelector","SnowFlakeEffectComponentEditorGroup","count","maxSize","minSize","speed","checked","rotation","wind","sandboxOptions","IframeComponentEditorGroup","sandbox","selectedSandboxValues","setSelectedSandboxValues","multiSelect","selectedKeys","BarcodeReaderComponentEditorGroup","readers","drawBoundingBox","drawScanline","showFrequency","showPattern","AssetPickerInternal","BasePickerListBelow","AssetPicker","allowDuplicateSelection","selectedAssets","setSelectedAssets","onRenderSuggestionsItem","itemProps","DocumentCardType","DocumentCardPreview","previewImages","previewImageSrc","onRenderItem","onRemoveItem","ImageCarouselComponentEditorGroup","interval","transitionTime","defaultChecked","autoPlay","infiniteLoop","showArrows","showIndicators","showStatus","showThumbs","DexComComponentEditorGroup","Dexcom","KeyboardBarcodeReaderComponentEditorGroup","acceptBufferDelay","EditComponentPanel","editedComponent","setEditedComponent","editedPageComponent","setEditedPageComponent","handleComponentChangeCallback","partiallyUpdatedComponent","handlePageComponentChangeCallback","editContext","Calendar","RssFeed","TransitTimetable","WeatherSmhi","TextLabel","TextTable","TextClock","DeviceMessageButton","TextNameOfDay","DeviceEventAction","DeviceGarbageCategoryVoteButton","FullscreenSnowflakeEffect","Iframe","TextBarcodeReader","TextKeyboardBarcodeReader","ImageCarousel","showEditComponentPanel","toggleShowEditComponentPanel","setSelectedComponent","currentPanel","setCurrentPanel","setDirty","useGetDeviceDetailsQuery","triggerRefreshScreenShot","setTriggerRefreshScreenShot","setDevice","setDeviceContext","setPage","defaultMessage","messageType","setMessageType","useUpdatePageMutation","updatePageMutation","useSetupNewDeviceMutation","setupNewDevice","isSystem","checkNewDevice","assetToAssetUpdateInput","componentToComponentUpdateInput","identifier","assetToComponentAssetUpdateInput","pageComponentToUpdatePageComponentInput","pc","pageId","active","transformOrigin","updatePage","updatePageInput","reload","dc","onToggleAddComponentPanel","Thumbnail","onRequestRefresh","newPageComponent","componenToRemove","DataSourcesList","onEditDataSource","onRemoveDataSources","DataSourcesCommandBar","onAddNewDataSource","onRemoveDataSource","useDataSourceConfiguration","grantTypeOptions","PixonOAuthGrantType","credentialsOptions","PixonOAuthCredentialsDeliveryMethod","DefaultOAuthEditorGroup","onOauthChange","oAuth","grantType","authorizationUrl","accessTokenUrl","clientSecret","callbackUrl","deliveryMethod","audience","resource","outerWidth","w","outerHeight","h","authenticationUrl","openAuthWindow","DefaultDataSourceEditorGroup","showAssetsEditor","showOAuthEditor","assetLabel","assetLabelInternal","EditJsonAssetDataSourceForm","ActionButton","surveyNumberStartsWith","residentType","sortColumn","EditDeviceMessageDataSourceForm","ClockDataSourceEditorGroup","timeZone","RssDataSourceEditorGroup","feedUrl","refreshIntervalInMinutes","CalendarDataSourceEditorGroup","icalUrl","TransitStopDataSourceEditorGroup","stopId","apiKey","WeatherDataSourceEditorGroup","locationString","lon","forecastLocationLongitude","forecastLocationLatitude","NameOfDayDataSourceEditorGroup","providerOptions","providerName","DexcomDataSourceEditorGroup","EditDataSourcePanel","editedDataSource","setEditedDataSource","changeCallback","partiallyUpdatedDataSource","JsonAssets","DataSourceTypeDropDown","defaultSelected","NewDataSourcePanel","created","dst","DataSourcesPage","setSelectedDataSource","showEditDataSourcePanel","toggleShowEditDataSourcePanel","showNewDataSourcePanel","toggleShowNewDataSourcePanel","useCreateOrganizationAssetsMutation","createAssetsMutation","useUpdateDataSourceMutation","updateDataSourceMutation","useAssignDataSourceAssetMutation","assignDataSourceAssetMutation","useUnassignDataSourceAssetMutation","unassignDataSourceAssetMutation","useCreateDataSourceMutation","createDataSourceMutation","useRemoveDataSourceMutation","removeDataSourceMutation","removeSelectedDataSources","createNewResidentRegistryAsset","defaultItem","tenantRegistryAsset","createdAsset","createNewDataSource","createDataSource","updateDataSource","existingAssets","editedAssets","dataSourceId","res","StripeContext","stripe","StripeHookProvider","locale","StripeInjectedWrapper","stripeData","injectStripe","updatedStripeData","useStripe","cardTokens","childrenMargin","AddSubscriptionForm","subscriptionPlan","setSubscriptionPlan","subscriptionQuantity","setSubscriptionQuantity","quantityValidationMessage","setQuantityValidationMessage","useUpdateOrganizationSubscriptionMutation","updateOrganizationSubscription","useSubscriptionsQuery","organizationDeviceCount","siteTextStyles","FontWeights","semibold","descriptionTextStyles","neutralDark","regular","displayError","displaySuccess","subscriptions","subscriptionPlans","subscriptionList","Card","externalId","num","parseInt","subscriptionExternalId","quantity","handleCardPayment","ShowExistingSubscriptionForm","onRefetch","useCancelOrganizationSubscriptionMutation","cancelOrganizationSubscription","subscription","organizationSubscription","subscriptionName","subscriptionId","AddPaymentMethodForm","setName","isValidCard","setIsValidCard","provider","setProvider","useAddOrganizationPaymentMethodMutation","addOrganizationPaymentMethod","base","complete","cardElement","getElement","createPaymentMethod","paymentMethod","isDefault","iconStyles","footerCardSectionStyles","borderLeft","footerCardSectionTokens","PaymentMethodsList","useRemoveOrganizationPaymentMethodMutation","removeOrganizationPaymentMethod","paymentMethods","removePaymentMethod","paymentMethodId","defaultPaymentMethods","pm","previousPaymentMethods","paymentMethodsList","methods","format","stackStyles","initialKey","havePaymentDetails","setHavePaymentDetails","haveSubscription","setHaveSubscription","useOrganizationWithPaymentDetailsQuery","hs","pd","showAddPayment","showAddSubscriptionPanel","toggleShowAddSubscriptionPanel","outerTokens","innerTokens","OrganizationProperties","validTo","OrganizationLogoEdit","onLogoUpdated","logoAsset","setLogoAsset","useUpdateOrganizationMutation","uploadRef","setOrganizationLogo","addPayment","useOrganizationDetailsWithDevicesQuery","disableShrink","Home","Oauth","Device","DeviceDetailPage","Connections","Organizations","OrganizationDetailPage","Extensions","InstalledExtensions","User","Debug","currentLocationState","useLocation","loadTheme","themeLighterAlt","themeLighter","themeTertiary","themeDark","neutralQuaternaryAlt","neutralQuaternary","neutralTertiaryAlt","neutralTertiary","neutralSecondary","neutralPrimaryAlt","initializeIcons","App","fallback","Fabric","Landing","route","Boolean","hostname","LOAD_ADDRESS","ADD_ADDRESS","DELETE_ADDRESS","rootReducer","combineReducers","addresses","ai","appInsights","reactPlugin","ReactPlugin","reactPluginConfig","INSTRUMENTATION_KEY","ApplicationInsights","instrumentationKey","maxBatchInterval","disableFetchTracking","extensions","extensionConfig","loadAppInsights","createHistory","initialize","httpLink","HttpLink","uri","authMiddleware","ApolloLink","operation","forward","setContext","authorization","readToken","ApolloClient","InMemoryCache","addTypename","watchQuery","fetchPolicy","store","middlewares","thunkMiddleware","withExtraArgument","middleWareEnhancer","applyMiddleware","createStore","composeWithDevTools","configureStore","Keycloak","ReactDOM","render","STRIPE_PK_API_KEY","authClient","onEvent","onTokens","at","decodedToken","sub","autoRefreshToken","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.3ec457f5.chunk.js","sourcesContent":["import i18n from 'i18next';\nimport { initReactI18next} from 'react-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport Backend, {BackendOptions} from 'i18next-http-backend';\n\n// https://github.com/i18next/i18next-http-backend\nconst options:BackendOptions = {\n\n // path where resources get loaded from, or a function\n // returning a path:\n // function(lngs, namespaces) { return customPath; }\n // the returned path will interpolate lng, ns if provided like giving a static path\n loadPath: '/assets/lang/{{lng}}/{{ns}}.json',\n\n // path to post missing resources\n addPath: '/locales/add/{{lng}}/{{ns}}',\n\n // your backend server supports multiloading\n // /locales/resources.json?lng=de+en&ns=ns1+ns2\n // Adapter is needed to enable MultiLoading https://github.com/i18next/i18next-multiload-backend-adapter\n // Returned JSON structure in this case is\n // {\n // lang : {\n // namespaceA: {},\n // namespaceB: {},\n // ...etc\n // }\n // }\n allowMultiLoading: false, // set loadPath: '/locales/resources.json?lng={{lng}}&ns={{ns}}' to adapt to multiLoading\n\n // parse data after it has been fetched\n // in example use https://www.npmjs.com/package/json5\n // here it removes the letter a from the json (bad idea)\n //parse: function(data) { return data.replace(/a/g, ''); },\n\n //parse data before it has been sent by addPath\n //parsePayload: function(namespace, key, fallbackValue) { return { key } },\n\n // allow cross domain requests\n crossDomain: false,\n\n // allow credentials on cross domain requests\n withCredentials: false,\n\n // overrideMimeType sets request.overrideMimeType(\"application/json\")\n //overrideMimeType: false,\n\n // custom request headers sets request.setRequestHeader(key, value)\n // customHeaders: {\n // authorization: 'foo',\n // // ...\n // },\n\n // can also be a function, that returns the headers\n // customHeaders: () => ({\n // authorization: 'foo',\n // // ...\n // }),\n\n requestOptions: { // used for fetch, can also be a function (payload) => ({ method: 'GET' })\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n },\n\n // define a custom request function\n // can be used to support XDomainRequest in IE 8 and 9\n //\n // 'options' will be this entire options object\n // 'url' will be passed the value of 'loadPath'\n // 'payload' will be a key:value object used when saving missing translations\n // 'callback' is a function that takes two parameters, 'err' and 'res'.\n // 'err' should be an error\n // 'res' should be an object with a 'status' property and a 'data' property containing a stringified object instance beeing the key:value translation pairs for the\n // requested language and namespace, or null in case of an error.\n //request: function (options, url, payload, callback) {},\n\n // adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5'\n //queryStringParams: { v: '1.3.5' },\n\n reloadInterval: false // can be used to reload resources in a specific interval (useful in server environments)\n};\n\ni18n\n// i18next-locize-backend\n// loads translations from your project, saves new keys to it (saveMissing: true)\n// https://github.com/locize/i18next-locize-backend\n .use(Backend)\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: 'en',\n debug: false,\n saveMissing: true,\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n backend: options,\n ns: [\n 'organizations',\n 'translation',\n 'common',\n 'debug',\n 'devices',\n 'dialogs',\n 'home',\n 'component',\n 'assets',\n 'dataSources',\n 'audit',\n 'tags',\n 'notifications'\n ],\n defaultNS: 'translation',\n react: {\n bindI18n: 'languageChanged editorSaved',\n useSuspense: true\n },\n });\n\nexport default i18n;\n","// Types\nexport enum AsyncActionStatus {\n UNSTARTED = 'UNSTARTED',\n STARTED = 'STARTED',\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n}\n\nexport interface StartedAsyncAction {\n type: T;\n status: AsyncActionStatus.STARTED;\n}\n\nexport interface SucceededAsyncAction {\n type: T;\n status: AsyncActionStatus.SUCCEEDED;\n payload: P;\n}\n\nexport interface FailedAsyncAction {\n type: T;\n status: AsyncActionStatus.FAILED;\n payload: Error;\n}\n\nexport type AsyncAction = StartedAsyncAction | SucceededAsyncAction | FailedAsyncAction;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport {Route, RouteProps} from \"react-router-dom\";\nimport { useKeycloak } from '@react-keycloak/web'\nimport { KeycloakLogoutOptions } from \"keycloak-js\";\n\nconst PrivateRoute = ( routeProps: RouteProps ) => {\n const { keycloak } = useKeycloak();\n const isAuthenticated = keycloak?.authenticated ?? false;\n\n useEffect(() => {\n const fn = async () => {\n if (!isAuthenticated) {\n let params = {\n redirectUri: window.location.origin,\n //(appState: { targetUrl: routeProps.path }\n } as KeycloakLogoutOptions;\n\n await keycloak?.login(params);\n }\n };\n fn();\n }, [keycloak, isAuthenticated, routeProps.path]);\n\n if (!keycloak?.authenticated)\n {\n return null;\n }\n\n return \n};\n\nPrivateRoute.propTypes = {\n component: PropTypes.oneOfType([PropTypes.element, PropTypes.func])\n .isRequired,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]).isRequired\n};\n\nexport default PrivateRoute;\n","import React from \"react\";\nimport {Spinner, SpinnerSize} from \"@fluentui/react\";\n\nconst Loading = () => (\n
\n \n
\n);\n\nexport default Loading;\n","// Describing the shape of the organization's slice of state\nimport {AsyncAction, AsyncActionStatus} from \"../asyncAction/types\";\nimport {Device} from \"../../graphql/types\";\n\nexport interface DevicesState {\n entities: Device[];\n asyncStatus: AsyncActionStatus;\n error?: Error\n}\n\nexport const LOAD_DEVICES = 'LOAD_DEVICES';\nexport const LINK_DEVICE = \"LINK_DEVICE\";\nexport const UNLINK_DEVICE = \"UNLINK_DEVICE\";\nexport const UPDATE_DEVICE = \"UPDATE_DEVICE\";\n\ntype LoadDevicesAction = AsyncAction;\ntype UnlinkDeviceAction = AsyncAction;\ntype LinkDeviceAction = AsyncAction;\ntype UpdateDeviceAction = AsyncAction;\n\nexport type DeviceActionTypes =\n LoadDevicesAction |\n LinkDeviceAction |\n UnlinkDeviceAction |\n UpdateDeviceAction;\n","\n\n// Action creators\nimport {AsyncActionStatus, FailedAsyncAction, StartedAsyncAction, SucceededAsyncAction} from \"./types\";\nimport {\n ApolloClient,\n InMemoryCache\n} from '@apollo/client';\nimport {AppState} from \"../index\";\n\nfunction startedAsyncAction(type: T): StartedAsyncAction {\n return {\n type,\n status: AsyncActionStatus.STARTED,\n };\n}\n\nfunction succeededAsyncAction(type: T, payload: P): SucceededAsyncAction {\n return {\n type,\n status: AsyncActionStatus.SUCCEEDED,\n payload,\n };\n}\n\nfunction failedAsyncAction(type: T, error: Error): FailedAsyncAction {\n return {\n type,\n status: AsyncActionStatus.FAILED,\n payload: error,\n };\n}\n\nexport function async(type: T, action: (...args: any[]) => Promise

, ...args: any[]) {\n return async (dispatch: any, client: ApolloClient, getState:() => AppState) => {\n dispatch(startedAsyncAction(type));\n try {\n const payload = await action(getState, client,...args);\n dispatch(succeededAsyncAction(type, payload));\n } catch (error) {\n dispatch(failedAsyncAction(type, error as Error));\n }\n };\n}\n","import { gql } from '@apollo/client';\nimport * as Apollo from '@apollo/client';\nexport type Maybe = T | null;\nexport type InputMaybe = Maybe;\nexport type Exact = { [K in keyof T]: T[K] };\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\nconst defaultOptions = {}\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n /** The `DateTime` scalar type represents a date and time. `DateTime` expects timestamps to be formatted in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard. */\n DateTime: any;\n /** The `DateTimeOffset` scalar type represents a date, time and offset from UTC. `DateTimeOffset` expects timestamps to be formatted in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard. */\n DateTimeOffset: any;\n Long: any;\n};\n\nexport type AddOrganizationPaymentMethodInput = {\n externalId: Scalars['String'];\n isDefault: Scalars['Boolean'];\n name?: InputMaybe;\n organizationId?: InputMaybe;\n};\n\nexport type AddOrganizationPaymentMethodPayload = {\n __typename?: 'AddOrganizationPaymentMethodPayload';\n organization?: Maybe;\n result?: Maybe;\n};\n\n/** Represents a street address, including geographical information */\nexport type Address = {\n __typename?: 'Address';\n /** Address line 1 */\n addressLine1: Scalars['String'];\n /** Address line 2 */\n addressLine2?: Maybe;\n /** Address line 3 */\n addressLine3?: Maybe;\n /** City */\n city: City;\n /** Id */\n id?: Maybe;\n /** Original json data received from geocoding service */\n jsonData?: Maybe;\n /** Location */\n location?: Maybe;\n /** Postal code */\n postalcode: Scalars['String'];\n /** Postal code */\n streetNumber?: Maybe;\n};\n\n/** Represents a street address, including geographical information */\nexport type AddressInput = {\n /** Address line 1 */\n addressLine1: Scalars['String'];\n /** Address line 2 */\n addressLine2?: InputMaybe;\n /** Address line 3 */\n addressLine3?: InputMaybe;\n /** City */\n city: CityInput;\n /** Address id */\n id?: InputMaybe;\n /** Original json data received from geo coding service */\n jsonData?: InputMaybe;\n /** Location */\n location?: InputMaybe;\n /** Postal code */\n postalcode: Scalars['String'];\n /** Postal code */\n streetNumber?: InputMaybe;\n};\n\n/** Represents a street address, including geographical information */\nexport type AddressPayload = {\n __typename?: 'AddressPayload';\n address: Address;\n};\n\n/** Version information regarding the current running system components. */\nexport type ApplicationInformation = {\n __typename?: 'ApplicationInformation';\n /** Informational version containing hash and build id. */\n assemblyInformationalVersion?: Maybe;\n /** Assembly version of the executing assembly. */\n assemblyVersion?: Maybe;\n /** List of currently loaded assemblies in the appdomain. */\n loadedAssemblies?: Maybe>>;\n /** Name of the application. */\n name?: Maybe;\n};\n\n/** Represents a file asset */\nexport type Asset = {\n __typename?: 'Asset';\n assetType?: Maybe;\n displayName?: Maybe;\n filename: Scalars['String'];\n /** Asset id */\n id?: Maybe;\n lastShortTermReadToken?: Maybe;\n lastShortTermWriteToken?: Maybe;\n mimeType: Scalars['String'];\n /** Owning Organization */\n organization?: Maybe;\n size: Scalars['Long'];\n};\n\n/** Represents a file asset */\nexport type AssetInput = {\n assetType?: InputMaybe;\n displayName?: InputMaybe;\n filename: Scalars['String'];\n /** Asset id */\n id?: InputMaybe;\n mimeType: Scalars['String'];\n size: Scalars['Long'];\n};\n\nexport type AssetQueryInput = {\n assetTypes?: InputMaybe>>;\n createdFrom?: InputMaybe;\n createdTo?: InputMaybe;\n displayNames?: InputMaybe>>;\n filenames?: InputMaybe>>;\n mimeTypes?: InputMaybe>>;\n ownedBy?: InputMaybe>>;\n sizeFrom?: InputMaybe;\n sizeTo?: InputMaybe;\n updatedFrom?: InputMaybe;\n updatedTo?: InputMaybe;\n};\n\nexport enum AssetType {\n Data = 'DATA',\n HandlebarsTemplate = 'HANDLEBARS_TEMPLATE',\n Image = 'IMAGE',\n ResidentRegistry = 'RESIDENT_REGISTRY',\n Video = 'VIDEO',\n WeatherIcons = 'WEATHER_ICONS'\n}\n\nexport type AssignComponentAssetInput = {\n assetId: Scalars['ID'];\n componentId: Scalars['ID'];\n};\n\nexport type AssignComponentAssetPayload = {\n __typename?: 'AssignComponentAssetPayload';\n asset?: Maybe;\n component?: Maybe;\n result?: Maybe;\n};\n\nexport type AssignComponentDataSourceInput = {\n componentId: Scalars['ID'];\n dataSourceId: Scalars['ID'];\n};\n\nexport type AssignComponentDataSourcePayload = {\n __typename?: 'AssignComponentDataSourcePayload';\n component?: Maybe;\n dataSource?: Maybe;\n result?: Maybe;\n};\n\nexport type AssignDataSourceAssetInput = {\n assetId: Scalars['ID'];\n dataSourceId: Scalars['ID'];\n};\n\nexport type AssignDataSourceAssetPayload = {\n __typename?: 'AssignDataSourceAssetPayload';\n asset: Asset;\n dataSource: DataSource;\n result?: Maybe;\n};\n\nexport type AssignDeviceAddressInput = {\n addressId: Scalars['ID'];\n deviceId: Scalars['ID'];\n};\n\nexport type AssignDeviceAddressPayload = {\n __typename?: 'AssignDeviceAddressPayload';\n address: Address;\n device: Device;\n result?: Maybe;\n};\n\nexport type AssignDeviceControllerInput = {\n controllerId: Scalars['ID'];\n deviceId: Scalars['ID'];\n};\n\nexport type AssignDevicePageInput = {\n deviceId: Scalars['ID'];\n pageId: Scalars['ID'];\n};\n\nexport type AssignPageComponentInput = {\n componentId: Scalars['ID'];\n pageId: Scalars['ID'];\n};\n\nexport type AssignPageComponentPayload = {\n __typename?: 'AssignPageComponentPayload';\n component: Component;\n page: Page;\n result?: Maybe;\n};\n\n/** Represents an audit entry */\nexport type AuditEntry = {\n __typename?: 'AuditEntry';\n auditEntryId: Scalars['Int'];\n createdBy: Scalars['String'];\n createdDate: Scalars['DateTimeOffset'];\n entitySetName: Scalars['String'];\n entityTypeName: Scalars['String'];\n properties?: Maybe>>;\n state?: Maybe;\n stateName: Scalars['String'];\n};\n\n/** Represents an audit entry property */\nexport type AuditEntryProperty = {\n __typename?: 'AuditEntryProperty';\n auditEntryPropertyID: Scalars['Int'];\n newValue?: Maybe;\n oldValue?: Maybe;\n propertyName?: Maybe;\n relationName?: Maybe;\n};\n\nexport type AuditEntryQueryInput = {\n createdBy?: InputMaybe>>;\n entityIds?: InputMaybe>>;\n entitySetNames?: InputMaybe>>;\n entityTypeNames?: InputMaybe>>;\n excludeEntityTypeNames?: InputMaybe>>;\n from?: InputMaybe;\n states?: InputMaybe>>;\n to?: InputMaybe;\n};\n\nexport enum AuditEntryState {\n EntityAdded = 'ENTITY_ADDED',\n EntityCurrent = 'ENTITY_CURRENT',\n EntityDeleted = 'ENTITY_DELETED',\n EntityModified = 'ENTITY_MODIFIED',\n EntitySoftAdded = 'ENTITY_SOFT_ADDED',\n EntitySoftDeleted = 'ENTITY_SOFT_DELETED',\n RelationshipAdded = 'RELATIONSHIP_ADDED',\n RelationshipDeleted = 'RELATIONSHIP_DELETED'\n}\n\nexport type CancelOrganizationSubscriptionInput = {\n organizationId?: InputMaybe;\n subscriptionId?: InputMaybe;\n};\n\nexport type CancelOrganizationSubscriptionPayload = {\n __typename?: 'CancelOrganizationSubscriptionPayload';\n result?: Maybe;\n subscription?: Maybe;\n};\n\n/** City information including geographical location */\nexport type City = {\n __typename?: 'City';\n /** Id */\n id?: Maybe;\n /** Location */\n location?: Maybe;\n /** Name of city */\n name: Scalars['String'];\n /** Subdivision (area/state) */\n subdivision: Subdivision;\n};\n\n/** City information including geographical location */\nexport type CityInput = {\n /** Id */\n id?: InputMaybe;\n /** Location */\n location?: InputMaybe;\n /** Name of city */\n name: Scalars['String'];\n /** Subdivision (area/state) */\n subdivision: SubdivisionInput;\n};\n\n/** A Security Claim. */\nexport type Claim = {\n __typename?: 'Claim';\n issuer?: Maybe;\n type?: Maybe;\n value?: Maybe;\n};\n\n/** A Principal With Claims */\nexport type ClaimsPrincipal = {\n __typename?: 'ClaimsPrincipal';\n /** Claims of the identity. */\n claims?: Maybe>>;\n};\n\nexport type CompleteDeviceLinkInput = {\n deviceTempId: Scalars['ID'];\n linkCode: Scalars['String'];\n};\n\nexport type CompleteDeviceLinkPayload = {\n __typename?: 'CompleteDeviceLinkPayload';\n deviceCredentials: DeviceCredentials;\n};\n\nexport type Component = {\n __typename?: 'Component';\n assets?: Maybe>>;\n classNames?: Maybe;\n componentType?: Maybe;\n configuration?: Maybe;\n created: Scalars['DateTimeOffset'];\n dataSource?: Maybe;\n description?: Maybe;\n descriptionTranslationKey?: Maybe;\n iconName?: Maybe;\n id?: Maybe;\n identifier?: Maybe;\n isSystem: Scalars['Boolean'];\n isTemplate?: Maybe;\n name: Scalars['String'];\n nameTranslationKey?: Maybe;\n /** Owning Organization */\n organization?: Maybe;\n previewImage?: Maybe;\n style?: Maybe;\n tags?: Maybe>>;\n updated: Scalars['DateTimeOffset'];\n};\n\nexport type ComponentAssetInput = {\n asset?: InputMaybe;\n component?: InputMaybe;\n};\n\nexport type ComponentQueryInput = {\n createdFrom?: InputMaybe;\n createdTo?: InputMaybe;\n isSystem?: InputMaybe;\n isTemplate?: InputMaybe;\n names?: InputMaybe>>;\n ownedBy?: InputMaybe>>;\n tags?: InputMaybe>>;\n updatedFrom?: InputMaybe;\n updatedTo?: InputMaybe;\n};\n\nexport enum ComponentTypeEnum {\n /** Background image component */\n BackgroundImage = 'BACKGROUND_IMAGE',\n /** Calendar display */\n Calendar = 'CALENDAR',\n /** Device Event Action */\n DeviceEventAction = 'DEVICE_EVENT_ACTION',\n /** Device Garbage Category Vote Button */\n DeviceGarbageCategoryVoteButton = 'DEVICE_GARBAGE_CATEGORY_VOTE_BUTTON',\n /** Device Message */\n DeviceMessage = 'DEVICE_MESSAGE',\n /** Device Message Button */\n DeviceMessageButton = 'DEVICE_MESSAGE_BUTTON',\n /** Dexcom */\n Dexcom = 'DEXCOM',\n /** SnowFlake effect */\n FullscreenSnowflakeEffect = 'FULLSCREEN_SNOWFLAKE_EFFECT',\n /** Iframe */\n Iframe = 'IFRAME',\n /** Image component */\n Image = 'IMAGE',\n /** Image Carousel */\n ImageCarousel = 'IMAGE_CAROUSEL',\n /** RSS News feed display */\n RssFeed = 'RSS_FEED',\n /** Web scraper for Parkgården Activities */\n ScraperParkgardenActivities = 'SCRAPER_PARKGARDEN_ACTIVITIES',\n /** Web scraper for Parkgården Lunch Menus */\n ScraperParkgardenLunch = 'SCRAPER_PARKGARDEN_LUNCH',\n /** Camera Barcode Reader */\n TextBarcodeReader = 'TEXT_BARCODE_READER',\n /** Clock that shows current time based on timezone */\n TextClock = 'TEXT_CLOCK',\n /** Keyboard Barcode Reader */\n TextKeyboardBarcodeReader = 'TEXT_KEYBOARD_BARCODE_READER',\n /** Text label display */\n TextLabel = 'TEXT_LABEL',\n /** Name of day */\n TextNameOfDay = 'TEXT_NAME_OF_DAY',\n /** Text table */\n TextTable = 'TEXT_TABLE',\n /** Transit times (bus/train/etc) */\n TransitTimetable = 'TRANSIT_TIMETABLE',\n /** Smhi weather information */\n WeatherSmhi = 'WEATHER_SMHI'\n}\n\nexport type Controller = {\n __typename?: 'Controller';\n id?: Maybe;\n isSystem: Scalars['Boolean'];\n name: Scalars['String'];\n /** Owning Organization */\n organization?: Maybe;\n presentations?: Maybe>>;\n};\n\nexport type ControllerQueryInput = {\n createdFrom?: InputMaybe;\n createdTo?: InputMaybe;\n isSystem?: InputMaybe;\n names?: InputMaybe>>;\n ownedBy?: InputMaybe>>;\n updatedFrom?: InputMaybe;\n updatedTo?: InputMaybe;\n};\n\n/** Country information */\nexport type Country = {\n __typename?: 'Country';\n /** Id */\n id?: Maybe;\n /** Two letter country iso code */\n iso: Scalars['String'];\n /** Country name */\n name?: Maybe;\n};\n\n/** Country information */\nexport type CountryInput = {\n /** Id */\n id?: InputMaybe;\n /** Two letter country iso code */\n iso: Scalars['String'];\n /** Country name */\n name?: InputMaybe;\n};\n\nexport type CreateComponentInput = {\n componentType: Scalars['String'];\n configuration?: InputMaybe;\n name: Scalars['String'];\n organizationId?: InputMaybe;\n style?: InputMaybe;\n transform?: InputMaybe;\n};\n\nexport type CreateComponentPayload = {\n __typename?: 'CreateComponentPayload';\n component: Component;\n};\n\nexport type CreateDeviceControllerInput = {\n deviceId: Scalars['ID'];\n};\n\nexport type CreateDeviceControllerPayload = {\n __typename?: 'CreateDeviceControllerPayload';\n controller: Controller;\n};\n\nexport type CreateDeviceLinkTicketInput = {\n id: Scalars['ID'];\n};\n\nexport type CreateLinkTicketPayload = {\n __typename?: 'CreateLinkTicketPayload';\n ticket: DeviceLinkTicket;\n};\n\nexport type CreateOrganizationAssetsInput = {\n assets?: InputMaybe>>;\n /** If of the organization that will own the assets */\n id?: InputMaybe;\n};\n\nexport type CreateOrganizationAssetsPayload = {\n __typename?: 'CreateOrganizationAssetsPayload';\n assets?: Maybe>>;\n organization?: Maybe;\n};\n\n/** Represents the currently logged in user, his/her logged in identity and claims. */\nexport type CurrentUser = {\n __typename?: 'CurrentUser';\n /** Claims principal of the currently logged in identity */\n claimsPrincipal?: Maybe;\n /** Currently logged in identity. */\n identity?: Maybe;\n /** User profile of the currently logged in user. */\n user?: Maybe;\n};\n\nexport type DataSource = {\n __typename?: 'DataSource';\n assets?: Maybe>>;\n configuration?: Maybe;\n created: Scalars['DateTimeOffset'];\n dataSourceType?: Maybe;\n id?: Maybe;\n name: Scalars['String'];\n /** Owning Organization */\n organization?: Maybe;\n updated: Scalars['DateTimeOffset'];\n};\n\nexport type DataSourceInput = {\n configuration?: InputMaybe;\n dataSourceType: Scalars['String'];\n name: Scalars['String'];\n organizationId?: InputMaybe;\n};\n\nexport type DataSourcePayload = {\n __typename?: 'DataSourcePayload';\n dataSource: DataSource;\n};\n\nexport enum DataSourceTypeEnum {\n /** iCal calendar feeds */\n CalendarIcal = 'CALENDAR_ICAL',\n /** Clock */\n Clock = 'CLOCK',\n /** Device event */\n DeviceEvent = 'DEVICE_EVENT',\n /** Device message */\n DeviceMessage = 'DEVICE_MESSAGE',\n /** Dexcom */\n Dexcom = 'DEXCOM',\n /** Json data source */\n JsonAssets = 'JSON_ASSETS',\n /** Name of day */\n NameOfDay = 'NAME_OF_DAY',\n /** Resident registry */\n ResidentRegistry = 'RESIDENT_REGISTRY',\n /** RSS News feeds */\n RssFeeds = 'RSS_FEEDS',\n /** Transit stops */\n TransitStop = 'TRANSIT_STOP',\n /** Weather forecast */\n WeatherForecastSmhi = 'WEATHER_FORECAST_SMHI'\n}\n\nexport type Device = {\n __typename?: 'Device';\n /** Geographical address of the device */\n address?: Maybe

;\n /** Controller that manages the device schedules and behaviour */\n controller?: Maybe;\n /** Display name of a device, example \"My travel info display\" */\n displayName: Scalars['String'];\n /** Feature flag representing what features a device supports */\n features?: Maybe;\n id?: Maybe;\n /** Name of this device in the IoT hub, automatically assigned on link */\n ioTDeviceId: Scalars['String'];\n /** Hardware model of the device, eg. Raspberry Pi3+, Samsung TV */\n model?: Maybe;\n /** Organization that manages the device */\n organization?: Maybe;\n /** Placement of the device, eg. Entrance, Living Room, Office, Meeting Room */\n placement?: Maybe;\n /** Url to last received screenshot of the device */\n screenShotSasUrl?: Maybe;\n /** Url to last received screenshot thumbnail of the device */\n screenShotThumbnailSasUrl?: Maybe;\n /** The time zone id (.NET variant) of the time zone the device is */\n timeZoneId?: Maybe;\n /** Height of the display area in pixels */\n viewportHeight: Scalars['Int'];\n /** Width of the display area in pixels */\n viewportWidth: Scalars['Int'];\n};\n\n/** Device context information */\nexport type DeviceContext = {\n __typename?: 'DeviceContext';\n /** Indicates the device is active or have been removed. */\n active: Scalars['Boolean'];\n controller?: Maybe;\n deviceName: Scalars['String'];\n initialPresentation?: Maybe;\n /** Error describing the reason for an invalid license. */\n licenseErrorMessage?: Maybe;\n organizationName: Scalars['String'];\n /** Iana TimeZone Id. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones */\n timeZoneId?: Maybe;\n /** Indicates if the owning Organization have a valid license. */\n validLicense: Scalars['Boolean'];\n};\n\n/** Device credentials information, can only be retrieved once during a linking sequence. */\nexport type DeviceCredentials = {\n __typename?: 'DeviceCredentials';\n deviceId?: Maybe;\n deviceIoTId: Scalars['String'];\n deviceIoTKey: Scalars['String'];\n ioTHost: Scalars['String'];\n linkComplete: Scalars['Boolean'];\n organizationId?: Maybe;\n};\n\nexport enum DeviceFeatures {\n AudioOutput = 'AUDIO_OUTPUT',\n BarcodeReaderInput = 'BARCODE_READER_INPUT',\n Display = 'DISPLAY',\n KeyboardInput = 'KEYBOARD_INPUT',\n MouseInput = 'MOUSE_INPUT',\n None = 'NONE',\n TouchInput = 'TOUCH_INPUT'\n}\n\n/** Device link ticket */\nexport type DeviceLinkTicket = {\n __typename?: 'DeviceLinkTicket';\n code: Scalars['String'];\n deviceTempId?: Maybe;\n id?: Maybe;\n validUntil: Scalars['DateTimeOffset'];\n};\n\nexport type DeviceMessage = DeviceMessageCommand | RefreshContextCommand | ReloadCommand | RequestScreenShotCommand | SetLocalStorageValueCommand | SetPresentationCommand | ToggleDebugPanelCommand | ToggleStatusbarCommand | UnlinkCommand;\n\nexport type DeviceMessageCommand = {\n __typename?: 'DeviceMessageCommand';\n message: Scalars['String'];\n name: Scalars['String'];\n target?: Maybe;\n};\n\nexport type DeviceMessageEnvelope = {\n __typename?: 'DeviceMessageEnvelope';\n from?: Maybe;\n message?: Maybe;\n to?: Maybe;\n};\n\nexport type DevicePayload = {\n __typename?: 'DevicePayload';\n device: Device;\n};\n\nexport type DeviceUpdateInput = {\n address?: InputMaybe;\n displayName: Scalars['String'];\n features?: InputMaybe;\n id?: InputMaybe;\n model?: InputMaybe;\n placement?: InputMaybe;\n /** Iana TimeZone Id. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones */\n timeZoneId?: InputMaybe;\n viewportHeight?: InputMaybe;\n viewportWidth?: InputMaybe;\n};\n\nexport type HomeScreenInformation = {\n __typename?: 'HomeScreenInformation';\n componentCount: Scalars['Int'];\n dataSourceCount: Scalars['Int'];\n deviceCount: Scalars['Int'];\n hasInitializedComponent: Scalars['Boolean'];\n hasInitializedDevice: Scalars['Boolean'];\n hasInitializedOrganization: Scalars['Boolean'];\n lastActivity: Array>;\n notifications?: Maybe>>;\n organizationCount: Scalars['Int'];\n};\n\nexport enum HorizontalAlign {\n Center = 'CENTER',\n Left = 'LEFT',\n Right = 'RIGHT'\n}\n\nexport type LastActivityItem = {\n __typename?: 'LastActivityItem';\n itemName: Scalars['String'];\n timestamp: Scalars['DateTimeOffset'];\n user?: Maybe;\n};\n\nexport type LinkDeviceInput = {\n displayName: Scalars['String'];\n linkCode: Scalars['String'];\n organizationId: Scalars['ID'];\n};\n\nexport type LinkDevicePayload = {\n __typename?: 'LinkDevicePayload';\n device: Device;\n result?: Maybe;\n};\n\n/** A WGS 84 longitude/latitude coordinate */\nexport type Location = {\n __typename?: 'Location';\n /** Latitude */\n latitude: Scalars['Float'];\n /** Longitude */\n longitude: Scalars['Float'];\n};\n\n/** A WGS 84 longitude/latitude coordinate */\nexport type LocationInput = {\n /** Latitude */\n latitude: Scalars['Float'];\n /** Longitude */\n longitude: Scalars['Float'];\n};\n\nexport type LunchDay = {\n __typename?: 'LunchDay';\n alternative?: Maybe;\n dessert?: Maybe;\n lunch?: Maybe;\n nameOfDay: Scalars['String'];\n};\n\nexport type LunchWeek = {\n __typename?: 'LunchWeek';\n days: Array>;\n number: Scalars['Int'];\n title: Scalars['String'];\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Associates a payment method with an organization. */\n addOrganizationPaymentMethod?: Maybe;\n /** Assign an asset to a component. Requires ownership permissions. */\n assignComponentAsset?: Maybe;\n /** Assign an data source to a component. Requires ownership permissions. */\n assignComponentDataSource?: Maybe;\n /** Assign an asset to a data source. Requires ownership permissions. */\n assignDataSourceAsset?: Maybe;\n /** Update address value. Requires ownership permissions. */\n assignDeviceAddress?: Maybe;\n /** Update controller value. Requires ownership permissions. */\n assignDeviceController?: Maybe;\n /** Assign an page to a device. Requires ownership permissions. */\n assignDevicePage?: Maybe;\n /** Assign a component to a page. Requires ownership permissions. */\n assignPageComponent?: Maybe;\n /** Cancel a subscription for the organization */\n cancelOrganizationSubscription?: Maybe;\n /** Get device credentials after linking is done. Can only be called once after device have been linked, ticket will invalidate. */\n completeDeviceLink?: Maybe;\n /** Create a new address. */\n createAddress?: Maybe;\n /** Create a new page component. */\n createComponent?: Maybe;\n /** Creates an empty controller */\n createController?: Maybe;\n /** Create a new data source. */\n createDataSource?: Maybe;\n /** Get a link ticket for a device, called by a device. Must be followed by a linkDevice call in order to link a device. */\n createDeviceLinkTicket?: Maybe;\n /** Create a new organization. */\n createOrganization?: Maybe;\n /** Creates assets for the organization and returns SAS tokens with short term upload rights. Requires ownership permissions. */\n createOrganizationAssets?: Maybe;\n /** Link a device to an organization. Requires ownership permissions for the Organization. */\n linkDevice?: Maybe;\n /** Notify devices and other users of an asset that an asset have been changed. */\n notifyAssetChanged?: Maybe;\n /** Remove an asset. Requires ownership permissions. */\n removeAsset?: Maybe;\n /** Remove a page component. Requires ownership permissions. */\n removeComponent?: Maybe;\n /** Remove a data source. Requires ownership permissions. */\n removeDataSource?: Maybe;\n /** Unlinks a device from it´s organization and detaches it from iot services. */\n removeDevice?: Maybe;\n /** Removes an organization and all it´s devices. Requires ownership permissions. */\n removeOrganization?: Maybe;\n /** Removes a payment method from an organization. */\n removeOrganizationPaymentMethod?: Maybe;\n /** Send a command to a target. Requires ownership permissions for the target. */\n sendCommand?: Maybe;\n /** Creates an empty controller, presentation and page for a newly linked device */\n setupNewDevice?: Maybe;\n /** Unassign an asset from a component. Requires ownership permissions. */\n unassignComponentAsset?: Maybe;\n /** Unassign a data source from a component. Requires ownership permissions. */\n unassignComponentDataSource?: Maybe;\n /** Unassign an asset from a data source. Requires ownership permissions. */\n unassignDataSourceAsset?: Maybe;\n /** Remove a component from a page. Requires ownership permissions. */\n unassignPageComponent?: Maybe;\n /** Update the value of an existing address. Requires ownership permissions. */\n updateAddress?: Maybe;\n /** Update an asset. Requires ownership permissions. */\n updateAsset?: Maybe;\n /** Update a page component. Requires ownership permissions. */\n updateComponent?: Maybe;\n /** Update a data source. Requires ownership permissions. */\n updateDataSource?: Maybe;\n /** Update device values. Requires ownership permissions. */\n updateDevice?: Maybe;\n /** Update organization values. Requires ownership permissions. */\n updateOrganization?: Maybe;\n /** Selects a subscription for the organization, requires that a payment method exists associated with the organization. */\n updateOrganizationSubscription?: Maybe;\n /** Update a page. Requires ownership permissions. */\n updatePage?: Maybe;\n};\n\n\nexport type MutationAddOrganizationPaymentMethodArgs = {\n input: AddOrganizationPaymentMethodInput;\n};\n\n\nexport type MutationAssignComponentAssetArgs = {\n input: AssignComponentAssetInput;\n};\n\n\nexport type MutationAssignComponentDataSourceArgs = {\n input: AssignComponentDataSourceInput;\n};\n\n\nexport type MutationAssignDataSourceAssetArgs = {\n input: AssignDataSourceAssetInput;\n};\n\n\nexport type MutationAssignDeviceAddressArgs = {\n input: AssignDeviceAddressInput;\n};\n\n\nexport type MutationAssignDeviceControllerArgs = {\n input: AssignDeviceControllerInput;\n};\n\n\nexport type MutationAssignDevicePageArgs = {\n input: AssignDevicePageInput;\n};\n\n\nexport type MutationAssignPageComponentArgs = {\n input: AssignPageComponentInput;\n};\n\n\nexport type MutationCancelOrganizationSubscriptionArgs = {\n input: CancelOrganizationSubscriptionInput;\n};\n\n\nexport type MutationCompleteDeviceLinkArgs = {\n input: CompleteDeviceLinkInput;\n};\n\n\nexport type MutationCreateAddressArgs = {\n input: AddressInput;\n};\n\n\nexport type MutationCreateComponentArgs = {\n input: CreateComponentInput;\n};\n\n\nexport type MutationCreateControllerArgs = {\n input: CreateDeviceControllerInput;\n};\n\n\nexport type MutationCreateDataSourceArgs = {\n input: DataSourceInput;\n};\n\n\nexport type MutationCreateDeviceLinkTicketArgs = {\n input: CreateDeviceLinkTicketInput;\n};\n\n\nexport type MutationCreateOrganizationArgs = {\n input: OrganizationInput;\n};\n\n\nexport type MutationCreateOrganizationAssetsArgs = {\n input: CreateOrganizationAssetsInput;\n};\n\n\nexport type MutationLinkDeviceArgs = {\n input: LinkDeviceInput;\n};\n\n\nexport type MutationNotifyAssetChangedArgs = {\n input: Scalars['ID'];\n};\n\n\nexport type MutationRemoveAssetArgs = {\n input: Scalars['ID'];\n};\n\n\nexport type MutationRemoveComponentArgs = {\n input: Scalars['ID'];\n};\n\n\nexport type MutationRemoveDataSourceArgs = {\n input: Scalars['ID'];\n};\n\n\nexport type MutationRemoveDeviceArgs = {\n input: RemoveDeviceInput;\n};\n\n\nexport type MutationRemoveOrganizationArgs = {\n input: Scalars['ID'];\n};\n\n\nexport type MutationRemoveOrganizationPaymentMethodArgs = {\n input: RemoveOrganizationPaymentMethodInput;\n};\n\n\nexport type MutationSendCommandArgs = {\n input: SendCommandInput;\n};\n\n\nexport type MutationSetupNewDeviceArgs = {\n input: SetupNewDeviceInput;\n};\n\n\nexport type MutationUnassignComponentAssetArgs = {\n input: UnassignComponentAssetInput;\n};\n\n\nexport type MutationUnassignComponentDataSourceArgs = {\n input: UnassignComponentDataSourceInput;\n};\n\n\nexport type MutationUnassignDataSourceAssetArgs = {\n input: UnassignDataSourceAssetInput;\n};\n\n\nexport type MutationUnassignPageComponentArgs = {\n input: UnassignPageComponentInput;\n};\n\n\nexport type MutationUpdateAddressArgs = {\n input: AddressInput;\n};\n\n\nexport type MutationUpdateAssetArgs = {\n input: UpdateAssetInput;\n};\n\n\nexport type MutationUpdateComponentArgs = {\n input: UpdateComponentInput;\n};\n\n\nexport type MutationUpdateDataSourceArgs = {\n input: UpdateDataSourceInput;\n};\n\n\nexport type MutationUpdateDeviceArgs = {\n input: DeviceUpdateInput;\n};\n\n\nexport type MutationUpdateOrganizationArgs = {\n input: OrganizationUpdateInput;\n};\n\n\nexport type MutationUpdateOrganizationSubscriptionArgs = {\n input: UpdateOrganizationSubscriptionInput;\n};\n\n\nexport type MutationUpdatePageArgs = {\n input: UpdatePageInput;\n};\n\n/** Nassjo kommun web scrapers. */\nexport type NassjoKommunScraperQueries = {\n __typename?: 'NassjoKommunScraperQueries';\n monthActivities: Array>;\n weekLunchMenus: Array>;\n};\n\nexport type Notification = {\n __typename?: 'Notification';\n notificationType?: Maybe;\n subject: Scalars['String'];\n subjectId?: Maybe;\n};\n\nexport enum NotificationType {\n OrganizationDeviceCountExceeded = 'ORGANIZATION_DEVICE_COUNT_EXCEEDED',\n OrganizationMissingValidSubscription = 'ORGANIZATION_MISSING_VALID_SUBSCRIPTION'\n}\n\n/** Owner entity for devices, users, security and billing information */\nexport type Organization = {\n __typename?: 'Organization';\n /** Billing address of the organization */\n billingAddress?: Maybe
;\n billingEmail?: Maybe;\n contactEmail?: Maybe;\n /** Devices linked to this organization */\n devices?: Maybe>>;\n /** Indicates if the organization have a valid subscription covering the number of devices registered */\n hasValidSubscription?: Maybe;\n /** Id of the organization */\n id?: Maybe;\n isSystem: Scalars['Boolean'];\n /** Logotype of the organization */\n logotype?: Maybe;\n /** Name of the organization */\n name: Scalars['String'];\n /** Office address of the organization */\n officeAddress?: Maybe
;\n organizationNumber?: Maybe;\n /** Get current organization subscription */\n organizationSubscription?: Maybe;\n paymentMethods?: Maybe>>;\n phoneNumber?: Maybe;\n url?: Maybe;\n /** Users with access to this organization */\n users?: Maybe>>;\n vatNumber?: Maybe;\n};\n\n/** Owner entity for devices, users, security and billing information */\nexport type OrganizationInput = {\n /** Billing address of the organization */\n billingAddress?: InputMaybe;\n /** Name of the organization */\n name: Scalars['String'];\n /** Office address of the organization */\n officeAddress?: InputMaybe;\n};\n\nexport type OrganizationPayload = {\n __typename?: 'OrganizationPayload';\n organization: Organization;\n};\n\nexport type OrganizationSubscription = {\n __typename?: 'OrganizationSubscription';\n externalStatus?: Maybe;\n quantity: Scalars['Int'];\n subscriptionPlan?: Maybe;\n validTo: Scalars['DateTimeOffset'];\n};\n\n/** Owner entity for devices, users, security and billing information */\nexport type OrganizationUpdateInput = {\n /** Billing address of the organization */\n billingAddress?: InputMaybe;\n billingEmail?: InputMaybe;\n contactEmail?: InputMaybe;\n id?: InputMaybe;\n /** Logotype of the organization */\n logotype?: InputMaybe;\n /** Name of the organization */\n name: Scalars['String'];\n /** Office address of the organization */\n officeAddress?: InputMaybe;\n organizationNumber?: InputMaybe;\n phoneNumber?: InputMaybe;\n url?: InputMaybe;\n vatNumber?: InputMaybe;\n};\n\nexport type Page = {\n __typename?: 'Page';\n components?: Maybe>>;\n created: Scalars['DateTimeOffset'];\n id?: Maybe;\n isSystem: Scalars['Boolean'];\n name: Scalars['String'];\n /** Owning Organization */\n organization?: Maybe;\n updated: Scalars['DateTimeOffset'];\n};\n\nexport type PageComponent = {\n __typename?: 'PageComponent';\n component?: Maybe;\n height?: Maybe;\n horizontalAlign?: Maybe;\n page?: Maybe;\n transform?: Maybe;\n transformOrigin?: Maybe;\n verticalAlign?: Maybe;\n width?: Maybe;\n zIndex?: Maybe;\n};\n\nexport type PageComponentInput = {\n active?: InputMaybe;\n component?: InputMaybe;\n height?: InputMaybe;\n horizontalAlign?: InputMaybe;\n pageId?: InputMaybe;\n transform?: InputMaybe;\n transformOrigin?: InputMaybe;\n verticalAlign?: InputMaybe;\n width?: InputMaybe;\n zIndex?: InputMaybe;\n};\n\nexport type PageQueryInput = {\n createdFrom?: InputMaybe;\n createdTo?: InputMaybe;\n isSystem?: InputMaybe;\n names?: InputMaybe>>;\n ownedBy?: InputMaybe>>;\n updatedFrom?: InputMaybe;\n updatedTo?: InputMaybe;\n};\n\nexport type PaymentMethod = {\n __typename?: 'PaymentMethod';\n created: Scalars['DateTimeOffset'];\n id?: Maybe;\n isDefault: Scalars['Boolean'];\n name: Scalars['String'];\n updated: Scalars['DateTimeOffset'];\n};\n\nexport type Presentation = {\n __typename?: 'Presentation';\n created: Scalars['DateTimeOffset'];\n id?: Maybe;\n isSystem: Scalars['Boolean'];\n name: Scalars['String'];\n /** Owning Organization */\n organization?: Maybe;\n pages?: Maybe>>;\n updated: Scalars['DateTimeOffset'];\n};\n\nexport type PresentationQueryInput = {\n createdFrom?: InputMaybe;\n createdTo?: InputMaybe;\n isSystem?: InputMaybe;\n names?: InputMaybe>>;\n ownedBy?: InputMaybe>>;\n updatedFrom?: InputMaybe;\n updatedTo?: InputMaybe;\n};\n\nexport type Query = {\n __typename?: 'Query';\n /** Get address by id. */\n address?: Maybe
;\n /** Debug information regarding the current app instance. */\n application: ApplicationInformation;\n /** Get asset by id. */\n asset?: Maybe;\n /** All assets the current users have access to */\n assets: Array>;\n /** Query audit entries, requires read:audit permissions. */\n auditEntries: Array>;\n /** Get audit entry by id, requires read:audit permissions. */\n auditEntry?: Maybe;\n /** All components current user have access to */\n components: Array>;\n /** Get controller by id. */\n controller?: Maybe;\n /** Query controllers accessible for the user */\n controllers: Array>;\n /** Get the currently logged in user identity. */\n currentUser: CurrentUser;\n /** Get data source by id. */\n dataSource?: Maybe;\n /** All active data sources the current user have access to */\n dataSources: Array>;\n /** Get device by id. */\n device?: Maybe;\n /** Get device context data by id. */\n deviceContext: DeviceContext;\n /** All devices the current users have access to */\n devices: Array>;\n /** Get home screen information. */\n home?: Maybe;\n /** Get organization by id. */\n organization?: Maybe;\n /** All organizations that the currently logged in user have access to. */\n organizations: Array>;\n /** Get page by id. */\n page?: Maybe;\n /** Query pages accessible for the user */\n pages: Array>;\n /** Get presentation by id. */\n presentation?: Maybe;\n /** Query presentations accessible for the user */\n presentations: Array>;\n /** Web scraper contents */\n scrapers: ScraperQueries;\n /** All available subscription plans */\n subscriptionPlans: Array>;\n /** All tags current users have access to */\n tags: Array>;\n /** Get user by id. */\n user?: Maybe;\n /** All users that the currently logged in user have access to. */\n users: Array>;\n};\n\n\nexport type QueryAddressArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryAssetArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryAssetsArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryAuditEntriesArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryAuditEntryArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryComponentsArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryControllerArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryControllersArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryDataSourceArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryDeviceArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryDeviceContextArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryOrganizationArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryPageArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryPagesArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryPresentationArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryPresentationsArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryTagsArgs = {\n input?: InputMaybe;\n};\n\n\nexport type QueryUserArgs = {\n id: Scalars['ID'];\n};\n\nexport type RefreshContextCommand = {\n __typename?: 'RefreshContextCommand';\n name?: Maybe;\n};\n\nexport type ReloadCommand = {\n __typename?: 'ReloadCommand';\n name?: Maybe;\n};\n\nexport type RemoveAssetPayload = {\n __typename?: 'RemoveAssetPayload';\n asset: Asset;\n result?: Maybe;\n};\n\nexport type RemoveComponentPayload = {\n __typename?: 'RemoveComponentPayload';\n component?: Maybe;\n result?: Maybe;\n};\n\nexport type RemoveDataSourcePayload = {\n __typename?: 'RemoveDataSourcePayload';\n dataSource: DataSource;\n result?: Maybe;\n};\n\nexport type RemoveDeviceInput = {\n deviceId: Scalars['ID'];\n};\n\nexport type RemoveDevicePayload = {\n __typename?: 'RemoveDevicePayload';\n device: Device;\n result?: Maybe;\n};\n\nexport type RemoveOrganizationPaymentMethodInput = {\n organizationId?: InputMaybe;\n paymentMethodId?: InputMaybe;\n};\n\nexport type RemoveOrganizationPaymentMethodPayload = {\n __typename?: 'RemoveOrganizationPaymentMethodPayload';\n organization?: Maybe;\n result?: Maybe;\n};\n\nexport type RequestScreenShotCommand = {\n __typename?: 'RequestScreenShotCommand';\n imageSasUrl?: Maybe;\n name?: Maybe;\n thumbnailSasUrl?: Maybe;\n};\n\nexport type ScheduledActivity = {\n __typename?: 'ScheduledActivity';\n content?: Maybe;\n endTime?: Maybe;\n startTime?: Maybe;\n title: Scalars['String'];\n};\n\n/** Scraper queries */\nexport type ScraperQueries = {\n __typename?: 'ScraperQueries';\n /** Nassjo kommun web scrapers */\n nassjokommun: NassjoKommunScraperQueries;\n};\n\nexport type SendCommandInput = {\n commandName: Scalars['String'];\n data: Scalars['String'];\n targetId: Scalars['ID'];\n};\n\nexport type SendCommandPayload = {\n __typename?: 'SendCommandPayload';\n success: Scalars['Boolean'];\n};\n\nexport type SetLocalStorageValueCommand = {\n __typename?: 'SetLocalStorageValueCommand';\n name?: Maybe;\n storageKey?: Maybe;\n storageValue?: Maybe;\n};\n\nexport type SetPresentationCommand = {\n __typename?: 'SetPresentationCommand';\n name?: Maybe;\n presentation?: Maybe;\n};\n\nexport type SetupNewDeviceInput = {\n deviceId: Scalars['ID'];\n};\n\n/** Subdivision (area/state) information including geographical location */\nexport type Subdivision = {\n __typename?: 'Subdivision';\n /** Country */\n country: Country;\n /** Id */\n id?: Maybe;\n /** Name of subdivision */\n name: Scalars['String'];\n};\n\n/** Subdivision (area/state) information including geographical location */\nexport type SubdivisionInput = {\n /** Country */\n country: CountryInput;\n /** Id */\n id?: InputMaybe;\n /** Name of subdivision */\n name: Scalars['String'];\n};\n\nexport type SubscriptionPlan = {\n __typename?: 'SubscriptionPlan';\n descriptionTranslationKey: Scalars['String'];\n externalId: Scalars['String'];\n id?: Maybe;\n name: Scalars['String'];\n nameTranslationKey: Scalars['String'];\n};\n\nexport type Tag = {\n __typename?: 'Tag';\n created: Scalars['DateTimeOffset'];\n description?: Maybe;\n descriptionTranslationKey?: Maybe;\n iconName: Scalars['String'];\n id?: Maybe;\n name: Scalars['String'];\n nameTranslationKey?: Maybe;\n parent?: Maybe;\n parentId?: Maybe;\n updated: Scalars['DateTimeOffset'];\n};\n\nexport type TagQueryInput = {\n query?: InputMaybe;\n tagTypes?: InputMaybe>>;\n};\n\nexport enum TagType {\n ComponentCategory = 'COMPONENT_CATEGORY',\n GarbageProductSortCategory = 'GARBAGE_PRODUCT_SORT_CATEGORY',\n Generic = 'GENERIC'\n}\n\nexport type ToggleDebugPanelCommand = {\n __typename?: 'ToggleDebugPanelCommand';\n name?: Maybe;\n visible: Scalars['Boolean'];\n};\n\nexport type ToggleStatusbarCommand = {\n __typename?: 'ToggleStatusbarCommand';\n name?: Maybe;\n visible: Scalars['Boolean'];\n};\n\nexport type UnassignComponentAssetInput = {\n assetId: Scalars['ID'];\n componentId: Scalars['ID'];\n};\n\nexport type UnassignComponentAssetPayload = {\n __typename?: 'UnassignComponentAssetPayload';\n asset?: Maybe;\n component?: Maybe;\n result?: Maybe;\n};\n\nexport type UnassignComponentDataSourceInput = {\n componentId: Scalars['ID'];\n};\n\nexport type UnassignComponentDataSourcePayload = {\n __typename?: 'UnassignComponentDataSourcePayload';\n component?: Maybe;\n dataSource?: Maybe;\n result?: Maybe;\n};\n\nexport type UnassignDataSourceAssetInput = {\n assetId: Scalars['ID'];\n dataSourceId: Scalars['ID'];\n};\n\nexport type UnassignDataSourceAssetPayload = {\n __typename?: 'UnassignDataSourceAssetPayload';\n asset?: Maybe;\n dataSource?: Maybe;\n result?: Maybe;\n};\n\nexport type UnassignPageComponentInput = {\n componentId: Scalars['ID'];\n pageId: Scalars['ID'];\n};\n\nexport type UnassignPageComponentPayload = {\n __typename?: 'UnassignPageComponentPayload';\n component: Component;\n page: Page;\n result?: Maybe;\n};\n\nexport type UnitAddress = {\n __typename?: 'UnitAddress';\n componentId?: Maybe;\n deviceId?: Maybe;\n iotId: Scalars['String'];\n};\n\nexport type UnlinkCommand = {\n __typename?: 'UnlinkCommand';\n name?: Maybe;\n};\n\nexport type UpdateAssetInput = {\n displayName?: InputMaybe;\n filename?: InputMaybe;\n id?: InputMaybe;\n};\n\nexport type UpdateAssetPayload = {\n __typename?: 'UpdateAssetPayload';\n asset?: Maybe;\n result: Scalars['Boolean'];\n};\n\nexport type UpdateComponentInput = {\n assets?: InputMaybe>>;\n classNames?: InputMaybe;\n componentType: Scalars['String'];\n configuration?: InputMaybe;\n dataSource?: InputMaybe;\n iconName?: InputMaybe;\n id?: InputMaybe;\n identifier?: InputMaybe;\n isTemplate?: InputMaybe;\n name: Scalars['String'];\n previewImage?: InputMaybe;\n style?: InputMaybe;\n};\n\nexport type UpdateComponentPayload = {\n __typename?: 'UpdateComponentPayload';\n component?: Maybe;\n result: Scalars['Boolean'];\n};\n\nexport type UpdateDataSourceInput = {\n configuration: Scalars['String'];\n id?: InputMaybe;\n name: Scalars['String'];\n};\n\nexport type UpdateDataSourcePayload = {\n __typename?: 'UpdateDataSourcePayload';\n dataSource: DataSource;\n result: Scalars['Boolean'];\n};\n\nexport type UpdateOrganizationSubscriptionInput = {\n organizationId?: InputMaybe;\n quantity: Scalars['Int'];\n subscriptionExternalId: Scalars['String'];\n};\n\nexport type UpdateOrganizationSubscriptionPayload = {\n __typename?: 'UpdateOrganizationSubscriptionPayload';\n clientSecret?: Maybe;\n organization?: Maybe;\n status?: Maybe;\n};\n\nexport type UpdatePageInput = {\n components?: InputMaybe>>;\n id?: InputMaybe;\n name: Scalars['String'];\n};\n\nexport type UpdatePagePayload = {\n __typename?: 'UpdatePagePayload';\n page?: Maybe;\n result: Scalars['Boolean'];\n};\n\n/** A Rduce Complexity AB user with access rights to Pixon. */\nexport type User = {\n __typename?: 'User';\n email?: Maybe;\n emailVerified?: Maybe;\n enabled?: Maybe;\n externalCreatedAt?: Maybe;\n externalUserId?: Maybe;\n firstName?: Maybe;\n fullName?: Maybe;\n /** Id user (note: different from the identity id, a user may have multiple identities) */\n id?: Maybe;\n lastName?: Maybe;\n locale?: Maybe;\n picture?: Maybe;\n /** Main username of the user, note that a user may have multiple usernames based on the number of identities he/she have. */\n username?: Maybe;\n};\n\n/** Represents the currently logged in user, his/her logged in identity and claims. */\nexport type UserIdentity = {\n __typename?: 'UserIdentity';\n /** Id of identity (note: different from user id since a user may have multiple identities) */\n id?: Maybe;\n /** Name of identity provider. */\n identityProvider?: Maybe;\n /** Id of identity given from the provider. */\n providerUserId?: Maybe;\n};\n\nexport enum VerticalAlign {\n Bottom = 'BOTTOM',\n Center = 'CENTER',\n Top = 'TOP'\n}\n\nexport type CreateOrganizationAssetsMutationVariables = Exact<{\n input: CreateOrganizationAssetsInput;\n}>;\n\n\nexport type CreateOrganizationAssetsMutation = { __typename?: 'Mutation', createOrganizationAssets?: { __typename?: 'CreateOrganizationAssetsPayload', assets?: Array<{ __typename?: 'Asset', id?: string | null | undefined, filename: string, assetType?: AssetType | null | undefined, displayName?: string | null | undefined, mimeType: string, size: any, lastShortTermReadToken?: string | null | undefined, lastShortTermWriteToken?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined };\n\nexport type AddOrganizationPaymentMethodMutationVariables = Exact<{\n input: AddOrganizationPaymentMethodInput;\n}>;\n\n\nexport type AddOrganizationPaymentMethodMutation = { __typename?: 'Mutation', addOrganizationPaymentMethod?: { __typename?: 'AddOrganizationPaymentMethodPayload', result?: boolean | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined } | null | undefined };\n\nexport type AssignComponentAssetMutationVariables = Exact<{\n input: AssignComponentAssetInput;\n}>;\n\n\nexport type AssignComponentAssetMutation = { __typename?: 'Mutation', assignComponentAsset?: { __typename?: 'AssignComponentAssetPayload', component?: { __typename?: 'Component', id?: string | null | undefined } | null | undefined, asset?: { __typename?: 'Asset', id?: string | null | undefined } | null | undefined } | null | undefined };\n\nexport type AssignComponentDataSourceMutationVariables = Exact<{\n input: AssignComponentDataSourceInput;\n}>;\n\n\nexport type AssignComponentDataSourceMutation = { __typename?: 'Mutation', assignComponentDataSource?: { __typename?: 'AssignComponentDataSourcePayload', component?: { __typename?: 'Component', id?: string | null | undefined } | null | undefined, dataSource?: { __typename?: 'DataSource', id?: string | null | undefined } | null | undefined } | null | undefined };\n\nexport type AssignDataSourceAssetMutationVariables = Exact<{\n input: AssignDataSourceAssetInput;\n}>;\n\n\nexport type AssignDataSourceAssetMutation = { __typename?: 'Mutation', assignDataSourceAsset?: { __typename?: 'AssignDataSourceAssetPayload', dataSource: { __typename?: 'DataSource', id?: string | null | undefined }, asset: { __typename?: 'Asset', id?: string | null | undefined } } | null | undefined };\n\nexport type AssignDeviceControllerMutationVariables = Exact<{\n input: AssignDeviceControllerInput;\n}>;\n\n\nexport type AssignDeviceControllerMutation = { __typename?: 'Mutation', assignDeviceController?: { __typename?: 'DevicePayload', device: { __typename?: 'Device', id?: string | null | undefined, displayName: string } } | null | undefined };\n\nexport type AssignDevicePageMutationVariables = Exact<{\n input: AssignDevicePageInput;\n}>;\n\n\nexport type AssignDevicePageMutation = { __typename?: 'Mutation', assignDevicePage?: { __typename?: 'DevicePayload', device: { __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string } } | null | undefined };\n\nexport type AssignPageComponentMutationVariables = Exact<{\n input: AssignPageComponentInput;\n}>;\n\n\nexport type AssignPageComponentMutation = { __typename?: 'Mutation', assignPageComponent?: { __typename?: 'AssignPageComponentPayload', result?: boolean | null | undefined, component: { __typename?: 'Component', id?: string | null | undefined, name: string }, page: { __typename?: 'Page', id?: string | null | undefined, name: string } } | null | undefined };\n\nexport type CancelOrganizationSubscriptionMutationVariables = Exact<{\n input: CancelOrganizationSubscriptionInput;\n}>;\n\n\nexport type CancelOrganizationSubscriptionMutation = { __typename?: 'Mutation', cancelOrganizationSubscription?: { __typename?: 'CancelOrganizationSubscriptionPayload', result?: boolean | null | undefined, subscription?: { __typename?: 'OrganizationSubscription', subscriptionPlan?: { __typename?: 'SubscriptionPlan', id?: string | null | undefined, name: string } | null | undefined } | null | undefined } | null | undefined };\n\nexport type CompleteDeviceLinkMutationVariables = Exact<{\n input: CompleteDeviceLinkInput;\n}>;\n\n\nexport type CompleteDeviceLinkMutation = { __typename?: 'Mutation', completeDeviceLink?: { __typename?: 'CompleteDeviceLinkPayload', deviceCredentials: { __typename?: 'DeviceCredentials', deviceId?: string | null | undefined, deviceIoTId: string, deviceIoTKey: string, linkComplete: boolean, ioTHost: string, organizationId?: string | null | undefined } } | null | undefined };\n\nexport type CreateAddressMutationVariables = Exact<{\n input: AddressInput;\n}>;\n\n\nexport type CreateAddressMutation = { __typename?: 'Mutation', createAddress?: { __typename?: 'AddressPayload', address: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } } | null | undefined };\n\nexport type CreateDataSourceMutationVariables = Exact<{\n input: DataSourceInput;\n}>;\n\n\nexport type CreateDataSourceMutation = { __typename?: 'Mutation', createDataSource?: { __typename?: 'DataSourcePayload', dataSource: { __typename?: 'DataSource', id?: string | null | undefined, dataSourceType?: DataSourceTypeEnum | null | undefined, name: string, configuration?: string | null | undefined, created: any, updated: any, organization?: { __typename?: 'Organization', name: string, isSystem: boolean } | null | undefined } } | null | undefined };\n\nexport type CreateDeviceLinkTicketMutationVariables = Exact<{\n input: CreateDeviceLinkTicketInput;\n}>;\n\n\nexport type CreateDeviceLinkTicketMutation = { __typename?: 'Mutation', createDeviceLinkTicket?: { __typename?: 'CreateLinkTicketPayload', ticket: { __typename?: 'DeviceLinkTicket', code: string, id?: string | null | undefined, deviceTempId?: string | null | undefined, validUntil: any } } | null | undefined };\n\nexport type CreateOrganizationMutationVariables = Exact<{\n input: OrganizationInput;\n}>;\n\n\nexport type CreateOrganizationMutation = { __typename?: 'Mutation', createOrganization?: { __typename?: 'OrganizationPayload', organization: { __typename?: 'Organization', id?: string | null | undefined, name: string, users?: Array<{ __typename?: 'User', externalUserId?: string | null | undefined } | null | undefined> | null | undefined, devices?: Array<{ __typename?: 'Device', ioTDeviceId: string } | null | undefined> | null | undefined } } | null | undefined };\n\nexport type CreateComponentMutationVariables = Exact<{\n input: CreateComponentInput;\n}>;\n\n\nexport type CreateComponentMutation = { __typename?: 'Mutation', createComponent?: { __typename?: 'CreateComponentPayload', component: { __typename?: 'Component', id?: string | null | undefined, name: string, componentType?: ComponentTypeEnum | null | undefined } } | null | undefined };\n\nexport type LinkDeviceMutationVariables = Exact<{\n input: LinkDeviceInput;\n}>;\n\n\nexport type LinkDeviceMutation = { __typename?: 'Mutation', linkDevice?: { __typename?: 'LinkDevicePayload', result?: boolean | null | undefined, device: { __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string, placement?: string | null | undefined, timeZoneId?: string | null | undefined, screenShotSasUrl?: string | null | undefined, screenShotThumbnailSasUrl?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, address?: { __typename?: 'Address', addressLine1: string, city: { __typename?: 'City', name: string } } | null | undefined } } | null | undefined };\n\nexport type NotifyAssetChangedMutationVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type NotifyAssetChangedMutation = { __typename?: 'Mutation', notifyAssetChanged?: boolean | null | undefined };\n\nexport type RemoveAssetMutationVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type RemoveAssetMutation = { __typename?: 'Mutation', removeAsset?: { __typename?: 'RemoveAssetPayload', result?: boolean | null | undefined, asset: { __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, filename: string, mimeType: string, size: any } } | null | undefined };\n\nexport type RemoveDataSourceMutationVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type RemoveDataSourceMutation = { __typename?: 'Mutation', removeDataSource?: { __typename?: 'RemoveDataSourcePayload', result?: boolean | null | undefined, dataSource: { __typename?: 'DataSource', id?: string | null | undefined, dataSourceType?: DataSourceTypeEnum | null | undefined, name: string, configuration?: string | null | undefined, organization?: { __typename?: 'Organization', name: string } | null | undefined } } | null | undefined };\n\nexport type RemoveDeviceMutationVariables = Exact<{\n input: RemoveDeviceInput;\n}>;\n\n\nexport type RemoveDeviceMutation = { __typename?: 'Mutation', removeDevice?: { __typename?: 'RemoveDevicePayload', device: { __typename?: 'Device', id?: string | null | undefined, displayName: string } } | null | undefined };\n\nexport type RemoveOrganizationMutationVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type RemoveOrganizationMutation = { __typename?: 'Mutation', removeOrganization?: { __typename?: 'OrganizationPayload', organization: { __typename?: 'Organization', id?: string | null | undefined, name: string } } | null | undefined };\n\nexport type RemoveOrganizationPaymentMethodMutationVariables = Exact<{\n input: RemoveOrganizationPaymentMethodInput;\n}>;\n\n\nexport type RemoveOrganizationPaymentMethodMutation = { __typename?: 'Mutation', removeOrganizationPaymentMethod?: { __typename?: 'RemoveOrganizationPaymentMethodPayload', result?: boolean | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined } | null | undefined };\n\nexport type RemoveComponentMutationVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type RemoveComponentMutation = { __typename?: 'Mutation', removeComponent?: { __typename?: 'RemoveComponentPayload', result?: boolean | null | undefined, component?: { __typename?: 'Component', id?: string | null | undefined, name: string } | null | undefined } | null | undefined };\n\nexport type SendCommandMutationVariables = Exact<{\n input: SendCommandInput;\n}>;\n\n\nexport type SendCommandMutation = { __typename?: 'Mutation', sendCommand?: { __typename?: 'SendCommandPayload', success: boolean } | null | undefined };\n\nexport type SetupNewDeviceMutationVariables = Exact<{\n input: SetupNewDeviceInput;\n}>;\n\n\nexport type SetupNewDeviceMutation = { __typename?: 'Mutation', setupNewDevice?: { __typename?: 'DevicePayload', device: { __typename?: 'Device', id?: string | null | undefined } } | null | undefined };\n\nexport type UnassignComponentAssetMutationVariables = Exact<{\n input: UnassignComponentAssetInput;\n}>;\n\n\nexport type UnassignComponentAssetMutation = { __typename?: 'Mutation', unassignComponentAsset?: { __typename?: 'UnassignComponentAssetPayload', component?: { __typename?: 'Component', id?: string | null | undefined } | null | undefined, asset?: { __typename?: 'Asset', id?: string | null | undefined } | null | undefined } | null | undefined };\n\nexport type UnassignDataSourceAssetMutationVariables = Exact<{\n input: UnassignDataSourceAssetInput;\n}>;\n\n\nexport type UnassignDataSourceAssetMutation = { __typename?: 'Mutation', unassignDataSourceAsset?: { __typename?: 'UnassignDataSourceAssetPayload', dataSource?: { __typename?: 'DataSource', id?: string | null | undefined } | null | undefined, asset?: { __typename?: 'Asset', id?: string | null | undefined } | null | undefined } | null | undefined };\n\nexport type UnassignPageComponentMutationVariables = Exact<{\n input: UnassignPageComponentInput;\n}>;\n\n\nexport type UnassignPageComponentMutation = { __typename?: 'Mutation', unassignPageComponent?: { __typename?: 'UnassignPageComponentPayload', result?: boolean | null | undefined, component: { __typename?: 'Component', id?: string | null | undefined, name: string }, page: { __typename?: 'Page', id?: string | null | undefined, name: string } } | null | undefined };\n\nexport type UpdateAssetMutationVariables = Exact<{\n input: UpdateAssetInput;\n}>;\n\n\nexport type UpdateAssetMutation = { __typename?: 'Mutation', updateAsset?: { __typename?: 'UpdateAssetPayload', result: boolean, asset?: { __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, displayName?: string | null | undefined, filename: string, mimeType: string, size: any, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined } | null | undefined } | null | undefined };\n\nexport type UpdateDataSourceMutationVariables = Exact<{\n input: UpdateDataSourceInput;\n}>;\n\n\nexport type UpdateDataSourceMutation = { __typename?: 'Mutation', updateDataSource?: { __typename?: 'UpdateDataSourcePayload', dataSource: { __typename?: 'DataSource', id?: string | null | undefined, dataSourceType?: DataSourceTypeEnum | null | undefined, name: string, configuration?: string | null | undefined, organization?: { __typename?: 'Organization', name: string } | null | undefined } } | null | undefined };\n\nexport type UpdateDeviceMutationVariables = Exact<{\n input: DeviceUpdateInput;\n}>;\n\n\nexport type UpdateDeviceMutation = { __typename?: 'Mutation', updateDevice?: { __typename?: 'DevicePayload', device: { __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string, placement?: string | null | undefined, timeZoneId?: string | null | undefined, model?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, address?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined } } | null | undefined };\n\nexport type UpdateOrganizationMutationVariables = Exact<{\n input: OrganizationUpdateInput;\n}>;\n\n\nexport type UpdateOrganizationMutation = { __typename?: 'Mutation', updateOrganization?: { __typename?: 'OrganizationPayload', organization: { __typename?: 'Organization', id?: string | null | undefined, name: string, organizationNumber?: string | null | undefined, phoneNumber?: string | null | undefined, url?: string | null | undefined, vatNumber?: string | null | undefined, contactEmail?: string | null | undefined, billingEmail?: string | null | undefined, billingAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, postalcode: string, city: { __typename?: 'City', id?: string | null | undefined, name: string } } | null | undefined, officeAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, postalcode: string, city: { __typename?: 'City', id?: string | null | undefined, name: string } } | null | undefined } } | null | undefined };\n\nexport type UpdateOrganizationSubscriptionMutationVariables = Exact<{\n input: UpdateOrganizationSubscriptionInput;\n}>;\n\n\nexport type UpdateOrganizationSubscriptionMutation = { __typename?: 'Mutation', updateOrganizationSubscription?: { __typename?: 'UpdateOrganizationSubscriptionPayload', clientSecret?: string | null | undefined, status?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined } | null | undefined };\n\nexport type UpdatePageMutationVariables = Exact<{\n input: UpdatePageInput;\n}>;\n\n\nexport type UpdatePageMutation = { __typename?: 'Mutation', updatePage?: { __typename?: 'UpdatePagePayload', result: boolean, page?: { __typename?: 'Page', id?: string | null | undefined } | null | undefined } | null | undefined };\n\nexport type UpdateComponentMutationVariables = Exact<{\n input: UpdateComponentInput;\n}>;\n\n\nexport type UpdateComponentMutation = { __typename?: 'Mutation', updateComponent?: { __typename?: 'UpdateComponentPayload', component?: { __typename?: 'Component', id?: string | null | undefined, name: string, componentType?: ComponentTypeEnum | null | undefined } | null | undefined } | null | undefined };\n\nexport type AddressQueryVariables = Exact<{\n id: Scalars['ID'];\n}>;\n\n\nexport type AddressQuery = { __typename?: 'Query', address?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, location?: { __typename?: 'Location', latitude: number, longitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', latitude: number, longitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined };\n\nexport type ApplicationInformationQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type ApplicationInformationQuery = { __typename?: 'Query', application: { __typename?: 'ApplicationInformation', assemblyInformationalVersion?: string | null | undefined, assemblyVersion?: string | null | undefined, name?: string | null | undefined, loadedAssemblies?: Array | null | undefined } };\n\nexport type AssetQueryVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type AssetQuery = { __typename?: 'Query', asset?: { __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, filename: string, mimeType: string, size: any, displayName?: string | null | undefined, lastShortTermReadToken?: string | null | undefined, lastShortTermWriteToken?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined } | null | undefined };\n\nexport type AssetsQueryVariables = Exact<{\n input?: InputMaybe;\n}>;\n\n\nexport type AssetsQuery = { __typename?: 'Query', assets: Array<{ __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, filename: string, mimeType: string, size: any, displayName?: string | null | undefined, lastShortTermReadToken?: string | null | undefined, lastShortTermWriteToken?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined } | null | undefined> };\n\nexport type AuditEntriesQueryVariables = Exact<{\n input?: InputMaybe;\n}>;\n\n\nexport type AuditEntriesQuery = { __typename?: 'Query', auditEntries: Array<{ __typename?: 'AuditEntry', auditEntryId: number, createdBy: string, createdDate: any, entitySetName: string, entityTypeName: string, state?: AuditEntryState | null | undefined, stateName: string } | null | undefined> };\n\nexport type AuditEntryQueryVariables = Exact<{\n input: Scalars['ID'];\n}>;\n\n\nexport type AuditEntryQuery = { __typename?: 'Query', auditEntry?: { __typename?: 'AuditEntry', auditEntryId: number, createdBy: string, createdDate: any, entitySetName: string, entityTypeName: string, state?: AuditEntryState | null | undefined, stateName: string, properties?: Array<{ __typename?: 'AuditEntryProperty', auditEntryPropertyID: number, propertyName?: string | null | undefined, relationName?: string | null | undefined, newValue?: string | null | undefined, oldValue?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined };\n\nexport type ComponentPickerComponentsQueryVariables = Exact<{\n input?: InputMaybe;\n}>;\n\n\nexport type ComponentPickerComponentsQuery = { __typename?: 'Query', components: Array<{ __typename?: 'Component', id?: string | null | undefined, name: string, nameTranslationKey?: string | null | undefined, description?: string | null | undefined, descriptionTranslationKey?: string | null | undefined, componentType?: ComponentTypeEnum | null | undefined, iconName?: string | null | undefined, tags?: Array<{ __typename?: 'Tag', id?: string | null | undefined } | null | undefined> | null | undefined, previewImage?: { __typename?: 'Asset', id?: string | null | undefined, lastShortTermReadToken?: string | null | undefined } | null | undefined } | null | undefined> };\n\nexport type ComponentPickerTagsQueryVariables = Exact<{\n input: TagQueryInput;\n}>;\n\n\nexport type ComponentPickerTagsQuery = { __typename?: 'Query', tags: Array<{ __typename?: 'Tag', id?: string | null | undefined, parentId?: string | null | undefined, iconName: string, name: string, nameTranslationKey?: string | null | undefined, description?: string | null | undefined, descriptionTranslationKey?: string | null | undefined } | null | undefined> };\n\nexport type ControllersQueryVariables = Exact<{\n input: ControllerQueryInput;\n}>;\n\n\nexport type ControllersQuery = { __typename?: 'Query', controllers: Array<{ __typename?: 'Controller', name: string, id?: string | null | undefined } | null | undefined> };\n\nexport type CurrentUserInfoQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type CurrentUserInfoQuery = { __typename?: 'Query', currentUser: { __typename?: 'CurrentUser', user?: { __typename?: 'User', id?: string | null | undefined, externalUserId?: string | null | undefined, email?: string | null | undefined, fullName?: string | null | undefined } | null | undefined, identity?: { __typename?: 'UserIdentity', id?: string | null | undefined } | null | undefined, claimsPrincipal?: { __typename?: 'ClaimsPrincipal', claims?: Array<{ __typename?: 'Claim', type?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined } };\n\nexport type DataSourcesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type DataSourcesQuery = { __typename?: 'Query', dataSources: Array<{ __typename?: 'DataSource', id?: string | null | undefined, dataSourceType?: DataSourceTypeEnum | null | undefined, name: string, configuration?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, assets?: Array<{ __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, mimeType: string, lastShortTermReadToken?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> };\n\nexport type DeviceQueryVariables = Exact<{\n id: Scalars['ID'];\n}>;\n\n\nexport type DeviceQuery = { __typename?: 'Query', device?: { __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string, placement?: string | null | undefined, timeZoneId?: string | null | undefined, model?: string | null | undefined, screenShotSasUrl?: string | null | undefined, screenShotThumbnailSasUrl?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, controller?: { __typename?: 'Controller', id?: string | null | undefined, name: string } | null | undefined, address?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined } | null | undefined };\n\nexport type DevicesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type DevicesQuery = { __typename?: 'Query', devices: Array<{ __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string, placement?: string | null | undefined, timeZoneId?: string | null | undefined, screenShotSasUrl?: string | null | undefined, screenShotThumbnailSasUrl?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, address?: { __typename?: 'Address', addressLine1: string, city: { __typename?: 'City', name: string } } | null | undefined } | null | undefined> };\n\nexport type GetDeviceDetailsQueryVariables = Exact<{\n id: Scalars['ID'];\n}>;\n\n\nexport type GetDeviceDetailsQuery = { __typename?: 'Query', deviceContext: { __typename?: 'DeviceContext', active: boolean, validLicense: boolean, licenseErrorMessage?: string | null | undefined, organizationName: string, initialPresentation?: string | null | undefined, controller?: { __typename?: 'Controller', id?: string | null | undefined, isSystem: boolean, presentations?: Array<{ __typename?: 'Presentation', id?: string | null | undefined, name: string, pages?: Array<{ __typename?: 'Page', id?: string | null | undefined, name: string, organization?: { __typename?: 'Organization', id?: string | null | undefined } | null | undefined, components?: Array<{ __typename?: 'PageComponent', transform?: string | null | undefined, transformOrigin?: string | null | undefined, height?: string | null | undefined, width?: string | null | undefined, verticalAlign?: VerticalAlign | null | undefined, horizontalAlign?: HorizontalAlign | null | undefined, zIndex?: string | null | undefined, page?: { __typename?: 'Page', id?: string | null | undefined } | null | undefined, component?: { __typename?: 'Component', id?: string | null | undefined, name: string, componentType?: ComponentTypeEnum | null | undefined, configuration?: string | null | undefined, style?: string | null | undefined, classNames?: string | null | undefined, identifier?: string | null | undefined, iconName?: string | null | undefined, previewImage?: { __typename?: 'Asset', id?: string | null | undefined } | null | undefined, assets?: Array<{ __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, displayName?: string | null | undefined, mimeType: string, lastShortTermReadToken?: string | null | undefined } | null | undefined> | null | undefined, dataSource?: { __typename?: 'DataSource', id?: string | null | undefined, name: string, dataSourceType?: DataSourceTypeEnum | null | undefined, assets?: Array<{ __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, mimeType: string, lastShortTermReadToken?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined }, device?: { __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string, placement?: string | null | undefined, timeZoneId?: string | null | undefined, model?: string | null | undefined, screenShotSasUrl?: string | null | undefined, screenShotThumbnailSasUrl?: string | null | undefined, viewportHeight: number, viewportWidth: number, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, address?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined } | null | undefined };\n\nexport type HomeScreenInformationQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type HomeScreenInformationQuery = { __typename?: 'Query', home?: { __typename?: 'HomeScreenInformation', organizationCount: number, deviceCount: number, dataSourceCount: number, componentCount: number, hasInitializedOrganization: boolean, hasInitializedDevice: boolean, hasInitializedComponent: boolean, notifications?: Array<{ __typename?: 'Notification', subject: string, subjectId?: string | null | undefined, notificationType?: NotificationType | null | undefined } | null | undefined> | null | undefined, lastActivity: Array<{ __typename?: 'LastActivityItem', timestamp: any, itemName: string, user?: { __typename?: 'User', id?: string | null | undefined, email?: string | null | undefined, username?: string | null | undefined, fullName?: string | null | undefined, picture?: string | null | undefined } | null | undefined } | null | undefined> } | null | undefined };\n\nexport type OrganizationQueryVariables = Exact<{\n id: Scalars['ID'];\n}>;\n\n\nexport type OrganizationQuery = { __typename?: 'Query', organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string, vatNumber?: string | null | undefined, organizationNumber?: string | null | undefined, billingEmail?: string | null | undefined, contactEmail?: string | null | undefined, phoneNumber?: string | null | undefined, url?: string | null | undefined, billingAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined, officeAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined } | null | undefined };\n\nexport type OrganizationDetailsWithDevicesQueryVariables = Exact<{\n id: Scalars['ID'];\n}>;\n\n\nexport type OrganizationDetailsWithDevicesQuery = { __typename?: 'Query', organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string, vatNumber?: string | null | undefined, organizationNumber?: string | null | undefined, billingEmail?: string | null | undefined, contactEmail?: string | null | undefined, phoneNumber?: string | null | undefined, url?: string | null | undefined, billingAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined, officeAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined, logotype?: { __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, filename: string, mimeType: string, size: any, displayName?: string | null | undefined, lastShortTermReadToken?: string | null | undefined, lastShortTermWriteToken?: string | null | undefined } | null | undefined, devices?: Array<{ __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string, placement?: string | null | undefined, timeZoneId?: string | null | undefined, screenShotSasUrl?: string | null | undefined, screenShotThumbnailSasUrl?: string | null | undefined, organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined, address?: { __typename?: 'Address', addressLine1: string, city: { __typename?: 'City', name: string } } | null | undefined } | null | undefined> | null | undefined, organizationSubscription?: { __typename?: 'OrganizationSubscription', quantity: number, validTo: any, subscriptionPlan?: { __typename?: 'SubscriptionPlan', id?: string | null | undefined, name: string, nameTranslationKey: string, descriptionTranslationKey: string } | null | undefined } | null | undefined, paymentMethods?: Array<{ __typename?: 'PaymentMethod', id?: string | null | undefined, name: string, isDefault: boolean, created: any, updated: any } | null | undefined> | null | undefined } | null | undefined };\n\nexport type OrganizationWithPaymentDetailsQueryVariables = Exact<{\n id: Scalars['ID'];\n}>;\n\n\nexport type OrganizationWithPaymentDetailsQuery = { __typename?: 'Query', organization?: { __typename?: 'Organization', id?: string | null | undefined, name: string, vatNumber?: string | null | undefined, organizationNumber?: string | null | undefined, billingEmail?: string | null | undefined, contactEmail?: string | null | undefined, phoneNumber?: string | null | undefined, url?: string | null | undefined, isSystem: boolean, billingAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, addressLine2?: string | null | undefined, addressLine3?: string | null | undefined, postalcode: string, streetNumber?: string | null | undefined, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, city: { __typename?: 'City', id?: string | null | undefined, name: string, location?: { __typename?: 'Location', longitude: number, latitude: number } | null | undefined, subdivision: { __typename?: 'Subdivision', id?: string | null | undefined, name: string, country: { __typename?: 'Country', id?: string | null | undefined, iso: string, name?: string | null | undefined } } } } | null | undefined, organizationSubscription?: { __typename?: 'OrganizationSubscription', quantity: number, validTo: any, externalStatus?: string | null | undefined, subscriptionPlan?: { __typename?: 'SubscriptionPlan', id?: string | null | undefined, name: string, nameTranslationKey: string, descriptionTranslationKey: string, externalId: string } | null | undefined } | null | undefined, paymentMethods?: Array<{ __typename?: 'PaymentMethod', id?: string | null | undefined, name: string, isDefault: boolean, created: any, updated: any } | null | undefined> | null | undefined } | null | undefined };\n\nexport type OrganizationsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type OrganizationsQuery = { __typename?: 'Query', organizations: Array<{ __typename?: 'Organization', id?: string | null | undefined, name: string } | null | undefined> };\n\nexport type OrganizationsWithDevicesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type OrganizationsWithDevicesQuery = { __typename?: 'Query', organizations: Array<{ __typename?: 'Organization', id?: string | null | undefined, name: string, devices?: Array<{ __typename?: 'Device', id?: string | null | undefined, displayName: string, ioTDeviceId: string } | null | undefined> | null | undefined } | null | undefined> };\n\nexport type OrganizationsWithLogoQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type OrganizationsWithLogoQuery = { __typename?: 'Query', organizations: Array<{ __typename?: 'Organization', id?: string | null | undefined, name: string, logotype?: { __typename?: 'Asset', id?: string | null | undefined, lastShortTermReadToken?: string | null | undefined } | null | undefined } | null | undefined> };\n\nexport type OrganizationsWithOfficeAddressQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type OrganizationsWithOfficeAddressQuery = { __typename?: 'Query', organizations: Array<{ __typename?: 'Organization', id?: string | null | undefined, name: string, officeAddress?: { __typename?: 'Address', id?: string | null | undefined, addressLine1: string, postalcode: string, city: { __typename?: 'City', id?: string | null | undefined, name: string } } | null | undefined, logotype?: { __typename?: 'Asset', id?: string | null | undefined, assetType?: AssetType | null | undefined, filename: string, mimeType: string, size: any, displayName?: string | null | undefined, lastShortTermReadToken?: string | null | undefined, lastShortTermWriteToken?: string | null | undefined } | null | undefined } | null | undefined> };\n\nexport type OrganizationsWithUsersQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type OrganizationsWithUsersQuery = { __typename?: 'Query', organizations: Array<{ __typename?: 'Organization', id?: string | null | undefined, name: string, users?: Array<{ __typename?: 'User', id?: string | null | undefined, externalUserId?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> };\n\nexport type ParkgardenMonthActivitiesQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type ParkgardenMonthActivitiesQuery = { __typename?: 'Query', scrapers: { __typename?: 'ScraperQueries', nassjokommun: { __typename?: 'NassjoKommunScraperQueries', monthActivities: Array<{ __typename?: 'ScheduledActivity', title: string, startTime?: any | null | undefined, endTime?: any | null | undefined, content?: string | null | undefined } | null | undefined> } } };\n\nexport type ParkgardenWeekLunchQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type ParkgardenWeekLunchQuery = { __typename?: 'Query', scrapers: { __typename?: 'ScraperQueries', nassjokommun: { __typename?: 'NassjoKommunScraperQueries', weekLunchMenus: Array<{ __typename?: 'LunchWeek', title: string, number: number, days: Array<{ __typename?: 'LunchDay', nameOfDay: string, lunch?: string | null | undefined, alternative?: string | null | undefined, dessert?: string | null | undefined } | null | undefined> } | null | undefined> } } };\n\nexport type SubscriptionsQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type SubscriptionsQuery = { __typename?: 'Query', subscriptionPlans: Array<{ __typename?: 'SubscriptionPlan', id?: string | null | undefined, name: string, descriptionTranslationKey: string, nameTranslationKey: string, externalId: string } | null | undefined> };\n\nexport type UsersQueryVariables = Exact<{ [key: string]: never; }>;\n\n\nexport type UsersQuery = { __typename?: 'Query', users: Array<{ __typename?: 'User', id?: string | null | undefined, externalUserId?: string | null | undefined, username?: string | null | undefined, fullName?: string | null | undefined, email?: string | null | undefined, picture?: string | null | undefined } | null | undefined> };\n\n\nexport const CreateOrganizationAssetsDocument = gql`\n mutation CreateOrganizationAssets($input: CreateOrganizationAssetsInput!) {\n createOrganizationAssets(input: $input) {\n assets {\n id\n filename\n assetType\n displayName\n mimeType\n size\n lastShortTermReadToken\n lastShortTermWriteToken\n }\n }\n}\n `;\nexport type CreateOrganizationAssetsMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateOrganizationAssetsMutation__\n *\n * To run a mutation, you first call `useCreateOrganizationAssetsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateOrganizationAssetsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createOrganizationAssetsMutation, { data, loading, error }] = useCreateOrganizationAssetsMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateOrganizationAssetsMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateOrganizationAssetsDocument, options);\n }\nexport type CreateOrganizationAssetsMutationHookResult = ReturnType;\nexport type CreateOrganizationAssetsMutationResult = Apollo.MutationResult;\nexport type CreateOrganizationAssetsMutationOptions = Apollo.BaseMutationOptions;\nexport const AddOrganizationPaymentMethodDocument = gql`\n mutation addOrganizationPaymentMethod($input: AddOrganizationPaymentMethodInput!) {\n addOrganizationPaymentMethod(input: $input) {\n result\n organization {\n id\n name\n }\n }\n}\n `;\nexport type AddOrganizationPaymentMethodMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAddOrganizationPaymentMethodMutation__\n *\n * To run a mutation, you first call `useAddOrganizationPaymentMethodMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddOrganizationPaymentMethodMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addOrganizationPaymentMethodMutation, { data, loading, error }] = useAddOrganizationPaymentMethodMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAddOrganizationPaymentMethodMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AddOrganizationPaymentMethodDocument, options);\n }\nexport type AddOrganizationPaymentMethodMutationHookResult = ReturnType;\nexport type AddOrganizationPaymentMethodMutationResult = Apollo.MutationResult;\nexport type AddOrganizationPaymentMethodMutationOptions = Apollo.BaseMutationOptions;\nexport const AssignComponentAssetDocument = gql`\n mutation AssignComponentAsset($input: AssignComponentAssetInput!) {\n assignComponentAsset(input: $input) {\n component {\n id\n }\n asset {\n id\n }\n }\n}\n `;\nexport type AssignComponentAssetMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAssignComponentAssetMutation__\n *\n * To run a mutation, you first call `useAssignComponentAssetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignComponentAssetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignComponentAssetMutation, { data, loading, error }] = useAssignComponentAssetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssignComponentAssetMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AssignComponentAssetDocument, options);\n }\nexport type AssignComponentAssetMutationHookResult = ReturnType;\nexport type AssignComponentAssetMutationResult = Apollo.MutationResult;\nexport type AssignComponentAssetMutationOptions = Apollo.BaseMutationOptions;\nexport const AssignComponentDataSourceDocument = gql`\n mutation AssignComponentDataSource($input: AssignComponentDataSourceInput!) {\n assignComponentDataSource(input: $input) {\n component {\n id\n }\n dataSource {\n id\n }\n }\n}\n `;\nexport type AssignComponentDataSourceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAssignComponentDataSourceMutation__\n *\n * To run a mutation, you first call `useAssignComponentDataSourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignComponentDataSourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignComponentDataSourceMutation, { data, loading, error }] = useAssignComponentDataSourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssignComponentDataSourceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AssignComponentDataSourceDocument, options);\n }\nexport type AssignComponentDataSourceMutationHookResult = ReturnType;\nexport type AssignComponentDataSourceMutationResult = Apollo.MutationResult;\nexport type AssignComponentDataSourceMutationOptions = Apollo.BaseMutationOptions;\nexport const AssignDataSourceAssetDocument = gql`\n mutation AssignDataSourceAsset($input: AssignDataSourceAssetInput!) {\n assignDataSourceAsset(input: $input) {\n dataSource {\n id\n }\n asset {\n id\n }\n }\n}\n `;\nexport type AssignDataSourceAssetMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAssignDataSourceAssetMutation__\n *\n * To run a mutation, you first call `useAssignDataSourceAssetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignDataSourceAssetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignDataSourceAssetMutation, { data, loading, error }] = useAssignDataSourceAssetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssignDataSourceAssetMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AssignDataSourceAssetDocument, options);\n }\nexport type AssignDataSourceAssetMutationHookResult = ReturnType;\nexport type AssignDataSourceAssetMutationResult = Apollo.MutationResult;\nexport type AssignDataSourceAssetMutationOptions = Apollo.BaseMutationOptions;\nexport const AssignDeviceControllerDocument = gql`\n mutation assignDeviceController($input: AssignDeviceControllerInput!) {\n assignDeviceController(input: $input) {\n device {\n id\n displayName\n }\n }\n}\n `;\nexport type AssignDeviceControllerMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAssignDeviceControllerMutation__\n *\n * To run a mutation, you first call `useAssignDeviceControllerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignDeviceControllerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignDeviceControllerMutation, { data, loading, error }] = useAssignDeviceControllerMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssignDeviceControllerMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AssignDeviceControllerDocument, options);\n }\nexport type AssignDeviceControllerMutationHookResult = ReturnType;\nexport type AssignDeviceControllerMutationResult = Apollo.MutationResult;\nexport type AssignDeviceControllerMutationOptions = Apollo.BaseMutationOptions;\nexport const AssignDevicePageDocument = gql`\n mutation AssignDevicePage($input: AssignDevicePageInput!) {\n assignDevicePage(input: $input) {\n device {\n id\n displayName\n ioTDeviceId\n }\n }\n}\n `;\nexport type AssignDevicePageMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAssignDevicePageMutation__\n *\n * To run a mutation, you first call `useAssignDevicePageMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignDevicePageMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignDevicePageMutation, { data, loading, error }] = useAssignDevicePageMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssignDevicePageMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AssignDevicePageDocument, options);\n }\nexport type AssignDevicePageMutationHookResult = ReturnType;\nexport type AssignDevicePageMutationResult = Apollo.MutationResult;\nexport type AssignDevicePageMutationOptions = Apollo.BaseMutationOptions;\nexport const AssignPageComponentDocument = gql`\n mutation AssignPageComponent($input: AssignPageComponentInput!) {\n assignPageComponent(input: $input) {\n result\n component {\n id\n name\n }\n page {\n id\n name\n }\n }\n}\n `;\nexport type AssignPageComponentMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAssignPageComponentMutation__\n *\n * To run a mutation, you first call `useAssignPageComponentMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAssignPageComponentMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [assignPageComponentMutation, { data, loading, error }] = useAssignPageComponentMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssignPageComponentMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AssignPageComponentDocument, options);\n }\nexport type AssignPageComponentMutationHookResult = ReturnType;\nexport type AssignPageComponentMutationResult = Apollo.MutationResult;\nexport type AssignPageComponentMutationOptions = Apollo.BaseMutationOptions;\nexport const CancelOrganizationSubscriptionDocument = gql`\n mutation cancelOrganizationSubscription($input: CancelOrganizationSubscriptionInput!) {\n cancelOrganizationSubscription(input: $input) {\n result\n subscription {\n subscriptionPlan {\n id\n name\n }\n }\n }\n}\n `;\nexport type CancelOrganizationSubscriptionMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCancelOrganizationSubscriptionMutation__\n *\n * To run a mutation, you first call `useCancelOrganizationSubscriptionMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCancelOrganizationSubscriptionMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [cancelOrganizationSubscriptionMutation, { data, loading, error }] = useCancelOrganizationSubscriptionMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCancelOrganizationSubscriptionMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CancelOrganizationSubscriptionDocument, options);\n }\nexport type CancelOrganizationSubscriptionMutationHookResult = ReturnType;\nexport type CancelOrganizationSubscriptionMutationResult = Apollo.MutationResult;\nexport type CancelOrganizationSubscriptionMutationOptions = Apollo.BaseMutationOptions;\nexport const CompleteDeviceLinkDocument = gql`\n mutation CompleteDeviceLink($input: CompleteDeviceLinkInput!) {\n completeDeviceLink(input: $input) {\n deviceCredentials {\n deviceId\n deviceIoTId\n deviceIoTKey\n linkComplete\n ioTHost\n organizationId\n }\n }\n}\n `;\nexport type CompleteDeviceLinkMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCompleteDeviceLinkMutation__\n *\n * To run a mutation, you first call `useCompleteDeviceLinkMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCompleteDeviceLinkMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [completeDeviceLinkMutation, { data, loading, error }] = useCompleteDeviceLinkMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCompleteDeviceLinkMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CompleteDeviceLinkDocument, options);\n }\nexport type CompleteDeviceLinkMutationHookResult = ReturnType;\nexport type CompleteDeviceLinkMutationResult = Apollo.MutationResult;\nexport type CompleteDeviceLinkMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateAddressDocument = gql`\n mutation CreateAddress($input: AddressInput!) {\n createAddress(input: $input) {\n address {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n }\n}\n `;\nexport type CreateAddressMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateAddressMutation__\n *\n * To run a mutation, you first call `useCreateAddressMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateAddressMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createAddressMutation, { data, loading, error }] = useCreateAddressMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateAddressMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateAddressDocument, options);\n }\nexport type CreateAddressMutationHookResult = ReturnType;\nexport type CreateAddressMutationResult = Apollo.MutationResult;\nexport type CreateAddressMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateDataSourceDocument = gql`\n mutation CreateDataSource($input: DataSourceInput!) {\n createDataSource(input: $input) {\n dataSource {\n id\n dataSourceType\n name\n configuration\n created\n updated\n organization {\n name\n isSystem\n }\n }\n }\n}\n `;\nexport type CreateDataSourceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateDataSourceMutation__\n *\n * To run a mutation, you first call `useCreateDataSourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateDataSourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createDataSourceMutation, { data, loading, error }] = useCreateDataSourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateDataSourceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateDataSourceDocument, options);\n }\nexport type CreateDataSourceMutationHookResult = ReturnType;\nexport type CreateDataSourceMutationResult = Apollo.MutationResult;\nexport type CreateDataSourceMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateDeviceLinkTicketDocument = gql`\n mutation CreateDeviceLinkTicket($input: CreateDeviceLinkTicketInput!) {\n createDeviceLinkTicket(input: $input) {\n ticket {\n code\n id\n deviceTempId\n validUntil\n }\n }\n}\n `;\nexport type CreateDeviceLinkTicketMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateDeviceLinkTicketMutation__\n *\n * To run a mutation, you first call `useCreateDeviceLinkTicketMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateDeviceLinkTicketMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createDeviceLinkTicketMutation, { data, loading, error }] = useCreateDeviceLinkTicketMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateDeviceLinkTicketMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateDeviceLinkTicketDocument, options);\n }\nexport type CreateDeviceLinkTicketMutationHookResult = ReturnType;\nexport type CreateDeviceLinkTicketMutationResult = Apollo.MutationResult;\nexport type CreateDeviceLinkTicketMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateOrganizationDocument = gql`\n mutation CreateOrganization($input: OrganizationInput!) {\n createOrganization(input: $input) {\n organization {\n id\n name\n users {\n externalUserId\n }\n devices {\n ioTDeviceId\n }\n }\n }\n}\n `;\nexport type CreateOrganizationMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateOrganizationMutation__\n *\n * To run a mutation, you first call `useCreateOrganizationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateOrganizationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createOrganizationMutation, { data, loading, error }] = useCreateOrganizationMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateOrganizationMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateOrganizationDocument, options);\n }\nexport type CreateOrganizationMutationHookResult = ReturnType;\nexport type CreateOrganizationMutationResult = Apollo.MutationResult;\nexport type CreateOrganizationMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateComponentDocument = gql`\n mutation CreateComponent($input: CreateComponentInput!) {\n createComponent(input: $input) {\n component {\n id\n name\n componentType\n }\n }\n}\n `;\nexport type CreateComponentMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateComponentMutation__\n *\n * To run a mutation, you first call `useCreateComponentMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateComponentMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createComponentMutation, { data, loading, error }] = useCreateComponentMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useCreateComponentMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateComponentDocument, options);\n }\nexport type CreateComponentMutationHookResult = ReturnType;\nexport type CreateComponentMutationResult = Apollo.MutationResult;\nexport type CreateComponentMutationOptions = Apollo.BaseMutationOptions;\nexport const LinkDeviceDocument = gql`\n mutation LinkDevice($input: LinkDeviceInput!) {\n linkDevice(input: $input) {\n result\n device {\n id\n displayName\n ioTDeviceId\n placement\n timeZoneId\n screenShotSasUrl\n screenShotThumbnailSasUrl\n organization {\n id\n name\n }\n address {\n addressLine1\n city {\n name\n }\n }\n }\n }\n}\n `;\nexport type LinkDeviceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useLinkDeviceMutation__\n *\n * To run a mutation, you first call `useLinkDeviceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useLinkDeviceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [linkDeviceMutation, { data, loading, error }] = useLinkDeviceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useLinkDeviceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(LinkDeviceDocument, options);\n }\nexport type LinkDeviceMutationHookResult = ReturnType;\nexport type LinkDeviceMutationResult = Apollo.MutationResult;\nexport type LinkDeviceMutationOptions = Apollo.BaseMutationOptions;\nexport const NotifyAssetChangedDocument = gql`\n mutation NotifyAssetChanged($input: ID!) {\n notifyAssetChanged(input: $input)\n}\n `;\nexport type NotifyAssetChangedMutationFn = Apollo.MutationFunction;\n\n/**\n * __useNotifyAssetChangedMutation__\n *\n * To run a mutation, you first call `useNotifyAssetChangedMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useNotifyAssetChangedMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [notifyAssetChangedMutation, { data, loading, error }] = useNotifyAssetChangedMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useNotifyAssetChangedMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(NotifyAssetChangedDocument, options);\n }\nexport type NotifyAssetChangedMutationHookResult = ReturnType;\nexport type NotifyAssetChangedMutationResult = Apollo.MutationResult;\nexport type NotifyAssetChangedMutationOptions = Apollo.BaseMutationOptions;\nexport const RemoveAssetDocument = gql`\n mutation RemoveAsset($input: ID!) {\n removeAsset(input: $input) {\n result\n asset {\n id\n assetType\n filename\n mimeType\n size\n }\n }\n}\n `;\nexport type RemoveAssetMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRemoveAssetMutation__\n *\n * To run a mutation, you first call `useRemoveAssetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveAssetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeAssetMutation, { data, loading, error }] = useRemoveAssetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveAssetMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RemoveAssetDocument, options);\n }\nexport type RemoveAssetMutationHookResult = ReturnType;\nexport type RemoveAssetMutationResult = Apollo.MutationResult;\nexport type RemoveAssetMutationOptions = Apollo.BaseMutationOptions;\nexport const RemoveDataSourceDocument = gql`\n mutation RemoveDataSource($input: ID!) {\n removeDataSource(input: $input) {\n result\n dataSource {\n id\n dataSourceType\n name\n configuration\n organization {\n name\n }\n }\n }\n}\n `;\nexport type RemoveDataSourceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRemoveDataSourceMutation__\n *\n * To run a mutation, you first call `useRemoveDataSourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveDataSourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeDataSourceMutation, { data, loading, error }] = useRemoveDataSourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveDataSourceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RemoveDataSourceDocument, options);\n }\nexport type RemoveDataSourceMutationHookResult = ReturnType;\nexport type RemoveDataSourceMutationResult = Apollo.MutationResult;\nexport type RemoveDataSourceMutationOptions = Apollo.BaseMutationOptions;\nexport const RemoveDeviceDocument = gql`\n mutation RemoveDevice($input: RemoveDeviceInput!) {\n removeDevice(input: $input) {\n device {\n id\n displayName\n }\n }\n}\n `;\nexport type RemoveDeviceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRemoveDeviceMutation__\n *\n * To run a mutation, you first call `useRemoveDeviceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveDeviceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeDeviceMutation, { data, loading, error }] = useRemoveDeviceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveDeviceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RemoveDeviceDocument, options);\n }\nexport type RemoveDeviceMutationHookResult = ReturnType;\nexport type RemoveDeviceMutationResult = Apollo.MutationResult;\nexport type RemoveDeviceMutationOptions = Apollo.BaseMutationOptions;\nexport const RemoveOrganizationDocument = gql`\n mutation RemoveOrganization($input: ID!) {\n removeOrganization(input: $input) {\n organization {\n id\n name\n }\n }\n}\n `;\nexport type RemoveOrganizationMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRemoveOrganizationMutation__\n *\n * To run a mutation, you first call `useRemoveOrganizationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveOrganizationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeOrganizationMutation, { data, loading, error }] = useRemoveOrganizationMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveOrganizationMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RemoveOrganizationDocument, options);\n }\nexport type RemoveOrganizationMutationHookResult = ReturnType;\nexport type RemoveOrganizationMutationResult = Apollo.MutationResult;\nexport type RemoveOrganizationMutationOptions = Apollo.BaseMutationOptions;\nexport const RemoveOrganizationPaymentMethodDocument = gql`\n mutation removeOrganizationPaymentMethod($input: RemoveOrganizationPaymentMethodInput!) {\n removeOrganizationPaymentMethod(input: $input) {\n result\n organization {\n id\n name\n }\n }\n}\n `;\nexport type RemoveOrganizationPaymentMethodMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRemoveOrganizationPaymentMethodMutation__\n *\n * To run a mutation, you first call `useRemoveOrganizationPaymentMethodMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveOrganizationPaymentMethodMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeOrganizationPaymentMethodMutation, { data, loading, error }] = useRemoveOrganizationPaymentMethodMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveOrganizationPaymentMethodMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RemoveOrganizationPaymentMethodDocument, options);\n }\nexport type RemoveOrganizationPaymentMethodMutationHookResult = ReturnType;\nexport type RemoveOrganizationPaymentMethodMutationResult = Apollo.MutationResult;\nexport type RemoveOrganizationPaymentMethodMutationOptions = Apollo.BaseMutationOptions;\nexport const RemoveComponentDocument = gql`\n mutation RemoveComponent($input: ID!) {\n removeComponent(input: $input) {\n result\n component {\n id\n name\n }\n }\n}\n `;\nexport type RemoveComponentMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRemoveComponentMutation__\n *\n * To run a mutation, you first call `useRemoveComponentMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRemoveComponentMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [removeComponentMutation, { data, loading, error }] = useRemoveComponentMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useRemoveComponentMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RemoveComponentDocument, options);\n }\nexport type RemoveComponentMutationHookResult = ReturnType;\nexport type RemoveComponentMutationResult = Apollo.MutationResult;\nexport type RemoveComponentMutationOptions = Apollo.BaseMutationOptions;\nexport const SendCommandDocument = gql`\n mutation SendCommand($input: SendCommandInput!) {\n sendCommand(input: $input) {\n success\n }\n}\n `;\nexport type SendCommandMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSendCommandMutation__\n *\n * To run a mutation, you first call `useSendCommandMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSendCommandMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [sendCommandMutation, { data, loading, error }] = useSendCommandMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useSendCommandMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SendCommandDocument, options);\n }\nexport type SendCommandMutationHookResult = ReturnType;\nexport type SendCommandMutationResult = Apollo.MutationResult;\nexport type SendCommandMutationOptions = Apollo.BaseMutationOptions;\nexport const SetupNewDeviceDocument = gql`\n mutation setupNewDevice($input: SetupNewDeviceInput!) {\n setupNewDevice(input: $input) {\n device {\n id\n }\n }\n}\n `;\nexport type SetupNewDeviceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSetupNewDeviceMutation__\n *\n * To run a mutation, you first call `useSetupNewDeviceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSetupNewDeviceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [setupNewDeviceMutation, { data, loading, error }] = useSetupNewDeviceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useSetupNewDeviceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SetupNewDeviceDocument, options);\n }\nexport type SetupNewDeviceMutationHookResult = ReturnType;\nexport type SetupNewDeviceMutationResult = Apollo.MutationResult;\nexport type SetupNewDeviceMutationOptions = Apollo.BaseMutationOptions;\nexport const UnassignComponentAssetDocument = gql`\n mutation UnassignComponentAsset($input: UnassignComponentAssetInput!) {\n unassignComponentAsset(input: $input) {\n component {\n id\n }\n asset {\n id\n }\n }\n}\n `;\nexport type UnassignComponentAssetMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUnassignComponentAssetMutation__\n *\n * To run a mutation, you first call `useUnassignComponentAssetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUnassignComponentAssetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [unassignComponentAssetMutation, { data, loading, error }] = useUnassignComponentAssetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUnassignComponentAssetMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UnassignComponentAssetDocument, options);\n }\nexport type UnassignComponentAssetMutationHookResult = ReturnType;\nexport type UnassignComponentAssetMutationResult = Apollo.MutationResult;\nexport type UnassignComponentAssetMutationOptions = Apollo.BaseMutationOptions;\nexport const UnassignDataSourceAssetDocument = gql`\n mutation UnassignDataSourceAsset($input: UnassignDataSourceAssetInput!) {\n unassignDataSourceAsset(input: $input) {\n dataSource {\n id\n }\n asset {\n id\n }\n }\n}\n `;\nexport type UnassignDataSourceAssetMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUnassignDataSourceAssetMutation__\n *\n * To run a mutation, you first call `useUnassignDataSourceAssetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUnassignDataSourceAssetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [unassignDataSourceAssetMutation, { data, loading, error }] = useUnassignDataSourceAssetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUnassignDataSourceAssetMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UnassignDataSourceAssetDocument, options);\n }\nexport type UnassignDataSourceAssetMutationHookResult = ReturnType;\nexport type UnassignDataSourceAssetMutationResult = Apollo.MutationResult;\nexport type UnassignDataSourceAssetMutationOptions = Apollo.BaseMutationOptions;\nexport const UnassignPageComponentDocument = gql`\n mutation UnassignPageComponent($input: UnassignPageComponentInput!) {\n unassignPageComponent(input: $input) {\n result\n component {\n id\n name\n }\n page {\n id\n name\n }\n }\n}\n `;\nexport type UnassignPageComponentMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUnassignPageComponentMutation__\n *\n * To run a mutation, you first call `useUnassignPageComponentMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUnassignPageComponentMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [unassignPageComponentMutation, { data, loading, error }] = useUnassignPageComponentMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUnassignPageComponentMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UnassignPageComponentDocument, options);\n }\nexport type UnassignPageComponentMutationHookResult = ReturnType;\nexport type UnassignPageComponentMutationResult = Apollo.MutationResult;\nexport type UnassignPageComponentMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateAssetDocument = gql`\n mutation UpdateAsset($input: UpdateAssetInput!) {\n updateAsset(input: $input) {\n result\n asset {\n id\n assetType\n displayName\n filename\n mimeType\n size\n organization {\n id\n name\n }\n }\n }\n}\n `;\nexport type UpdateAssetMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateAssetMutation__\n *\n * To run a mutation, you first call `useUpdateAssetMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateAssetMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateAssetMutation, { data, loading, error }] = useUpdateAssetMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateAssetMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateAssetDocument, options);\n }\nexport type UpdateAssetMutationHookResult = ReturnType;\nexport type UpdateAssetMutationResult = Apollo.MutationResult;\nexport type UpdateAssetMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateDataSourceDocument = gql`\n mutation UpdateDataSource($input: UpdateDataSourceInput!) {\n updateDataSource(input: $input) {\n dataSource {\n id\n dataSourceType\n name\n configuration\n organization {\n name\n }\n }\n }\n}\n `;\nexport type UpdateDataSourceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateDataSourceMutation__\n *\n * To run a mutation, you first call `useUpdateDataSourceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateDataSourceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateDataSourceMutation, { data, loading, error }] = useUpdateDataSourceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateDataSourceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateDataSourceDocument, options);\n }\nexport type UpdateDataSourceMutationHookResult = ReturnType;\nexport type UpdateDataSourceMutationResult = Apollo.MutationResult;\nexport type UpdateDataSourceMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateDeviceDocument = gql`\n mutation UpdateDevice($input: DeviceUpdateInput!) {\n updateDevice(input: $input) {\n device {\n id\n displayName\n ioTDeviceId\n placement\n timeZoneId\n model\n organization {\n id\n name\n }\n address {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n }\n }\n}\n `;\nexport type UpdateDeviceMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateDeviceMutation__\n *\n * To run a mutation, you first call `useUpdateDeviceMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateDeviceMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateDeviceMutation, { data, loading, error }] = useUpdateDeviceMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateDeviceMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateDeviceDocument, options);\n }\nexport type UpdateDeviceMutationHookResult = ReturnType;\nexport type UpdateDeviceMutationResult = Apollo.MutationResult;\nexport type UpdateDeviceMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateOrganizationDocument = gql`\n mutation UpdateOrganization($input: OrganizationUpdateInput!) {\n updateOrganization(input: $input) {\n organization {\n id\n name\n organizationNumber\n phoneNumber\n url\n vatNumber\n contactEmail\n billingEmail\n billingAddress {\n id\n addressLine1\n postalcode\n city {\n id\n name\n }\n }\n officeAddress {\n id\n addressLine1\n postalcode\n city {\n id\n name\n }\n }\n }\n }\n}\n `;\nexport type UpdateOrganizationMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateOrganizationMutation__\n *\n * To run a mutation, you first call `useUpdateOrganizationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateOrganizationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateOrganizationMutation, { data, loading, error }] = useUpdateOrganizationMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateOrganizationMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateOrganizationDocument, options);\n }\nexport type UpdateOrganizationMutationHookResult = ReturnType;\nexport type UpdateOrganizationMutationResult = Apollo.MutationResult;\nexport type UpdateOrganizationMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateOrganizationSubscriptionDocument = gql`\n mutation updateOrganizationSubscription($input: UpdateOrganizationSubscriptionInput!) {\n updateOrganizationSubscription(input: $input) {\n clientSecret\n status\n organization {\n id\n name\n }\n }\n}\n `;\nexport type UpdateOrganizationSubscriptionMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateOrganizationSubscriptionMutation__\n *\n * To run a mutation, you first call `useUpdateOrganizationSubscriptionMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateOrganizationSubscriptionMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateOrganizationSubscriptionMutation, { data, loading, error }] = useUpdateOrganizationSubscriptionMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateOrganizationSubscriptionMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateOrganizationSubscriptionDocument, options);\n }\nexport type UpdateOrganizationSubscriptionMutationHookResult = ReturnType;\nexport type UpdateOrganizationSubscriptionMutationResult = Apollo.MutationResult;\nexport type UpdateOrganizationSubscriptionMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdatePageDocument = gql`\n mutation UpdatePage($input: UpdatePageInput!) {\n updatePage(input: $input) {\n result\n page {\n id\n }\n }\n}\n `;\nexport type UpdatePageMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdatePageMutation__\n *\n * To run a mutation, you first call `useUpdatePageMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdatePageMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updatePageMutation, { data, loading, error }] = useUpdatePageMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdatePageMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdatePageDocument, options);\n }\nexport type UpdatePageMutationHookResult = ReturnType;\nexport type UpdatePageMutationResult = Apollo.MutationResult;\nexport type UpdatePageMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateComponentDocument = gql`\n mutation UpdateComponent($input: UpdateComponentInput!) {\n updateComponent(input: $input) {\n component {\n id\n name\n componentType\n }\n }\n}\n `;\nexport type UpdateComponentMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateComponentMutation__\n *\n * To run a mutation, you first call `useUpdateComponentMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateComponentMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateComponentMutation, { data, loading, error }] = useUpdateComponentMutation({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useUpdateComponentMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateComponentDocument, options);\n }\nexport type UpdateComponentMutationHookResult = ReturnType;\nexport type UpdateComponentMutationResult = Apollo.MutationResult;\nexport type UpdateComponentMutationOptions = Apollo.BaseMutationOptions;\nexport const AddressDocument = gql`\n query Address($id: ID!) {\n address(id: $id) {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n location {\n latitude\n longitude\n }\n city {\n id\n location {\n latitude\n longitude\n }\n name\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n}\n `;\n\n/**\n * __useAddressQuery__\n *\n * To run a query within a React component, call `useAddressQuery` and pass it any options that fit your needs.\n * When your component renders, `useAddressQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useAddressQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\nexport function useAddressQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(AddressDocument, options);\n }\nexport function useAddressLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(AddressDocument, options);\n }\nexport type AddressQueryHookResult = ReturnType;\nexport type AddressLazyQueryHookResult = ReturnType;\nexport type AddressQueryResult = Apollo.QueryResult;\nexport const ApplicationInformationDocument = gql`\n query ApplicationInformation {\n application {\n assemblyInformationalVersion\n assemblyVersion\n name\n loadedAssemblies\n }\n}\n `;\n\n/**\n * __useApplicationInformationQuery__\n *\n * To run a query within a React component, call `useApplicationInformationQuery` and pass it any options that fit your needs.\n * When your component renders, `useApplicationInformationQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useApplicationInformationQuery({\n * variables: {\n * },\n * });\n */\nexport function useApplicationInformationQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ApplicationInformationDocument, options);\n }\nexport function useApplicationInformationLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ApplicationInformationDocument, options);\n }\nexport type ApplicationInformationQueryHookResult = ReturnType;\nexport type ApplicationInformationLazyQueryHookResult = ReturnType;\nexport type ApplicationInformationQueryResult = Apollo.QueryResult;\nexport const AssetDocument = gql`\n query Asset($input: ID!) {\n asset(id: $input) {\n id\n assetType\n filename\n mimeType\n size\n displayName\n lastShortTermReadToken\n lastShortTermWriteToken\n organization {\n id\n name\n }\n }\n}\n `;\n\n/**\n * __useAssetQuery__\n *\n * To run a query within a React component, call `useAssetQuery` and pass it any options that fit your needs.\n * When your component renders, `useAssetQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useAssetQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssetQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(AssetDocument, options);\n }\nexport function useAssetLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(AssetDocument, options);\n }\nexport type AssetQueryHookResult = ReturnType;\nexport type AssetLazyQueryHookResult = ReturnType;\nexport type AssetQueryResult = Apollo.QueryResult;\nexport const AssetsDocument = gql`\n query Assets($input: AssetQueryInput) {\n assets(input: $input) {\n id\n assetType\n filename\n mimeType\n size\n displayName\n lastShortTermReadToken\n lastShortTermWriteToken\n organization {\n id\n name\n }\n }\n}\n `;\n\n/**\n * __useAssetsQuery__\n *\n * To run a query within a React component, call `useAssetsQuery` and pass it any options that fit your needs.\n * When your component renders, `useAssetsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useAssetsQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAssetsQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(AssetsDocument, options);\n }\nexport function useAssetsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(AssetsDocument, options);\n }\nexport type AssetsQueryHookResult = ReturnType;\nexport type AssetsLazyQueryHookResult = ReturnType;\nexport type AssetsQueryResult = Apollo.QueryResult;\nexport const AuditEntriesDocument = gql`\n query AuditEntries($input: AuditEntryQueryInput) {\n auditEntries(input: $input) {\n auditEntryId\n createdBy\n createdDate\n entitySetName\n entityTypeName\n state\n stateName\n }\n}\n `;\n\n/**\n * __useAuditEntriesQuery__\n *\n * To run a query within a React component, call `useAuditEntriesQuery` and pass it any options that fit your needs.\n * When your component renders, `useAuditEntriesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useAuditEntriesQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAuditEntriesQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(AuditEntriesDocument, options);\n }\nexport function useAuditEntriesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(AuditEntriesDocument, options);\n }\nexport type AuditEntriesQueryHookResult = ReturnType;\nexport type AuditEntriesLazyQueryHookResult = ReturnType;\nexport type AuditEntriesQueryResult = Apollo.QueryResult;\nexport const AuditEntryDocument = gql`\n query AuditEntry($input: ID!) {\n auditEntry(id: $input) {\n auditEntryId\n createdBy\n createdDate\n entitySetName\n entityTypeName\n state\n stateName\n properties {\n auditEntryPropertyID\n propertyName\n relationName\n newValue\n oldValue\n }\n }\n}\n `;\n\n/**\n * __useAuditEntryQuery__\n *\n * To run a query within a React component, call `useAuditEntryQuery` and pass it any options that fit your needs.\n * When your component renders, `useAuditEntryQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useAuditEntryQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useAuditEntryQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(AuditEntryDocument, options);\n }\nexport function useAuditEntryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(AuditEntryDocument, options);\n }\nexport type AuditEntryQueryHookResult = ReturnType;\nexport type AuditEntryLazyQueryHookResult = ReturnType;\nexport type AuditEntryQueryResult = Apollo.QueryResult;\nexport const ComponentPickerComponentsDocument = gql`\n query ComponentPickerComponents($input: ComponentQueryInput) {\n components(input: $input) {\n id\n name\n nameTranslationKey\n description\n descriptionTranslationKey\n componentType\n iconName\n tags {\n id\n }\n previewImage {\n id\n lastShortTermReadToken\n }\n }\n}\n `;\n\n/**\n * __useComponentPickerComponentsQuery__\n *\n * To run a query within a React component, call `useComponentPickerComponentsQuery` and pass it any options that fit your needs.\n * When your component renders, `useComponentPickerComponentsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useComponentPickerComponentsQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useComponentPickerComponentsQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ComponentPickerComponentsDocument, options);\n }\nexport function useComponentPickerComponentsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ComponentPickerComponentsDocument, options);\n }\nexport type ComponentPickerComponentsQueryHookResult = ReturnType;\nexport type ComponentPickerComponentsLazyQueryHookResult = ReturnType;\nexport type ComponentPickerComponentsQueryResult = Apollo.QueryResult;\nexport const ComponentPickerTagsDocument = gql`\n query ComponentPickerTags($input: TagQueryInput!) {\n tags(input: $input) {\n id\n parentId\n iconName\n name\n nameTranslationKey\n description\n descriptionTranslationKey\n }\n}\n `;\n\n/**\n * __useComponentPickerTagsQuery__\n *\n * To run a query within a React component, call `useComponentPickerTagsQuery` and pass it any options that fit your needs.\n * When your component renders, `useComponentPickerTagsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useComponentPickerTagsQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useComponentPickerTagsQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ComponentPickerTagsDocument, options);\n }\nexport function useComponentPickerTagsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ComponentPickerTagsDocument, options);\n }\nexport type ComponentPickerTagsQueryHookResult = ReturnType;\nexport type ComponentPickerTagsLazyQueryHookResult = ReturnType;\nexport type ComponentPickerTagsQueryResult = Apollo.QueryResult;\nexport const ControllersDocument = gql`\n query controllers($input: ControllerQueryInput!) {\n controllers(input: $input) {\n name\n id\n }\n}\n `;\n\n/**\n * __useControllersQuery__\n *\n * To run a query within a React component, call `useControllersQuery` and pass it any options that fit your needs.\n * When your component renders, `useControllersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useControllersQuery({\n * variables: {\n * input: // value for 'input'\n * },\n * });\n */\nexport function useControllersQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ControllersDocument, options);\n }\nexport function useControllersLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ControllersDocument, options);\n }\nexport type ControllersQueryHookResult = ReturnType;\nexport type ControllersLazyQueryHookResult = ReturnType;\nexport type ControllersQueryResult = Apollo.QueryResult;\nexport const CurrentUserInfoDocument = gql`\n query CurrentUserInfo {\n currentUser {\n user {\n id\n externalUserId\n email\n fullName\n }\n identity {\n id\n }\n claimsPrincipal {\n claims {\n type\n value\n }\n }\n }\n}\n `;\n\n/**\n * __useCurrentUserInfoQuery__\n *\n * To run a query within a React component, call `useCurrentUserInfoQuery` and pass it any options that fit your needs.\n * When your component renders, `useCurrentUserInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useCurrentUserInfoQuery({\n * variables: {\n * },\n * });\n */\nexport function useCurrentUserInfoQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(CurrentUserInfoDocument, options);\n }\nexport function useCurrentUserInfoLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(CurrentUserInfoDocument, options);\n }\nexport type CurrentUserInfoQueryHookResult = ReturnType;\nexport type CurrentUserInfoLazyQueryHookResult = ReturnType;\nexport type CurrentUserInfoQueryResult = Apollo.QueryResult;\nexport const DataSourcesDocument = gql`\n query DataSources {\n dataSources {\n id\n dataSourceType\n name\n configuration\n organization {\n id\n name\n }\n assets {\n id\n assetType\n mimeType\n lastShortTermReadToken\n }\n }\n}\n `;\n\n/**\n * __useDataSourcesQuery__\n *\n * To run a query within a React component, call `useDataSourcesQuery` and pass it any options that fit your needs.\n * When your component renders, `useDataSourcesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useDataSourcesQuery({\n * variables: {\n * },\n * });\n */\nexport function useDataSourcesQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(DataSourcesDocument, options);\n }\nexport function useDataSourcesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(DataSourcesDocument, options);\n }\nexport type DataSourcesQueryHookResult = ReturnType;\nexport type DataSourcesLazyQueryHookResult = ReturnType;\nexport type DataSourcesQueryResult = Apollo.QueryResult;\nexport const DeviceDocument = gql`\n query Device($id: ID!) {\n device(id: $id) {\n id\n displayName\n ioTDeviceId\n placement\n timeZoneId\n model\n screenShotSasUrl\n screenShotThumbnailSasUrl\n organization {\n id\n name\n }\n controller {\n id\n name\n }\n address {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n }\n}\n `;\n\n/**\n * __useDeviceQuery__\n *\n * To run a query within a React component, call `useDeviceQuery` and pass it any options that fit your needs.\n * When your component renders, `useDeviceQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useDeviceQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\nexport function useDeviceQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(DeviceDocument, options);\n }\nexport function useDeviceLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(DeviceDocument, options);\n }\nexport type DeviceQueryHookResult = ReturnType;\nexport type DeviceLazyQueryHookResult = ReturnType;\nexport type DeviceQueryResult = Apollo.QueryResult;\nexport const DevicesDocument = gql`\n query Devices {\n devices {\n id\n displayName\n ioTDeviceId\n placement\n timeZoneId\n screenShotSasUrl\n screenShotThumbnailSasUrl\n organization {\n id\n name\n }\n address {\n addressLine1\n city {\n name\n }\n }\n }\n}\n `;\n\n/**\n * __useDevicesQuery__\n *\n * To run a query within a React component, call `useDevicesQuery` and pass it any options that fit your needs.\n * When your component renders, `useDevicesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useDevicesQuery({\n * variables: {\n * },\n * });\n */\nexport function useDevicesQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(DevicesDocument, options);\n }\nexport function useDevicesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(DevicesDocument, options);\n }\nexport type DevicesQueryHookResult = ReturnType;\nexport type DevicesLazyQueryHookResult = ReturnType;\nexport type DevicesQueryResult = Apollo.QueryResult;\nexport const GetDeviceDetailsDocument = gql`\n query getDeviceDetails($id: ID!) {\n deviceContext(id: $id) {\n active\n validLicense\n licenseErrorMessage\n organizationName\n initialPresentation\n controller {\n id\n isSystem\n presentations {\n id\n name\n pages {\n id\n name\n organization {\n id\n }\n components {\n transform\n transformOrigin\n height\n width\n verticalAlign\n horizontalAlign\n zIndex\n page {\n id\n }\n component {\n id\n name\n componentType\n configuration\n style\n classNames\n identifier\n iconName\n previewImage {\n id\n }\n assets {\n id\n assetType\n displayName\n mimeType\n lastShortTermReadToken\n }\n dataSource {\n id\n name\n dataSourceType\n assets {\n id\n assetType\n mimeType\n lastShortTermReadToken\n }\n }\n }\n }\n }\n }\n }\n }\n device(id: $id) {\n id\n displayName\n ioTDeviceId\n placement\n timeZoneId\n model\n screenShotSasUrl\n screenShotThumbnailSasUrl\n viewportHeight\n viewportWidth\n organization {\n id\n name\n }\n address {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n }\n}\n `;\n\n/**\n * __useGetDeviceDetailsQuery__\n *\n * To run a query within a React component, call `useGetDeviceDetailsQuery` and pass it any options that fit your needs.\n * When your component renders, `useGetDeviceDetailsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useGetDeviceDetailsQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\nexport function useGetDeviceDetailsQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(GetDeviceDetailsDocument, options);\n }\nexport function useGetDeviceDetailsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(GetDeviceDetailsDocument, options);\n }\nexport type GetDeviceDetailsQueryHookResult = ReturnType;\nexport type GetDeviceDetailsLazyQueryHookResult = ReturnType;\nexport type GetDeviceDetailsQueryResult = Apollo.QueryResult;\nexport const HomeScreenInformationDocument = gql`\n query HomeScreenInformation {\n home {\n organizationCount\n deviceCount\n dataSourceCount\n componentCount\n hasInitializedOrganization\n hasInitializedDevice\n hasInitializedComponent\n notifications {\n subject\n subjectId\n notificationType\n }\n lastActivity {\n timestamp\n itemName\n user {\n id\n email\n username\n fullName\n picture\n }\n }\n }\n}\n `;\n\n/**\n * __useHomeScreenInformationQuery__\n *\n * To run a query within a React component, call `useHomeScreenInformationQuery` and pass it any options that fit your needs.\n * When your component renders, `useHomeScreenInformationQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useHomeScreenInformationQuery({\n * variables: {\n * },\n * });\n */\nexport function useHomeScreenInformationQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(HomeScreenInformationDocument, options);\n }\nexport function useHomeScreenInformationLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(HomeScreenInformationDocument, options);\n }\nexport type HomeScreenInformationQueryHookResult = ReturnType;\nexport type HomeScreenInformationLazyQueryHookResult = ReturnType;\nexport type HomeScreenInformationQueryResult = Apollo.QueryResult;\nexport const OrganizationDocument = gql`\n query Organization($id: ID!) {\n organization(id: $id) {\n id\n name\n vatNumber\n organizationNumber\n billingEmail\n contactEmail\n phoneNumber\n url\n billingAddress {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n officeAddress {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n }\n}\n `;\n\n/**\n * __useOrganizationQuery__\n *\n * To run a query within a React component, call `useOrganizationQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\nexport function useOrganizationQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationDocument, options);\n }\nexport function useOrganizationLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationDocument, options);\n }\nexport type OrganizationQueryHookResult = ReturnType;\nexport type OrganizationLazyQueryHookResult = ReturnType;\nexport type OrganizationQueryResult = Apollo.QueryResult;\nexport const OrganizationDetailsWithDevicesDocument = gql`\n query OrganizationDetailsWithDevices($id: ID!) {\n organization(id: $id) {\n id\n name\n vatNumber\n organizationNumber\n billingEmail\n contactEmail\n phoneNumber\n url\n billingAddress {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n officeAddress {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n logotype {\n id\n assetType\n filename\n mimeType\n size\n displayName\n lastShortTermReadToken\n lastShortTermWriteToken\n }\n devices {\n id\n displayName\n ioTDeviceId\n placement\n timeZoneId\n screenShotSasUrl\n screenShotThumbnailSasUrl\n organization {\n id\n name\n }\n address {\n addressLine1\n city {\n name\n }\n }\n }\n organizationSubscription {\n quantity\n validTo\n subscriptionPlan {\n id\n name\n nameTranslationKey\n descriptionTranslationKey\n }\n }\n paymentMethods {\n id\n name\n isDefault\n created\n updated\n }\n }\n}\n `;\n\n/**\n * __useOrganizationDetailsWithDevicesQuery__\n *\n * To run a query within a React component, call `useOrganizationDetailsWithDevicesQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationDetailsWithDevicesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationDetailsWithDevicesQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\nexport function useOrganizationDetailsWithDevicesQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationDetailsWithDevicesDocument, options);\n }\nexport function useOrganizationDetailsWithDevicesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationDetailsWithDevicesDocument, options);\n }\nexport type OrganizationDetailsWithDevicesQueryHookResult = ReturnType;\nexport type OrganizationDetailsWithDevicesLazyQueryHookResult = ReturnType;\nexport type OrganizationDetailsWithDevicesQueryResult = Apollo.QueryResult;\nexport const OrganizationWithPaymentDetailsDocument = gql`\n query organizationWithPaymentDetails($id: ID!) {\n organization(id: $id) {\n id\n name\n vatNumber\n organizationNumber\n billingEmail\n contactEmail\n phoneNumber\n url\n isSystem\n billingAddress {\n id\n addressLine1\n addressLine2\n addressLine3\n postalcode\n streetNumber\n location {\n longitude\n latitude\n }\n city {\n id\n name\n location {\n longitude\n latitude\n }\n subdivision {\n id\n name\n country {\n id\n iso\n name\n }\n }\n }\n }\n organizationSubscription {\n quantity\n validTo\n externalStatus\n subscriptionPlan {\n id\n name\n nameTranslationKey\n descriptionTranslationKey\n externalId\n }\n }\n paymentMethods {\n id\n name\n isDefault\n created\n updated\n }\n }\n}\n `;\n\n/**\n * __useOrganizationWithPaymentDetailsQuery__\n *\n * To run a query within a React component, call `useOrganizationWithPaymentDetailsQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationWithPaymentDetailsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationWithPaymentDetailsQuery({\n * variables: {\n * id: // value for 'id'\n * },\n * });\n */\nexport function useOrganizationWithPaymentDetailsQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationWithPaymentDetailsDocument, options);\n }\nexport function useOrganizationWithPaymentDetailsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationWithPaymentDetailsDocument, options);\n }\nexport type OrganizationWithPaymentDetailsQueryHookResult = ReturnType;\nexport type OrganizationWithPaymentDetailsLazyQueryHookResult = ReturnType;\nexport type OrganizationWithPaymentDetailsQueryResult = Apollo.QueryResult;\nexport const OrganizationsDocument = gql`\n query Organizations {\n organizations {\n id\n name\n }\n}\n `;\n\n/**\n * __useOrganizationsQuery__\n *\n * To run a query within a React component, call `useOrganizationsQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationsQuery({\n * variables: {\n * },\n * });\n */\nexport function useOrganizationsQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationsDocument, options);\n }\nexport function useOrganizationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationsDocument, options);\n }\nexport type OrganizationsQueryHookResult = ReturnType;\nexport type OrganizationsLazyQueryHookResult = ReturnType;\nexport type OrganizationsQueryResult = Apollo.QueryResult;\nexport const OrganizationsWithDevicesDocument = gql`\n query OrganizationsWithDevices {\n organizations {\n id\n name\n devices {\n id\n displayName\n ioTDeviceId\n }\n }\n}\n `;\n\n/**\n * __useOrganizationsWithDevicesQuery__\n *\n * To run a query within a React component, call `useOrganizationsWithDevicesQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationsWithDevicesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationsWithDevicesQuery({\n * variables: {\n * },\n * });\n */\nexport function useOrganizationsWithDevicesQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationsWithDevicesDocument, options);\n }\nexport function useOrganizationsWithDevicesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationsWithDevicesDocument, options);\n }\nexport type OrganizationsWithDevicesQueryHookResult = ReturnType;\nexport type OrganizationsWithDevicesLazyQueryHookResult = ReturnType;\nexport type OrganizationsWithDevicesQueryResult = Apollo.QueryResult;\nexport const OrganizationsWithLogoDocument = gql`\n query OrganizationsWithLogo {\n organizations {\n id\n name\n logotype {\n id\n lastShortTermReadToken\n }\n }\n}\n `;\n\n/**\n * __useOrganizationsWithLogoQuery__\n *\n * To run a query within a React component, call `useOrganizationsWithLogoQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationsWithLogoQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationsWithLogoQuery({\n * variables: {\n * },\n * });\n */\nexport function useOrganizationsWithLogoQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationsWithLogoDocument, options);\n }\nexport function useOrganizationsWithLogoLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationsWithLogoDocument, options);\n }\nexport type OrganizationsWithLogoQueryHookResult = ReturnType;\nexport type OrganizationsWithLogoLazyQueryHookResult = ReturnType;\nexport type OrganizationsWithLogoQueryResult = Apollo.QueryResult;\nexport const OrganizationsWithOfficeAddressDocument = gql`\n query OrganizationsWithOfficeAddress {\n organizations {\n id\n name\n officeAddress {\n id\n addressLine1\n postalcode\n city {\n id\n name\n }\n }\n logotype {\n id\n assetType\n filename\n mimeType\n size\n displayName\n lastShortTermReadToken\n lastShortTermWriteToken\n }\n }\n}\n `;\n\n/**\n * __useOrganizationsWithOfficeAddressQuery__\n *\n * To run a query within a React component, call `useOrganizationsWithOfficeAddressQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationsWithOfficeAddressQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationsWithOfficeAddressQuery({\n * variables: {\n * },\n * });\n */\nexport function useOrganizationsWithOfficeAddressQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationsWithOfficeAddressDocument, options);\n }\nexport function useOrganizationsWithOfficeAddressLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationsWithOfficeAddressDocument, options);\n }\nexport type OrganizationsWithOfficeAddressQueryHookResult = ReturnType;\nexport type OrganizationsWithOfficeAddressLazyQueryHookResult = ReturnType;\nexport type OrganizationsWithOfficeAddressQueryResult = Apollo.QueryResult;\nexport const OrganizationsWithUsersDocument = gql`\n query OrganizationsWithUsers {\n organizations {\n id\n name\n users {\n id\n externalUserId\n }\n }\n}\n `;\n\n/**\n * __useOrganizationsWithUsersQuery__\n *\n * To run a query within a React component, call `useOrganizationsWithUsersQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationsWithUsersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationsWithUsersQuery({\n * variables: {\n * },\n * });\n */\nexport function useOrganizationsWithUsersQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationsWithUsersDocument, options);\n }\nexport function useOrganizationsWithUsersLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationsWithUsersDocument, options);\n }\nexport type OrganizationsWithUsersQueryHookResult = ReturnType;\nexport type OrganizationsWithUsersLazyQueryHookResult = ReturnType;\nexport type OrganizationsWithUsersQueryResult = Apollo.QueryResult;\nexport const ParkgardenMonthActivitiesDocument = gql`\n query ParkgardenMonthActivities {\n scrapers {\n nassjokommun {\n monthActivities {\n title\n startTime\n endTime\n content\n }\n }\n }\n}\n `;\n\n/**\n * __useParkgardenMonthActivitiesQuery__\n *\n * To run a query within a React component, call `useParkgardenMonthActivitiesQuery` and pass it any options that fit your needs.\n * When your component renders, `useParkgardenMonthActivitiesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useParkgardenMonthActivitiesQuery({\n * variables: {\n * },\n * });\n */\nexport function useParkgardenMonthActivitiesQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ParkgardenMonthActivitiesDocument, options);\n }\nexport function useParkgardenMonthActivitiesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ParkgardenMonthActivitiesDocument, options);\n }\nexport type ParkgardenMonthActivitiesQueryHookResult = ReturnType;\nexport type ParkgardenMonthActivitiesLazyQueryHookResult = ReturnType;\nexport type ParkgardenMonthActivitiesQueryResult = Apollo.QueryResult;\nexport const ParkgardenWeekLunchDocument = gql`\n query ParkgardenWeekLunch {\n scrapers {\n nassjokommun {\n weekLunchMenus {\n title\n number\n days {\n nameOfDay\n lunch\n alternative\n dessert\n }\n }\n }\n }\n}\n `;\n\n/**\n * __useParkgardenWeekLunchQuery__\n *\n * To run a query within a React component, call `useParkgardenWeekLunchQuery` and pass it any options that fit your needs.\n * When your component renders, `useParkgardenWeekLunchQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useParkgardenWeekLunchQuery({\n * variables: {\n * },\n * });\n */\nexport function useParkgardenWeekLunchQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ParkgardenWeekLunchDocument, options);\n }\nexport function useParkgardenWeekLunchLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ParkgardenWeekLunchDocument, options);\n }\nexport type ParkgardenWeekLunchQueryHookResult = ReturnType;\nexport type ParkgardenWeekLunchLazyQueryHookResult = ReturnType;\nexport type ParkgardenWeekLunchQueryResult = Apollo.QueryResult;\nexport const SubscriptionsDocument = gql`\n query subscriptions {\n subscriptionPlans {\n id\n name\n descriptionTranslationKey\n nameTranslationKey\n externalId\n }\n}\n `;\n\n/**\n * __useSubscriptionsQuery__\n *\n * To run a query within a React component, call `useSubscriptionsQuery` and pass it any options that fit your needs.\n * When your component renders, `useSubscriptionsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useSubscriptionsQuery({\n * variables: {\n * },\n * });\n */\nexport function useSubscriptionsQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(SubscriptionsDocument, options);\n }\nexport function useSubscriptionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(SubscriptionsDocument, options);\n }\nexport type SubscriptionsQueryHookResult = ReturnType;\nexport type SubscriptionsLazyQueryHookResult = ReturnType;\nexport type SubscriptionsQueryResult = Apollo.QueryResult;\nexport const UsersDocument = gql`\n query Users {\n users {\n id\n externalUserId\n username\n fullName\n email\n picture\n }\n}\n `;\n\n/**\n * __useUsersQuery__\n *\n * To run a query within a React component, call `useUsersQuery` and pass it any options that fit your needs.\n * When your component renders, `useUsersQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useUsersQuery({\n * variables: {\n * },\n * });\n */\nexport function useUsersQuery(baseOptions?: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(UsersDocument, options);\n }\nexport function useUsersLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(UsersDocument, options);\n }\nexport type UsersQueryHookResult = ReturnType;\nexport type UsersLazyQueryHookResult = ReturnType;\nexport type UsersQueryResult = Apollo.QueryResult;","\nexport function notEmpty(value: TValue | null | undefined): value is TValue {\n return value !== null && value !== undefined;\n}\n","import {\n LINK_DEVICE,\n UNLINK_DEVICE,\n LOAD_DEVICES, UPDATE_DEVICE\n} from \"./types\";\nimport {async} from \"../asyncAction/actions\";\nimport {\n Device,\n DevicesDocument,\n DevicesQuery,\n DevicesQueryVariables, DeviceUpdateInput,\n LinkDeviceDocument,\n LinkDeviceInput,\n LinkDeviceMutation,\n LinkDeviceMutationVariables,\n RemoveDeviceDocument,\n RemoveDeviceMutation,\n RemoveDeviceMutationVariables,\n UpdateDeviceDocument,\n UpdateDeviceMutation,\n UpdateDeviceMutationVariables,\n} from \"../../graphql/types\";\nimport {notEmpty} from \"../../typeFilters\";\nimport {\n ApolloClient,\n InMemoryCache\n} from '@apollo/client';\n\nasync function loadDevices(client: ApolloClient) : Promise {\n var result = await client.query({\n query: DevicesDocument\n });\n\n const data = result.data && result.data.devices as Device[];\n const devices = data.filter(notEmpty);\n\n return Promise.resolve(devices);\n}\n\nexport function loadDevicesAction() {\n return async(LOAD_DEVICES, loadDevices);\n}\n\nexport function linkDevice(linkDeviceInput: LinkDeviceInput) {\n return async(LINK_DEVICE, async (client: ApolloClient) => {\n var result = await client.mutate({\n mutation: LinkDeviceDocument,\n variables: {\n input: linkDeviceInput\n }\n });\n return Promise.resolve(result.data!.linkDevice!.device);\n });\n}\n\nexport function unlinkDevice(id: string) {\n return async(UNLINK_DEVICE, async (client: ApolloClient) => {\n var result = await client.mutate({\n mutation: RemoveDeviceDocument,\n variables: {\n input: {\n deviceId: id\n }\n }\n });\n return Promise.resolve(result.data!.removeDevice!.device);\n });\n}\n\nexport function updateDevice(updatedDevice: DeviceUpdateInput) {\n return async(UPDATE_DEVICE, async (client: ApolloClient) => {\n var result = await client.mutate({\n mutation: UpdateDeviceDocument,\n variables: {\n input: updatedDevice\n }\n });\n return Promise.resolve(result.data!.updateDevice!.device);\n });\n}\n","import {DeviceActionTypes, DevicesState, LINK_DEVICE, LOAD_DEVICES, UNLINK_DEVICE, UPDATE_DEVICE,} from \"./types\";\nimport {AppState} from \"../index\";\nimport {AsyncActionStatus} from \"../asyncAction/types\";\n\nconst initialState: DevicesState = {\n entities: [],\n asyncStatus: AsyncActionStatus.UNSTARTED,\n error: undefined\n};\n\n// See https://dev.to/markusclaus/fetching-data-from-an-api-using-reactredux-55ao\nexport function deviceReducer(\n state = initialState,\n action: DeviceActionTypes\n): DevicesState {\n switch (action.type) {\n case LOAD_DEVICES:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: action.payload\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n case LINK_DEVICE:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: [...state.entities, action.payload]\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n case UPDATE_DEVICE:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: [...state.entities.filter(o => o.id !== action.payload.id), action.payload]\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n case UNLINK_DEVICE:\n switch (action.status) {\n\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: state.entities.filter(o => o.id !== action.payload.id)\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n default:\n return state;\n }\n}\n\n// Selectors\nexport const getDevices = (state:AppState) => state.devices.entities;\nexport const getDevicesAsyncStatus = (state:AppState) => state.devices.asyncStatus;\nexport const getDevicesError = (state:AppState) => state.devices.error;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React, {useEffect} from \"react\";\nimport {RouteComponentProps} from \"react-router\";\nimport {withRouter} from \"react-router-dom\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {\n DocumentCard,\n DocumentCardActions,\n DocumentCardImage,\n DocumentCardLocation,\n DocumentCardTitle,\n ImageFit,\n MessageBar,\n MessageBarType,\n Stack,\n TooltipHost,\n Text, IDocumentCardStyles\n} from \"@fluentui/react\";\n\n/* Local */\nimport Loading from \"../../components/layout/loading\";\nimport {AsyncActionStatus} from \"../../store/asyncAction/types\";\nimport {loadDevicesAction} from \"../../store/device/actions\";\nimport {getDevices, getDevicesError, getDevicesAsyncStatus} from \"../../store/device/reducers\";\nimport {Device} from \"../../graphql/types\";\n\n// ----------------------------------------------------------------------------\n// TYPES\n\ninterface DevicesCardListProps extends RouteComponentProps {\n onEditClick: (device: Device) => void;\n onDeleteClick: (device: Device) => void;\n}\n\n// ----------------------------------------------------------------------------\n// CONSTANTS\n\nconst tokens = {\n tenGapStack: {\n childrenGap: 10\n }\n};\n\n// ----------------------------------------------------------------------------\n// COMPONENTS\n\nconst DevicesCardList =(props: DevicesCardListProps) => {\n // Hook into redux store information (important to load after useEffect)\n const dispatch = useDispatch();\n const entities = useSelector(getDevices);\n const loadStatus = useSelector(getDevicesAsyncStatus);\n const loadError = useSelector(getDevicesError);\n\n // Load entities if not already loaded\n useEffect(() => {\n if (loadStatus === AsyncActionStatus.UNSTARTED) {\n dispatch(loadDevicesAction());\n }\n });\n\n // Show spinner until done\n if (loadStatus === AsyncActionStatus.UNSTARTED || loadStatus === AsyncActionStatus.STARTED) {\n return \n }\n\n // Show message bar if something went wrong\n if (loadStatus === AsyncActionStatus.FAILED) {\n return (\n \n An error occured when retrieving the devices: {loadError?.message}\n \n )\n }\n\n // Group by organization\n const grouped = entities.reduce((g: any, e: Device) => {\n g[e.organization!.name] = g[e.organization!.name] || [];\n g[e.organization!.name].push(e);\n return g;\n }, {});\n\n const cardStyles: IDocumentCardStyles = {\n root: {\n width: 320\n }\n };\n\n // Show entity cards\n return \n {Object.keys(grouped)\n .sort((a,b) => a.toLowerCase() > b.toLowerCase() ? 1 : -1)\n .map((key: string, i:number) => (\n
\n {key}\n\n \n {grouped[key]\n .sort((a:Device,b:Device) => a.displayName.toLowerCase() > b.displayName.toLowerCase() ? 1 : -1)\n .map((e:Device, deviceIndex:number) => (\n\n props.history.push('/device/' + e.id)} styles={cardStyles}>\n \n\n \n \n \n\n {e.organization &&\n \n }\n\n {e.address &&\n \n }\n\n {e.placement &&\n \n }\n\n {\n props.onDeleteClick(e);\n ev.stopPropagation();\n ev.preventDefault();\n },\n ariaLabel: 'delete action'\n },\n {\n iconProps: {iconName: 'Edit'},\n onClick: (ev) =>{\n props.onEditClick(e);\n ev.stopPropagation();\n ev.preventDefault();\n },\n ariaLabel: 'edit action'\n }\n ]}\n />\n\n \n ))}\n \n
\n ))}\n
\n};\n\nexport default withRouter(DevicesCardList);\n","import {\n DefaultButton,\n PrimaryButton,\n Panel,\n PanelType,\n Stack,\n TextField, MessageBar, MessageBarType\n} from \"@fluentui/react\";\nimport * as React from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {useDispatch} from \"react-redux\";\nimport {useTranslation} from \"react-i18next\";\n\ninterface DeletePanelProps {\n isOpen: boolean;\n headerText: string;\n label: string;\n validationText: string;\n deleteAction: any;\n validate: (input: string) => boolean;\n onDismiss: any;\n}\n\nconst tokens = {\n tenGapStack: {\n childrenGap: 10\n }\n};\n\nconst DeletePanel = (props: DeletePanelProps) => {\n const [validationText, setValidationText] = useState('');\n const [isOkToDelete, setIsOkToDelete] = useState(false);\n const dispatch = useDispatch();\n const { t } = useTranslation();\n\n const deleteAction = async () => {\n if (!isOkToDelete)\n return;\n\n dispatch(props.deleteAction);\n props.onDismiss();\n };\n\n useEffect(() => {\n const validationOk = props.validate(validationText);\n setIsOkToDelete(validationOk);\n }, [validationText, props]);\n\n return <>\n \n \n {\n if (ev.key === 'Enter') {\n ev.preventDefault();\n deleteAction();\n }\n }}\n onChange={(e) => setValidationText((e.target as HTMLInputElement).value)}/>\n\n {!isOkToDelete &&\n \n {t('common:delete.validationfailmessage', { validationValue: props.validationText })}\n \n }\n\n \n\n \n \n\n \n \n \n \n};\n\nexport default DeletePanel;\n","// NPM\nimport * as React from \"react\";\nimport {useTranslation} from \"react-i18next\";\n\n// Local\nimport {Device} from \"../../graphql/types\";\nimport {unlinkDevice} from \"../../store/device/actions\";\nimport DeletePanel from \"../../components/deletePanel\";\n\ninterface DeleteDevicePanelProps {\n isOpen: boolean;\n device?: Device,\n onDismiss: any;\n}\n\nconst DeleteDevicePanel = (props: DeleteDevicePanelProps) => {\n const { t } = useTranslation();\n const validate = (input: string): boolean => input === props.device!.displayName;\n\n if (!props.device)\n return null;\n\n return \n};\n\nexport default DeleteDevicePanel;\n","import {ValidationSchema} from \"class-validator\";\nexport let LinkDeviceValidationSchema: ValidationSchema = {\n name: \"linkDeviceValidationSchema\",\n properties: {\n displayName: [{\n type: \"isNotEmpty\",\n message: 'devices:validation.displaynameisnotempty',\n }],\n linkCode: [{\n type: \"isNotEmpty\",\n message: 'devices:validation.linkcodeisnotempty',\n }],\n organizationId: [{\n type: \"isNotEmpty\",\n message: 'devices:validation.organizationidisnotempty',\n }]\n }\n};\n","// NPM\nimport * as React from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {useTranslation} from \"react-i18next\";\nimport {\n DefaultButton,\n MessageBar,\n MessageBarType,\n Panel,\n PanelType,\n PrimaryButton,\n Stack\n} from \"@fluentui/react\";\nimport {validate, ValidationError, ValidationSchema, registerSchema} from \"class-validator\";\n\n// Local\nimport {AsyncActionStatus} from \"../store/asyncAction/types\";\nimport {AppState} from \"../store\";\n\ninterface MutatePanelProps {\n isOpen: boolean;\n headerText: string;\n onDismiss: any;\n input?: T;\n objectId?: string;\n updateAction?: (input: T) => any;\n createAction?: (input: T) => any;\n validationSchema: ValidationSchema;\n children?: React.ReactNode;\n statusSelector: (state:AppState) => AsyncActionStatus;\n errorSelector: (state:AppState) => Error | undefined;\n}\n\n// instead of inline with component assignment\nconst MutatePanel = (props: MutatePanelProps) => {\n const {input, headerText, validationSchema, onDismiss} = props;\n const dispatch = useDispatch();\n const {t} = useTranslation();\n const [hasSentRequest, setHasSentRequest] = useState(false);\n const [isValid, setIsValid] = useState(false);\n const [validationErrors, setValidationErrors] = useState();\n const status = useSelector(props.statusSelector);\n const error = useSelector(props.errorSelector);\n\n registerSchema(validationSchema);\n\n // Close if the async action returns successfully\n useEffect(() => {\n if (hasSentRequest && !error && status === AsyncActionStatus.SUCCEEDED)\n {\n setHasSentRequest(false);\n onDismiss();\n }\n }, [status, error, onDismiss, hasSentRequest]);\n\n // Whenever the input object changes, update validation status\n useEffect(() => {\n if (!input)\n return;\n\n validate(validationSchema.name, input).then(errors => {\n if (errors.length > 0) {\n setValidationErrors(errors);\n setIsValid(false)\n } else {\n setValidationErrors(undefined);\n setIsValid(true);\n }\n });\n }, [input, validationSchema.name]);\n\n const dispatchAsyncMutationAction = async (internalStatus: any) => {\n if (!isValid || !input)\n return;\n\n // If the panel is acting as an edit panel then id and updateaction must be set\n if (props.updateAction) {\n await dispatch(props.updateAction(input));\n }\n\n // Wait for the update action to complete\n if (props.createAction) {\n await dispatch(props.createAction(input));\n }\n\n setHasSentRequest(true);\n };\n\n return (\n \n \n {props.children}\n\n {status === AsyncActionStatus.FAILED &&\n \n {t('common:error.api')}: {error?.message}\n \n }\n\n {validationErrors &&\n \n
    \n {validationErrors.map((validationError: ValidationError, index: number) =>\n Object.keys(validationError.constraints!).map((key, constraintIndex) => (\n
  • {t(validationError.constraints![key]!)}
  • \n )\n ))}\n
\n
\n }\n\n \n \n {t('common:button.cancel')}\n \n dispatchAsyncMutationAction(status)}>\n {t('common:button.save')}\n \n \n
\n \n )\n};\n\nexport default MutatePanel;\n","import {AsyncAction, AsyncActionStatus} from \"../asyncAction/types\";\nimport {Organization} from \"../../graphql/types\";\n\n// Describing the shape of the organization's slice of state\nexport interface OrganizationsState {\n entities: Organization[];\n asyncStatus: AsyncActionStatus;\n error?: Error\n}\n\n// Describing the different ACTION NAMES available\nexport const LOAD_ORGANIZATIONS = 'LOAD_ORGANIZATIONS';\nexport const ADD_ORGANIZATION = \"ADD_ORGANIZATION\";\nexport const UPDATE_ORGANIZATION = \"UPDATE_ORGANIZATION\";\nexport const DELETE_ORGANIZATION = \"DELETE_ORGANIZATION\";\n\ntype LoadOrganizationsAction = AsyncAction;\ntype AddOrganizationAction = AsyncAction;\ntype UpdateOrganizationAction = AsyncAction;\ntype DeleteOrganizationAction = AsyncAction;\n\nexport type OrganizationActionTypes =\n LoadOrganizationsAction |\n AddOrganizationAction |\n DeleteOrganizationAction |\n UpdateOrganizationAction;\n","import {\n ADD_ORGANIZATION,\n DELETE_ORGANIZATION,\n LOAD_ORGANIZATIONS,\n OrganizationActionTypes,\n OrganizationsState, UPDATE_ORGANIZATION,\n} from \"./types\";\nimport {AppState} from \"../index\";\nimport {AsyncActionStatus} from \"../asyncAction/types\";\n\nconst initialState: OrganizationsState = {\n entities: [],\n asyncStatus: AsyncActionStatus.UNSTARTED,\n error: undefined\n};\n\n// See https://dev.to/markusclaus/fetching-data-from-an-api-using-reactredux-55ao\nexport function organizationReducer(\n state = initialState,\n action: OrganizationActionTypes\n): OrganizationsState {\n switch (action.type) {\n case LOAD_ORGANIZATIONS:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: action.payload\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n case ADD_ORGANIZATION:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: [...state.entities, action.payload]\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n case UPDATE_ORGANIZATION:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: [...state.entities.filter(o => o.id !== action.payload.id), action.payload]\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n case DELETE_ORGANIZATION:\n switch (action.status) {\n case AsyncActionStatus.SUCCEEDED:\n return {\n ...state,\n asyncStatus: action.status,\n entities: state.entities.filter(o => o.id !== action.payload.id)\n };\n case AsyncActionStatus.FAILED:\n return {\n ...state,\n asyncStatus: action.status,\n error: action.payload\n };\n default:\n return {\n ...state,\n asyncStatus: action.status\n };\n }\n default:\n return state;\n }\n}\n\n// Selectors\nexport const getOrganizations = (state:AppState) => state.organizations.entities;\nexport const getOrganizationsAsyncStatus = (state:AppState) => state.organizations.asyncStatus;\nexport const getOrganizationsError = (state:AppState) => state.organizations.error;\n","import {\n ADD_ORGANIZATION,\n DELETE_ORGANIZATION,\n LOAD_ORGANIZATIONS, UPDATE_ORGANIZATION,\n} from \"./types\";\nimport {async} from \"../asyncAction/actions\";\nimport {\n CreateOrganizationDocument,\n CreateOrganizationMutation,\n CreateOrganizationMutationVariables,\n OrganizationInput,\n OrganizationsWithOfficeAddressDocument,\n OrganizationsWithOfficeAddressQuery,\n OrganizationsWithOfficeAddressQueryVariables,\n OrganizationUpdateInput,\n RemoveOrganizationDocument,\n RemoveOrganizationMutation,\n RemoveOrganizationMutationVariables,\n UpdateOrganizationDocument,\n UpdateOrganizationMutation,\n UpdateOrganizationMutationVariables,\n} from \"../../graphql/types\";\n\nimport {notEmpty} from \"../../typeFilters\";\nimport {\n ApolloClient,\n InMemoryCache\n} from '@apollo/client';\n\nexport function loadOrganizationsAction() {\n return async(LOAD_ORGANIZATIONS, async (client: ApolloClient) => {\n var result = await client.query({\n query: OrganizationsWithOfficeAddressDocument\n });\n\n const data = result.data && result.data.organizations;\n const organizations = data.filter(notEmpty);\n\n return Promise.resolve(organizations);\n });\n}\n\nexport function addOrganization(newOrganization: OrganizationInput) {\n return async(ADD_ORGANIZATION, async (client: ApolloClient) => {\n var result = await client.mutate({\n mutation: CreateOrganizationDocument,\n variables: {\n input: newOrganization\n }\n });\n return Promise.resolve(result.data!.createOrganization!.organization);\n });\n}\n\nexport function deleteOrganization(id: string) {\n return async(DELETE_ORGANIZATION, async (client: ApolloClient) => {\n var result = await client.mutate({\n mutation: RemoveOrganizationDocument,\n variables: {\n input: id\n }\n });\n return Promise.resolve(result.data!.removeOrganization!.organization);\n });\n}\n\nexport function updateOrganization(updatedOrganization: OrganizationUpdateInput) {\n return async(UPDATE_ORGANIZATION, async (client: ApolloClient) => {\n var result = await client.mutate({\n mutation: UpdateOrganizationDocument,\n variables: {\n input: updatedOrganization\n }\n });\n return Promise.resolve(result.data!.updateOrganization!.organization);\n });\n}\n","import * as React from 'react';\n\nimport {\n Dropdown, IDropdownOption\n} from \"@fluentui/react\";\n\nimport {useTranslation} from \"react-i18next\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {getOrganizations, getOrganizationsAsyncStatus} from \"../store/organization/reducers\";\nimport {useEffect, useState} from \"react\";\nimport {AsyncActionStatus} from \"../store/asyncAction/types\";\nimport {loadOrganizationsAction} from \"../store/organization/actions\";\nimport {Organization} from \"../graphql/types\";\n\nexport interface IOrganizationsDropDownProps {\n onChange: (selected:Organization) => void;\n required?: boolean\n selectedOrganizationId?: string,\n selectFirstIfAvailable?: boolean\n}\n\nconst OrganizationsDropDown = (props: IOrganizationsDropDownProps) => {\n const {\n onChange,\n selectedOrganizationId,\n selectFirstIfAvailable = false\n } = props;\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const organizations = useSelector(getOrganizations);\n const loadStatus = useSelector(getOrganizationsAsyncStatus);\n const [selected, setSelected] = useState();\n\n useEffect(() => {\n if (loadStatus === AsyncActionStatus.UNSTARTED)\n {\n dispatch(loadOrganizationsAction());\n }\n });\n\n // Populate dropdown\n const options = organizations.map((o,i) => ({\n key: o.id!,\n text: o.name\n }));\n\n useEffect(() => {\n if (organizations && organizations.length > 0 && !selected)\n {\n if (selectedOrganizationId)\n {\n const found = organizations.filter(o => o.id === selectedOrganizationId)[0];\n setSelected({\n key: found.id!,\n text: found.name\n });\n onChange(found);\n } else if (selectFirstIfAvailable) {\n const first = organizations[0];\n setSelected({\n key: first.id!,\n text: first.name\n });\n onChange(first);\n }\n }\n }, [organizations, onChange, selected, selectedOrganizationId, selectFirstIfAvailable]);\n\n return {\n const found = organizations.filter(o => o.id === option?.key)[0];\n setSelected({\n key: found.id!,\n text: found.name\n });\n onChange(found)\n }}\n />\n\n};\n\nexport default OrganizationsDropDown;\n","// NPM\nimport * as React from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {\n Text,\n TextField\n} from \"@fluentui/react\";\nimport {registerSchema} from \"class-validator\";\n\n// Local\nimport {LinkDeviceInput} from \"../../graphql/types\";\nimport {linkDevice} from \"../../store/device/actions\";\nimport {LinkDeviceValidationSchema} from \"../../data/validation/linkDeviceValidationSchema\";\nimport MutatePanel from \"../../components/mutatePanel\";\nimport {getDevicesAsyncStatus, getDevicesError} from \"../../store/device/reducers\";\nimport OrganizationsDropdown from \"../../components/organizationsDropdown\";\n\nregisterSchema(LinkDeviceValidationSchema);\n\ninterface AddDevicePanelProps {\n isOpen: boolean;\n onDismiss: any;\n}\n\nconst LinkDevicePanel = (props: AddDevicePanelProps) => {\n const { t } = useTranslation();\n\n // Validation and api call status objects\n const [input, setInput] = useState();\n\n // Form values\n const [deviceDisplayName, setDeviceDisplayName] = useState('');\n const [linkCode, setLinkCode] = useState('');\n const [organizationId, setOrganizationId] = useState('');\n\n // Whenever a form value changes, update our input object\n useEffect(() => {\n setInput({\n displayName: deviceDisplayName,\n linkCode: linkCode,\n organizationId: organizationId\n })\n }, [deviceDisplayName, linkCode, organizationId]);\n\n return (\n \n \n {t('dialogs:linkdevice.description')}\n \n\n setLinkCode(v || '')}\n autoFocus={true} />\n\n setDeviceDisplayName(v || '')}\n />\n\n setOrganizationId(o.id!)} />\n \n )\n};\n\nexport default LinkDevicePanel;\n","import * as React from \"react\";\nimport { Text } from \"@fluentui/react\";\n\ninterface PageHeadingProps {\n heading: string;\n}\n\nconst SubHeading: React.FunctionComponent = props => (\n \n {props.heading}\n \n);\n\nexport default SubHeading;\n","import {Address, Asset, AssetType, Component, HorizontalAlign, User, VerticalAlign} from \"../../graphql/types\";\nimport {\n Aborter,\n AnonymousCredential,\n BlobURL,\n BlockBlobURL,\n ContainerURL,\n StorageURL,\n uploadBrowserDataToBlockBlob\n} from \"@azure/storage-blob\";\nimport {TransferProgressEvent} from \"@azure/ms-rest-js\";\n\nexport const isEmpty = (s?: string | null) => (!s || !s.length);\n\nexport const fileExt = (filename: string): string => {\n const parts = filename.split('.');\n return parts[parts.length-1];\n};\n\nexport const copyAndSort = (items: T[], columnKey: string, isSortedDescending?: boolean): T[] => {\n const key = columnKey as keyof T;\n return items.slice(0).sort((a: T, b: T) => ((isSortedDescending ? a[key] < b[key] : a[key] > b[key]) ? 1 : -1));\n};\n\nexport const getAssetUrl = (asset: Asset): string => `${window.CONTENT_BASE_URL}assets/${asset.id}${asset.lastShortTermReadToken}`;\n\nexport const delay = (ms: number) => new Promise(res => setTimeout(res, ms));\n\nexport const http = async (request: RequestInfo): Promise => {\n return new Promise(resolve => {\n fetch(request)\n .then(response => response.json())\n .then(body => {\n resolve(body);\n });\n });\n};\n\nexport const UploadAsset = async (asset: Asset, file: Blob | ArrayBuffer | ArrayBufferView, contentType: string) => {\n // Blob url with write sas token\n const container = 'assets';\n const sasString = asset.lastShortTermWriteToken;\n const blobName = asset.id!;\n\n // Use AnonymousCredential when url already includes a SAS signature\n const anonymousCredential = new AnonymousCredential();\n const containerURL = new ContainerURL(\n `${window.CONTENT_BASE_URL}${container}?${sasString}`,\n StorageURL.newPipeline(anonymousCredential));\n\n const blobURL = BlobURL.fromContainerURL(containerURL, blobName);\n const blockBlobURL = BlockBlobURL.fromBlobURL(blobURL);\n\n await uploadBrowserDataToBlockBlob(Aborter.none, file, blockBlobURL, {\n blockSize: 4 * 1024 * 1024, // 4MB block size\n parallelism: 20, // 20 concurrency\n blobHTTPHeaders: {\n blobContentType: contentType\n },\n progress: (ev: TransferProgressEvent) => {\n console.debug(ev)\n }\n });\n};\n\nexport const addressString = (address: Address) => {\n let result = address\n ? `${address.addressLine1 ? address.addressLine1 : ''}${address.streetNumber ? ' '\n + address.streetNumber : ''}${address.postalcode ? ', '\n + address.postalcode : ''}${address.city && address.city.name ? ', '\n + address.city.name : ''}`\n : '';\n\n result = result.trim();\n return !isEmpty(result) ? result : undefined;\n};\n\nexport const getAssetDisplayText = (asset: Asset) => {\n return asset\n ? `${asset.displayName ? asset.displayName : asset.filename}${asset.organization && asset.organization.name ? ' (' + asset.organization.name + ')': ''}`\n : '';\n};\n\nexport const getUserDisplayText = (user: User) => {\n return user\n ? `${user.fullName ? user.fullName : user.username ? user.username : user.email}`\n : '';\n};\n\nexport const getComponentDisplayText = (component: Component) => {\n return component\n ? `${component.name ? component.name : component.componentType}`\n : '';\n};\n\nexport const isEditableUsingTextEditor = (asset?: Asset) => {\n const editable = [\n AssetType.HandlebarsTemplate,\n AssetType.Data,\n AssetType.ResidentRegistry\n ];\n\n return asset && editable.includes(asset.assetType!);\n};\n\nexport const isEditableUsingTableEditor = (asset?: Asset) => {\n return asset && asset.assetType === AssetType.ResidentRegistry\n};\n\nexport const humanFileSize = (size: number) => {\n const i = size === 0 ? 0 : Math.floor( Math.log(size) / Math.log(1024) );\n const val = ( size / Math.pow(1024, i) ).toFixed(1) ;\n return val + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];\n};\n\nexport const isNumeric = (val: any): val is number | string => {\n // https://github.com/ReactiveX/rxjs/blob/master/src/internal/util/isNumeric.ts\n // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n // subtraction forces infinities to NaN\n // adding 1 corrects loss of precision from parseFloat (#15100)\n return val && (val - parseFloat(val) + 1) >= 0;\n};\n\nexport const identityMatrix = [\n 1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n 0, 0, 0, 1,\n];\n\nexport const isColor = (strColor?:string) => {\n if (!strColor)\n return false;\n\n const s = new Option().style;\n const before = s.color;\n s.color = strColor;\n\n // value persisted? then valid color!\n return s.color !== before;\n};\n\nexport const getKeyByValue = (object:any, value:any) => {\n return Object.keys(object).find(key => object[key] === value);\n};\n\nexport const preventContextmenu = (event: any) => {\n event.preventDefault();\n return false;\n};\n\nexport const getHorizontalAlignIconName = (align: HorizontalAlign) => {\n switch (align) {\n case HorizontalAlign.Left:\n return 'AlignHorizontalLeft';\n case HorizontalAlign.Center:\n return 'AlignHorizontalCenter';\n case HorizontalAlign.Right:\n return 'AlignHorizontalRight';\n }\n};\n\nexport const getVerticalAlignIconName = (align: VerticalAlign) => {\n switch (align) {\n case VerticalAlign.Top:\n return 'AlignVerticalTop';\n case VerticalAlign.Center:\n return 'AlignVerticalCenter';\n case VerticalAlign.Bottom:\n return 'AlignVerticalBottom';\n }\n};\n","import * as React from 'react';\nimport {Label} from '@fluentui/react';\nimport Geosuggest from \"react-geosuggest\";\nimport {Address} from \"../graphql/types\";\nimport {useTranslation} from \"react-i18next\";\nimport {useState} from \"react\";\nimport {addressString} from \"./api/util\";\n\nexport interface IAddressFieldProps {\n id?: string,\n label?: string,\n placeholder?: string,\n required?: boolean,\n initialValue?: Address,\n initialValueString?: string,\n onAddressSelected?: (selected:Address) => void;\n}\n\nconst AddressField = (props: IAddressFieldProps) => {\n const {t} = useTranslation();\n const {onAddressSelected, initialValueString} = props;\n const [selectedAddress, setSelectedAddress] = useState
(() => props.initialValue ? props.initialValue : {} as Address);\n\n // On user select a suggestion, create an address object of the selection\n const onSuggestSelect = (suggest: any) => {\n if (suggest && onAddressSelected)\n {\n const getAddressComponent = (componentType:string, name: string = 'long_name'): string => {\n const e = suggest.gmaps.address_components.find((el: any) => el.types.includes(componentType));\n return e && e.hasOwnProperty(name) ? e[name] as string : '';\n };\n\n const addressObj: Address = {\n addressLine1: getAddressComponent('route'),\n postalcode: getAddressComponent('postal_code'),\n streetNumber: getAddressComponent('street_number'),\n city: {\n name: getAddressComponent('postal_town'),\n subdivision: {\n name: getAddressComponent('administrative_area_level_1'),\n country: {\n name: getAddressComponent('country'),\n iso: getAddressComponent('country', 'short_name')\n }\n }\n },\n location: {\n latitude: suggest.location.lat,\n longitude: suggest.location.lng,\n },\n jsonData: JSON.stringify(suggest)\n };\n\n setSelectedAddress(addressObj);\n onAddressSelected(addressObj);\n }\n };\n\n const label = props.label ? props.label : t('common:address.label');\n const placeholder = props.placeholder ? props.placeholder : t('common:address.placeholder');\n\n const selectedAddressString = addressString(selectedAddress);\n const initialValue =\n selectedAddressString\n ? selectedAddressString\n : initialValueString\n ? initialValueString\n : undefined;\n\n return
\n \n\n onSuggestSelect(suggest)}\n />\n
\n};\n\nAddressField.defaultProps = {\n id: 'address-geosuggest',\n required: false\n};\n\nexport default AddressField;\n","import {ValidationSchema} from \"class-validator\";\n\nexport let UpdateDeviceValidationSchema: ValidationSchema = {\n name: \"updateDeviceValidationSchema\",\n properties: {\n displayName: [{\n type: 'isNotEmpty',\n message: 'devices:validation.displaynameisnotempty',\n }]\n }\n};\n","import * as React from 'react';\n\nimport {\n Dropdown, IDropdownOption\n} from \"@fluentui/react\";\n\nimport {useTranslation} from \"react-i18next\";\nimport {Controller, useControllersQuery} from \"../graphql/types\";\nimport {useEffect, useState} from \"react\";\n\nexport interface IControllerDropDownProps {\n onChange: (selected:Controller) => void;\n required?: boolean,\n selected?: Controller\n selectFirstIfAvailable?: boolean,\n label?: string,\n placeholder?: string\n}\n\nconst ControllerDropDown = (props: IControllerDropDownProps) => {\n const { t } = useTranslation();\n const {\n onChange,\n selected,\n selectFirstIfAvailable = false,\n label = t('common:controllersDropdown.label'),\n placeholder = t('common:controllersDropdown.placeholder')\n } = props;\n const {loading, data, error } = useControllersQuery({\n variables: {\n input: {}\n }\n });\n let controllers = [] as Controller[];\n const [selectedOption, setSelectedOption] = useState();\n\n if (!loading && !error && data)\n {\n controllers = data.controllers as Controller[];\n }\n\n const options = controllers\n .map(a => ({\n key: a.id!,\n text: a.name\n }));\n\n useEffect(() => {\n if (options && options.length > 0 && !selectedOption)\n {\n if (selected)\n {\n const found = options.filter(o => o.key === selected.id!)[0];\n setSelectedOption(found);\n } else if (selectFirstIfAvailable) {\n const first = options[0];\n setSelectedOption(first);\n }\n }\n }, [options, onChange, selected, selectedOption, selectFirstIfAvailable]);\n\n return {\n setSelectedOption(option);\n const found = controllers.filter(ds => ds.id === option?.key)[0];\n props.onChange(found)\n }}\n />\n\n};\n\nexport default ControllerDropDown;\n","// NPM\nimport React, {useState, useEffect} from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {Dropdown, TextField} from \"@fluentui/react\";\n\n// Local\nimport MutatePanel from \"../../components/mutatePanel\";\nimport SubHeading from \"../../components/layout/subHeading\";\nimport AddressField from \"../../components/addressField\";\n\nimport {\n Device,\n DeviceUpdateInput,\n useDeviceQuery,\n useAssignDeviceControllerMutation\n} from \"../../graphql/types\";\n\nimport {updateDevice} from \"../../store/device/actions\";\nimport {getDevicesAsyncStatus, getDevicesError} from \"../../store/device/reducers\";\nimport Loading from \"../../components/layout/loading\";\nimport {UpdateDeviceValidationSchema} from \"../../data/validation/updateDeviceValidationSchema\";\nimport ControllerDropDown from \"../../components/controllerDropDown\";\nimport { useKeycloak } from '@react-keycloak/web'\nimport moment from \"moment-timezone\";\n\ninterface EditDevicePanelProps {\n isOpen: boolean;\n onDismiss: () => void;\n deviceId?: string;\n}\n\nconst timeZoneOptions = moment.tz.names().map(name => {\n return {\n key: name,\n text: name\n }});\n\n\nconst EditDevicePanel = (props: EditDevicePanelProps) => {\n const {deviceId, isOpen, onDismiss} = props;\n const { t } = useTranslation();\n const { keycloak } = useKeycloak();\n // Validation and api call status objects\n const [input, setInput] = useState({} as DeviceUpdateInput);\n const { loading, error, data }= useDeviceQuery({\n variables: {\n id: deviceId!\n }\n });\n const [assignDeviceControllerMutation] = useAssignDeviceControllerMutation();\n\n //Whenever the selected value changes, update form values\n useEffect(() => {\n if (!data || !data.device)\n return;\n\n const d = data.device as Device;\n\n function stripTypenames(obj: any, propToDelete: string) {\n for (const property in obj) {\n if (typeof obj[property] === 'object' && !(obj[property] instanceof File)) {\n delete obj.property;\n const newData = stripTypenames(obj[property], propToDelete);\n obj[property] = newData;\n } else {\n if (property === propToDelete) {\n delete obj[property];\n }\n }\n }\n return obj;\n }\n\n setInput({\n id: deviceId!,\n displayName: d.displayName,\n model: d.model || undefined,\n timeZoneId: d.timeZoneId || undefined,\n placement: d.placement || undefined,\n address: stripTypenames(d.address, '__typename')\n });\n }, [data, deviceId]);\n\n if (loading || error) {\n return ;\n }\n\n if (!deviceId)\n return null;\n\n const device = data?.device as Device;\n\n\n return (\n \n\n \n setInput({\n ...input,\n displayName: v || ''\n })}\n />\n setInput({\n ...input,\n address: address\n })} />\n setInput({\n ...input,\n model: v\n })}\n />\n setInput({\n ...input,\n placement: v\n })}\n />\n setInput({\n ...input,\n timeZoneId: o?.key as string\n })\n } />\n\n\n {keycloak.hasRealmRole('developer') &&\n <>\n \n {\n await assignDeviceControllerMutation({\n variables: {\n input: {\n controllerId: c.id!,\n deviceId: deviceId\n }\n }\n })\n }}\n selected={device.controller ? device.controller : undefined}\n />\n \n }\n\n \n )\n};\n\nexport default EditDevicePanel;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\nimport {useState} from \"react\";\nimport {\n CommandBar,\n Stack,\n} from \"@fluentui/react\";\nimport { useTranslation } from 'react-i18next';\n\n/* Local */\nimport DevicesCardList from \"./devicesCardList\";\nimport {Device} from \"../../graphql/types\";\nimport DeleteDevicePanel from \"./deleteDevicePanel\";\nimport LinkDevicePanel from \"./linkDevicePanel\";\nimport EditDevicePanel from \"./editDevicePanel\";\n\n// ----------------------------------------------------------------------------\n\nconst DevicePageIndex = () => {\n const { t } = useTranslation();\n const [selectedDevice, setSelectedDevice] = useState();\n const [showDeleteDevicePanel, toggleDeleteDevicePanel] = useState(false);\n const [showEditDevicePanel, toggleShowEditDevicePanel] = useState(false);\n const [showLinkDevicePanel, toggleLinkDevicePanel] = useState(false);\n\n\n const commandBarItems = [\n {\n key: 'linkDevice',\n name: t('devices:commandbar.linkdevice'),\n cacheKey: 'linkDevice', // changing this key will invalidate this items cache\n iconProps: {\n iconName: 'Add'\n },\n ariaLabel: t('devices:commandbar.linkdevice'),\n onClick: () => toggleLinkDevicePanel(!showLinkDevicePanel),\n }\n ];\n\n return (\n <>\n \n \n \n

\n {t('devices:pagedescription')}\n

\n
\n {\n setSelectedDevice(device);\n toggleShowEditDevicePanel(true);\n }}\n onDeleteClick={(device) => {\n setSelectedDevice(device);\n toggleDeleteDevicePanel(true)\n }} />\n
\n\n toggleDeleteDevicePanel(false)} />\n toggleLinkDevicePanel(false)} />\n {selectedDevice &&\n toggleShowEditDevicePanel(false)}/>\n }\n \n );\n};\n\nexport default DevicePageIndex;\n","import * as React from \"react\";\nimport { Text } from \"@fluentui/react\";\n\ninterface PageHeadingProps {\n heading: string;\n}\n\nconst PageHeading: React.FunctionComponent = props => (\n \n {props.heading}\n \n);\n\nexport default PageHeading;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\n\n/* Local */\nimport PageHeading from \"../../components/layout/pageHeading\";\n\n// ----------------------------------------------------------------------------\n\nclass PresentationsPageIndex extends React.PureComponent<{}, {}> {\n public componentDidMount = async () => {};\n\n public render() {\n return (\n <>\n \n \n );\n }\n}\n\nexport default PresentationsPageIndex;\n","import * as React from 'react';\nimport {\n DocumentCard,\n DocumentCardActivity,\n DocumentCardTitle,\n DocumentCardDetails,\n DocumentCardImage,\n IDocumentCardStyles,\n IDocumentCardActivityPerson\n} from '@fluentui/react/lib/DocumentCard';\nimport { ImageFit } from '@fluentui/react/lib/Image';\nimport { TestImages } from '@fluentui/react/lib/common/TestImages';\nimport PageHeading from \"../../components/layout/pageHeading\";\nimport {Stack} from '@fluentui/react';\n\nconst people: IDocumentCardActivityPerson[] = [\n { name: 'Annie Lindqvist', profileImageSrc: TestImages.personaFemale },\n { name: 'Roko Kolar', profileImageSrc: '', initials: 'RK' },\n { name: 'Aaron Reid', profileImageSrc: TestImages.personaMale },\n { name: 'Christian Bergqvist', profileImageSrc: '', initials: 'CB' }\n];\n\nconst tokens = {\n tenGapStack: {\n childrenGap: 10\n }\n};\n\n\nexport const ExtensionsPageIndex: React.StatelessComponent = () => {\n const cardStyles: IDocumentCardStyles = {\n root: { display: 'inline-block', marginRight: 20, marginBottom: 20, width: 320 }\n };\n\n return (\n
\n \n\n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n
\n );\n};\n\nexport default ExtensionsPageIndex;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\n\n/* Local */\nimport PageHeading from \"../../components/layout/pageHeading\";\n\n// ----------------------------------------------------------------------------\n\nclass InstalledExtensionsPage extends React.PureComponent<{}, {}> {\n public componentDidMount = async () => {};\n\n public render() {\n return (\n <>\n \n \n );\n }\n}\n\nexport default InstalledExtensionsPage;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React, {useEffect} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {\n DocumentCard,\n DocumentCardActions, DocumentCardImage,\n DocumentCardLocation,\n DocumentCardTitle,\n ImageFit,\n MessageBar,\n MessageBarType,\n Stack,\n} from \"@fluentui/react\";\n\n/* Local */\nimport Loading from \"../../components/layout/loading\";\nimport {getOrganizations, getOrganizationsError, getOrganizationsAsyncStatus} from \"../../store/organization/reducers\";\nimport {AsyncActionStatus} from \"../../store/asyncAction/types\";\nimport {loadOrganizationsAction} from \"../../store/organization/actions\";\nimport {Organization} from \"../../graphql/types\";\nimport {RouteComponentProps} from \"react-router\";\nimport {withRouter} from \"react-router-dom\";\nimport {getAssetUrl} from \"../../components/api/util\";\n\n// ----------------------------------------------------------------------------\n// TYPES\n\ninterface OrganizationsCardListProps extends RouteComponentProps {\n onEditClick: (organization: Organization) => void;\n onDeleteClick: (organization: Organization) => void;\n}\n\n// ----------------------------------------------------------------------------\n// CONSTANTS\n\nconst tokens = {\n tenGapStack: {\n childrenGap: 10\n }\n};\n\n// ----------------------------------------------------------------------------\n// COMPONENTS\n\nconst OrganizationsCardList = (props: OrganizationsCardListProps) => {\n // Hook into redux store information (important to load after useEffect)\n const dispatch = useDispatch();\n const organizations = useSelector(getOrganizations);\n const loadStatus = useSelector(getOrganizationsAsyncStatus);\n const loadError = useSelector(getOrganizationsError);\n\n // Load organizations if not already loaded\n useEffect(() => {\n if (loadStatus === AsyncActionStatus.UNSTARTED)\n {\n dispatch(loadOrganizationsAction());\n }\n });\n\n // Show spinner until done\n if (loadStatus === AsyncActionStatus.UNSTARTED || loadStatus === AsyncActionStatus.STARTED) {\n return \n }\n\n // Show message bar if something went wrong\n if (loadStatus === AsyncActionStatus.FAILED) {\n return (\n \n An error occured when retrieving the organizations: {loadError?.message}\n \n )\n }\n\n const getIconProps = (organization: Organization) => organization.logotype ? undefined : {\n iconName: 'Suitcase',\n styles: { root: { color: '#5fb0dc', fontSize: '120px', width: '120px', height: '120px' } }\n };\n\n const getLogoUrl = (organization: Organization) => organization.logotype ? getAssetUrl(organization.logotype) : undefined;\n\n // Show organizations cards\n return \n {organizations.sort((a,b) => a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1).map((o, i) => (\n\n\n props.history.push('/organization/' + o.id)} >\n \n \n\n { o.officeAddress &&\n \n }\n\n {\n props.onDeleteClick(o);\n ev.stopPropagation();\n ev.preventDefault();\n },\n ariaLabel: 'delete action'\n },\n {\n iconProps: {iconName: 'Edit'},\n onClick: (ev) =>{\n props.onEditClick(o);\n ev.stopPropagation();\n ev.preventDefault();\n },\n ariaLabel: 'edit action'\n }\n ]}\n />\n\n \n ))}\n \n};\n\nexport default withRouter(OrganizationsCardList);\n","import {ValidationSchema} from \"class-validator\";\nexport let AddOrganizationValidationSchema: ValidationSchema = { // using interface here is not required, its just for type-safety\n name: \"addOrganizationValidationSchema\", // this is required, and must be unique\n properties: {\n name: [{\n type: \"isNotEmpty\"\n }]\n }\n};\n","// NPM\nimport * as React from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {\n TextField\n} from \"@fluentui/react\";\nimport {registerSchema} from \"class-validator\";\n\n// Local\nimport {OrganizationInput} from \"../../graphql/types\";\nimport {addOrganization} from \"../../store/organization/actions\";\nimport {AddOrganizationValidationSchema} from \"../../data/validation/addOrganizationSchema\";\nimport MutatePanel from \"../../components/mutatePanel\";\nimport {getOrganizationsAsyncStatus, getOrganizationsError} from \"../../store/organization/reducers\";\n\nregisterSchema(AddOrganizationValidationSchema);\n\ninterface AddOrganizationPanelProps {\n isOpen: boolean;\n onDismiss: any;\n}\n\nconst AddOrganizationPanel = (props: AddOrganizationPanelProps) => {\n const { t } = useTranslation();\n\n // Validation and api call status objects\n const [input, setInput] = useState();\n\n // Form values\n const [organizationName, setOrganizationName] = useState('');\n\n // Whenever a form value changes, update our input object\n useEffect(() => {\n setInput({\n name: organizationName\n })\n }, [organizationName]);\n\n return (\n \n setOrganizationName((e.target as HTMLInputElement).value)}\n />\n \n )\n};\n\nexport default AddOrganizationPanel;\n","import {ValidationSchema} from \"class-validator\";\n\n// See: https://github.com/typestack/class-validator/issues/147\nconst isOptional = (fieldName: string) => {\n return {\n type: 'conditionalValidation',\n constraints: [(object: any, value: any) => {\n return object[fieldName] !== null && object[fieldName] !== undefined && object[fieldName] !== '';\n }], options: undefined\n }\n};\n\nexport let UpdateOrganizationValidationSchema: ValidationSchema = {\n name: \"updateOrganizationValidationSchema\",\n properties: {\n name: [{\n type: 'isNotEmpty',\n message: 'organizations:validation.nameisnotempty',\n }],\n billingEmail: [{\n type: 'isEmail',\n constraints: [],\n message: 'organizations:validation.billingemailisEmail'\n }],\n billingAddress: [{\n type: 'isNotEmpty',\n message: 'organizations:validation.billingaddressisNotEmpty'\n }],\n contactEmail: [{\n type: 'isEmail',\n constraints: [],\n message: 'organizations:validation.contactemailisEmail'\n }, isOptional('contactEmail')],\n phoneNumber: [{\n type: 'isPhoneNumber',\n constraints: [],\n message: 'organizations:validation.phonenumberisPhoneNumber'\n }, isOptional('phoneNumber')],\n url: [{\n type: 'isUrl',\n constraints: [],\n message: 'organizations:validation.urlisUrl'\n }, isOptional('url')],\n }\n};\n","// NPM\nimport React, {useState, useEffect} from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {MaskedTextField, TextField} from \"@fluentui/react\";\n\n// Local\nimport MutatePanel from \"../../components/mutatePanel\";\nimport SubHeading from \"../../components/layout/subHeading\";\nimport AddressField from \"../../components/addressField\";\n\nimport {\n Organization,\n OrganizationUpdateInput,\n useOrganizationQuery\n} from \"../../graphql/types\";\n\nimport {updateOrganization} from \"../../store/organization/actions\";\nimport {getOrganizationsAsyncStatus, getOrganizationsError} from \"../../store/organization/reducers\";\nimport Loading from \"../../components/layout/loading\";\nimport {UpdateOrganizationValidationSchema} from \"../../data/validation/updateOrganizationSchema\";\n\ninterface EditOrganizationPanelProps {\n isOpen: boolean;\n onDismiss: () => void;\n organizationId?: string;\n}\n\nconst EditOrganizationPanel = (props: EditOrganizationPanelProps) => {\n const {organizationId, isOpen, onDismiss} = props;\n const { t } = useTranslation();\n\n // Validation and api call status objects\n const [input, setInput] = useState({} as OrganizationUpdateInput);\n const { loading, error, data }= useOrganizationQuery({\n variables: {\n id: organizationId!\n }\n });\n\n //Whenever the selected value changes, update form values\n useEffect(() => {\n if (!data || !data.organization)\n return;\n\n const organization = data.organization as Organization;\n\n setInput({\n id: organizationId!,\n name: organization.name,\n vatNumber: organization.vatNumber || undefined,\n organizationNumber: organization.organizationNumber|| undefined,\n billingEmail: organization.billingEmail|| undefined,\n contactEmail: organization.contactEmail|| undefined,\n phoneNumber: organization.phoneNumber|| undefined,\n url: organization.url|| undefined,\n billingAddress: organization.billingAddress,\n officeAddress: organization.officeAddress\n });\n }, [data, organizationId]);\n\n if (loading || error) {\n return ;\n }\n\n if (!organizationId)\n return null;\n\n return (\n \n\n \n setInput({\n ...input,\n name: v || ''\n })}\n />\n setInput({\n ...input,\n vatNumber: v\n })}\n />\n setInput({\n ...input,\n organizationNumber: v\n })}\n />\n\n \n setInput({\n ...input,\n billingEmail: v\n })}\n />\n setInput({\n ...input,\n billingAddress: address\n })} />\n\n \n setInput({\n ...input,\n officeAddress: address\n })} />\n setInput({\n ...input,\n contactEmail: v\n })}\n />\n setInput({\n ...input,\n phoneNumber: v\n })}\n />\n setInput({\n ...input,\n url: v\n })}\n />\n \n )\n};\n\nexport default EditOrganizationPanel;\n","import * as React from \"react\";\nimport {Organization} from \"../../graphql/types\";\nimport {deleteOrganization} from \"../../store/organization/actions\";\nimport DeletePanel from \"../../components/deletePanel\";\nimport {useTranslation} from \"react-i18next\";\n\ninterface DeleteOrganizationPanelProps {\n isOpen: boolean;\n organization?: Organization,\n onDismiss: any;\n}\n\nconst DeleteOrganizationPanel = (props: DeleteOrganizationPanelProps) => {\n const { t } = useTranslation();\n const validate = (input: string): boolean => input === props.organization!.name;\n\n if (!props.organization)\n return null;\n\n return \n};\n\nexport default DeleteOrganizationPanel;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\nimport {useState} from \"react\";\nimport {\n CommandBar,\n Stack,\n} from \"@fluentui/react\";\nimport { useTranslation } from 'react-i18next';\n\n/* Local */\nimport OrganizationsCardList from \"./organizationsCardList\";\nimport AddOrganizationPanel from \"./addOrganizationPanel\";\nimport EditOrganizationPanel from \"./editOrganizationPanel\";\nimport DeleteOrganizationPanel from \"./deleteOrganizationPanel\";\nimport {Organization} from \"../../graphql/types\";\nimport {RouteComponentProps} from \"react-router\";\nimport {withRouter} from \"react-router-dom\";\n\ninterface OrganizationsPageIndexProps extends RouteComponentProps {\n}\n\nconst OrganizationsPageIndex = (props: OrganizationsPageIndexProps) => {\n const { t } = useTranslation();\n const [selectedOrganization, setSelectedOrganization] = useState();\n const [showAddOrganizationPanel, toggleShowAddOrganizationPanel] = useState(false);\n const [showEditOrganizationPanel, toggleShowEditOrganizationPanel] = useState(false);\n const [showDeleteOrganizationPanel, toggleDeleteOrganizationPanel] = useState(false);\n\n const commandBarItems = [\n {\n key: 'addOrganization',\n name: t('organizations:commandbar.addorganization'),\n cacheKey: 'addOrganization',\n iconProps: {\n iconName: 'Add'\n },\n ariaLabel: t('organizations:commandbar.addorganization'),\n onClick: () => toggleShowAddOrganizationPanel(!showAddOrganizationPanel),\n }\n ];\n\n return (\n <>\n \n \n \n

\n {t('organizations:pagedescription')}\n

\n
\n {\n props.history.push('/organization/' + o.id)\n }} onDeleteClick={(organization:Organization) => {\n setSelectedOrganization(organization);\n toggleDeleteOrganizationPanel(true)\n }} />\n
\n\n toggleDeleteOrganizationPanel(false)} />\n toggleShowAddOrganizationPanel(false)} />\n\n {selectedOrganization &&\n toggleShowEditOrganizationPanel(false)} />\n }\n \n );\n};\n\nexport default withRouter(OrganizationsPageIndex);\n","// ----------------------------------------------------------------------------\nimport * as React from 'react';\n\nimport {\n Stack,\n PersonaSize,\n PersonaPresence,\n Persona,\n IPersonaSharedProps\n} from \"@fluentui/react\";\n\nimport Loading from \"../../components/layout/loading\";\nimport { useKeycloak } from '@react-keycloak/web'\n\nconst tokens = {\n tenGapStack: {\n childrenGap: 10\n }\n};\n\nconst UserPageIndex = () => {\n const {keycloak} = useKeycloak();\n\n if (!keycloak.userInfo) {\n return ;\n }\n\n const user:any = keycloak?.userInfo;\n\n const userPersona: IPersonaSharedProps = {\n imageUrl: undefined,\n text: user.name,\n secondaryText: user.preferred_username,\n };\n\n return (\n <>\n \n\n \n
{JSON.stringify(user, null, 2)}
\n
\n \n );\n };\n\nexport default UserPageIndex;\n","import * as React from 'react';\n\nimport {ReactNode} from \"react\";\nimport {Depths} from \"@uifabric/fluent-theme\";\nimport PageHeading from \"./layout/pageHeading\";\nimport SubHeading from \"./layout/subHeading\";\n\nexport interface ITextPaneProps {\n heading?: string\n subheading?: string\n children?: ReactNode\n}\n\nconst TextPane = (props: ITextPaneProps) => {\n const {heading, subheading, children} = props;\n\n return
\n\n {heading &&\n \n }\n {subheading &&\n \n }\n {children}\n
\n\n};\n\nexport default TextPane;\n","import * as React from 'react';\nimport {ReactNode, useState} from 'react';\nimport {IStackTokens, MessageBar, MessageBarType, Pivot, PivotItem, PrimaryButton, Stack} from \"@fluentui/react\";\nimport {useTranslation} from \"react-i18next\";\n\n\nexport interface IWizardStep {\n title: string,\n children?: ReactNode\n onValidate?: () => boolean,\n validationErrorMessage?: string\n}\n\nexport interface IWizard {\n defaultSelectedKey?: string,\n showTabIcons?: boolean,\n addNumbering?: boolean,\n children: IWizardStep[]\n}\n\nconst tokens: IStackTokens = {\n childrenGap: 'm',\n padding: 'm'\n};\n\nconst Wizard = (props: IWizard) => {\n const {\n defaultSelectedKey = '0',\n showTabIcons = false,\n addNumbering = false,\n children\n } = props;\n const {t} = useTranslation();\n\n const [selectedKey, setSelectedKey] = useState(defaultSelectedKey);\n const [stepIsValid, setStepIsValid] = useState(true);\n\n const getIcon = (value: boolean) => showTabIcons\n ? value ? \"CheckMark\" : \"Cancel\"\n : undefined;\n\n const getTitle = (step: IWizardStep, index: number) => addNumbering\n ? `${index+1}. ${step.title}`\n : step.title;\n\n return
\n \n { (children || []).map((step,index) =>\n index.toString())}\n >\n \n {step.children}\n\n {!stepIsValid &&\n \n {step.validationErrorMessage ? step.validationErrorMessage : t('common:wizardDefaultStepValidationError') }\n \n }\n\n \n {\n setSelectedKey((index-1).toString())\n }}\n >\n {t('common:wizardPreviousButtonLabel')}\n \n\n {\n let isValid = true;\n\n if (step.onValidate)\n {\n isValid = step.onValidate();\n }\n setStepIsValid(isValid);\n\n if (isValid)\n setSelectedKey((index+1).toString())\n }}\n >\n {t('common:wizardNextButtonLabel')}\n \n \n \n \n )\n }\n \n
\n};\n\nexport default Wizard;\n","import * as React from 'react';\n\nimport {StackItem, FontIcon, IStackTokens, Stack, Text} from \"@fluentui/react\";\n\nexport interface ICheckListItem {\n completed: boolean,\n label: string\n}\nexport interface ITextPaneProps {\n items: ICheckListItem[],\n horizontal?: boolean\n}\n\nconst getIcon = (value: boolean) => value ? \"CheckMark\" : \"Cancel\";\nconst getColor = (value: boolean) => value ? \"green\" : \"salmon\";\n\nconst getStartedTokens: IStackTokens = {\n childrenGap: 'l1',\n padding: 'l1'\n};\n\nconst CheckList = (props: ITextPaneProps) => {\n const {\n items,\n horizontal = true\n } = props;\n\n return \n\n {items.map((item,i) => {\n return \n \n {item.label}\n \n })}\n\n \n};\n\nexport default CheckList;\n","import {\n ApolloClient,\n InMemoryCache\n} from '@apollo/client';\n\nexport interface AuthConfig {\n baseUrl: string,\n realm: string,\n clientId: string\n}\n\nexport interface AuthSession {\n userId: string,\n accessToken: string,\n scope: string,\n permissions: string[]\n}\n\nexport interface GlobalUiState {\n language: string,\n apiBaseUrl: string,\n applicationInsightsKey: string,\n graphQlClient?: ApolloClient,\n auth: {\n config: AuthConfig,\n session: AuthSession\n }\n}\n\nexport interface UiState {\n global: GlobalUiState\n}\n\n// Describing the different ACTION NAMES available\nexport const SET_UI_LANGUAGE = \"SET_UI_LANGUAGE\";\nexport const SET_UI_CONFIG = \"SET_UI_CONFIG\";\nexport const SET_UI_AUTH_CONFIG = \"SET_UI_AUTH_CONFIG\";\nexport const SET_UI_AUTH_SESSION = \"SET_UI_AUTH_SESSION\";\nexport const SET_UI_GRAPHQL_CLIENT = \"SET_UI_GRAPHQL_CLIENT\";\n\nexport interface SetUiAction {\n type: typeof SET_UI_LANGUAGE;\n payload: string;\n}\n\nexport interface SetUiConfigAction {\n type: typeof SET_UI_CONFIG;\n payload: {\n apiBaseUrl: string,\n applicationInsightsKey: string\n };\n}\n\nexport interface SetUiAuthConfigAction {\n type: typeof SET_UI_AUTH_CONFIG;\n payload: AuthConfig;\n}\n\nexport interface SetUiAuthSessionAction {\n type: typeof SET_UI_AUTH_SESSION;\n payload: AuthSession;\n}\n\nexport interface SetUiGraphQlAction {\n type: typeof SET_UI_GRAPHQL_CLIENT;\n payload: ApolloClient;\n}\n\nexport type UiActionTypes =\n SetUiAction |\n SetUiConfigAction |\n SetUiAuthConfigAction |\n SetUiAuthSessionAction |\n SetUiGraphQlAction;\n","import {\n UiState,\n UiActionTypes,\n SET_UI_LANGUAGE,\n SET_UI_AUTH_CONFIG,\n SET_UI_CONFIG,\n SET_UI_AUTH_SESSION, SET_UI_GRAPHQL_CLIENT\n} from \"./types\";\nimport {AppState} from \"../index\";\n\nconst initialState: UiState = {\n global: {\n language: 'sv',\n apiBaseUrl: 'https://pixon.app.localhost:3000/',\n applicationInsightsKey: '',\n graphQlClient: undefined,\n auth: {\n config: {\n baseUrl: '',\n clientId: '',\n realm: ''\n },\n session: {\n accessToken: '',\n permissions: [],\n scope: '',\n userId: ''\n }\n }\n }\n};\n\nexport function uiReducer(\n state = initialState,\n action: UiActionTypes\n): UiState {\n switch (action.type) {\n case SET_UI_CONFIG:\n return {\n ...state,\n global: {\n ...state.global,\n applicationInsightsKey: action.payload.applicationInsightsKey,\n apiBaseUrl: action.payload.apiBaseUrl,\n }\n };\n case SET_UI_GRAPHQL_CLIENT:\n return {\n ...state,\n global: {\n ...state.global,\n graphQlClient: action.payload\n }\n };\n case SET_UI_AUTH_SESSION:\n return {\n ...state,\n global: {\n ...state.global,\n auth: {\n ...state.global.auth,\n session: action.payload\n }\n }\n };\n case SET_UI_AUTH_CONFIG:\n return {\n ...state,\n global: {\n ...state.global,\n auth: {\n ...state.global.auth,\n config: action.payload\n }\n }\n };\n case SET_UI_LANGUAGE:\n return {\n ...state,\n global: {\n ...state.global,\n language: action.payload\n }\n };\n default:\n return state;\n }\n}\n\n// Selectors\nexport const getGraphQlClient = (state: AppState) => state.ui.global.graphQlClient;\nexport const getUiLanguage = (state: AppState) => state.ui.global.language;\nexport const getAccessToken = (state: AppState) => state.ui.global.auth.session.accessToken;\nexport const getPermissions = (state: AppState) => state.ui.global.auth.session.permissions;\nexport const getApiBaseUrl = (state: AppState) => state.ui.global.apiBaseUrl;\n\n","// Should be in sync with\n// Permissions in Auth0 app Pixon Api - https://manage.auth0.com/dashboard/eu/rduce/apis/5c87fc74c371714c89fdd18e/permissions\n// Permissions in Auth0 app Pixon Test Api- https://manage.auth0.com/dashboard/eu/rduce/apis/5d14ced174c1fc067f4e3a9b/permissions\n// Constants in Api (Permissions.cs) - https://dev.azure.com/rduce/RducePixon/_git/PixonApi?path=%2FApplication%2FRduce.Pixon.Api%2FAuth%2FPermissions.cs&version=GBmaster\n\nexport enum Permission {\n Profile = \"profile\",\n Email = \"email\",\n ReadApiConfiguration = \"read:apiconfiguration\",\n ReadOrganizations = \"read:organizations\",\n ReadUsers = \"read:users\",\n ViewDebugPage = \"view:debugpage\",\n ReadAuditEntries = \"read:audit\"\n}\n\nexport default Permission;\n","// From https://www.carlrippon.com/fetch-with-async-await-and-typescript/\nimport React, {useContext} from \"react\";\nimport {useSelector} from \"react-redux\";\nimport {\n ApolloClient,\n InMemoryCache\n} from '@apollo/client'\nimport {getAccessToken, getApiBaseUrl} from \"../../store/ui/reducers\";\nimport { ApolloProvider } from \"@apollo/react-hooks\";\n\nexport interface PixonApiContextInterface {\n get(path: string): Promise;\n client: ApolloClient;\n}\n\ninterface PixonApiProviderOptions {\n children: React.ReactElement;\n baseUrl: string;\n client: ApolloClient;\n}\n\nexport const PixonApiContext = React.createContext(null);\nexport const usePixonApi = () => useContext(PixonApiContext)!;\n\nexport const PixonApiProvider = ({\n children,\n baseUrl,\n client,\n ...initOptions\n }: PixonApiProviderOptions) => {\n\n // Hook into redux store information (important to load after useEffect)\n const accessToken = useSelector(getAccessToken);\n const apiBaseUrl = useSelector(getApiBaseUrl);\n\n const get = async (path: string): Promise => {\n try {\n return await fetch(apiBaseUrl + path, {\n headers: {\n Authorization: `Bearer ${accessToken}`\n }\n });\n } catch (error) {\n console.error('Api get error', error);\n }\n };\n\n return (\n \n \n {children}\n \n \n );\n\n};\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React, { CSSProperties, forwardRef, RefForwardingComponent, useImperativeHandle, useMemo, useCallback, useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDropzone } from \"react-dropzone\";\n\nimport {\n Text,\n} from \"@fluentui/react\";\n\n/* Local */\nimport {\n Asset, AssetType,\n CreateOrganizationAssetsDocument,\n CreateOrganizationAssetsMutation,\n CreateOrganizationAssetsMutationVariables\n} from \"../graphql/types\";\nimport { PixonApiContext } from \"../components/api/api\";\nimport { UploadAsset } from \"./api/util\";\n\n// ----------------------------------------------------------------------------\n\nconst activeStyle = {\n borderColor: '#2196f3'\n};\n\nconst acceptStyle = {\n borderColor: '#00e676'\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744'\n};\n\n\nexport interface UploadAssetHandles {\n open(): void;\n}\n\ninterface IUploadAssetComponentProps {\n organizationId: string,\n acceptedMimeTypes?: string,\n showAcceptReject?: boolean,\n message?: string,\n acceptMessage?: string\n uploadFinishedCallback?: (asset: Asset, file: File) => void,\n display?: string\n}\n\nconst UploadAssetComponent: RefForwardingComponent = (props, ref) => {\n const { t } = useTranslation();\n const {\n showAcceptReject = false,\n acceptedMimeTypes = 'image/jpeg, image/png, image/svg+xml, video/mp4, application/json, text/csv, .handlebars, .hbs',\n message = t('common:fileupload.message'),\n acceptMessage = t('common:fileupload.acceptedfiles'),\n organizationId,\n uploadFinishedCallback,\n display = 'flex'\n } = props;\n\n const context = useContext(PixonApiContext);\n\n const baseStyleMemo = useMemo(() => ({\n flex: 1,\n display: display,\n // see https://stackoverflow.com/questions/48087015/typescript-error-during-inline-fontweight-style-in-react\n flexDirection: 'column' as 'column',\n alignItems: 'center',\n padding: '20px',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n transition: 'border .24s ease-in-out'\n } as CSSProperties), [display]);\n\n const getAssetType = (file: any) => {\n if (file.type.startsWith('image')) {\n return AssetType.Image;\n }\n\n if (file.type.startsWith('video')) {\n return AssetType.Video;\n }\n if (file.name.endsWith('.handlebars') || file.name.endsWith('.hbs')) {\n return AssetType.HandlebarsTemplate;\n }\n\n return AssetType.Data;\n };\n\n const onDrop = useCallback(async files => {\n\n console.debug('creating assets...');\n // Create assets in db and retrieve write SAS tokens for blob storage\n var result = await context?.client.mutate({\n mutation: CreateOrganizationAssetsDocument,\n variables: {\n input: {\n id: organizationId,\n assets: files.map((file: any) => {\n console.debug(file);\n return {\n filename: file.name,\n size: file.size,\n assetType: getAssetType(file),\n mimeType: file.type\n }\n })\n }\n }\n });\n const assets = result?.data!.createOrganizationAssets!.assets as Array;\n console.debug(assets);\n\n files.forEach(async (file: any) => {\n console.debug(file);\n const asset = assets.find((a: Asset | null) => a!.filename === file.name)!;\n\n await UploadAsset(asset, file, file.type);\n\n // Notify parent\n if (uploadFinishedCallback) {\n uploadFinishedCallback(asset, file);\n }\n\n });\n }, [context, organizationId, uploadFinishedCallback]);\n\n const {\n acceptedFiles,\n fileRejections,\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n open } = useDropzone({\n onDrop: onDrop,\n accept: acceptedMimeTypes,\n });\n\n // See: https://stackoverflow.com/questions/37949981/call-child-method-from-parent\n useImperativeHandle(ref, () => ({\n open: () => {\n open();\n }\n }), [open]);\n\n const style = useMemo(() => ({\n ...baseStyleMemo,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {})\n }), [\n isDragActive,\n isDragAccept,\n isDragReject,\n baseStyleMemo\n ]);\n\n const mapfile = (file: File) =>
  • \n {file.name} - {file.size} bytes\n
  • \n\n const acceptedFilesItems = acceptedFiles.map(file => mapfile(file));\n\n const rejectedFilesItems = fileRejections.map(({ file }) => mapfile(file));\n\n return (\n <>\n
    \n \n {\n isDragActive ?\n

    Drop the files here ...

    :\n <>\n

    {message}

    \n {acceptMessage}\n \n }\n
    \n\n {showAcceptReject &&\n \n }\n \n );\n};\n\nexport default forwardRef(UploadAssetComponent);\n","import * as React from 'react';\nimport {useState} from 'react';\nimport Wizard from \"../../components/wizard\";\nimport {StackItem, Image, Link, IStackTokens, MessageBar, MessageBarType, Stack, Text, TextField} from \"@fluentui/react\";\nimport {isEmpty} from \"../../components/api/util\";\nimport CheckList from \"../../components/checkList\";\nimport {useTranslation} from \"react-i18next\";\nimport {HomeScreenInformation} from \"../../graphql/types\";\nimport OrganizationsDropdown from \"../../components/organizationsDropdown\";\nimport UploadAssetComponent from \"../../components/uploadAssetComponent\";\n\nexport interface IGetStartedWizardProps {\n info: HomeScreenInformation\n}\nconst tokens: IStackTokens = {\n childrenGap: 'm',\n padding: 'm'\n};\n\nconst GetStartedWizard = (props: IGetStartedWizardProps) => {\n const {info} = props;\n const {t} = useTranslation();\n\n const [organizationName, setOrganizationName] = useState('');\n const [linkCode, setLinkCode] = useState('');\n const [deviceDisplayName, setDeviceDisplayName] = useState('');\n const [organizationId, setOrganizationId] = useState('');\n const [message, setMessage] = useState('');\n\n return !isEmpty(organizationName),\n validationErrorMessage: 'Organization name is required',\n children: \n Först behöver vi skapa en organisation som kommer att vara ägare av dina enheter.\n setOrganizationName(v || '')}\n />\n Läs mer i dokumentationen\n \n },\n {\n title: t('home:getStartedDeviceLinked'),\n children: <>\n \n \n \n \n Länka din första enhet med hjälp av koden som visas på den skärm du vill installera.\n \n setLinkCode(v || '')}\n autoFocus={true} />\n\n setDeviceDisplayName(v || '')}\n />\n\n setOrganizationId(o.id!)} />\n Läs mer i dokumentationen\n ,\n validationErrorMessage: 'Fix stuff!'\n },\n {\n title: t('home:getStartedContentConfigured'),\n children: \n Ladda upp en bild att använda som bakgrund på din första enhet.\n {\n // Assign asset to linked device background image component here\n setMessage(t('assets:uploadSuccessMessage'))\n }} />\n\n {message !== '' &&\n setMessage('')}\n >\n {message}\n \n }\n\n \n },\n {\n title: t('home:getStartedSummary'),\n children: \n }\n ]}\n />\n};\n\nexport default GetStartedWizard;\n","// NPM\nimport React from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {\n Panel,\n PanelType,\n} from \"@fluentui/react\";\n\n// Local\nimport {HomeScreenInformation} from \"../../graphql/types\";\n\nimport GetStartedWizard from \"./getStartedWizard\";\n\ninterface IGetStartedPanelProps {\n isOpen: boolean;\n onDismiss: () => void;\n info: HomeScreenInformation\n}\n\nconst GetStartedPanel = (props: IGetStartedPanelProps) => {\n const {\n onDismiss,\n info\n } = props;\n const {t} = useTranslation();\n\n return (\n \n \n \n )\n};\n\nexport default GetStartedPanel;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\nimport {useState} from \"react\";\n/* Local */\nimport TextPane from \"../../components/textPane\";\nimport {\n ActivityItem,\n IActivityItemProps,\n IStackTokens,\n Link,\n mergeStyleSets,\n MessageBar, MessageBarButton,\n MessageBarType,\n PrimaryButton,\n Stack,\n StackItem,\n Text\n} from \"@fluentui/react\";\nimport SubHeading from \"../../components/layout/subHeading\";\nimport {\n HomeScreenInformation,\n LastActivityItem,\n Maybe,\n Notification,\n useHomeScreenInformationQuery\n} from \"../../graphql/types\";\nimport Loading from \"../../components/layout/loading\";\nimport {useTranslation} from \"react-i18next\";\nimport {getUserDisplayText} from \"../../components/api/util\";\nimport GetStartedPanel from \"./getStartedPanel\";\nimport {RouteComponentProps} from \"react-router\";\nimport {withRouter} from \"react-router-dom\";\n\n// ----------------------------------------------------------------------------\n\nconst stackTokens: IStackTokens = {\n childrenGap: 'm',\n padding: 'm'\n};\n\nconst classNames = mergeStyleSets({\n exampleRoot: {\n marginTop: '20px'\n },\n nameText: {\n fontWeight: 'bold'\n }\n});\n\nconst newsItems: (IActivityItemProps & { key: string | number })[] = [\n {\n key: 1,\n activityDescription: [\n \n Rduce Complexity AB\n ,\n released ,\n \n version 20191022.3\n \n ],\n activityPersonas: [{imageUrl: 'https://rduce.net/images/logo-blue-black.svg'}],\n timeStamp: new Date('2019-10-21').toLocaleString()\n }\n];\n\nconst HomePageIndex = (props: RouteComponentProps) => {\n const {t} = useTranslation();\n const [showGetStartedPanel, toggleGetStartedPanel] = useState(false);\n const {loading, data, error} = useHomeScreenInformationQuery();\n\n if (loading) {\n return \n }\n\n if (error) {\n return {t('assets:assetList.loadErrorMessage')}\n }\n\n const info = data?.home as HomeScreenInformation;\n const showIntro = false;\n\n const notificationList = info.notifications!.map((n:Maybe, i:number) =>\n \n \n props.history.push('/organization/' + n!.subjectId)\n }>\n {t('common:button.fix')}\n \n \n }\n style={{width: '700px'}}>{t('notifications:' + n!.notificationType, n!)} );\n\n const getActivityItems = (items?: Array>): (IActivityItemProps & { key: string | number })[] => {\n if (!items || items.length === 0)\n return [];\n\n return items.filter(i => i).map((item: Maybe, index:number) => {\n\n return {\n key: index,\n activityDescription: [\n \n {getUserDisplayText(item!.user!)}\n ,\n {t('home:edited')} ,\n \n {item!.itemName}\n \n ],\n activityPersonas: [{imageUrl: item!.user!.picture!}],\n timeStamp: new Date(item!.timestamp).toLocaleString()\n }\n });\n };\n\n return (\n \n\n \n \n {info.organizationCount.toString()}\n {t('home:organizationCount')}\n \n\n \n {info.deviceCount.toString()}\n {t('home:deviceCount')}\n \n\n \n {info.dataSourceCount.toString()}\n {t('home:datasourceCount')}\n \n\n \n {info.componentCount.toString()}\n {t('home:componentCount')}\n \n \n\n \n {notificationList}\n \n\n {showIntro &&\n <>\n \n Använd guiden för att få en flygande start!\n toggleGetStartedPanel(true)}\n >\n {t('home:getStartedHeading')}\n \n \n }\n\n \n \n \n
    \n {getActivityItems(info.lastActivity).map((item: { key: string | number }) => (\n \n ))}\n
    \n
    \n\n \n \n
    \n {newsItems.map((item: { key: string | number }) => (\n \n ))}\n
    \n
    \n
    \n\n toggleGetStartedPanel(false)} info={info}/>\n
    \n );\n};\n\nexport default withRouter(HomePageIndex);\n","import {Clipboard} from 'ts-clipboard';\nimport React from \"react\";\nimport {IconButton} from \"@fluentui/react\";\n\ninterface ClipBoardButtonProps {\n value: string, // Change the required prop to an optional prop.\n}\n\nconst ClipBoardButton = (props: ClipBoardButtonProps) =>\n Clipboard.copy(props.value)} iconProps={{ iconName: 'Copy' }} title=\"Copy to clipboard\" ariaLabel=\"Copy to clipboard\" />;\n\nexport default ClipBoardButton;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React from \"react\";\nimport MonacoEditor from \"react-monaco-editor\";\n\n/* Local */\nimport SubHeading from \"../../components/layout/subHeading\";\nimport ClipBoardButton from \"../../components/layout/clipBoardButton\";\n\n// ----------------------------------------------------------------------------\n\n\ninterface DebugEditorViewProps {\n heading: string,\n children: React.ReactNode,\n value: any,\n clipBoardValue?: string\n}\n\nconst DebugEditorView = (props: DebugEditorViewProps) => {\n const stringValue = JSON.stringify(props.value, null, 2);\n const clipBoardValue = props.clipBoardValue || stringValue;\n\n return (\n <>\n
    \n \n \n
    \n {props.children}\n \n \n )\n};\n\n\nexport default DebugEditorView;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React from \"react\";\nimport { useSelector} from \"react-redux\";\nimport { Link, Stack} from \"@fluentui/react\";\nimport { useTranslation } from 'react-i18next';\n\n/* Local */\nimport { useKeycloak } from '@react-keycloak/web';\nimport Loading from \"../../components/layout/loading\";\nimport DebugEditorView from \"./debugEditorView\";\nimport {getAccessToken } from \"../../store/ui/reducers\";\n\n// ----------------------------------------------------------------------------\nconst UserInformation = () => {\n const { t } = useTranslation();\n const accessToken = useSelector(getAccessToken);\n\n const { keycloak } = useKeycloak();\n const tokens = {\n themedMedium: {\n childrenGap: 'm'\n }\n };\n\n if (!keycloak.userInfo) {\n return ;\n }\n\n const decodeJwtToken = (jwtToken: string) => {\n let jwtData = jwtToken.split('.')[1];\n let decodedJwtJsonData = window.atob(jwtData);\n return JSON.parse(decodedJwtJsonData);\n };\n\n return (\n \n \n

    \n { t('debug:userinfo.userprofile.description') }\n

    \n
    \n\n \n

    \n { t('debug:userinfo.accesstoken.description') } { t('debug:userinfo.usermanagementinterface') }.\n

    \n
    \n\n
    \n )\n};\n\n\nexport default UserInformation;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React, {\n useEffect,\n useState\n} from \"react\";\nimport {\n DetailsList,\n DetailsListLayoutMode,\n Link,\n SelectionMode,\n Stack\n} from \"@fluentui/react\";\n\n/* Local */\nimport {usePixonApi} from \"../../components/api/api\";\nimport SubHeading from \"../../components/layout/subHeading\";\nimport ClipBoardButton from \"../../components/layout/clipBoardButton\";\nimport Permission from \"../../components/auth/permission\";\nimport {useApplicationInformationQuery} from \"../../graphql/types\";\nimport DebugEditorView from \"./debugEditorView\";\nimport { useTranslation } from 'react-i18next';\n// ----------------------------------------------------------------------------\n\nconst items = [\n {\n key: 'apiBaseUrl',\n name: 'API_BASE_URL',\n value: window.API_BASE_URL\n },\n {\n key: 'appInsightsKey',\n name: 'APPLICATION_INSIGHTS_KEY',\n value: window.APPLICATION_INSIGHTS_KEY\n },\n {\n key: 'keyCloakBaseUrl',\n name: 'KEYCLOAK_BASE_URL',\n value: window.KEYCLOAK_BASE_URL\n },\n {\n key: 'keyCloakClientId',\n name: 'KEYCLOAK_CLIENT_ID',\n value: window.KEYCLOAK_CLIENT_ID\n },\n {\n key: 'keyCloakRealm',\n name: 'KEYCLOAK_REALM',\n value: window.KEYCLOAK_REALM\n },\n];\n\nconst columns = [\n {key: 'column1', name: 'Name', fieldName: 'name', minWidth: 100, maxWidth: 200, isResizable: true},\n {key: 'column2', name: 'Value', fieldName: 'value', minWidth: 100, maxWidth: 400, isResizable: true}\n];\n\nconst tokens = {\n themedMedium: {\n childrenGap: 'm'\n }\n};\n\nconst ApplicationInformation = () => {\n const {get} = usePixonApi();\n const { t } = useTranslation();\n const [apiConfig, setConfig] = useState((t('debug:appinfo.confignotretrieved')));\n const {data} = useApplicationInformationQuery();\n const applicationInfo = data && data.application;\n\n const getApiConfiguration = async (): Promise => {\n try {\n return (await get('system/config'))!.json();\n } catch (error) {\n console.error(error);\n return t('debug:appinfo.errorfetchingconfig');\n }\n };\n\n useEffect(() => {\n const init = async () => {\n const config = await getApiConfiguration();\n setConfig(config);\n };\n init();\n // eslint-disable-next-line\n }, []);\n\n return (\n \n\n \n
    \n \n \n
    \n

    \n {t('debug:appinfo.clientapplicationconfig.description')}\n

    \n \n
    \n\n \n

    \n {t('debug:appinfo.apiapplicationconfig.description') } {t('debug:appinfo.apiapplicationconfig.permission') } \n {Permission.ReadApiConfiguration}\n

    \n
    \n\n \n

    \n {t('debug:appinfo.apiapplicationassemblyinformation.description') }\n

    \n
    \n\n
    \n )\n};\n\nexport default ApplicationInformation;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\nimport {useTranslation} from 'react-i18next';\nimport {\n Selection,\n DetailsList,\n IColumn,\n DetailsListLayoutMode,\n SelectionMode,\n MessageBar,\n MessageBarType, IContextualMenuProps, ContextualMenu\n} from \"@fluentui/react\";\n\n/* Local */\nimport {\n AuditEntriesQueryVariables,\n AuditEntry, useAuditEntriesQuery\n} from \"../../graphql/types\";\nimport Loading from \"../../components/layout/loading\";\nimport {useEffect, useState} from \"react\";\n\n// ----------------------------------------------------------------------------\n\nexport interface IAuditTrailListProps {\n lastUpdated: Date,\n filter?: AuditEntriesQueryVariables,\n onSelectEntry: (entry: AuditEntry) => void\n}\n\nconst AuditTrailList = (props: IAuditTrailListProps) => {\n const {onSelectEntry, filter} = props;\n const {loading, data, error, refetch} = useAuditEntriesQuery({\n variables: filter\n });\n const {t} = useTranslation();\n const [contextMenu, setContextMenu] = useState();\n const [selection] = useState( new Selection({\n onSelectionChanged: () => {\n onSelectEntry(selection.getSelection()[0] as AuditEntry);\n }\n }));\n\n useEffect(() => {\n refetch();\n }, [filter, props.lastUpdated, refetch]);\n\n const defaultColumns: IColumn[] = [\n {\n key: 'auditEntryId',\n name: t('audit:fields.auditEntryId'),\n fieldName: 'auditEntryId',\n minWidth: 60,\n maxWidth: 100,\n isRowHeader: true,\n isResizable: true,\n data: 'number',\n isPadded: true\n },\n {\n key: 'entitySetName',\n name: t('audit:fields.entitySetName'),\n fieldName: 'entitySetName',\n minWidth: 210,\n maxWidth: 350,\n isResizable: true,\n data: 'string',\n isPadded: true\n },\n {\n key: 'entityTypeName',\n name: t('audit:fields.entityTypeName'),\n fieldName: 'entityTypeName',\n minWidth: 210,\n maxWidth: 350,\n isResizable: true,\n data: 'string',\n isPadded: true\n },\n {\n key: 'stateName',\n name: t('audit:fields.stateName'),\n fieldName: 'stateName',\n minWidth: 210,\n maxWidth: 350,\n isResizable: true,\n data: 'string',\n isPadded: true\n },\n {\n key: 'createdBy',\n name: t('audit:fields.createdBy'),\n fieldName: 'createdBy',\n minWidth: 210,\n maxWidth: 350,\n isResizable: true,\n data: 'string',\n isPadded: true\n },\n {\n key: 'createdDate',\n name: t('audit:fields.createdDate'),\n fieldName: 'createdDate',\n minWidth: 210,\n maxWidth: 350,\n isResizable: true,\n data: 'string',\n isPadded: true\n }\n ];\n\n if (loading) {\n return \n }\n\n if (error) {\n return {t('audit:auditTrailList.loadErrorMessage')}\n }\n\n const _onItemContextMenu = (item: any, index?: number, ev?: Event): boolean => {\n const mouseEvent = ev! as MouseEvent;\n const selectedItem = item as AuditEntry;\n\n const contextualMenuProps: IContextualMenuProps = {\n target: { x: mouseEvent.x, y: mouseEvent.y },\n items: [\n {\n key: 'showSelected',\n text: t('common:menu.showSelected'),\n iconProps: {\n iconName: 'Edit'\n },\n onClick: () => {\n onSelectEntry(selectedItem)\n }\n }],\n onDismiss: () => {\n setContextMenu(undefined);\n }\n };\n\n if (index! > -1) {\n setContextMenu(contextualMenuProps);\n }\n\n return false;\n };\n\n const entries = data?.auditEntries as AuditEntry[];\n\n return (\n <>\n \n {contextMenu &&\n \n }\n \n );\n};\n\nexport default AuditTrailList;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\n\n/* Local */\nimport {\n AuditEntry, useAuditEntryQuery\n} from \"../../graphql/types\";\nimport Loading from \"../../components/layout/loading\";\nimport {useEffect} from \"react\";\nimport {MonacoDiffEditor} from \"react-monaco-editor\";\n\n// ----------------------------------------------------------------------------\n\nexport interface IAuditEntryDiffProps {\n entry?: AuditEntry,\n}\n\nconst AuditEntryDiff = (props: IAuditEntryDiffProps) => {\n const {entry} = props;\n\n const {loading, data, error, refetch} = useAuditEntryQuery({\n variables: {\n input: entry ? entry.auditEntryId.toString() : \"0\"\n }\n });\n\n useEffect(() => {\n refetch();\n }, [entry, refetch]);\n\n if (loading) {\n return \n }\n\n let oldValues = '';\n let newValues = '';\n\n if (!error) {\n const auditEntry = data!.auditEntry as AuditEntry;\n\n auditEntry.properties!.forEach((p:any) => {\n oldValues += p.propertyName + ': ' + p.oldValue + '\\n';\n newValues += p.propertyName + ': ' + p.newValue + '\\n';\n });\n\n newValues = newValues.trim();\n oldValues = oldValues.trim();\n }\n\n return (\n <>\n \n \n );\n};\n\nexport default AuditEntryDiff;\n","import * as React from 'react';\n\nimport {\n IBasePickerSuggestionsProps, IPersonaProps, NormalPeoplePicker, ValidationState\n} from \"@fluentui/react\";\n\nimport {useTranslation} from \"react-i18next\";\nimport {User, useUsersQuery} from \"../graphql/types\";\nimport {useEffect, useState} from \"react\";\n\nexport interface IUserPickerProps {\n onChange: (items: User[]) => void;\n}\n\n\n\nconst UserPicker = (props: IUserPickerProps) => {\n const {\n onChange\n } = props;\n\n const {t} = useTranslation();\n const {loading, data, error} = useUsersQuery();\n\n let users = [] as User[];\n if (!loading && !error && data) {\n users = (data.users as User[]);\n }\n\n const suggestionProps: IBasePickerSuggestionsProps = {\n suggestionsHeaderText: t('common:userPicker.suggestionsHeaderText'), //'Suggested People'\n mostRecentlyUsedHeaderText: t('common:userPicker.mostRecentlyUsedHeaderText'), // 'Suggested Contacts',\n noResultsFoundText: t('common:userPicker.noResultsFoundText'), //'No results found',\n loadingText: t('common:userPicker.loadingText'), //'Loading',\n showRemoveButtons: true,\n suggestionsAvailableAlertText: t('common:userPicker.suggestionsAvailableAlertText'), //'People Picker Suggestions available',\n suggestionsContainerAriaLabel: t('common:userPicker.suggestionsContainerAriaLabel'), //'Suggested contacts'\n };\n\n const usersToPersonas = (userList:User[]): IPersonaProps[] =>\n userList.map(u => {\n return {\n imageUrl: u.picture,\n isValid: true,\n key: u.externalUserId,\n //presence: 2,\n optionalText: u.email,\n secondaryText: `${u.email} (${u.externalUserId})`,\n //tertiaryText: \"In a meeting\",\n text: u.fullName\n } as IPersonaProps\n });\n\n const personasToUsers = (personas: any[]): User[] =>\n personas.map(p => users.find(u => u.externalUserId === p.key!)!);\n\n const [peopleList, setPeopleList] = useState(usersToPersonas(users));\n const [mostRecentlyUsed, setMostRecentlyUsed] = useState([]);\n\n useEffect(() => {\n if (!loading && !error) {\n setPeopleList(usersToPersonas(data?.users as User[]))\n }\n\n }, [data, loading, error]);\n\n const onRemoveSuggestion = (item: IPersonaProps): void => {\n const indexPeopleList: number = peopleList.indexOf(item);\n const indexMostRecentlyUsed: number = mostRecentlyUsed.indexOf(item);\n\n if (indexPeopleList >= 0) {\n const newPeople: IPersonaProps[] = peopleList.slice(0, indexPeopleList).concat(peopleList.slice(indexPeopleList + 1));\n setPeopleList(newPeople);\n }\n\n if (indexMostRecentlyUsed >= 0) {\n const newSuggestedPeople: IPersonaProps[] = mostRecentlyUsed\n .slice(0, indexMostRecentlyUsed)\n .concat(mostRecentlyUsed.slice(indexMostRecentlyUsed + 1));\n setMostRecentlyUsed(newSuggestedPeople);\n }\n };\n\n const onFilterChanged = (\n filterText: string,\n currentPersonas?: IPersonaProps[],\n limitResults?: number\n ): IPersonaProps[] | Promise => {\n if (filterText) {\n let filteredPersonas: IPersonaProps[] = filterPersonasByText(filterText);\n\n filteredPersonas = removeDuplicates(filteredPersonas, currentPersonas!);\n filteredPersonas = limitResults ? filteredPersonas.splice(0, limitResults) : filteredPersonas;\n return filterPromise(filteredPersonas);\n } else {\n return [];\n }\n };\n\n const returnMostRecentlyUsed = (currentPersonas?: IPersonaProps[]): IPersonaProps[] | Promise => {\n const mru = removeDuplicates(mostRecentlyUsed, currentPersonas!);\n return filterPromise(mru);\n };\n\n const filterPromise = (personasToReturn: IPersonaProps[]): IPersonaProps[] | Promise => {\n return personasToReturn;\n };\n\n const listContainsPersona = (persona: IPersonaProps, personas: IPersonaProps[]) => {\n if (!personas || !personas.length || personas.length === 0) {\n return false;\n }\n return personas.filter(item => item.text === persona.text).length > 0;\n };\n\n const filterPersonasByText = (filterText: string): IPersonaProps[] => {\n return peopleList.filter(item => doesTextStartWith(item.text as string, filterText));\n };\n\n const doesTextStartWith = (text: string, filterText: string): boolean => {\n return text.toLowerCase().indexOf(filterText.toLowerCase()) === 0;\n };\n\n const getTextFromItem = (persona: IPersonaProps): string => {\n return persona.text as string;\n };\n\n const removeDuplicates = (personas: IPersonaProps[], possibleDupes: IPersonaProps[]) => {\n return personas.filter(persona => !listContainsPersona(persona, possibleDupes));\n };\n\n const validateInput = (input: string): ValidationState => {\n if (input.indexOf('@') !== -1) {\n return ValidationState.valid;\n } else if (input.length > 1) {\n return ValidationState.warning;\n } else {\n return ValidationState.invalid;\n }\n };\n\n const onInputChange = (input: string): string => {\n const outlookRegEx = /<.*>/g;\n const emailAddress = outlookRegEx.exec(input);\n\n if (emailAddress && emailAddress[0]) {\n return emailAddress[0].substring(1, emailAddress[0].length - 1);\n }\n\n return input;\n };\n\n return {\n onChange(personasToUsers(items || []));\n }}\n />\n\n};\n\nexport default UserPicker;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React, {useRef, useState} from \"react\";\n\nimport {\n Callout,\n DatePicker,\n DayOfWeek,\n DefaultButton,\n IDatePickerStrings,\n ITag,\n Label,\n Stack,\n TagPicker,\n TextField\n} from \"@fluentui/react\";\n/* Local */\nimport SubHeading from \"../../components/layout/subHeading\";\nimport {useTranslation} from 'react-i18next';\nimport AuditTrailList from \"./auditTrailList\";\nimport {AuditEntriesQueryVariables, AuditEntry, AuditEntryState, User} from \"../../graphql/types\";\nimport AuditEntryDiff from \"./auditEntryDiff\";\nimport UserPicker from \"../../components/userPicker\";\n// ----------------------------------------------------------------------------\n\n\nconst tokens = {\n themedMedium: {\n childrenGap: 'm'\n },\n themedLarge: {\n childrenGap: '10',\n margin: 10\n }\n};\n\nconst StateTags: ITag[] =\n Object.keys(AuditEntryState)\n .map( k => ({key: AuditEntryState[k as keyof typeof AuditEntryState], name: k}));\n\nconst EntityTypeTags: ITag[] = [\n 'Address',\n 'Asset',\n 'City',\n 'Component',\n 'ComponentDataSource',\n 'Country',\n 'Device',\n 'DeviceController',\n 'DeviceLinkTicket',\n 'Integration',\n 'Layout',\n 'Organization',\n 'Page',\n 'Presentation',\n 'Subdivision',\n 'Transition',\n 'User',\n 'UserIdentity'\n].map(item => ({key: item, name: item}));\n\nconst EntitySetTags: ITag[] = [\n 'AuditEntries',\n 'AuditEntryProperties',\n 'Assets',\n 'Addresses',\n 'Cities',\n 'ComponentDataSources',\n 'Countries',\n 'Devices',\n 'DeviceLinkTickets',\n 'DeviceControllers',\n 'Integrations',\n 'Organizations',\n 'Pages',\n 'Components',\n 'Layouts',\n 'Presentations',\n 'Subdivisions',\n 'Transitions',\n 'Users',\n 'UserIdentities',\n 'DeviceControllerPresentation',\n 'PagePresentation',\n 'PageComponent',\n 'ComponentAsset',\n 'ComponentDataSourceAsset',\n].map(item => ({key: item, name: item}));\n\nfunction addDays(date: Date, days: number) {\n var result = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n}\n\nconst AuditTrail = () => {\n const {t} = useTranslation();\n const [isFilterCalloutVisible, setIsFilterCalloutVisible] = useState(false);\n const [lastUpdated] = useState(new Date());\n const [selectedEntry, setSelectedEntry] = useState();\n const [filter, setFilter] = useState({\n input: {\n from: addDays(new Date(), -1),\n to: new Date(),\n }\n });\n const filterButtonElement = useRef(null);\n\n const DayPickerStrings: IDatePickerStrings = {\n months: [\n t('common:date.January'),\n t('common:date.February'),\n t('common:date.March'),\n t('common:date.April'),\n t('common:date.May'),\n t('common:date.June'),\n t('common:date.July'),\n t('common:date.August'),\n t('common:date.September'),\n t('common:date.October'),\n t('common:date.November'),\n t('common:date.December')\n ],\n\n shortMonths: [\n t('common:date.Jan'),\n t('common:date.Feb'),\n t('common:date.Mar'),\n t('common:date.Apr'),\n t('common:date.May'),\n t('common:date.Jun'),\n t('common:date.Jul'),\n t('common:date.Aug'),\n t('common:date.Sep'),\n t('common:date.Oct'),\n t('common:date.Nov'),\n t('common:date.Dec')\n ],\n\n days: [\n t('common:date.Monday'),\n t('common:date.Tuesday'),\n t('common:date.Wednesday'),\n t('common:date.Thursday'),\n t('common:date.Friday'),\n t('common:date.Saturday'),\n t('common:date.Sunday')\n ],\n\n shortDays: [\n t('common:date.M'),\n t('common:date.Tu'),\n t('common:date.W'),\n t('common:date.Th'),\n t('common:date.F'),\n t('common:date.Sa'),\n t('common:date.Su')\n ],\n\n goToToday: t('common:date.gotoToday'),\n prevMonthAriaLabel: t('common:date.gotoPreviousMonth'),\n nextMonthAriaLabel: t('common:date.gotoNextMonth'),\n prevYearAriaLabel: t('common:date.gotoPreviousYear'),\n nextYearAriaLabel: t('common:date.gotoNextYear'),\n closeButtonAriaLabel: t('common:date.gotoCloseDatePicker'),\n };\n\n const onItemSelected = (item?:ITag) => {\n if (item\n && filter\n && filter.input\n && filter.input.createdBy\n && filter.input.createdBy.indexOf(item.key.toString()) >= 0)\n {\n return null;\n }\n return item!;\n };\n\n const onResolveSuggestions = (filterText: string, items: ITag[], selectedItems?: ITag[]) => {\n return filterText ? items.filter(tag => tag.name.toLowerCase().indexOf(filterText.toLowerCase()) === 0) : []\n };\n\nreturn (\n \n\n \n
    \n \n
    \n

    \n {t('debug:auditTrail.description')}\n

    \n\n \n\n \n {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n from: d\n }\n })\n }}\n />\n {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n to: d\n }\n })\n }}/>\n\n
    \n \n {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n createdBy: items && items.length > 0 ? items.map(i => i.externalUserId!) : undefined\n }\n })}} />\n
    \n\n
    \n \n setIsFilterCalloutVisible(!isFilterCalloutVisible)}\n text={isFilterCalloutVisible ? t('common:button.hide') : t('common:button.show') }/>\n
    \n\n {isFilterCalloutVisible &&\n setIsFilterCalloutVisible(false)}\n setInitialFocus={true}\n >\n \n\n
    \n \n onResolveSuggestions(ft, StateTags, s) }\n inputProps={{ id: 'states' }}\n onItemSelected={onItemSelected}\n onChange={(items) => {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n states: items ? items.map(i => i.key as AuditEntryState) : undefined\n }\n })\n }}\n />\n
    \n\n
    \n \n onResolveSuggestions(ft, EntitySetTags, s) }\n inputProps={{ id: 'entitySets' }}\n onItemSelected={onItemSelected}\n onChange={(items) => {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n entitySetNames: items ? items.map(i => i.key.toString()) : undefined\n }\n })\n }}\n />\n
    \n\n
    \n \n onResolveSuggestions(ft, EntityTypeTags, s) }\n inputProps={{ id: 'entityTypes'}}\n onItemSelected={onItemSelected}\n onChange={(items) => {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n entityTypeNames: items ? items.map(i => i.key.toString()) : undefined\n }\n })\n }}\n />\n
    \n\n
    \n \n onResolveSuggestions(ft, EntityTypeTags, s) }\n inputProps={{ id: 'excludeEntityTypes'}}\n onItemSelected={onItemSelected}\n onChange={(items) => {\n setFilter({\n ...filter,\n input: {\n ...filter.input,\n excludeEntityTypeNames: items ? items.map(i => i.key.toString()) : undefined\n }\n })\n }}\n />\n
    \n\n \n setFilter({\n ...filter,\n input: {\n ...filter.input,\n entityIds: (newValue && newValue.length > 0) ? [ newValue ] : undefined\n }\n })\n }\n />\n
    \n\n \n }\n
    \n\n
    \n\n \n \n {\n setSelectedEntry(e);\n }}/>\n \n\n {selectedEntry &&\n <>\n \n \n \n \n \n \n \n }\n\n
    \n );\n};\n\nexport default AuditTrail;\n","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport React, {useEffect, useState} from \"react\";\n\nimport {\n CommandBar,\n Pivot,\n PivotItem,\n Stack,\n Separator, MessageBar, MessageBarType\n} from \"@fluentui/react\";\n\n/* Local */\nimport UserInformation from \"./userInformation\";\nimport ApplicationInformation from \"./applicationInformation\";\nimport { useKeycloak } from '@react-keycloak/web'\nimport {usePixonApi} from \"../../components/api/api\";\nimport { useTranslation } from 'react-i18next';\nimport AuditTrail from \"./auditTrail\";\n// ----------------------------------------------------------------------------\n\nconst DebugPageIndex = () => {\n const [selectedPivot, setSelectedPivotItem] = useState(\"userInfo\");\n const {keycloak} = useKeycloak();\n const {get} = usePixonApi();\n const { t } = useTranslation();\n const [apiStatusCode, setApiResponseCode] = useState(0);\n const [showMessageBar, setShowMessageBar] = useState(false);\n\n const [syncingUser, setSyncingUser] = useState(false);\n\n useEffect(() => {\n async function synchronizeAuth0UserWithPixonDb() {\n try {\n const responseData = (await get('user/sync'))!.status;\n setApiResponseCode(responseData);\n setShowMessageBar(true);\n } catch (error) {\n console.error(error);\n setApiResponseCode(-1);\n setShowMessageBar(true);\n }\n setSyncingUser(false);\n }\n\n if (syncingUser) {\n synchronizeAuth0UserWithPixonDb();\n }\n }, [get, syncingUser]);\n\n const isTestEnvironment = window.API_BASE_URL === 'https://testapi.pixon.app/';\n const messageBarType = apiStatusCode === 204 ? MessageBarType.success : MessageBarType.error;\n\n const environmentUrls = isTestEnvironment\n ? [\n 'https://testapi.pixon.app/healthchecks-ui',\n 'https://portal.azure.com/#blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/resourceId/%2Fsubscriptions%2F361db64e-19cc-4eda-873b-0342929f780b%2FresourceGroups%2Fpixon-test-rg%2Fproviders%2Fmicrosoft.insights%2Fcomponents%2Fpixon-test-ai/source/AIExtension.AspNetOverviewV3',\n 'https://portal.azure.com/#@rduce.net/resource/subscriptions/361db64e-19cc-4eda-873b-0342929f780b/resourceGroups/pixon-test-rg/providers/microsoft.insights/components/pixon-test-ai/overview',\n 'https://testapi.pixon.app/'\n ]\n : [\n 'https://api.pixon.app/healthchecks-ui',\n 'https://portal.azure.com/#blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/resourceId/%2Fsubscriptions%2Fdfa1e878-e2ee-47b9-af16-d050349465d3%2FresourceGroups%2Fpixon-prod-rg%2Fproviders%2Fmicrosoft.insights%2Fcomponents%2Fpixon-prod-ai/source/AIExtension.AspNetOverviewV3',\n 'https://portal.azure.com/#@rduce.net/resource/subscriptions/dfa1e878-e2ee-47b9-af16-d050349465d3/resourceGroups/pixon-prod-rg/providers/microsoft.insights/components/pixon-prod-ai/overview',\n 'https://api.pixon.app/'\n ];\n\n const commandBarItems = (urls: string[]) => {\n const userItems = [\n {\n key: 'syncUser',\n name: t('debug:commandbar.synchronizeuser'),\n cacheKey: 'syncUser',\n iconProps: {\n iconName: 'UserSync'\n },\n ariaLabel: t('debug:commandbar.synchronizeuser'),\n onClick: () => setSyncingUser(true)\n },\n {\n key: 'healthCheck',\n name: t('debug:commandbar.healthcheck'),\n cacheKey: 'syncUser', //\n iconProps: {\n iconName: 'Health'\n },\n ariaLabel: t('debug:commandbar.healthcheck'),\n href: urls[0],\n target: '_blank'\n },\n {\n key: 'graphqlApi',\n name: t('debug:commandbar.graphql'),\n cacheKey: 'graphqlApi',\n iconProps: {\n iconName: 'AzureAPIManagement'\n },\n ariaLabel: t('debug:commandbar.graphql'),\n href: urls[3],\n target: '_blank'\n }\n ];\n\n const adminItems = [\n {\n key: 'appInsightsLogs',\n name: t('debug:commandbar.logs'),\n cacheKey: 'appInsightsLogs',\n iconProps: {\n iconName: 'RawSource'\n },\n ariaLabel: t('debug:commandbar.logs'),\n href: urls[1],\n target: '_blank'\n },\n {\n key: 'appInsights',\n name: t('debug:commandbar.surveillance'),\n cacheKey: 'appInsights',\n iconProps: {\n iconName: 'AnalyticsView'\n },\n ariaLabel: t('debug:commandbar.surveillance'),\n href: urls[2],\n target: '_blank'\n }\n ];\n\n // Show admin items if user have more permissions\n return keycloak?.hasRealmRole('developer')\n ? userItems.concat(adminItems)\n : userItems;\n };\n\n const handleLinkClick = (item?: (PivotItem | undefined)) => {\n setSelectedPivotItem(item?.props.itemKey!);\n };\n\n return (\n \n \n\n \n \n\n {keycloak?.hasRealmRole('developer') &&\n \n }\n\n {keycloak?.hasRealmRole('developer') &&\n \n }\n\n \n\n \n\n \n \n\n \n  \n \n\n {showMessageBar &&\n <>\n setShowMessageBar(false)} dismissButtonAriaLabel=\"Close\">\n {t('debug:message.synchronizeduser')} {apiStatusCode}\n \n \n  \n \n \n }\n\n {selectedPivot === 'userInfo' &&\n \n }\n\n {selectedPivot === 'appInfo' &&\n \n }\n\n {selectedPivot === 'auditTrail' &&\n \n }\n\n \n )\n};\n\nexport default DebugPageIndex;\n","export default __webpack_public_path__ + \"static/media/logo-text.0b74969d.svg\";","// ----------------------------------------------------------------------------\n// IMPORTS\n\n/* NPM */\nimport * as React from \"react\";\n\nimport logo from \"../../assets/img/logo-text.svg\";\n\n // ----------------------------------------------------------------------------\n\n// Layout sections\nimport {Image, MessageBar, MessageBarButton, MessageBarType} from \"@fluentui/react\";\nimport {RouteComponentProps} from \"react-router\";\nimport {withRouter} from \"react-router-dom\";\nimport {useTranslation} from \"react-i18next\";\n\ninterface IOauthIndexProps extends RouteComponentProps {\n}\n\n// Images\nconst OauthIndexPage = (props: IOauthIndexProps) => {\n const {location} = props;\n const {t} = useTranslation();\n const resultIsSuccess = new URLSearchParams(location.search).get(\"result\") === \"success\";\n const messageBarType = resultIsSuccess ? MessageBarType.success : MessageBarType.error;\n\n return
    \n \n
    \n \n window.close()}>{t('common:oauthConnectionCloseWindowButton')}\n
    \n }\n messageBarType={messageBarType}\n isMultiline={true}\n >\n\n {resultIsSuccess ? t('common:oauthConnectionSuccessMessage') : t('common:oauthConnectionErrorMessage')}\n \n
    \n \n};\n\nexport default withRouter(OauthIndexPage);\n","import {\n AuthConfig,\n AuthSession,\n SET_UI_AUTH_CONFIG,\n SET_UI_AUTH_SESSION,\n SET_UI_CONFIG,\n SET_UI_GRAPHQL_CLIENT,\n SET_UI_LANGUAGE,\n SetUiConfigAction,\n SetUiAuthConfigAction,\n SetUiAuthSessionAction,\n SetUiGraphQlAction\n} from \"./types\";\nimport {\n ApolloClient,\n InMemoryCache\n} from '@apollo/client';\n\nexport function setUiLanguage(language: string) {\n return {\n type: SET_UI_LANGUAGE,\n payload: language\n };\n}\n\nexport function setUiConfig(apiBaseUrl: string, applicationInsightsKey: string) : SetUiConfigAction {\n return {\n type: SET_UI_CONFIG,\n payload: {\n apiBaseUrl: apiBaseUrl,\n applicationInsightsKey: applicationInsightsKey\n }\n };\n}\n\nexport function setUiAuthConfig(config: AuthConfig) : SetUiAuthConfigAction {\n return {\n type: SET_UI_AUTH_CONFIG,\n payload: config\n };\n}\n\nexport function setUiSession(session: AuthSession) : SetUiAuthSessionAction {\n return {\n type: SET_UI_AUTH_SESSION,\n payload: session\n };\n}\n\nexport function setUiGraphQlClient(client: ApolloClient): SetUiGraphQlAction {\n return {\n type: SET_UI_GRAPHQL_CLIENT,\n payload: client\n };\n}\n","import * as React from \"react\";\nimport { registerIcons } from \"@fluentui/react\";\n\nregisterIcons({\n icons: {\n 'FlagSV': (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ),\n 'FlagEN': (\n \n \n \n \n \n \n \n \n \n \n ),\n }\n});\n","// Npm\nimport * as React from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {useTranslation} from 'react-i18next';\nimport {withRouter} from \"react-router-dom\";\nimport {\n ContextualMenuItemType,\n IconButton,\n IPersonaSharedProps,\n Persona,\n PersonaPresence,\n PersonaSize,\n IContextualMenuItem,\n} from \"@fluentui/react\";\n\n// Local\nimport { useKeycloak } from '@react-keycloak/web'\nimport '../../assets/customIcons';\nimport {setUiLanguage} from \"../../store/ui/actions\";\nimport {getUiLanguage} from \"../../store/ui/reducers\";\nimport {useEffect, useState} from \"react\";\n\nconst UserMenu = withRouter(({history}) => {\n // Hook into redux store information (important to load after useEffect)\n const dispatch = useDispatch();\n const uiLanguage = useSelector(getUiLanguage);\n const {t,i18n} = useTranslation();\n const { keycloak } = useKeycloak();\n const [userProfile, setUserProfile] = useState();\n\n useEffect(() => {\n if (uiLanguage)\n {\n i18n.changeLanguage(uiLanguage);\n }\n }, [i18n, uiLanguage]);\n\n\n useEffect(() => {\n if (keycloak)\n {\n keycloak\n .loadUserInfo()\n .then(userInfo => {\n setUserProfile(userInfo);\n })\n .catch(e => {\n console.log('could not load user info', e);\n });\n }\n }, [keycloak]);\n\n if (!keycloak.authenticated || !userProfile) {\n return null;\n }\n\n const userPersona: IPersonaSharedProps = {\n imageUrl: undefined,\n text: userProfile.name,\n secondaryText: userProfile.preferred_username,\n };\n\n const logoutWithRedirect = () => {\n keycloak.logout({\n redirectUri: window.location.origin\n });\n }\n\n const _renderMenuList = (props: any, defaultRender: any, persona: IPersonaSharedProps) => {\n const styles = {\n root: [\n {\n margin: '10px'\n }\n ]\n };\n\n return (\n <>\n \n\n {defaultRender(props)}\n \n );\n };\n\n const menuItems: IContextualMenuItem[] = [\n {\n key: \"divider_1\",\n itemType: ContextualMenuItemType.Divider\n },\n {\n key: \"support\",\n text: t('common:usermenu.support'),\n iconProps: {\n iconName: \"UnknownSolid\"\n },\n href: \"mailto:support@rduce.net\"\n },\n {\n key: \"documentation\",\n text: t('common:usermenu.documentation'),\n iconProps: {\n iconName: \"DocumentSearch\"\n },\n href: \"https://docs.pixon.app\",\n target: \"_blank\"\n },\n {\n key: \"divider_2\",\n itemType: ContextualMenuItemType.Divider\n },\n {\n key: 'langageSv',\n text: t('common:usermenu.language.swedish'),\n title: 'Svenska',\n iconProps: {\n iconName: \"FlagSV\"\n },\n onClick: () => { dispatch(setUiLanguage('sv')) }\n },\n {\n key: 'languageEn',\n text: t('common:usermenu.language.english'),\n title: 'English',\n iconProps: {\n iconName: \"FlagEN\"\n },\n onClick: () => { dispatch(setUiLanguage('en')) }\n },\n {\n key: \"divider_3\",\n itemType: ContextualMenuItemType.Divider\n },\n {\n key: \"signout\",\n text: t('common:usermenu.signout'),\n iconProps: {\n iconName: \"SignOut\"\n },\n onClick: () => logoutWithRedirect()\n }\n ];\n\n if (keycloak.hasRealmRole('developer')) {\n menuItems.push({\n key: \"debug\",\n text: t('common:usermenu.debug'),\n iconProps: {\n iconName: \"Bug\"\n },\n onClick: () => history.push(\"/debug\")\n });\n }\n\n return (\n _renderMenuList(props, defaultRender, userPersona)\n }}\n >\n \n
    );\n});\n\nexport default UserMenu;\n","// NPM\nimport React, {useEffect, useRef, useState} from \"react\";\nimport {Trans, useTranslation} from \"react-i18next\";\nimport {\n CommandBar,\n DefaultButton,\n MessageBar,\n MessageBarType,\n Panel,\n PanelType,\n PrimaryButton,\n Stack,\n Text\n} from \"@fluentui/react\";\n// Local\nimport {Asset, AssetType, useAssetQuery, useNotifyAssetChangedMutation,} from \"../../graphql/types\";\nimport MonacoEditor from \"react-monaco-editor\";\nimport ReactDataGrid from 'react-data-grid';\nimport {getAssetUrl, UploadAsset} from \"../../components/api/util\";\nimport Loading from \"../../components/layout/loading\";\n\nexport enum EditorType {\n Text = 1,\n Table\n}\n\nexport interface TenantRegistryItem {\n entrance: string;\n floor: number;\n name: string;\n apartment_number: string,\n national_land_survey_number: string\n resident_type: \"Person\" | \"Företag\";\n}\n\ninterface EditTextAssetPanelProps {\n isOpen: boolean;\n onDismiss: () => void;\n onCancel: () => void;\n selectedId: string,\n editorType?: EditorType\n}\n\nconst defaultColumnProperties = {\n editable: true,\n};\n\nconst sample = [\n {\n \"entrance\": \"A\",\n \"floor\": 1,\n \"name\": \"Mr Smith\",\n \"apartment_number\": \"1\",\n \"national_land_survey_number\": \"A1100\",\n \"resident_type\": \"Person\"\n },\n {\n \"entrance\": \"B\",\n \"floor\": 1,\n \"name\": \"Ms Smith\",\n \"apartment_number\": \"2\",\n \"national_land_survey_number\": \"B1100\",\n \"resident_type\": \"Person\"\n }\n] as TenantRegistryItem[];\n\n\nfunction getLanguage(assetType?: AssetType | null) {\n if (!assetType)\n return \"json\";\n\n switch (assetType) {\n case AssetType.HandlebarsTemplate:\n return \"handlebars\";\n case AssetType.ResidentRegistry:\n default:\n return \"json\";\n }\n}\n\nconst EditTextAssetPanel = (props: EditTextAssetPanelProps) => {\n const {\n isOpen,\n selectedId,\n onDismiss,\n onCancel,\n editorType\n } = props;\n const {t} = useTranslation();\n const [showValidationError, setShowValidationError] = useState();\n const [content, setContent] = useState();\n const [selected, setSelected] = useState();\n const [editor, setEditor] = useState(editorType);\n\n const [selectedCoordinates, setSelectedCoordinates] = useState();\n const grid = useRef() as React.MutableRefObject>;\n\n // Queries & mutations\n const [notifyAssetChangedMutation] = useNotifyAssetChangedMutation();\n const {loading, data, error} = useAssetQuery({\n variables: {\n input: selectedId\n }\n });\n\n useEffect(() => {\n if (!data || !data.asset)\n return;\n\n const fetchedAsset = data.asset as Asset;\n setSelected(fetchedAsset);\n\n if (!editor) {\n setEditor(fetchedAsset.assetType === AssetType.ResidentRegistry ? EditorType.Table : EditorType.Text);\n }\n\n const fetchData = async () => {\n const result = await\n fetch(getAssetUrl(fetchedAsset))\n .then(r => r.text());\n\n if (editor === EditorType.Text) {\n setContent(result);\n } else {\n const casted = JSON.parse(result) as TenantRegistryItem[];\n setContent(casted);\n }\n };\n\n if (fetchedAsset) {\n fetchData();\n }\n }, [data, editor]);\n\n if (loading) {\n return \n }\n\n if (error) {\n return {t('assets:assetList.loadErrorMessage')}\n }\n\n const columns = [\n {\n key: 'entrance',\n name: t('dataSources:editJsonDataSourceComponent.entranceColumnName'),\n width: 80\n },\n {\n key: 'floor',\n name: t('dataSources:editJsonDataSourceComponent.floorColumnName'),\n width: 120\n },\n {\n key: 'name',\n name: t('dataSources:editJsonDataSourceComponent.sortColumnName'),\n },\n {\n key: 'apartment_number',\n name: t('dataSources:editJsonDataSourceComponent.sortColumnApartmentNumber'),\n width: 140\n },\n {\n key: 'national_land_survey_number',\n name: t('dataSources:editJsonDataSourceComponent.sortColumnLandSurveyNumber'),\n width: 140\n },\n {\n key: 'resident_type',\n name: t('dataSources:editJsonDataSourceComponent.residentTypeColumnName'),\n width: 120\n },\n ].map(c => ({...c, ...defaultColumnProperties}));\n\n const saveChanges = async () => {\n if (!selected)\n return;\n\n const arrayData = editorType === EditorType.Text\n ? new TextEncoder().encode(content)\n : new TextEncoder().encode(JSON.stringify(content, null, 2));\n\n await UploadAsset(selected, arrayData, selected.mimeType);\n\n // Notify all devices that use the asset of the change\n await notifyAssetChangedMutation({\n variables: {\n input: selected.id!\n }\n });\n\n onDismiss();\n };\n\n const deleteRow = (rowIdx:number) => {\n const nextRows = [...content];\n nextRows.splice(rowIdx, 1);\n setContent(nextRows);\n };\n\n const insertRow = (rowIdx:number) => {\n if (!content)\n return;\n\n const newRow = {\n entrance: '',\n floor: 1,\n name: '',\n apartment_number: '',\n national_land_survey_number: 'A1100',\n resident_type: 'Person'\n } as TenantRegistryItem;\n const nextRows = [...content];\n nextRows.splice(rowIdx, 0, newRow);\n setContent(nextRows);\n };\n\n const getItems = () => {\n return [\n {\n key: 'add',\n name: t('common:menu.addNew'),\n iconProps: {\n iconName: 'Add'\n },\n onClick: () => {\n if(selectedCoordinates) {\n insertRow(selectedCoordinates.rowIdx+1);\n } else {\n insertRow(0);\n }\n }\n },\n {\n key: 'delete',\n name: t('common:menu.removeSelected'),\n iconProps: {\n iconName: 'Delete',\n style: {\n color: 'salmon'\n }\n },\n onClick: () => {\n if(selectedCoordinates) {\n deleteRow(selectedCoordinates.rowIdx);\n }\n }\n },\n ];\n };\n\n const validate = () => {\n if (selected && editor === EditorType.Text && selected.assetType === AssetType.ResidentRegistry)\n {\n try {\n const parsed = JSON.parse(content) as TenantRegistryItem[];\n return parsed && parsed.length > -1;\n } catch {\n return false\n }\n }\n\n return true;\n };\n\n return (\n \n \n {content && editor === EditorType.Text && typeof content === 'string' &&\n\n setContent(value)}\n />\n\n }\n\n {content && editor === EditorType.Table &&\n <>\n \n {t('assets:editTextAssetPanel.tableEditorDescription')}\n content[i]}\n rowsCount={content.length}\n enableRowSelect={undefined}\n rowScrollTimeout={undefined}\n enableCellSelect={true}\n onCellSelected={c => setSelectedCoordinates(c)}\n onGridRowsUpdated={({fromRow, toRow, updated}) => {\n const rows = content.slice();\n for (let i = fromRow; i <= toRow; i++) {\n rows[i] = {...rows[i], ...updated};\n }\n setContent(rows);\n }}\n />\n \n }\n\n {showValidationError &&\n \n \n Invalid tenant registry data, the data must be valid json and be an array of Tenant Registry Items, example:\n
    \n                  {JSON.stringify(sample, null, 2) }\n                
    \n
    \n\n
    \n }\n\n \n {\n // Close\n onCancel();\n }}>\n {t('common:button.cancel')}\n \n {\n if (!validate())\n {\n setShowValidationError(true);\n } else {\n saveChanges();\n }\n }}>\n {t('common:button.update')}\n \n \n
    \n \n )\n};\n\nexport default EditTextAssetPanel;\n","import React from 'react';\nimport {matchPath, withRouter} from 'react-router-dom';\nimport routes from \"../../data/routes\";\nimport {Breadcrumb, IDividerAsProps, TooltipHost} from \"@fluentui/react\";\nimport i18next from \"i18next\";\n\nconst renderer = ( breadcrumb:any, match:any ) => {\n if (typeof breadcrumb === 'function') { return breadcrumb({ match }); }\n return i18next.t(breadcrumb);\n};\n\nexport const getBreadcrumbs = ( pathname:string ) => {\n const matches:any = [];\n\n pathname\n .replace(/\\/$/, '')\n .split('/')\n .reduce((previous, current) => {\n const pathSection = `${previous}/${current}`;\n\n routes.forEach(({ breadcrumb, path }) => {\n const match = matchPath(pathSection, { exact: true, path });\n\n if (match) {\n matches.push({\n breadcrumb: renderer( breadcrumb, match ),\n path,\n match,\n });\n }\n });\n\n return pathSection;\n });\n\n return matches;\n};\n\nconst Breadcrumbs = (props: any) => {\n const breadcrumbs = getBreadcrumbs(props.location.pathname);\n const items = breadcrumbs.map( (bc:any) => {\n return {\n text: bc.breadcrumb,\n key: bc.path\n }\n });\n\n const _getCustomDivider = (dividerProps: IDividerAsProps): JSX.Element => {\n const tooltipText = dividerProps.item ? dividerProps.item.text : '';\n return (\n \n \n /\n \n \n );\n };\n\n return (\n \n );\n};\n\nexport default withRouter(Breadcrumbs);\n","import * as React from \"react\";\nimport UserMenu from \"./userMenu\";\nimport {Stack } from \"@fluentui/react\";\nimport BreadCrumb from './breadCrumbs';\n\n\nconst Header = () => {\n return (\n \n \n \n \n\n \n \n \n\n \n );\n};\n\nexport default Header;\n","import * as React from \"react\";\nimport {withRouter} from 'react-router-dom';\nimport {Nav, Customizer, Text} from \"@fluentui/react\";\nimport { createTheme, ITheme } from '@uifabric/styling';\nimport {useTranslation} from 'react-i18next';\n\nexport const navBarTheme: ITheme = createTheme({\n palette: {\n themePrimary: '#ffffff',\n themeDarker: '#aad6ed',\n neutralLighter: '#5fb0dc',\n neutralPrimary: '#ffffff',\n themeDarkAlt: '#ffffff',\n neutralLighterAlt: '#2190cb',\n neutralLight: '#2190cb',\n white: '#1a71b8',\n }\n});\n\nconst styles = {\n root: [\n {\n color: '#ffffff'\n }\n ]\n};\n\nconst NavBar = withRouter(({history}) => {\n const {t } = useTranslation();\n const _linkClickHandler = (event: any, element: any) => {\n if (element.url.startsWith('/')) {\n event.preventDefault();\n history.push(element.url);\n }\n };\n\n const NavBarItems = [\n {\n name: t('common:navbar.group.home'),\n links: [\n {\n key: \"Home\",\n name: t('common:navbar.content.home'),\n url: \"/home\",\n icon: \"Home\"\n }\n ]\n },\n {\n name: t('common:navbar.group.devices'),\n links: [\n {\n key: \"ManageDevices\",\n name: t('common:navbar.devices.managedevices'),\n url: \"/devices\",\n icon: \"ScreenCast\"\n }\n\n ]\n },\n {\n name: t('common:navbar.group.content'),\n links: [\n {\n key: \"Assets\",\n name: t('common:navbar.content.assets'),\n url: \"/assets\",\n icon: \"FileImage\"\n },\n {\n key: \"DataSources\",\n name: t('common:navbar.content.dataSources'),\n url: \"/datasources\",\n icon: \"Database\"\n }\n ]\n },\n {\n name: t('common:navbar.group.organizations'),\n links: [\n {\n key: \"ManageOrganizations\",\n name: t('common:navbar.organizations.manageorganizations'),\n url: \"/organizations\",\n icon: \"Org\"\n }\n ]\n },\n {\n name: t('common:navbar.group.about'),\n links: [\n {\n key: \"Documentation\",\n name: t('common:navbar.about.documentation'),\n url: \"https://docs.pixon.app\",\n href: \"https://docs.pixon.app\",\n target: '_blank',\n icon: \"DocumentSearch\"\n },\n {\n key: \"Support\",\n name: t('common:navbar.about.support'),\n url: \"mailto:info@rduce.net\",\n icon: \"UnknownSolid\",\n href: \"mailto:support@rduce.net\"\n }\n ]\n }\n ];\n\n return (\n \n