@realtek/core-theme-live 0.0.396 → 0.0.397
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-lib/DocumentViewer-CcGppqVn.cjs +2 -0
- package/dist-lib/DocumentViewer-CcGppqVn.cjs.map +1 -0
- package/dist-lib/{DocumentViewer-DA2IOO5w.js → DocumentViewer-DesrL_6B.js} +13 -13
- package/dist-lib/DocumentViewer-DesrL_6B.js.map +1 -0
- package/dist-lib/LinkedRecordFileField-BHkiuhQ5.cjs +5 -0
- package/dist-lib/{LinkedRecordFileField-LGZMhRT7.cjs.map → LinkedRecordFileField-BHkiuhQ5.cjs.map} +1 -1
- package/dist-lib/{LinkedRecordFileField-B8mtA4CW.js → LinkedRecordFileField-Banivq2z.js} +3 -3
- package/dist-lib/{LinkedRecordFileField-B8mtA4CW.js.map → LinkedRecordFileField-Banivq2z.js.map} +1 -1
- package/dist-lib/index.cjs +7 -7
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.js +9082 -8896
- package/dist-lib/index.js.map +1 -1
- package/package.json +1 -1
- package/dist-lib/DocumentViewer-DA2IOO5w.js.map +0 -1
- package/dist-lib/DocumentViewer-yILQ8gIK.cjs +0 -2
- package/dist-lib/DocumentViewer-yILQ8gIK.cjs.map +0 -1
- package/dist-lib/LinkedRecordFileField-LGZMhRT7.cjs +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentViewer-yILQ8gIK.cjs","names":[],"sources":["../src/services/documentContentApi.js","../src/components/DocumentViewer.jsx"],"sourcesContent":["import { ensureToken } from './authApi';\nimport { AUTH_URL } from './apiConfig';\n\n// ── Authenticated document content ──────────────────────────────────────────\n//\n// WHY THIS EXISTS\n//\n// Documents live in a PRIVATE S3 bucket. The app was building a raw URL from\n// the stored object key:\n//\n// s3BaseUrl + \"candidate/resume/resume_<id>_<ts>.pdf\"\n//\n// That URL carries no signature, so S3 correctly answers 403 and no resume\n// could be opened. Making the bucket public is not an option.\n//\n// A presigned URL is necessary but NOT sufficient: react-pdf and docx-preview\n// fetch the bytes themselves, and the bucket's CORS policy does not allowlist\n// our origins, so the fetch is blocked even with a valid signature. The\n// backend therefore streams the bytes through our own origin, and we turn them\n// into a blob: URL the viewer can render.\n//\n// THE AUTHORIZATION RULE: this module never sends an S3 key. It names a RECORD\n// and lets the server resolve the key. Sending a key would let any user read\n// any object in the bucket.\n\n/** Error carrying the HTTP status, so callers can distinguish 403 from 404. */\nexport class DocumentAccessError extends Error {\n constructor(message, status) {\n super(message);\n this.name = 'DocumentAccessError';\n this.status = status;\n }\n}\n\nfunction messageForStatus(status, serverMessage) {\n // Distinct messages per status. \"Could not load document\" for all four sends\n // a user to the wrong remedy: a permissions problem and a deleted file need\n // completely different actions.\n switch (status) {\n case 400: return serverMessage || 'This document request was not valid.';\n case 401: return 'Your session has expired. Please sign in again.';\n case 403: return 'You do not have permission to view this document.';\n case 404: return serverMessage || 'This document is no longer available.';\n case 502:\n case 503: return 'Document storage is temporarily unavailable. Please try again.';\n case 504: return 'The document took too long to load. Please try again.';\n default: return serverMessage || 'This document could not be loaded.';\n }\n}\n\n/**\n * fetchDocumentBlob — retrieves a document's bytes through the authenticated\n * backend and returns a Blob.\n *\n * Identify the document by EITHER:\n * { documentId }\n * { module, refId, fieldName }\n *\n * @returns {Promise<{ blob: Blob, contentType: string, fileName: string }>}\n * @throws {DocumentAccessError}\n */\nexport async function fetchDocumentBlob({ documentId, module, refId, fieldName } = {}) {\n const params = new URLSearchParams();\n if (documentId) {\n params.set('documentId', String(documentId));\n } else if (module && refId && fieldName) {\n params.set('module', String(module));\n params.set('refId', String(refId));\n params.set('fieldName', String(fieldName));\n } else {\n throw new DocumentAccessError(\n 'A documentId, or module + refId + fieldName, is required to load a document.',\n 400,\n );\n }\n\n const token = await ensureToken();\n const res = await fetch(`${AUTH_URL}/documents/content?${params.toString()}`, {\n headers: { Authorization: `Bearer ${token}` },\n });\n\n if (!res.ok) {\n // The error body is JSON even though a success is binary.\n let serverMessage = '';\n try {\n const body = await res.json();\n serverMessage = body?.error || body?.message || '';\n } catch {\n // A non-JSON error body is not worth surfacing raw.\n }\n throw new DocumentAccessError(messageForStatus(res.status, serverMessage), res.status);\n }\n\n const blob = await res.blob();\n return {\n blob,\n contentType: res.headers.get('content-type') || blob.type || '',\n fileName: fileNameFromContentDisposition(res.headers.get('content-disposition')),\n };\n}\n\n/**\n * createDocumentObjectUrl — fetches a document and wraps it in a blob: URL.\n *\n * THE CALLER MUST REVOKE the returned url (URL.revokeObjectURL) when the\n * viewer closes, the source changes, or the component unmounts. A blob URL\n * pins its bytes in memory for the lifetime of the document, so an unrevoked\n * multi-megabyte resume is a real leak — and a list view that resolved one per\n * row would exhaust memory. Resolve lazily, on open, never on render.\n *\n * @returns {Promise<{ url: string, revoke: () => void, contentType: string, fileName: string }>}\n */\nexport async function createDocumentObjectUrl(source) {\n const { blob, contentType, fileName } = await fetchDocumentBlob(source);\n const url = URL.createObjectURL(blob);\n let revoked = false;\n return {\n url,\n contentType,\n fileName,\n // Idempotent: revoking twice is harmless, but a guard makes double-revoke\n // in a StrictMode double-invoked effect provably safe.\n revoke: () => {\n if (revoked) return;\n revoked = true;\n URL.revokeObjectURL(url);\n },\n };\n}\n\nfunction fileNameFromContentDisposition(header) {\n if (!header) return '';\n const match = /filename\\*?=(?:UTF-8'')?\"?([^\";]+)\"?/i.exec(header);\n if (!match) return '';\n try {\n return decodeURIComponent(match[1]);\n } catch {\n return match[1];\n }\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createDocumentObjectUrl } from '../services/documentContentApi';\nimport PropTypes from 'prop-types';\nimport { Modal, Spin, Tooltip, message } from 'antd';\nimport {\n CloseOutlined,\n DownloadOutlined,\n FileUnknownOutlined,\n LeftOutlined,\n RightOutlined,\n ZoomInOutlined,\n ZoomOutOutlined,\n} from '@ant-design/icons';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport { renderAsync } from 'docx-preview';\nimport DOMPurify from 'dompurify';\nimport 'react-pdf/dist/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/Page/TextLayer.css';\nimport '../styles/DocumentViewer.css';\n\n// pdf.js needs a web worker; Vite resolves this URL at build time so it works\n// in dev and production without copying files into /public.\npdfjs.GlobalWorkerOptions.workerSrc = new URL(\n 'pdfjs-dist/build/pdf.worker.min.mjs',\n import.meta.url,\n).toString();\n\nconst IMAGE_EXT = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'svg', 'avif', 'ico'];\nconst TEXT_EXT = ['txt', 'csv', 'log', 'json', 'md', 'xml'];\nconst VIDEO_EXT = ['mp4', 'webm', 'ogg', 'ogv', 'mov', 'm4v'];\nconst ZOOM_STEP = 0.2;\nconst ZOOM_MIN = 0.4;\nconst ZOOM_MAX = 3;\n\nfunction fileNameFromUrl(url) {\n if (!url) return 'Document';\n const clean = String(url).split('?')[0].split('#')[0];\n return decodeURIComponent(clean.split('/').pop() || clean) || 'Document';\n}\n\nfunction extOf(nameOrUrl) {\n const clean = String(nameOrUrl || '').split('?')[0].split('#')[0];\n const dot = clean.lastIndexOf('.');\n return dot === -1 ? '' : clean.slice(dot + 1).toLowerCase();\n}\n\nconst KNOWN_BUCKETS = ['pdf', 'docx', 'image', 'text', 'video', 'html'];\n\n// bucketFromExt maps a bare extension (no dot) to a renderer bucket, or null.\nfunction bucketFromExt(ext) {\n if (!ext) return null;\n if (ext === 'pdf') return 'pdf';\n if (ext === 'doc' || ext === 'docx') return 'docx';\n if (IMAGE_EXT.includes(ext)) return 'image';\n if (TEXT_EXT.includes(ext)) return 'text';\n if (VIDEO_EXT.includes(ext)) return 'video';\n return null;\n}\n\n// kindOf maps a document to a renderer bucket: pdf | docx | image | text |\n// video | html | unknown.\n//\n// `doc.type` is normalized rather than trusted verbatim, because it arrives\n// in different shapes depending on the caller: an already-correct bucket\n// name (\"image\", inline html), a bare file extension as the backend upload\n// handler stores it (\"jpg\", \"png\", \"pdf\" — see timesheetController.go's\n// `ext := strings.ToLower(strings.TrimPrefix(filepath.Ext(...), \".\"))`), or a\n// MIME type (\"image/jpeg\"). Returning a bare extension straight through only\n// happened to work for \"pdf\"/\"docx\" because those extensions equal their own\n// bucket name — every image extension (\"jpg\", \"png\", …) doesn't equal\n// \"image\", so it silently fell through to the \"no preview available\"\n// fallback. This maps all three shapes through the same extension table.\nfunction kindOf(doc) {\n const rawType = String(doc.type || '').toLowerCase().trim();\n if (KNOWN_BUCKETS.includes(rawType)) return rawType;\n\n const mimeExt = rawType.includes('/') ? rawType.split('/').pop() : rawType;\n const fromType = bucketFromExt(mimeExt);\n if (fromType) return fromType;\n\n const fromName = bucketFromExt(extOf(doc.name || doc.url));\n if (fromName) return fromName;\n\n return 'unknown';\n}\n\n// normalizeDocs accepts either bare URL strings, file objects, or inline\n// document objects ({ name, type: 'text'|'html', content }).\nfunction normalizeDocs(documents) {\n return (documents || [])\n .map((d, i) => {\n if (typeof d === 'string') {\n return { url: d, name: fileNameFromUrl(d), key: String(i) };\n }\n // `d.location` is deliberately NOT a url fallback any more. It holds a\n // PRIVATE S3 object key, and treating it as a url produced an unsigned\n // request that the bucket answered with 403 — the whole reason resumes\n // would not open. A doc with only a key must carry `authSource` so the\n // bytes are fetched through the authenticated backend instead.\n const url = d.url || d.path || '';\n return {\n url,\n name: d.name || fileNameFromUrl(url || d.location || ''),\n type: d.type,\n content: typeof d.content === 'string' ? d.content : '',\n authSource: d.authSource || null,\n key: String(d.id ?? d._id ?? i),\n };\n })\n .filter((d) => d.url || d.content || d.authSource);\n}\n\n/* ------------------------------- renderers ------------------------------- */\n\nfunction PdfRenderer({ url, scale, onNativeFallback }) {\n const wrapRef = useRef(null);\n const [numPages, setNumPages] = useState(0);\n const [width, setWidth] = useState(0);\n const [error, setError] = useState(false);\n\n useEffect(() => {\n const el = wrapRef.current;\n if (!el) return undefined;\n const update = () => setWidth(el.clientWidth);\n update();\n const ro = new ResizeObserver(update);\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n\n // pdf.js streams the file via its own fetch, which fails cross-origin on\n // storage URLs the bucket's CORS policy doesn't allowlist this origin for\n // (common — see the S3 bucket's CORS config, not something fixable here) —\n // distinct from a plain navigation (an <iframe> load), which is NOT subject\n // to CORS at all and works regardless. Fall back to that rather than\n // dead-ending the preview; the native viewer brings its own zoom/controls,\n // so the toolbar hides its (now inert) zoom buttons via onNativeFallback.\n //\n // This intentionally points the iframe at the raw presigned `url`, not a\n // fetched blob — fetching it would hit the same CORS wall react-pdf just\n // did. Whether this renders inline vs. downloads depends entirely on the\n // `Content-Disposition` the presigned URL responds with; that's set\n // server-side (GetPresignedURLInline in Be_Auth_DevOps) rather than worked\n // around here, so every consumer of the URL — this iframe, a plain link,\n // anything — gets the same correct inline behavior.\n if (error) {\n return <iframe title=\"PDF preview\" src={url} className=\"dv-pdf-native\" />;\n }\n\n return (\n <div ref={wrapRef} className=\"dv-pdf-wrap\">\n <Document\n file={url}\n loading={<Spin />}\n error={<FallbackStage label=\"This PDF could not be displayed.\" />}\n onLoadSuccess={({ numPages: n }) => setNumPages(n)}\n onLoadError={() => {\n setError(true);\n onNativeFallback?.();\n }}\n >\n {Array.from({ length: numPages }, (_, i) => (\n <Page\n key={`page-${i + 1}`}\n pageNumber={i + 1}\n width={width ? width * scale : undefined}\n className=\"dv-pdf-page\"\n renderTextLayer\n renderAnnotationLayer\n />\n ))}\n </Document>\n </div>\n );\n}\n\nPdfRenderer.propTypes = {\n url: PropTypes.string.isRequired,\n scale: PropTypes.number.isRequired,\n onNativeFallback: PropTypes.func,\n};\n\nfunction DocxRenderer({ url }) {\n const ref = useRef(null);\n const [status, setStatus] = useState('loading'); // loading | ready | error\n\n useEffect(() => {\n let cancelled = false;\n\n fetch(url)\n .then((r) => {\n if (!r.ok) throw new Error(`HTTP ${r.status}`);\n return r.blob();\n })\n .then((blob) => {\n if (cancelled || !ref.current) return undefined;\n ref.current.innerHTML = '';\n return renderAsync(blob, ref.current, undefined, {\n className: 'dv-docx',\n inWrapper: true,\n ignoreWidth: false,\n ignoreHeight: false,\n });\n })\n .then(() => {\n if (!cancelled) setStatus('ready');\n })\n .catch(() => {\n if (!cancelled) setStatus('error');\n });\n\n return () => {\n cancelled = true;\n };\n }, [url]);\n\n if (status === 'error') {\n return <FallbackStage label=\"This document could not be displayed.\" />;\n }\n\n return (\n <div className=\"dv-docx-scroll\">\n {status === 'loading' && <div className=\"dv-center\"><Spin /></div>}\n <div ref={ref} style={{ visibility: status === 'ready' ? 'visible' : 'hidden' }} />\n </div>\n );\n}\n\nDocxRenderer.propTypes = { url: PropTypes.string.isRequired };\n\nfunction TextRenderer({ url, content = '' }) {\n const [text, setText] = useState(null);\n const [status, setStatus] = useState('loading');\n\n useEffect(() => {\n if (content) return undefined;\n\n let cancelled = false;\n fetch(url)\n .then((r) => {\n if (!r.ok) throw new Error(`HTTP ${r.status}`);\n return r.text();\n })\n .then((t) => {\n if (!cancelled) {\n setText(t);\n setStatus('ready');\n }\n })\n .catch(() => !cancelled && setStatus('error'));\n return () => {\n cancelled = true;\n };\n }, [content, url]);\n\n if (content) return <pre className=\"dv-text\">{content}</pre>;\n if (status === 'loading') return <div className=\"dv-center\"><Spin /></div>;\n if (status === 'error') return <FallbackStage label=\"This file could not be displayed.\" />;\n return <pre className=\"dv-text\">{text}</pre>;\n}\n\nTextRenderer.propTypes = {\n url: PropTypes.string,\n content: PropTypes.string,\n};\n\nfunction HtmlRenderer({ content }) {\n const safeHtml = useMemo(() => DOMPurify.sanitize(content), [content]);\n return <div className=\"dv-html\" dangerouslySetInnerHTML={{ __html: safeHtml }} />;\n}\n\nHtmlRenderer.propTypes = { content: PropTypes.string.isRequired };\n\nfunction ImageRenderer({ url, name, scale }) {\n const [error, setError] = useState(false);\n if (error) return <FallbackStage label=\"This image could not be displayed.\" />;\n return (\n <div className=\"dv-image-wrap\">\n <img\n className=\"dv-image\"\n src={url}\n alt={name}\n style={{ transform: `scale(${scale})` }}\n onError={() => setError(true)}\n />\n </div>\n );\n}\n\nImageRenderer.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n scale: PropTypes.number.isRequired,\n};\n\nfunction VideoRenderer({ url, name }) {\n const [error, setError] = useState(false);\n if (error) return <FallbackStage label=\"This video could not be played.\" />;\n return (\n <div className=\"dv-video-wrap\">\n <video\n className=\"dv-video\"\n src={url}\n title={name}\n controls\n preload=\"metadata\"\n controlsList=\"nodownload\"\n onError={() => setError(true)}\n />\n </div>\n );\n}\n\nVideoRenderer.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n};\n\nfunction FallbackStage({ label }) {\n return (\n <div className=\"dv-center dv-fallback\">\n <FileUnknownOutlined className=\"dv-fallback-icon\" />\n <p>{label}</p>\n <span className=\"dv-fallback-hint\">Use the download button to open it.</span>\n </div>\n );\n}\n\nFallbackStage.propTypes = { label: PropTypes.string.isRequired };\n\n/* ----------------------------- main component ---------------------------- */\n\n/**\n * useAuthenticatedDocument — turns a doc carrying `authSource` into one\n * carrying a usable blob: `url`.\n *\n * Returns { doc, loading, error }. A doc that already has a url passes through\n * untouched, so this costs nothing for inline content and public links.\n *\n * REVOCATION is the point of the cleanup function: a blob URL keeps its bytes\n * alive until revoked, so a multi-megabyte resume leaks for the lifetime of\n * the page if this is skipped. The effect revokes on document change, on\n * viewer close (ViewerBody unmounts — the Modal uses destroyOnHidden), and on\n * a superseded in-flight fetch.\n */\nfunction useAuthenticatedDocument(doc) {\n // State carries the key it belongs to, so a stale result is detectable\n // during render. That removes the need to reset via setState inside the\n // effect body, which causes a cascading render (and is a lint error).\n const [state, setState] = useState({ key: '', url: '', error: '' });\n\n const source = doc?.authSource;\n // Stringified so the effect compares by VALUE. An object identity dependency\n // would refetch on every parent render and leak one blob per render.\n const sourceKey = source ? JSON.stringify(source) : '';\n const alreadyUsable = Boolean(doc?.url || doc?.content);\n const needsFetch = Boolean(sourceKey) && !alreadyUsable;\n\n useEffect(() => {\n if (!needsFetch) return undefined;\n\n let cancelled = false;\n let revokeFn = null;\n\n createDocumentObjectUrl(JSON.parse(sourceKey))\n .then(({ url, revoke }) => {\n revokeFn = revoke;\n // Losing the race means the user already moved on: revoke immediately\n // rather than handing back a URL nothing will ever revoke.\n if (cancelled) {\n revoke();\n return;\n }\n setState({ key: sourceKey, url, error: '' });\n })\n .catch((error) => {\n if (cancelled) return;\n setState({\n key: sourceKey,\n url: '',\n error: error?.message || 'This document could not be loaded.',\n });\n });\n\n return () => {\n cancelled = true;\n if (revokeFn) revokeFn();\n };\n }, [needsFetch, sourceKey]);\n\n if (!doc) return { doc: null, loading: false, error: '' };\n if (!needsFetch) return { doc, loading: false, error: '' };\n\n // A result from a PREVIOUS document must never be shown against this one.\n const settled = state.key === sourceKey;\n if (!settled) return { doc, loading: true, error: '' };\n if (state.error) return { doc, loading: false, error: state.error };\n return { doc: state.url ? { ...doc, url: state.url } : doc, loading: false, error: '' };\n}\n\n// ViewerBody holds the per-session state (active index + zoom). It lives inside\n// the Modal body, which is destroyed on close (destroyOnHidden), so it remounts\n// fresh on every open — no manual \"reset on open\" effects required.\nfunction ViewerBody({ docs, initialIndex, onClose }) {\n const total = docs.length;\n const safeInitial = Math.min(Math.max(initialIndex, 0), Math.max(0, total - 1));\n const [index, setIndex] = useState(safeInitial);\n const [scale, setScale] = useState(1);\n // Set when a PDF falls back to the browser's native viewer (see\n // PdfRenderer) — that viewer has its own zoom UI, so ours would sit there\n // doing nothing if left visible.\n const [pdfNativeFallback, setPdfNativeFallback] = useState(false);\n\n // Resolve the ACTIVE document's bytes through the authenticated backend when\n // all we hold is a private-bucket object key.\n //\n // Lazy by design — only the document actually being viewed is fetched. A\n // blob: URL pins its bytes in memory until revoked, so resolving every\n // document in the list up front would hold a whole attachment set resident\n // for as long as the viewer is open.\n const resolved = useAuthenticatedDocument(docs[index]);\n const current = resolved.doc;\n const kind = current ? kindOf(current) : 'unknown';\n const zoomable = (kind === 'pdf' && !pdfNativeFallback) || kind === 'image';\n\n // setActive changes the document and resets zoom/fallback in one event\n // handler, so we never have to reset them from an effect.\n const setActive = useCallback((next) => {\n setIndex(next);\n setScale(1);\n setPdfNativeFallback(false);\n }, []);\n\n const goPrev = useCallback(() => setActive(Math.max(0, index - 1)), [index, setActive]);\n const goNext = useCallback(\n () => setActive(Math.min(total - 1, index + 1)),\n [index, total, setActive],\n );\n\n // Keyboard navigation.\n useEffect(() => {\n const onKey = (e) => {\n // A focused <video> uses arrow keys to seek — don't switch documents.\n if (e.target?.tagName === 'VIDEO') return;\n if (e.key === 'ArrowLeft') goPrev();\n else if (e.key === 'ArrowRight') goNext();\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [goPrev, goNext]);\n\n const download = useCallback(async (doc) => {\n if (!doc) return;\n try {\n let blob;\n if (doc.content) {\n const mimeType = doc.type === 'html' ? 'text/html;charset=utf-8' : 'text/plain;charset=utf-8';\n blob = new Blob([doc.content], { type: mimeType });\n } else {\n const res = await fetch(doc.url);\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n blob = await res.blob();\n }\n const objUrl = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = objUrl;\n a.download = doc.name || 'document';\n document.body.appendChild(a);\n a.click();\n a.remove();\n URL.revokeObjectURL(objUrl);\n } catch {\n // Cross-origin without CORS: fall back to opening in a new tab.\n message.info('Opening file in a new tab…');\n if (doc.url) window.open(doc.url, '_blank', 'noopener,noreferrer');\n }\n }, []);\n\n function renderStage() {\n if (!current) {\n return <FallbackStage label=\"No document to preview.\" />;\n }\n // States are distinct on purpose. One generic \"could not load\" message\n // sends the user to the wrong remedy — \"you lack permission\", \"the file is\n // gone\" and \"storage is briefly down\" need three different actions, and\n // the backend already classifies them (403 / 404 / 502).\n if (resolved.error) {\n return <FallbackStage label={resolved.error} />;\n }\n if (resolved.loading) {\n return <FallbackStage label=\"Loading document…\" />;\n }\n switch (kind) {\n case 'pdf':\n return (\n <PdfRenderer\n key={current.key}\n url={current.url}\n scale={scale}\n onNativeFallback={() => setPdfNativeFallback(true)}\n />\n );\n case 'docx':\n return <DocxRenderer key={current.key} url={current.url} />;\n case 'image':\n return (\n <ImageRenderer key={current.key} url={current.url} name={current.name} scale={scale} />\n );\n case 'text':\n return <TextRenderer key={current.key} url={current.url} content={current.content} />;\n case 'html':\n return <HtmlRenderer key={current.key} content={current.content} />;\n case 'video':\n return <VideoRenderer key={current.key} url={current.url} name={current.name} />;\n default:\n return <FallbackStage label=\"Preview is not available for this file type.\" />;\n }\n }\n\n return (\n <div className=\"dv-root\">\n {/* toolbar */}\n <div className=\"dv-toolbar\">\n <div className=\"dv-title\" title={current?.name}>\n <span className=\"dv-title-text\">{current?.name || 'Document'}</span>\n {total > 1 && <span className=\"dv-counter\">{index + 1} / {total}</span>}\n </div>\n <div className=\"dv-actions\">\n {zoomable && (\n <>\n <Tooltip title=\"Zoom out\">\n <button\n type=\"button\"\n className=\"dv-icon-btn\"\n onClick={() => setScale((s) => Math.max(ZOOM_MIN, +(s - ZOOM_STEP).toFixed(2)))}\n disabled={scale <= ZOOM_MIN}\n >\n <ZoomOutOutlined />\n </button>\n </Tooltip>\n <span className=\"dv-zoom-label\">{Math.round(scale * 100)}%</span>\n <Tooltip title=\"Zoom in\">\n <button\n type=\"button\"\n className=\"dv-icon-btn\"\n onClick={() => setScale((s) => Math.min(ZOOM_MAX, +(s + ZOOM_STEP).toFixed(2)))}\n disabled={scale >= ZOOM_MAX}\n >\n <ZoomInOutlined />\n </button>\n </Tooltip>\n <span className=\"dv-divider\" />\n </>\n )}\n <Tooltip title=\"Download\">\n <button type=\"button\" className=\"dv-icon-btn dv-download\" onClick={() => download(current)}>\n <DownloadOutlined />\n </button>\n </Tooltip>\n <Tooltip title=\"Close\">\n <button type=\"button\" className=\"dv-icon-btn\" onClick={onClose}>\n <CloseOutlined />\n </button>\n </Tooltip>\n </div>\n </div>\n\n {/* stage + slider arrows */}\n <div className=\"dv-stage\">\n {total > 1 && (\n <button\n type=\"button\"\n className=\"dv-nav dv-nav--prev\"\n onClick={goPrev}\n disabled={index === 0}\n aria-label=\"Previous document\"\n >\n <LeftOutlined />\n </button>\n )}\n\n <div className=\"dv-canvas\">{renderStage()}</div>\n\n {total > 1 && (\n <button\n type=\"button\"\n className=\"dv-nav dv-nav--next\"\n onClick={goNext}\n disabled={index === total - 1}\n aria-label=\"Next document\"\n >\n <RightOutlined />\n </button>\n )}\n </div>\n\n {/* dots */}\n {total > 1 && (\n <div className=\"dv-dots\">\n {docs.map((d, i) => (\n <button\n key={d.key}\n type=\"button\"\n className={`dv-dot${i === index ? ' dv-dot--active' : ''}`}\n onClick={() => setActive(i)}\n aria-label={`Go to document ${i + 1}`}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n\nViewerBody.propTypes = {\n docs: PropTypes.arrayOf(PropTypes.object).isRequired,\n initialIndex: PropTypes.number.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\n// DocumentViewer is the public component: a Modal shell that mounts ViewerBody\n// only while open. `documents` may be URL strings or document objects.\n//\n// Pass `inline` to render ViewerBody directly with no Modal — used by the timesheet\n// manager review, which shows the uploaded screenshot side-by-side with the calendar\n// rather than in a popup. Everything ViewerBody already does (pdf/image/docx render,\n// zoom, download, multi-document navigation) comes along for free.\nexport default function DocumentViewer({ documents, open, onClose, initialIndex = 0, inline = false }) {\n const docs = useMemo(() => normalizeDocs(documents), [documents]);\n\n if (inline) {\n return (\n <div className=\"dv-root--inline\">\n <ViewerBody docs={docs} initialIndex={initialIndex} onClose={onClose ?? (() => {})} />\n </div>\n );\n }\n\n return (\n <Modal\n open={open}\n onCancel={onClose}\n footer={null}\n title={null}\n closable={false}\n centered\n width=\"min(1100px, 94vw)\"\n className=\"dv-modal\"\n styles={{ content: { padding: 0, overflow: 'hidden', borderRadius: 14 }, body: { padding: 0 } }}\n destroyOnHidden\n >\n <ViewerBody docs={docs} initialIndex={initialIndex} onClose={onClose} />\n </Modal>\n );\n}\n\nDocumentViewer.propTypes = {\n // URL strings, file objects, or inline objects ({ content, type: 'text'|'html' }).\n documents: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n ).isRequired,\n // Required for the Modal shell; unused (and optional) when `inline` is set.\n open: PropTypes.bool,\n onClose: PropTypes.func,\n initialIndex: PropTypes.number,\n // Render the viewer body directly, with no Modal wrapper.\n inline: PropTypes.bool,\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-Chgba0Kb.cjs"),t=require("./authApi-B9mjMdVC.cjs"),n=require("./diceCandidateMapper-BjMhHno3.cjs");let r=require("react");r=e.n(r,1);let i=require("antd"),a=require("@ant-design/icons"),o=require("react/jsx-runtime"),s=require("dayjs");s=e.n(s,1);let c=require("dayjs/plugin/utc");c=e.n(c,1);let l=require("dayjs/plugin/timezone");l=e.n(l,1);let u=require("react-router-dom"),d=require("@tiptap/react"),f=require("@tiptap/starter-kit");f=e.n(f,1);let p=require("@tiptap/extension-link");p=e.n(p,1);let m=require("@tiptap/extension-underline");m=e.n(m,1);let h=require("@tiptap/extension-table"),g=require("prop-types");g=e.n(g,1);let _=require("dompurify");_=e.n(_,1);var v=`/admin/field-config`,y=[{key:`clients`,apiModule:`clients`},{key:`job`,apiModule:`jobs`},{key:`candidate`,apiModule:`candidates`},{key:`submissions`,apiModule:`submissions`},{key:`onboarding`,apiModule:`onboarding`},{key:`billing`,apiModule:`billing`},{key:`payroll`,apiModule:`payroll`}];function b(...e){return e.find(Array.isArray)??[]}function x(e,t,n){return t.map(t=>e?.[t]).find(e=>e!=null&&e!==``)??n}function S(e,t){return e?.total??e?.totalCount??e?.count??e?.recordsTotal??e?.meta?.total??e?.pagination?.total??t.length}function C(e,t){let n=x(e,[`label`,`Label`,`fieldName`,`field_name`,`name`,`fieldLabel`,`value`],`Field ${t+1}`),r=x(e,[`field`,`Field`,`fieldKey`,`field_key`,`key`,`value`,`fieldName`,`name`],n),i=x(e,[`isVisible`,`is_visible`,`visible`,`show`,`is_show`,`isShow`,`enabled`],!0),a=x(e,[`ismandatory`,`isMandatory`,`is_mandatory`,`mandatory`,`required`,`req`],!1),o=x(e,[`order`,`Order`,`sortOrder`,`position`],t);return{...e,fieldKey:r,fieldName:n,type:x(e,[`type`,`Type`],`text`),isVisible:typeof i==`string`?![`false`,`0`,`hide`,`hidden`,`no`].includes(i.toLowerCase()):!!i,ismandatory:typeof a==`string`?[`true`,`1`,`yes`,`required`].includes(a.toLowerCase()):!!a,order:typeof o==`number`?o:t,isLink:!!e.isLink,linkTemplate:e.linkTemplate??``,linkType:e.linkType??`internal`,linkTarget:e.linkTarget??`_self`,action:e.action??`navigate`,secondaryField:e.secondaryField??``,secondaryLabel:e.secondaryLabel??``,secondaryFields:Array.isArray(e.secondaryFields)?e.secondaryFields:[],secondarySeparator:e.secondarySeparator??``,lookup:e.lookup?{...e.lookup,projectFields:Array.isArray(e.lookup.projectFields)?e.lookup.projectFields:[]}:null,derived:e.derived??null,computed:e.computed?{...e.computed,operands:Array.isArray(e.computed.operands)?e.computed.operands:[]}:null,actionButtons:Array.isArray(e.actionButtons)?e.actionButtons:[],renderType:e.renderType??``,renderConfig:e.renderConfig?{...e.renderConfig,treatZeroAsEmpty:!!e.renderConfig.treatZeroAsEmpty,cleanEmptyTemplateSeparators:!!e.renderConfig.cleanEmptyTemplateSeparators}:null,valueStyles:Array.isArray(e.valueStyles)?e.valueStyles:[],commonStyle:e.commonStyle??null,displayTemplate:e.displayTemplate??``,defaultValue:e.defaultValue??``,dataSource:e.dataSource??`module`,groupName:e.groupName??``,filterGroupFields:Array.isArray(e.filterGroupFields)?e.filterGroupFields:[],filterGroupSeparator:e.filterGroupSeparator??` `}}function ee(e){if(typeof e==`string`)return{key:e,apiModule:e};let t=x(e,[`key`,`moduleKey`,`value`,`module`,`apiModule`,`name`,`modulename`,`menuName`],``);return t?{key:t,apiModule:x(e,[`apiModule`,`api_module`,`module`,`value`,`key`,`name`,`modulename`,`menuName`],t)}:null}function w(e=y){let t=Array.isArray(e)&&e.length?e:y,n=new Set;return t.map(ee).filter(Boolean).filter(e=>!n.has(e.key)&&(n.add(e.key),!0))}var T=`/admin/modules`;async function te(){let e=await t.o(t.x,T),n=e?.data;return Array.isArray(n)?n:Array.isArray(e)?e:[]}async function ne(e){let n=await t.o(t.x,`${T}/${encodeURIComponent(e)}/automations`),r=n?.data??n??{};return{gateway:r.gateway??null,strategies:r.strategies??null}}async function re(e){let n=await t.o(t.x,`/admin/platform/${e}`),r=n?.data??n;return Array.isArray(r)?r:[]}async function ie(e,n){return t.o(t.x,`/admin/platform/${e}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}async function ae(e,n){return t.o(t.x,`/admin/platform/${e}/${encodeURIComponent(n)}`,{method:`DELETE`})}async function oe(e,{gateway:n,strategies:r}){return t.o(t.x,`${T}/${encodeURIComponent(e)}/automations`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({gateway:n,strategies:r})})}async function se(){let e=[];try{e=await Ot()}catch{e=[]}let t=(Array.isArray(e)?e:[]).filter(e=>e?.isDeleted!==!0&&String(e?.status??`active`).toLowerCase()!==`inactive`&&String(e?.status??`active`).toLowerCase()!==`disabled`);return t.length>0?t:te()}async function ce(){let e;try{e=await te()}catch{return{}}let t={},n=(e,n,r)=>{let i=String(e??``).trim().toLowerCase();!i||!n||(r||t[i]===void 0)&&(t[i]=n)};for(let t of Array.isArray(e)?e:[]){let e=String(t?.collectionName??``).trim();e&&n(t?.key,e,!0)}for(let t of Array.isArray(e)?e:[]){let e=String(t?.collectionName??``).trim(),r=String(t?.key??``).trim().toLowerCase();!e||!r||(r.endsWith(`s`)?n(r.slice(0,-1),e,!1):n(`${r}s`,e,!1))}return t}var le=`/admin/form-groups`,ue=`/admin/config-defaults`,de=`000000000000000000000000`;function fe(e){let t=String(e??``).trim();return t===``||t===de}function pe(e={}){let t=new URLSearchParams;e.module&&t.set(`module`,e.module),e.clientId&&t.set(`clientId`,e.clientId),e.region&&t.set(`region`,e.region);let n=t.toString();return n?`?${n}`:``}async function me(e=``,n={}){let r=`${le}${pe({...n,module:e||n.module||``})}`,i=await t.o(t.x,r),a=i?.data;return Array.isArray(a)?a:a&&Array.isArray(a.groups)?a.groups:Array.isArray(i)?i:i&&Array.isArray(i.groups)?i.groups:[]}async function he({offset:e=0,limit:n=100,sortBy:r=`new`,searchvalue:i=``}={}){let a=new URLSearchParams({offset:String(e),limit:String(n),sortBy:r,searchvalue:i}),o=localStorage.getItem(`tenantId`)||``,s=localStorage.getItem(`businessId`)||``,c=localStorage.getItem(`businessUnitId`)||``;o&&a.set(`tenantId`,o),s&&a.set(`businessId`,s),c&&a.set(`businessUnitId`,c);let l=await t.o(t.x,`/client/view?${a.toString()}`),u=l?.data??l;return u?.clients??u?.Clients??u?.items??[]}async function ge(e){let n=await t.o(t.x,`/filter-dropdown-fields?module=${encodeURIComponent(e)}`),r=n?.data??n;return Array.isArray(r)?r:[]}async function _e(e,n={}){return t.o(t.x,`${le}${pe(n)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}async function ve(e,n,r={}){return t.o(t.x,`${le}/${e}${pe(r)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}async function ye(e,n={}){return t.o(t.x,`${le}/${e}${pe(n)}`,{method:`DELETE`})}async function be(e,n){return t.o(t.x,`${ue}/request-otp`,{method:`POST`,body:JSON.stringify({scope:e,action:n})})}async function xe(e,n,r){return t.o(t.x,`${ue}/apply`,{method:`POST`,body:JSON.stringify({scope:e,action:n,otp:r})})}var Se=`/admin/detail-config`;async function Ce(e,n={}){let r=pe({module:e,clientId:n.clientId}),i=await t.o(t.x,`${Se}${r}`),a=i?.data??i??{};return{module:a.module??e,clientId:fe(a.clientId)?``:String(a.clientId),fields:Array.isArray(a.fields)?a.fields:[],merges:Array.isArray(a.merges)?a.merges:[],sourceFields:Array.isArray(a.sourceFields)?a.sourceFields:[],groups:Array.isArray(a.groups)?a.groups:[]}}async function we({module:e,fields:n=[],merges:r=[],sourceFields:i=[],groups:a=[],clientId:o=``}){return t.o(t.x,Se,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({module:e,fields:n,merges:r,sourceFields:i,groups:a,...o?{clientId:o}:{}})})}async function Te({module:e,clientId:n=``,otp:r}){return t.o(t.x,`${Se}/discover-fields`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({module:e,otp:r,...n?{clientId:n}:{}})})}var Ee=`/admin/detail-defaults`;async function De(){let e=await t.o(t.x,Ee);return e?.data??e??{}}async function Oe(e){return t.o(t.x,Ee,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}var ke=`/admin/ai-service-config`;async function Ae(){let e=await t.o(t.x,ke);return e?.data??e??[]}async function je(e){return t.o(t.x,ke,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}async function Me(e){return t.o(t.x,`${ke}?serviceKey=${encodeURIComponent(e)}`,{method:`DELETE`})}async function Ne({baseUrl:e,authHeader:n,authValue:r}){let i=await t.o(t.x,`${ke}/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({baseUrl:e,authHeader:n,authValue:r})});return i?.data??i}var Pe=`/admin/bgc-integration-config`;async function Fe(){let e=await t.o(t.x,Pe);return e?.data??e??{updateMethod:`MANUAL`,enabled:!0}}async function Ie(e){return t.o(t.x,Pe,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}async function Le(){let e=await t.o(t.x,`/integration-config/bgc/summary`);return e?.data??e??{updateMethod:`MANUAL`,enabled:!0}}var E=`/admin/integration-config`;async function Re(){let e=await t.o(t.x,E);return e?.data??e??[]}async function ze(e){let n=await t.o(t.x,`${E}/${encodeURIComponent(e)}`);return n?.data??n}async function Be(e){let n=e?.integrationKey,r=n?`${E}/${encodeURIComponent(n)}`:E;return t.o(t.x,r,{method:n?`PUT`:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}async function Ve(e){return t.o(t.x,`${E}/${encodeURIComponent(e)}`,{method:`DELETE`})}async function He(e){let n=await t.o(t.x,`${E}/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});return n?.data??n}async function Ue(e){let n=await t.o(t.x,`/integration-config/${encodeURIComponent(e)}/summary`);return n?.data??n}async function We(e,n,r){let i=await t.o(t.x,`/integration-config/${encodeURIComponent(e)}/apply-status/${encodeURIComponent(n)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)});return i?.data??i}function Ge(e){return{key:e.role_id??e.id,roleId:e.role_id??e.id,roleName:e.role_name??`N/A`,description:e.role_description??`N/A`,userCount:e.user_count??0,roleType:e.role_type??0,raw:e}}function D(e){return e?.raw?.role_id??e?.roleId??e?.key}async function Ke(){let e=await t.o(t.x,`/get-roles`),n=e.data??e,r=b(n?.zinnext_default).map(Ge),i=b(n?.custom_roles).map(Ge),a=[...r,...i];return{roles:a,total:a.length}}function qe(e){return{key:e.teamId,teamId:e.teamId,teamName:e.teamName??`N/A`,manager:e.reportingManager??`N/A`,managerId:e.reportingManagerId??0,memberCount:e.noOfTeamMembers??0,members:b(e.teamMembers),memberIds:b(e.teamMembersIds),raw:e}}function Je(e){return e?.raw?.teamId??e?.teamId??e?.key}async function Ye({offset:e=0,limit:n=10,sortBy:r=`new`,search:i=``}={}){let a=new URLSearchParams({searchquery:i,sortBy:r,limit:String(n),offset:String(e)}),o=await t.o(t.x,`/get-teams?${a}`),s=o.data??o,c=b(s?.teams,s,o?.teams),l=s?.totalCount??s?.total??c.length;return{teams:c.map(qe),total:l}}async function Xe(e,{teamName:n,managerId:r,memberIds:i=[]}){let a=Je(e);return t.o(t.x,`/team/edit?teamId=${a}`,{method:`PUT`,body:JSON.stringify({team_name:n,team_manager:r,other_team_members:i,reporting_team_member:[]})})}async function Ze(e,n,r,i=`listView`,a=!1){let o=new URLSearchParams({module:e,userId:`0`,[n]:String(r),configType:i});a&&(!i||i===`listView`)&&o.set(`includeMeta`,`1`);let s=await t.o(t.x,`${v}?${o}`),c=s.data??s,l=b(c,c?.visibleFields,s?.visibleFields);return a?{fields:l,dataVisibilityMode:c?.dataVisibilityMode??s?.dataVisibilityMode??`all`,dataOwnerField:c?.dataOwnerField??s?.dataOwnerField??`createdBy`}:l}async function Qe(e,t=`listView`,n=y){let r=D(e),i=w(n),a=await Promise.all(i.map(async({key:e,apiModule:n})=>[e,(await Ze(n,`roleId`,r,t)).map((t,i)=>({...C(t,i),module:e,apiModule:n,roleId:r}))]));return Object.fromEntries(a)}async function $e(e,t=`listView`,n=y){let r=D(e),i=w(n),a=await Promise.all(i.map(async({key:e,apiModule:n})=>{let i=await Ze(n,`roleId`,r,t,!0);return[e,{fields:i.fields.map((t,i)=>({...C(t,i),module:e,apiModule:n,roleId:r})),dataVisibilityMode:i.dataVisibilityMode??`all`,dataOwnerField:i.dataOwnerField??`createdBy`}]}));return Object.fromEntries(a)}async function et(e,t=`listView`){let n=Je(e),r=await Promise.all(y.map(async({key:e,apiModule:r})=>[e,(await Ze(r,`teamId`,n,t)).map((t,i)=>({...C(t,i),module:e,apiModule:r,teamId:n}))]));return Object.fromEntries(r)}function tt(e){if(!e?.lookup)return null;let t={...e.lookup},n=String(t.localField??``).trim()||String(e.fieldKey??``).trim(),r=String(t.valueField??t.foreignField??``).trim()||`_id`,i=String(t.displayField??t.projectField??``).trim(),a=String(t.displayField2??``).trim(),o=Array.isArray(t.projectFields)?t.projectFields.map(e=>String(e??``).trim()).filter(Boolean):[];return o.length===0&&(o=[i,a].filter(Boolean)),{...t,localField:n,valueField:r,displayField:i,...a?{displayField2:a}:{},projectFields:o}}function nt(e,t){let n=!t||t===`listView`;return e.map((e,r)=>{let i={label:e.fieldName,field:e.fieldKey,isVisible:e.isVisible,type:e.type??`text`,order:e.order??r};return n?Object.assign(i,{isLink:e.isLink??!1,linkTemplate:e.linkTemplate??``,linkType:e.linkType??`internal`,linkTarget:e.linkTarget??`_self`,action:e.action??`navigate`,secondaryField:e.secondaryField??``,secondaryLabel:e.secondaryLabel??``,secondaryFields:Array.isArray(e.secondaryFields)?e.secondaryFields:[],secondarySeparator:e.secondarySeparator??``,lookup:tt(e),actionButtons:e.actionButtons??[],derived:e.derived??null,computed:e.computed??null,renderType:e.renderType??``,valueStyles:Array.isArray(e.valueStyles)?e.valueStyles:[],commonStyle:e.commonStyle??null,displayTemplate:e.displayTemplate??``,defaultValue:e.defaultValue??``,renderConfig:e.renderConfig?{...e.renderConfig,treatZeroAsEmpty:!!e.renderConfig.treatZeroAsEmpty,cleanEmptyTemplateSeparators:!!e.renderConfig.cleanEmptyTemplateSeparators}:null}):(i.isEditable=e.isEditable??!1,i.ismandatory=e.ismandatory??e.isMandatory??!1,t===`filter`?(i.filterInputType=e.filterInputType??`dropdown`,i.isDefaultFilter=!!e.isDefaultFilter,i.dataSource=e.dataSource??`module`,e.dataSource===`group`&&(i.groupName=e.groupName??``),i.filterGroupFields=Array.isArray(e.filterGroupFields)?e.filterGroupFields:[],i.filterGroupSeparator=e.filterGroupSeparator??` `,e.lookup&&(i.lookup=e.lookup)):[`select`,`radio`,`checkbox`].includes(e.type)&&(i.dataSource=e.dataSource??`module`,e.dataSource===`group`&&(i.groupName=e.groupName??``))),i})}async function rt(e,n,r,i=`listView`,a=y,o=``,s=`createdBy`){let c=D(e),l=w(a).find(e=>e.key===n)?.apiModule??n;return t.o(t.x,`${v}/role`,{method:`PUT`,body:JSON.stringify({module:l,roleId:c,configType:i,visibleFields:nt(r,i),...(!i||i===`listView`)&&o?{dataVisibilityMode:o,dataOwnerField:String(s||`createdBy`).trim()||`createdBy`}:{}})})}var it=`/admin/role-form-permissions`;function at(e){return`__group__:${e}`}async function ot(e,n,r={}){let i=D(e),a=new URLSearchParams({module:n,roleId:String(i??``)});r.clientId&&a.set(`clientId`,r.clientId),r.region&&a.set(`region`,r.region);let o=await t.o(t.x,`${it}?${a}`),s=o?.data??o;return Array.isArray(s)?s:[]}async function st(e,n,r){let i=D(e),a=[],o=0;for(let e of r){e.locked||a.push({label:e.label,field:at(e.name),isVisible:e.enabled,isEditable:e.editable!==!1,order:o++});for(let t of e.fields??[])t.locked||a.push({label:t.label,field:t.field,isVisible:t.enabled,isEditable:t.editable!==!1,order:o++})}return t.o(t.x,`${v}/role`,{method:`PUT`,body:JSON.stringify({module:n,roleId:i,configType:`form`,visibleFields:a})})}async function ct(e,n,r,i=`listView`){let a=Je(e),o=y.find(e=>e.key===n)?.apiModule??n;return t.o(t.x,`${v}/team`,{method:`PUT`,body:JSON.stringify({module:o,teamId:a,configType:i,visibleFields:nt(r,i)})})}async function lt({offset:e=0,limit:n=10,sortBy:r=`new`,searchQuery:i=``}={}){let a=new URLSearchParams({offset:String(e),limit:String(n),sortBy:r});i&&a.set(`searchquery`,i);let o=await t.o(t.x,`/get-all-users?${a}`),s=o.data??o,c=b(s,o.users,o.rows,o.items,o.records,s?.users,s?.data,s?.rows,s?.items,s?.records,s?.docs,s?.result,s?.results);return{users:c,total:S({...o,...s},c)}}async function ut(e=[]){return t.o(t.x,`${v}/seed`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({collections:e})})}async function dt(){let e=await t.o(t.x,`${v}/seed-status`),n=e?.data??e??{};return{modules:Array.isArray(n.modules)?n.modules:[],seededModules:n.seededModules??{}}}async function ft(e){let n=localStorage.getItem(`authToken`),r=new FormData;r.append(`icon`,e);let i=await fetch(`${t.x}/admin/field-config/action-icon`,{method:`POST`,headers:{Authorization:`Bearer ${n}`},body:r});if(!i.ok){let e=Error(`Upload failed: ${i.status}`);throw e.status=i.status,e}let a=await i.json();return a.data??a}async function pt(){let[e,t,n]=await Promise.all([se().catch(()=>[]),Tt().catch(()=>[]),Kt().catch(()=>[])]),r=Array.isArray(e)?e:[],i=n.map(e=>String(e?.module??``).trim()).filter(Boolean);return[...r,...Array.isArray(t)?t:[],...i]}async function mt(e,{page:n=1,limit:r=100}={}){let i=new URLSearchParams({module:e,page:String(n),limit:String(r)}),a=await t.o(t.x,`/module/list?${i}`),o=a?.data??a??{};return{items:Array.isArray(o.data)?o.data:[],total:o.pagination?.total??0}}async function ht(e,n){return t.o(t.x,`/module/create?module=${encodeURIComponent(e)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}async function gt(e,n,r){return t.o(t.x,`/module/update/${encodeURIComponent(n)}?module=${encodeURIComponent(e)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)})}async function _t(e,n){return t.o(t.x,`/module/delete/${encodeURIComponent(n)}?module=${encodeURIComponent(e)}`,{method:`DELETE`})}async function vt(e=``,n=50){let r=new URLSearchParams({search:e,limit:String(n),offset:`0`}),i=await t.o(t.x,`/admin/location-dropdown-values?${r}`),a=i?.data??i??[];return(Array.isArray(a)?a:[]).map(e=>{let t=typeof e==`string`?e:e.label??e.value??``;return{label:t,value:t}}).filter(e=>e.label)}async function yt(e,n,r=`_id`){let i=new URLSearchParams({collection:String(e),displayField:String(n),valueField:String(r)}),a=await t.o(t.x,`/admin/lookup-dropdown-values?${i}`),o=a?.data??a??[];return(Array.isArray(o)?o:[]).map(e=>({label:e.label??e.displayValue??e[n]??String(e.value??``),value:String(e.value??e._id??e.id??``)})).filter(e=>e.value&&e.label)}function bt(e){if(typeof e==`string`){let t=e.trim();return t?{field:t,locked:!0,forceShow:!0,forceReq:!0}:null}if(!e||typeof e!=`object`)return null;let t=String(e.field??``).trim();return t?{field:t,locked:e.locked===!0,forceShow:e.forceShow===!0,forceReq:e.forceReq===!0}:null}function xt(e){let t=new Map;return(Array.isArray(e)?e:[]).forEach(e=>{let n=bt(e);n&&!t.has(n.field)&&t.set(n.field,n)}),t}async function St(e){let n=await t.o(t.x,`/admin/default-fields?module=${encodeURIComponent(e)}`),r=n?.data??n??{};return Array.isArray(r.fields)?r.fields:[]}async function Ct(e,n,r){return t.o(t.x,`/admin/default-fields`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({module:e,fields:n,otp:r})})}async function wt(e){let n=await t.o(t.x,`/email-verify`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:e})}),r=n?.data??n??{};return{valid:!!r.valid,reason:r.reason??``,result:r.result??``,mailboxConfirmed:!!r.mailboxConfirmed,catchAll:!!r.catchAll,disposable:!!r.disposable,roleAddress:!!r.roleAddress,risk:r.risk??``,checks:Array.isArray(r.checks)?r.checks:[]}}async function Tt(){let e=await t.o(t.x,`/admin/lookup/collections`),n=e.data??e;return Array.isArray(n)?n:[]}async function Et(e){let n=await t.o(t.x,`/admin/lookup/collection-fields?collection=${encodeURIComponent(e)}`),r=n.data??n;return Array.isArray(r)?r:[]}async function Dt(e,n){let r=await t.o(t.x,`/admin/field-array-subfields?module=${encodeURIComponent(e)}&field=${encodeURIComponent(n)}`),i=r.data??r;return Array.isArray(i?.fields)?i.fields:[]}async function Ot(){let e=await t.o(t.x,`/admin/menu-modules`);return b(e.data,e)}async function kt({menuName:e,apiUrl:n=``,menuType:r=`menu`,parentMenuId:i=0,displayOrder:a=0}){let o=await t.o(t.x,`/admin/menu-modules`,{method:`POST`,body:JSON.stringify({menuName:e,apiUrl:n,menuType:r,parentMenuId:i,displayOrder:a})});return o.data??o}async function At(e,{menuName:n}){let r=await t.o(t.x,`/admin/menu-modules/${e}`,{method:`PUT`,body:JSON.stringify({menuName:n})});return r.data??r}async function jt(e){let n=await t.o(t.x,`/admin/menu-modules/${e}`,{method:`DELETE`});return n.data??n}async function Mt(){let e=await t.o(t.x,`/admin/menu-actions`);return b(e.data,e)}async function Nt({permissionName:e,permissionKey:n}){let r=await t.o(t.x,`/admin/menu-actions`,{method:`POST`,body:JSON.stringify({permissionName:e,permissionKey:n})});return r.data??r}async function Pt(e,{permissionName:n}){let r=await t.o(t.x,`/admin/menu-actions/${e}`,{method:`PUT`,body:JSON.stringify({permissionName:n})});return r.data??r}async function Ft(e){let n=await t.o(t.x,`/admin/menu-actions/${e}`,{method:`DELETE`});return n.data??n}function It(e){if(e&&typeof e==`object`&&!Array.isArray(e))return It(e.value??e.access_value??e.accessValue??e.permissionValue??e.enabled);if(e===!0||e===1||e===`1`)return`1`;let t=String(e??``).trim().toLowerCase();return t===`true`||t===`yes`||t===`active`?`1`:`0`}function Lt(e={}){return!e||typeof e!=`object`||Array.isArray(e)?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,menuId:t?.menuId??t?.menu_id??0,permissions:Object.fromEntries(Object.entries(t?.permissions??{}).map(([e,t])=>[e,{...t&&typeof t==`object`&&!Array.isArray(t)?t:{},id:t?.id??t?.permission_id??t?.permissionId??0,value:It(t)}]))}]))}async function Rt(e){let n=await t.o(t.x,`/get-role-details?roleid=${e}`);return n?.data??n??{}}async function zt(e,n){return t.o(t.x,`/edit-role-details`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({roleId:e,menus:Lt(n)})})}var Bt=`/admin/custom-forms`;async function Vt(e=``,n=``,r=``){let i=new URLSearchParams;e&&i.append(`module`,e),n&&i.append(`formType`,n),r&&i.append(`action`,r);let a=`${Bt}?${i.toString()}`,o=await t.o(t.x,a),s=o?.data;return Array.isArray(s)?s:Array.isArray(o)?o:[]}async function Ht(e){return t.o(t.x,Bt,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}async function Ut(e,n){return t.o(t.x,`${Bt}/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})}async function Wt(e){return t.o(t.x,`${Bt}/${e}`,{method:`DELETE`})}var O=`/admin/row-action-config`;function Gt(e){return String(e??``).trim().toLowerCase()}async function Kt(e=``){let n=Gt(e),r=n?`${O}?module=${encodeURIComponent(n)}`:O,i=await t.o(t.x,r),a=i?.data;return Array.isArray(a)?a:Array.isArray(i)?i:[]}async function qt({module:e,roleId:n=0,rowActions:r=[]}){let i=Gt(e);return t.o(t.x,O,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({module:i,roleId:n,rowActions:r})})}async function Jt(e,n=[]){return t.o(t.x,`${O}/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({rowActions:n})})}async function Yt(e){return t.o(t.x,`${O}/${e}`,{method:`DELETE`})}var Xt=`/admin/module-action-rules`;async function Zt(e){let n=await t.o(t.x,`${Xt}?module=${encodeURIComponent(e)}`),r=n?.data;return Array.isArray(r)?r:Array.isArray(n)?n:[]}async function Qt({module:e,name:n,description:r=``,conditions:i=[],blockedActions:a=[],disabledActions:o=[],allowedActions:s=void 0,isActive:c=!0}){return t.o(t.x,Xt,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({module:e,name:n,description:r,conditions:i,blockedActions:a,disabledActions:o,allowedActions:s,isActive:c})})}async function $t(e,{name:n,description:r=``,conditions:i=[],blockedActions:a=[],disabledActions:o=[],allowedActions:s=void 0,isActive:c=!0}){return t.o(t.x,`${Xt}/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:n,description:r,conditions:i,blockedActions:a,disabledActions:o,allowedActions:s,isActive:c})})}async function en(e){return t.o(t.x,`${Xt}/${e}`,{method:`DELETE`})}var tn=[{value:`self`,label:`Same page`},{value:`newTab`,label:`New tab`},{value:`popup`,label:`Popup`}],nn=tn.map(e=>e.value);function rn(e){return{self:`self`,newtab:`newTab`,popup:`popup`}[String(e??``).trim().toLowerCase()]||`popup`}var an=`/popup/candidate-detail`;function on(e,{href:t,navigate:n,location:r}={}){if(!t)return!1;let i=rn(e);if(i===`self`)return!1;if(i===`newTab`)return window.open(t,`_blank`,`noopener`),!0;let a=String(t),o=(a.split(`/detailview/`)[1]??a.split(`/detail-view/`)[1])?.split(/[/?#]/)[0];if(!o||typeof n!=`function`)return!1;let s=r||(typeof window<`u`?{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}:void 0);return n(`${an}/${o}`,{state:{background:s}}),!0}var sn=Object.freeze({s3BaseUrl:`https://zinnext-devlopment-ap-south-1.s3.ap-south-1.amazonaws.com`.replace(/\/+$/,``),dateFormat:`DD MMM YYYY`,dateTimeFormat:`MMM DD, YYYY | hh:mm A`,showTimeZoneLabel:!0,timeZone:``,timeZoneAliases:{},region:``,booleanTrueLabel:`Yes`,booleanFalseLabel:`No`,emptyPlaceholder:`-`,emptyTexts:{},separator:` - `,documentNameOrder:[`name`,`documentName`,`uploadName`,`uploadedFileName`,`uniqueName`],phoneFormat:`3-3-4`,phoneCountryCode:``,candidateDetailViewMode:`popup`}),k={...sn},cn=null;function A(){return k}function ln(e){if(!e||typeof e!=`object`)return{};let t={};if(e.s3BaseUrl&&(t.s3BaseUrl=String(e.s3BaseUrl).replace(/\/+$/,``)),e.dateFormat&&(t.dateFormat=e.dateFormat),e.dateTimeFormat&&(t.dateTimeFormat=e.dateTimeFormat),typeof e.showTimeZoneLabel==`boolean`&&(t.showTimeZoneLabel=e.showTimeZoneLabel),typeof e.timeZone==`string`&&(t.timeZone=e.timeZone.trim()),typeof e.region==`string`&&(t.region=e.region.trim()),e.timeZoneAliases&&typeof e.timeZoneAliases==`object`&&!Array.isArray(e.timeZoneAliases)&&(t.timeZoneAliases={...k.timeZoneAliases,...e.timeZoneAliases}),e.booleanTrueLabel&&(t.booleanTrueLabel=e.booleanTrueLabel),e.booleanFalseLabel&&(t.booleanFalseLabel=e.booleanFalseLabel),e.emptyPlaceholder&&(t.emptyPlaceholder=e.emptyPlaceholder),e.emptyTexts&&typeof e.emptyTexts==`object`&&!Array.isArray(e.emptyTexts)){let n={};Object.entries(e.emptyTexts).forEach(([e,t])=>{typeof t==`string`&&t.trim()!==``&&(n[e]=t.trim())}),Object.keys(n).length&&(t.emptyTexts={...k.emptyTexts,...n})}return typeof e.separator==`string`&&e.separator!==``&&(t.separator=e.separator),typeof e.phoneFormat==`string`&&e.phoneFormat.trim()!==``&&(t.phoneFormat=e.phoneFormat.trim()),typeof e.phoneCountryCode==`string`&&(t.phoneCountryCode=e.phoneCountryCode.trim()),typeof e.phoneCountryCode==`string`&&(t.phoneCountryCode=e.phoneCountryCode.trim()),Array.isArray(e.documentNameOrder)&&e.documentNameOrder.length&&(t.documentNameOrder=e.documentNameOrder),nn.includes(e.candidateDetailViewMode)&&(t.candidateDetailViewMode=e.candidateDetailViewMode),t}function un(e=dn()){let t=(String(e).match(/\d+/g)??[`3`,`3`,`4`]).map(Number).filter(e=>e>0),n=String(e).match(/\D+/)?.[0]??`-`,r=t.length?t:[3,3,4];return{groups:r,sep:n,total:r.reduce((e,t)=>e+t,0)}}function dn(){return k.phoneFormat||sn.phoneFormat}function fn(){return k.phoneCountryCode??sn.phoneCountryCode}function pn(e,t=dn()){let{total:n}=un(t);return String(e??``).replace(/\D/g,``).slice(0,n)}function mn(e,t=dn()){let{groups:n,sep:r}=un(t),i=pn(e,t);if(!i)return``;let a=[],o=0;for(let e of n){if(o>=i.length)break;a.push(i.slice(o,o+e)),o+=e}return a.join(r)}function hn(e){return k={...k,...ln(e)},k}function gn(e=!1){return cn&&!e||(cn=Promise.resolve().then(()=>De()).then(e=>hn(e)).catch(()=>k)),cn}s.default.extend(c.default),s.default.extend(l.default);var _n=null;function vn(){if(_n===null)try{_n=s.default.tz.guess()||`UTC`}catch{_n=`UTC`}return _n}function yn(e){let t=String(e??``).trim();if(!t||t!==`UTC`&&!t.includes(`/`))return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:t}),!0}catch{return!1}}function j(e=A()){let t=String(e?.timeZone??``).trim();return yn(t)?t:vn()}function bn(e){return(0,s.default)().tz(j(e))}function xn(e,t){let n=(0,s.default)(e?.$date??e);return n.isValid()?n.tz(j(t)):n}function Sn(e,t,n=A()){let r=xn(e,n);return r.isValid()?r.format(t||n?.dateFormat||`DD MMM YYYY`):``}function Cn(e=A(),t){let n=j(e),r=jn(n,e);if(r&&r.includes(`/`)){let e=wn(n,t);if(e)return r.split(`/`).map(e=>e.trim()).find(t=>t.toUpperCase()===e.toUpperCase())||e}return r||wn(n,t)||n}function wn(e,t){try{let n=t===void 0?new Date:new Date((0,s.default)(t?.$date??t).valueOf());if(Number.isNaN(n.valueOf()))return``;let r=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(n).find(e=>e.type===`timeZoneName`)?.value??``;return/^[A-Za-z]+$/.test(r)?r:``}catch{return``}}function Tn(e,t=A()){let n=Sn(e,t?.dateTimeFormat||`MMM DD, YYYY | hh:mm A`,t);if(!n)return``;if(t?.showTimeZoneLabel===!1)return n;let r=Cn(t,e);return r?`${n} ${r}`:n}function En(e){if(!e)return!1;if(e.tzAware===!0)return!0;if(e.tzAware===!1)return!1;let t=String(e.type??``).toLowerCase();return t===`datetime`||t===`time`||t===`datetime-local`}function Dn(e,t){if(e==null||e===``)return null;let n=(0,s.default)(e);if(!n.isValid())return null;let r=j(t);return s.default.tz(n.format(`YYYY-MM-DDTHH:mm:ss`),r)}function On(e=j()){try{let t=(0,s.default)().tz(e).utcOffset(),n=t<0?`-`:`+`,r=Math.abs(t);return`UTC${n}${String(Math.floor(r/60)).padStart(2,`0`)}:${String(r%60).padStart(2,`0`)}`}catch{return``}}function kn(e=A()){let t=j(e);return`${jn(t,e)||t} (${On(t)})`}var An=Object.freeze({UTC:`UTC`,"Asia/Kolkata":`IST`,"Asia/Calcutta":`IST`,"Asia/Dubai":`GST`,"America/New_York":`EST/EDT`,"America/Chicago":`CST/CDT`,"America/Denver":`MST/MDT`,"America/Los_Angeles":`PST/PDT`,"Europe/London":`GMT/BST`,"Europe/Berlin":`CET/CEST`,"Asia/Singapore":`SGT`,"Asia/Tokyo":`JST`,"Australia/Sydney":`AEST/AEDT`});function jn(e,t=A()){return(t?.timeZoneAliases??{})[e]??An[e]??``}function Mn(e=A()){let t=[];try{t=Intl.supportedValuesOf(`timeZone`)??[]}catch{t=[]}let n=[`UTC`,...Object.keys(An),...Object.keys(e?.timeZoneAliases??{})];return[...new Set([...n,...t])].filter(yn).map(t=>{let n=0;try{n=(0,s.default)().tz(t).utcOffset()}catch{return null}let r=jn(t,e),i=On(t);return{value:t,alias:r,offsetLabel:i,offsetMinutes:n,label:`${r?`${r} — `:``}${t} (${i})`}}).filter(Boolean).sort((e,t)=>e.offsetMinutes-t.offsetMinutes||e.value.localeCompare(t.value))}var M={brand:`#0053a5`,brandDark:`#1d4ed8`,brandDarker:`#1e40af`,brandHover:`#004f85`,brandSoft:`#dfedf7`,brandSofter:`#e7f2fa`,brandSubtle:`#edf8fe`,textPrimary:`#111827`,textSecondary:`#4b5563`,textMuted:`#6b7280`,textSubtle:`#010306`,textHeading:`#142235`,textDark:`#232a31`,textPlaceholder:`#a7b0bb`,textInverse:`#ffffff`,textLink:`#0053a5`,surfacePage:`#f5f6fa`,surfaceSoft:`#f8fafc`,surfaceSofter:`#f3f8fb`,surfaceCard:`#ffffff`,surfaceHover:`#eff6ff`,surfaceHoverLight:`#f8fcff`,surfaceHoverSoft:`#f5fbff`,surfaceSelected:`#dbeafe`,surfaceControl:`#f4f8fb`,surfaceRowAlt:`#fbfdff`,border:`#e6f0ff`,borderLight:`#eef3f8`,borderSofter:`#f0f0f0`,borderMuted:`#d8e4ef`,borderInput:`#d5dde5`,borderFocus:`#7dbce6`,borderHover:`#99c7e8`,controlBorder:`#77abd0`,controlBorderMuted:`#e7edf3`,controlAccent:`#4f9ac7`,iconMuted:`#d1d5db`,iconSubtle:`#9aa6b2`,iconNeutral:`#8c8c8c`,iconSoft:`#bbbbbb`,scrollbarThumb:`#c4ccd8`,scrollbarThumbLight:`#d1d5db`,danger:`#dc2626`,dangerSoft:`#ef4444`,dangerStrong:`#e11d24`,success:`#15803d`,successSoft:`#16a34a`,warning:`#f97316`,info:`#3b82f6`,transparent:`transparent`,statusNeutralBg:`#f1f3ee`,statusNeutralText:`#717b36`,statusProcessingBg:`#f6f4f7`,statusProcessingText:`#273048`,statusProcessingBorder:`#d4d8dd`,statusWarningBg:`#fff7ea`,statusWarningText:`#bf7328`,shadowMenu:`rgba(15, 35, 55, 0.08)`,shadowBadge:`rgba(26, 95, 145, 0.08)`,shadowTag:`rgba(39, 51, 70, 0.05)`,shadowAvatar:`rgba(57, 77, 103, 0.12)`,shadowDropdown:`0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05)`,avatarBlueBg:`#eaf3ff`,avatarBlueText:`#142235`,avatarPurpleBg:`#f2eaff`,avatarMoreBg:`#eef6ff`,avatarMoreText:`#0053a5`,avatarNeutralBg:`#d9d9d9`,avatarNeutralText:`#555555`,avatarIndigo:`#6366f1`,avatarPurple:`#8b5cf6`,avatarBlue:`#3b82f6`,avatarGreen:`#10b981`,linkedIn:`#0077b5`};M.textPrimary,M.textSecondary,M.textMuted,M.textSubtle,M.textInverse,M.textLink,M.danger,M.success,M.danger,M.textLink,M.surfaceSoft,M.textSecondary,M.success,M.warning;var N={brand:`var(--color-brand)`,brandDark:`var(--color-brand-dark)`,brandDarker:`var(--color-brand-darker)`,brandHover:`var(--color-brand-hover)`,brandSoft:`var(--color-brand-soft)`,brandSofter:`var(--color-brand-softer)`,brandSubtle:`var(--color-brand-subtle)`,textPrimary:`var(--color-text-primary)`,textSecondary:`var(--color-text-secondary)`,textMuted:`var(--color-text-muted)`,textSubtle:`var(--color-text-subtle)`,textHeading:`var(--color-text-heading)`,textDark:`var(--color-text-dark)`,textPlaceholder:`var(--color-text-placeholder)`,textInverse:`var(--color-text-inverse)`,textLink:`var(--color-text-link)`,surfacePage:`var(--color-surface-page)`,surfaceSoft:`var(--color-surface-soft)`,surfaceSofter:`var(--color-surface-softer)`,surfaceCard:`var(--color-surface-card)`,surfaceHover:`var(--color-surface-hover)`,surfaceHoverLight:`var(--color-surface-hover-light)`,surfaceHoverSoft:`var(--color-surface-hover-soft)`,surfaceSelected:`var(--color-surface-selected)`,surfaceControl:`var(--color-surface-control)`,surfaceRowAlt:`var(--color-surface-row-alt)`,border:`var(--color-border)`,borderLight:`var(--color-border-light)`,borderSofter:`var(--color-border-softer)`,borderMuted:`var(--color-border-muted)`,borderInput:`var(--color-border-input)`,borderFocus:`var(--color-border-focus)`,borderHover:`var(--color-border-hover)`,controlBorder:`var(--color-control-border)`,controlBorderMuted:`var(--color-control-border-muted)`,controlAccent:`var(--color-control-accent)`,iconMuted:`var(--color-icon-muted)`,iconSubtle:`var(--color-icon-subtle)`,iconNeutral:`var(--color-icon-neutral)`,iconSoft:`var(--color-icon-soft)`,scrollbarThumb:`var(--color-scrollbar-thumb)`,scrollbarThumbLight:`var(--color-scrollbar-thumb-light)`,danger:`var(--color-danger)`,dangerSoft:`var(--color-danger-soft)`,dangerStrong:`var(--color-danger-strong)`,success:`var(--color-success)`,successSoft:`var(--color-success-soft)`,warning:`var(--color-warning)`,info:`var(--color-info)`,transparent:`var(--color-transparent)`,linkedIn:`var(--color-linkedin)`,statusNeutralBg:`var(--color-status-neutral-bg)`,statusNeutralText:`var(--color-status-neutral-text)`,statusProcessingBg:`var(--color-status-processing-bg)`,statusProcessingText:`var(--color-status-processing-text)`,statusProcessingBorder:`var(--color-status-processing-border)`,statusWarningBg:`var(--color-status-warning-bg)`,statusWarningText:`var(--color-status-warning-text)`,shadowMenu:`var(--color-shadow-menu)`,shadowBadge:`var(--color-shadow-badge)`,shadowTag:`var(--color-shadow-tag)`,shadowAvatar:`var(--color-shadow-avatar)`,shadowDropdown:`var(--color-shadow-dropdown)`,avatarBlueBg:`var(--color-avatar-blue-bg)`,avatarBlueText:`var(--color-avatar-blue-text)`,avatarPurpleBg:`var(--color-avatar-purple-bg)`,avatarMoreBg:`var(--color-avatar-more-bg)`,avatarMoreText:`var(--color-avatar-more-text)`},{Text:Nn,Title:Pn,Paragraph:Fn,Link:In}=i.Typography,Ln={display:`h1`,h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,h5:`h5`,"section-title":`h3`,"card-title":`h4`,subtitle:`span`,body:`span`,"body-strong":`span`,label:`span`,caption:`span`,meta:`span`,metric:`span`,helper:`span`,link:`a`},Rn={xs:`var(--font-size-xs)`,sm:`var(--font-size-sm)`,md:`var(--font-size-md)`,lg:`var(--font-size-lg)`,xl:`var(--font-size-xl)`,"2xl":`var(--font-size-2xl)`,"3xl":`var(--font-size-3xl)`,"4xl":`var(--font-size-4xl)`},zn={regular:`var(--font-weight-regular)`,medium:`var(--font-weight-medium)`,semibold:`var(--font-weight-semibold)`,bold:`var(--font-weight-bold)`,extrabold:`var(--font-weight-extrabold)`},Bn={tight:`var(--line-height-tight)`,snug:`var(--line-height-snug)`,normal:`var(--line-height-normal)`,relaxed:`var(--line-height-relaxed)`},Vn={primary:N.textPrimary,secondary:N.textSecondary,muted:N.textMuted,subtle:N.textSubtle,inverse:N.textInverse,link:N.textLink,danger:N.danger,success:N.success};function Hn(...e){return e.filter(Boolean).join(` `)}function Un(e,t){if(e!=null)return t[e]||e}function Wn(e,t){return t===`link`||e===`a`?In:e===`p`?Fn:[`h1`,`h2`,`h3`,`h4`,`h5`].includes(e)?Pn:Nn}function Gn(e,t){let n=e||Ln[t];if(n?.startsWith(`h`))return Number(n.slice(1))}function Kn({as:e,tag:t,variant:n=`body`,color:r,size:i,weight:a,lineHeight:s,align:c,truncate:l=!1,display:u,className:d,style:f,children:p,...m}){let h=t||e||Ln[n]||`span`,g=Wn(h,n),_=Gn(h,n),v={color:Un(r,Vn),fontSize:Un(i,Rn),fontWeight:Un(a,zn),lineHeight:Un(s,Bn),display:u,...f};return(0,o.jsx)(g,{..._?{level:_}:{},className:Hn(`app-typography`,`app-typography--${n}`,r&&Vn[r]&&`app-typography--${r}`,c&&`app-typography--${c}`,l&&`app-typography--truncate`,d),style:v,...m,children:p})}var qn=(e=``)=>e.trim().replace(/^\*\*(.*?)\*\*$/s,`$1`).replace(/^__(.*?)__$/s,`$1`),Jn=(e=[])=>e.length>0&&e.every(e=>/^:?-{3,}:?$/.test(String(e).trim())),Yn=(e=``)=>{let t=String(e||``).replace(/\r\n?/g,`
|
|
2
|
-
`).trim();if(!t)return null;let n=t.split(`
|
|
3
|
-
`).filter(e=>e.trim().length>0);if(n.length<2)return null;if(n.some(e=>e.includes(` `))){let e=n.map(e=>e.split(` `).map(qn)),t=Math.max(...e.map(e=>e.length));return t<2?null:{rows:e.map(e=>[...e,...Array(t-e.length).fill(``)]),hasHeaderRow:!0}}let r=n.filter(e=>e.includes(`|`)).map(e=>{let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(qn)});if(r.length<2)return null;let i=r.findIndex(Jn),a=r.filter((e,t)=>t!==i),o=Math.max(...a.map(e=>e.length));return a.length<2||o<2?null:{rows:a.map(e=>[...e,...Array(o-e.length).fill(``)]),hasHeaderRow:i===1}},Xn=(e,t,n)=>{let{table:r,tableRow:i,tableHeader:a,tableCell:o,paragraph:s}=e.nodes;if(!r||!i||!o||!s)return null;let c=t.map((t,r)=>{let c=n&&r===0&&a?a:o,l=t.map(t=>{let n=String(t??``),r=n?e.text(n):void 0;return c.create(null,s.create(null,r))});return i.create(null,l)});return r.create(null,c)};function P({onClick:e,active:t,disabled:n,title:r,children:i}){return(0,o.jsx)(`button`,{type:`button`,title:r,disabled:n,className:`tte-btn${t?` tte-btn--active`:``}`,onMouseDown:t=>{t.preventDefault(),e?.()},children:i})}function Zn({editor:e,disabled:t}){return e?(0,o.jsxs)(`div`,{className:`tte-toolbar${t?` tte-toolbar--disabled`:``}`,children:[(0,o.jsxs)(`div`,{className:`tte-toolbar-group`,children:[(0,o.jsx)(P,{title:`Bold`,disabled:t,active:e.isActive(`bold`),onClick:()=>e.chain().focus().toggleBold().run(),children:(0,o.jsx)(`strong`,{children:`B`})}),(0,o.jsx)(P,{title:`Italic`,disabled:t,active:e.isActive(`italic`),onClick:()=>e.chain().focus().toggleItalic().run(),children:(0,o.jsx)(`em`,{children:`I`})}),(0,o.jsx)(P,{title:`Underline`,disabled:t,active:e.isActive(`underline`),onClick:()=>e.chain().focus().toggleUnderline().run(),children:(0,o.jsx)(`span`,{style:{textDecoration:`underline`},children:`U`})}),(0,o.jsx)(P,{title:`Strikethrough`,disabled:t,active:e.isActive(`strike`),onClick:()=>e.chain().focus().toggleStrike().run(),children:(0,o.jsx)(`s`,{children:`S`})})]}),(0,o.jsx)(`div`,{className:`tte-toolbar-divider`}),(0,o.jsxs)(`div`,{className:`tte-toolbar-group`,children:[(0,o.jsx)(P,{title:`Bullet List`,disabled:t,active:e.isActive(`bulletList`),onClick:()=>e.chain().focus().toggleBulletList().run(),children:`≡`}),(0,o.jsx)(P,{title:`Ordered List`,disabled:t,active:e.isActive(`orderedList`),onClick:()=>e.chain().focus().toggleOrderedList().run(),children:`1.`})]}),(0,o.jsx)(`div`,{className:`tte-toolbar-divider`}),(0,o.jsx)(`div`,{className:`tte-toolbar-group`,children:(0,o.jsx)(P,{title:`Link`,disabled:t,active:e.isActive(`link`),onClick:()=>{let t=window.prompt(`Enter URL`);if(!t){e.chain().focus().unsetLink().run();return}e.chain().focus().setLink({href:t}).run()},children:`🔗`})}),(0,o.jsx)(`div`,{className:`tte-toolbar-divider`}),(0,o.jsxs)(`div`,{className:`tte-toolbar-group tte-table-tools`,children:[(0,o.jsx)(P,{title:`Insert 3 × 3 table`,disabled:t,active:e.isActive(`table`),onClick:()=>e.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),children:`▦`}),e.isActive(`table`)&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(P,{title:`Add column`,disabled:t||!e.can().addColumnAfter(),onClick:()=>e.chain().focus().addColumnAfter().run(),children:`C+`}),(0,o.jsx)(P,{title:`Delete column`,disabled:t||!e.can().deleteColumn(),onClick:()=>e.chain().focus().deleteColumn().run(),children:`C−`}),(0,o.jsx)(P,{title:`Add row`,disabled:t||!e.can().addRowAfter(),onClick:()=>e.chain().focus().addRowAfter().run(),children:`R+`}),(0,o.jsx)(P,{title:`Delete row`,disabled:t||!e.can().deleteRow(),onClick:()=>e.chain().focus().deleteRow().run(),children:`R−`}),(0,o.jsx)(P,{title:`Toggle header row`,disabled:t||!e.can().toggleHeaderRow(),onClick:()=>e.chain().focus().toggleHeaderRow().run(),children:`H`}),(0,o.jsx)(P,{title:`Delete table`,disabled:t||!e.can().deleteTable(),onClick:()=>e.chain().focus().deleteTable().run(),children:`🗑`})]})]}),(0,o.jsx)(`div`,{className:`tte-toolbar-divider`}),(0,o.jsx)(`div`,{className:`tte-toolbar-group`,children:(0,o.jsx)(P,{title:`Clear formatting`,disabled:t,onClick:()=>e.chain().focus().clearNodes().unsetAllMarks().run(),children:`✕`})})]}):null}function Qn({value:e=``,onChange:t,disabled:n=!1,placeholder:i=``}){let a=(0,r.useRef)(e??``),s=(0,d.useEditor)({extensions:[f.default,m.default,p.default.configure({openOnClick:!1,HTMLAttributes:{rel:`noopener noreferrer`}}),h.Table.configure({resizable:!0,HTMLAttributes:{class:`email-template-table`}}),h.TableRow,h.TableHeader,h.TableCell],content:e,editable:!n,editorProps:{attributes:{class:`tte-content`},handlePaste:(e,t)=>{let n=Yn(t.clipboardData?.getData(`text/plain`)||``);if(!n)return!1;let r=Xn(e.state.schema,n.rows,n.hasHeaderRow);if(!r)return!1;t.preventDefault();let i=e.state.tr.replaceSelectionWith(r,!1).scrollIntoView();return e.dispatch(i),!0}},onUpdate:({editor:e})=>{let n=e.getHTML(),r=n===`<p></p>`?``:n;a.current=r,t?.(r)}});return(0,r.useEffect)(()=>{if(!s||s.isDestroyed)return;let t=e||``;t!==(a.current||``)&&(a.current=t,s.commands.setContent(t,!1))},[e,s]),(0,r.useEffect)(()=>{s&&s.setEditable(!n)},[n,s]),(0,o.jsxs)(`div`,{className:`tte-wrapper${n?` tte-wrapper--disabled`:``}`,children:[(0,o.jsx)(Zn,{editor:s,disabled:n}),(0,o.jsx)(d.EditorContent,{editor:s}),!e&&!s?.isFocused&&i&&(0,o.jsx)(`div`,{className:`tte-placeholder`,children:i})]})}function $n(e){let t=String(e??``).trim();if(!t)return{baseModule:``,nestedPath:``};let[n,...r]=t.split(`.`);return{baseModule:n.trim(),nestedPath:r.map(e=>e.trim()).filter(Boolean).join(`.`)}}function er(e){return $n(e).baseModule}var tr=`test-flows`,nr=`lms-flows`;function rr(e){let t=(Array.isArray(e)?e:[e]).flat().map(e=>e&&typeof e==`object`?e.value??e.label??e.name??``:e).map(e=>String(e??``).trim().toLowerCase()).filter(Boolean);return t.includes(`dice`)?`dice`:t.includes(`internal`)?`internal`:t[0]||``}function ir(...e){for(let t of e){let e=Number(t);if(Number.isFinite(e))return e}}function ar(e,t,n,r=``){let i=e?.count,a=t?.count,o=String(r??``).trim().toLowerCase();if(i&&typeof i==`object`){let e=ir(o?i[o]:void 0,i.total,i.searchCount,i.count);if(e!==void 0)return e}if(a&&typeof a==`object`){let e=ir(o?a[o]:void 0,a.total,a.searchCount,a.count);if(e!==void 0)return e}return ir(e?.total,typeof i==`object`?void 0:i,e?.totalCount,t?.total,typeof a==`object`?void 0:a,t?.totalCount,n.length)??0}function or(e,t){let n={};return[e?.count,t?.count].forEach(e=>{!e||typeof e!=`object`||Object.entries(e).forEach(([e,t])=>{let r=Number(t);Number.isFinite(r)&&(n[String(e).trim().toLowerCase()]=r)})}),n}async function sr(e,n,r=``,i=50,a=0,o={}){let s=new URLSearchParams({module:er(e),field:n,value:r,limit:String(i),offset:String(a)});return o.dataSource&&s.set(`dataSource`,o.dataSource),o.masterName&&s.set(`masterName`,o.masterName),o.groupName&&s.set(`groupName`,o.groupName),t.t(t.x,`/filter-dropdown-values?${s}`)}async function cr(e,n=10,r=0,i={}){let{scope:a=``,sort:o=``,sortDir:s=``,filters:c=[]}=i;if(e===tr){let{getTestFlows:e}=await Promise.resolve().then(()=>require("./index.cjs")).then(e=>e.t),t=await e({limit:n,offset:r}),i=Array.isArray(t?.items)?t.items:[],a=Number(t?.total)||0;return{items:i,total:a,limit:n,offset:r,tabs:[{key:`all`,title:`Test Cases`,count:a}]}}if(e===nr){let{getLmsFlows:e}=await Promise.resolve().then(()=>require("./index.cjs")).then(e=>e.t),t=await e({limit:n,offset:r}),i=Array.isArray(t?.items)?t.items:[],a=Number(t?.total)||0;return{items:i,total:a,limit:n,offset:r,tabs:[{key:`all`,title:`LMS Cases`,count:a}]}}let l=new URLSearchParams({module:er(e),limit:String(n),offset:String(r)}),u=String(a??``).trim();return u&&l.set(`scope`,u),o&&l.set(`sort`,o),s&&l.set(`sortDir`,s),Array.isArray(c)&&c.some(e=>e?.field)&&l.set(`filters`,JSON.stringify(c)),t.o(t.x,`/module-data-list?${l.toString()}`)}async function lr(e,n){if(!e||!n)return null;try{let r=await t.o(t.x,`/module/list?module=${encodeURIComponent(e)}&id=${encodeURIComponent(n)}`),i=r?.data?.data??r?.data??r,a=Array.isArray(i)?i[0]:i;return a&&typeof a==`object`?a:null}catch{return null}}async function ur(e,n={},r={},i={}){let{limit:a=10,offset:o=0}=r,{sort:s=``,sortDir:c=``,scope:l=``,filters:u=[]}=i,d=rr(l||String(n.selectedSource??``).split(`,`)),f=new URLSearchParams;f.append(`module`,er(e)),f.append(`limit`,String(a)),f.append(`offset`,String(o)),d&&(f.set(`scope`,d),console.log(`[searchModuleData] Adding scope to query:`,d)),s&&f.set(`sort`,s),c&&f.set(`sortDir`,c),Array.isArray(u)&&u.some(e=>e?.field)&&f.set(`filters`,JSON.stringify(u)),console.log(`[searchModuleData] Final query string:`,f.toString()),Object.entries(n).forEach(([e,t])=>{if(t==null||t===``)return;let n=t;n=typeof t==`object`?t.value??t.label??t.name??String(t):String(t),f.append(e,n)});let p=await t.o(t.x,`/module-data-list?${f.toString()}`),m=p?.data??p,h=Array.isArray(m)?m:m?.rows??m?.records??m?.items??m?.list??m?.data??[],g=ar(p,m,h,d),_=or(p,m);d&&_[d]===void 0&&Number.isFinite(g)&&(_[d]=g);let v=h.some(e=>[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].flat().some(e=>String(e??``).trim().toLowerCase()===`dice`)||!!e?.customFields?.diceProfileData),y=h;if(v)try{let{transformDiceResponseToInternalFormat:e}=await Promise.resolve().then(()=>require("./diceCandidateMapper-BjMhHno3.cjs")).then(e=>e.t);y=e(p,p)?.data?.data??h}catch(e){console.error(`[searchModuleData] Dice transformation failed:`,e),y=h.map(pr)}else y=Array.isArray(h)?h.map(pr):[];return{rows:y,total:Number(g)||0,counts:_,tabs:p?.tabs??p?.tabList??m?.tabs??m?.tabList??[],fields:p?.fields??p?.fieldConfig??m?.fields??m?.fieldConfig??[],tabField:p?.tabField??m?.tabField??``,actionRules:m?.actionRules??[],actions:m?.actions??[],columnActions:m?.columnActions??[]}}function dr(e,t){return String(t).split(`.`).reduce((e,t)=>e?.[t],e)}function fr(e,t,n){let r=String(t).split(`.`).filter(Boolean);if(!r.length)return e;let i={...e},a=i,o=e;return r.slice(0,-1).forEach(e=>{let t=o?.[e],n=t&&typeof t==`object`&&!Array.isArray(t)?{...t}:{};a[e]=n,a=n,o=t}),a[r[r.length-1]]=n,i}function pr(e){if(!e||typeof e!=`object`)return e;let t=[`skills`,`technicalSkills`,`primarySkills`,`keySkills`,`customFields.diceProfileData.skills`],r=e,i=null;if(t.forEach(e=>{let t=dr(r,e);if(t==null)return;let a=n.n(t);a.length===0&&Array.isArray(t)&&t.length>0||(i??=a,r=fr(r,e,a))}),i&&dr(r,`skills`)===void 0&&(r=fr(r,`skills`,i)),[r?.sourceType,r?.profileSource,r?.selectedSource,r?.customFields?.sourceType,r?.customFields?.profileSource].flat().some(e=>String(e??``).trim().toLowerCase()===`dice`)||r?.customFields?.diceProfileData){let e=n.r(r),t=r?.candidateId??r?.customFields?.diceProfileData?.candidateId??``;r={...r,id:r?.id??e,diceId:e,candidateId:t}}return r}function mr(e){return String(e??``).replace(/^__mw__.*?__/,``).replace(/\[\d+\]$/,``).trim()||`file`}async function hr(e,n,r=[],i={}){if(!e)throw Error(`moduleName is required to upload documents`);if(!n)throw Error(`refId (created record id) is required to upload documents`);if(!r.length)return{data:[],total:0};let a=await t.a(),o=new FormData;r.forEach(({formKey:e,file:t})=>{let n=t?.name??void 0;o.append(mr(e),t,n)}),i&&Object.keys(i).length>0&&o.append(`metadata`,JSON.stringify(i));let s=new URLSearchParams({module:e,refId:String(n)}),c=await fetch(`${t.x}/documents/upload?${s.toString()}`,{method:`POST`,headers:{Authorization:`Bearer ${a}`},body:o}),l=(c.headers.get(`content-type`)||``).includes(`application/json`)?await c.json():await c.text();if(!c.ok){let e=Error(l?.error||l?.message||`API ${c.status}: ${c.statusText}`);throw e.status=c.status,e.data=l,e}return l?.data??l}async function gr(e,n,r=``){if(!e)throw Error(`moduleName is required to fetch documents`);if(!n)throw Error(`refId is required to fetch documents`);let i=new URLSearchParams({module:e,refId:String(n)});r&&i.set(`fieldName`,r);let a=await t.o(t.x,`/documents?${i.toString()}`),o=a?.data??a??{};return{data:Array.isArray(o?.data)?o.data:Array.isArray(o)?o:[],total:o?.total??0}}async function _r(e){if(!e)return!1;try{return await t.o(t.x,`/documents/${encodeURIComponent(String(e))}`,{method:`DELETE`}),!0}catch{return!1}}var vr={job:{fetchUrl:e=>`${t.T}/edit/detailed-view/${encodeURIComponent(e)}`},candidate:{fetchUrl:e=>`${t.S}/edit/detailed-view?_id=${encodeURIComponent(e)}`},candidates:{fetchUrl:e=>`${t.S}/edit/detailed-view?_id=${encodeURIComponent(e)}`},submission:{fetchUrl:e=>`${t.D}/edit/detailed-view?_id=${encodeURIComponent(e)}`}};async function yr(e,n){let r=String(e??``).trim().toLowerCase();if(r===`job`||r===`jobs`){let{getJobDetailView:e}=await Promise.resolve().then(()=>require("./index.cjs")).then(e=>e.r);return e(n)}if(r===`candidate`||r===`candidates`)return xr(r===`candidate`?`candidate`:`candidates`,n);let i=new URLSearchParams({module:String(e??``),id:String(n)});return t.o(t.x,`/module-data-detail?${i.toString()}`)}async function br(e){let n=await t.o(t.x,`/module-actions?module=${encodeURIComponent(e)}`),r=n?.data??n??{};return{actions:Array.isArray(r.actions)?r.actions:[],actionRules:Array.isArray(r.actionRules)?r.actionRules:[]}}async function xr(e,n){if(!e)throw Error(`module is required`);if(!n)throw Error(`id is required`);let r=vr[e];if(!r)throw Error(`No edit config for module: ${e}`);let i=await t.a(),a=await fetch(r.fetchUrl(n),{method:`GET`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${i}`}});if(!a.ok)throw Error(`API ${a.status}: ${a.statusText}`);let o=await a.json();return o.data??o}async function Sr(e,n,r,i=[]){if(!e)throw Error(`module is required`);if(!n)throw Error(`id is required`);let a=await t.a(),o=new FormData;o.append(`json`,JSON.stringify(r)),(i??[]).forEach(({formKey:e,file:t})=>o.append(e,t));let s=await fetch(`${t.x}/module/update/${encodeURIComponent(n)}?module=${encodeURIComponent(e)}`,{method:`PUT`,headers:{Authorization:`Bearer ${a}`},body:o});if(!s.ok){let e=await s.text();console.error(`[updateRecord] Error response:`,e);let t=Error(wr(e)||`API ${s.status}: ${s.statusText}`);throw t.status=s.status,t.response=Cr(e),t}let{invalidateFormGroupsCache:c}=await Promise.resolve().then(()=>require("./formGroupsCache-Bbz-28ws.cjs")).then(e=>e.n);c();let l=await s.json();return l.data??l}function Cr(e){let t=String(e??``).trim();if(!t.startsWith(`{`))return null;try{return JSON.parse(t)}catch{return null}}function wr(e){let t=String(e??``).trim();if(!t.startsWith(`{`))return t;try{let e=JSON.parse(t),n=e?.error??e?.message;return typeof n==`string`&&n.trim()?n.trim():t}catch{return t}}var Tr=e=>e?.data??e;async function Er(e,n){if(!e||!n)return[];let r=new URLSearchParams({module:e,id:String(n)}),i=Tr(await t.o(t.x,`/module-activity?${r.toString()}`));return Array.isArray(i)?i:[]}async function Dr(e){if(!e)return[];let n=Tr(await t.o(t.x,`/notes?relatedId=${encodeURIComponent(e)}`));return Array.isArray(n)?n:[]}async function Or({relatedId:e,notes:n,title:r,notesFor:i}){return Tr(await t.o(t.x,`/notes`,{method:`POST`,body:JSON.stringify({relatedId:e,notes:n,title:r,notesFor:i})}))}function kr(e,t){if(!e)return!0;let n=e.find(e=>e.name===t);return!n||n.enabled!==!1}function Ar(e,t,n){if(!e)return!0;let r=e.find(e=>e.name===t);if(!r)return!0;let i=r.fields?.find(e=>e.field===n);return!i||i.locked?!0:i.enabled!==!1}function jr(e,t,n){if(!e)return!0;let r=e.find(e=>e.name===t);if(!r)return!0;if(r.editable===!1)return!1;let i=r.fields?.find(e=>e.field===n);return!i||i.editable!==!1}var Mr=[`p`,`br`,`strong`,`b`,`em`,`i`,`u`,`s`,`ul`,`ol`,`li`,`blockquote`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`a`,`code`,`pre`],Nr=[`href`,`title`,`target`,`rel`],Pr=/[\u200B-\u200D\u2060\uFEFF]/g,Fr=/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,Ir=/^[\p{L}\p{M}\p{N} .'-]+$/u,Lr=/^\+?[0-9 ()-]+$/,Rr=/^-?(?:\d+|\d*\.\d+)$/,zr=[{re:/<\s*\/?\s*(?:script|iframe|object|embed|svg|img|form|input|style|link|meta|base|applet|frame|frameset)\b/i,message:`HTML/script content is not allowed`},{re:/\b(?:javascript|vbscript)\s*:|\bdata\s*:\s*text\/html/i,message:`Unsafe URL protocol is not allowed`},{re:/\bon[a-z]+\s*=/i,message:`HTML event handlers are not allowed`},{re:/["']?\$(?:where|gt|gte|lt|lte|ne|nin|regex|or|and|not|nor|expr|function|jsonSchema|accumulator)\b/i,message:`MongoDB operators are not allowed in input values`},{re:/(?:\.\.[/\\])|(?:%2e%2e|%5c)/i,message:`Path traversal is not allowed`},{re:/<\/?[a-zA-Z][a-zA-Z0-9]*(?:\s[^<>]*)?>/,message:`HTML tags are not allowed`,plainOnly:!0}];function Br(e){if(typeof document>`u`)return e;let t=document.createElement(`textarea`);return t.innerHTML=e,t.value}function Vr(e){let t=String(e??``);for(let e=0;e<2;e+=1)try{let e=decodeURIComponent(t);if(e===t)break;t=e}catch{break}return t=Br(t).replace(/\\x([0-9a-f]{2})/gi,(e,t)=>String.fromCharCode(Number.parseInt(t,16))).replace(/\\u([0-9a-f]{4})/gi,(e,t)=>String.fromCharCode(Number.parseInt(t,16))),t.normalize(`NFC`)}function Hr(e){return _.default.sanitize(String(e??``),{ALLOWED_TAGS:Mr,ALLOWED_ATTR:Nr,ALLOW_DATA_ATTR:!1,FORBID_TAGS:[`script`,`style`,`iframe`,`object`,`embed`,`svg`,`img`,`form`,`input`],FORBID_ATTR:[`style`,`src`,`srcset`]})}function Ur(e){let t=(e.validations??[]).find(e=>e?.type===`max`),n=Number(e.validator?.maxLength??t?.value??e.maxLength);return Number.isFinite(n)&&n>0?n:e.type===`email`||e.formatter===`email`?255:e.formatter===`phone`||e.formatter===`digits`?32:e.formatter===`name`?100:e.type===`text-editor`?5e4:(e.type,5e3)}function Wr(e){return e.type===`textarea`||e.type===`text-editor`}function Gr(e,t={}){if(typeof e!=`string`)return e;if(t.type===`text-editor`)return Hr(e.normalize(`NFC`));let n=e.normalize(`NFC`).replace(Pr,``).replace(/\u00A0/g,` `).replace(Fr,``);return n=Wr(t)?n.replace(/\r\n?/g,`
|
|
4
|
-
`).replace(/[ \t]{2,}/g,` `).trim():n.replace(/\s+/g,` `).trim(),n}function Kr(e,t={}){if(typeof e!=`string`||e===``)return null;let n=t.label||t.field||`Field`,r=Vr(e);if(r.includes(`\0`)||r.includes(`\0`))return`${n} contains a null byte`;let i=t.type===`text-editor`,a=zr.find(({re:e,plainOnly:t})=>(!t||!i)&&e.test(r));if(a)return`${n}: ${a.message}`;let o=Gr(e,t);return[...o].length>Ur(t)?`${n} is too long`:t.formatter===`name`&&o&&!Ir.test(o)?`${n} allows only letters, numbers, spaces, apostrophes, hyphens and periods`:(t.formatter===`phone`||t.formatter===`digits`)&&o&&!Lr.test(o)?`${n} contains invalid phone characters`:t.type===`number`&&o&&!Rr.test(o)?`${n} must contain only a valid number`:(t.type===`url`||t.formatter===`url`)&&o&&!/^https?:\/\//i.test(o)?`${n} must use http:// or https://`:null}function qr(e){return{validator:(t,n)=>{let r=(Array.isArray(n)?n:[n]).map(t=>Kr(t,e)).find(Boolean);return r?Promise.reject(Error(r)):Promise.resolve()}}}function Jr(e=[]){let t=new Map;return e.forEach(e=>{(e.fields??[]).forEach(n=>{if(n.type===`file`)return;let r=n.payloadKey||n.field;if(!r)return;let i=e.addRow?`${e.payloadKey||e.name}[].${r}`:r;t.set(i,n)})}),t}function Yr(e,t=[]){let n=Jr(t),r=(e,t=``)=>{if(typeof e==`string`){let r=n.get(t)??{},i=Kr(e,r);if(i)throw Error(i);return Gr(e,r)}return Array.isArray(e)?e.map(e=>r(e,`${t}[]`)):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>{if(e.startsWith(`$`)||e.includes(`.`)||e.includes(`\0`))throw Error(`Unsafe object key: ${e}`);let i=t?`${t}.${e}`:e;return[e,r(n,i)]})):e};return r(e)}var Xr=e=>e===!0||e===1||e===`1`||e===`true`;function Zr(e){let t=e?.overrideCheckbox;return!t||typeof t!=`object`?null:$r(e).size>0?t:null}function Qr(e){return String(e?.overrideCheckbox?.field??``).trim()||`${String(e?.field??``).replace(/\./g,`_`)}__override`}function $r(e){let t=e?.overrideCheckbox?.skipValidations,n=Array.isArray(t)?t:String(t??``).split(`,`);return new Set(n.map(e=>String(e??``).trim()).filter(Boolean))}function ei(e){return e?.overrideCheckbox?.store!==!1}function ti(e,t,n){let r=Qr(e);if(typeof n==`function`){let e=n(r);if(Array.isArray(e)&&e.length)return[...e,r]}return Array.isArray(t)&&t.length>=3&&typeof t[1]==`number`?[t[0],t[1],r]:[r]}function ni(e,t){return n=>{let r=!1;try{r=Xr(n?.getFieldValue?.(t))}catch{r=!1}return r?{}:e}}function ri(e,t,n,r){if(!Zr(e))return r;let i=$r(e),a=ti(e,t,n);return e=>{let t=r(e),n=typeof e==`string`?e:e?.type;return i.has(n)?ni(t,a):t}}function ii(e){let t=Zr(e)??{},n=e?.label??e?.field??`this field`;return{tone:t.tone??`overwrite`,title:t.confirmTitle||`Remove the validation on this field?`,body:t.confirmBody||`The check that keeps ${n} within its allowed limit will be turned off for this record, and a value above that limit will be accepted. The override is recorded against the record. Do you want to continue?`,okText:t.confirmOkText||`Yes, remove the limit`,cancelText:t.confirmCancelText||`Keep the limit`}}function ai(e){return String(e??``).normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,``)}function oi(e){let t=new Map,n=(e,n)=>{let r=ai(e);r&&!t.has(r)&&t.set(r,n)};return(Array.isArray(e?.options)?e.options:[]).forEach(e=>{if(e==null)return;let t=typeof e==`object`?e.value:e;t!=null&&t!==``&&(n(t,t),typeof e==`object`&&e.label!==void 0&&n(e.label,t))}),Object.entries(e?.optionAliases??{}).forEach(([e,r])=>{let i=t.get(ai(r));i!==void 0&&n(e,i)}),t}var si=e=>Array.isArray(e?.options)&&e.options.length>0;function ci(e,t){if(t==null||t===``||typeof t==`object`)return t;let n=e.get(ai(t));return n===void 0?t:n}function li(e,t){if(!si(e))return t;let n=oi(e);return n.size===0?t:Array.isArray(t)?t.map(e=>ci(n,e)):ci(n,t)}var F=e=>e==null||e===``||Array.isArray(e)&&e.length===0,ui=e=>e===!0||e===1||e===`1`,I=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!di(e);function di(e){return e&&typeof e==`object`&&typeof e.format==`function`&&typeof e.isValid==`function`}function fi(e){return di(e)||e instanceof Date}function pi(e){return e instanceof Date?e.toISOString():di(e)?e.isValid()?e.toISOString():null:e}function mi(e,t){if(!En(t))return pi(e);let n=Dn(e);return n?n.toISOString():pi(e)}function L(e,t){if(!t)return;let n=String(t).split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function R(e,t){return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:L(e,t)}function z(e,t){return e&&Object.prototype.hasOwnProperty.call(e,t)?!0:L(e,t)!==void 0}function B(e,t,n){let r=String(t).split(`.`),i=e;for(let e=0;e<r.length-1;e+=1){let t=r[e];I(i[t])||(i[t]={}),i=i[t]}return i[r[r.length-1]]=n,e}function hi(e,t,n){let r=String(t).split(`.`),i=e;for(let e=0;e<r.length-1;e+=1){let t=r[e];I(i[t])||(i[t]={}),i=i[t]}let a=r[r.length-1];return i[a]=I(i[a])&&I(n)?{...n,...i[a]}:n,e}function gi(e){let t=Array.isArray(e)?e:e==null?[]:[e];if(!t.length||t.some(e=>e?.originFileObj))return;let n=t.map(e=>e?.stored).filter(e=>e!=null);if(n.length)return n.length===1&&t.length===1?n[0]:n}function _i(e,t){return Object.entries(t??{}).forEach(([t,n])=>{I(n)&&I(e[t])?_i(e[t],n):e[t]=n}),e}function vi(e,t){let n=e.options??e.values??[];for(let e of n)if(typeof e==`string`){if(e===t)return e}else if((e.value??e.id??e.name??e.label)===t)return e.label??e.name??e.value}function yi(e,t){if(I(e)){let n=(t.valueKey&&e[t.valueKey])??e.value??e.id??e._id??e.key??e.code;return{value:n,label:(t.displayKey&&e[t.displayKey])??e.label??e.name??e.text??e.title??n}}return{value:e,label:vi(t,e)??e}}function bi(e={}){if(e.dataType&&e.dataType!==`auto`)return e.dataType;if(e.multiSelect||e.mode===`multiple`||e.addRow)return`array`;switch(e.type){case`number`:return`number`;case`date`:case`time`:return`date`;default:return`auto`}}function V(e,t,n={}){if(fi(e)){if(t===`string`)return mi(e,n);if(t===`number`){let t=di(e)?e.valueOf():e.getTime();return Number.isNaN(t)?null:t}if(t===`date`||t===`auto`||!t)return mi(e,n)}switch(t){case`string`:return e==null?``:String(e);case`number`:{if(F(e))return null;let t=Number(e);return Number.isNaN(t)?null:t}case`boolean`:return e===!0||e===1||e===`1`||e===`true`;case`array`:{let t;return t=Array.isArray(e)?e:F(e)?[]:typeof e==`string`&&e.includes(`,`)?e.split(`,`).map(e=>e.trim()).filter(Boolean):[e],n.elementType?t.map(e=>V(e,n.elementType,{})).filter(e=>e!=null&&e!==``):t}case`object`:return I(e),e;case`date`:return mi(e,n);case`custom`:case`auto`:case void 0:default:return e}}var xi={firstChecked:e=>Array.isArray(e)?e[0]:e,csvToArray:e=>typeof e==`string`?e.split(`,`).map(e=>e.trim()).filter(Boolean):e,arrayToCsv:e=>Array.isArray(e)?e.join(`,`):e,trim:e=>typeof e==`string`?e.trim():e,upper:e=>typeof e==`string`?e.toUpperCase():e,lower:e=>typeof e==`string`?e.toLowerCase():e};function Si(e,t){if(!t)return e;let n=t;if(typeof n==`string`){if(xi[n])return xi[n](e);try{n=JSON.parse(n)}catch{return e}}let r=e;if(n.name&&xi[n.name]&&(r=xi[n.name](r)),n.map&&typeof n.map==`object`){let e=String(Array.isArray(r)?r[0]:r);Object.prototype.hasOwnProperty.call(n.map,e)?r=n.map[e]:n.default!==void 0&&(r=n.default)}return r}var Ci=/\{\{\s*([\w.]+)\s*\}\}/g;function wi(e,t){let[n,...r]=e.split(`.`),i;if(n===`value`)i=t.value;else if(n===`label`)i=t.label;else if(n===`raw`)i=t.raw;else return;return r.length?L(i,r.join(`.`)):i}function Ti(e,t){if(typeof e==`string`){let n=e.match(/^\{\{\s*([\w.]+)\s*\}\}$/);return n?wi(n[1],t):e.replace(Ci,(e,n)=>{let r=wi(n,t);return r==null?``:String(r)})}if(Array.isArray(e))return e.map(e=>Ti(e,t));if(I(e)){let n={};return Object.entries(e).forEach(([e,r])=>{n[e]=Ti(r,t)}),n}return e}function Ei(e){if(!e)return null;if(typeof e==`string`)try{return JSON.parse(e)}catch{return null}return e}function Di(e,t){let n=e.payloadMode||`auto`,r=bi(e),{value:i,label:a}=yi(t,e);switch(n){case`value`:return{kind:`scalar`,out:V(i,r,e)};case`label`:return{kind:`scalar`,out:V(a,e.dataType||`string`,e)};case`object`:{let t=e.valueKey||`id`,n=e.displayKey||`name`;return{kind:`scalar`,out:{[t]:V(i,e.elementType||`auto`,{}),[n]:a}}}case`custom`:case`template`:{let n=Ei(e.payloadTemplate);if(!n)return{kind:`scalar`,out:V(i,r,e)};let o=Ti(n,{value:V(i,e.elementType||`auto`,{}),label:a,raw:t});return{kind:e.payloadKey?`scalar`:`spread`,out:o}}default:return{kind:`scalar`,out:V(i,r,e)}}}function Oi(e,t){if(e.payloadMode===`skip`)return{kind:`skip`};let n=t;return F(n)&&e.defaultValue!==void 0&&e.defaultValue!==``&&(n=e.defaultValue),n=Si(n,e.transformRule),F(n)&&e.omitEmpty?{kind:`skip`}:Array.isArray(n)&&(bi(e)===`array`||e.payloadMode===`object`)&&e.payloadMode&&e.payloadMode!==`value`&&e.payloadMode!==`auto`?{kind:`scalar`,out:n.map(t=>Di(e,t).out)}:Di(e,n)}function ki(e={}){return!!e.richValue||[`label`,`object`,`custom`,`template`].includes(e.payloadMode)}function Ai(e,t,n=[]){if(!ki(e)||t==null)return t;let r=e=>{if(I(e)&&e.value!==void 0)return e;let t=n.find(t=>String(t?.value??``)===String(e)||String(t?.label??``)===String(e));return{value:t?.value??e,label:t?.label??String(e)}};return Array.isArray(t)?t.map(r):r(t)}function ji(e,t,n){if(!e?.field)return!0;let r=z(t,e.field)?R(t,e.field):R(n??t,e.field),i=()=>String(e.value??``).split(`,`).map(e=>e.trim());switch(e.operator){case`eq`:return String(r??``)===String(e.value??``);case`neq`:return String(r??``)!==String(e.value??``);case`truthy`:return r!=null&&r!==``&&r!==!1;case`falsy`:return r==null||r===``||r===!1;case`notEmpty`:return Array.isArray(r)?r.length>0:!!r;case`in`:return i().includes(String(r??``));case`notIn`:return!i().includes(String(r??``));default:return!0}}function Mi(e){let t=[];return e?.field&&t.push(e.field),Array.isArray(e?.conditions)&&e.conditions.forEach(e=>{e?.field&&t.push(e.field)}),t}function Ni(e,t,n){if(!e)return!0;let r=Array.isArray(e.conditions)?e.conditions.filter(e=>e?.field):[];if(r.length){let i=r.map(e=>ji(e,t,n)),a=String(e.logic??`and`).toLowerCase()===`or`,o=a?i.some(Boolean):i.every(Boolean);if(e.field){let r=ji(e,t,n);o=a?o||r:o&&r}return o}return ji(e,t,n)}function Pi(e,t,n,r,i=new Set){let a=Mi(e?.showIf);return!a.length||i.has(e.field)?!0:(i.add(e.field),Ni(e.showIf,t,n)?a.every(e=>{let a=r?.get?.(e);return!a||Pi(a,t,n,r,i)}):!1)}function Fi(e=[]){let t=new Map;return e.forEach(e=>(e.fields??[]).forEach(e=>{e?.field&&!t.has(e.field)&&t.set(e.field,e)})),t}function Ii(e={},{editing:t=!1}={}){let n={};return(e.fields??[]).forEach(e=>{!e.field||H(e)||t&&!e.defaultOnEdit||e.defaultValue!==void 0&&e.defaultValue!==``&&(n[e.field]=e.defaultValue)}),n}function Li(e=[]){let t=[];return e.forEach(e=>{(e.fields??[]).forEach(n=>{t.push({field:n,group:e})})}),t}var Ri=[`file`,`document`,`image`,`upload`,`attachment`];function H(e){return Ri.includes(String(e?.type??``).trim().toLowerCase())}function zi(e=[]){return Li(e).map(({field:e})=>e).filter(H)}function Bi(e){return String(e??``).trim().toLowerCase()}function Vi(e,t){return!!t&&Bi(e.moduleName)===t}function Hi(e,t=[],n={}){let r=[],i=n.scope??`all`,a=Bi(n.module),o=(e,t)=>{t!=null&&(Array.isArray(t)?t:[t]).forEach(t=>{let n=t?.originFileObj||t;(typeof File<`u`&&n instanceof File||typeof Blob<`u`&&n instanceof Blob)&&r.push({formKey:e,file:n})})};return(t??[]).forEach(t=>{let r=(t.fields??[]).filter(H);if(!r.length)return;let s=t.moduleName&&!Vi(t,a),c=e=>s?`__mw__${t.moduleName}__${e}`:e;if(t.addRow){if(i===`flat`)return;let a=e[t.name];if(!Array.isArray(a))return;r.forEach(e=>{let t=e.fileKey??String(e.field).split(`.`)[0];a.forEach((r,i)=>{let a=c(n.indexed?`${t}[${i}]`:t);o(a,R(r,e.field))})});return}i!==`addRow`&&r.forEach(t=>{let n=c(t.fileKey??String(t.field).split(`.`)[0]);o(n,R(e,t.field))})}),r}function Ui(e,t,n={}){let r=I(n.base)?structuredClone(n.base):{};zi(t).forEach(e=>{(e.payloadKey||e.field)&&(Ki(r,e.payloadKey||e.field),Ki(r,e.field))});let i=Bi(n.module),a=Fi(t),o=new Map,s=e=>!e.moduleName||Vi(e,i)?r:(o.has(e.moduleName)||o.set(e.moduleName,{}),o.get(e.moduleName));return(t??[]).forEach(t=>{let n=s(t),r=t.fields??[],i=t.toggleEnabled&&t.toggleField&&z(e,t.toggleField)?!!R(e,t.toggleField):!1;if(t.toggleEnabled&&t.toggleField&&z(e,t.toggleField)&&(B(n,t.toggleField,i),i&&t.addRow)){B(n,t.payloadKey||t.name,[]);return}if(t.addRow){let i=e[t.name];if(!Array.isArray(i))return;B(n,t.payloadKey||t.name,i.map(t=>Gi(r,t,e,a)).filter(e=>e&&Object.keys(e).length>0));return}r.forEach(t=>Wi(t,e,n,e,a))}),o.size>0&&(r.moduleWrites=Array.from(o,([e,t])=>({moduleName:e,data:t}))),Yr(r,t)}function Wi(e,t,n,r,i){if(Zr(e)&&ei(e)){let r=Qr(e);z(t,r)&&B(n,r,!!R(t,r))}if(H(e)){let i=gi(R(t,e.field));if(i!==void 0){let a=r!==void 0&&r!==t;hi(n,e.payloadKey||(a?e.field:e.fileKey||e.field),i)}return}if(Mi(e.showIf).length&&!Pi(e,t,r,i)){(r===void 0||r===t)&&z(t,e.field)&&B(n,e.payloadKey||e.field,null);return}if(Array.isArray(e.subFields)&&e.subFields.length>0){if(!z(t,e.field))return;let a=R(t,e.field);if(!Array.isArray(a))return;let o=a.map(t=>Gi(e.subFields,t,r,i)).filter(e=>e&&Object.keys(e).length>0);B(n,e.payloadKey||e.field,o);return}if(!z(t,e.field))return;if(ui(e.addRow)&&(!Array.isArray(e.subFields)||e.subFields.length===0)){let r=R(t,e.field),i=Array.isArray(r)?r:F(r)?[]:[r],a=Ji(e),o=i.map(e=>Oi(a,e)).filter(e=>e.kind!==`skip`).map(e=>e.out);B(n,e.payloadKey||e.field,o);return}let a=Oi(e,R(t,e.field));if(a.kind!==`skip`){if(a.kind===`spread`&&I(a.out)){_i(n,a.out);return}B(n,e.payloadKey||e.field,a.out)}}function Gi(e,t,n,r){let i={};return e.forEach(e=>Wi(e,t,i,n??t,r)),i}function Ki(e,t){let n=String(t).split(`.`),r=e;for(let e=0;e<n.length-1;e+=1){if(!I(r[n[e]]))return;r=r[n[e]]}delete r[n[n.length-1]]}var qi=new Set([`text`,`textarea`,`email`,`phone`,`tel`,`number`,`date`,`time`,`datetime`,`password`]);function U(e,t){let n=t=>(Array.isArray(e.emptyValues)?e.emptyValues:[]).some(e=>String(e)===String(t)),r=()=>e.defaultOnEdit&&e.defaultValue!==void 0&&e.defaultValue!==``?e.defaultValue:void 0;if(t==null)return r()??t;if(n(t))return r();if(F(t)&&e.defaultOnEdit&&e.defaultValue!==void 0&&e.defaultValue!==``)return e.defaultValue;if(qi.has(e.type)&&I(t)){let n=String(e.payloadKey||e.field||``).split(`.`).pop(),r=n?t[n]:void 0;if(r===void 0||I(r))return;t=r}if(e.type===`date`||e.type===`time`){if(!t||t===`0001-01-01T00:00:00Z`)return null;let e=(0,s.default)(t);return e.isValid()?e:null}t=li(e,t);let i=t=>I(t)?(e.valueKey&&t[e.valueKey])??t.id??t._id??t.value??t.userId??t.recruiterId:t,a=e.type!==`radio`&&bi(e)===`array`,o=t=>{if(t==null||t===``||!Array.isArray(e.options))return t;let n=e.options.find(e=>String(e?.value??``).toLowerCase()===String(t).toLowerCase());return n?n.value:t};if(e.type===`select`||e.type===`radio`||e.type===`checkbox`){if(a)return(Array.isArray(t)?t:[t]).map(i).map(o).filter(e=>e!=null&&e!==``&&!n(e));let e=o(i(Array.isArray(t)?t[0]:t));return n(e)?r():e}return t}function Ji(e={}){return{...e,addRow:!1,multiSelect:!1,mode:void 0,dataType:void 0}}function Yi(e,t){let n=Math.max(0,Number(e.minRows??0)||0),r=e.initialRows!==void 0&&e.initialRows!==``?Math.max(n,Math.max(0,Number(e.initialRows)||0)):n;if(Array.isArray(e.subFields)&&e.subFields.length>0){let i=[];Array.isArray(t)&&(i=t.map(t=>{let n={};return e.subFields.forEach(e=>{if(!e.field||H(e))return;let r=L(t??{},e.field)??(t??{})[e.field];r!=null&&(n[e.field]=U(e,r))}),n}));let a=i.length>0?n:Math.max(n,r);for(;i.length<a;)i.push({});return i}let i=Ji(e),a=[];if(Array.isArray(t))a=t.map(e=>U(i,e)).filter(e=>e!=null&&e!==``);else if(t!=null&&t!==``){let e=U(i,t);e!=null&&e!==``&&(a=[e])}let o=a.length>0?n:Math.max(n,r);for(;a.length<o;)a.push(void 0);return a}var Xi=e=>e===!0||e===1||e===`1`;function Zi(e=[]){let t=new Map;e.forEach(e=>{let n=e?.linkGroup;!Xi(e?.addRow)||!n||(t.has(n)||t.set(n,[]),t.get(n).push(e.name))});let n=new Map;return t.forEach((e,t)=>{e.length<2||n.set(t,{leaderName:e[0],memberNames:e})}),n}function Qi(e,t){for(let n of e.values())if(n.memberNames.includes(t))return n;return null}function $i(e,t={}){let n={...t};return e.forEach(({memberNames:e})=>{let t=Math.max(...e.map(e=>(n[e]??[]).length));e.forEach(e=>{let r=n[e]??[];r.length<t&&(n[e]=[...r,...Array.from({length:t-r.length},()=>({}))])})}),n}var ea={duplicate:{className:`fdd-tone-amber`,Icon:a.UserOutlined},overwrite:{className:`fdd-tone-amber`,Icon:a.ExclamationCircleFilled},suggestion:{className:`fdd-tone-blue`,Icon:a.InfoCircleFilled},file:{className:`fdd-tone-blue`,Icon:a.FileTextOutlined}};function ta({tone:e=`suggestion`,title:t,body:n,facts:r=[],okText:a=`Continue`,cancelText:s=`Cancel`,danger:c=!1,footnote:l}={}){let{className:u,Icon:d}=ea[e]??ea.suggestion,f=r.filter(e=>e&&e.value!==void 0&&e.value!==null&&String(e.value).trim()!==``);return new Promise(e=>{i.Modal.confirm({icon:null,centered:!0,width:480,className:`fdd-modal ${u}`,okText:a,cancelText:s,okButtonProps:{danger:c,size:`large`},cancelButtonProps:{size:`large`},content:(0,o.jsxs)(`div`,{className:`fdd`,children:[(0,o.jsxs)(`div`,{className:`fdd-head`,children:[(0,o.jsx)(`span`,{className:`fdd-icon`,"aria-hidden":`true`,children:(0,o.jsx)(d,{})}),(0,o.jsx)(`h3`,{className:`fdd-title`,children:t})]}),f.length>0&&(0,o.jsx)(`dl`,{className:`fdd-facts`,children:f.map(e=>(0,o.jsxs)(`div`,{className:`fdd-fact`,children:[(0,o.jsx)(`dt`,{children:e.label}),(0,o.jsx)(`dd`,{children:e.value})]},e.label))}),n&&(0,o.jsx)(`p`,{className:`fdd-body`,children:n}),l&&(0,o.jsx)(`p`,{className:`fdd-footnote`,children:l})]}),onOk:()=>e(!0),onCancel:()=>e(!1)})})}function na({tone:e=`duplicate`,title:t,body:n,facts:r=[],okText:a=`Go back`}={}){let{className:s,Icon:c}=ea[e]??ea.suggestion,l=r.filter(e=>e&&String(e.value??``).trim()!==``);return new Promise(e=>{i.Modal.warning({icon:null,centered:!0,width:480,className:`fdd-modal ${s}`,okText:a,okButtonProps:{size:`large`},content:(0,o.jsxs)(`div`,{className:`fdd`,children:[(0,o.jsxs)(`div`,{className:`fdd-head`,children:[(0,o.jsx)(`span`,{className:`fdd-icon`,"aria-hidden":`true`,children:(0,o.jsx)(c,{})}),(0,o.jsx)(`h3`,{className:`fdd-title`,children:t})]}),l.length>0&&(0,o.jsx)(`dl`,{className:`fdd-facts`,children:l.map(e=>(0,o.jsxs)(`div`,{className:`fdd-fact`,children:[(0,o.jsx)(`dt`,{children:e.label}),(0,o.jsx)(`dd`,{children:e.value})]},e.label))}),n&&(0,o.jsx)(`p`,{className:`fdd-body`,children:n})]}),onOk:()=>e(!0)})})}async function ra({module:e,group:n,field:r,actionKey:i,inputs:a={},files:o={}}){if(!e||!n||!r||!i)throw Error(`module, group, field and actionKey are required to run an AI action`);let s=await t.a(),c=new FormData;c.append(`json`,JSON.stringify({inputs:a})),Object.entries(o).forEach(([e,t])=>{t&&c.append(e,t)});let l=new URLSearchParams({module:e,group:n,field:r,action:i}),u=await fetch(`${t.x}/ai-action?${l.toString()}`,{method:`POST`,headers:{Authorization:`Bearer ${s}`},body:c}),{logout:d}=await Promise.resolve().then(()=>require("./authApi-B9mjMdVC.cjs")).then(e=>e.n);u.status===401&&d();let f=(u.headers.get(`content-type`)||``).includes(`application/json`)?await u.json():await u.text();if(!u.ok){let e=Error(f?.error||f?.message||`API ${u.status}: ${u.statusText}`);throw e.status=u.status,e.data=f,e}return f?.data??f}var ia=e=>e==null||e===``;function aa(e,t){return String(t??``).split(`.`).filter(Boolean).reduce((e,t)=>e?.[t],e)}function oa(e){let t=String(e??``).trim().replace(/[\s()-]/g,``);if(!t)return``;let n=t.replace(/^\+/,``);return/^\d{1,4}$/.test(n)?`+${n}`:``}function sa(e){let t=String(e?.field??``).trim(),n=t.replace(/(number|no|phone|mobile|contact)$/i,``);return[...t?[`${t}CountryCode`,`${t}Code`]:[],...n&&n!==t?[`${n}CountryCode`]:[],`countryCode`,`phoneCountryCode`,`mobileCountryCode`,`contactCountryCode`,`dialCode`,`isdCode`]}function ca(e,t,n=``){let r=e?.renderOptions?.countryCodeField??e?.countryCodeField,i=r?[r,...sa(e)]:sa(e);for(let e of i){let n=oa(aa(t,e));if(n)return n}return oa(n)}function la(e){let t=String(e??``).trim(),n=t.match(/^(\+\d{1,4})[\s-]*(.*)$/);return n?{code:n[1],rest:n[2]}:{code:``,rest:t}}function ua(e,t=``){if(ia(e))return``;let{code:n,rest:r}=la(e),i=n||oa(t),a=mn(r)||r;return`${i?`${i} `:``}${a}`.trim()}function da(e,t,n){return ua(t,ca(e,n,fn()))}var fa=[{value:`auto`,label:`Default (auto)`},{value:`text`,label:`Text`},{value:`tag`,label:`Tag`},{value:`tags`,label:`Multi Tag (Skills)`},{value:`badge`,label:`Badge`},{value:`chip`,label:`Chip`},{value:`document`,label:`Document`},{value:`link`,label:`Link`},{value:`email`,label:`Email`},{value:`phone`,label:`Phone`},{value:`date`,label:`Date`},{value:`currency`,label:`Currency`},{value:`budget`,label:`Budget`},{value:`html`,label:`HTML`}],pa=[{value:`preview`,label:`Preview (viewer)`},{value:`download`,label:`Download button`},{value:`link`,label:`Link (filename)`},{value:`tag`,label:`Tag`},{value:`text`,label:`Text (filename)`}],ma=[{value:`none`,label:`None`},{value:`upper`,label:`UPPERCASE`},{value:`lower`,label:`lowercase`},{value:`title`,label:`Title Case`}],ha=[`location`,`path`,`url`,`key`],ga=[`location`,`filepath`,`path`,`url`,`key`],_a=[`uploadedfilename`,`uploadname`,`originalname`,`displayname`,`documentname`,`filename`],va=[`name`],ya=e=>String(e).toLowerCase(),ba=e=>e==null||e===``;function xa(e,t){for(let n of t){let t=e[n];if(typeof t==`string`&&t)return t}return``}function Sa(e,t){for(let n of t)for(let[t,r]of Object.entries(e))if(typeof r==`string`&&r&&ya(t).endsWith(n))return r;return``}function Ca(e){if(!e)return``;let t=String(e).split(`?`)[0].split(`#`)[0];return decodeURIComponent(t.split(`/`).pop()||``)}function wa(e){if(!e)return``;let t=String(e);return/^https?:\/\//i.test(t)?t:``}function Ta(e){let t=String(e??``).trim();return!t||/^https?:\/\//i.test(t)||t.startsWith(`blob:`)||t.startsWith(`data:`)?!1:t.includes(`/`)}function Ea(e){return typeof e==`string`?e.includes(`/`)?e:``:!e||typeof e!=`object`?``:xa(e,ha)||Sa(e,ga)}function Da(e){return e?typeof e==`string`?Ca(e)||e:typeof e==`object`&&(xa(e,A().documentNameOrder??[])||Sa(e,_a)||Ca(Ea(e))||Sa(e,va))||`Document`:`Document`}function Oa(e){if(ba(e))return[];let t=Array.isArray(e)?e:[e],n=[];for(let e of t)if(!ba(e)){if(typeof e==`string`){let t=e.includes(`/`)?e:``;n.push({location:t,name:Ca(e)||e,url:wa(t),needsAuthFetch:Ta(t)})}else if(typeof e==`object`){let t=Ea(e),r=e.fileUrl||e.downloadUrl||e.signedUrl||``;n.push({location:t,name:Da(e),url:r||wa(t),documentId:e.id||e._id||e.documentId||``,needsAuthFetch:!r&&Ta(t)})}}return n}function ka(e){return e?.primaryField?e.primaryField:(e?.fields??[]).find(e=>e?.field)?.field??null}function Aa(e,t){if(!Array.isArray(t)||t.length===0)return t;let n=ka(e);if(!n)return t;let r=!1,i=t.map(e=>typeof e==`object`&&e&&!Array.isArray(e)?e:e==null||String(e).trim()===``?(r=!0,{}):(r=!0,{[n]:e}));return r?i:t}var ja=e=>e===!0||e===1||e===`1`,Ma=e=>e==null||e===``;function Na(e){return String(e??``).split(`.`).map(e=>e.trim()).filter(Boolean)}function W(e,t,n){let r=Array.isArray(t)?t:Na(t);if(!r.length)return e;let i=e;for(let e=0;e<r.length-1;e+=1){let t=r[e];(!i[t]||typeof i[t]!=`object`||Array.isArray(i[t]))&&(i[t]={}),i=i[t]}return i[r[r.length-1]]=n,e}function Pa(e,t=[]){if(!(!e||typeof e!=`object`))for(let n of t){if(!n)continue;let t=L(e,n);if(!Ma(t))return t}}function Fa(e,t){if(!e||typeof e!=`object`)return;let n=Object.entries(e),r=n.find(([e,n])=>t.test(e)&&!Ma(n));if(r)return r[1];for(let[,e]of n)if(e&&typeof e==`object`&&!Array.isArray(e)){let n=Fa(e,t);if(!Ma(n))return n}}function Ia(e,t){let n=Array.isArray(e)?e:e?[e]:[];if(!n.length)return;let r=n.map((e,n)=>{if(typeof e==`string`)return{uid:`${t.field}-${n}`,name:e,status:`done`};if(!e||typeof e!=`object`)return null;let r=Pa(e,[t.fileUrlKey,t.locationKey])??Fa(e,/(location|url|path)$/i)??``,i=Pa(e,[t.fileNameKey])??Fa(e,/(uploadName|uploadedFileName|fileName|name)$/i)??``;if(!r&&!i)return null;let a=r&&!String(r).startsWith(`http`)?wa(r):r;return{uid:String(e.id??e._id??e.uniqueName??e.documentCopyUniqueName??`${t.field}-${n}`),name:i||`file`,status:`done`,existing:!0,url:a||void 0,stored:e}}).filter(Boolean);return r.length?r:void 0}function La(e,t){if(!e||typeof e!=`object`)return;let n=Pa(e,[t.fileNameKey,t.field])??Fa(e,/(uploadName|uploadedFileName|fileName|name)$/i),r=Pa(e,[t.fileUrlKey,t.locationKey])??Fa(e,/(location|url|path)$/i)??``;if(!n&&!r)return;let i=r&&!String(r).startsWith(`http`)?wa(r):r,a=e.documentCopyUniqueName??e.uniqueName??n??`${t.field}-0`;return[{uid:String(a),name:n??`file`,status:`done`,existing:!0,url:i||void 0}]}function Ra(e,t,n,r){(e.fields??[]).forEach(e=>{e?.verifyAction&&[e.verifyResultField,e.verifyTimestampField,...String(e.verifyLockedWhenFields??``).split(/[,\s]+/)].map(e=>String(e??``).trim()).filter(Boolean).forEach(e=>{if(L(n,e)!==void 0)return;let i=r(t,{field:e});i!=null&&W(n,e,i)})})}function za(e){let t=Array.isArray(e.rows)?Aa(e,e.rows):null,n=Math.max(0,Number(e.minRows??0)||0),r=(t,n,r)=>{let i={};return(e.fields??[]).forEach(e=>{if(!e.field)return;if(e.type===`file`){let r=n(t,e);r&&W(i,e.field,r);return}let a=r(t,e);if(a==null){e.defaultOnEdit&&e.defaultValue!==void 0&&e.defaultValue!==``&&W(i,e.field,e.defaultValue);return}W(i,e.field,ja(e.addRow)?Yi(e,a):U(e,a))}),Ra(e,t,i,r),i},i=Ii(e,{editing:!0});if(t&&t.length>0){let e=t.map(e=>r(e,(e,t)=>La(e,t),(e,t)=>L(e,t.field)));for(;e.length<n;)e.push({...i});return e}let a=r(e,(e,t)=>Ia(t.value,t),(e,t)=>t.value),o=Object.keys(a).length>0?[a]:[];for(;o.length<n;)o.push({...i});return o}function Ba(e,t=[]){let n={};return t.forEach(e=>{e.toggleEnabled&&e.toggleField&&W(n,e.toggleField,!!e.toggleValue),!e.addRow&&(e.fields??[]).forEach(e=>{if(!e.field||e.addRow)return;let t=e.value,r=e.field;if(e.type===`file`){let i=Ia(t,e);i&&W(n,r,i);return}if(t==null)return;if(e.type===`checkbox`&&Array.isArray(e.options)&&e.options.length>0){let i=e.transformRule?.map;if(i){let e=Object.entries(i).find(([,e])=>String(e)===String(t));W(n,r,e?[e[0]]:[])}else W(n,r,li(e,Array.isArray(t)?t:[t]));return}let i=e.splitDialCodeInto;if(i&&typeof t==`string`){let{code:a,rest:o}=la(t),s=oa(a);s&&W(n,i,s),W(n,r,U(e,o||t));return}W(n,r,U(e,t))})}),Object.keys(n).length>0&&e.setFieldsValue(n),n}function Va(e){let t=document.createElement(`div`);return t.innerHTML=String(e??``),t.textContent||t.innerText||``}function Ha(e,t){return t&&t===`stripHtml`?Va(e):e}function Ua(e){return String(e??``).trim().split(/\s+/).filter(Boolean).length}function Wa(e){return Object.values(e||{}).some(e=>e!=null&&e!==``)}function Ga(e,t){if(e.kind===`file`)return Array.isArray(t)?t.length>0:!!t;let n=Ha(t,e.transform),r=String(n??``).trim();if(!r)return!1;let i=Number(e.minWords)||0;return i>0?Ua(r)>=i:!0}function Ka(e,t){let n=e.inputs||[];if(n.length===0)return!0;let r=new Map;n.forEach((e,t)=>{let n=e.group||`__solo_${t}`;r.has(n)||r.set(n,[]),r.get(n).push(e)});for(let e of r.values())if(e.some(e=>e.required||Number(e.minWords)>0)&&!e.some(e=>Ga(e,t(e.sourceField))))return!1;return!0}function qa(e=[]){let t=[];return e.forEach(e=>{if(e?.addRow){e.name&&t.push(e.name);return}(e?.fields??[]).forEach(e=>{let n=e?.field??e?.name;n&&t.push(n)})}),t}function Ja(e,t){return qa(t).some(t=>{let n=e.getFieldValue(t);return Array.isArray(n)?n.some(Wa):n!=null&&n!==``})}function Ya(e,t=[],{includeUntouched:n=!1}={}){let r=e.getFieldsValue(!0)??{},i=new Set([t].flat().filter(Boolean)),a=n||typeof e.isFieldTouched!=`function`?()=>!0:t=>e.isFieldTouched(t),o=0;return Object.entries(r).forEach(([e,t])=>{if(!(i.has(e)||!a(e)||!Xa(t))){if(Array.isArray(t)){o+=t.filter(e=>e&&typeof e==`object`?Wa(e):!!e).length;return}o+=1}}),o}function Xa(e){return e==null||e===``?!1:Array.isArray(e)?e.some(e=>e&&typeof e==`object`?Wa(e):!!e):typeof e!=`object`||Object.values(e).some(e=>e!=null&&e!==``)}function Za(e,t=[],{includeUntouched:n=!1}={}){let r=e.getFieldsValue(!0)??{},i=new Set([t].flat().filter(Boolean)),a=Object.keys(r).filter(e=>!i.has(e));return n?a.some(e=>Xa(r[e])):typeof e.isFieldTouched==`function`?a.some(t=>e.isFieldTouched(t)&&Xa(r[t])):a.some(e=>Xa(r[e]))}function Qa(e=[]){let t={};return(e??[]).forEach(e=>{e?.addRow||(e?.fields??[]).forEach(e=>{let n=e?.field??e?.name;if(!n)return;let r=e?.value;r!=null&&r!==``&&(t[n]=r)})}),t}function $a(e,t,n){let r=e?.confirmWhen??`never`;return r===`never`?!1:r===`always`||Ja(t,n)}var eo=[`top-left`,`top-center`,`top-right`,`bottom-left`,`bottom-center`,`bottom-right`],to=`bottom-left`;function no(e=[]){let t={};return e.forEach(e=>{let n=eo.includes(e.position)?e.position:to;(t[n]??=[]).push(e)}),t}function ro({form:e,groups:t,module:n,onApplied:a,onParsed:o,treatPrefilledAsData:s=!1}){let[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(``),f=i.Form.useWatch(e=>e,e),p=(0,r.useCallback)(e=>Ka(e,e=>(f||{})[e]),[f]),m=(0,r.useCallback)(t=>{if(!Array.isArray(t)||t.length===0)return!1;let n=Ba(e,t.filter(e=>!e.addRow)),r=Object.keys(n).length>0;return t.forEach(t=>{if(!t.addRow||!Array.isArray(t.rows)||t.rows.length===0)return;let n=za(t);if(n.length===0)return;r=!0;let i=()=>e.setFieldsValue({[t.name]:n}),a=(e.getFieldValue(t.name)||[]).filter(Wa);if(a.length){let e=t.label||t.name;ta({tone:`overwrite`,title:`Replace what's in ${e}?`,facts:[{label:`Section`,value:e},{label:`Rows you filled in`,value:a.length},{label:`Rows in the file`,value:n.length}],body:`Everything currently in ${e} will be removed and replaced with what the file says. The rest of the form is not affected.`,okText:`Replace them`,cancelText:`Keep mine`,danger:!0}).then(e=>{e&&i()})}else i()}),r},[e]);return{runAction:(0,r.useCallback)(async(t,r,c,u)=>{let f=c?.confirmWhen??`never`;if(c?.trigger===`upload`&&f!==`never`&&(f===`always`||Za(e,[r?.field],{includeUntouched:s}))){let t=c.confirmMessages??{},n=u?.name||e.getFieldValue(r?.field)?.slice?.(-1)?.[0]?.name,i=Ya(e,[r?.field],{includeUntouched:s});if(!await ta({tone:`overwrite`,title:t.title||`Read this file and fill the form in?`,facts:[{label:`File`,value:n},{label:`You have filled in`,value:i?`${i} ${i===1?`answer`:`answers`}`:void 0}],body:t.body||`We can read the details out of this file and fill the form in for you. Where the file has an answer, it replaces what is currently in that box. Anything the file does not mention is left as you typed it.`,okText:t.ok||`Read it and fill in`,cancelText:t.cancel||`Keep what I typed`}))return}l(c.key),d(c.loadingText||`Reading ${c.label||`the file`}…`);try{let s={},l={};(c.inputs||[]).forEach(t=>{if(t.kind===`file`){let n=e.getFieldValue(t.sourceField),r=u??n?.[n.length-1]?.originFileObj;r&&(l[t.param]=r)}else{let n=e.getFieldValue(t.sourceField);n!=null&&n!==``&&(s[t.param]=Ha(n,t.transform))}}),(c.inputs||[]).forEach(e=>{!e.group||e.kind!==`text`||(c.inputs||[]).some(t=>t.group===e.group&&t.kind===`file`&&l[t.param])&&delete s[e.param]});let d=await ra({module:n,group:t,field:r.field,actionKey:c.key,inputs:s,files:l}),f=c.label||`AI action`,p=d?.groups;if(c?.trigger!==`upload`&&$a(c,e,p)){let e=c.confirmMessages??{},t=qa(p).length;if(!await ta({tone:`overwrite`,title:e.title||`Fill the form in from ${f}?`,facts:[{label:`Source`,value:f},{label:`Boxes it would fill`,value:t||void 0}],body:e.body||`We found details you can use. Applying them will replace what you have already entered in those boxes.`,okText:e.ok||`Use these details`,cancelText:e.cancel||`Keep what I typed`}))return i.message.info(`${f} cancelled — your entries were kept.`),d}if(o){let e=await o({action:c,field:r,groupName:t,responseGroups:p,payload:Qa(p)});if(e===!1||e===`abort`)return d}let h=m(p);return h?i.message.success(`${f} completed successfully.`):i.message.info(`${f} completed, but no matching details were found.`),h&&a&&await a({action:c,field:r,groupName:t}),d}catch(e){i.message.error(e?.message||`${c.label||`AI action`} failed`);return}finally{l(null),d(``)}},[e,n,m,a,o,s]),loadingKey:c,loadingText:u,busy:c!==null,isActionEnabled:p}}function io({position:e,actions:t,aiActions:n,groupName:r,field:a}){if(!t||t.length===0)return null;let s=e.endsWith(`center`)?`center`:e.endsWith(`right`)?`flex-end`:`flex-start`;return(0,o.jsx)(i.Space,{size:8,className:`v1-ai-action-buttons`,style:{width:`100%`,justifyContent:s},children:t.map(e=>(0,o.jsx)(i.Button,{size:`small`,loading:n.loadingKey===e.key,disabled:n.busy||!n.isActionEnabled(e),onClick:()=>n.runAction(r,a,e),children:e.label},e.key))})}function ao(e){let t=String(e??``).trim(),n=/^([^\s@]+)@([^\s@]+)\.([A-Za-z]{2,})$/.exec(t);if(!n)return!1;let[,r,i]=n;return/[A-Za-z]/.test(r)&&/[A-Za-z]/.test(i)}function oo(e=`Email`,t){return{validator:(n,r)=>r==null||r===``||ao(r)?Promise.resolve():Promise.reject(Error(t??`Enter a valid ${e}; numeric-only email addresses are not allowed`))}}var so=[{label:`Only Numbers`,value:`onlyNumber`},{label:`Only Letters`,value:`onlyLetter`},{label:`Only Letters & Spaces`,value:`onlyLettersAndSpace`},{label:`Only Alphanumeric`,value:`onlyAlphanumeric`},{label:`Alphanumeric & Spaces`,value:`alphanumericSpace`},{label:`Letters, Numbers & Hyphen`,value:`onlyLettersNumberAndHyphen`},{label:`Letters, Numbers, Hyphen & Dot`,value:`onlyLettersNumberHyphenAndDot`},{label:`Contact Number (digits, (), -)`,value:`contactNumber`},{label:`Email (reject numeric-only address)`,value:`email`},{label:`Job Title (letters, nums, symbols)`,value:`jobTitle`},{label:`MSP / Ref ID (alphanumeric only)`,value:`mspRefId`},{label:`Location (letters, nums, , . -)`,value:`locationValidation`},{label:`Decimal / Range (number + dot)`,value:`decimalRange`},{label:`Budget (numbers, must be > 0)`,value:`budgetValidation`},{label:`Experience (numbers only)`,value:`experience`},{label:`Numeric — 2 digits max`,value:`numericTwoDigits`},{label:`Job Description (character count)`,value:`jobDescription`},{label:`Website URL`,value:`websiteUrl`}],co={onlyNumber:/^[0-9]$/,experience:/^[0-9]$/,numericTwoDigits:/^[0-9]$/,budgetValidation:/^[0-9]$/,onlyLetter:/^[a-zA-Z\s]$/,onlyLettersAndSpace:/^[a-zA-Z\s]$/,onlyAlphanumeric:/^[a-zA-Z0-9]$/,alphanumericSpace:/^[a-zA-Z0-9\s]$/,mspRefId:/^[a-zA-Z0-9]$/,onlyLettersNumberAndHyphen:/^[a-zA-Z0-9\s-]$/,locationValidation:/^[a-zA-Z0-9\s\-.,]$/,jobTitle:/^[a-zA-Z0-9\s\-.,/&+()*'"#@]$/,decimalRange:/^[0-9.]$/,contactNumber:/^[0-9()\-+\s]$/};function lo(e){return co[e]??null}function uo(e,t={},n=`change`){if(!t?.type||e==null)return{cleaned:e??``,error:null};let r=String(e),{type:i,maxLength:a,maxChars:o}=t,s=t.title||`Field`,c,l=null,u=e=>n===`blur`?e.trim():e.replace(/^\s+/,``);switch(i){case`onlyNumber`:case`experience`:case`numericTwoDigits`:{let e=Number(a??(i===`numericTwoDigits`?2:10));c=r.replace(/[^0-9]/g,``),r!==c&&(l=`${s} allows only numbers.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`onlyLetter`:{let e=Number(a??50);c=r.replace(/[^a-zA-Z]/g,``),r!==c&&(l=`${s} allows only letters.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`onlyLettersAndSpace`:{let e=Number(a??55);c=u(r.replace(/[^a-zA-Z\s]/g,``)),r.replace(/^\s+/,``)!==c&&(l=`${s} allows only letters and spaces.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`onlyAlphanumeric`:case`mspRefId`:{let e=Number(a??50);c=u(r.replace(/[^a-zA-Z0-9]/g,``)),r.replace(/^\s+/,``)!==c&&(l=`${s} allows only letters and numbers.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`alphanumericSpace`:{let e=Number(a??100);c=u(r.replace(/[^a-zA-Z0-9\s]/g,``)),r.replace(/^\s+/,``)!==c&&(l=`${s} allows only letters, numbers and spaces.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`onlyLettersNumberAndHyphen`:{let e=Number(a??55);c=u(r.replace(/[^a-zA-Z0-9\s-]/g,``)),r.replace(/^\s+/,``)!==c&&(l=`${s} allows only letters, numbers and hyphens.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`onlyLettersNumberHyphenAndDot`:{let e=Number(a??100);c=r.replace(/[^a-zA-Z0-9\-./#+[\]{}()\s]/g,``).slice(0,e),r!==c&&(l=`${s} allows only letters, numbers, hyphens and dots.`);break}case`contactNumber`:{let e=Number(a??15);c=r.replace(/[^0-9()\-+\s]/g,``).slice(0,e),r===c?c&&!/^(\+?[0-9]{1,3}[- ]?)?(\(?\d{1,4}\)?[- ]?)?[\d\-\s]{3,15}$/.test(c)&&(l=`${s} is not a valid phone number format.`):l=`${s} allows only digits, parentheses () and hyphens.`;break}case`locationValidation`:{let e=Number(a??100);c=u(r.replace(/[^a-zA-Z0-9\s\-.,]/g,``)),r.replace(/^\s+/,``)!==c&&(l=`${s} allows only letters, numbers, spaces, commas, dots and hyphens.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`jobTitle`:{let e=Number(a??80);c=u(r.replace(/[^a-zA-Z0-9\s\-/&.,()+#@'"*]/g,``)),r.replace(/^\s+/,``)!==c&&(l=`${s} allows only letters, numbers, spaces and common symbols.`),c.length>e&&(l=`${s} cannot exceed ${e} characters.`,c=c.slice(0,e));break}case`decimalRange`:{let e=r.replace(/[^0-9.]/g,``);if((e.match(/\./g)||[]).length>1){let t=e.indexOf(`.`);e=e.slice(0,t+1)+e.slice(t+1).replace(/\./g,``),l=`${s} can have only one decimal point.`}let t=e.replace(/\./g,``),n=Number(a??10);t.length>n&&(e=e.slice(0,n+ +!!e.includes(`.`)),l=`${s} cannot exceed ${n} digits.`),c=e,!l&&r!==c&&(l=`${s} allows only numbers and one dot.`);break}case`budgetValidation`:{let e=Number(a??10);c=r.replace(/[^0-9]/g,``).slice(0,e);let t=Number(c);r===c?c&&t<=0&&(l=`${s} must be greater than 0.`):l=`${s} allows only numbers.`;break}case`jobDescription`:{let e=Number(o??a??1500);r.replace(/<[^>]+>/g,` `).replace(/ /g,` `).replace(/\s+/g,` `).trim().length>e&&(l=`${s} cannot exceed ${e} characters.`),c=r;break}case`email`:c=n===`blur`?r.trim():r,c&&!ao(c)&&(l=`${s} must be a valid email address; numeric-only email addresses are not allowed.`);break;case`websiteUrl`:c=n===`blur`?r.trim():r,c&&!/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/i.test(c)&&(l=`${s} must be a valid URL.`);break;default:c=r}return{cleaned:c,error:l}}var fo=`This value is already present`;function po(e){return typeof e==`string`?e:e?.type??e?.rule??e?.name}function mo(e){if(po(e)!==`unique`)return null;if(typeof e==`string`)return{message:fo,normalizer:`trim`,skipBlank:!0,validateOn:`blur`};let t=e.value&&typeof e.value==`object`?e.value:e,n=String(t.validateOn??`blur`).toLowerCase();return{message:typeof e.message==`string`&&e.message.trim()?e.message.trim():fo,collectionField:t.collectionField??``,normalizer:String(t.normalizer??`trim`),skipBlank:t.skipBlank!==!1,validateOn:[`blur`,`change`,`submit`].includes(n)?n:`blur`}}function ho(e){let t=e?.validations??e?.validation??e?.rules??[];if(!Array.isArray(t))return null;for(let e of t){let t=mo(e);if(t)return t}return null}function go(e=[]){let t=[];return(Array.isArray(e)?e:[]).forEach(e=>{(e?.fields??[]).forEach(e=>{let n=ho(e);!n||!e?.field||t.push({field:e.field,label:e.label??e.field,rule:n})})}),t}function _o(e){return e==null?!0:typeof e==`number`?Number.isNaN(e):typeof e==`boolean`?!1:Array.isArray(e)?e.length===0:String(e).trim()===``}function vo(e,t=`trim`){if(e==null)return``;let n=String(e);switch(String(t)){case`exact`:return n;case`lower`:case`trimLower`:case`email`:return n.trim().toLowerCase();case`digitsOnly`:return n.replace(/\D+/g,``);default:return n.trim()}}function yo(e,t){return!(!e||e.skipBlank!==!1&&_o(t))}function bo(e){return!e||e.validateOn===`submit`?[]:e.validateOn===`change`?[`onChange`,`onBlur`]:[`onBlur`]}var G={SKIPPED:`skipped`,AVAILABLE:`available`,DUPLICATE:`duplicate`,STALE:`stale`,ERROR:`error`};function xo({module:e,field:t,recordId:n,normalized:r}){return`${e}${t}${n??``}${r}`}function So({checkFieldUnique:e,onPendingChange:t}={}){let n=new Map,r=new Map,i=0,a=0;function o(e){a=e,typeof t==`function`&&t(a)}async function s({module:t,field:s,rule:c,value:l,recordId:u,clientId:d,region:f}={}){if(!c||!t||!s||typeof e!=`function`||!yo(c,l))return{status:G.SKIPPED};let p=xo({module:t,field:s,recordId:u,normalized:vo(l,c.normalizer)});if(n.has(p))return n.get(p);i+=1;let m=i;r.set(s,m),o(a+1);try{let i=await e({module:t,field:s,value:l,recordId:u,clientId:d,region:f});if(r.get(s)!==m)return{status:G.STALE};let a=i?.available===!1?{status:G.DUPLICATE,message:Co(i)||c.message||fo}:{status:G.AVAILABLE};return n.set(p,a),a}catch(e){return r.get(s)===m?{status:G.ERROR,error:e}:{status:G.STALE}}finally{o(Math.max(0,a-1))}}return{check:s,isPending:()=>a>0,pendingCount:()=>a,reset:()=>{n.clear(),r.clear()}}}function Co(e){return(e?.errors??[]).find(e=>e?.message)?.message||e?.message||``}var wo=`__uniqueRule`;function To({field:e,validation:t,context:n}){let r=mo(t);if(!r)return{validator:()=>Promise.resolve()};let i=e?.field??``;return!n?.checker||!n?.module||!i?{validator:()=>Promise.resolve()}:{[wo]:r,validateTrigger:bo(r),validator:async(e,t)=>{let a=await n.checker.check({module:n.module,field:i,rule:r,value:t,recordId:n.recordId,clientId:n.clientId,region:n.region});return a.status===G.DUPLICATE?Promise.reject(Error(a.message||r.message)):Promise.resolve()}}}function Eo(e=[]){let t=Array.isArray(e)?e:[];if(!t.some(e=>e&&e[wo]))return t;let n=t.filter(e=>e&&!e[wo]);return t.map(e=>{if(!e||!e[wo])return e;let t=e.validator;return{...e,validator:async(e,r)=>await Do(n,r,e)?Promise.resolve():t(e,r)}})}async function Do(e=[],t,n={}){for(let r of e)if(!(!r||typeof r==`string`)){if(r.required&&_o(t)||!_o(t)&&(r.pattern instanceof RegExp&&!new RegExp(r.pattern.source,r.pattern.flags).test(String(t))||r.len!=null&&String(t).length!==Number(r.len)))return!0;if(typeof r.validator==`function`)try{await r.validator(n,t)}catch{return!0}}return!1}function Oo(e){let t=String(e??``).trim();if(!t.startsWith(`{`))return null;try{return JSON.parse(t)}catch{return null}}function ko(e){if(!e)return null;if(typeof e==`string`)return Oo(e);let t=[e.data,e.response,e,Oo(e.message)];for(let e of t)if(!(!e||typeof e!=`object`)&&(Array.isArray(e.errors)||e.code===`DUPLICATE_VALUE`))return e;return null}function Ao({field:e,group:t,rowIndex:n}){let r=String(e??``),i=Number(n);return t&&Number.isInteger(i)&&i>=0?[String(t),i,...r.split(`.`)]:r}function jo(e,{uniqueRules:t=[]}={}){let n=ko(e);if(n){let e=(Array.isArray(n.errors)?n.errors:[]).filter(e=>e?.field).map(e=>{let t={field:e.field,name:Ao(e),message:e.message||n.message||fo};return Array.isArray(t.name)&&(t.group=String(e.group),t.rowIndex=Number(e.rowIndex)),t});if(e.length)return e}let r=String((n&&(n.message||n.error))??(typeof e==`string`?e:e?.message)??``).trim();if(!r)return[];let i=e?.status===409||n?.code===`DUPLICATE_VALUE`,a=t.filter(e=>String(e?.rule?.message??``).trim().toLowerCase()===r.toLowerCase());return a.length&&(i||a.length===1)?a.map(e=>({field:e.field,name:e.field,message:r})):[]}async function Mo({module:e,field:n,value:r,recordId:i,clientId:a,region:o}={}){if(!e||!n)throw Error(`module and field are required to check uniqueness`);let s={field:n,value:r??``};i&&(s.recordId=String(i)),a&&(s.clientId=String(a)),o&&(s.region=String(o));try{let n=await t.o(t.x,`/module/validate-unique?module=${encodeURIComponent(e)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(s)}),r=n?.available!==!1;return{available:r,duplicate:!r,message:n?.message??``,errors:Array.isArray(n?.errors)?n.errors:[],response:n}}catch(e){if(e?.status===409){let t=e.response??e.data??{};return{available:!1,duplicate:!0,message:t?.message??e.message??``,errors:Array.isArray(t?.errors)?t.errors:[],response:t}}throw e}}async function No({module:e,payload:n,excludeId:r}={}){if(!e||!n)return{duplicate:!1};try{let i=await t.o(t.x,`/module/duplicate-check?module=${encodeURIComponent(e)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({payload:n,...r?{excludeId:r}:{}})});return i?.data??i??{duplicate:!1}}catch{return{duplicate:!1}}}var Po=[`jpg`,`jpeg`,`png`,`gif`,`webp`,`bmp`,`svg`,`avif`],Fo=[`mp4`,`webm`,`ogg`,`ogv`,`mov`,`m4v`],Io=[`pdf`,`doc`,`docx`],Lo=[{label:`Any file`,value:`any`},{label:`Resume (pdf, doc, docx)`,value:`resume`},{label:`Documents & Images (pdf, doc, images)`,value:`documents`},{label:`Images only`,value:`images`},{label:`Videos only`,value:`videos`},{label:`Images & Videos`,value:`imagesAndVideos`}],Ro={resume:{exts:Io,maxSizeMB:2,hint:`PDF, DOC or DOCX`,error:`Only PDF, DOC, and DOCX resume files are supported.`},documents:{exts:[...Io,...Po],hint:`PDF, DOC or image files`,error:`Only document (PDF/DOC) or image files are allowed`},images:{exts:Po,hint:`Image files`,error:`Only image files are allowed`},videos:{exts:Fo,hint:`Video files`,error:`Only video files are allowed`},imagesAndVideos:{exts:[...Po,...Fo],hint:`Image or video files`,error:`Only image or video files are allowed`}};function zo(e){let t=String(e?.field??e?.payloadKey??``).toLowerCase();return t?t.includes(`resume`)||t.includes(`cv`)||t.includes(`curriculumvitae`):!1}function Bo(e){let t=String(e?.accept??``).trim();return t&&t!==`any`?Ro[t]??null:!t&&zo(e)?Ro.resume:Ro[t]??null}var Vo=new Set([`of`,`and`,`the`,`to`,`for`,`in`,`a`,`an`]),Ho={addresses:`address`,branches:`branch`,batches:`batch`,categories:`category`,companies:`company`,countries:`country`,entries:`entry`,people:`person`,statuses:`status`};function Uo(e){let t=String(e??``).trim();if(!t)return``;if(t.length>1&&t===t.toUpperCase()&&/[A-Z]/.test(t))return t;let n=t.toLowerCase();return Ho[n]?Ho[n]:/[^aeiou]ies$/i.test(t)?t.slice(0,-3)+`y`:/(s|x|z|ch|sh)es$/i.test(t)?t.slice(0,-2):/[^s]s$/i.test(t)?t.slice(0,-1):t}function K(e){let t=String(e??``).trim();if(!t)return``;let n=t.replace(/([A-Z]+)([A-Z][a-z])/g,`$1 $2`).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_\-.]+/g,` `).split(/\s+/).filter(Boolean);if(!n.length)return``;let r=Uo(n[n.length-1]);return[...n.slice(0,-1),r].map((e,t)=>{let n=e.toLowerCase();return e.length>1&&e===e.toUpperCase()?e:t>0&&Vo.has(n)?n:n.charAt(0).toUpperCase()+n.slice(1)}).join(` `)}function Wo(e,t){let n=String(e?.quickCreateLabel??``).trim();if(n&&n.toLowerCase()!==`add more`)return n;let r=K(e?.quickCreateModule||t);return r?`Add New ${r}`:`Add New`}function Go(e,t){let n=String(e?.quickEditLabel??``).trim();if(n&&n.toLowerCase()!==`add more`)return n;let r=K(e?.quickEditModule||t);return r?`Edit ${r}`:`Edit`}function Ko(e,t,n){let r=K((e===`create`?t?.quickCreateModule:t?.quickEditModule)||n);return e===`create`?String(t?.quickCreateTitle??``).trim()||(r?`Add New ${r}`:Wo(t,n)):String(t?.quickEditTitle??``).trim()||(r?`Edit ${r}`:Go(t,n))}function qo({children:e,className:t=``,icon:n,to:r,variant:a=`default`,...s}){let c=(0,o.jsx)(i.Button,{className:`app-button app-button--${a} ${t}`.trim(),icon:n,...s,children:e});return r?(0,o.jsx)(u.Link,{className:`app-button-link`,to:r,children:c}):c}function Jo(e){return!e||typeof e!=`object`?``:[e.first_name??e.firstName??e.FIRST_NAME,e.last_name??e.lastName??e.LAST_NAME].filter(Boolean).join(` `).trim()||e.name||e.user_name||e.userName||e.username||e.email||``}function Yo(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=Jo(e);n&&[e.legacyUserId,e.userId,e.user_id,e._id,e.id].forEach(e=>{if(e==null||e===``)return;let r=String(typeof e==`object`?e.$oid??e.id??``:e);r&&t[r]===void 0&&(t[r]=n)})}),t}var Xo=new Map;function Zo(e){let n=String(e??``).trim();if(!n)return Promise.resolve(``);if(Xo.has(n))return Xo.get(n);let r=t.o(t.x,`/get-detailed-view?userId=${encodeURIComponent(n)}`).then(e=>Jo(e?.data??e??null)).catch(()=>``);return Xo.set(n,r),r}var q=e=>e==null?``:String(e).trim();function Qo(e){let t=e?.quickCreateNotice;return!t||typeof t!=`object`||t.enabled===!1?null:{enabled:!0,title:q(t.title)||`New record created`,message:q(t.message)||`A new client has been created successfully. Please contact your Organization Admin to configure the required forms, workflows, permissions, and client-specific details before proceeding with further operations.`,showCreator:t.showCreator!==!1,showRecordName:t.showRecordName!==!1,recordNameField:q(t.recordNameField),recordLabel:q(t.recordLabel)||`Record name`,creatorLabel:q(t.creatorLabel)||`Created by`}}var $o=[`clientName`,`companyName`,`name`,`title`,`fullName`,`displayName`,`label`,`employerName`,`vendorName`],es=(e,t)=>{if(!(!e||!t))return String(t).split(`.`).reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e)},ts=e=>typeof e==`string`||typeof e==`number`?q(e):e&&typeof e==`object`?q(e.label??e.name??e.title??``):``;function ns(e,{recordNameField:t=``,displayField:n=``}={}){if(!e||typeof e!=`object`)return``;for(let r of[t,n,...$o]){if(!r)continue;let t=ts(es(e,r));if(t)return t}let r=Object.keys(e).find(t=>/name$/i.test(t)&&typeof e[t]==`string`&&e[t].trim());return r?q(e[r]):``}function rs(e){if(!e||typeof e!=`object`)return``;let t=[e.createdBy,e.created_by,e.createdById,e.createdUserId,e.recordMeta?.createdBy,e.ownerId];for(let e of t){if(e==null||e===``)continue;if(typeof e==`object`){let t=q(e.$oid??e.userId??e._id??e.id);if(t)return t;continue}let t=q(e);if(t)return t}return``}function is(e=t.d){try{return Jo(e())||``}catch{return``}}var as=(e,n)=>t.o(t.x,`/module/list?module=${encodeURIComponent(e)}&id=${encodeURIComponent(n)}`).then(e=>{let t=e?.data?.data??e?.data??[];return Array.isArray(t)?t[0]:t});async function os({module:e,recordId:n,notice:r,displayField:i=``,deps:a={}}={}){let{fetchRecord:o=as,fetchUserNameFn:s=Zo,getUser:c=t.d}=a,l=null;if(e&&n)try{l=await o(e,n)}catch{l=null}let u=r?.showRecordName===!1?``:ns(l,{recordNameField:r?.recordNameField,displayField:i}),d=``;if(r?.showCreator!==!1){let e=rs(l);if(e)try{d=q(await s(e))}catch{d=``}d||=is(c)}return{recordName:u,creatorName:d}}var ss=(0,r.lazy)(()=>Promise.resolve().then(()=>require("./index.cjs")).then(e=>e.i)),cs=(0,r.lazy)(()=>Promise.resolve().then(()=>require("./index.cjs")).then(e=>e.n)),ls=e=>e==null||e===``,us=e=>typeof e==`string`&&e.includes(`.`)?e.split(`.`):[e];function ds(e,t,n,r,i){let a=e.quickEditIdFrom;if(a){let e=Array.isArray(n)&&n.length>=3&&typeof n[1]==`number`?[...n.slice(0,2),...us(a)]:us(a),i=t?.getFieldValue?.(e);return ls(i)&&(i=r?.[a]),ls(i)?null:i}return i&&typeof i==`object`?i.value??null:ls(i)?null:i}function fs({field:e,form:t,name:n,moduleName:s,scopeValues:c,ownValue:l,onDone:u}){let[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(null),h=!!e?.quickCreate,g=!!e?.quickEdit,_=e?.quickCreateModule||e?.lookupCollection||``,v=e?.quickEditModule||e?.lookupCollection||``,y=(0,r.useMemo)(()=>g?ds(e,t,n,c,l):null,[g,e,t,n,c,l]);if(!h&&!g)return{footer:null,modal:null};let b=()=>f(null),x=()=>{if(e?.quickCreateOnClick){e.quickCreateOnClick(),document.activeElement?.blur?.();return}if(e?.quickCreateRoute){window.open(e.quickCreateRoute,`_blank`,`noopener,noreferrer`);return}_&&f({mode:`create`,module:_})},S=()=>v&&y&&f({mode:`edit`,module:v,recordId:String(y)}),C=t=>{let n=Qo(e);n&&(m({...n,recordName:``,creatorName:``}),os({module:_,recordId:t,notice:n,displayField:e?.displayField||``}).then(({recordName:e,creatorName:t})=>{m(n=>n&&{...n,recordName:e,creatorName:t})}).catch(()=>{}))},ee=(0,o.jsx)(`div`,{className:`v1-quick-actions`,role:`presentation`,onMouseDown:e=>e.preventDefault(),style:{display:`flex`,gap:8,padding:`6px 8px`,borderTop:`1px solid rgba(0,0,0,0.06)`},children:(0,o.jsxs)(i.Space,{size:8,children:[h&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:x,style:{paddingLeft:0},children:Wo(e,_)}),g&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:S,disabled:!y,title:y?void 0:`Choose a ${K(v)||`record`} above first, then edit it here`,children:Go(e,v)})]})}),w=d?(0,o.jsx)(i.Modal,{open:!0,title:Ko(d.mode,e,d.mode===`create`?_:v),width:`min(1080px, 96vw)`,footer:null,destroyOnClose:!0,maskClosable:!1,onCancel:b,styles:{body:{maxHeight:`78vh`,overflowY:`auto`}},children:(0,o.jsx)(r.Suspense,{fallback:(0,o.jsx)(`div`,{style:{padding:48,textAlign:`center`},children:(0,o.jsx)(i.Spin,{})}),children:d.mode===`create`?(0,o.jsx)(ss,{moduleName:d.module,embedded:!0,breadcrumbItems:[],onCancel:b,onSuccess:e=>{b(),C(e),u?.(`create`,e)}}):(0,o.jsx)(cs,{moduleName:d.module,recordId:d.recordId,embedded:!0,breadcrumbItems:[],onCancel:b,onSuccess:e=>{b(),u?.(`edit`,e)}})})}):null,T=p?(0,o.jsxs)(i.Modal,{open:!0,title:(0,o.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(a.ExclamationCircleFilled,{style:{color:`#faad14`}}),p.title]}),width:`min(520px, 94vw)`,maskClosable:!1,onCancel:()=>m(null),footer:(0,o.jsx)(qo,{variant:`primary`,type:`primary`,onClick:()=>m(null),children:`OK`}),children:[(0,o.jsx)(`p`,{style:{marginTop:0,marginBottom:16},children:p.message}),(p.recordName||p.creatorName)&&(0,o.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr`,gap:`6px 12px`,padding:`10px 12px`,borderRadius:6,background:`rgba(0,0,0,0.03)`},children:[p.recordName&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{style:{color:`rgba(0,0,0,0.55)`},children:p.recordLabel}),(0,o.jsx)(`strong`,{children:p.recordName})]}),p.creatorName&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{style:{color:`rgba(0,0,0,0.55)`},children:p.creatorLabel}),(0,o.jsx)(`strong`,{children:p.creatorName})]})]})]}):null;return{footer:ee,modal:w||T?(0,o.jsxs)(o.Fragment,{children:[w,T]}):null}}var ps=e=>e==null||e===``||Array.isArray(e)&&e.length===0;function ms(e,t,n){let r=String(t??``).includes(`.`)?String(t).split(`.`):[t];if(typeof n==`function`){let e=n(t);return Array.isArray(e)&&e.length?[...e,...r]:r}return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),...r]:r}function hs({label:e,message:t,rule:n={},value:r,form:i,name:a,prefixFor:o}){let s=n.field??n.compareField??r;return{validator:async(n,r)=>{if(!s||ps(r))return Promise.resolve();let c=i?.getFieldValue?.(ms(a,s,o));if(ps(c))return Promise.resolve();let l=Number(c),u=Number(r);return Number.isNaN(l)||Number.isNaN(u)||u<=l?Promise.resolve():Promise.reject(Error(t??`${e} must not exceed ${s}`))}}}function gs(e={},t,n){let r=e.field??e.compareField??e.value;return r?ms(t,r,n):null}function _s(e,t){let n=String(t).split(`.`).filter(Boolean);if(!Array.isArray(e))return n.length>1?n:t;if(n.length>1){if(e.length>=3&&typeof e[1]==`number`){let t=e.slice(0,2),r=n[0]===String(e[0])?n.slice(1):n;return[...t,...r]}return n}let r=[...e];return r[r.length-1]=n[0],r}function vs(e,t,n){let r=e?.getFieldValue?.(_s(t,n));return r!=null&&r!==``?r:e?.getFieldValue?.(n)}function ys(e){return String(e??``).split(`,`).map(e=>e.trim()).filter(Boolean)}function bs(e,t){for(let n of e??[]){let e=t(n);if(e==null||e===``)continue;let r=Number(e);if(!(!Number.isFinite(r)||r<=0))return{field:n,maximum:r}}return null}function xs({input:e,compareFields:t,readValue:n}){let r={ok:!0,field:null,maximum:null};if(e==null||e===``)return r;let i=bs(t,n);if(!i)return r;let a=Number(e);return Number.isFinite(a)?{ok:a<=i.maximum,field:i.field,maximum:i.maximum}:r}var Ss={candidates:[`applicantId`]};function Cs(e){let t=String(e??``).trim();if(!t)return[];let n=t.endsWith(`s`)?t.slice(0,-1):t;return[...new Set([`${n}Id`,`${t}Id`,...Ss[t]??[]])]}function ws(e,t){if(!t)return``;let n=e=>e&&typeof e==`object`?e.id??e.value??``:e??``;for(let r of Cs(e)){let e=String(n(t[r])||``);if(e)return e}return``}function Ts(e,t){let n=new Set;return(e??[]).forEach(e=>(e.fields??[]).forEach(e=>{e?.prefillFromModule&&n.add(t(e.prefillFromModule))})),[...n]}function Es(e){return e?.payloadMode===`skip`}function Ds(e){return Array.isArray(e)?e:Array.isArray(e?.groups)?e.groups:Array.isArray(e?.data)?e.data:Array.isArray(e?.data?.groups)?e.data.groups:[]}function Os(e){let t={};return(e??[]).forEach(e=>{e?.addRow||(e?.fields??[]).forEach(e=>{!e?.field||e.value===void 0||e.value===null||(t[e.field]=e.value,e.payloadKey&&e.payloadKey!==e.field&&(t[e.payloadKey]=e.value))})}),t}function ks(e,t){if(!e||!t)return;let n=e;for(let e of String(t).split(`.`)){if(n==null)return;if(Array.isArray(n)){if(!n.length)return;let t=[...n].reverse().find(t=>t&&typeof t==`object`&&t[e]!==void 0&&t[e]!==null);n=t?t[e]:void 0;continue}n=n[e]}return n}function As(e,t){if(!(!e||!t))for(let n of[t.prefillFrom,t.field,t.payloadKey]){if(!n)continue;let t=e[n];if(t??=L(e,n),t??=ks(e,n),t!=null)return t}}function js({form:e,field:t,flagPath:n,fieldPath:r,disabled:a}){let s=Zr(t),c=i.Form.useWatch(n,e);if(!s)return null;let l=s.label||`Allow beyond the limit`,u=()=>{setTimeout(()=>{e?.validateFields?.([r]).catch(()=>{})})},d=async r=>{if(!r.target.checked){e.setFieldValue(n,!1),u();return}let i=await ta(ii(t));e.setFieldValue(n,!!i),u()},f=s.help?`${l} — ${s.help}`:l;return(0,o.jsx)(i.Tooltip,{title:f,children:(0,o.jsx)(`span`,{className:`v1-override-wrap`,children:(0,o.jsx)(i.Checkbox,{className:`v1-override-checkbox`,checked:!!c,disabled:a,onChange:d,"aria-label":f})})})}var Ms=e=>String(e??``);function Ns(e){let t=new Set,n=[];return(Array.isArray(e)?e:[]).forEach(e=>{let r=e?.field;!r||t.has(r)||(t.add(r),n.push(r))}),n}function Ps(e,t,n,r){return Ns(e).map(e=>({field:e,path:n(t,e,r)}))}function Fs(e,t={}){return!e||!e.field?!1:Ms(t[e.field])===Ms(e.value)}function Is({rules:e,watched:t={},current:n,lastApplied:r,clearOnMismatch:i=!0,initial:a=!1}={}){let o=(Array.isArray(e)?e:[]).find(e=>Fs(e,t));return o?o.clearValue?a?{action:`none`}:{action:`clear`}:{action:`set`,value:o.setValue}:i&&r!==void 0&&Ms(n)===Ms(r)?{action:`clear`}:{action:`none`}}var J=e=>String(e??``).trim().toLowerCase();function Ls(e){let t=Array.isArray(e)?e:[e],n=[];return t.forEach(e=>{if(e!=null&&e!==``){if(typeof e==`object`){[e.value,e.id,e._id,e.label,e.name].forEach(e=>{e!=null&&e!==``&&n.push(J(e))});return}n.push(J(e))}}),n}function Rs(e=[],t){let n=Ls(t);if(!n.length||!Array.isArray(e)||e.length===0)return e;let r=new Set(n),i=e.filter(e=>e==null?!1:typeof e==`object`?r.has(J(e.value))||r.has(J(e.label)):r.has(J(e)));return i.length>0?i:e}function zs(e){let t=[];return[e?.setValue,e?.setValueLabel].forEach(e=>{e!=null&&e!==``&&t.push(J(e))}),t}function Bs(e,t={}){let n=Array.isArray(e)?e:[],r=new Set,i=new Set;return n.forEach(e=>{if(!e||e.clearValue)return;let n=zs(e);if(!n.length)return;let a=Fs(e,t)?i:r;n.forEach(e=>a.add(e))}),i.forEach(e=>r.delete(e)),[...r]}function Vs(e=[],t,n){let r=Bs(t,n);if(!r.length||!Array.isArray(e)||e.length===0)return e;let i=new Set(r);return e.filter(e=>e==null?!0:typeof e==`object`?!(i.has(J(e.value))||i.has(J(e.label))):!i.has(J(e)))}function Hs(e,t={},n){let r=Array.isArray(e)?e:[];if(n==null||n===``)return[];let i=J(n),a=[],o=new Set;return r.forEach(e=>{if(!e||e.clearValue)return;let{setValue:n,setValueLabel:r}=e;n!=null&&n!==``&&r&&J(n)===i&&Fs(e,t)&&(o.has(J(n))||(o.add(J(n)),a.push({value:n,label:r})))}),a}var Us=64;function Ws(e){if(String(e??``).trim()!==`currentUserId`)return``;try{return typeof localStorage>`u`?``:String(localStorage.getItem(`userId`)??``).trim()}catch{return``}}var Y=e=>String(e??``).trim().toLowerCase(),Gs=e=>e!=null&&String(e).trim()!==``;function Ks(e){let t=Array.isArray(e)?e:String(e??``).split(`,`);return new Set(t.map(Y).filter(e=>e!==``))}function qs(e,t){return!t||!Array.isArray(e)||e.length===0?!1:e.some(e=>Gs(e?.extraData?.[t]))}function Js(e,t,n){let r=e?.extraData?.[t];if(!Gs(n))return r===!0;let i=Ks(n);return i.size===0?r===!0:i.has(Y(r))}function Ys(e,t){let n=new Map;return(Array.isArray(e)?e:[]).forEach(e=>{let r=Y(e?.value);r&&n.set(r,Y(e?.extraData?.[t]))}),n}function Xs(e,t,n){let r=Y(n);if(!r)return!1;let i=new Set,a=Y(e);if(!a)return!1;i.add(a);for(let e=0;e<Us;e+=1){let e=t.get(a);if(!e)return!1;if(e===r)return!0;if(i.has(e))return!1;i.add(e),a=e}return!1}function Zs(e={}){let t=[],n=e=>{let n=String(e??``).trim();n&&!t.includes(n)&&t.push(n)};return(Array.isArray(e.extraFields)?e.extraFields:[]).forEach(n),n(e.optionsRequireExtraField),n(e.optionsHierarchyParentField),t}function Qs(e,t={},n={}){if(!Array.isArray(e)||e.length===0)return e;let r=n.source?`[${n.source}]`:`[optionRowFilters]`,i=t.field??t.label??`(unnamed field)`,a=typeof n.warn==`function`?n.warn:e=>{typeof console<`u`&&console.warn(e)},o=e,s=String(t.optionsRequireExtraField??``).trim();s&&(qs(o,s)?o=o.filter(e=>Js(e,s,t.optionsRequireExtraValue)):a(`${r} "${i}": option filter SKIPPED — no option carried extraData["${s}"], so the value filter could not be applied (the lookup API returned no such extra field). Showing the unfiltered list; this is NOT "nothing matched".`));let c=String(t.optionsHierarchyParentField??``).trim();if(c){let n=String(t.optionsHierarchySelfFrom??``).trim()||`currentUserId`,s=Ws(n);if(!s)a(`${r} "${i}": hierarchy filter SKIPPED — identity "${n}" could not be resolved (no signed-in user id available). Showing the list unrestricted by reporting line.`);else if(!qs(e,c))a(`${r} "${i}": hierarchy filter SKIPPED — no option carried extraData["${c}"], so the reporting chain could not be walked (the lookup API returned no such extra field). Showing the list unrestricted by reporting line; this is NOT "nobody reports to you".`);else{let t=Ys(e,c);o=o.filter(e=>Xs(e?.value,t,s))}}return o}var $s=e=>e==null||String(e).trim()===``,ec=e=>e===!0||e===1||e===`1`||e===`true`;function tc(e){return $s(e?.tooltip)?ec(e?.infoEnabled)&&!$s(e?.infoText)?String(e.infoText):``:String(e.tooltip)}var nc=Symbol(`parentFilterUnseen`),rc=e=>e==null||e===``,ic=(e,t)=>String(e??``)===String(t??``);function ac({previous:e,next:t,currentValue:n,scoped:r=!0}){return!(!r||e===nc||ic(e,t)||rc(e)||rc(n))}function oc(e){return e==null?!0:typeof e==`object`?oc(e.permission??e.allowed??e.value):e!==!1&&e!==0&&e!==`0`}function sc(e,t){let n=String(t??``).trim().toLowerCase();if(!(!n||!e||typeof e!=`object`))for(let[t,r]of Object.entries(e)){let e=String(t).trim().toLowerCase();if(e===n||e===`${n}s`||`${e}s`===n)return r&&typeof r==`object`?r:void 0}}function cc(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=`${t}Access`;if(Object.prototype.hasOwnProperty.call(e,n))return e[n]}function lc(e,t){if(!e)return!0;try{let n=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`),[r,i]=String(e).split(`.`),a=i??r,o=i?[r,t]:[t];for(let e of o){let t=sc(n,e);if(t)return oc(cc(t,a))}return!0}catch{return!0}}function uc(e){return(e??[]).filter(e=>e?.afterSubmit?.mode).sort((e,t)=>(e.order??0)-(t.order??0))[0]?.afterSubmit??null}function dc(e,t,n){let r=String(e??``).trim();return!r||!r.startsWith(`/`)||r.startsWith(`//`)||/^[a-z][a-z0-9+.-]*:/i.test(r)?null:r.replace(/:([A-Za-z_][\w]*)/g,(e,r)=>{let i=r===`id`?t:n?.[r];return encodeURIComponent(i??``)})}function fc(e=typeof window<`u`?window:void 0){let t=e?.history?.state?.idx;return typeof t==`number`&&t>0}function pc({cancelPath:e,cancelPathPriority:t=!1,fallbackPath:n=`/`,win:r=typeof window<`u`?window:void 0}={}){return t&&e?{path:e}:fc(r)?{back:!0}:e?{path:e}:{path:n}}function mc(e,t={}){let n=pc(t);return n.back?e(-1):e(n.path),n}var X=e=>e==null?``:String(e).trim();function hc(e,t){let n=e?.regionRules;if(!n||typeof n!=`object`)return e??{};let r=X(t),i=n[r]??n[r.toUpperCase()]??n.default;return!i||typeof i!=`object`?e??{}:{...e,...i}}function gc(e){return e?.allowInProgress!==!1}function _c(e){return gc(e)?``:bc(e)?e?.inProgressWarningMessage||e?.inProgressMessage||`In this region an unfinished qualification is not usually accepted when a candidate is put forward for a role. You can still record it here — just be aware it will have to be completed before they can be submitted.`:e?.inProgressMessage||`This one needs to be finished before the application can go ahead. Please untick “still ongoing”, or remove the row.`}function vc(e){return gc(e)?`allow`:X(e?.inProgressSeverity).toLowerCase()===`warn`?`warn`:`block`}function yc(e){return vc(e)===`block`}function bc(e){return vc(e)===`warn`}function xc(e){if(!yc(e))return null;let t=_c(e);return{validator:(e,n)=>n===!0?Promise.reject(Error(t)):Promise.resolve()}}function Sc(e,t={}){let n=t.tieBreak??`endDate`,r=t.field??`startDate`;for(let t of[n,r]){let n=e?.[t];if(n==null||n===``)continue;let r=(0,s.default)(n);if(r.isValid())return r.valueOf()}return null}function Cc(e,t={}){let n=t.inProgressField??`currentStudyingHere`;return!!e?.[n]}function wc(e=[],t={}){let n=(t.direction??`desc`)===`desc`;return e.map((e,n)=>({index:n,key:Sc(e,t),ongoing:t.inProgressFirst!==!1&&Cc(e,t)})).slice().sort((e,t)=>e.ongoing===t.ongoing?e.key===null&&t.key===null?e.index-t.index:e.key===null?1:t.key===null?-1:e.key===t.key?e.index-t.index:n?t.key-e.key:e.key-t.key:e.ongoing?-1:1).map(e=>e.index)}function Tc(e,t,n={}){if(!Array.isArray(e)||e.length<2||t==null||t<0||t>=e.length)return null;let r=wc(e,n).indexOf(t);return r===-1||r===t?null:{from:t,to:r,reason:Cc(e[t],n)?`inProgress`:`outOfOrder`}}var Ec=Object.freeze({inProgress:`You’ve marked this one as still ongoing, so it’s the most recent. Shall we move it to the top? This list reads best newest first.`,outOfOrder:`These dates make this the most recent one. Shall we move it to the top? This list reads best newest first.`,ok:`Yes, move it up`,keep:`No, leave it here`});function Dc(e,t={}){let n={...Ec,...t.messages??{}};return n[e]??n.outOfOrder}function Oc(e,t={}){let n=t.levelField??`qualification`,r=X(e?.[n]);if(!r)return null;let i=t.levels??{},a=i[r]??i[r.toLowerCase()]??i[r.toUpperCase()];return Number.isFinite(Number(a))?Number(a):kc(r,t)}function kc(e,t){let n=Array.isArray(t?.levelPatterns)?t.levelPatterns:[],r=e.toLowerCase();for(let e of n){let t=X(e?.match);if(!t)continue;let n;try{n=new RegExp(t,`i`)}catch{continue}if(n.test(r)&&Number.isFinite(Number(e.level)))return Number(e.level)}return null}function Ac(e,t={}){return X((t?.levelLabels??{})[e])||X(e)}function jc(e=[],t={}){if(!t||t.requireBelow===!1)return[];let n=t.levels??{},r=t.requiredLevels??[];if(!r.length)return[];let i=e.map(e=>Oc(e,t)).filter(e=>e!==null);if(!i.length)return[];let a=Math.max(...i),o=[];return r.forEach(e=>{let t=typeof e==`object`?e.label:e,r=typeof e==`object`&&Number.isFinite(Number(e.level))?Number(e.level):Number(n[t]);Number.isFinite(r)&&(r>=a||i.includes(r)||o.push(t))}),o}function Mc(e,t={}){let n=jc(e,t);if(!n.length)return``;let r=n.map(e=>Ac(e,t)).join(`, `);return(t.message||`You’ve added a higher qualification but not the {missing} below it. Please add that too.`).replace(`{missing}`,r)}async function Nc({group:e,rows:t,rowIndex:n,move:r,confirm:i}){let a=e?.orderBy;if(!a||a.confirmMove===!1||typeof r!=`function`)return!1;let o=Tc(t,n,a);if(!o)return!1;let s={...Ec,...a.messages??{}};return await i({reason:o.reason,title:o.reason===`inProgress`?`This looks like the most recent one`:`These dates make this the most recent one`,body:Dc(o.reason,a),okText:s.ok,cancelText:s.keep,from:o.from,to:o.to})?(r(o.from,o.to),!0):!1}function Pc(e,t){let n=hc(e,t),r=n?.orderBy?.inProgressField;return r?{name:n.name,label:n.label??n.name,rowsKey:n.payloadKey||n.name,inProgressField:r,severity:vc(n),message:_c(n)}:null}function Fc(e=[],t,n){if(!n)return{severity:`allow`,message:``,group:null};let r=null;for(let i of e){let e=Pc(i,t);if(!(!e||e.severity===`allow`)&&Ic(n,e.rowsKey).some(t=>Cc(t,e))){if(e.severity===`block`)return{severity:`block`,message:e.message,group:e};r??={severity:`warn`,message:e.message,group:e}}}return r??{severity:`allow`,message:``,group:null}}function Ic(e,t){let n=e?.[t];return Array.isArray(n)?n:Array.isArray(n?.rows)?n.rows:[]}function Lc(e){return String(e?.severity??``).toLowerCase()===`block`?`block`:`warn`}function Rc(e=[],t={}){let n=null;for(let r of e){let e=r?.levelRule;if(!e)continue;let i=zc(t,r);if(!i.length)continue;let a=Mc(i,e);if(a){if(Lc(e)===`block`)return{severity:`block`,message:a,group:r};n??={severity:`warn`,message:a,group:r}}}return n??{severity:`allow`,message:``,group:null}}function zc(e,t){for(let n of[t?.name,t?.payloadKey]){if(!n)continue;let t=e?.[n];if(Array.isArray(t))return t}return[]}function Bc(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function Vc(e,t){let n=e?.field,r=[];e?.clearGroupOnChange&&(t instanceof Set?[...t]:t??[]).forEach(e=>{e&&e!==n&&r.push(e)});let i=e?.linkedClearField;return Array.isArray(i)?i.forEach(e=>{e&&e!==n&&r.push(e)}):typeof i==`string`&&i.trim()&&i.trim()!==n&&r.push(i.trim()),[...new Set(r)]}function Hc(e,t,n,r){let i=Vc(t,r).map(e=>Bc(n,e));return i.forEach(t=>e.setFieldValue(t,null)),i}function Uc(e){return(Array.isArray(e)?e:[e]).map(e=>e&&typeof e==`object`?e.value??e.key??e.id:e).filter(e=>e!=null&&e!==``)}function Wc(e,t=[]){let n=new Set((t??[]).map(e=>String(e?.value))),r=[];for(let t of Uc(e)){let e=String(t);!n.has(e)&&!r.includes(e)&&r.push(e)}return r}async function Gc(e,n){if(!e?.lookupCollection||!n?.length)return[];let r=new URLSearchParams({collection:e.lookupCollection,displayField:e.displayField??``,valueField:e.valueField??`_id`,values:n.join(`,`)});e.displayField2&&r.set(`displayField2`,e.displayField2);let i=await t.o(t.x,`/admin/lookup-dropdown-values?${r}`),a=i?.data??i??[];return Array.isArray(a)?a:[]}function Kc(e=[],t=[]){if(!t.length)return e;let n=new Set((e??[]).map(e=>String(e?.value))),r=t.filter(e=>!n.has(String(e?.value))).map(e=>({...e,resolvedOnly:!0}));return r.length?[...e,...r]:e}var qc=e=>e==null||e===``||Array.isArray(e)&&e.length===0||e===!1;function Jc(e){let t=e?.requireAnyOf;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim()!==``):[]}function Yc(e){return!e||typeof e!=`object`?!1:Object.values(e).some(e=>!qc(e))}function Xc({field:e,getRow:t}){let n=Jc(e);if(n.length===0||!n.includes(e?.field))return;let r=e.requireAnyOfMessage||`Select at least one of ${n.join(`, `)}.`;return{validator:async()=>{let e=t?.()??{};return Yc(e)?n.some(t=>!qc(e[t]))?Promise.resolve():Promise.reject(Error(r)):Promise.resolve()}}}function Zc(e,t=[]){let n=Jc(e);return n.length===0?t:t.map(t=>n.includes(t?.field)?{...t,requireAnyOf:n,requireAnyOfMessage:e.requireAnyOfMessage}:t)}var Z=e=>e==null||e===``;function Qc(e){if(!e)return null;if(typeof e.valueOf==`function`){let t=e.valueOf();return Number.isNaN(t)?null:t}let t=new Date(e).getTime();return Number.isNaN(t)?null:t}function Q(e){if(!e)return null;let t=(0,s.default)(e);return t.isValid()?t.startOf(`day`).valueOf():null}function $c(e){if(!e)return null;let t=(0,s.default)(e);return t.isValid()?t.hour()*60+t.minute():null}var el={d:`day`,day:`day`,days:`day`,w:`week`,week:`week`,weeks:`week`,m:`month`,mo:`month`,month:`month`,months:`month`,y:`year`,yr:`year`,year:`year`,years:`year`};function tl(e){if(e==null||e===``)return null;if(typeof e==`object`&&!Array.isArray(e)){let t=Number(e.value??e.count??e.amount);return!Number.isFinite(t)||t<=0?null:{value:t,unit:el[String(e.unit??`month`).toLowerCase()]??`month`}}let t=String(e).trim().toLowerCase();if(!t)return null;let n=t.match(/^(\d+(?:\.\d+)?)\s*([a-z]*)$/);if(!n)return null;let r=Number(n[1]);return!Number.isFinite(r)||r<=0?null:{value:r,unit:el[n[2]]??`month`}}function nl(e,t){let n=e?.minGapFrom??e?.gapFrom;if(n&&typeof t==`function`){let e=tl(t(n));if(e)return e}return tl(e?.minGap)}function rl(e,t,n,r){if(t===null)return null;let i=nl(n,r),a=(0,s.default)(t);return i&&(a=e===`dateAfterField`?a.add(i.value,i.unit):a.subtract(i.value,i.unit)),a.startOf(`day`).valueOf()}function il(e,t,n,r,i){if(t===null||n===null)return!1;let a=rl(e,n,r,i);if(a===null)return!1;let o=!!r?.strict&&!nl(r,i);return e===`dateAfterField`?o?t<=a:t<a:o?t>=a:t>a}function al(e,t,n,r){if(n?.message)return n.message;let i=n?.value??n?.compareField??n?.field??`the paired date`,a=nl(n,r);if(a){let n=a.value===1?a.unit:`${a.unit}s`;return e===`dateAfterField`?`${t} must be at least ${a.value} ${n} after ${i}`:`${t} must be at least ${a.value} ${n} before ${i}`}return n?.strict?e===`dateAfterField`?`${t} must be after ${i}`:`${t} must be before ${i}`:e===`dateAfterField`?`${t} must be on or after ${i}`:`${t} must be on or before ${i}`}function ol({type:e,label:t,rule:n,readSibling:r}){return{validator:async(i,a)=>{let o=n?.value??n?.compareField??n?.field;if(!o||Z(a))return Promise.resolve();let s=r(o);if(Z(s))return Promise.resolve();let c=Q(a),l=Q(s);return c===null||l===null?Promise.resolve():il(e,c,l,n,r)?Promise.reject(Error(al(e,t,n,r))):Promise.resolve()}}}function sl(e,t,{rows:n,rowIndex:r}={}){if(e===null||!t||!Array.isArray(n)||r==null||(t.mode??`newestFirst`)!==`newestFirst`)return!1;let i=t.startField??`startDate`,a=t.endField??`endDate`,o=n[r-1];if(o){let t=Q(o[i]);if(t!==null&&e>=t)return!0}let s=n[r+1];if(s){let t=Q(s[a])??Q(s[i]);if(t!==null&&e<=t)return!0}return!1}function cl(e,t=`above`,n=void 0){let r=e?.messages??{},i=t===`below`;return(n===`start`?i?r.belowStart:r.aboveStart:n===`end`?i?r.belowEnd:r.aboveEnd:void 0)||(i?r.below||`Start date must be after the end date of the entry below it.`:n===`end`?r.above||`End date must be before the start date of the entry above it.`:r.above||`This period overlaps the entry above it. Please adjust the dates.`)}function ll({field:e,readSibling:t,rows:n,rowIndex:r,now:i=bn}){let a=e?.validations??e?.validation??e?.rules??[],o=[];for(let e of a){let n=typeof e==`string`?{type:e}:e,r=n?.type;if(r===`noPastDate`&&o.push(e=>e?Q(e)<i().startOf(`day`).valueOf():!1),r===`noFutureDate`&&o.push(e=>e?Q(e)>i().startOf(`day`).valueOf():!1),r===`minAge`){let e=Number(n?.value??18);o.push(t=>t?Q(t)>i().subtract(e,`year`).startOf(`day`).valueOf():!1)}if(r===`dateAfterField`||r===`dateBeforeField`){let e=n?.value??n?.compareField??n?.field;if(!e)continue;o.push(i=>{if(!i)return!1;let a=t(e);return!Z(a)&&il(r,Q(i),Q(a),n,t)})}}return e?.rowHierarchy&&Array.isArray(n)&&r!=null&&o.push(t=>t?sl(Q(t),e.rowHierarchy,{rows:n,rowIndex:r}):!1),o.length?e=>o.some(t=>t(e)):void 0}function ul(e,t=bn,n=void 0){if(!Z(n)&&Q(n)!==null)return;let r=e?.validations??e?.validation??e?.rules??[];for(let e of r){let n=typeof e==`string`?{type:e}:e;if(n?.type===`minAge`)return t().subtract(Number(n?.value??18),`year`);if(n?.type===`noFutureDate`||n?.type===`noPastDate`)return t()}}function dl({field:e,name:t,rows:n}){if(!Array.isArray(t)||t.length===0)return[];let r=t[t.length-1],i=t.length>=3&&typeof t[1]==`number`,a=new Set,o=e?.validations??e?.validation??e?.rules??[];for(let e of o){let t=typeof e==`string`?{type:e}:e;if(t?.type===`dateBeforeField`||t?.type===`dateAfterField`){let e=t?.value??t?.compareField??t?.field;e&&a.add(e)}}let s=e?.rowHierarchy,c=s?.startField??`startDate`,l=s?.endField??`endDate`;s&&(a.add(c),a.add(l));let u=[];for(let e of a)e!==r&&u.push(i?[t[0],t[1],e]:[...t.slice(0,-1),e]);if(s&&i&&Array.isArray(n))for(let e of[t[1]-1,t[1]+1])e<0||e>=n.length||(u.push([t[0],e,c]),u.push([t[0],e,l]));return u}function fl({field:e,rows:t,rowIndex:n}){let r=e?.rowHierarchy;return{validator:async(i,a)=>{if(!r||Z(a)||!Array.isArray(t)||n==null)return Promise.resolve();let o=Q(a);if(o===null||!sl(o,r,{rows:t,rowIndex:n}))return Promise.resolve();let s=r.startField??`startDate`,c=t[n-1],l=c?Q(c[s]):null,u=l!==null&&o>=l?`above`:`below`,d=r.endField??`endDate`,f=e?.field,p=f===s?`start`:f===d?`end`:void 0;return Promise.reject(Error(cl(r,u,p)))}}}function pl(e){return(e??[]).filter(e=>e?.submitMessages&&typeof e.submitMessages==`object`).sort((e,t)=>(e.order??0)-(t.order??0))[0]?.submitMessages??null}function $(e){let t=String(e??``).trim();return t?t.charAt(0).toUpperCase()+t.slice(1):`Record`}function ml(e,t){return String(e).replaceAll("${module}",$(t)).replaceAll("${moduleName}",$(t))}function hl(e,t,n){let r=pl(e);if(r?.suppress)return null;let i=n===`edit`?r?.editSuccess:r?.addSuccess;return i&&String(i).trim()?ml(i,t):n===`edit`?`${$(t)} has Updated successfully`:`${$(t)} has added successfully`}function gl(e,t,n,r){let i=pl(e),a=n===`edit`?i?.editError:i?.addError;return a&&String(a).trim()?ml(a,t):r&&String(r).trim()?String(r):n===`edit`?`Failed to update ${$(t)}`:`Failed to create ${$(t)}`}function _l({errorFields:e}={},t,{root:n=document}={}){if(!e?.length)return;let r=e[0]?.name;setTimeout(()=>{if(t?.scrollToField&&r!==void 0)try{t.scrollToField(r,{behavior:`smooth`,block:`center`})}catch{}let e=(n??document).querySelector(`.ant-form-item-has-error`);if(!e)return;let i=e.querySelector(`input, textarea, select, .ProseMirror`),a=i??e;a.scrollIntoView({behavior:`smooth`,block:`center`}),setTimeout(()=>{i?.focus?.({preventScroll:!0}),a.style.boxShadow=`0 0 0 3px rgba(255, 77, 79, 0.3)`,setTimeout(()=>{a.style.boxShadow=``},1200)},350)},60)}function vl(e){return Array.isArray(e)?e.map(e=>String(e??``).trim()):String(e??``).split(`,`).map(e=>e.trim())}function yl(e,t){if(!e?.field)return!1;switch(e.operator??`eq`){case`eq`:return String(t??``)===String(e.value??``);case`neq`:return String(t??``)!==String(e.value??``);case`truthy`:return t!=null&&t!==``&&t!==!1;case`falsy`:return t==null||t===``||t===!1;case`notEmpty`:return Array.isArray(t)?t.length>0:!!t;case`in`:return vl(e.value).includes(String(t??``));case`notIn`:return!vl(e.value).includes(String(t??``));default:return!1}}function bl(e,t,n=!1){let r=n?e?.combineLabel??e?.label:e?.label,i=e?.labelWhen;return yl(i,t)&&i?.label?i.label:r}function xl(e){return e?[...e.field?[e]:[],...(e.conditions??[]).filter(e=>e?.field)]:[]}function Sl(e,t){let n=xl(e);if(!n.length)return!0;let r=n.map(e=>yl(e,t(e.field)));return e.logic===`or`?r.some(Boolean):r.every(Boolean)}function Cl(e){let t=e?.colWhen;return t?(Array.isArray(t)?t:[t]).filter(e=>e?.field&&Number(e?.col)>0):[]}function wl(e,t,n){for(let t of Cl(e))if(yl(t,n(t)))return Number(t.col);return t}function Tl(e,t){return e?.field?t==null?[e.field]:[...Array.isArray(t)?t:[t],e.field]:[`__noop_conditional_label__`]}function El(e,t){return n=>{if(!e||!n)return;let r=Array.isArray(t)&&t.length>1?[...t.slice(0,-1),n]:[n],i=e.getFieldValue(r);return i===void 0?e.getFieldValue([n]):i}}function Dl(e,t,n){let r=e?.requiredWhen;return!r||!t||!r.field&&!(r.conditions??[]).some(e=>e?.field)?!1:Sl(r,El(t,n))}function Ol(e,t,n){return{validator:(r,i)=>{if(!Dl(e,t,n)||!(i==null||i===``||Array.isArray(i)&&i.length===0))return Promise.resolve();let a=e?.label??e?.field??`This field`;return Promise.reject(Error(e?.requiredWhen?.message??`${a} is required`))}}}function kl({items:e=[]}){let t=e.map((t,n)=>({title:n===e.length-1?(0,o.jsx)(Kn,{variant:`body`,weight:`medium`,color:`link`,children:t.label}):(0,o.jsxs)(u.Link,{to:t.href,children:[(0,o.jsx)(Kn,{variant:`body`,color:`secondary`,children:t.label}),t.dropdown&&(0,o.jsx)(a.DownOutlined,{})]})}));return(0,o.jsx)(i.Breadcrumb,{items:t})}var Al=e=>String(e??``).trim().replace(/\s+/g,` `).toLowerCase();function jl(e=[]){let t=new Map;for(let n of e){if(n==null)continue;let e=typeof n==`object`?n.value:n;if(e!=null&&e!==``)for(let r of[n?.label,e]){let n=Al(r);n&&!t.has(n)&&t.set(n,e)}}return t}function Ml(e,t){if(!Array.isArray(e)){let n=Ml([e],t);return n.length?n[0]:e}let n=jl(t),r=new Set,i=[];for(let t of e){let e=typeof t==`object`&&t?t.value:t,a=n.get(Al(e))??e,o=Al(a);o&&r.has(o)||(o&&r.add(o),i.push(a))}return i}function Nl(e,t=[]){if(!e)return[];let n=new Set;for(let r of t)for(let t of r?.fields??[])if(t?.field){if(t.field===e)for(let e of t.autofillFrom??[])e?.targetField&&n.add(e.targetField);t.lookupFilterValueFrom===e&&n.add(t.field);for(let r of t.prefillWhen??[])r?.field===e&&n.add(t.field)}return n.delete(e),[...n]}function Pl(e,t=[]){return e?.blockWhileResolving?Nl(e.field,t).length>0:!1}function Fl(e){let t=String(e?.label??``).trim();return t?`Applying ${t}…`:`Applying your selection…`}function Il(e,t=[]){if(!e?.field)return[];let n=new Set(Nl(e.field,t));if(n.size===0)return[];let r=[];for(let e of t){let t=e?.name??e?.id;t&&(e.fields??[]).some(e=>e?.field&&n.has(e.field))&&r.push(t)}return r}function Ll(e){return String(e?.blockScope??``).toLowerCase()===`group`}var Rl=(0,r.lazy)(()=>Promise.resolve().then(()=>require("./index.cjs")).then(e=>e.n)),zl=(0,r.lazy)(()=>Promise.resolve().then(()=>require("./DocumentViewer-yILQ8gIK.cjs")).then(e=>e.n));function Bl(e){let t=String(e??``).split(`.`).pop()?.toLowerCase();return t===`pdf`?(0,o.jsx)(a.FilePdfOutlined,{className:`v1-file-chip__icon`}):t===`doc`||t===`docx`?(0,o.jsx)(a.FileWordOutlined,{className:`v1-file-chip__icon`}):(0,o.jsx)(a.FileOutlined,{className:`v1-file-chip__icon`})}function Vl({field:e,recordMeta:t}){let n=e?.linkedModule,s=e?.linkedFileField,c=(0,r.useMemo)(()=>{let r=ws(n,t);if(r)return r;let i=e?.linkedIdField,a=i?t?.[i]:``;return a?String(a):``},[n,t,e?.linkedIdField]),[l,u]=(0,r.useState)({loading:!1,fileValue:null}),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(0);(0,r.useEffect)(()=>{if(!c||!n)return;let e=!1;return queueMicrotask(()=>{e||u(e=>({...e,loading:!0}))}),lr(n,c).then(t=>{e||u({loading:!1,fileValue:t?.[s]??null})}),()=>{e=!0}},[c,n,s,h]);let _=(0,r.useMemo)(()=>Oa(l.fileValue),[l.fileValue])[0],v=!!_,y=e?.label??`File`,b=K(n)||`record`;if(!c)return(0,o.jsx)(`div`,{className:`v1-linked-file v1-linked-file--empty`,children:(0,o.jsx)(`span`,{children:e?.unlinkedText??`Not available until the ${b} is set.`})});if(l.loading)return(0,o.jsx)(`div`,{className:`v1-linked-file v1-linked-file--loading`,children:(0,o.jsx)(i.Spin,{size:`small`})});let x=_?{..._,url:_.needsAuthFetch?``:_.url,authSource:_.needsAuthFetch?{module:n,refId:c,fieldName:s}:void 0}:null,S=()=>m(!1),C=e?.emptyText??`No ${y.toLowerCase()} on file yet`,ee=e?.reuploadLabel??`${v?`Reupload`:`Upload`} in ${b}`,w=e?.reuploadWarning??`The ${y.toLowerCase()} belongs to the ${b.toLowerCase()}, not to this record. Changing it here updates the ${b.toLowerCase()} everywhere it is used.`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-linked-file-row ${v?``:`v1-linked-file--empty`}`,children:[(0,o.jsxs)(`button`,{type:`button`,className:`v1-linked-file v1-file-chip`,disabled:!v,onClick:()=>v&&f(!0),title:v?`Preview or download ${_.name}`:C,children:[v?Bl(_.name):(0,o.jsx)(a.FileOutlined,{className:`v1-file-chip__icon`}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:v?_.name:C}),v&&(0,o.jsx)(a.EyeOutlined,{className:`v1-file-chip__action`,"aria-hidden":`true`})]}),(0,o.jsxs)(`button`,{type:`button`,className:`v1-linked-file__edit-btn`,onClick:()=>m(!0),title:w,children:[(0,o.jsx)(a.EditOutlined,{}),` `,ee]})]}),d&&x&&(0,o.jsx)(r.Suspense,{fallback:null,children:(0,o.jsx)(zl,{open:d,onClose:()=>f(!1),documents:[x]})}),p&&(0,o.jsxs)(i.Modal,{open:!0,title:ee,width:`min(1080px, 96vw)`,footer:null,destroyOnClose:!0,maskClosable:!1,onCancel:S,styles:{body:{maxHeight:`78vh`,overflowY:`auto`}},children:[(0,o.jsx)(i.Alert,{type:`warning`,showIcon:!0,message:w,style:{marginBottom:16}}),(0,o.jsx)(r.Suspense,{fallback:(0,o.jsx)(`div`,{style:{padding:48,textAlign:`center`},children:(0,o.jsx)(i.Spin,{})}),children:(0,o.jsx)(Rl,{moduleName:n,recordId:c,embedded:!0,breadcrumbItems:[],onCancel:S,onSuccess:()=>{S(),g(e=>e+1)}})})]})]})}Vl.propTypes={field:g.default.shape({label:g.default.string,linkedModule:g.default.string,linkedFileField:g.default.string,linkedIdField:g.default.string,emptyText:g.default.string,unlinkedText:g.default.string,reuploadLabel:g.default.string,reuploadWarning:g.default.string}).isRequired,recordMeta:g.default.object},Vl.defaultProps={recordMeta:void 0},Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return Rs}}),Object.defineProperty(exports,"$n",{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,"$r",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,"$t",{enumerable:!0,get:function(){return sa}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Gc}}),Object.defineProperty(exports,"Ai",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"An",{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,"Ar",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"At",{enumerable:!0,get:function(){return Mo}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return Rc}}),Object.defineProperty(exports,"Bi",{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,"Bn",{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,"Br",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"Bt",{enumerable:!0,get:function(){return ao}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return ul}}),Object.defineProperty(exports,"Ci",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"Cn",{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,"Cr",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"Ct",{enumerable:!0,get:function(){return qo}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return dl}}),Object.defineProperty(exports,"Di",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"Dn",{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,"Dr",{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,"Dt",{enumerable:!0,get:function(){return Lo}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"Ei",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"En",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,"Er",{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,"Et",{enumerable:!0,get:function(){return Go}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return Pc}}),Object.defineProperty(exports,"Fi",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,"Fn",{enumerable:!0,get:function(){return hr}}),Object.defineProperty(exports,"Fr",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"Ft",{enumerable:!0,get:function(){return jo}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return dc}}),Object.defineProperty(exports,"Gn",{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,"Gr",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"Gt",{enumerable:!0,get:function(){return za}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return hc}}),Object.defineProperty(exports,"Hi",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,"Hn",{enumerable:!0,get:function(){return Kn}}),Object.defineProperty(exports,"Hr",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"Ht",{enumerable:!0,get:function(){return no}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return gc}}),Object.defineProperty(exports,"Ii",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"In",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(exports,"Ir",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"It",{enumerable:!0,get:function(){return so}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return nc}}),Object.defineProperty(exports,"Jn",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"Jr",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"Jt",{enumerable:!0,get:function(){return pa}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return oc}}),Object.defineProperty(exports,"Kn",{enumerable:!0,get:function(){return Sn}}),Object.defineProperty(exports,"Kr",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"Kt",{enumerable:!0,get:function(){return Na}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return yc}}),Object.defineProperty(exports,"Li",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(exports,"Ln",{enumerable:!0,get:function(){return cr}}),Object.defineProperty(exports,"Lr",{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,"Lt",{enumerable:!0,get:function(){return uo}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return Wc}}),Object.defineProperty(exports,"Mi",{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(exports,"Mn",{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(exports,"Mr",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"Mt",{enumerable:!0,get:function(){return To}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return Hc}}),Object.defineProperty(exports,"Ni",{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,"Nn",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,"Nr",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"Nt",{enumerable:!0,get:function(){return go}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Zc}}),Object.defineProperty(exports,"Oi",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"On",{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,"Or",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"Ot",{enumerable:!0,get:function(){return Bo}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return xc}}),Object.defineProperty(exports,"Pi",{enumerable:!0,get:function(){return $t}}),Object.defineProperty(exports,"Pn",{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,"Pr",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"Pt",{enumerable:!0,get:function(){return So}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return Zs}}),Object.defineProperty(exports,"Qn",{enumerable:!0,get:function(){return Cn}}),Object.defineProperty(exports,"Qr",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,"Qt",{enumerable:!0,get:function(){return Oa}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return _c}}),Object.defineProperty(exports,"Ri",{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,"Rn",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(exports,"Rr",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,"Rt",{enumerable:!0,get:function(){return lo}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return fl}}),Object.defineProperty(exports,"Si",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"Sn",{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(exports,"Sr",{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,"St",{enumerable:!0,get:function(){return Yo}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return $c}}),Object.defineProperty(exports,"Ti",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"Tn",{enumerable:!0,get:function(){return kr}}),Object.defineProperty(exports,"Tr",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,"Tt",{enumerable:!0,get:function(){return Wo}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return mc}}),Object.defineProperty(exports,"Un",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"Ur",{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,"Ut",{enumerable:!0,get:function(){return ro}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return Nc}}),Object.defineProperty(exports,"Vi",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,"Vn",{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(exports,"Vr",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"Vt",{enumerable:!0,get:function(){return io}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return uc}}),Object.defineProperty(exports,"Wn",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"Wr",{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,"Wt",{enumerable:!0,get:function(){return Ba}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return tc}}),Object.defineProperty(exports,"Xn",{enumerable:!0,get:function(){return xn}}),Object.defineProperty(exports,"Xr",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"Xt",{enumerable:!0,get:function(){return ma}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return ac}}),Object.defineProperty(exports,"Yn",{enumerable:!0,get:function(){return Mn}}),Object.defineProperty(exports,"Yr",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"Yt",{enumerable:!0,get:function(){return fa}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return Qs}}),Object.defineProperty(exports,"Zn",{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,"Zr",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,"Zt",{enumerable:!0,get:function(){return wa}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return _l}}),Object.defineProperty(exports,"_i",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"_n",{enumerable:!0,get:function(){return Zr}}),Object.defineProperty(exports,"_r",{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,"_t",{enumerable:!0,get:function(){return gs}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Pl}}),Object.defineProperty(exports,"ai",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"an",{enumerable:!0,get:function(){return $i}}),Object.defineProperty(exports,"ar",{enumerable:!0,get:function(){return pn}}),Object.defineProperty(exports,"at",{enumerable:!0,get:function(){return js}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return ll}}),Object.defineProperty(exports,"bi",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"bn",{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,"br",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"bt",{enumerable:!0,get:function(){return fs}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Dl}}),Object.defineProperty(exports,"ci",{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,"cn",{enumerable:!0,get:function(){return Yi}}),Object.defineProperty(exports,"cr",{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,"ct",{enumerable:!0,get:function(){return Ds}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Tl}}),Object.defineProperty(exports,"di",{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,"dn",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"dr",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"dt",{enumerable:!0,get:function(){return As}}),Object.defineProperty(exports,"ei",{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,"en",{enumerable:!0,get:function(){return da}}),Object.defineProperty(exports,"er",{enumerable:!0,get:function(){return hn}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return Hs}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return yl}}),Object.defineProperty(exports,"fi",{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,"fn",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"fr",{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,"ft",{enumerable:!0,get:function(){return ks}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return xl}}),Object.defineProperty(exports,"gi",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,"gn",{enumerable:!0,get:function(){return ki}}),Object.defineProperty(exports,"gr",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,"gt",{enumerable:!0,get:function(){return _s}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return wl}}),Object.defineProperty(exports,"hi",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"hn",{enumerable:!0,get:function(){return Ai}}),Object.defineProperty(exports,"hr",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,"ht",{enumerable:!0,get:function(){return vs}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Fl}}),Object.defineProperty(exports,"ii",{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,"in",{enumerable:!0,get:function(){return Qi}}),Object.defineProperty(exports,"ir",{enumerable:!0,get:function(){return un}}),Object.defineProperty(exports,"it",{enumerable:!0,get:function(){return Is}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Kc}}),Object.defineProperty(exports,"ji",{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(exports,"jn",{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,"jr",{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,"jt",{enumerable:!0,get:function(){return Eo}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Xc}}),Object.defineProperty(exports,"ki",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"kn",{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,"kr",{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,"kt",{enumerable:!0,get:function(){return No}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Ol}}),Object.defineProperty(exports,"li",{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,"ln",{enumerable:!0,get:function(){return Hi}}),Object.defineProperty(exports,"lr",{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,"lt",{enumerable:!0,get:function(){return Os}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Sl}}),Object.defineProperty(exports,"mi",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"mn",{enumerable:!0,get:function(){return Ji}}),Object.defineProperty(exports,"mr",{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(exports,"mt",{enumerable:!0,get:function(){return ys}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ll}}),Object.defineProperty(exports,"ni",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"nn",{enumerable:!0,get:function(){return na}}),Object.defineProperty(exports,"nr",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return Ns}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Ml}}),Object.defineProperty(exports,"oi",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"on",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"or",{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,"ot",{enumerable:!0,get:function(){return Ts}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return bl}}),Object.defineProperty(exports,"pi",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,"pn",{enumerable:!0,get:function(){return Ii}}),Object.defineProperty(exports,"pr",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"pt",{enumerable:!0,get:function(){return xs}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return lc}}),Object.defineProperty(exports,"qn",{enumerable:!0,get:function(){return Tn}}),Object.defineProperty(exports,"qr",{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,"qt",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Il}}),Object.defineProperty(exports,"ri",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"rn",{enumerable:!0,get:function(){return Zi}}),Object.defineProperty(exports,"rr",{enumerable:!0,get:function(){return gn}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return Ps}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return kl}}),Object.defineProperty(exports,"si",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"sn",{enumerable:!0,get:function(){return Ui}}),Object.defineProperty(exports,"sr",{enumerable:!0,get:function(){return nn}}),Object.defineProperty(exports,"st",{enumerable:!0,get:function(){return ws}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Vl}}),Object.defineProperty(exports,"ti",{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,"tn",{enumerable:!0,get:function(){return ta}}),Object.defineProperty(exports,"tr",{enumerable:!0,get:function(){return mn}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return Vs}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Cl}}),Object.defineProperty(exports,"ui",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(exports,"un",{enumerable:!0,get:function(){return bi}}),Object.defineProperty(exports,"ur",{enumerable:!0,get:function(){return on}}),Object.defineProperty(exports,"ut",{enumerable:!0,get:function(){return Es}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return gl}}),Object.defineProperty(exports,"vi",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"vn",{enumerable:!0,get:function(){return ti}}),Object.defineProperty(exports,"vr",{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,"vt",{enumerable:!0,get:function(){return hs}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Qc}}),Object.defineProperty(exports,"wi",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"wn",{enumerable:!0,get:function(){return jr}}),Object.defineProperty(exports,"wr",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,"wt",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return ol}}),Object.defineProperty(exports,"xi",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"xn",{enumerable:!0,get:function(){return qr}}),Object.defineProperty(exports,"xr",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"xt",{enumerable:!0,get:function(){return Zo}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return hl}}),Object.defineProperty(exports,"yi",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"yn",{enumerable:!0,get:function(){return ri}}),Object.defineProperty(exports,"yr",{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,"yt",{enumerable:!0,get:function(){return ms}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return Fc}}),Object.defineProperty(exports,"zi",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"zn",{enumerable:!0,get:function(){return er}}),Object.defineProperty(exports,"zr",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"zt",{enumerable:!0,get:function(){return oo}});
|
|
5
|
-
//# sourceMappingURL=LinkedRecordFileField-LGZMhRT7.cjs.map
|