@cratis/showrunner.usher.react 0.0.0-bootstrap.0
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/Buttons/MyIssuesButton.tsx +78 -0
- package/Buttons/ReportButton.tsx +51 -0
- package/Buttons/buttonModels.ts +55 -0
- package/Buttons/index.ts +6 -0
- package/Correlation/CorrelationTracker.ts +51 -0
- package/Correlation/index.ts +5 -0
- package/Correlation/withCorrelationIdHeader.ts +44 -0
- package/Icons.tsx +29 -0
- package/Issues/IssueView/AccessPanel.tsx +85 -0
- package/Issues/IssueView/GrantAccessDialog.tsx +56 -0
- package/Issues/IssueView/IdentityPanel.tsx +38 -0
- package/Issues/IssueView/IssueActions.tsx +52 -0
- package/Issues/IssueView/IssueConversationPanel.tsx +89 -0
- package/Issues/IssueView/IssueHeader.tsx +69 -0
- package/Issues/IssueView/IssueView.tsx +74 -0
- package/Issues/IssueView/QuestionBanner.tsx +27 -0
- package/Issues/IssueView/ReopenIssueDialog.tsx +37 -0
- package/Issues/IssueView/ShareIdentityDialog.tsx +37 -0
- package/Issues/IssueView/StatusStrip.tsx +42 -0
- package/Issues/IssueView/SupportSessions.tsx +59 -0
- package/Issues/IssueView/index.ts +15 -0
- package/Issues/MyIssues/IssueList.tsx +78 -0
- package/Issues/MyIssues/MyIssuesDialog.tsx +64 -0
- package/Issues/MyIssues/MyIssuesNavigation.ts +61 -0
- package/Issues/MyIssues/index.ts +6 -0
- package/Issues/MyIssuesList.ts +33 -0
- package/Issues/accessStatus.ts +68 -0
- package/Issues/conversationMessages.ts +136 -0
- package/Issues/index.ts +12 -0
- package/Issues/issueStates.ts +69 -0
- package/Issues/sessionActivity.ts +43 -0
- package/Issues/useAccessStatus.ts +24 -0
- package/Issues/webAddress.ts +22 -0
- package/Labels/UsherLabels.ts +365 -0
- package/Labels/defaultUsherLabels.ts +178 -0
- package/Labels/format.ts +13 -0
- package/Labels/index.ts +7 -0
- package/Labels/resolveLabels.ts +36 -0
- package/Provider/UsherBoundary.tsx +30 -0
- package/Provider/UsherContext.ts +109 -0
- package/Provider/UsherProvider.tsx +134 -0
- package/Provider/index.ts +7 -0
- package/Provider/useUsher.ts +72 -0
- package/README.md +72 -0
- package/Reporting/AccessChoice.ts +107 -0
- package/Reporting/AccessFields.tsx +74 -0
- package/Reporting/AccessNotice.tsx +33 -0
- package/Reporting/ReportErrorDialog.tsx +94 -0
- package/Reporting/ReportIssueDialog.tsx +80 -0
- package/Reporting/ReportLimits.ts +24 -0
- package/Reporting/ReportSent.ts +12 -0
- package/Reporting/SentWithReport.tsx +37 -0
- package/Reporting/TechnicalDetails.tsx +60 -0
- package/Reporting/durationOptions.ts +31 -0
- package/Reporting/formatLocation.ts +27 -0
- package/Reporting/index.ts +16 -0
- package/Reporting/reportValues.ts +150 -0
- package/Reporting/useAccessChoice.ts +53 -0
- package/dist/cjs/Buttons/MyIssuesButton.d.ts +14 -0
- package/dist/cjs/Buttons/MyIssuesButton.d.ts.map +1 -0
- package/dist/cjs/Buttons/MyIssuesButton.js +76 -0
- package/dist/cjs/Buttons/MyIssuesButton.js.map +1 -0
- package/dist/cjs/Buttons/ReportButton.d.ts +8 -0
- package/dist/cjs/Buttons/ReportButton.d.ts.map +1 -0
- package/dist/cjs/Buttons/ReportButton.js +34 -0
- package/dist/cjs/Buttons/ReportButton.js.map +1 -0
- package/dist/cjs/Buttons/buttonModels.d.ts +10 -0
- package/dist/cjs/Buttons/buttonModels.d.ts.map +1 -0
- package/dist/cjs/Buttons/buttonModels.js +44 -0
- package/dist/cjs/Buttons/buttonModels.js.map +1 -0
- package/dist/cjs/Buttons/index.d.ts +4 -0
- package/dist/cjs/Buttons/index.d.ts.map +1 -0
- package/dist/cjs/Correlation/CorrelationTracker.d.ts +10 -0
- package/dist/cjs/Correlation/CorrelationTracker.d.ts.map +1 -0
- package/dist/cjs/Correlation/CorrelationTracker.js +50 -0
- package/dist/cjs/Correlation/CorrelationTracker.js.map +1 -0
- package/dist/cjs/Correlation/index.d.ts +3 -0
- package/dist/cjs/Correlation/index.d.ts.map +1 -0
- package/dist/cjs/Correlation/withCorrelationIdHeader.d.ts +6 -0
- package/dist/cjs/Correlation/withCorrelationIdHeader.d.ts.map +1 -0
- package/dist/cjs/Correlation/withCorrelationIdHeader.js +39 -0
- package/dist/cjs/Correlation/withCorrelationIdHeader.js.map +1 -0
- package/dist/cjs/Icons.d.ts +4 -0
- package/dist/cjs/Icons.d.ts.map +1 -0
- package/dist/cjs/Icons.js +53 -0
- package/dist/cjs/Icons.js.map +1 -0
- package/dist/cjs/Issues/IssueView/AccessPanel.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/AccessPanel.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/AccessPanel.js +124 -0
- package/dist/cjs/Issues/IssueView/AccessPanel.js.map +1 -0
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.js +56 -0
- package/dist/cjs/Issues/IssueView/GrantAccessDialog.js.map +1 -0
- package/dist/cjs/Issues/IssueView/IdentityPanel.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/IdentityPanel.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/IdentityPanel.js +45 -0
- package/dist/cjs/Issues/IssueView/IdentityPanel.js.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueActions.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/IssueActions.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueActions.js +58 -0
- package/dist/cjs/Issues/IssueView/IssueActions.js.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.js +97 -0
- package/dist/cjs/Issues/IssueView/IssueConversationPanel.js.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueHeader.d.ts +7 -0
- package/dist/cjs/Issues/IssueView/IssueHeader.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueHeader.js +94 -0
- package/dist/cjs/Issues/IssueView/IssueHeader.js.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueView.d.ts +7 -0
- package/dist/cjs/Issues/IssueView/IssueView.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/IssueView.js +85 -0
- package/dist/cjs/Issues/IssueView/IssueView.js.map +1 -0
- package/dist/cjs/Issues/IssueView/QuestionBanner.d.ts +5 -0
- package/dist/cjs/Issues/IssueView/QuestionBanner.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/QuestionBanner.js +24 -0
- package/dist/cjs/Issues/IssueView/QuestionBanner.js.map +1 -0
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.js +34 -0
- package/dist/cjs/Issues/IssueView/ReopenIssueDialog.js.map +1 -0
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.js +32 -0
- package/dist/cjs/Issues/IssueView/ShareIdentityDialog.js.map +1 -0
- package/dist/cjs/Issues/IssueView/StatusStrip.d.ts +6 -0
- package/dist/cjs/Issues/IssueView/StatusStrip.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/StatusStrip.js +31 -0
- package/dist/cjs/Issues/IssueView/StatusStrip.js.map +1 -0
- package/dist/cjs/Issues/IssueView/SupportSessions.d.ts +7 -0
- package/dist/cjs/Issues/IssueView/SupportSessions.d.ts.map +1 -0
- package/dist/cjs/Issues/IssueView/SupportSessions.js +62 -0
- package/dist/cjs/Issues/IssueView/SupportSessions.js.map +1 -0
- package/dist/cjs/Issues/IssueView/index.d.ts +13 -0
- package/dist/cjs/Issues/IssueView/index.d.ts.map +1 -0
- package/dist/cjs/Issues/MyIssues/IssueList.d.ts +7 -0
- package/dist/cjs/Issues/MyIssues/IssueList.d.ts.map +1 -0
- package/dist/cjs/Issues/MyIssues/IssueList.js +92 -0
- package/dist/cjs/Issues/MyIssues/IssueList.js.map +1 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.d.ts +7 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.d.ts.map +1 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.js +79 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesDialog.js.map +1 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.d.ts +21 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.d.ts.map +1 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.js +52 -0
- package/dist/cjs/Issues/MyIssues/MyIssuesNavigation.js.map +1 -0
- package/dist/cjs/Issues/MyIssues/index.d.ts +4 -0
- package/dist/cjs/Issues/MyIssues/index.d.ts.map +1 -0
- package/dist/cjs/Issues/MyIssuesList.d.ts +7 -0
- package/dist/cjs/Issues/MyIssuesList.d.ts.map +1 -0
- package/dist/cjs/Issues/MyIssuesList.js +33 -0
- package/dist/cjs/Issues/MyIssuesList.js.map +1 -0
- package/dist/cjs/Issues/accessStatus.d.ts +13 -0
- package/dist/cjs/Issues/accessStatus.d.ts.map +1 -0
- package/dist/cjs/Issues/accessStatus.js +60 -0
- package/dist/cjs/Issues/accessStatus.js.map +1 -0
- package/dist/cjs/Issues/conversationMessages.d.ts +14 -0
- package/dist/cjs/Issues/conversationMessages.d.ts.map +1 -0
- package/dist/cjs/Issues/conversationMessages.js +131 -0
- package/dist/cjs/Issues/conversationMessages.js.map +1 -0
- package/dist/cjs/Issues/index.d.ts +10 -0
- package/dist/cjs/Issues/index.d.ts.map +1 -0
- package/dist/cjs/Issues/issueStates.d.ts +12 -0
- package/dist/cjs/Issues/issueStates.d.ts.map +1 -0
- package/dist/cjs/Issues/issueStates.js +86 -0
- package/dist/cjs/Issues/issueStates.js.map +1 -0
- package/dist/cjs/Issues/sessionActivity.d.ts +8 -0
- package/dist/cjs/Issues/sessionActivity.d.ts.map +1 -0
- package/dist/cjs/Issues/sessionActivity.js +39 -0
- package/dist/cjs/Issues/sessionActivity.js.map +1 -0
- package/dist/cjs/Issues/useAccessStatus.d.ts +4 -0
- package/dist/cjs/Issues/useAccessStatus.d.ts.map +1 -0
- package/dist/cjs/Issues/useAccessStatus.js +30 -0
- package/dist/cjs/Issues/useAccessStatus.js.map +1 -0
- package/dist/cjs/Issues/webAddress.d.ts +2 -0
- package/dist/cjs/Issues/webAddress.d.ts.map +1 -0
- package/dist/cjs/Issues/webAddress.js +24 -0
- package/dist/cjs/Issues/webAddress.js.map +1 -0
- package/dist/cjs/Labels/UsherLabels.d.ts +177 -0
- package/dist/cjs/Labels/UsherLabels.d.ts.map +1 -0
- package/dist/cjs/Labels/defaultUsherLabels.d.ts +3 -0
- package/dist/cjs/Labels/defaultUsherLabels.d.ts.map +1 -0
- package/dist/cjs/Labels/defaultUsherLabels.js +179 -0
- package/dist/cjs/Labels/defaultUsherLabels.js.map +1 -0
- package/dist/cjs/Labels/format.d.ts +2 -0
- package/dist/cjs/Labels/format.d.ts.map +1 -0
- package/dist/cjs/Labels/format.js +15 -0
- package/dist/cjs/Labels/format.js.map +1 -0
- package/dist/cjs/Labels/index.d.ts +5 -0
- package/dist/cjs/Labels/index.d.ts.map +1 -0
- package/dist/cjs/Labels/resolveLabels.d.ts +3 -0
- package/dist/cjs/Labels/resolveLabels.d.ts.map +1 -0
- package/dist/cjs/Labels/resolveLabels.js +35 -0
- package/dist/cjs/Labels/resolveLabels.js.map +1 -0
- package/dist/cjs/Provider/UsherBoundary.d.ts +6 -0
- package/dist/cjs/Provider/UsherBoundary.d.ts.map +1 -0
- package/dist/cjs/Provider/UsherBoundary.js +24 -0
- package/dist/cjs/Provider/UsherBoundary.js.map +1 -0
- package/dist/cjs/Provider/UsherContext.d.ts +24 -0
- package/dist/cjs/Provider/UsherContext.d.ts.map +1 -0
- package/dist/cjs/Provider/UsherContext.js +41 -0
- package/dist/cjs/Provider/UsherContext.js.map +1 -0
- package/dist/cjs/Provider/UsherProvider.d.ts +14 -0
- package/dist/cjs/Provider/UsherProvider.d.ts.map +1 -0
- package/dist/cjs/Provider/UsherProvider.js +122 -0
- package/dist/cjs/Provider/UsherProvider.js.map +1 -0
- package/dist/cjs/Provider/index.d.ts +5 -0
- package/dist/cjs/Provider/index.d.ts.map +1 -0
- package/dist/cjs/Provider/useUsher.d.ts +13 -0
- package/dist/cjs/Provider/useUsher.d.ts.map +1 -0
- package/dist/cjs/Provider/useUsher.js +31 -0
- package/dist/cjs/Provider/useUsher.js.map +1 -0
- package/dist/cjs/Reporting/AccessChoice.d.ts +13 -0
- package/dist/cjs/Reporting/AccessChoice.d.ts.map +1 -0
- package/dist/cjs/Reporting/AccessChoice.js +113 -0
- package/dist/cjs/Reporting/AccessChoice.js.map +1 -0
- package/dist/cjs/Reporting/AccessFields.d.ts +12 -0
- package/dist/cjs/Reporting/AccessFields.d.ts.map +1 -0
- package/dist/cjs/Reporting/AccessFields.js +79 -0
- package/dist/cjs/Reporting/AccessFields.js.map +1 -0
- package/dist/cjs/Reporting/AccessNotice.d.ts +7 -0
- package/dist/cjs/Reporting/AccessNotice.d.ts.map +1 -0
- package/dist/cjs/Reporting/AccessNotice.js +28 -0
- package/dist/cjs/Reporting/AccessNotice.js.map +1 -0
- package/dist/cjs/Reporting/ReportErrorDialog.d.ts +9 -0
- package/dist/cjs/Reporting/ReportErrorDialog.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportErrorDialog.js +87 -0
- package/dist/cjs/Reporting/ReportErrorDialog.js.map +1 -0
- package/dist/cjs/Reporting/ReportIssueDialog.d.ts +8 -0
- package/dist/cjs/Reporting/ReportIssueDialog.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportIssueDialog.js +81 -0
- package/dist/cjs/Reporting/ReportIssueDialog.js.map +1 -0
- package/dist/cjs/Reporting/ReportLimits.d.ts +8 -0
- package/dist/cjs/Reporting/ReportLimits.d.ts.map +1 -0
- package/dist/cjs/Reporting/ReportLimits.js +19 -0
- package/dist/cjs/Reporting/ReportLimits.js.map +1 -0
- package/dist/cjs/Reporting/ReportSent.d.ts +5 -0
- package/dist/cjs/Reporting/ReportSent.d.ts.map +1 -0
- package/dist/cjs/Reporting/SentWithReport.d.ts +7 -0
- package/dist/cjs/Reporting/SentWithReport.d.ts.map +1 -0
- package/dist/cjs/Reporting/SentWithReport.js +40 -0
- package/dist/cjs/Reporting/SentWithReport.js.map +1 -0
- package/dist/cjs/Reporting/TechnicalDetails.d.ts +9 -0
- package/dist/cjs/Reporting/TechnicalDetails.d.ts.map +1 -0
- package/dist/cjs/Reporting/TechnicalDetails.js +75 -0
- package/dist/cjs/Reporting/TechnicalDetails.js.map +1 -0
- package/dist/cjs/Reporting/durationOptions.d.ts +9 -0
- package/dist/cjs/Reporting/durationOptions.d.ts.map +1 -0
- package/dist/cjs/Reporting/durationOptions.js +29 -0
- package/dist/cjs/Reporting/durationOptions.js.map +1 -0
- package/dist/cjs/Reporting/formatLocation.d.ts +7 -0
- package/dist/cjs/Reporting/formatLocation.d.ts.map +1 -0
- package/dist/cjs/Reporting/formatLocation.js +23 -0
- package/dist/cjs/Reporting/formatLocation.js.map +1 -0
- package/dist/cjs/Reporting/index.d.ts +14 -0
- package/dist/cjs/Reporting/index.d.ts.map +1 -0
- package/dist/cjs/Reporting/reportValues.d.ts +22 -0
- package/dist/cjs/Reporting/reportValues.d.ts.map +1 -0
- package/dist/cjs/Reporting/reportValues.js +124 -0
- package/dist/cjs/Reporting/reportValues.js.map +1 -0
- package/dist/cjs/Reporting/useAccessChoice.d.ts +13 -0
- package/dist/cjs/Reporting/useAccessChoice.d.ts.map +1 -0
- package/dist/cjs/Reporting/useAccessChoice.js +41 -0
- package/dist/cjs/Reporting/useAccessChoice.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +133 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/esm/Buttons/MyIssuesButton.d.ts +14 -0
- package/dist/esm/Buttons/MyIssuesButton.d.ts.map +1 -0
- package/dist/esm/Buttons/MyIssuesButton.js +73 -0
- package/dist/esm/Buttons/MyIssuesButton.js.map +1 -0
- package/dist/esm/Buttons/ReportButton.d.ts +8 -0
- package/dist/esm/Buttons/ReportButton.d.ts.map +1 -0
- package/dist/esm/Buttons/ReportButton.js +32 -0
- package/dist/esm/Buttons/ReportButton.js.map +1 -0
- package/dist/esm/Buttons/buttonModels.d.ts +10 -0
- package/dist/esm/Buttons/buttonModels.d.ts.map +1 -0
- package/dist/esm/Buttons/buttonModels.js +41 -0
- package/dist/esm/Buttons/buttonModels.js.map +1 -0
- package/dist/esm/Buttons/index.d.ts +4 -0
- package/dist/esm/Buttons/index.d.ts.map +1 -0
- package/dist/esm/Buttons/index.js +4 -0
- package/dist/esm/Buttons/index.js.map +1 -0
- package/dist/esm/Correlation/CorrelationTracker.d.ts +10 -0
- package/dist/esm/Correlation/CorrelationTracker.d.ts.map +1 -0
- package/dist/esm/Correlation/CorrelationTracker.js +48 -0
- package/dist/esm/Correlation/CorrelationTracker.js.map +1 -0
- package/dist/esm/Correlation/index.d.ts +3 -0
- package/dist/esm/Correlation/index.d.ts.map +1 -0
- package/dist/esm/Correlation/index.js +3 -0
- package/dist/esm/Correlation/index.js.map +1 -0
- package/dist/esm/Correlation/withCorrelationIdHeader.d.ts +6 -0
- package/dist/esm/Correlation/withCorrelationIdHeader.d.ts.map +1 -0
- package/dist/esm/Correlation/withCorrelationIdHeader.js +36 -0
- package/dist/esm/Correlation/withCorrelationIdHeader.js.map +1 -0
- package/dist/esm/Icons.d.ts +4 -0
- package/dist/esm/Icons.d.ts.map +1 -0
- package/dist/esm/Icons.js +49 -0
- package/dist/esm/Icons.js.map +1 -0
- package/dist/esm/Issues/IssueView/AccessPanel.d.ts +6 -0
- package/dist/esm/Issues/IssueView/AccessPanel.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/AccessPanel.js +122 -0
- package/dist/esm/Issues/IssueView/AccessPanel.js.map +1 -0
- package/dist/esm/Issues/IssueView/GrantAccessDialog.d.ts +6 -0
- package/dist/esm/Issues/IssueView/GrantAccessDialog.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/GrantAccessDialog.js +54 -0
- package/dist/esm/Issues/IssueView/GrantAccessDialog.js.map +1 -0
- package/dist/esm/Issues/IssueView/IdentityPanel.d.ts +6 -0
- package/dist/esm/Issues/IssueView/IdentityPanel.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/IdentityPanel.js +43 -0
- package/dist/esm/Issues/IssueView/IdentityPanel.js.map +1 -0
- package/dist/esm/Issues/IssueView/IssueActions.d.ts +6 -0
- package/dist/esm/Issues/IssueView/IssueActions.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/IssueActions.js +56 -0
- package/dist/esm/Issues/IssueView/IssueActions.js.map +1 -0
- package/dist/esm/Issues/IssueView/IssueConversationPanel.d.ts +6 -0
- package/dist/esm/Issues/IssueView/IssueConversationPanel.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/IssueConversationPanel.js +95 -0
- package/dist/esm/Issues/IssueView/IssueConversationPanel.js.map +1 -0
- package/dist/esm/Issues/IssueView/IssueHeader.d.ts +7 -0
- package/dist/esm/Issues/IssueView/IssueHeader.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/IssueHeader.js +92 -0
- package/dist/esm/Issues/IssueView/IssueHeader.js.map +1 -0
- package/dist/esm/Issues/IssueView/IssueView.d.ts +7 -0
- package/dist/esm/Issues/IssueView/IssueView.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/IssueView.js +83 -0
- package/dist/esm/Issues/IssueView/IssueView.js.map +1 -0
- package/dist/esm/Issues/IssueView/QuestionBanner.d.ts +5 -0
- package/dist/esm/Issues/IssueView/QuestionBanner.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/QuestionBanner.js +22 -0
- package/dist/esm/Issues/IssueView/QuestionBanner.js.map +1 -0
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.d.ts +6 -0
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.js +32 -0
- package/dist/esm/Issues/IssueView/ReopenIssueDialog.js.map +1 -0
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.d.ts +6 -0
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.js +30 -0
- package/dist/esm/Issues/IssueView/ShareIdentityDialog.js.map +1 -0
- package/dist/esm/Issues/IssueView/StatusStrip.d.ts +6 -0
- package/dist/esm/Issues/IssueView/StatusStrip.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/StatusStrip.js +29 -0
- package/dist/esm/Issues/IssueView/StatusStrip.js.map +1 -0
- package/dist/esm/Issues/IssueView/SupportSessions.d.ts +7 -0
- package/dist/esm/Issues/IssueView/SupportSessions.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/SupportSessions.js +60 -0
- package/dist/esm/Issues/IssueView/SupportSessions.js.map +1 -0
- package/dist/esm/Issues/IssueView/index.d.ts +13 -0
- package/dist/esm/Issues/IssueView/index.d.ts.map +1 -0
- package/dist/esm/Issues/IssueView/index.js +13 -0
- package/dist/esm/Issues/IssueView/index.js.map +1 -0
- package/dist/esm/Issues/MyIssues/IssueList.d.ts +7 -0
- package/dist/esm/Issues/MyIssues/IssueList.d.ts.map +1 -0
- package/dist/esm/Issues/MyIssues/IssueList.js +90 -0
- package/dist/esm/Issues/MyIssues/IssueList.js.map +1 -0
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.d.ts +7 -0
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.d.ts.map +1 -0
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.js +77 -0
- package/dist/esm/Issues/MyIssues/MyIssuesDialog.js.map +1 -0
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.d.ts +21 -0
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.d.ts.map +1 -0
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.js +49 -0
- package/dist/esm/Issues/MyIssues/MyIssuesNavigation.js.map +1 -0
- package/dist/esm/Issues/MyIssues/index.d.ts +4 -0
- package/dist/esm/Issues/MyIssues/index.d.ts.map +1 -0
- package/dist/esm/Issues/MyIssues/index.js +4 -0
- package/dist/esm/Issues/MyIssues/index.js.map +1 -0
- package/dist/esm/Issues/MyIssuesList.d.ts +7 -0
- package/dist/esm/Issues/MyIssuesList.d.ts.map +1 -0
- package/dist/esm/Issues/MyIssuesList.js +29 -0
- package/dist/esm/Issues/MyIssuesList.js.map +1 -0
- package/dist/esm/Issues/accessStatus.d.ts +13 -0
- package/dist/esm/Issues/accessStatus.d.ts.map +1 -0
- package/dist/esm/Issues/accessStatus.js +54 -0
- package/dist/esm/Issues/accessStatus.js.map +1 -0
- package/dist/esm/Issues/conversationMessages.d.ts +14 -0
- package/dist/esm/Issues/conversationMessages.d.ts.map +1 -0
- package/dist/esm/Issues/conversationMessages.js +125 -0
- package/dist/esm/Issues/conversationMessages.js.map +1 -0
- package/dist/esm/Issues/index.d.ts +10 -0
- package/dist/esm/Issues/index.d.ts.map +1 -0
- package/dist/esm/Issues/index.js +10 -0
- package/dist/esm/Issues/index.js.map +1 -0
- package/dist/esm/Issues/issueStates.d.ts +12 -0
- package/dist/esm/Issues/issueStates.d.ts.map +1 -0
- package/dist/esm/Issues/issueStates.js +81 -0
- package/dist/esm/Issues/issueStates.js.map +1 -0
- package/dist/esm/Issues/sessionActivity.d.ts +8 -0
- package/dist/esm/Issues/sessionActivity.d.ts.map +1 -0
- package/dist/esm/Issues/sessionActivity.js +37 -0
- package/dist/esm/Issues/sessionActivity.js.map +1 -0
- package/dist/esm/Issues/useAccessStatus.d.ts +4 -0
- package/dist/esm/Issues/useAccessStatus.d.ts.map +1 -0
- package/dist/esm/Issues/useAccessStatus.js +28 -0
- package/dist/esm/Issues/useAccessStatus.js.map +1 -0
- package/dist/esm/Issues/webAddress.d.ts +2 -0
- package/dist/esm/Issues/webAddress.d.ts.map +1 -0
- package/dist/esm/Issues/webAddress.js +22 -0
- package/dist/esm/Issues/webAddress.js.map +1 -0
- package/dist/esm/Labels/UsherLabels.d.ts +177 -0
- package/dist/esm/Labels/UsherLabels.d.ts.map +1 -0
- package/dist/esm/Labels/UsherLabels.js +2 -0
- package/dist/esm/Labels/UsherLabels.js.map +1 -0
- package/dist/esm/Labels/defaultUsherLabels.d.ts +3 -0
- package/dist/esm/Labels/defaultUsherLabels.d.ts.map +1 -0
- package/dist/esm/Labels/defaultUsherLabels.js +177 -0
- package/dist/esm/Labels/defaultUsherLabels.js.map +1 -0
- package/dist/esm/Labels/format.d.ts +2 -0
- package/dist/esm/Labels/format.d.ts.map +1 -0
- package/dist/esm/Labels/format.js +13 -0
- package/dist/esm/Labels/format.js.map +1 -0
- package/dist/esm/Labels/index.d.ts +5 -0
- package/dist/esm/Labels/index.d.ts.map +1 -0
- package/dist/esm/Labels/index.js +5 -0
- package/dist/esm/Labels/index.js.map +1 -0
- package/dist/esm/Labels/resolveLabels.d.ts +3 -0
- package/dist/esm/Labels/resolveLabels.d.ts.map +1 -0
- package/dist/esm/Labels/resolveLabels.js +33 -0
- package/dist/esm/Labels/resolveLabels.js.map +1 -0
- package/dist/esm/Provider/UsherBoundary.d.ts +6 -0
- package/dist/esm/Provider/UsherBoundary.d.ts.map +1 -0
- package/dist/esm/Provider/UsherBoundary.js +22 -0
- package/dist/esm/Provider/UsherBoundary.js.map +1 -0
- package/dist/esm/Provider/UsherContext.d.ts +24 -0
- package/dist/esm/Provider/UsherContext.d.ts.map +1 -0
- package/dist/esm/Provider/UsherContext.js +36 -0
- package/dist/esm/Provider/UsherContext.js.map +1 -0
- package/dist/esm/Provider/UsherProvider.d.ts +14 -0
- package/dist/esm/Provider/UsherProvider.d.ts.map +1 -0
- package/dist/esm/Provider/UsherProvider.js +120 -0
- package/dist/esm/Provider/UsherProvider.js.map +1 -0
- package/dist/esm/Provider/index.d.ts +5 -0
- package/dist/esm/Provider/index.d.ts.map +1 -0
- package/dist/esm/Provider/index.js +5 -0
- package/dist/esm/Provider/index.js.map +1 -0
- package/dist/esm/Provider/useUsher.d.ts +13 -0
- package/dist/esm/Provider/useUsher.d.ts.map +1 -0
- package/dist/esm/Provider/useUsher.js +29 -0
- package/dist/esm/Provider/useUsher.js.map +1 -0
- package/dist/esm/Reporting/AccessChoice.d.ts +13 -0
- package/dist/esm/Reporting/AccessChoice.d.ts.map +1 -0
- package/dist/esm/Reporting/AccessChoice.js +106 -0
- package/dist/esm/Reporting/AccessChoice.js.map +1 -0
- package/dist/esm/Reporting/AccessFields.d.ts +12 -0
- package/dist/esm/Reporting/AccessFields.d.ts.map +1 -0
- package/dist/esm/Reporting/AccessFields.js +77 -0
- package/dist/esm/Reporting/AccessFields.js.map +1 -0
- package/dist/esm/Reporting/AccessNotice.d.ts +7 -0
- package/dist/esm/Reporting/AccessNotice.d.ts.map +1 -0
- package/dist/esm/Reporting/AccessNotice.js +26 -0
- package/dist/esm/Reporting/AccessNotice.js.map +1 -0
- package/dist/esm/Reporting/ReportErrorDialog.d.ts +9 -0
- package/dist/esm/Reporting/ReportErrorDialog.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportErrorDialog.js +85 -0
- package/dist/esm/Reporting/ReportErrorDialog.js.map +1 -0
- package/dist/esm/Reporting/ReportIssueDialog.d.ts +8 -0
- package/dist/esm/Reporting/ReportIssueDialog.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportIssueDialog.js +79 -0
- package/dist/esm/Reporting/ReportIssueDialog.js.map +1 -0
- package/dist/esm/Reporting/ReportLimits.d.ts +8 -0
- package/dist/esm/Reporting/ReportLimits.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportLimits.js +17 -0
- package/dist/esm/Reporting/ReportLimits.js.map +1 -0
- package/dist/esm/Reporting/ReportSent.d.ts +5 -0
- package/dist/esm/Reporting/ReportSent.d.ts.map +1 -0
- package/dist/esm/Reporting/ReportSent.js +2 -0
- package/dist/esm/Reporting/ReportSent.js.map +1 -0
- package/dist/esm/Reporting/SentWithReport.d.ts +7 -0
- package/dist/esm/Reporting/SentWithReport.d.ts.map +1 -0
- package/dist/esm/Reporting/SentWithReport.js +38 -0
- package/dist/esm/Reporting/SentWithReport.js.map +1 -0
- package/dist/esm/Reporting/TechnicalDetails.d.ts +9 -0
- package/dist/esm/Reporting/TechnicalDetails.d.ts.map +1 -0
- package/dist/esm/Reporting/TechnicalDetails.js +73 -0
- package/dist/esm/Reporting/TechnicalDetails.js.map +1 -0
- package/dist/esm/Reporting/durationOptions.d.ts +9 -0
- package/dist/esm/Reporting/durationOptions.d.ts.map +1 -0
- package/dist/esm/Reporting/durationOptions.js +27 -0
- package/dist/esm/Reporting/durationOptions.js.map +1 -0
- package/dist/esm/Reporting/formatLocation.d.ts +7 -0
- package/dist/esm/Reporting/formatLocation.d.ts.map +1 -0
- package/dist/esm/Reporting/formatLocation.js +21 -0
- package/dist/esm/Reporting/formatLocation.js.map +1 -0
- package/dist/esm/Reporting/index.d.ts +14 -0
- package/dist/esm/Reporting/index.d.ts.map +1 -0
- package/dist/esm/Reporting/index.js +14 -0
- package/dist/esm/Reporting/index.js.map +1 -0
- package/dist/esm/Reporting/reportValues.d.ts +22 -0
- package/dist/esm/Reporting/reportValues.d.ts.map +1 -0
- package/dist/esm/Reporting/reportValues.js +116 -0
- package/dist/esm/Reporting/reportValues.js.map +1 -0
- package/dist/esm/Reporting/useAccessChoice.d.ts +13 -0
- package/dist/esm/Reporting/useAccessChoice.d.ts.map +1 -0
- package/dist/esm/Reporting/useAccessChoice.js +39 -0
- package/dist/esm/Reporting/useAccessChoice.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +48 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/index.ts +10 -0
- package/package.json +85 -0
- package/styles.css +320 -0
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
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 { InputTextField, TextAreaField } from '@cratis/components/CommandForm';
|
|
9
|
+
import { DialogInitialFocus } from '@cratis/components/Dialogs';
|
|
10
|
+
import { Guid } from '@cratis/fundamentals';
|
|
11
|
+
import { ReportIssue } 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 { reportIssueValues } from './reportValues.js';
|
|
18
|
+
import { SentWithReport } from './SentWithReport.js';
|
|
19
|
+
import { useAccessChoice } from './useAccessChoice.js';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Props for {@link ReportIssueDialog}.
|
|
23
|
+
*/
|
|
24
|
+
export interface ReportIssueDialogProps {
|
|
25
|
+
/** Where in the application the reporter is; the slice context the dialog is rendered in when not given. */
|
|
26
|
+
location?: ArcSliceLocation;
|
|
27
|
+
|
|
28
|
+
/** The correlation ids to send; the recent ones {@link UsherProvider} tracked when not given. */
|
|
29
|
+
correlationIds?: Guid[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The report a problem dialog: the reporter describes a problem by hand, and chooses whether support may know who
|
|
34
|
+
* they are and sign in as them. Open it with `useDialog`; it closes with {@link ReportSent} once the report is sent.
|
|
35
|
+
*/
|
|
36
|
+
export const ReportIssueDialog = ({ location, correlationIds }: ReportIssueDialogProps) => {
|
|
37
|
+
const usher = useUsherContext();
|
|
38
|
+
const sliceLocation = useSliceContext();
|
|
39
|
+
const [values] = useState(() => reportIssueValues({
|
|
40
|
+
issueId: Guid.create(),
|
|
41
|
+
location: location ?? sliceLocation,
|
|
42
|
+
correlationIds: correlationIds ?? usher.recentCorrelationIds(),
|
|
43
|
+
applicationVersion: usher.applicationVersion,
|
|
44
|
+
shareIdentity: usher.shareIdentityByDefault
|
|
45
|
+
}));
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<UsherBoundary>
|
|
49
|
+
<ReportIssueForm values={values} />
|
|
50
|
+
</UsherBoundary>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const ReportIssueForm = ({ values }: { values: ReturnType<typeof reportIssueValues> }) => {
|
|
55
|
+
const { labels, shareIdentityByDefault } = useUsherContext();
|
|
56
|
+
const { closeDialog } = useDialogContext<ReportIssueDialogProps, ReportSent>();
|
|
57
|
+
const access = useAccessChoice(shareIdentityByDefault);
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<CommandDialog<ReportIssue>
|
|
61
|
+
command={ReportIssue}
|
|
62
|
+
title={labels.reportIssue.title}
|
|
63
|
+
okLabel={labels.reportIssue.send}
|
|
64
|
+
cancelLabel={labels.common.cancel}
|
|
65
|
+
closeAriaLabel={labels.common.close}
|
|
66
|
+
width='560px'
|
|
67
|
+
initialFocus={DialogInitialFocus.Content}
|
|
68
|
+
initialValues={access.initialValues(values)}
|
|
69
|
+
currentValues={access.currentValues}
|
|
70
|
+
onFieldChange={access.onFieldChange}
|
|
71
|
+
onSuccess={() => closeDialog(DialogResult.Ok, { issueId: values.issueId! })}>
|
|
72
|
+
<div className='usher-report-form'>
|
|
73
|
+
<SentWithReport location={values.location!} correlationIdCount={values.correlationIds!.length} />
|
|
74
|
+
<InputTextField<ReportIssue> value={command => command.summary} title={labels.reportIssue.summary} />
|
|
75
|
+
<TextAreaField<ReportIssue> value={command => command.description} title={labels.reportIssue.description} rows={5} />
|
|
76
|
+
<AccessFields<ReportIssue> choice={access.choice} />
|
|
77
|
+
</div>
|
|
78
|
+
</CommandDialog>
|
|
79
|
+
);
|
|
80
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
/**
|
|
5
|
+
* The most the backend accepts in one report, as `ReportLimits` in the Usher backend states it. What the application
|
|
6
|
+
* itself gathers - stack frames, correlation ids and the error's own texts - is cut to these before a report is sent,
|
|
7
|
+
* so a long stack trace never makes a report fail; what the reporter writes is checked by the generated validators.
|
|
8
|
+
*/
|
|
9
|
+
export enum ReportLimits {
|
|
10
|
+
/** The longest error message a report carries. */
|
|
11
|
+
errorMessageLength = 2000,
|
|
12
|
+
|
|
13
|
+
/** The longest error type a report carries. */
|
|
14
|
+
errorTypeLength = 500,
|
|
15
|
+
|
|
16
|
+
/** The most stack frames a report carries. */
|
|
17
|
+
stackFrames = 50,
|
|
18
|
+
|
|
19
|
+
/** The longest method or file of a stack frame. */
|
|
20
|
+
stackFrameTextLength = 1000,
|
|
21
|
+
|
|
22
|
+
/** The most correlation ids a report carries. */
|
|
23
|
+
correlationIds = 20
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
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 { Guid } from '@cratis/fundamentals';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* What a report dialog closes with once the report is sent.
|
|
8
|
+
*/
|
|
9
|
+
export interface ReportSent {
|
|
10
|
+
/** The issue the report opened. */
|
|
11
|
+
readonly issueId: Guid;
|
|
12
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 { format } from '../Labels/index.js';
|
|
5
|
+
import { useUsherContext } from '../Provider/UsherContext.js';
|
|
6
|
+
import { formatLocation, LocationParts } from './formatLocation.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Props for {@link SentWithReport}.
|
|
10
|
+
*/
|
|
11
|
+
export interface SentWithReportProps {
|
|
12
|
+
/** Where in the application the reporter was. */
|
|
13
|
+
location: LocationParts;
|
|
14
|
+
|
|
15
|
+
/** How many recent requests the report carries. */
|
|
16
|
+
correlationIdCount: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Shows the reporter what is sent along with their report: where they were, the application version and how many
|
|
21
|
+
* recent requests.
|
|
22
|
+
*/
|
|
23
|
+
export const SentWithReport = ({ location, correlationIdCount }: SentWithReportProps) => {
|
|
24
|
+
const { labels, applicationName, applicationVersion } = useUsherContext();
|
|
25
|
+
const parts = [
|
|
26
|
+
formatLocation(location, labels.common.locationSeparator, labels.common.unknownLocation),
|
|
27
|
+
[applicationName, applicationVersion].filter(part => part.length > 0).join(' '),
|
|
28
|
+
correlationIdCount === 1 ? labels.common.oneRecentRequest : format(labels.common.recentRequests, { count: correlationIdCount })
|
|
29
|
+
].filter(part => part.length > 0);
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<section className='usher-sent-with-report' aria-label={labels.common.sentWithYourReport}>
|
|
33
|
+
<span className='usher-sent-with-report__heading'>{labels.common.sentWithYourReport}</span>
|
|
34
|
+
<span className='usher-sent-with-report__parts'>{parts.join(' · ')}</span>
|
|
35
|
+
</section>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
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 { Guid } from '@cratis/fundamentals';
|
|
5
|
+
import { StackFrame } from '@cratis/showrunner.usher';
|
|
6
|
+
import { format } from '../Labels/index.js';
|
|
7
|
+
import { useUsherLabels } from '../Provider/UsherContext.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Props for {@link TechnicalDetails}.
|
|
11
|
+
*/
|
|
12
|
+
export interface TechnicalDetailsProps {
|
|
13
|
+
/** The type of the error; empty when not known. */
|
|
14
|
+
errorType: string;
|
|
15
|
+
|
|
16
|
+
/** The correlation ids sent with the report. */
|
|
17
|
+
correlationIds: Guid[];
|
|
18
|
+
|
|
19
|
+
/** The stack frames of the error, top frame first. */
|
|
20
|
+
stackFrames: StackFrame[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The technical details of an error, collapsed until the reporter opens them.
|
|
25
|
+
*/
|
|
26
|
+
export const TechnicalDetails = ({ errorType, correlationIds, stackFrames }: TechnicalDetailsProps) => {
|
|
27
|
+
const labels = useUsherLabels();
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<details className='usher-technical-details'>
|
|
31
|
+
<summary className='usher-technical-details__summary'>{labels.reportError.technicalDetails}</summary>
|
|
32
|
+
<dl className='usher-technical-details__list'>
|
|
33
|
+
{errorType.length > 0 && (
|
|
34
|
+
<>
|
|
35
|
+
<dt>{labels.reportError.errorType}</dt>
|
|
36
|
+
<dd><code>{errorType}</code></dd>
|
|
37
|
+
</>
|
|
38
|
+
)}
|
|
39
|
+
{correlationIds.length > 0 && (
|
|
40
|
+
<>
|
|
41
|
+
<dt>{labels.reportError.correlationId}</dt>
|
|
42
|
+
<dd><code>{correlationIds[0].toString()}</code></dd>
|
|
43
|
+
</>
|
|
44
|
+
)}
|
|
45
|
+
{stackFrames.length > 0 && (
|
|
46
|
+
<>
|
|
47
|
+
<dt>{labels.reportError.stackFrames}</dt>
|
|
48
|
+
<dd>
|
|
49
|
+
<ol className='usher-technical-details__frames'>
|
|
50
|
+
{stackFrames.map((frame, index) => (
|
|
51
|
+
<li key={index}><code>{format(labels.reportError.stackFrame, { method: frame.method, file: frame.file, line: frame.line })}</code></li>
|
|
52
|
+
))}
|
|
53
|
+
</ol>
|
|
54
|
+
</dd>
|
|
55
|
+
</>
|
|
56
|
+
)}
|
|
57
|
+
</dl>
|
|
58
|
+
</details>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
import { UsherLabels } from '../Labels/index.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* One choice of how long support may sign in as the reporter.
|
|
9
|
+
*/
|
|
10
|
+
export interface DurationOption {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
|
|
13
|
+
/** The {@link AccessDuration}. */
|
|
14
|
+
value: AccessDuration;
|
|
15
|
+
|
|
16
|
+
/** What the reporter sees. */
|
|
17
|
+
label: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Gets the choices of how long support may sign in as the reporter.
|
|
22
|
+
* @param labels The labels to show.
|
|
23
|
+
* @returns The {@link DurationOption} for every {@link AccessDuration}, shortest first.
|
|
24
|
+
*/
|
|
25
|
+
export function durationOptions(labels: UsherLabels): DurationOption[] {
|
|
26
|
+
return [
|
|
27
|
+
{ value: AccessDuration.oneHour, label: labels.access.oneHour },
|
|
28
|
+
{ value: AccessDuration.oneDay, label: labels.access.oneDay },
|
|
29
|
+
{ value: AccessDuration.sevenDays, label: labels.access.sevenDays }
|
|
30
|
+
];
|
|
31
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
/**
|
|
5
|
+
* The parts of where in the application something happened.
|
|
6
|
+
*/
|
|
7
|
+
export interface LocationParts {
|
|
8
|
+
/** The module. */
|
|
9
|
+
readonly module: string;
|
|
10
|
+
/** The feature within the module. */
|
|
11
|
+
readonly feature: string;
|
|
12
|
+
/** The slice within the feature. */
|
|
13
|
+
readonly slice: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Formats where in the application something happened for people, such as `Billing › Invoices › Pay`.
|
|
18
|
+
* @param location The location; parts that are empty are left out.
|
|
19
|
+
* @param separator What separates the parts.
|
|
20
|
+
* @param unknown What to show when no part is known.
|
|
21
|
+
* @returns The formatted location.
|
|
22
|
+
*/
|
|
23
|
+
export function formatLocation(location: LocationParts | undefined, separator: string, unknown: string): string {
|
|
24
|
+
const parts = [location?.module, location?.feature, location?.slice]
|
|
25
|
+
.filter((part): part is string => typeof part === 'string' && part.length > 0);
|
|
26
|
+
return parts.length > 0 ? parts.join(separator) : unknown;
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 './AccessChoice.js';
|
|
5
|
+
export * from './AccessFields.js';
|
|
6
|
+
export * from './AccessNotice.js';
|
|
7
|
+
export * from './durationOptions.js';
|
|
8
|
+
export * from './formatLocation.js';
|
|
9
|
+
export * from './ReportErrorDialog.js';
|
|
10
|
+
export * from './ReportIssueDialog.js';
|
|
11
|
+
export * from './ReportLimits.js';
|
|
12
|
+
export * from './ReportSent.js';
|
|
13
|
+
export * from './reportValues.js';
|
|
14
|
+
export * from './SentWithReport.js';
|
|
15
|
+
export * from './TechnicalDetails.js';
|
|
16
|
+
export * from './useAccessChoice.js';
|
|
@@ -0,0 +1,150 @@
|
|
|
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 { SliceLocation as ArcSliceLocation } from '@cratis/arc/reflection';
|
|
5
|
+
import { Guid } from '@cratis/fundamentals';
|
|
6
|
+
import { AccessDuration, ErrorDetails, errorDetailsFromError, IReportError, IReportIssue, SliceLocation, StackFrame } from '@cratis/showrunner.usher';
|
|
7
|
+
import { ReportLimits } from './ReportLimits.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* What every report carries besides what the reporter writes.
|
|
11
|
+
*/
|
|
12
|
+
export interface ReportContext {
|
|
13
|
+
/** The id of the new issue. */
|
|
14
|
+
readonly issueId: Guid;
|
|
15
|
+
|
|
16
|
+
/** Where in the application the reporter was. */
|
|
17
|
+
readonly location: ArcSliceLocation;
|
|
18
|
+
|
|
19
|
+
/** The correlation ids of the commands and queries run just before the report. */
|
|
20
|
+
readonly correlationIds: Guid[];
|
|
21
|
+
|
|
22
|
+
/** The version of the application. */
|
|
23
|
+
readonly applicationVersion: string;
|
|
24
|
+
|
|
25
|
+
/** Whether to let support know who the reporter is unless they choose otherwise. */
|
|
26
|
+
readonly shareIdentity: boolean;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Converts where something happened to the location a report carries.
|
|
31
|
+
* @param location The {@link ArcSliceLocation}, as `useSliceContext()` or a generated proxy gives it.
|
|
32
|
+
* @returns The {@link SliceLocation} of the report.
|
|
33
|
+
*/
|
|
34
|
+
export function toReportLocation(location: ArcSliceLocation): SliceLocation {
|
|
35
|
+
const reportLocation = new SliceLocation();
|
|
36
|
+
reportLocation.module = location.module;
|
|
37
|
+
reportLocation.feature = location.feature;
|
|
38
|
+
reportLocation.slice = location.slice;
|
|
39
|
+
return reportLocation;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Gets the initial values of the report a problem command.
|
|
44
|
+
* @param context The {@link ReportContext}.
|
|
45
|
+
* @returns The values.
|
|
46
|
+
*/
|
|
47
|
+
export function reportIssueValues(context: ReportContext): IReportIssue {
|
|
48
|
+
return {
|
|
49
|
+
issueId: context.issueId,
|
|
50
|
+
summary: '',
|
|
51
|
+
description: '',
|
|
52
|
+
location: toReportLocation(context.location),
|
|
53
|
+
correlationIds: context.correlationIds.slice(-ReportLimits.correlationIds),
|
|
54
|
+
applicationVersion: context.applicationVersion,
|
|
55
|
+
shareIdentity: context.shareIdentity,
|
|
56
|
+
grantAccess: false,
|
|
57
|
+
accessDuration: AccessDuration.oneDay
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Gets the initial values of the report this error command. The error's own location and correlation ids win over
|
|
63
|
+
* those of the context, as they say where the error happened.
|
|
64
|
+
* @param error The {@link ErrorDetails}.
|
|
65
|
+
* @param context The {@link ReportContext}.
|
|
66
|
+
* @returns The values.
|
|
67
|
+
*/
|
|
68
|
+
export function reportErrorValues(error: ErrorDetails, context: ReportContext): IReportError {
|
|
69
|
+
return {
|
|
70
|
+
issueId: context.issueId,
|
|
71
|
+
errorMessage: error.message.slice(0, ReportLimits.errorMessageLength),
|
|
72
|
+
errorType: error.type.slice(0, ReportLimits.errorTypeLength),
|
|
73
|
+
stackFrames: error.stackFrames.slice(0, ReportLimits.stackFrames).map(withinLimits),
|
|
74
|
+
details: '',
|
|
75
|
+
location: toReportLocation(isEmptyLocation(error.location) ? context.location : error.location),
|
|
76
|
+
correlationIds: mergeCorrelationIds(error.correlationIds, context.correlationIds).slice(0, ReportLimits.correlationIds),
|
|
77
|
+
applicationVersion: context.applicationVersion,
|
|
78
|
+
shareIdentity: context.shareIdentity,
|
|
79
|
+
grantAccess: false,
|
|
80
|
+
accessDuration: AccessDuration.oneDay
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Merges correlation ids, keeping each once, the first given first.
|
|
86
|
+
* @param first The correlation ids that come first.
|
|
87
|
+
* @param second The correlation ids that come after.
|
|
88
|
+
* @returns The merged correlation ids.
|
|
89
|
+
*/
|
|
90
|
+
export function mergeCorrelationIds(first: Guid[], second: Guid[]): Guid[] {
|
|
91
|
+
const merged: Guid[] = [];
|
|
92
|
+
for (const correlationId of [...first, ...second]) {
|
|
93
|
+
if (!merged.some(existing => existing.equals(correlationId))) {
|
|
94
|
+
merged.push(correlationId);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return merged;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Gets the {@link ErrorDetails} of an error to report: the details themselves when given, otherwise the details of
|
|
102
|
+
* what was thrown.
|
|
103
|
+
* @param error `ErrorDetails`, or anything thrown.
|
|
104
|
+
* @param location Where it happened, when what was thrown does not say.
|
|
105
|
+
* @returns The {@link ErrorDetails}.
|
|
106
|
+
*/
|
|
107
|
+
export function toErrorDetails(error: unknown, location?: ArcSliceLocation): ErrorDetails {
|
|
108
|
+
return isErrorDetails(error) ? error : errorDetailsFromError(error, location);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Checks whether a value is {@link ErrorDetails}.
|
|
113
|
+
* @param value The value.
|
|
114
|
+
* @returns True when it is.
|
|
115
|
+
*/
|
|
116
|
+
export function isErrorDetails(value: unknown): value is ErrorDetails {
|
|
117
|
+
if (typeof value !== 'object' || value === null || value instanceof Error) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const candidate = value as Record<string, unknown>;
|
|
122
|
+
return typeof candidate.message === 'string'
|
|
123
|
+
&& typeof candidate.type === 'string'
|
|
124
|
+
&& Array.isArray(candidate.correlationIds)
|
|
125
|
+
&& Array.isArray(candidate.stackFrames)
|
|
126
|
+
&& typeof candidate.location === 'object'
|
|
127
|
+
&& candidate.location !== null;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Checks whether a location says nothing about where something happened.
|
|
132
|
+
* @param location The location.
|
|
133
|
+
* @returns True when no part of it is known.
|
|
134
|
+
*/
|
|
135
|
+
export function isEmptyLocation(location: { module: string; feature: string; slice: string } | undefined): boolean {
|
|
136
|
+
return !location || [location.module, location.feature, location.slice].every(part => !part);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Cuts the texts of a stack frame to what a report carries.
|
|
141
|
+
* @param frame The {@link StackFrame}.
|
|
142
|
+
* @returns The frame within the limits.
|
|
143
|
+
*/
|
|
144
|
+
function withinLimits(frame: StackFrame): StackFrame {
|
|
145
|
+
return {
|
|
146
|
+
...frame,
|
|
147
|
+
method: frame.method.slice(0, ReportLimits.stackFrameTextLength),
|
|
148
|
+
file: frame.file.slice(0, ReportLimits.stackFrameTextLength)
|
|
149
|
+
};
|
|
150
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 { useMemo, useReducer } from 'react';
|
|
5
|
+
import { AccessChoice, changeAccessChoice, initialAccessChoice, sharesIdentity } from './AccessChoice.js';
|
|
6
|
+
|
|
7
|
+
interface FieldChanged {
|
|
8
|
+
readonly fieldName: string;
|
|
9
|
+
readonly value: unknown;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const reduce = (choice: AccessChoice, change: FieldChanged) => changeAccessChoice(choice, change.fieldName, change.value);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* What {@link useAccessChoice} gives a command form.
|
|
16
|
+
*/
|
|
17
|
+
export interface AccessChoiceBinding {
|
|
18
|
+
/** The reporter's {@link AccessChoice}. */
|
|
19
|
+
readonly choice: AccessChoice;
|
|
20
|
+
|
|
21
|
+
/** The handler for the form's `onFieldChange`. */
|
|
22
|
+
readonly onFieldChange: (command: unknown, fieldName: string, oldValue: unknown, newValue: unknown) => void;
|
|
23
|
+
|
|
24
|
+
/** The form's `currentValues`, which force sharing who the reporter is while access is granted. */
|
|
25
|
+
readonly currentValues: { shareIdentity: boolean };
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Gets the form's `initialValues` without `shareIdentity`: the form merges `initialValues` over `currentValues`, so
|
|
29
|
+
* a `shareIdentity` there would win over the value the access choice forces.
|
|
30
|
+
* @param values The initial values of the command.
|
|
31
|
+
* @returns The values without `shareIdentity`.
|
|
32
|
+
*/
|
|
33
|
+
readonly initialValues: <TValues extends { shareIdentity?: boolean }>(values: TValues) => Omit<TValues, 'shareIdentity'>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const withoutShareIdentity = <TValues extends { shareIdentity?: boolean }>(values: TValues): Omit<TValues, 'shareIdentity'> => {
|
|
37
|
+
const seed: Partial<TValues> = { ...values };
|
|
38
|
+
delete seed.shareIdentity;
|
|
39
|
+
return seed as Omit<TValues, 'shareIdentity'>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Follows the reporter's access choice in a command form with `shareIdentity`, `grantAccess` and `accessDuration`.
|
|
44
|
+
* @param shareIdentityByDefault Whether to let support know who the reporter is unless they choose otherwise.
|
|
45
|
+
* @returns The {@link AccessChoiceBinding}.
|
|
46
|
+
*/
|
|
47
|
+
export function useAccessChoice(shareIdentityByDefault: boolean): AccessChoiceBinding {
|
|
48
|
+
const [choice, dispatch] = useReducer(reduce, shareIdentityByDefault, initialAccessChoice);
|
|
49
|
+
const shareIdentity = sharesIdentity(choice);
|
|
50
|
+
const currentValues = useMemo(() => ({ shareIdentity }), [shareIdentity]);
|
|
51
|
+
const onFieldChange = (_command: unknown, fieldName: string, _oldValue: unknown, newValue: unknown) => dispatch({ fieldName, value: newValue });
|
|
52
|
+
return { choice, onFieldChange, currentValues, initialValues: withoutShareIdentity };
|
|
53
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useUsher } from '../Provider/useUsher.js';
|
|
2
|
+
import { UsherButtonSize } from './buttonModels.js';
|
|
3
|
+
export interface MyIssuesButtonProps {
|
|
4
|
+
size?: UsherButtonSize;
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const MyIssuesButton: (props: MyIssuesButtonProps) => import("react").JSX.Element;
|
|
8
|
+
export interface MyIssuesButtonViewProps extends MyIssuesButtonProps {
|
|
9
|
+
waiting: number;
|
|
10
|
+
labels: ReturnType<typeof useUsher>['labels'];
|
|
11
|
+
onOpen: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const MyIssuesButtonView: ({ size, className, waiting, labels, onOpen }: MyIssuesButtonViewProps) => import("react").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=MyIssuesButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MyIssuesButton.d.ts","sourceRoot":"","sources":["../../../Buttons/MyIssuesButton.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAuB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzE,MAAM,WAAW,mBAAmB;IAEhC,IAAI,CAAC,EAAE,eAAe,CAAC;IAGvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,gCAQxD,CAAC;AAYF,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAEhE,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAG9C,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAKD,eAAO,MAAM,kBAAkB,GAAI,8CAAwD,uBAAuB,gCAgBjH,CAAC"}
|