codicent-app-sdk 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/AiInput.js +1 -1
- package/dist/cjs/components/AudioIcon.js +1 -1
- package/dist/cjs/components/ChatInput.js +1 -1
- package/dist/cjs/components/ChatMessage.js +1 -1
- package/dist/cjs/components/CombinedPlaceholderDialog.js +1 -1
- package/dist/cjs/components/Footer.js +1 -1
- package/dist/cjs/components/Header.js +1 -1
- package/dist/cjs/components/HtmlView.js +1 -1
- package/dist/cjs/components/MessageInput.js +1 -1
- package/dist/cjs/components/MessageItem.js +1 -1
- package/dist/cjs/components/Profile.js +1 -1
- package/dist/cjs/components/Prompt.js +1 -1
- package/dist/cjs/components/SnapFooter.js +1 -1
- package/dist/cjs/components/TextHeader.js +1 -1
- package/dist/cjs/components/TypingIndicator.js +1 -1
- package/dist/cjs/components/UploadFile.js +1 -1
- package/dist/cjs/components/UrlProcessor.js +1 -1
- package/dist/cjs/components/VoiceIcon.js +1 -1
- package/dist/cjs/components/audit/AuditAnswerCell.d.ts +15 -0
- package/dist/cjs/components/audit/AuditAnswerCell.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditAnswerCell.js +1 -0
- package/dist/cjs/components/audit/AuditBulkExportDialog.d.ts +16 -0
- package/dist/cjs/components/audit/AuditBulkExportDialog.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditBulkExportDialog.js +1 -0
- package/dist/cjs/components/audit/AuditBulkUploadDialog.d.ts +15 -0
- package/dist/cjs/components/audit/AuditBulkUploadDialog.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditBulkUploadDialog.js +1 -0
- package/dist/cjs/components/audit/AuditCircularProgress.d.ts +15 -0
- package/dist/cjs/components/audit/AuditCircularProgress.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditCircularProgress.js +1 -0
- package/dist/cjs/components/audit/AuditFilterBar.d.ts +15 -0
- package/dist/cjs/components/audit/AuditFilterBar.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditFilterBar.js +1 -0
- package/dist/cjs/components/audit/AuditFilterChips.d.ts +17 -0
- package/dist/cjs/components/audit/AuditFilterChips.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditFilterChips.js +1 -0
- package/dist/cjs/components/audit/AuditGroupsProgress.d.ts +12 -0
- package/dist/cjs/components/audit/AuditGroupsProgress.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditGroupsProgress.js +1 -0
- package/dist/cjs/components/audit/AuditHorizontalProgress.d.ts +16 -0
- package/dist/cjs/components/audit/AuditHorizontalProgress.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditHorizontalProgress.js +1 -0
- package/dist/cjs/components/audit/AuditRequirementDialog.d.ts +16 -0
- package/dist/cjs/components/audit/AuditRequirementDialog.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditRequirementDialog.js +1 -0
- package/dist/cjs/components/audit/AuditRoleIndicator.d.ts +13 -0
- package/dist/cjs/components/audit/AuditRoleIndicator.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditRoleIndicator.js +1 -0
- package/dist/cjs/components/audit/AuditSearchBar.d.ts +13 -0
- package/dist/cjs/components/audit/AuditSearchBar.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditSearchBar.js +1 -0
- package/dist/cjs/components/audit/AuditSortPresets.d.ts +12 -0
- package/dist/cjs/components/audit/AuditSortPresets.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditSortPresets.js +1 -0
- package/dist/cjs/components/audit/AuditSummaryDashboard.d.ts +13 -0
- package/dist/cjs/components/audit/AuditSummaryDashboard.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditSummaryDashboard.js +1 -0
- package/dist/cjs/components/audit/AuditUnitExportDialog.d.ts +18 -0
- package/dist/cjs/components/audit/AuditUnitExportDialog.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditUnitExportDialog.js +1 -0
- package/dist/cjs/components/audit/AuditUnitImportDialog.d.ts +13 -0
- package/dist/cjs/components/audit/AuditUnitImportDialog.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditUnitImportDialog.js +1 -0
- package/dist/cjs/components/audit/AuditUnitSwitcher.d.ts +20 -0
- package/dist/cjs/components/audit/AuditUnitSwitcher.d.ts.map +1 -0
- package/dist/cjs/components/audit/AuditUnitSwitcher.js +1 -0
- package/dist/cjs/components/audit/index.d.ts +20 -0
- package/dist/cjs/components/audit/index.d.ts.map +1 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.d.ts +12 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/useAuditFilters.d.ts +17 -0
- package/dist/cjs/hooks/useAuditFilters.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuditFilters.js +1 -0
- package/dist/cjs/hooks/useAuditManagerData.d.ts +25 -0
- package/dist/cjs/hooks/useAuditManagerData.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuditManagerData.js +1 -0
- package/dist/cjs/hooks/useAuditManagerFilters.d.ts +16 -0
- package/dist/cjs/hooks/useAuditManagerFilters.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuditManagerFilters.js +1 -0
- package/dist/cjs/hooks/useAuditRequirementsFilters.d.ts +17 -0
- package/dist/cjs/hooks/useAuditRequirementsFilters.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuditRequirementsFilters.js +1 -0
- package/dist/cjs/hooks/useAuditRoleCheck.d.ts +26 -0
- package/dist/cjs/hooks/useAuditRoleCheck.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuditRoleCheck.js +1 -0
- package/dist/cjs/hooks/useAuditState.d.ts +34 -0
- package/dist/cjs/hooks/useAuditState.d.ts.map +1 -0
- package/dist/cjs/hooks/useAuditState.js +1 -0
- package/dist/cjs/hooks/useAuthState.js +1 -1
- package/dist/cjs/hooks/useCodicentState.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/pages/AppFrame.js +1 -1
- package/dist/cjs/pages/Chat.js +1 -1
- package/dist/cjs/pages/Compose.js +1 -1
- package/dist/cjs/pages/CrmPage.js +1 -1
- package/dist/cjs/pages/CrmPagePersistent.js +1 -1
- package/dist/cjs/pages/FormAccept.js +1 -1
- package/dist/cjs/pages/FormInvite.js +1 -1
- package/dist/cjs/pages/Home.js +1 -1
- package/dist/cjs/pages/HtmlViewer.js +1 -1
- package/dist/cjs/pages/ListPage.js +1 -1
- package/dist/cjs/pages/Login.js +1 -1
- package/dist/cjs/pages/Menu.js +1 -1
- package/dist/cjs/pages/Purchase.js +1 -1
- package/dist/cjs/pages/Sales.js +1 -1
- package/dist/cjs/pages/Search.js +1 -1
- package/dist/cjs/pages/Snap.js +1 -1
- package/dist/cjs/types/audit.d.ts +358 -0
- package/dist/cjs/types/audit.d.ts.map +1 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/auditExport.d.ts +37 -0
- package/dist/cjs/utils/auditExport.d.ts.map +1 -0
- package/dist/cjs/utils/auditExport.js +1 -0
- package/dist/cjs/utils/auditUtils.d.ts +59 -0
- package/dist/cjs/utils/auditUtils.d.ts.map +1 -0
- package/dist/cjs/utils/auditUtils.js +1 -0
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/esm/components/AiInput.js +1 -1
- package/dist/esm/components/AudioIcon.js +1 -1
- package/dist/esm/components/ChatInput.js +1 -1
- package/dist/esm/components/ChatMessage.js +1 -1
- package/dist/esm/components/CombinedPlaceholderDialog.js +1 -1
- package/dist/esm/components/Footer.js +1 -1
- package/dist/esm/components/Header.js +1 -1
- package/dist/esm/components/HtmlView.js +1 -1
- package/dist/esm/components/MessageInput.js +1 -1
- package/dist/esm/components/MessageItem.js +1 -1
- package/dist/esm/components/Profile.js +1 -1
- package/dist/esm/components/Prompt.js +1 -1
- package/dist/esm/components/SnapFooter.js +1 -1
- package/dist/esm/components/TextHeader.js +1 -1
- package/dist/esm/components/TypingIndicator.js +1 -1
- package/dist/esm/components/UploadFile.js +1 -1
- package/dist/esm/components/UrlProcessor.js +1 -1
- package/dist/esm/components/VoiceIcon.js +1 -1
- package/dist/esm/components/audit/AuditAnswerCell.d.ts +15 -0
- package/dist/esm/components/audit/AuditAnswerCell.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditAnswerCell.js +1 -0
- package/dist/esm/components/audit/AuditBulkExportDialog.d.ts +16 -0
- package/dist/esm/components/audit/AuditBulkExportDialog.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditBulkExportDialog.js +1 -0
- package/dist/esm/components/audit/AuditBulkUploadDialog.d.ts +15 -0
- package/dist/esm/components/audit/AuditBulkUploadDialog.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditBulkUploadDialog.js +1 -0
- package/dist/esm/components/audit/AuditCircularProgress.d.ts +15 -0
- package/dist/esm/components/audit/AuditCircularProgress.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditCircularProgress.js +1 -0
- package/dist/esm/components/audit/AuditFilterBar.d.ts +15 -0
- package/dist/esm/components/audit/AuditFilterBar.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditFilterBar.js +1 -0
- package/dist/esm/components/audit/AuditFilterChips.d.ts +17 -0
- package/dist/esm/components/audit/AuditFilterChips.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditFilterChips.js +1 -0
- package/dist/esm/components/audit/AuditGroupsProgress.d.ts +12 -0
- package/dist/esm/components/audit/AuditGroupsProgress.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditGroupsProgress.js +1 -0
- package/dist/esm/components/audit/AuditHorizontalProgress.d.ts +16 -0
- package/dist/esm/components/audit/AuditHorizontalProgress.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditHorizontalProgress.js +1 -0
- package/dist/esm/components/audit/AuditRequirementDialog.d.ts +16 -0
- package/dist/esm/components/audit/AuditRequirementDialog.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditRequirementDialog.js +1 -0
- package/dist/esm/components/audit/AuditRoleIndicator.d.ts +13 -0
- package/dist/esm/components/audit/AuditRoleIndicator.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditRoleIndicator.js +1 -0
- package/dist/esm/components/audit/AuditSearchBar.d.ts +13 -0
- package/dist/esm/components/audit/AuditSearchBar.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditSearchBar.js +1 -0
- package/dist/esm/components/audit/AuditSortPresets.d.ts +12 -0
- package/dist/esm/components/audit/AuditSortPresets.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditSortPresets.js +1 -0
- package/dist/esm/components/audit/AuditSummaryDashboard.d.ts +13 -0
- package/dist/esm/components/audit/AuditSummaryDashboard.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditSummaryDashboard.js +1 -0
- package/dist/esm/components/audit/AuditUnitExportDialog.d.ts +18 -0
- package/dist/esm/components/audit/AuditUnitExportDialog.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditUnitExportDialog.js +1 -0
- package/dist/esm/components/audit/AuditUnitImportDialog.d.ts +13 -0
- package/dist/esm/components/audit/AuditUnitImportDialog.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditUnitImportDialog.js +1 -0
- package/dist/esm/components/audit/AuditUnitSwitcher.d.ts +20 -0
- package/dist/esm/components/audit/AuditUnitSwitcher.d.ts.map +1 -0
- package/dist/esm/components/audit/AuditUnitSwitcher.js +1 -0
- package/dist/esm/components/audit/index.d.ts +20 -0
- package/dist/esm/components/audit/index.d.ts.map +1 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.d.ts +12 -0
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/useAuditFilters.d.ts +17 -0
- package/dist/esm/hooks/useAuditFilters.d.ts.map +1 -0
- package/dist/esm/hooks/useAuditFilters.js +1 -0
- package/dist/esm/hooks/useAuditManagerData.d.ts +25 -0
- package/dist/esm/hooks/useAuditManagerData.d.ts.map +1 -0
- package/dist/esm/hooks/useAuditManagerData.js +1 -0
- package/dist/esm/hooks/useAuditManagerFilters.d.ts +16 -0
- package/dist/esm/hooks/useAuditManagerFilters.d.ts.map +1 -0
- package/dist/esm/hooks/useAuditManagerFilters.js +1 -0
- package/dist/esm/hooks/useAuditRequirementsFilters.d.ts +17 -0
- package/dist/esm/hooks/useAuditRequirementsFilters.d.ts.map +1 -0
- package/dist/esm/hooks/useAuditRequirementsFilters.js +1 -0
- package/dist/esm/hooks/useAuditRoleCheck.d.ts +26 -0
- package/dist/esm/hooks/useAuditRoleCheck.d.ts.map +1 -0
- package/dist/esm/hooks/useAuditRoleCheck.js +1 -0
- package/dist/esm/hooks/useAuditState.d.ts +34 -0
- package/dist/esm/hooks/useAuditState.d.ts.map +1 -0
- package/dist/esm/hooks/useAuditState.js +1 -0
- package/dist/esm/hooks/useAuthState.js +1 -1
- package/dist/esm/hooks/useCodicentState.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/pages/AppFrame.js +1 -1
- package/dist/esm/pages/Chat.js +1 -1
- package/dist/esm/pages/Compose.js +1 -1
- package/dist/esm/pages/CrmPage.js +1 -1
- package/dist/esm/pages/CrmPagePersistent.js +1 -1
- package/dist/esm/pages/FormAccept.js +1 -1
- package/dist/esm/pages/FormInvite.js +1 -1
- package/dist/esm/pages/Home.js +1 -1
- package/dist/esm/pages/HtmlViewer.js +1 -1
- package/dist/esm/pages/ListPage.js +1 -1
- package/dist/esm/pages/Login.js +1 -1
- package/dist/esm/pages/Menu.js +1 -1
- package/dist/esm/pages/Purchase.js +1 -1
- package/dist/esm/pages/Sales.js +1 -1
- package/dist/esm/pages/Search.js +1 -1
- package/dist/esm/pages/Snap.js +1 -1
- package/dist/esm/types/audit.d.ts +358 -0
- package/dist/esm/types/audit.d.ts.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/auditExport.d.ts +37 -0
- package/dist/esm/utils/auditExport.d.ts.map +1 -0
- package/dist/esm/utils/auditExport.js +1 -0
- package/dist/esm/utils/auditUtils.d.ts +59 -0
- package/dist/esm/utils/auditUtils.d.ts.map +1 -0
- package/dist/esm/utils/auditUtils.js +1 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/index.d.ts +799 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),i=require("@fluentui/react-components");require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var s=require("../utils/device.js");require("exceljs"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var a=require("./Spinner.js");require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("@fluentui/react-icons"),require("../services/codicent.js"),require("../pages/AppFrame.js"),require("../pages/Canvas.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Menu.js"),require("../pages/Log.js"),require("../pages/Login.js"),require("../pages/Home.js"),require("../pages/ListPage.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("react-router-dom"),require("../pages/Purchase.js"),require("./Content.js"),require("./Page.js"),require("../pages/QrScan.js"),require("../hooks/useLocalization.js"),require("./FileThumbnail.js"),require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js"),require("./MessageInput.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./DataMessagePicker.js"),require("./HtmlView.js"),require("./Footer.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("./CookieBanner.js"),require("./audit/AuditCircularProgress.js"),require("./audit/AuditHorizontalProgress.js"),require("./audit/AuditRoleIndicator.js"),require("./audit/AuditUnitSwitcher.js"),require("./audit/AuditAnswerCell.js"),require("./audit/AuditSearchBar.js"),require("./audit/AuditFilterChips.js"),require("./audit/AuditFilterBar.js"),require("./audit/AuditGroupsProgress.js"),require("./audit/AuditSummaryDashboard.js"),require("./audit/AuditRequirementDialog.js"),require("./audit/AuditUnitExportDialog.js"),require("./audit/AuditUnitImportDialog.js"),require("./audit/AuditBulkExportDialog.js"),require("./audit/AuditBulkUploadDialog.js"),require("./audit/AuditSortPresets.js");const u=i.makeStyles({imageUpload:{display:"none"},spinner:{marginTop:"10px"}}),t=r.forwardRef((({onFileUploaded:i,accept:t,capture:o,multiple:l=!1,onUploading:n,className:q,id:j,codicentService:d},c)=>{const p=u(),[g,m]=r.useState(!1),f=r.useRef(null);r.useEffect((()=>{n(g)}),[g,n]);const h=async(e,r)=>{const i=new FormData;i.append("file",r),m(!0);try{const r=await d.uploadFile(e,i);return m(!1),r}catch(r){return console.error("Upload failed for file:",e,r),m(!1),null}},A=()=>{f.current?.click()};r.useImperativeHandle(c,(()=>({triggerUpload:A})));const v=o&&s.isMobileDevice();return e.jsx("div",{id:j,className:q,children:g?e.jsx(a.Spinner,{"aria-label":"Uploading...",className:p.spinner}):e.jsx("input",{ref:f,type:"file",className:p.imageUpload,onChange:async()=>{try{const e=f.current;if(e&&e.files){const r=[];for(let i=0;i<e.files.length;i++){const s=e.files[i],a=s.name.split("\\").pop()||s.name,u=await h(a,s);u&&r.push(u)}r.length>0&&i(r)}}catch(e){console.error("Error uploading files:",e)}},accept:t,multiple:l,...v?{capture:o}:{}})})}));exports.default=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),i=require("./CombinedPlaceholderDialog.js");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("@fluentui/react-components"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./ChatMessage.js"),require("./Header.js"),require("@fluentui/react-icons"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("exceljs"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./DataMessagePicker.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("../hooks/useLocalization.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("./CookieBanner.js"),require("./audit/AuditCircularProgress.js"),require("./audit/AuditHorizontalProgress.js"),require("./audit/AuditRoleIndicator.js"),require("./audit/AuditUnitSwitcher.js"),require("./audit/AuditAnswerCell.js"),require("./audit/AuditSearchBar.js"),require("./audit/AuditFilterChips.js"),require("./audit/AuditFilterBar.js"),require("./audit/AuditGroupsProgress.js"),require("./audit/AuditSummaryDashboard.js"),require("./audit/AuditRequirementDialog.js"),require("./audit/AuditUnitExportDialog.js"),require("./audit/AuditUnitImportDialog.js"),require("./audit/AuditBulkExportDialog.js"),require("./audit/AuditBulkUploadDialog.js"),require("./audit/AuditSortPresets.js"),require("../pages/AppFrame.js"),require("../pages/Canvas.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Menu.js"),require("../pages/Log.js"),require("../pages/Login.js"),require("../pages/Home.js"),require("../pages/ListPage.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("react-router-dom"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js");var s=require("../hooks/useTemplateVariables.js");require("../hooks/useAppStyles.js");const a=({service:a,children:u})=>{const[t,l]=r.useState(!1),[o,n]=r.useState([]),[q,j]=r.useState([]),[d,c]=r.useState(null),{extractTemplateVariables:p,extractFilePlaceholders:g,replaceTemplateVariables:h,replaceFilePlaceholders:m}=s.useTemplateVariables(a.uploadFile);return e.jsxs(e.Fragment,{children:[u((async e=>{c(e);const r=g(e),i=p(e);0!==r.length||0!==i.length?(j(r),n(i),l(!0)):window.location.href=e})),e.jsx(i.CombinedPlaceholderDialog,{open:t,templateVariables:o,filePlaceholders:q,onTemplateVariablesChange:n,onFilePlaceholdersChange:j,onConfirm:async()=>{if(d)try{let e=d;if(q.length>0){q.filter((e=>e.fileId)).length!==q.length&&console.warn("Some file placeholders are missing fileIds:",q.filter((e=>!e.fileId)).map((e=>e.description))),e=m(e,q)}o.length>0&&(e=h(e,o)),l(!1),window.location.href=e}catch(e){console.error("Failed to process URL:",e)}finally{c(null)}},onCancel:()=>{l(!1),c(null),n([]),j([])},uploadFile:a.uploadFile})]})};exports.UrlProcessor=a,exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),i=require("@fluentui/react-icons");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("@fluentui/react-components"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js");var s=require("../utils/withWakeLock.js");require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("exceljs"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./DataMessagePicker.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("../hooks/useLocalization.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("./CookieBanner.js"),require("./audit/AuditCircularProgress.js"),require("./audit/AuditHorizontalProgress.js"),require("./audit/AuditRoleIndicator.js"),require("./audit/AuditUnitSwitcher.js"),require("./audit/AuditAnswerCell.js"),require("./audit/AuditSearchBar.js"),require("./audit/AuditFilterChips.js"),require("./audit/AuditFilterBar.js"),require("./audit/AuditGroupsProgress.js"),require("./audit/AuditSummaryDashboard.js"),require("./audit/AuditRequirementDialog.js"),require("./audit/AuditUnitExportDialog.js"),require("./audit/AuditUnitImportDialog.js"),require("./audit/AuditBulkExportDialog.js"),require("./audit/AuditBulkUploadDialog.js"),require("./audit/AuditSortPresets.js"),require("../pages/AppFrame.js"),require("../pages/Canvas.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Menu.js"),require("../pages/Log.js"),require("../pages/Login.js"),require("../pages/Home.js"),require("../pages/ListPage.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("react-router-dom"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js");var u=require("../hooks/useAppStyles.js");const a=s.default(i.MicSparkle24Filled);exports.default=({voice:t,disabled:o,instructions:n,connectedIcon:j,disconnectedIcon:q,disabledIcon:l})=>{const{isConnected:d,connectConversation:c,disconnectConversation:p,updateInstructions:g}=t,{pointer:m}=u.default(),A=r.useMemo((()=>j?s.default(j):a),[j]),C=q||i.MicSparkle24Regular,h=async()=>{n&&g(n),await c()};if(o){if(null==l)return e.jsx(i.MicSparkle24Regular,{});if("function"==typeof l){const r=l;return e.jsx(r,{})}return e.jsx(e.Fragment,{children:l})}return d?e.jsx(A,{onClick:p,className:m}):e.jsx(C,{onClick:h,className:m})};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline cell component for rendering and editing an audit answer.
|
|
3
|
+
* Supports both "checkbox" mode (toggle) and "enum" mode (dropdown select).
|
|
4
|
+
*/
|
|
5
|
+
import React from "react";
|
|
6
|
+
import type { AuditAnswer, ResolvedAuditConfig } from "../../types/audit";
|
|
7
|
+
interface AuditAnswerCellProps {
|
|
8
|
+
answer: AuditAnswer;
|
|
9
|
+
config: ResolvedAuditConfig;
|
|
10
|
+
readonly?: boolean;
|
|
11
|
+
onUpdate?: (requirementId: string, newAnswer: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const AuditAnswerCell: React.FC<AuditAnswerCellProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=AuditAnswerCell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditAnswerCell.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditAnswerCell.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAsB,MAAM,OAAO,CAAC;AAQ3C,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E,UAAU,oBAAoB;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAqBD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsF1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),l=require("react"),i=require("@fluentui/react-components"),n=require("../../utils/auditUtils.js");const t=i.makeStyles({cell:{display:"flex",flexDirection:"column",gap:"4px"},expiryBadge:{display:"inline-block",fontSize:i.tokens.fontSizeBase100,fontWeight:i.tokens.fontWeightSemibold,padding:"2px 6px",borderRadius:i.tokens.borderRadiusMedium,whiteSpace:"nowrap"},select:{minWidth:"130px"}});exports.AuditAnswerCell=({answer:a,config:r,readonly:s=!1,onUpdate:o})=>{const d=t(),c=n.getEffectiveAnswerOptions(r),u=l.useCallback(((e,l)=>{if(s||!o)return;const i=!0===l.checked?"yes":"";o(a.requirementId,i)}),[a.requirementId,s,o]),p=l.useCallback((e=>{!s&&o&&o(a.requirementId,e.target.value)}),[a.requirementId,s,o]),m=n.calculateAuditTimeRemaining(a.validUntil),x=m?n.getAuditUrgencyColor(m):null,h="checkbox"===r.answerMode?e.jsx(i.Checkbox,{checked:n.isAnswerCompliant(a.answer,r),onChange:u,disabled:s,label:""}):e.jsxs(i.Select,{className:d.select,value:a.answer??"",onChange:p,disabled:s,size:"small",children:[e.jsx("option",{value:"",children:"—"}),c.map((l=>e.jsx("option",{value:l.value,children:l.label},l.value)))]}),g=x&&a.validUntil?e.jsx(i.Tooltip,{content:`Valid until: ${new Date(a.validUntil).toLocaleDateString()}`,relationship:"label",children:e.jsx("span",{className:d.expiryBadge,style:{backgroundColor:x.background,color:x.text,border:`1px solid ${x.border}`},children:m?.isExpired?"EXPIRED":m?.isUrgent?`${m.days}d`:null!=m?.months&&m.months<=6?`${m.months}mo`:null})}):null;return e.jsxs("div",{className:d.cell,children:[h,g]})};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialog to bulk-export audit packages for multiple units from the manager view.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditUnitStats, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditBulkExportDialogProps {
|
|
7
|
+
open: boolean;
|
|
8
|
+
units: AuditUnitStats[];
|
|
9
|
+
config: ResolvedAuditConfig;
|
|
10
|
+
onDismiss: () => void;
|
|
11
|
+
/** Called with selected unitIds and format */
|
|
12
|
+
onExport: (unitIds: string[], format: "json" | "html") => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare const AuditBulkExportDialog: React.FC<AuditBulkExportDialogProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=AuditBulkExportDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditBulkExportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditBulkExportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAkBxC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAqBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA8FtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),n=require("react"),t=require("@fluentui/react-components");const i=t.makeStyles({unitList:{display:"flex",flexDirection:"column",gap:"4px",maxHeight:"240px",overflowY:"auto",padding:`${t.tokens.spacingVerticalXS} 0`},formatGroup:{marginTop:t.tokens.spacingVerticalS},selectionActions:{display:"flex",gap:t.tokens.spacingHorizontalS,marginBottom:t.tokens.spacingVerticalXS}});exports.AuditBulkExportDialog=({open:a,units:s,config:l,onDismiss:o,onExport:r})=>{const c=i(),[d,u]=n.useState(new Set(s.map((e=>e.unitId)))),[p,x]=n.useState("html"),[m,g]=n.useState(!1);return e.jsx(t.Dialog,{open:a,onOpenChange:(e,n)=>{n.open||o()},children:e.jsx(t.DialogSurface,{style:{maxWidth:"480px"},children:e.jsxs(t.DialogBody,{children:[e.jsx(t.DialogTitle,{children:"Bulk Export Audits"}),e.jsxs(t.DialogContent,{children:[e.jsxs("div",{className:c.selectionActions,children:[e.jsx(t.Button,{size:"small",appearance:"subtle",onClick:()=>u(new Set(s.map((e=>e.unitId)))),children:"Select all"}),e.jsx(t.Button,{size:"small",appearance:"subtle",onClick:()=>u(new Set),children:"Deselect all"})]}),e.jsxs(t.Text,{size:200,style:{color:t.tokens.colorNeutralForeground2},children:[d.size," of ",s.length," ",l.terminology.unit.toLowerCase(),"s selected"]}),e.jsx("div",{className:c.unitList,children:s.map((n=>e.jsx(t.Checkbox,{label:`${n.unitName}${n.marketArea?` (${n.marketArea})`:""}`,checked:d.has(n.unitId),onChange:()=>{return e=n.unitId,u((n=>{const t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t}));var e}},n.unitId)))}),e.jsx(t.Divider,{style:{margin:`${t.tokens.spacingVerticalS} 0`}}),e.jsxs(t.RadioGroup,{className:c.formatGroup,value:p,onChange:(e,n)=>x(n.value),children:[e.jsx(t.Radio,{value:"html",label:"Offline HTML"}),e.jsx(t.Radio,{value:"json",label:"JSON"})]})]}),e.jsxs(t.DialogActions,{children:[e.jsx(t.Button,{appearance:"secondary",onClick:o,disabled:m,children:"Cancel"}),e.jsx(t.Button,{appearance:"primary",onClick:async()=>{try{g(!0),await r([...d],p),o()}finally{g(!1)}},disabled:0===d.size||m,icon:m?e.jsx(t.Spinner,{size:"tiny"}):void 0,children:m?"Exporting…":`Export ${d.size}`})]})]})})})};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialog for bulk uploading requirements from a CSV/JSON file.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
interface AuditBulkUploadDialogProps {
|
|
6
|
+
open: boolean;
|
|
7
|
+
onDismiss: () => void;
|
|
8
|
+
/** Called with raw file text content and detected format */
|
|
9
|
+
onUpload: (content: string, format: "csv" | "json") => Promise<void>;
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const AuditBulkUploadDialog: React.FC<AuditBulkUploadDialogProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=AuditBulkUploadDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditBulkUploadDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditBulkUploadDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAA2B,MAAM,OAAO,CAAC;AAkBhD,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6BD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAoHtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("@fluentui/react-components"),o=require("@fluentui/react-icons");const t=n.makeStyles({dropZone:{border:`2px dashed ${n.tokens.colorNeutralStroke1}`,borderRadius:n.tokens.borderRadiusMedium,padding:n.tokens.spacingVerticalXL,textAlign:"center",cursor:"pointer",backgroundColor:n.tokens.colorNeutralBackground2,":hover":{backgroundColor:n.tokens.colorNeutralBackground3}},hidden:{display:"none"},hint:{fontSize:n.tokens.fontSizeBase200,color:n.tokens.colorNeutralForeground3,marginTop:n.tokens.spacingVerticalXS},fileName:{marginTop:n.tokens.spacingVerticalS,fontSize:n.tokens.fontSizeBase200,color:n.tokens.colorNeutralForeground2}});exports.AuditBulkUploadDialog=({open:a,onDismiss:l,onUpload:s,title:i="Bulk Upload Requirements",description:c})=>{const d=t(),[u,p]=r.useState(null),[g,f]=r.useState(null),[x,h]=r.useState(null),[k,m]=r.useState(null),[S,j]=r.useState(!1),y=r.useRef(null),N=e=>{p(e.name),m(null),f(null),h(null);let r=null;if(e.name.endsWith(".csv"))r="csv";else{if(!e.name.endsWith(".json"))return void m("Only CSV and JSON files are supported.");r="json"}const n=new FileReader;n.onload=e=>{f(e.target?.result),h(r)},n.onerror=()=>m("Failed to read file."),n.readAsText(e)};return e.jsx(n.Dialog,{open:a,onOpenChange:(e,r)=>{r.open||l()},children:e.jsx(n.DialogSurface,{style:{maxWidth:"440px"},children:e.jsxs(n.DialogBody,{children:[e.jsx(n.DialogTitle,{children:i}),e.jsxs(n.DialogContent,{children:[c&&e.jsx(n.Text,{style:{marginBottom:n.tokens.spacingVerticalS,display:"block"},children:c}),e.jsxs("div",{className:d.dropZone,onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),e.dataTransfer.files[0]&&N(e.dataTransfer.files[0])},onClick:()=>y.current?.click(),children:[e.jsx(o.ArrowUploadRegular,{style:{fontSize:32,color:n.tokens.colorNeutralForeground3}}),e.jsx("br",{}),e.jsx(n.Text,{children:"Drop a CSV or JSON file here, or click to browse"}),e.jsx("input",{ref:y,type:"file",accept:".csv,.json",className:d.hidden,onChange:e=>{e.target.files?.[0]&&N(e.target.files[0]),e.target.value=""}})]}),u&&e.jsxs(n.Text,{className:d.fileName,children:[u," ",g?"✓":""]}),e.jsx(n.Text,{className:d.hint,children:"Supported formats: CSV, JSON"}),k&&e.jsx(n.MessageBar,{intent:"error",style:{marginTop:8},children:e.jsx(n.MessageBarBody,{children:k})})]}),e.jsxs(n.DialogActions,{children:[e.jsx(n.Button,{appearance:"secondary",onClick:l,disabled:S,children:"Cancel"}),e.jsx(n.Button,{appearance:"primary",onClick:async()=>{if(g&&x)try{j(!0),await s(g,x),l()}catch(e){m(e instanceof Error?e.message:"Upload failed.")}finally{j(!1)}},disabled:!g||S,icon:S?e.jsx(n.Spinner,{size:"tiny"}):void 0,children:S?"Uploading…":"Upload"})]})]})})})};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Circular progress ring showing audit compliance rate.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
interface AuditCircularProgressProps {
|
|
6
|
+
/** 0–100 */
|
|
7
|
+
value: number;
|
|
8
|
+
/** Display size in pixels */
|
|
9
|
+
size?: number;
|
|
10
|
+
/** Show numeric percentage label in center */
|
|
11
|
+
showLabel?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const AuditCircularProgress: React.FC<AuditCircularProgressProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=AuditCircularProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditCircularProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditCircularProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,0BAA0B;IAClC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA+CtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("@fluentui/react-components");const o=t.makeStyles({root:{display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative"},label:{position:"absolute",fontWeight:t.tokens.fontWeightSemibold,fontSize:t.tokens.fontSizeBase200,color:t.tokens.colorNeutralForeground1}});exports.AuditCircularProgress=({value:s,size:r=64,showLabel:n=!0})=>{const l=o(),i=(r-8)/2,a=2*Math.PI*i,c=Math.max(0,Math.min(100,s)),d=a-c/100*a;let h=t.tokens.colorPaletteRedBackground3;return c>=100?h=t.tokens.colorPaletteGreenBackground3:c>=75&&(h=t.tokens.colorPaletteYellowBackground3),e.jsxs("div",{className:l.root,style:{width:r,height:r},children:[e.jsxs("svg",{width:r,height:r,style:{transform:"rotate(-90deg)"},children:[e.jsx("circle",{cx:r/2,cy:r/2,r:i,stroke:t.tokens.colorNeutralBackground4,strokeWidth:8,fill:"none"}),e.jsx("circle",{cx:r/2,cy:r/2,r:i,stroke:h,strokeWidth:8,fill:"none",strokeDasharray:a,strokeDashoffset:d,strokeLinecap:"round",style:{transition:"stroke-dashoffset 0.5s ease"}})]}),n&&e.jsxs(t.Text,{className:l.label,size:200,children:[c,"%"]})]})};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collapsible filter panel with group, category, and compliance status dropdowns.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditFilterState, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditFilterBarProps {
|
|
7
|
+
filters: AuditFilterState;
|
|
8
|
+
availableGroups: string[];
|
|
9
|
+
availableCategories: string[];
|
|
10
|
+
config: ResolvedAuditConfig;
|
|
11
|
+
onUpdateFilters: (patch: Partial<AuditFilterState>) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const AuditFilterBar: React.FC<AuditFilterBarProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=AuditFilterBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditFilterBar.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditFilterBar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAaxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAkCD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyIxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),s=require("@fluentui/react-components"),i=require("@fluentui/react-icons"),t=require("../../utils/auditUtils.js");const a=s.makeStyles({surface:{display:"flex",flexDirection:"column",gap:s.tokens.spacingVerticalS,padding:s.tokens.spacingVerticalM,minWidth:"240px"},section:{display:"flex",flexDirection:"column",gap:"4px"},sectionLabel:{fontWeight:s.tokens.fontWeightSemibold,fontSize:s.tokens.fontSizeBase200,color:s.tokens.colorNeutralForeground2,textTransform:"uppercase",letterSpacing:"0.06em"},checkboxGroup:{display:"flex",flexDirection:"column",gap:"2px",paddingLeft:s.tokens.spacingHorizontalS}});function c(e,s){return e.includes(s)?e.filter((e=>e!==s)):[...e,s]}exports.AuditFilterBar=({filters:n,availableGroups:o,availableCategories:l,config:r,onUpdateFilters:d})=>{const h=a(),u=t.getEffectiveAnswerOptions(r),x=n.groups.length+n.categories.length+n.complianceStatuses.length+n.validityStatuses.length+(n.withComments?1:0)+(n.withPhotos?1:0);return e.jsxs(s.Popover,{trapFocus:!0,positioning:"below-start",children:[e.jsx(s.PopoverTrigger,{disableButtonEnhancement:!0,children:e.jsxs(s.Button,{icon:e.jsx(i.FilterRegular,{}),appearance:x>0?"primary":"secondary",size:"medium",children:["Filter",x>0?` (${x})`:""]})}),e.jsx(s.PopoverSurface,{children:e.jsxs("div",{className:h.surface,children:[o.length>0&&e.jsxs("div",{className:h.section,children:[e.jsx(s.Text,{className:h.sectionLabel,children:r.terminology.group}),e.jsx("div",{className:h.checkboxGroup,children:o.map((i=>e.jsx(s.Checkbox,{label:i,checked:n.groups.includes(i),onChange:()=>d({groups:c(n.groups,i)}),size:"medium"},i)))})]}),l.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(s.Divider,{}),e.jsxs("div",{className:h.section,children:[e.jsx(s.Text,{className:h.sectionLabel,children:r.terminology.category}),e.jsx("div",{className:h.checkboxGroup,children:l.map((i=>e.jsx(s.Checkbox,{label:i,checked:n.categories.includes(i),onChange:()=>d({categories:c(n.categories,i)}),size:"medium"},i)))})]})]}),e.jsx(s.Divider,{}),e.jsxs("div",{className:h.section,children:[e.jsx(s.Text,{className:h.sectionLabel,children:"Status"}),e.jsx("div",{className:h.checkboxGroup,children:u.map((i=>e.jsx(s.Checkbox,{label:i.label,checked:n.complianceStatuses.includes(i.value),onChange:()=>d({complianceStatuses:c(n.complianceStatuses,i.value)}),size:"medium"},i.value)))})]}),e.jsx(s.Divider,{}),e.jsxs("div",{className:h.section,children:[e.jsx(s.Text,{className:h.sectionLabel,children:"Validity"}),e.jsx("div",{className:h.checkboxGroup,children:["valid","expiring-soon","urgent","expired"].map((i=>e.jsx(s.Checkbox,{label:"valid"===i?"Valid":"expiring-soon"===i?"Expiring soon":"urgent"===i?"Urgent (≤30 days)":"Expired",checked:n.validityStatuses.includes(i),onChange:()=>d({validityStatuses:c(n.validityStatuses,i)}),size:"medium"},i)))})]}),e.jsx(s.Divider,{}),e.jsxs("div",{className:h.checkboxGroup,children:[e.jsx(s.Checkbox,{label:"Has comments",checked:n.withComments,onChange:(e,s)=>d({withComments:!0===s.checked})}),e.jsx(s.Checkbox,{label:"Has photos",checked:n.withPhotos,onChange:(e,s)=>d({withPhotos:!0===s.checked})})]})]})})]})};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chip strip showing currently active filter tags with remove buttons.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditFilterState, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditFilterChipsProps {
|
|
7
|
+
filters: AuditFilterState;
|
|
8
|
+
config: ResolvedAuditConfig;
|
|
9
|
+
onRemoveGroup?: (group: string) => void;
|
|
10
|
+
onRemoveCategory?: (category: string) => void;
|
|
11
|
+
onRemoveComplianceStatus?: (status: string) => void;
|
|
12
|
+
onRemoveValidityStatus?: (status: string) => void;
|
|
13
|
+
onClearAll: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const AuditFilterChips: React.FC<AuditFilterChipsProps>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=AuditFilterChips.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditFilterChips.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditFilterChips.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,UAAU,qBAAqB;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAcD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0F5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=require("react/jsx-runtime"),e=require("@fluentui/react-components"),i=require("@fluentui/react-icons");const a=e.makeStyles({root:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:e.tokens.spacingHorizontalXS},clearBtn:{marginLeft:e.tokens.spacingHorizontalS}});exports.AuditFilterChips=({filters:l,config:r,onRemoveGroup:t,onRemoveCategory:o,onRemoveComplianceStatus:c,onRemoveValidityStatus:n,onClearAll:m})=>{const u=a();return l.groups.length>0||l.categories.length>0||l.complianceStatuses.length>0||l.validityStatuses.length>0?s.jsxs("div",{className:u.root,children:[s.jsxs(e.TagGroup,{onDismiss:(s,e)=>{const[i,a]=e.value.split(":",2);"group"===i&&t?t(a):"category"===i&&o?o(a):"compliance"===i&&c?c(a):"validity"===i&&n&&n(a)},"aria-label":"Active filters",children:[l.groups.map((a=>s.jsxs(e.Tag,{value:`group:${a}`,dismissible:!0,dismissIcon:s.jsx(i.DismissRegular,{}),shape:"circular",size:"small",children:[r.terminology.group,": ",a]},`group:${a}`))),l.categories.map((a=>s.jsxs(e.Tag,{value:`category:${a}`,dismissible:!0,dismissIcon:s.jsx(i.DismissRegular,{}),shape:"circular",size:"small",children:[r.terminology.category,": ",a]},`category:${a}`))),l.complianceStatuses.map((a=>s.jsx(e.Tag,{value:`compliance:${a}`,dismissible:!0,dismissIcon:s.jsx(i.DismissRegular,{}),shape:"circular",size:"small",children:a},`compliance:${a}`))),l.validityStatuses.map((a=>s.jsx(e.Tag,{value:`validity:${a}`,dismissible:!0,dismissIcon:s.jsx(i.DismissRegular,{}),shape:"circular",size:"small",children:a},`validity:${a}`)))]}),s.jsx(e.Button,{size:"small",appearance:"subtle",className:u.clearBtn,onClick:m,children:"Clear all"})]}):null};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breakdown of compliance progress per group (e.g. per Standard or Area).
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditAnswer, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditGroupsProgressProps {
|
|
7
|
+
answers: AuditAnswer[];
|
|
8
|
+
config: ResolvedAuditConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare const AuditGroupsProgress: React.FC<AuditGroupsProgressProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=AuditGroupsProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditGroupsProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditGroupsProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,UAAU,wBAAwB;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAoBD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwClE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react"),o=require("@fluentui/react-components"),r=require("../../utils/auditUtils.js"),s=require("./AuditHorizontalProgress.js");const a=o.makeStyles({root:{display:"flex",flexDirection:"column",gap:o.tokens.spacingVerticalS},groupRow:{display:"flex",flexDirection:"column",gap:"4px"},header:{fontWeight:o.tokens.fontWeightSemibold,fontSize:o.tokens.fontSizeBase300,marginBottom:o.tokens.spacingVerticalXS}});exports.AuditGroupsProgress=({answers:n,config:i})=>{const l=a(),c=t.useMemo((()=>{const e=new Map;for(const t of n){const o=t.group||"(no group)",s=e.get(o)??{total:0,compliant:0};s.total++,r.isAnswerCompliant(t.answer,i)&&s.compliant++,e.set(o,s)}return[...e.entries()].map((([e,t])=>({name:e,...t,rate:t.total>0?Math.round(t.compliant/t.total*100):0}))).sort(((e,t)=>e.rate-t.rate))}),[n,i]);return 0===c.length?null:e.jsxs("div",{className:l.root,children:[e.jsxs(o.Text,{className:l.header,children:[i.terminology.group," Progress"]}),c.map((t=>e.jsx("div",{className:l.groupRow,children:e.jsx(s.AuditHorizontalProgress,{value:t.rate,label:t.name,sublabel:`${t.compliant}/${t.total}`})},t.name)))]})};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Horizontal progress bar for showing group / overall compliance progress.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
interface AuditHorizontalProgressProps {
|
|
6
|
+
/** 0–100 */
|
|
7
|
+
value: number;
|
|
8
|
+
/** Optional label shown above */
|
|
9
|
+
label?: string;
|
|
10
|
+
/** Optional sub-label (e.g. "12/16") shown below */
|
|
11
|
+
sublabel?: string;
|
|
12
|
+
height?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const AuditHorizontalProgress: React.FC<AuditHorizontalProgressProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=AuditHorizontalProgress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditHorizontalProgress.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditHorizontalProgress.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,4BAA4B;IACpC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0BD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAyC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@fluentui/react-components");const t=r.makeStyles({root:{display:"flex",flexDirection:"column",gap:"4px",width:"100%"},track:{width:"100%",backgroundColor:r.tokens.colorNeutralBackground4,borderRadius:r.tokens.borderRadiusCircular,overflow:"hidden"},fill:{borderRadius:r.tokens.borderRadiusCircular,transition:"width 0.4s ease"},header:{display:"flex",justifyContent:"space-between",alignItems:"baseline"}});exports.AuditHorizontalProgress=({value:o,label:s,sublabel:l,height:a=8})=>{const i=t(),n=Math.max(0,Math.min(100,o));let d=r.tokens.colorPaletteRedBackground3;return n>=100?d=r.tokens.colorPaletteGreenBackground3:n>=75&&(d=r.tokens.colorPaletteYellowBackground3),e.jsxs("div",{className:i.root,children:[(s||l)&&e.jsxs("div",{className:i.header,children:[s&&e.jsx(r.Text,{size:200,weight:"semibold",children:s}),l&&e.jsx(r.Text,{size:100,style:{color:r.tokens.colorNeutralForeground3},children:l})]}),e.jsx("div",{className:i.track,style:{height:a},children:e.jsx("div",{className:i.fill,style:{width:`${n}%`,height:a,backgroundColor:d}})})]})};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detail dialog for a single audit requirement — shows description, answer, comment, photos, and expiry.
|
|
3
|
+
* Both view-only and edit modes.
|
|
4
|
+
*/
|
|
5
|
+
import React from "react";
|
|
6
|
+
import type { AuditAnswer, ResolvedAuditConfig } from "../../types/audit";
|
|
7
|
+
export interface AuditRequirementDialogProps {
|
|
8
|
+
open: boolean;
|
|
9
|
+
answer: AuditAnswer | null;
|
|
10
|
+
config: ResolvedAuditConfig;
|
|
11
|
+
readonly?: boolean;
|
|
12
|
+
onDismiss: () => void;
|
|
13
|
+
onSave?: (requirementId: string, answerValue: string, comment: string, photos: string, complianceDate?: string) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare const AuditRequirementDialog: React.FC<AuditRequirementDialogProps>;
|
|
16
|
+
//# sourceMappingURL=AuditRequirementDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditRequirementDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditRequirementDialog.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAkBrD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,CACP,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AA6BD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAwKxE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),i=require("react"),l=require("@fluentui/react-components"),a=require("@fluentui/react-icons"),n=require("./AuditAnswerCell.js"),s=require("../../utils/auditUtils.js");const t=l.makeStyles({content:{display:"flex",flexDirection:"column",gap:l.tokens.spacingVerticalM},metaRow:{display:"flex",flexWrap:"wrap",gap:l.tokens.spacingHorizontalS,alignItems:"center"},description:{color:l.tokens.colorNeutralForeground2,whiteSpace:"pre-wrap"},answerSection:{display:"flex",flexDirection:"column",gap:l.tokens.spacingVerticalXS},validityInfo:{fontSize:l.tokens.fontSizeBase200,color:l.tokens.colorNeutralForeground3}});exports.AuditRequirementDialog=({open:r,answer:o,config:c,readonly:d=!1,onDismiss:u,onSave:p})=>{const x=t(),[m,h]=i.useState(""),[j,g]=i.useState(""),[v,f]=i.useState(""),[w,y]=i.useState(!1);i.useEffect((()=>{r&&o&&(h(o.answer??""),g(o.comment??""),f(o.photos??""))}),[r,o]);const C=i.useCallback((async()=>{if(o&&p)try{y(!0),await p(o.requirementId,m,j,v),u()}finally{y(!1)}}),[o,m,j,v,p,u]);if(!o)return null;const S=s.calculateAuditTimeRemaining(o.validUntil),D=s.isAnswerCompliant(m,c);return e.jsx(l.Dialog,{open:r,onOpenChange:(e,i)=>{i.open||u()},children:e.jsx(l.DialogSurface,{style:{maxWidth:"560px"},children:e.jsxs(l.DialogBody,{children:[e.jsx(l.DialogTitle,{action:e.jsx(l.Button,{appearance:"subtle",icon:e.jsx(a.DismissFilled,{}),onClick:u,"aria-label":"Close"}),children:o.title}),e.jsx(l.DialogContent,{children:e.jsxs("div",{className:x.content,children:[e.jsxs("div",{className:x.metaRow,children:[o.group&&e.jsx(l.Badge,{appearance:"tint",color:"informative",size:"medium",children:o.group}),o.category&&e.jsx(l.Badge,{appearance:"tint",color:"subtle",size:"medium",children:o.category}),null!=o.level&&o.level>0&&e.jsxs(l.Badge,{appearance:"outline",size:"medium",children:["Level ",o.level]})]}),o.description&&e.jsx(l.Text,{className:x.description,children:o.description}),e.jsx(l.Divider,{}),e.jsxs("div",{className:x.answerSection,children:[e.jsx(l.Field,{label:"Answer",required:!0,children:d?e.jsxs(l.Text,{children:[m||"—"," ",D?e.jsx(l.Badge,{color:"success",size:"small",children:"Compliant"}):e.jsx(l.Badge,{color:"danger",size:"small",children:"Non-compliant"})]}):e.jsx(n.AuditAnswerCell,{answer:{...o,answer:m},config:c,onUpdate:(e,i)=>h(i)})}),e.jsxs(l.Text,{className:x.validityInfo,children:["Validity period: ",s.formatValidityPeriod(o.validityPeriodMonths),o.validUntil&&` · Valid until: ${new Date(o.validUntil).toLocaleDateString()}`,S?.isExpired&&" · EXPIRED"]})]}),!d&&e.jsx(l.Field,{label:"Comment",children:e.jsx(l.Textarea,{value:j,onChange:(e,i)=>g(i.value),resize:"vertical",rows:3,placeholder:"Add a comment…"})}),d&&j&&e.jsx(l.Field,{label:"Comment",children:e.jsx(l.Text,{children:j})}),!d&&e.jsx(l.Field,{label:"Photo URL(s)",hint:"Comma-separated URLs",children:e.jsx(l.Textarea,{value:v,onChange:(e,i)=>f(i.value),resize:"vertical",rows:2,placeholder:"https://…"})}),d&&v&&e.jsx(l.Field,{label:"Photos",children:e.jsx(l.Text,{children:v})})]})}),e.jsxs(l.DialogActions,{children:[e.jsx(l.Button,{appearance:"secondary",onClick:u,children:d?"Close":"Cancel"}),!d&&e.jsx(l.Button,{appearance:"primary",onClick:C,disabled:w,children:w?"Saving…":"Save"})]})]})})})};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Displays the current user's audit role (Admin / Manager / Auditor) as a badge.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditRole, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditRoleIndicatorProps {
|
|
7
|
+
role: AuditRole;
|
|
8
|
+
config: ResolvedAuditConfig;
|
|
9
|
+
showLabel?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const AuditRoleIndicator: React.FC<AuditRoleIndicatorProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=AuditRoleIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditRoleIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditRoleIndicator.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyBhE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@fluentui/react-components"),n=require("@fluentui/react-icons");const a=r.makeStyles({root:{display:"inline-flex",alignItems:"center",gap:r.tokens.spacingHorizontalXS}}),i={Admin:e.jsx(n.ShieldPersonFilled,{}),Manager:e.jsx(n.PersonStarFilled,{}),Auditor:e.jsx(n.PersonFilled,{})},l={Admin:"brand",Manager:"informative",Auditor:"subtle"};exports.AuditRoleIndicator=({role:n,config:o,showLabel:t=!0})=>{const s=a(),c="Admin"===n?o.roleLabels.admin:"Manager"===n?o.roleLabels.manager:o.roleLabels.auditor;return e.jsx("span",{className:s.root,children:e.jsx(r.Badge,{color:l[n],icon:i[n],appearance:"tint",children:t?c:null})})};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search bar with debounced input for filtering audit requirements.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
interface AuditSearchBarProps {
|
|
6
|
+
value: string;
|
|
7
|
+
onChange: (value: string) => void;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
debounceMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const AuditSearchBar: React.FC<AuditSearchBarProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=AuditSearchBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditSearchBar.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSearchBar.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmCxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("@fluentui/react-components");const u=t.makeStyles({root:{width:"100%",maxWidth:"400px"}});exports.AuditSearchBar=({value:a,onChange:c,placeholder:n="Search…",debounceMs:o=200})=>{const s=u(),[l,i]=r.useState(a),m=r.useRef(null),h=r.useCallback(((e,r)=>{const t=r.value;i(t),m.current&&clearTimeout(m.current),m.current=setTimeout((()=>c(t)),o)}),[c,o]);return r.useCallback((()=>{i(""),m.current&&clearTimeout(m.current),c("")}),[c]),e.jsx(t.SearchBox,{className:s.root,value:l,onChange:h,placeholder:n,size:"medium"})};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort preset buttons for rapidly ordering audits by compliance, expiry, etc.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
export type AuditSortPreset = "compliance-asc" | "compliance-desc" | "expiry-asc" | "expiry-urgent";
|
|
6
|
+
interface AuditSortPresetsProps {
|
|
7
|
+
active: AuditSortPreset | null;
|
|
8
|
+
onSelect: (preset: AuditSortPreset | null) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const AuditSortPresets: React.FC<AuditSortPresetsProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=AuditSortPresets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditSortPresets.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSortPresets.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC;AAEpG,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAkBD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkB5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@fluentui/react-components"),l=require("@fluentui/react-icons");const a=[{value:"compliance-asc",label:"Worst first",icon:e.jsx(l.ArrowSortUpRegular,{})},{value:"compliance-desc",label:"Best first",icon:e.jsx(l.ArrowSortDownRegular,{})},{value:"expiry-asc",label:"Expiring soon",icon:e.jsx(l.ClockRegular,{})},{value:"expiry-urgent",label:"Urgent",icon:e.jsx(l.ErrorCircleRegular,{})}],t=r.makeStyles({root:{display:"flex",flexWrap:"wrap",gap:r.tokens.spacingHorizontalXS,alignItems:"center"}});exports.AuditSortPresets=({active:l,onSelect:i})=>{const o=t();return e.jsx("div",{className:o.root,children:a.map((a=>e.jsx(r.Button,{size:"small",appearance:l===a.value?"primary":"subtle",icon:a.icon,onClick:()=>i(l===a.value?null:a.value),children:a.label},a.value)))})};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level dashboard widget showing key audit summary numbers in card tiles.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditAnswer, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditSummaryDashboardProps {
|
|
7
|
+
answers: AuditAnswer[];
|
|
8
|
+
config: ResolvedAuditConfig;
|
|
9
|
+
unitName?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const AuditSummaryDashboard: React.FC<AuditSummaryDashboardProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=AuditSummaryDashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditSummaryDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditSummaryDashboard.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AASvC,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E,UAAU,0BAA0B;IAClC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkCD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA8EtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),i=require("react"),r=require("@fluentui/react-components"),a=require("../../utils/auditUtils.js"),s=require("./AuditCircularProgress.js");const l=r.makeStyles({root:{display:"flex",flexWrap:"wrap",gap:r.tokens.spacingHorizontalM,alignItems:"flex-start"},card:{flex:"1",minWidth:"140px",maxWidth:"200px"},cardBody:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:r.tokens.spacingVerticalXS,padding:r.tokens.spacingVerticalS},bigNumber:{fontSize:r.tokens.fontSizeHero800,fontWeight:r.tokens.fontWeightBold,lineHeight:"1"},label:{fontSize:r.tokens.fontSizeBase200,color:r.tokens.colorNeutralForeground2,textAlign:"center"}});exports.AuditSummaryDashboard=({answers:t,config:n,unitName:c})=>{const o=l(),d=i.useMemo((()=>{const e=t.length,i=a.getAuditComplianceRate(t,n),r=t.filter((e=>a.isAnswerCompliant(e.answer,n))).length;let s=0,l=0;for(const e of t){if(!e.validUntil)continue;const i=a.calculateAuditTimeRemaining(e.validUntil);i?.isExpired?l++:(i?.isUrgent||i?.isExpiringSoon)&&s++}return{total:e,compliant:r,complianceRate:i,expiring:s,expired:l}}),[t,n]);return e.jsxs("div",{className:o.root,children:[e.jsx(r.Card,{className:o.card,children:e.jsxs("div",{className:o.cardBody,children:[e.jsx(s.AuditCircularProgress,{value:d.complianceRate,size:72}),e.jsx(r.Text,{className:o.label,children:c??`${n.terminology.unit} Compliance`})]})}),e.jsx(r.Card,{className:o.card,children:e.jsxs("div",{className:o.cardBody,children:[e.jsx(r.Text,{className:o.bigNumber,style:{color:r.tokens.colorPaletteGreenForeground1},children:d.compliant}),e.jsx(r.Text,{className:o.label,children:"Compliant"})]})}),e.jsx(r.Card,{className:o.card,children:e.jsxs("div",{className:o.cardBody,children:[e.jsx(r.Text,{className:o.bigNumber,style:{color:r.tokens.colorPaletteRedForeground1},children:d.total-d.compliant}),e.jsx(r.Text,{className:o.label,children:"Non-compliant"})]})}),(d.expiring>0||d.expired>0)&&e.jsx(r.Card,{className:o.card,children:e.jsxs("div",{className:o.cardBody,children:[e.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[d.expired>0&&e.jsxs(r.Badge,{color:"danger",size:"large",children:[d.expired," exp."]}),d.expiring>0&&e.jsxs(r.Badge,{color:"warning",size:"large",children:[d.expiring," soon"]})]}),e.jsx(r.Text,{className:o.label,children:"Validity"})]})})]})};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialog to export a single unit's audit package (JSON or offline HTML).
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditAnswer, AuditRequirement, ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
interface AuditUnitExportDialogProps {
|
|
7
|
+
open: boolean;
|
|
8
|
+
unitId: string;
|
|
9
|
+
unitName: string;
|
|
10
|
+
unitData: Record<string, unknown> | null;
|
|
11
|
+
requirements: AuditRequirement[];
|
|
12
|
+
answers: AuditAnswer[];
|
|
13
|
+
config: ResolvedAuditConfig;
|
|
14
|
+
onDismiss: () => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const AuditUnitExportDialog: React.FC<AuditUnitExportDialogProps>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=AuditUnitExportDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditUnitExportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitExportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAO5F,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAaD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA8EtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react"),i=require("@fluentui/react-components"),n=require("../../utils/auditExport.js");const o=i.makeStyles({description:{color:i.tokens.colorNeutralForeground2,fontSize:i.tokens.fontSizeBase200,marginBottom:i.tokens.spacingVerticalS},radioGroup:{marginTop:i.tokens.spacingVerticalS}});exports.AuditUnitExportDialog=({open:a,unitId:r,unitName:s,unitData:l,requirements:c,answers:d,config:u,onDismiss:p})=>{const x=o(),[g,m]=t.useState("html");return e.jsx(i.Dialog,{open:a,onOpenChange:(e,t)=>{t.open||p()},children:e.jsx(i.DialogSurface,{style:{maxWidth:"420px"},children:e.jsxs(i.DialogBody,{children:[e.jsx(i.DialogTitle,{children:"Export Audit"}),e.jsxs(i.DialogContent,{children:[e.jsxs(i.Text,{className:x.description,children:["Export audit data for ",e.jsx("strong",{children:s})," as a portable file."]}),e.jsxs(i.RadioGroup,{className:x.radioGroup,value:g,onChange:(e,t)=>m(t.value),children:[e.jsx(i.Radio,{value:"html",label:"Offline HTML (self-contained, can be filled without internet)"}),e.jsx(i.Radio,{value:"json",label:"JSON (for import or archiving)"})]})]}),e.jsxs(i.DialogActions,{children:[e.jsx(i.Button,{appearance:"secondary",onClick:p,children:"Cancel"}),e.jsx(i.Button,{appearance:"primary",onClick:()=>{const e=n.buildAuditPackage({id:r,name:s,...l},c,d,u);let t,i,o;"json"===g?(t=n.exportAuditPackageAsJson(e),i=`audit_${r}_${(new Date).toISOString().slice(0,10)}.json`,o="application/json"):(t=n.exportAuditPackageAsHtml(e),i=`audit_${r}_${(new Date).toISOString().slice(0,10)}.html`,o="text/html");const a=new Blob([t],{type:o}),x=URL.createObjectURL(a),m=document.createElement("a");m.href=x,m.download=i,m.click(),URL.revokeObjectURL(x),p()},children:"Export"})]})]})})})};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialog to import an audit package from a previously exported JSON or HTML file.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { AuditPackage } from "../../types/audit";
|
|
6
|
+
interface AuditUnitImportDialogProps {
|
|
7
|
+
open: boolean;
|
|
8
|
+
onDismiss: () => void;
|
|
9
|
+
onImport: (pkg: AuditPackage) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const AuditUnitImportDialog: React.FC<AuditUnitImportDialogProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=AuditUnitImportDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditUnitImportDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitImportDialog.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAA2B,MAAM,OAAO,CAAC;AAgBhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,UAAU,0BAA0B;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACvC;AAwBD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA6FtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),o=require("@fluentui/react-components"),t=require("@fluentui/react-icons"),n=require("../../utils/auditExport.js");const a=o.makeStyles({dropZone:{border:`2px dashed ${o.tokens.colorNeutralStroke1}`,borderRadius:o.tokens.borderRadiusMedium,padding:o.tokens.spacingVerticalXL,textAlign:"center",cursor:"pointer",backgroundColor:o.tokens.colorNeutralBackground2,":hover":{backgroundColor:o.tokens.colorNeutralBackground3}},hidden:{display:"none"},fileName:{marginTop:o.tokens.spacingVerticalS,fontSize:o.tokens.fontSizeBase200,color:o.tokens.colorNeutralForeground2}});exports.AuditUnitImportDialog=({open:s,onDismiss:l,onImport:i})=>{const c=a(),[d,u]=r.useState(null),[p,g]=r.useState(null),[m,x]=r.useState(null),h=r.useRef(null),f=e=>{u(e.name),x(null),g(null);const r=new FileReader;r.onload=r=>{try{const o=r.target?.result,t=e.name.endsWith(".html")?n.importAuditPackageFromHtml(o):n.importAuditPackageFromJson(o);g(t)}catch(e){x(e instanceof Error?e.message:"Failed to parse file")}},r.readAsText(e)};return e.jsx(o.Dialog,{open:s,onOpenChange:(e,r)=>{r.open||l()},children:e.jsx(o.DialogSurface,{style:{maxWidth:"420px"},children:e.jsxs(o.DialogBody,{children:[e.jsx(o.DialogTitle,{children:"Import Audit"}),e.jsxs(o.DialogContent,{children:[e.jsxs("div",{className:c.dropZone,onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),e.dataTransfer.files[0]&&f(e.dataTransfer.files[0])},onClick:()=>h.current?.click(),children:[e.jsx(t.ArrowUploadRegular,{style:{fontSize:32,color:o.tokens.colorNeutralForeground3}}),e.jsx("br",{}),e.jsx(o.Text,{children:"Drop a JSON or HTML audit file here, or click to browse"}),e.jsx("input",{ref:h,type:"file",accept:".json,.html",className:c.hidden,onChange:e=>{e.target.files?.[0]&&f(e.target.files[0])}})]}),d&&e.jsxs(o.Text,{className:c.fileName,children:["Selected: ",d,p&&" ✓"]}),m&&e.jsx(o.MessageBar,{intent:"error",style:{marginTop:8},children:e.jsx(o.MessageBarBody,{children:m})})]}),e.jsxs(o.DialogActions,{children:[e.jsx(o.Button,{appearance:"secondary",onClick:l,children:"Cancel"}),e.jsx(o.Button,{appearance:"primary",onClick:()=>{p&&(i(p),l())},disabled:!p,children:"Import"})]})]})})})};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dropdown or search-enabled combobox to let admin/manager switch between auditable units.
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import type { ResolvedAuditConfig } from "../../types/audit";
|
|
6
|
+
export interface AuditUnitOption {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
marketArea?: string;
|
|
10
|
+
}
|
|
11
|
+
interface AuditUnitSwitcherProps {
|
|
12
|
+
units: AuditUnitOption[];
|
|
13
|
+
selectedUnitId: string | null;
|
|
14
|
+
onSelect: (unitId: string) => void;
|
|
15
|
+
config: ResolvedAuditConfig;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const AuditUnitSwitcher: React.FC<AuditUnitSwitcherProps>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=AuditUnitSwitcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuditUnitSwitcher.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/AuditUnitSwitcher.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("@fluentui/react-components");const i=t.makeStyles({root:{display:"flex",flexDirection:"column",gap:t.tokens.spacingVerticalXS,minWidth:"200px"},combobox:{width:"100%"}});exports.AuditUnitSwitcher=({units:o,selectedUnitId:n,onSelect:r,config:a,disabled:l=!1})=>{const s=i(),c=o.find((e=>e.id===n));return e.jsxs("div",{className:s.root,children:[e.jsx(t.Label,{size:"small",htmlFor:"audit-unit-switcher",children:a.terminology.unit}),e.jsx(t.Combobox,{id:"audit-unit-switcher",className:s.combobox,value:c?.name??"",selectedOptions:n?[n]:[],onOptionSelect:(e,t)=>{t.optionValue&&r(t.optionValue)},placeholder:`Select ${a.terminology.unit.toLowerCase()}…`,disabled:l,freeform:!1,children:o.map((i=>e.jsx(t.Option,{value:i.id,children:i.marketArea?`${i.name} (${i.marketArea})`:i.name},i.id)))})]})};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { AuditCircularProgress } from "./AuditCircularProgress";
|
|
2
|
+
export { AuditHorizontalProgress } from "./AuditHorizontalProgress";
|
|
3
|
+
export { AuditRoleIndicator } from "./AuditRoleIndicator";
|
|
4
|
+
export { AuditUnitSwitcher } from "./AuditUnitSwitcher";
|
|
5
|
+
export type { AuditUnitOption } from "./AuditUnitSwitcher";
|
|
6
|
+
export { AuditAnswerCell } from "./AuditAnswerCell";
|
|
7
|
+
export { AuditSearchBar } from "./AuditSearchBar";
|
|
8
|
+
export { AuditFilterChips } from "./AuditFilterChips";
|
|
9
|
+
export { AuditFilterBar } from "./AuditFilterBar";
|
|
10
|
+
export { AuditGroupsProgress } from "./AuditGroupsProgress";
|
|
11
|
+
export { AuditSummaryDashboard } from "./AuditSummaryDashboard";
|
|
12
|
+
export { AuditRequirementDialog } from "./AuditRequirementDialog";
|
|
13
|
+
export type { AuditRequirementDialogProps } from "./AuditRequirementDialog";
|
|
14
|
+
export { AuditUnitExportDialog } from "./AuditUnitExportDialog";
|
|
15
|
+
export { AuditUnitImportDialog } from "./AuditUnitImportDialog";
|
|
16
|
+
export { AuditBulkExportDialog } from "./AuditBulkExportDialog";
|
|
17
|
+
export { AuditBulkUploadDialog } from "./AuditBulkUploadDialog";
|
|
18
|
+
export { AuditSortPresets } from "./AuditSortPresets";
|
|
19
|
+
export type { AuditSortPreset } from "./AuditSortPresets";
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/audit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -50,4 +50,5 @@ export type { RecordModalProps } from "./RecordModal";
|
|
|
50
50
|
export { default as BulkUploadDialog } from "./BulkUploadDialog";
|
|
51
51
|
export { CookieBanner } from "./CookieBanner";
|
|
52
52
|
export type { CookieBannerProps } from "./CookieBanner";
|
|
53
|
+
export * from "./audit";
|
|
53
54
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
|