@cratis/showrunner.usher.react 0.0.0-bootstrap.0 → 0.0.0-stage
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -71
- package/package.json +4 -83
- package/Buttons/MyIssuesButton.tsx +0 -78
- package/Buttons/ReportButton.tsx +0 -51
- package/Buttons/buttonModels.ts +0 -55
- package/Buttons/index.ts +0 -6
- package/Correlation/CorrelationTracker.ts +0 -51
- package/Correlation/index.ts +0 -5
- package/Correlation/withCorrelationIdHeader.ts +0 -44
- package/Icons.tsx +0 -29
- package/Issues/IssueView/AccessPanel.tsx +0 -85
- package/Issues/IssueView/GrantAccessDialog.tsx +0 -56
- package/Issues/IssueView/IdentityPanel.tsx +0 -38
- package/Issues/IssueView/IssueActions.tsx +0 -52
- package/Issues/IssueView/IssueConversationPanel.tsx +0 -89
- package/Issues/IssueView/IssueHeader.tsx +0 -69
- package/Issues/IssueView/IssueView.tsx +0 -74
- package/Issues/IssueView/QuestionBanner.tsx +0 -27
- package/Issues/IssueView/ReopenIssueDialog.tsx +0 -37
- package/Issues/IssueView/ShareIdentityDialog.tsx +0 -37
- package/Issues/IssueView/StatusStrip.tsx +0 -42
- package/Issues/IssueView/SupportSessions.tsx +0 -59
- package/Issues/IssueView/index.ts +0 -15
- package/Issues/MyIssues/IssueList.tsx +0 -78
- package/Issues/MyIssues/MyIssuesDialog.tsx +0 -64
- package/Issues/MyIssues/MyIssuesNavigation.ts +0 -61
- package/Issues/MyIssues/index.ts +0 -6
- package/Issues/MyIssuesList.ts +0 -33
- package/Issues/accessStatus.ts +0 -68
- package/Issues/conversationMessages.ts +0 -136
- package/Issues/index.ts +0 -12
- package/Issues/issueStates.ts +0 -69
- package/Issues/sessionActivity.ts +0 -43
- package/Issues/useAccessStatus.ts +0 -24
- package/Issues/webAddress.ts +0 -22
- package/Labels/UsherLabels.ts +0 -365
- package/Labels/defaultUsherLabels.ts +0 -178
- package/Labels/format.ts +0 -13
- package/Labels/index.ts +0 -7
- package/Labels/resolveLabels.ts +0 -36
- package/Provider/UsherBoundary.tsx +0 -30
- package/Provider/UsherContext.ts +0 -109
- package/Provider/UsherProvider.tsx +0 -134
- package/Provider/index.ts +0 -7
- package/Provider/useUsher.ts +0 -72
- package/Reporting/AccessChoice.ts +0 -107
- package/Reporting/AccessFields.tsx +0 -74
- package/Reporting/AccessNotice.tsx +0 -33
- package/Reporting/ReportErrorDialog.tsx +0 -94
- package/Reporting/ReportIssueDialog.tsx +0 -80
- package/Reporting/ReportLimits.ts +0 -24
- package/Reporting/ReportSent.ts +0 -12
- package/Reporting/SentWithReport.tsx +0 -37
- package/Reporting/TechnicalDetails.tsx +0 -60
- package/Reporting/durationOptions.ts +0 -31
- package/Reporting/formatLocation.ts +0 -27
- package/Reporting/index.ts +0 -16
- package/Reporting/reportValues.ts +0 -150
- package/Reporting/useAccessChoice.ts +0 -53
- package/dist/cjs/Buttons/MyIssuesButton.d.ts +0 -14
- package/dist/cjs/Buttons/MyIssuesButton.d.ts.map +0 -1
- package/dist/cjs/Buttons/MyIssuesButton.js +0 -76
- package/dist/cjs/Buttons/MyIssuesButton.js.map +0 -1
- package/dist/cjs/Buttons/ReportButton.d.ts +0 -8
- package/dist/cjs/Buttons/ReportButton.d.ts.map +0 -1
- package/dist/cjs/Buttons/ReportButton.js +0 -34
- package/dist/cjs/Buttons/ReportButton.js.map +0 -1
- package/dist/cjs/Buttons/buttonModels.d.ts +0 -10
- package/dist/cjs/Buttons/buttonModels.d.ts.map +0 -1
- package/dist/cjs/Buttons/buttonModels.js +0 -44
- package/dist/cjs/Buttons/buttonModels.js.map +0 -1
- package/dist/cjs/Buttons/index.d.ts +0 -4
- package/dist/cjs/Buttons/index.d.ts.map +0 -1
- package/dist/cjs/Correlation/CorrelationTracker.d.ts +0 -10
- package/dist/cjs/Correlation/CorrelationTracker.d.ts.map +0 -1
- package/dist/cjs/Correlation/CorrelationTracker.js +0 -50
- package/dist/cjs/Correlation/CorrelationTracker.js.map +0 -1
- package/dist/cjs/Correlation/index.d.ts +0 -3
- package/dist/cjs/Correlation/index.d.ts.map +0 -1
- package/dist/cjs/Correlation/withCorrelationIdHeader.d.ts +0 -6
- package/dist/cjs/Correlation/withCorrelationIdHeader.d.ts.map +0 -1
- package/dist/cjs/Correlation/withCorrelationIdHeader.js +0 -39
- package/dist/cjs/Correlation/withCorrelationIdHeader.js.map +0 -1
- package/dist/cjs/Icons.d.ts +0 -4
- package/dist/cjs/Icons.d.ts.map +0 -1
- package/dist/cjs/Icons.js +0 -53
- package/dist/cjs/Icons.js.map +0 -1
- package/dist/cjs/Issues/IssueView/AccessPanel.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/AccessPanel.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/AccessPanel.js +0 -124
- package/dist/cjs/Issues/IssueView/AccessPanel.js.map +0 -1
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.js +0 -56
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.js.map +0 -1
- package/dist/cjs/Issues/IssueView/IdentityPanel.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/IdentityPanel.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/IdentityPanel.js +0 -45
- package/dist/cjs/Issues/IssueView/IdentityPanel.js.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueActions.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/IssueActions.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueActions.js +0 -58
- package/dist/cjs/Issues/IssueView/IssueActions.js.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.js +0 -97
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.js.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueHeader.d.ts +0 -7
- package/dist/cjs/Issues/IssueView/IssueHeader.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueHeader.js +0 -94
- package/dist/cjs/Issues/IssueView/IssueHeader.js.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueView.d.ts +0 -7
- package/dist/cjs/Issues/IssueView/IssueView.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/IssueView.js +0 -85
- package/dist/cjs/Issues/IssueView/IssueView.js.map +0 -1
- package/dist/cjs/Issues/IssueView/QuestionBanner.d.ts +0 -5
- package/dist/cjs/Issues/IssueView/QuestionBanner.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/QuestionBanner.js +0 -24
- package/dist/cjs/Issues/IssueView/QuestionBanner.js.map +0 -1
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.js +0 -34
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.js.map +0 -1
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.js +0 -32
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.js.map +0 -1
- package/dist/cjs/Issues/IssueView/StatusStrip.d.ts +0 -6
- package/dist/cjs/Issues/IssueView/StatusStrip.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/StatusStrip.js +0 -31
- package/dist/cjs/Issues/IssueView/StatusStrip.js.map +0 -1
- package/dist/cjs/Issues/IssueView/SupportSessions.d.ts +0 -7
- package/dist/cjs/Issues/IssueView/SupportSessions.d.ts.map +0 -1
- package/dist/cjs/Issues/IssueView/SupportSessions.js +0 -62
- package/dist/cjs/Issues/IssueView/SupportSessions.js.map +0 -1
- package/dist/cjs/Issues/IssueView/index.d.ts +0 -13
- package/dist/cjs/Issues/IssueView/index.d.ts.map +0 -1
- package/dist/cjs/Issues/MyIssues/IssueList.d.ts +0 -7
- package/dist/cjs/Issues/MyIssues/IssueList.d.ts.map +0 -1
- package/dist/cjs/Issues/MyIssues/IssueList.js +0 -92
- package/dist/cjs/Issues/MyIssues/IssueList.js.map +0 -1
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.d.ts +0 -7
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.d.ts.map +0 -1
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.js +0 -79
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.js.map +0 -1
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.d.ts +0 -21
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.d.ts.map +0 -1
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.js +0 -52
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.js.map +0 -1
- package/dist/cjs/Issues/MyIssues/index.d.ts +0 -4
- package/dist/cjs/Issues/MyIssues/index.d.ts.map +0 -1
- package/dist/cjs/Issues/MyIssuesList.d.ts +0 -7
- package/dist/cjs/Issues/MyIssuesList.d.ts.map +0 -1
- package/dist/cjs/Issues/MyIssuesList.js +0 -33
- package/dist/cjs/Issues/MyIssuesList.js.map +0 -1
- package/dist/cjs/Issues/accessStatus.d.ts +0 -13
- package/dist/cjs/Issues/accessStatus.d.ts.map +0 -1
- package/dist/cjs/Issues/accessStatus.js +0 -60
- package/dist/cjs/Issues/accessStatus.js.map +0 -1
- package/dist/cjs/Issues/conversationMessages.d.ts +0 -14
- package/dist/cjs/Issues/conversationMessages.d.ts.map +0 -1
- package/dist/cjs/Issues/conversationMessages.js +0 -131
- package/dist/cjs/Issues/conversationMessages.js.map +0 -1
- package/dist/cjs/Issues/index.d.ts +0 -10
- package/dist/cjs/Issues/index.d.ts.map +0 -1
- package/dist/cjs/Issues/issueStates.d.ts +0 -12
- package/dist/cjs/Issues/issueStates.d.ts.map +0 -1
- package/dist/cjs/Issues/issueStates.js +0 -86
- package/dist/cjs/Issues/issueStates.js.map +0 -1
- package/dist/cjs/Issues/sessionActivity.d.ts +0 -8
- package/dist/cjs/Issues/sessionActivity.d.ts.map +0 -1
- package/dist/cjs/Issues/sessionActivity.js +0 -39
- package/dist/cjs/Issues/sessionActivity.js.map +0 -1
- package/dist/cjs/Issues/useAccessStatus.d.ts +0 -4
- package/dist/cjs/Issues/useAccessStatus.d.ts.map +0 -1
- package/dist/cjs/Issues/useAccessStatus.js +0 -30
- package/dist/cjs/Issues/useAccessStatus.js.map +0 -1
- package/dist/cjs/Issues/webAddress.d.ts +0 -2
- package/dist/cjs/Issues/webAddress.d.ts.map +0 -1
- package/dist/cjs/Issues/webAddress.js +0 -24
- package/dist/cjs/Issues/webAddress.js.map +0 -1
- package/dist/cjs/Labels/UsherLabels.d.ts +0 -177
- package/dist/cjs/Labels/UsherLabels.d.ts.map +0 -1
- package/dist/cjs/Labels/defaultUsherLabels.d.ts +0 -3
- package/dist/cjs/Labels/defaultUsherLabels.d.ts.map +0 -1
- package/dist/cjs/Labels/defaultUsherLabels.js +0 -179
- package/dist/cjs/Labels/defaultUsherLabels.js.map +0 -1
- package/dist/cjs/Labels/format.d.ts +0 -2
- package/dist/cjs/Labels/format.d.ts.map +0 -1
- package/dist/cjs/Labels/format.js +0 -15
- package/dist/cjs/Labels/format.js.map +0 -1
- package/dist/cjs/Labels/index.d.ts +0 -5
- package/dist/cjs/Labels/index.d.ts.map +0 -1
- package/dist/cjs/Labels/resolveLabels.d.ts +0 -3
- package/dist/cjs/Labels/resolveLabels.d.ts.map +0 -1
- package/dist/cjs/Labels/resolveLabels.js +0 -35
- package/dist/cjs/Labels/resolveLabels.js.map +0 -1
- package/dist/cjs/Provider/UsherBoundary.d.ts +0 -6
- package/dist/cjs/Provider/UsherBoundary.d.ts.map +0 -1
- package/dist/cjs/Provider/UsherBoundary.js +0 -24
- package/dist/cjs/Provider/UsherBoundary.js.map +0 -1
- package/dist/cjs/Provider/UsherContext.d.ts +0 -24
- package/dist/cjs/Provider/UsherContext.d.ts.map +0 -1
- package/dist/cjs/Provider/UsherContext.js +0 -41
- package/dist/cjs/Provider/UsherContext.js.map +0 -1
- package/dist/cjs/Provider/UsherProvider.d.ts +0 -14
- package/dist/cjs/Provider/UsherProvider.d.ts.map +0 -1
- package/dist/cjs/Provider/UsherProvider.js +0 -122
- package/dist/cjs/Provider/UsherProvider.js.map +0 -1
- package/dist/cjs/Provider/index.d.ts +0 -5
- package/dist/cjs/Provider/index.d.ts.map +0 -1
- package/dist/cjs/Provider/useUsher.d.ts +0 -13
- package/dist/cjs/Provider/useUsher.d.ts.map +0 -1
- package/dist/cjs/Provider/useUsher.js +0 -31
- package/dist/cjs/Provider/useUsher.js.map +0 -1
- package/dist/cjs/Reporting/AccessChoice.d.ts +0 -13
- package/dist/cjs/Reporting/AccessChoice.d.ts.map +0 -1
- package/dist/cjs/Reporting/AccessChoice.js +0 -113
- package/dist/cjs/Reporting/AccessChoice.js.map +0 -1
- package/dist/cjs/Reporting/AccessFields.d.ts +0 -12
- package/dist/cjs/Reporting/AccessFields.d.ts.map +0 -1
- package/dist/cjs/Reporting/AccessFields.js +0 -79
- package/dist/cjs/Reporting/AccessFields.js.map +0 -1
- package/dist/cjs/Reporting/AccessNotice.d.ts +0 -7
- package/dist/cjs/Reporting/AccessNotice.d.ts.map +0 -1
- package/dist/cjs/Reporting/AccessNotice.js +0 -28
- package/dist/cjs/Reporting/AccessNotice.js.map +0 -1
- package/dist/cjs/Reporting/ReportErrorDialog.d.ts +0 -9
- package/dist/cjs/Reporting/ReportErrorDialog.d.ts.map +0 -1
- package/dist/cjs/Reporting/ReportErrorDialog.js +0 -87
- package/dist/cjs/Reporting/ReportErrorDialog.js.map +0 -1
- package/dist/cjs/Reporting/ReportIssueDialog.d.ts +0 -8
- package/dist/cjs/Reporting/ReportIssueDialog.d.ts.map +0 -1
- package/dist/cjs/Reporting/ReportIssueDialog.js +0 -81
- package/dist/cjs/Reporting/ReportIssueDialog.js.map +0 -1
- package/dist/cjs/Reporting/ReportLimits.d.ts +0 -8
- package/dist/cjs/Reporting/ReportLimits.d.ts.map +0 -1
- package/dist/cjs/Reporting/ReportLimits.js +0 -19
- package/dist/cjs/Reporting/ReportLimits.js.map +0 -1
- package/dist/cjs/Reporting/ReportSent.d.ts +0 -5
- package/dist/cjs/Reporting/ReportSent.d.ts.map +0 -1
- package/dist/cjs/Reporting/SentWithReport.d.ts +0 -7
- package/dist/cjs/Reporting/SentWithReport.d.ts.map +0 -1
- package/dist/cjs/Reporting/SentWithReport.js +0 -40
- package/dist/cjs/Reporting/SentWithReport.js.map +0 -1
- package/dist/cjs/Reporting/TechnicalDetails.d.ts +0 -9
- package/dist/cjs/Reporting/TechnicalDetails.d.ts.map +0 -1
- package/dist/cjs/Reporting/TechnicalDetails.js +0 -75
- package/dist/cjs/Reporting/TechnicalDetails.js.map +0 -1
- package/dist/cjs/Reporting/durationOptions.d.ts +0 -9
- package/dist/cjs/Reporting/durationOptions.d.ts.map +0 -1
- package/dist/cjs/Reporting/durationOptions.js +0 -29
- package/dist/cjs/Reporting/durationOptions.js.map +0 -1
- package/dist/cjs/Reporting/formatLocation.d.ts +0 -7
- package/dist/cjs/Reporting/formatLocation.d.ts.map +0 -1
- package/dist/cjs/Reporting/formatLocation.js +0 -23
- package/dist/cjs/Reporting/formatLocation.js.map +0 -1
- package/dist/cjs/Reporting/index.d.ts +0 -14
- package/dist/cjs/Reporting/index.d.ts.map +0 -1
- package/dist/cjs/Reporting/reportValues.d.ts +0 -22
- package/dist/cjs/Reporting/reportValues.d.ts.map +0 -1
- package/dist/cjs/Reporting/reportValues.js +0 -124
- package/dist/cjs/Reporting/reportValues.js.map +0 -1
- package/dist/cjs/Reporting/useAccessChoice.d.ts +0 -13
- package/dist/cjs/Reporting/useAccessChoice.d.ts.map +0 -1
- package/dist/cjs/Reporting/useAccessChoice.js +0 -41
- package/dist/cjs/Reporting/useAccessChoice.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -8
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -133
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/esm/Buttons/MyIssuesButton.d.ts +0 -14
- package/dist/esm/Buttons/MyIssuesButton.d.ts.map +0 -1
- package/dist/esm/Buttons/MyIssuesButton.js +0 -73
- package/dist/esm/Buttons/MyIssuesButton.js.map +0 -1
- package/dist/esm/Buttons/ReportButton.d.ts +0 -8
- package/dist/esm/Buttons/ReportButton.d.ts.map +0 -1
- package/dist/esm/Buttons/ReportButton.js +0 -32
- package/dist/esm/Buttons/ReportButton.js.map +0 -1
- package/dist/esm/Buttons/buttonModels.d.ts +0 -10
- package/dist/esm/Buttons/buttonModels.d.ts.map +0 -1
- package/dist/esm/Buttons/buttonModels.js +0 -41
- package/dist/esm/Buttons/buttonModels.js.map +0 -1
- package/dist/esm/Buttons/index.d.ts +0 -4
- package/dist/esm/Buttons/index.d.ts.map +0 -1
- package/dist/esm/Buttons/index.js +0 -4
- package/dist/esm/Buttons/index.js.map +0 -1
- package/dist/esm/Correlation/CorrelationTracker.d.ts +0 -10
- package/dist/esm/Correlation/CorrelationTracker.d.ts.map +0 -1
- package/dist/esm/Correlation/CorrelationTracker.js +0 -48
- package/dist/esm/Correlation/CorrelationTracker.js.map +0 -1
- package/dist/esm/Correlation/index.d.ts +0 -3
- package/dist/esm/Correlation/index.d.ts.map +0 -1
- package/dist/esm/Correlation/index.js +0 -3
- package/dist/esm/Correlation/index.js.map +0 -1
- package/dist/esm/Correlation/withCorrelationIdHeader.d.ts +0 -6
- package/dist/esm/Correlation/withCorrelationIdHeader.d.ts.map +0 -1
- package/dist/esm/Correlation/withCorrelationIdHeader.js +0 -36
- package/dist/esm/Correlation/withCorrelationIdHeader.js.map +0 -1
- package/dist/esm/Icons.d.ts +0 -4
- package/dist/esm/Icons.d.ts.map +0 -1
- package/dist/esm/Icons.js +0 -49
- package/dist/esm/Icons.js.map +0 -1
- package/dist/esm/Issues/IssueView/AccessPanel.d.ts +0 -6
- package/dist/esm/Issues/IssueView/AccessPanel.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/AccessPanel.js +0 -122
- package/dist/esm/Issues/IssueView/AccessPanel.js.map +0 -1
- package/dist/esm/Issues/IssueView/GrantAccessDialog.d.ts +0 -6
- package/dist/esm/Issues/IssueView/GrantAccessDialog.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/GrantAccessDialog.js +0 -54
- package/dist/esm/Issues/IssueView/GrantAccessDialog.js.map +0 -1
- package/dist/esm/Issues/IssueView/IdentityPanel.d.ts +0 -6
- package/dist/esm/Issues/IssueView/IdentityPanel.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/IdentityPanel.js +0 -43
- package/dist/esm/Issues/IssueView/IdentityPanel.js.map +0 -1
- package/dist/esm/Issues/IssueView/IssueActions.d.ts +0 -6
- package/dist/esm/Issues/IssueView/IssueActions.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/IssueActions.js +0 -56
- package/dist/esm/Issues/IssueView/IssueActions.js.map +0 -1
- package/dist/esm/Issues/IssueView/IssueConversationPanel.d.ts +0 -6
- package/dist/esm/Issues/IssueView/IssueConversationPanel.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/IssueConversationPanel.js +0 -95
- package/dist/esm/Issues/IssueView/IssueConversationPanel.js.map +0 -1
- package/dist/esm/Issues/IssueView/IssueHeader.d.ts +0 -7
- package/dist/esm/Issues/IssueView/IssueHeader.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/IssueHeader.js +0 -92
- package/dist/esm/Issues/IssueView/IssueHeader.js.map +0 -1
- package/dist/esm/Issues/IssueView/IssueView.d.ts +0 -7
- package/dist/esm/Issues/IssueView/IssueView.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/IssueView.js +0 -83
- package/dist/esm/Issues/IssueView/IssueView.js.map +0 -1
- package/dist/esm/Issues/IssueView/QuestionBanner.d.ts +0 -5
- package/dist/esm/Issues/IssueView/QuestionBanner.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/QuestionBanner.js +0 -22
- package/dist/esm/Issues/IssueView/QuestionBanner.js.map +0 -1
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.d.ts +0 -6
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.js +0 -32
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.js.map +0 -1
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.d.ts +0 -6
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.js +0 -30
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.js.map +0 -1
- package/dist/esm/Issues/IssueView/StatusStrip.d.ts +0 -6
- package/dist/esm/Issues/IssueView/StatusStrip.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/StatusStrip.js +0 -29
- package/dist/esm/Issues/IssueView/StatusStrip.js.map +0 -1
- package/dist/esm/Issues/IssueView/SupportSessions.d.ts +0 -7
- package/dist/esm/Issues/IssueView/SupportSessions.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/SupportSessions.js +0 -60
- package/dist/esm/Issues/IssueView/SupportSessions.js.map +0 -1
- package/dist/esm/Issues/IssueView/index.d.ts +0 -13
- package/dist/esm/Issues/IssueView/index.d.ts.map +0 -1
- package/dist/esm/Issues/IssueView/index.js +0 -13
- package/dist/esm/Issues/IssueView/index.js.map +0 -1
- package/dist/esm/Issues/MyIssues/IssueList.d.ts +0 -7
- package/dist/esm/Issues/MyIssues/IssueList.d.ts.map +0 -1
- package/dist/esm/Issues/MyIssues/IssueList.js +0 -90
- package/dist/esm/Issues/MyIssues/IssueList.js.map +0 -1
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.d.ts +0 -7
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.d.ts.map +0 -1
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.js +0 -77
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.js.map +0 -1
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.d.ts +0 -21
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.d.ts.map +0 -1
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.js +0 -49
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.js.map +0 -1
- package/dist/esm/Issues/MyIssues/index.d.ts +0 -4
- package/dist/esm/Issues/MyIssues/index.d.ts.map +0 -1
- package/dist/esm/Issues/MyIssues/index.js +0 -4
- package/dist/esm/Issues/MyIssues/index.js.map +0 -1
- package/dist/esm/Issues/MyIssuesList.d.ts +0 -7
- package/dist/esm/Issues/MyIssuesList.d.ts.map +0 -1
- package/dist/esm/Issues/MyIssuesList.js +0 -29
- package/dist/esm/Issues/MyIssuesList.js.map +0 -1
- package/dist/esm/Issues/accessStatus.d.ts +0 -13
- package/dist/esm/Issues/accessStatus.d.ts.map +0 -1
- package/dist/esm/Issues/accessStatus.js +0 -54
- package/dist/esm/Issues/accessStatus.js.map +0 -1
- package/dist/esm/Issues/conversationMessages.d.ts +0 -14
- package/dist/esm/Issues/conversationMessages.d.ts.map +0 -1
- package/dist/esm/Issues/conversationMessages.js +0 -125
- package/dist/esm/Issues/conversationMessages.js.map +0 -1
- package/dist/esm/Issues/index.d.ts +0 -10
- package/dist/esm/Issues/index.d.ts.map +0 -1
- package/dist/esm/Issues/index.js +0 -10
- package/dist/esm/Issues/index.js.map +0 -1
- package/dist/esm/Issues/issueStates.d.ts +0 -12
- package/dist/esm/Issues/issueStates.d.ts.map +0 -1
- package/dist/esm/Issues/issueStates.js +0 -81
- package/dist/esm/Issues/issueStates.js.map +0 -1
- package/dist/esm/Issues/sessionActivity.d.ts +0 -8
- package/dist/esm/Issues/sessionActivity.d.ts.map +0 -1
- package/dist/esm/Issues/sessionActivity.js +0 -37
- package/dist/esm/Issues/sessionActivity.js.map +0 -1
- package/dist/esm/Issues/useAccessStatus.d.ts +0 -4
- package/dist/esm/Issues/useAccessStatus.d.ts.map +0 -1
- package/dist/esm/Issues/useAccessStatus.js +0 -28
- package/dist/esm/Issues/useAccessStatus.js.map +0 -1
- package/dist/esm/Issues/webAddress.d.ts +0 -2
- package/dist/esm/Issues/webAddress.d.ts.map +0 -1
- package/dist/esm/Issues/webAddress.js +0 -22
- package/dist/esm/Issues/webAddress.js.map +0 -1
- package/dist/esm/Labels/UsherLabels.d.ts +0 -177
- package/dist/esm/Labels/UsherLabels.d.ts.map +0 -1
- package/dist/esm/Labels/UsherLabels.js +0 -2
- package/dist/esm/Labels/UsherLabels.js.map +0 -1
- package/dist/esm/Labels/defaultUsherLabels.d.ts +0 -3
- package/dist/esm/Labels/defaultUsherLabels.d.ts.map +0 -1
- package/dist/esm/Labels/defaultUsherLabels.js +0 -177
- package/dist/esm/Labels/defaultUsherLabels.js.map +0 -1
- package/dist/esm/Labels/format.d.ts +0 -2
- package/dist/esm/Labels/format.d.ts.map +0 -1
- package/dist/esm/Labels/format.js +0 -13
- package/dist/esm/Labels/format.js.map +0 -1
- package/dist/esm/Labels/index.d.ts +0 -5
- package/dist/esm/Labels/index.d.ts.map +0 -1
- package/dist/esm/Labels/index.js +0 -5
- package/dist/esm/Labels/index.js.map +0 -1
- package/dist/esm/Labels/resolveLabels.d.ts +0 -3
- package/dist/esm/Labels/resolveLabels.d.ts.map +0 -1
- package/dist/esm/Labels/resolveLabels.js +0 -33
- package/dist/esm/Labels/resolveLabels.js.map +0 -1
- package/dist/esm/Provider/UsherBoundary.d.ts +0 -6
- package/dist/esm/Provider/UsherBoundary.d.ts.map +0 -1
- package/dist/esm/Provider/UsherBoundary.js +0 -22
- package/dist/esm/Provider/UsherBoundary.js.map +0 -1
- package/dist/esm/Provider/UsherContext.d.ts +0 -24
- package/dist/esm/Provider/UsherContext.d.ts.map +0 -1
- package/dist/esm/Provider/UsherContext.js +0 -36
- package/dist/esm/Provider/UsherContext.js.map +0 -1
- package/dist/esm/Provider/UsherProvider.d.ts +0 -14
- package/dist/esm/Provider/UsherProvider.d.ts.map +0 -1
- package/dist/esm/Provider/UsherProvider.js +0 -120
- package/dist/esm/Provider/UsherProvider.js.map +0 -1
- package/dist/esm/Provider/index.d.ts +0 -5
- package/dist/esm/Provider/index.d.ts.map +0 -1
- package/dist/esm/Provider/index.js +0 -5
- package/dist/esm/Provider/index.js.map +0 -1
- package/dist/esm/Provider/useUsher.d.ts +0 -13
- package/dist/esm/Provider/useUsher.d.ts.map +0 -1
- package/dist/esm/Provider/useUsher.js +0 -29
- package/dist/esm/Provider/useUsher.js.map +0 -1
- package/dist/esm/Reporting/AccessChoice.d.ts +0 -13
- package/dist/esm/Reporting/AccessChoice.d.ts.map +0 -1
- package/dist/esm/Reporting/AccessChoice.js +0 -106
- package/dist/esm/Reporting/AccessChoice.js.map +0 -1
- package/dist/esm/Reporting/AccessFields.d.ts +0 -12
- package/dist/esm/Reporting/AccessFields.d.ts.map +0 -1
- package/dist/esm/Reporting/AccessFields.js +0 -77
- package/dist/esm/Reporting/AccessFields.js.map +0 -1
- package/dist/esm/Reporting/AccessNotice.d.ts +0 -7
- package/dist/esm/Reporting/AccessNotice.d.ts.map +0 -1
- package/dist/esm/Reporting/AccessNotice.js +0 -26
- package/dist/esm/Reporting/AccessNotice.js.map +0 -1
- package/dist/esm/Reporting/ReportErrorDialog.d.ts +0 -9
- package/dist/esm/Reporting/ReportErrorDialog.d.ts.map +0 -1
- package/dist/esm/Reporting/ReportErrorDialog.js +0 -85
- package/dist/esm/Reporting/ReportErrorDialog.js.map +0 -1
- package/dist/esm/Reporting/ReportIssueDialog.d.ts +0 -8
- package/dist/esm/Reporting/ReportIssueDialog.d.ts.map +0 -1
- package/dist/esm/Reporting/ReportIssueDialog.js +0 -79
- package/dist/esm/Reporting/ReportIssueDialog.js.map +0 -1
- package/dist/esm/Reporting/ReportLimits.d.ts +0 -8
- package/dist/esm/Reporting/ReportLimits.d.ts.map +0 -1
- package/dist/esm/Reporting/ReportLimits.js +0 -17
- package/dist/esm/Reporting/ReportLimits.js.map +0 -1
- package/dist/esm/Reporting/ReportSent.d.ts +0 -5
- package/dist/esm/Reporting/ReportSent.d.ts.map +0 -1
- package/dist/esm/Reporting/ReportSent.js +0 -2
- package/dist/esm/Reporting/ReportSent.js.map +0 -1
- package/dist/esm/Reporting/SentWithReport.d.ts +0 -7
- package/dist/esm/Reporting/SentWithReport.d.ts.map +0 -1
- package/dist/esm/Reporting/SentWithReport.js +0 -38
- package/dist/esm/Reporting/SentWithReport.js.map +0 -1
- package/dist/esm/Reporting/TechnicalDetails.d.ts +0 -9
- package/dist/esm/Reporting/TechnicalDetails.d.ts.map +0 -1
- package/dist/esm/Reporting/TechnicalDetails.js +0 -73
- package/dist/esm/Reporting/TechnicalDetails.js.map +0 -1
- package/dist/esm/Reporting/durationOptions.d.ts +0 -9
- package/dist/esm/Reporting/durationOptions.d.ts.map +0 -1
- package/dist/esm/Reporting/durationOptions.js +0 -27
- package/dist/esm/Reporting/durationOptions.js.map +0 -1
- package/dist/esm/Reporting/formatLocation.d.ts +0 -7
- package/dist/esm/Reporting/formatLocation.d.ts.map +0 -1
- package/dist/esm/Reporting/formatLocation.js +0 -21
- package/dist/esm/Reporting/formatLocation.js.map +0 -1
- package/dist/esm/Reporting/index.d.ts +0 -14
- package/dist/esm/Reporting/index.d.ts.map +0 -1
- package/dist/esm/Reporting/index.js +0 -14
- package/dist/esm/Reporting/index.js.map +0 -1
- package/dist/esm/Reporting/reportValues.d.ts +0 -22
- package/dist/esm/Reporting/reportValues.d.ts.map +0 -1
- package/dist/esm/Reporting/reportValues.js +0 -116
- package/dist/esm/Reporting/reportValues.js.map +0 -1
- package/dist/esm/Reporting/useAccessChoice.d.ts +0 -13
- package/dist/esm/Reporting/useAccessChoice.d.ts.map +0 -1
- package/dist/esm/Reporting/useAccessChoice.js +0 -39
- package/dist/esm/Reporting/useAccessChoice.js.map +0 -1
- package/dist/esm/index.d.ts +0 -8
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -48
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/package.json +0 -3
- package/index.ts +0 -10
- package/styles.css +0 -320
package/Provider/UsherContext.ts
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { ArcConfiguration } from '@cratis/arc.react';
|
|
5
|
-
import { SliceLocation } from '@cratis/arc/reflection';
|
|
6
|
-
import { Guid } from '@cratis/fundamentals';
|
|
7
|
-
import { createContext, useContext } from 'react';
|
|
8
|
-
import { resolveLabels, UsherLabels } from '../Labels/index.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* What {@link UsherProvider} gives the Usher components.
|
|
12
|
-
*/
|
|
13
|
-
export interface UsherContextValue {
|
|
14
|
-
/** Whether an {@link UsherProvider} provides the value; the defaults otherwise. */
|
|
15
|
-
readonly isProvided: boolean;
|
|
16
|
-
|
|
17
|
-
/** The labels to show. */
|
|
18
|
-
readonly labels: UsherLabels;
|
|
19
|
-
|
|
20
|
-
/** The name of the application, shown with what a report sends; empty when not given. */
|
|
21
|
-
readonly applicationName: string;
|
|
22
|
-
|
|
23
|
-
/** The version of the application, sent with every report; empty when not given. */
|
|
24
|
-
readonly applicationVersion: string;
|
|
25
|
-
|
|
26
|
-
/** Whether the report dialogs let support know who the reporter is unless they choose otherwise. */
|
|
27
|
-
readonly shareIdentityByDefault: boolean;
|
|
28
|
-
|
|
29
|
-
/** The locale to format dates and times for; the browser's when not given. */
|
|
30
|
-
readonly locale?: string;
|
|
31
|
-
|
|
32
|
-
/** The Arc configuration without correlation tracking, for Usher's own commands and queries. */
|
|
33
|
-
readonly untrackedArc?: ArcConfiguration;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Gets the correlation ids of the last few Arc commands and queries run, oldest first.
|
|
37
|
-
* @returns The correlation ids.
|
|
38
|
-
*/
|
|
39
|
-
recentCorrelationIds(): Guid[];
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Tracks the correlation id of a command or query run, such as one from a `CommandResult`.
|
|
43
|
-
* @param correlationId The correlation id.
|
|
44
|
-
*/
|
|
45
|
-
trackCorrelationId(correlationId: Guid | string): void;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Opens the report a problem dialog.
|
|
49
|
-
* @param location Where in the application the reporter is.
|
|
50
|
-
*/
|
|
51
|
-
reportIssue(location: SliceLocation): void;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Opens the report this error dialog.
|
|
55
|
-
* @param error The error: `ErrorDetails` from `@cratis/showrunner.usher`, or anything thrown.
|
|
56
|
-
* @param location Where in the application the reporter is.
|
|
57
|
-
*/
|
|
58
|
-
reportError(error: unknown, location: SliceLocation): void;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Opens the my issues side sheet with the list of issues.
|
|
62
|
-
* @param location Where in the application the user is, for a problem they report from the side sheet.
|
|
63
|
-
*/
|
|
64
|
-
showMyIssues(location: SliceLocation): void;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Opens the my issues side sheet on one issue.
|
|
68
|
-
* @param issueId The issue.
|
|
69
|
-
*/
|
|
70
|
-
showIssue(issueId: Guid): void;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const noop = () => {
|
|
74
|
-
/* Without an UsherProvider there are no dialogs to open. */
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* The value without an {@link UsherProvider}: English labels, and nothing to open.
|
|
79
|
-
*/
|
|
80
|
-
export const defaultUsherContextValue: UsherContextValue = {
|
|
81
|
-
isProvided: false,
|
|
82
|
-
labels: resolveLabels(),
|
|
83
|
-
applicationName: '',
|
|
84
|
-
applicationVersion: '',
|
|
85
|
-
shareIdentityByDefault: false,
|
|
86
|
-
recentCorrelationIds: () => [],
|
|
87
|
-
trackCorrelationId: noop,
|
|
88
|
-
reportIssue: noop,
|
|
89
|
-
reportError: noop,
|
|
90
|
-
showMyIssues: noop,
|
|
91
|
-
showIssue: noop
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* The React context {@link UsherProvider} provides.
|
|
96
|
-
*/
|
|
97
|
-
export const UsherContext = createContext<UsherContextValue>(defaultUsherContextValue);
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Gets what {@link UsherProvider} provides, or the defaults outside one.
|
|
101
|
-
* @returns The {@link UsherContextValue}.
|
|
102
|
-
*/
|
|
103
|
-
export const useUsherContext = (): UsherContextValue => useContext(UsherContext);
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Gets the labels to show.
|
|
107
|
-
* @returns The {@link UsherLabels}.
|
|
108
|
-
*/
|
|
109
|
-
export const useUsherLabels = (): UsherLabels => useContext(UsherContext).labels;
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { ArcContext } from '@cratis/arc.react';
|
|
5
|
-
import { DialogResult, useDialog } from '@cratis/arc.react/dialogs';
|
|
6
|
-
import { SliceLocation } from '@cratis/arc/reflection';
|
|
7
|
-
import { toast } from '@cratis/components/Notifications';
|
|
8
|
-
import { Guid } from '@cratis/fundamentals';
|
|
9
|
-
import { ReactNode, useContext, useMemo, useRef } from 'react';
|
|
10
|
-
import { CorrelationTracker, defaultCorrelationIdHeader, withCorrelationIdHeader } from '../Correlation/index.js';
|
|
11
|
-
import { MyIssuesDialog } from '../Issues/MyIssues/MyIssuesDialog.js';
|
|
12
|
-
import { resolveLabels, UsherLabelOverrides } from '../Labels/index.js';
|
|
13
|
-
import { ReportErrorDialog } from '../Reporting/ReportErrorDialog.js';
|
|
14
|
-
import { ReportIssueDialog } from '../Reporting/ReportIssueDialog.js';
|
|
15
|
-
import { ReportSent } from '../Reporting/ReportSent.js';
|
|
16
|
-
import { toErrorDetails } from '../Reporting/reportValues.js';
|
|
17
|
-
import { UsherContext, UsherContextValue } from './UsherContext.js';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Props for {@link UsherProvider}.
|
|
21
|
-
*/
|
|
22
|
-
export interface UsherProviderProps {
|
|
23
|
-
/** The version of the application, sent with every report. */
|
|
24
|
-
applicationVersion?: string;
|
|
25
|
-
|
|
26
|
-
/** The name of the application, shown with what a report sends. */
|
|
27
|
-
applicationName?: string;
|
|
28
|
-
|
|
29
|
-
/** Whether the report dialogs let support know who the reporter is unless they choose otherwise. Defaults to false. */
|
|
30
|
-
shareIdentityByDefault?: boolean;
|
|
31
|
-
|
|
32
|
-
/** The labels that replace the English defaults, for instance to localize them. */
|
|
33
|
-
labels?: UsherLabelOverrides;
|
|
34
|
-
|
|
35
|
-
/** The locale to format dates and times for; the browser's when not given. */
|
|
36
|
-
locale?: string;
|
|
37
|
-
|
|
38
|
-
/** How many recent correlation ids of Arc commands and queries a report carries. Defaults to 5. */
|
|
39
|
-
correlationIdCount?: number;
|
|
40
|
-
|
|
41
|
-
/** The HTTP header the backend reads the correlation id from. Defaults to `X-Correlation-ID`, as Arc does. */
|
|
42
|
-
correlationIdHeader?: string;
|
|
43
|
-
|
|
44
|
-
/** The application. */
|
|
45
|
-
children?: ReactNode;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Slots Usher into an application: renders the report and my issues dialogs once, gives {@link useUsher} and the
|
|
50
|
-
* Usher buttons what they need, and tracks the correlation ids of the Arc commands and queries the application runs.
|
|
51
|
-
* Render it inside `<Arc>`, the `DialogComponents` registration and a `CratisComponentsProvider` with a toaster.
|
|
52
|
-
*/
|
|
53
|
-
export const UsherProvider = ({
|
|
54
|
-
applicationVersion = '',
|
|
55
|
-
applicationName = '',
|
|
56
|
-
shareIdentityByDefault = false,
|
|
57
|
-
labels,
|
|
58
|
-
locale,
|
|
59
|
-
correlationIdCount = 5,
|
|
60
|
-
correlationIdHeader = defaultCorrelationIdHeader,
|
|
61
|
-
children
|
|
62
|
-
}: UsherProviderProps) => {
|
|
63
|
-
const arc = useContext(ArcContext);
|
|
64
|
-
const tracker = useRef<CorrelationTracker>(undefined);
|
|
65
|
-
if (!tracker.current || tracker.current.capacity !== correlationIdCount) {
|
|
66
|
-
tracker.current = new CorrelationTracker(correlationIdCount);
|
|
67
|
-
}
|
|
68
|
-
const correlationTracker = tracker.current;
|
|
69
|
-
const lastLocation = useRef<SliceLocation>(SliceLocation.empty);
|
|
70
|
-
|
|
71
|
-
const trackedArc = useMemo(() => ({
|
|
72
|
-
...arc,
|
|
73
|
-
httpHeadersCallback: withCorrelationIdHeader(arc.httpHeadersCallback, correlationTracker, correlationIdHeader)
|
|
74
|
-
}), [arc, correlationTracker, correlationIdHeader]);
|
|
75
|
-
|
|
76
|
-
const [ReportIssueDialogWrapper, showReportIssueDialog] = useDialog<ReportSent, Parameters<typeof ReportIssueDialog>[0]>(ReportIssueDialog);
|
|
77
|
-
const [ReportErrorDialogWrapper, showReportErrorDialog] = useDialog<ReportSent, Parameters<typeof ReportErrorDialog>[0]>(ReportErrorDialog);
|
|
78
|
-
const [MyIssuesDialogWrapper, showMyIssuesDialog] = useDialog<object, Parameters<typeof MyIssuesDialog>[0]>(MyIssuesDialog);
|
|
79
|
-
|
|
80
|
-
const resolvedLabels = useMemo(() => resolveLabels(labels), [labels]);
|
|
81
|
-
|
|
82
|
-
const value = useMemo<UsherContextValue>(() => {
|
|
83
|
-
const reportIssue = (location: SliceLocation) => {
|
|
84
|
-
lastLocation.current = location;
|
|
85
|
-
void showReportIssueDialog({ location, correlationIds: correlationTracker.correlationIds }).then(reportSent);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
const showIssue = (issueId: Guid) => void showMyIssuesDialog({ issueId, onReportIssue: () => reportIssue(lastLocation.current) });
|
|
89
|
-
|
|
90
|
-
const reportSent = ([result, response]: [DialogResult, ReportSent?]) => {
|
|
91
|
-
if (result !== DialogResult.Ok || !response) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
toast.success({
|
|
96
|
-
title: resolvedLabels.reportSent.title,
|
|
97
|
-
action: { children: resolvedLabels.reportSent.view, onClick: () => showIssue(response.issueId) }
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
isProvided: true,
|
|
103
|
-
labels: resolvedLabels,
|
|
104
|
-
applicationName,
|
|
105
|
-
applicationVersion,
|
|
106
|
-
shareIdentityByDefault,
|
|
107
|
-
locale,
|
|
108
|
-
untrackedArc: arc,
|
|
109
|
-
recentCorrelationIds: () => correlationTracker.correlationIds,
|
|
110
|
-
trackCorrelationId: correlationId => correlationTracker.track(correlationId),
|
|
111
|
-
reportIssue,
|
|
112
|
-
reportError: (error, location) => {
|
|
113
|
-
lastLocation.current = location;
|
|
114
|
-
void showReportErrorDialog({ error: toErrorDetails(error, location), location, correlationIds: correlationTracker.correlationIds }).then(reportSent);
|
|
115
|
-
},
|
|
116
|
-
showMyIssues: location => {
|
|
117
|
-
lastLocation.current = location;
|
|
118
|
-
void showMyIssuesDialog({ onReportIssue: () => reportIssue(location) });
|
|
119
|
-
},
|
|
120
|
-
showIssue
|
|
121
|
-
};
|
|
122
|
-
}, [resolvedLabels, applicationName, applicationVersion, shareIdentityByDefault, locale, arc, correlationTracker, showReportIssueDialog, showReportErrorDialog, showMyIssuesDialog]);
|
|
123
|
-
|
|
124
|
-
return (
|
|
125
|
-
<UsherContext.Provider value={value}>
|
|
126
|
-
<ArcContext.Provider value={trackedArc}>
|
|
127
|
-
{children}
|
|
128
|
-
</ArcContext.Provider>
|
|
129
|
-
<ReportIssueDialogWrapper />
|
|
130
|
-
<ReportErrorDialogWrapper />
|
|
131
|
-
<MyIssuesDialogWrapper />
|
|
132
|
-
</UsherContext.Provider>
|
|
133
|
-
);
|
|
134
|
-
};
|
package/Provider/index.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
export * from './UsherBoundary.js';
|
|
5
|
-
export * from './UsherContext.js';
|
|
6
|
-
export * from './UsherProvider.js';
|
|
7
|
-
export * from './useUsher.js';
|
package/Provider/useUsher.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { useSliceContext } from '@cratis/arc.react/slices';
|
|
5
|
-
import { Guid } from '@cratis/fundamentals';
|
|
6
|
-
import { useMemo } from 'react';
|
|
7
|
-
import { UsherLabels } from '../Labels/index.js';
|
|
8
|
-
import { useUsherContext } from './UsherContext.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* What {@link useUsher} gives a component.
|
|
12
|
-
*/
|
|
13
|
-
export interface Usher {
|
|
14
|
-
/** The labels Usher shows. */
|
|
15
|
-
readonly labels: UsherLabels;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Opens the report a problem dialog, with where in the application the component is.
|
|
19
|
-
*/
|
|
20
|
-
reportIssue(): void;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Opens the report this error dialog.
|
|
24
|
-
* @param error The error: `ErrorDetails` from `@cratis/showrunner.usher`, such as `errorDetailsFromCommandResult`
|
|
25
|
-
* gives for a failed command, or anything thrown.
|
|
26
|
-
*/
|
|
27
|
-
reportError(error: unknown): void;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Opens the my issues side sheet.
|
|
31
|
-
*/
|
|
32
|
-
showMyIssues(): void;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Opens the my issues side sheet on one issue.
|
|
36
|
-
* @param issueId The issue.
|
|
37
|
-
*/
|
|
38
|
-
showIssue(issueId: Guid): void;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Gets the correlation ids of the last few Arc commands and queries run, oldest first.
|
|
42
|
-
* @returns The correlation ids.
|
|
43
|
-
*/
|
|
44
|
-
recentCorrelationIds(): Guid[];
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Tracks the correlation id of a command or query, such as one from a `CommandResult` of a command run outside
|
|
48
|
-
* the application's `<Arc>` context.
|
|
49
|
-
* @param correlationId The correlation id.
|
|
50
|
-
*/
|
|
51
|
-
trackCorrelationId(correlationId: Guid | string): void;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Uses Usher from any component inside an {@link UsherProvider}. Reports carry the slice location of the component
|
|
56
|
-
* that calls this hook.
|
|
57
|
-
* @returns The {@link Usher}.
|
|
58
|
-
*/
|
|
59
|
-
export function useUsher(): Usher {
|
|
60
|
-
const context = useUsherContext();
|
|
61
|
-
const location = useSliceContext();
|
|
62
|
-
|
|
63
|
-
return useMemo(() => ({
|
|
64
|
-
labels: context.labels,
|
|
65
|
-
reportIssue: () => context.reportIssue(location),
|
|
66
|
-
reportError: (error: unknown) => context.reportError(error, location),
|
|
67
|
-
showMyIssues: () => context.showMyIssues(location),
|
|
68
|
-
showIssue: (issueId: Guid) => context.showIssue(issueId),
|
|
69
|
-
recentCorrelationIds: () => context.recentCorrelationIds(),
|
|
70
|
-
trackCorrelationId: (correlationId: Guid | string) => context.trackCorrelationId(correlationId)
|
|
71
|
-
}), [context, location]);
|
|
72
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { AccessDuration } from '@cratis/showrunner.usher';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* What the reporter chose about letting support sign in as them.
|
|
8
|
-
*/
|
|
9
|
-
export interface AccessChoice {
|
|
10
|
-
/** Whether the reporter chose to let support know who they are, apart from granting access. */
|
|
11
|
-
readonly shareIdentity: boolean;
|
|
12
|
-
|
|
13
|
-
/** Whether the reporter lets support sign in as them. */
|
|
14
|
-
readonly grantAccess: boolean;
|
|
15
|
-
|
|
16
|
-
/** For how long. */
|
|
17
|
-
readonly accessDuration: AccessDuration;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Gets the choice before the reporter has chosen anything: no access, for one day once they grant it.
|
|
22
|
-
* @param shareIdentity Whether to let support know who the reporter is unless they choose otherwise.
|
|
23
|
-
* @returns The {@link AccessChoice}.
|
|
24
|
-
*/
|
|
25
|
-
export function initialAccessChoice(shareIdentity: boolean): AccessChoice {
|
|
26
|
-
return { shareIdentity, grantAccess: false, accessDuration: AccessDuration.oneDay };
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const durationsInMilliseconds: Record<AccessDuration, number> = {
|
|
30
|
-
[AccessDuration.oneHour]: 60 * 60 * 1000,
|
|
31
|
-
[AccessDuration.oneDay]: 24 * 60 * 60 * 1000,
|
|
32
|
-
[AccessDuration.sevenDays]: 7 * 24 * 60 * 60 * 1000
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Applies a change of a command field to the access choice; changes of other fields leave it as it is. While access is
|
|
37
|
-
* granted, sharing who the reporter is is forced, so a change of it is not the reporter's own choice.
|
|
38
|
-
* @param choice The current {@link AccessChoice}.
|
|
39
|
-
* @param fieldName The name of the command field that changed.
|
|
40
|
-
* @param value Its new value.
|
|
41
|
-
* @returns The new {@link AccessChoice}.
|
|
42
|
-
*/
|
|
43
|
-
export function changeAccessChoice(choice: AccessChoice, fieldName: string, value: unknown): AccessChoice {
|
|
44
|
-
if (fieldName === 'shareIdentity' && !choice.grantAccess) {
|
|
45
|
-
return { ...choice, shareIdentity: value === true };
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (fieldName === 'grantAccess') {
|
|
49
|
-
return { ...choice, grantAccess: value === true };
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const duration = typeof value === 'string' && value.length > 0 ? Number(value) : value;
|
|
53
|
-
if (fieldName === 'accessDuration' && isAccessDuration(duration)) {
|
|
54
|
-
return { ...choice, accessDuration: duration };
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return choice;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Gets whether the command shares who the reporter is: always while access is granted, as granting access always
|
|
62
|
-
* shares who the reporter is, and otherwise as the reporter chose.
|
|
63
|
-
* @param choice The {@link AccessChoice}.
|
|
64
|
-
* @returns The value of the command's `shareIdentity`.
|
|
65
|
-
*/
|
|
66
|
-
export function sharesIdentity(choice: AccessChoice): boolean {
|
|
67
|
-
return choice.grantAccess || choice.shareIdentity;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Gets when access granted now would end. The backend fixes the end itself when it records the grant; this is what
|
|
72
|
-
* the reporter is told before they send.
|
|
73
|
-
* @param duration The {@link AccessDuration}.
|
|
74
|
-
* @param now What time it is.
|
|
75
|
-
* @returns When access would end.
|
|
76
|
-
*/
|
|
77
|
-
export function validUntilFor(duration: AccessDuration, now: Date): Date {
|
|
78
|
-
return new Date(now.getTime() + durationsInMilliseconds[duration]);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Formats a point in time for the access notice and the access panel, such as `27 Oct, 18:10`.
|
|
83
|
-
* @param time The point in time.
|
|
84
|
-
* @param locale The locale to format for; the browser's when not given.
|
|
85
|
-
* @param timeZone The time zone to format in; the browser's when not given.
|
|
86
|
-
* @returns The formatted point in time.
|
|
87
|
-
*/
|
|
88
|
-
export function formatTime(time: Date, locale?: string, timeZone?: string): string {
|
|
89
|
-
const date = new Intl.DateTimeFormat(locale, { day: 'numeric', month: 'short', timeZone }).format(time);
|
|
90
|
-
const clock = new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit', hourCycle: 'h23', timeZone }).format(time);
|
|
91
|
-
return `${date}, ${clock}`;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Formats the time of day only, such as `18:10`.
|
|
96
|
-
* @param time The point in time.
|
|
97
|
-
* @param locale The locale to format for; the browser's when not given.
|
|
98
|
-
* @param timeZone The time zone to format in; the browser's when not given.
|
|
99
|
-
* @returns The formatted time of day.
|
|
100
|
-
*/
|
|
101
|
-
export function formatClock(time: Date, locale?: string, timeZone?: string): string {
|
|
102
|
-
return new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit', hourCycle: 'h23', timeZone }).format(time);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function isAccessDuration(value: unknown): value is AccessDuration {
|
|
106
|
-
return typeof value === 'number' && Object.hasOwn(durationsInMilliseconds, value);
|
|
107
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { CheckboxField, DropdownField, ToggleSwitchField } from '@cratis/components/CommandForm';
|
|
5
|
-
import { AccessDuration } from '@cratis/showrunner.usher';
|
|
6
|
-
import { useId } from 'react';
|
|
7
|
-
import { useUsherLabels } from '../Provider/UsherContext.js';
|
|
8
|
-
import { AccessChoice } from './AccessChoice.js';
|
|
9
|
-
import { AccessNotice } from './AccessNotice.js';
|
|
10
|
-
import { durationOptions } from './durationOptions.js';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The command values {@link AccessFields} bind to.
|
|
14
|
-
*/
|
|
15
|
-
export interface IdentityAndAccess {
|
|
16
|
-
/** Whether to let support know who the reporter is. */
|
|
17
|
-
shareIdentity: boolean;
|
|
18
|
-
/** Whether to let support sign in as the reporter. */
|
|
19
|
-
grantAccess: boolean;
|
|
20
|
-
/** For how long. */
|
|
21
|
-
accessDuration: AccessDuration;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Props for {@link AccessFields}.
|
|
26
|
-
*/
|
|
27
|
-
export interface AccessFieldsProps {
|
|
28
|
-
/** The reporter's {@link AccessChoice}, as the form follows it. */
|
|
29
|
-
choice: AccessChoice;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* The identity and access choices of a report: let support know who the reporter is, and let support sign in as
|
|
34
|
-
* them for a while. Granting access always shares who the reporter is, so the checkbox is checked and disabled while
|
|
35
|
-
* access is granted, and the notice says until when support can act as the reporter.
|
|
36
|
-
*/
|
|
37
|
-
export const AccessFields = <TCommand extends IdentityAndAccess>({ choice }: AccessFieldsProps) => {
|
|
38
|
-
const labels = useUsherLabels();
|
|
39
|
-
const shareDescriptionId = useId();
|
|
40
|
-
const grantDescriptionId = useId();
|
|
41
|
-
const noticeId = useId();
|
|
42
|
-
|
|
43
|
-
return (
|
|
44
|
-
<div className='usher-access-fields'>
|
|
45
|
-
<div className='usher-access-fields__choice'>
|
|
46
|
-
<CheckboxField<TCommand>
|
|
47
|
-
value={command => command.shareIdentity}
|
|
48
|
-
label={labels.access.shareIdentity}
|
|
49
|
-
aria-describedby={choice.grantAccess ? `${shareDescriptionId} ${noticeId}` : shareDescriptionId}
|
|
50
|
-
pt={{ input: { disabled: choice.grantAccess } }} />
|
|
51
|
-
<p id={shareDescriptionId} className='usher-access-fields__description'>{labels.access.shareIdentityDescription}</p>
|
|
52
|
-
</div>
|
|
53
|
-
<div className='usher-access-fields__choice'>
|
|
54
|
-
<ToggleSwitchField<TCommand>
|
|
55
|
-
value={command => command.grantAccess}
|
|
56
|
-
label={labels.access.grantAccess}
|
|
57
|
-
aria-describedby={grantDescriptionId} />
|
|
58
|
-
<p id={grantDescriptionId} className='usher-access-fields__description'>{labels.access.grantAccessDescription}</p>
|
|
59
|
-
</div>
|
|
60
|
-
{choice.grantAccess && (
|
|
61
|
-
<div className='usher-access-fields__duration'>
|
|
62
|
-
<DropdownField<TCommand>
|
|
63
|
-
value={command => command.accessDuration}
|
|
64
|
-
title={labels.access.duration}
|
|
65
|
-
aria-describedby={noticeId}
|
|
66
|
-
options={durationOptions(labels)}
|
|
67
|
-
optionValue='value'
|
|
68
|
-
optionLabel='label' />
|
|
69
|
-
<AccessNotice id={noticeId} duration={choice.accessDuration} />
|
|
70
|
-
</div>
|
|
71
|
-
)}
|
|
72
|
-
</div>
|
|
73
|
-
);
|
|
74
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { Message } from '@cratis/components/Display';
|
|
5
|
-
import { AccessDuration } from '@cratis/showrunner.usher';
|
|
6
|
-
import { format } from '../Labels/index.js';
|
|
7
|
-
import { useUsherContext } from '../Provider/UsherContext.js';
|
|
8
|
-
import { formatTime, validUntilFor } from './AccessChoice.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Props for {@link AccessNotice}.
|
|
12
|
-
*/
|
|
13
|
-
export interface AccessNoticeProps {
|
|
14
|
-
/** The id of the notice, for the controls it describes. */
|
|
15
|
-
id: string;
|
|
16
|
-
|
|
17
|
-
/** For how long access would be granted. */
|
|
18
|
-
duration: AccessDuration;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* States plainly what granting access means: support sees who the reporter is and can act as them until a given time.
|
|
23
|
-
*/
|
|
24
|
-
export const AccessNotice = ({ id, duration }: AccessNoticeProps) => {
|
|
25
|
-
const { labels, locale } = useUsherContext();
|
|
26
|
-
const time = formatTime(validUntilFor(duration, new Date()), locale);
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<div id={id} className='usher-access-notice'>
|
|
30
|
-
<Message severity='info' live={false} text={format(labels.access.notice, { time })} />
|
|
31
|
-
</div>
|
|
32
|
-
);
|
|
33
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
-
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
|
|
4
|
-
import { DialogResult, useDialogContext } from '@cratis/arc.react/dialogs';
|
|
5
|
-
import { useSliceContext } from '@cratis/arc.react/slices';
|
|
6
|
-
import { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
7
|
-
import { CommandDialog } from '@cratis/components/CommandDialog';
|
|
8
|
-
import { TextAreaField } from '@cratis/components/CommandForm';
|
|
9
|
-
import { DialogInitialFocus } from '@cratis/components/Dialogs';
|
|
10
|
-
import { Guid } from '@cratis/fundamentals';
|
|
11
|
-
import { IReportError, ReportError } from '@cratis/showrunner.usher';
|
|
12
|
-
import { useState } from 'react';
|
|
13
|
-
import { UsherBoundary } from '../Provider/UsherBoundary.js';
|
|
14
|
-
import { useUsherContext } from '../Provider/UsherContext.js';
|
|
15
|
-
import { AccessFields } from './AccessFields.js';
|
|
16
|
-
import { ReportSent } from './ReportSent.js';
|
|
17
|
-
import { reportErrorValues, toErrorDetails } from './reportValues.js';
|
|
18
|
-
import { SentWithReport } from './SentWithReport.js';
|
|
19
|
-
import { TechnicalDetails } from './TechnicalDetails.js';
|
|
20
|
-
import { useAccessChoice } from './useAccessChoice.js';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Props for {@link ReportErrorDialog}.
|
|
24
|
-
*/
|
|
25
|
-
export interface ReportErrorDialogProps {
|
|
26
|
-
/** The error: `ErrorDetails` from `@cratis/showrunner.usher`, or anything thrown. */
|
|
27
|
-
error?: unknown;
|
|
28
|
-
|
|
29
|
-
/** Where in the application the reporter is, when the error does not say; the slice context the dialog is rendered in when not given. */
|
|
30
|
-
location?: ArcSliceLocation;
|
|
31
|
-
|
|
32
|
-
/** The correlation ids to send besides the error's own; the recent ones {@link UsherProvider} tracked when not given. */
|
|
33
|
-
correlationIds?: Guid[];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The report this error dialog: the error is captured already, and the reporter may say what they were doing and
|
|
38
|
-
* choose whether support may know who they are and sign in as them. The technical details are collapsed. Open it
|
|
39
|
-
* with `useDialog`; it closes with {@link ReportSent} once the report is sent.
|
|
40
|
-
*/
|
|
41
|
-
export const ReportErrorDialog = ({ error, location, correlationIds }: ReportErrorDialogProps) => {
|
|
42
|
-
const usher = useUsherContext();
|
|
43
|
-
const sliceLocation = useSliceContext();
|
|
44
|
-
const [values] = useState(() => reportErrorValues(toErrorDetails(error, location ?? sliceLocation), {
|
|
45
|
-
issueId: Guid.create(),
|
|
46
|
-
location: location ?? sliceLocation,
|
|
47
|
-
correlationIds: correlationIds ?? usher.recentCorrelationIds(),
|
|
48
|
-
applicationVersion: usher.applicationVersion,
|
|
49
|
-
shareIdentity: usher.shareIdentityByDefault
|
|
50
|
-
}));
|
|
51
|
-
|
|
52
|
-
return (
|
|
53
|
-
<UsherBoundary>
|
|
54
|
-
<ReportErrorForm values={values} />
|
|
55
|
-
</UsherBoundary>
|
|
56
|
-
);
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const ReportErrorForm = ({ values }: { values: IReportError }) => {
|
|
60
|
-
const { labels, shareIdentityByDefault } = useUsherContext();
|
|
61
|
-
const { closeDialog } = useDialogContext<ReportErrorDialogProps, ReportSent>();
|
|
62
|
-
const access = useAccessChoice(shareIdentityByDefault);
|
|
63
|
-
|
|
64
|
-
return (
|
|
65
|
-
<CommandDialog<ReportError>
|
|
66
|
-
command={ReportError}
|
|
67
|
-
title={labels.reportError.title}
|
|
68
|
-
subtitle={values.errorMessage}
|
|
69
|
-
okLabel={labels.reportError.send}
|
|
70
|
-
cancelLabel={labels.common.cancel}
|
|
71
|
-
closeAriaLabel={labels.common.close}
|
|
72
|
-
width='560px'
|
|
73
|
-
initialFocus={DialogInitialFocus.Content}
|
|
74
|
-
initialValues={access.initialValues(values)}
|
|
75
|
-
currentValues={access.currentValues}
|
|
76
|
-
onFieldChange={access.onFieldChange}
|
|
77
|
-
onSuccess={() => closeDialog(DialogResult.Ok, { issueId: values.issueId! })}>
|
|
78
|
-
<div className='usher-report-form'>
|
|
79
|
-
<SentWithReport location={values.location!} correlationIdCount={values.correlationIds!.length} />
|
|
80
|
-
<TechnicalDetails
|
|
81
|
-
errorType={values.errorType!}
|
|
82
|
-
correlationIds={values.correlationIds!}
|
|
83
|
-
stackFrames={values.stackFrames!} />
|
|
84
|
-
<TextAreaField<ReportError>
|
|
85
|
-
value={command => command.details}
|
|
86
|
-
title={labels.reportError.details}
|
|
87
|
-
placeholder={labels.reportError.detailsPlaceholder}
|
|
88
|
-
required={false}
|
|
89
|
-
rows={3} />
|
|
90
|
-
<AccessFields<ReportError> choice={access.choice} />
|
|
91
|
-
</div>
|
|
92
|
-
</CommandDialog>
|
|
93
|
-
);
|
|
94
|
-
};
|