@activecollab/components 2.0.397 → 2.0.399
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/presentation/whiteboard/bottomDock.js +194 -0
- package/dist/cjs/presentation/whiteboard/bottomDock.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/canvasElements.js +877 -0
- package/dist/cjs/presentation/whiteboard/canvasElements.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/elements.js +816 -0
- package/dist/cjs/presentation/whiteboard/elements.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/fileElement.js +457 -0
- package/dist/cjs/presentation/whiteboard/fileElement.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/glyphs.js +67 -0
- package/dist/cjs/presentation/whiteboard/glyphs.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/inspector.js +884 -0
- package/dist/cjs/presentation/whiteboard/inspector.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/linkElement.js +357 -0
- package/dist/cjs/presentation/whiteboard/linkElement.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/outline.js +966 -0
- package/dist/cjs/presentation/whiteboard/outline.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/peopleMenu.js +516 -0
- package/dist/cjs/presentation/whiteboard/peopleMenu.js.map +1 -0
- package/dist/cjs/presentation/whiteboard/settingsMenu.js +177 -0
- package/dist/cjs/presentation/whiteboard/settingsMenu.js.map +1 -0
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts +51 -0
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/bottomDock.js +162 -0
- package/dist/esm/presentation/whiteboard/bottomDock.js.map +1 -0
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts +61 -0
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/canvasElements.js +746 -0
- package/dist/esm/presentation/whiteboard/canvasElements.js.map +1 -0
- package/dist/esm/presentation/whiteboard/elements.d.ts +180 -0
- package/dist/esm/presentation/whiteboard/elements.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/elements.js +736 -0
- package/dist/esm/presentation/whiteboard/elements.js.map +1 -0
- package/dist/esm/presentation/whiteboard/fileElement.d.ts +113 -0
- package/dist/esm/presentation/whiteboard/fileElement.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/fileElement.js +430 -0
- package/dist/esm/presentation/whiteboard/fileElement.js.map +1 -0
- package/dist/esm/presentation/whiteboard/glyphs.d.ts +32 -0
- package/dist/esm/presentation/whiteboard/glyphs.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/glyphs.js +50 -0
- package/dist/esm/presentation/whiteboard/glyphs.js.map +1 -0
- package/dist/esm/presentation/whiteboard/inspector.d.ts +100 -0
- package/dist/esm/presentation/whiteboard/inspector.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/inspector.js +753 -0
- package/dist/esm/presentation/whiteboard/inspector.js.map +1 -0
- package/dist/esm/presentation/whiteboard/linkElement.d.ts +97 -0
- package/dist/esm/presentation/whiteboard/linkElement.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/linkElement.js +327 -0
- package/dist/esm/presentation/whiteboard/linkElement.js.map +1 -0
- package/dist/esm/presentation/whiteboard/outline.d.ts +89 -0
- package/dist/esm/presentation/whiteboard/outline.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/outline.js +870 -0
- package/dist/esm/presentation/whiteboard/outline.js.map +1 -0
- package/dist/esm/presentation/whiteboard/peopleMenu.d.ts +44 -0
- package/dist/esm/presentation/whiteboard/peopleMenu.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/peopleMenu.js +440 -0
- package/dist/esm/presentation/whiteboard/peopleMenu.js.map +1 -0
- package/dist/esm/presentation/whiteboard/settingsMenu.d.ts +13 -0
- package/dist/esm/presentation/whiteboard/settingsMenu.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/settingsMenu.js +155 -0
- package/dist/esm/presentation/whiteboard/settingsMenu.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileElement.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_elements","_Icons","_Loaders","_ProgressRing","_StackedCard","_Tooltip","_Typography","_content","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","FILE_DEFAULT_WIDTH","exports","MAX_UPLOAD_BYTES","UPLOAD_TICK_MS","UPLOAD_STEP","PREPARING_MS","FILE_SIZE_UNITS","formatFileSize","_ref3","_ref2","unit","bytes","inUnit","concat","toFixed","Math","trunc","describeFile","file","dot","lastIndexOf","hasExtension","base","extension","size","mimeType","type","thumbnailUrl","startsWith","URL","createObjectURL","revokeThumbnail","revokeObjectURL","binaryFrom","data","files","item","_data$items","items","kind","picked","getAsFile","useMockUpload","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","progress","setProgress","timers","useRef","ticker","progressRef","clearAll","useCallback","current","forEach","clearTimeout","clearInterval","retry","setTimeout","setInterval","min","useEffect","StyledFileCard","styled","StackedCard","withConfig","displayName","componentId","StyledUploadCover","div","StyledFileFallback","StyledFileName","StyledDropOverlay","StyledHiddenFileInput","input","StyledPlaceholderBox","COVER_RATIO_IMAGE","FilePlaceholder","props","createElement","Placeholder","icon","AttachmentIcon","label","dashed","FileFormattingToolbar","_ref4","onPick","onCancel","onRetry","onDelete","StyledFormattingToolbar","onMouseDown","stopClick","onClick","StyledToolbarButton","UploadIcon","className","CancelCrossIcon","Fragment","ArrowRefreshIcon","DownloadIcon","Tooltip","title","TrashIcon","FileUploadCard","_ref5","element","selected","resize","upload","ready","resizable","resizeAxis","resizeLabel","StackedCardCover","aspectRatio","renderFileThumbnail","ProgressRing","radius","stroke","Caption2","weight","color","SpinnerLoader","style","cursor","StackedCardRow","role","Caption1","src","alt","toUpperCase","FileElement","_ref6","autoOpen","onPickFile","inputRef","_useState5","_useState6","dropping","setDropping","openPicker","_inputRef$current","click","handleInputChange","event","_event$target$files","target","handleDrop","preventDefault","stopPropagation","dropped","dataTransfer","ref","onChange","bleed","onDragEnter","onDragOver","onDragLeave","currentTarget","contains","relatedTarget","onDrop","Body2"],"sources":["../../../../src/presentation/whiteboard/fileElement.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport styled from \"styled-components\";\n\nimport {\n StyledFormattingToolbar,\n StyledToolbarButton,\n stopClick,\n} from \"./elements\";\nimport { CardResizeHandlers } from \"./linkElement\";\nimport {\n ArrowRefreshIcon,\n AttachmentIcon,\n CancelCrossIcon,\n DownloadIcon,\n TrashIcon,\n UploadIcon,\n} from \"../../components/Icons\";\nimport { SpinnerLoader } from \"../../components/Loaders\";\nimport { ProgressRing } from \"../../components/ProgressRing\";\nimport {\n StackedCard,\n StackedCardCover,\n StackedCardRow,\n} from \"../../components/StackedCard\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2, Caption1, Caption2 } from \"../../components/Typography\";\nimport { COVER_RATIO_IMAGE, Placeholder } from \"../stackedCard/content\";\n\n/* ------------------------------------------------------------------ */\n/* File element — the upload lifecycle + the file card */\n/* ------------------------------------------------------------------ */\n\n/**\n * The file card is the second element built on `StackedCard`, and it mirrors the\n * card in a project's Files tab (`Folders/GridView/Items/File.js`): a thumbnail\n * over a strip with the name, then size · date.\n *\n * Its lifecycle is the app's real upload lifecycle, which is two phases and not\n * one — the distinction the ring alone doesn't tell you:\n *\n * uploading XHR progress 0–100. `ProgressRing radius={22} stroke={4}` with\n * the percentage, exactly as `Items/FileUpload.js` does it.\n * preparing bytes are in, the server is generating the thumbnail. Progress\n * is no longer knowable, so the ring gives way to the\n * indeterminate `SpinnerLoader` at the same size — again as the\n * real card does at `progress === 100`.\n * ready the thumbnail exists; the card renders it.\n * error the upload failed: retry, same as the app's `ArrowRefreshIcon`.\n *\n * Both phases reserve the same box as the finished cover, so a card never\n * reflows as it climbs — the discipline the unfurl ladder established.\n */\n\n/* The Files-tab card is a fixed 208×208. On a canvas the width is the host's,\n so 208 is only the default a click-placed card takes. */\nexport const FILE_DEFAULT_WIDTH = 208;\n\n/* Big enough to be worth refusing, so the error state is reachable: the server\n enforces the real limits (and answers StorageOverusedError when full). */\nexport const MAX_UPLOAD_BYTES = 25 * 1024 * 1024;\n\nexport const UPLOAD_TICK_MS = 110;\nexport const UPLOAD_STEP = 9;\n/* How long the server spends making a thumbnail once the bytes have landed. */\nexport const PREPARING_MS = 1100;\n\n/** What the mock keeps about a picked file. */\nexport interface PickedFile {\n /** Name without the extension — truncates on its own. */\n base: string;\n /** Extension without the dot; never truncated, as in the real card. */\n extension: string;\n size: number;\n mimeType: string;\n /** An object URL, so an image really renders. Null for everything else. */\n thumbnailUrl: string | null;\n}\n\n/** A file element on the board. Position lives in the shared positions map. */\nexport interface FileElementDef {\n id: string;\n width: number;\n /** null while the card is an empty placeholder waiting for a file. */\n file: PickedFile | null;\n}\n\n/* Angie.functions.format_file_size — two decimals, no space, lower-case k.\n \"1.20MB\", not \"1.2 MB\". Reproduced exactly so the mock reads like the app. */\nexport const FILE_SIZE_UNITS: [string, number][] = [\n [\"TB\", 1099511627776],\n [\"GB\", 1073741824],\n [\"MB\", 1048576],\n [\"kB\", 1024],\n];\n\nexport const formatFileSize = (value: number): string => {\n for (const [unit, bytes] of FILE_SIZE_UNITS) {\n const inUnit = value / bytes;\n if (inUnit > 0.9) {\n return `${inUnit.toFixed(2)}${unit}`;\n }\n }\n\n return `${Math.trunc(value)}B`;\n};\n\nexport const describeFile = (file: File): PickedFile => {\n const dot = file.name.lastIndexOf(\".\");\n const hasExtension = dot > 0;\n\n return {\n base: hasExtension ? file.name.slice(0, dot) : file.name,\n extension: hasExtension ? file.name.slice(dot + 1) : \"\",\n size: file.size,\n mimeType: file.type,\n // Images get a real thumbnail; the server would generate one for every type,\n // but the mock can only show what the browser can already decode.\n thumbnailUrl: file.type.startsWith(\"image/\")\n ? URL.createObjectURL(file)\n : null,\n };\n};\n\n/* Object URLs are a manual allocation — release one whenever the file it stands\n for stops being on the board. */\nexport const revokeThumbnail = (file: PickedFile | null): void => {\n if (file?.thumbnailUrl) {\n URL.revokeObjectURL(file.thumbnailUrl);\n }\n};\n\n/** The first actual file on a clipboard or a drop, or null if there is none. */\nexport const binaryFrom = (data: DataTransfer | null): File | null => {\n if (!data) {\n return null;\n }\n\n if (data.files && data.files.length > 0) {\n return data.files[0];\n }\n\n // A screenshot paste arrives as an item, not in `files`.\n for (const item of Array.from(data.items ?? [])) {\n if (item.kind === \"file\") {\n const picked = item.getAsFile();\n if (picked) {\n return picked;\n }\n }\n }\n\n return null;\n};\n\nexport type UploadStatus = \"uploading\" | \"preparing\" | \"ready\" | \"error\";\n\nexport interface UploadController {\n status: UploadStatus;\n /** 0–100, as the app's XHR reports it. Only meaningful while uploading. */\n progress: number;\n retry: () => void;\n}\n\n/**\n * Drives one file through the upload lifecycle. Stands in for\n * `useFileHandler` + the XHR in `utils/upload.jsx`: ticks progress to 100,\n * hands over to the thumbnail phase, then resolves.\n */\nexport const useMockUpload = (file: PickedFile | null): UploadController => {\n const [status, setStatus] = useState<UploadStatus>(\"uploading\");\n const [progress, setProgress] = useState(0);\n\n const timers = useRef<ReturnType<typeof setTimeout>[]>([]);\n const ticker = useRef<ReturnType<typeof setInterval> | null>(null);\n const progressRef = useRef(0);\n\n const clearAll = useCallback(() => {\n timers.current.forEach(clearTimeout);\n timers.current = [];\n if (ticker.current) {\n clearInterval(ticker.current);\n ticker.current = null;\n }\n }, []);\n\n const retry = useCallback(() => {\n clearAll();\n progressRef.current = 0;\n setProgress(0);\n setStatus(\"uploading\");\n\n if (!file) {\n return;\n }\n\n if (file.size > MAX_UPLOAD_BYTES) {\n timers.current.push(setTimeout(() => setStatus(\"error\"), 700));\n\n return;\n }\n\n ticker.current = setInterval(() => {\n progressRef.current = Math.min(100, progressRef.current + UPLOAD_STEP);\n setProgress(progressRef.current);\n\n if (progressRef.current >= 100) {\n clearAll();\n // The bytes are up; the thumbnail is the server's job now.\n setStatus(\"preparing\");\n timers.current.push(setTimeout(() => setStatus(\"ready\"), PREPARING_MS));\n }\n }, UPLOAD_TICK_MS);\n }, [clearAll, file]);\n\n useEffect(() => {\n retry();\n\n return clearAll;\n }, [retry, clearAll]);\n\n return { status, progress, retry };\n};\n\n/* The card fills the box the board drew; height stays auto. */\nexport const StyledFileCard = styled(StackedCard)`\n && {\n width: 100%;\n }\n\n user-select: none;\n`;\n\n/* The cover while uploading or preparing — the ring/spinner centred in the box\n the finished thumbnail will occupy, so resolving never reflows the card. */\nexport const StyledUploadCover = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n width: 100%;\n height: 100%;\n background-color: var(--color-theme-200);\n`;\n\n/* No thumbnail (the browser can't decode a .zip): the clip plus the extension.\n The real card has NO type-icon fallback — it renders a bare <img> and trusts\n the server — so this is net-new and worth a decision. */\nexport const StyledFileFallback = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n width: 100%;\n height: 100%;\n background-color: var(--color-theme-200);\n color: var(--color-theme-600);\n\n > svg {\n width: 36px;\n height: 36px;\n fill: var(--color-theme-500);\n }\n`;\n\n/* Name row: the base name truncates, the extension never does — the same split\n the real card makes with removeExtensionFromFileName. */\nexport const StyledFileName = styled.div`\n display: flex;\n align-items: baseline;\n min-width: 0;\n width: 100%;\n\n .file-base {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .file-ext {\n flex-shrink: 0;\n }\n`;\n\n/* The drop overlay, from directive.ang_drop_files.less: a near-opaque cover\n with a 2px dashed primary border and \"Drop here\". The app sets 24px type for\n a full-page target; on a card it reads at Body2. */\nexport const StyledDropOverlay = styled.div`\n position: absolute;\n inset: 0;\n z-index: 3;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n box-sizing: border-box;\n background-color: var(--page-paper-main);\n\n .drop-box {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n border: 2px dashed var(--color-primary);\n border-radius: 6px;\n }\n`;\n\nexport const StyledHiddenFileInput = styled.input`\n display: none;\n`;\n\n/* The placeholder reserves the same box the finished cover will occupy — the\n cover's ratio, not a pixel height — so attaching a file does not resize the\n card under the pointer. Placeholder's own fixed height is overridden here;\n the descendant selector outranks its class. */\nexport const StyledPlaceholderBox = styled.div`\n width: 100%;\n aspect-ratio: ${COVER_RATIO_IMAGE};\n\n > button {\n height: 100%;\n }\n`;\n\n/* The interactive empty state, in the shared placeholder frame the other card\n types use. Doubles as the drop target, like its copy promises. */\nexport const FilePlaceholder = (\n props: React.ButtonHTMLAttributes<HTMLButtonElement>\n): ReactElement => (\n <StyledPlaceholderBox>\n {/* Fills the card, so it has to be draggable as well as clickable. */}\n <Placeholder\n icon={<AttachmentIcon />}\n label=\"Drop a file or click to upload\"\n dashed\n data-drag-through=\"\"\n {...props}\n />\n </StyledPlaceholderBox>\n);\n\nexport interface FileToolbarProps {\n status: UploadStatus | \"placeholder\";\n /* Each phase only supplies the actions its own buttons need. */\n onPick?: () => void;\n onCancel?: () => void;\n onRetry?: () => void;\n onDelete: () => void;\n}\n\n/* The file element's floating toolbar. The leading action is whatever the\n current phase makes meaningful; Move to Trash is always available. */\nexport const FileFormattingToolbar = ({\n status,\n onPick,\n onCancel,\n onRetry,\n onDelete,\n}: FileToolbarProps): ReactElement => (\n <StyledFormattingToolbar onMouseDown={stopClick} onClick={stopClick}>\n {status === \"placeholder\" ? (\n <StyledToolbarButton type=\"button\" onClick={onPick}>\n <UploadIcon className=\"i16\" />\n Upload\n </StyledToolbarButton>\n ) : null}\n {status === \"uploading\" || status === \"preparing\" ? (\n <StyledToolbarButton type=\"button\" onClick={onCancel}>\n <CancelCrossIcon className=\"i16\" />\n Cancel\n </StyledToolbarButton>\n ) : null}\n {status === \"error\" ? (\n <>\n <StyledToolbarButton type=\"button\" onClick={onRetry}>\n <ArrowRefreshIcon className=\"i16\" />\n Retry\n </StyledToolbarButton>\n {/* A failed upload needs a way back to the placeholder too — otherwise\n a file that can never succeed leaves trashing the card as the only\n exit. */}\n <StyledToolbarButton type=\"button\" onClick={onCancel}>\n <CancelCrossIcon className=\"i16\" />\n Cancel\n </StyledToolbarButton>\n </>\n ) : null}\n {/* Inert, like the board's other export-shaped actions — there is no real\n stored file behind a mock. */}\n {status === \"ready\" ? (\n <StyledToolbarButton type=\"button\">\n <DownloadIcon className=\"i16\" />\n Download\n </StyledToolbarButton>\n ) : null}\n <span className=\"divider\" />\n <Tooltip title=\"Move to Trash\">\n <StyledToolbarButton\n type=\"button\"\n className=\"icon-only\"\n onClick={onDelete}\n >\n <TrashIcon className=\"i16\" />\n </StyledToolbarButton>\n </Tooltip>\n </StyledFormattingToolbar>\n);\n\nexport interface FileUploadCardProps {\n element: FileElementDef;\n selected: boolean;\n resize: CardResizeHandlers;\n onCancel: () => void;\n onDelete: () => void;\n}\n\n/**\n * A file element with a file attached: the card runs the upload lifecycle and\n * then renders the finished preview.\n */\nexport const FileUploadCard = ({\n element,\n selected,\n resize,\n onCancel,\n onDelete,\n}: FileUploadCardProps): ReactElement => {\n const file = element.file;\n const upload = useMockUpload(file);\n const ready = upload.status === \"ready\";\n\n return (\n <>\n <StyledFileCard\n selected={selected}\n resizable={selected}\n resizeAxis=\"width\"\n resizeLabel=\"Resize file card\"\n {...resize}\n >\n <StackedCardCover aspectRatio={COVER_RATIO_IMAGE}>\n {ready ? (\n renderFileThumbnail(file)\n ) : (\n <StyledUploadCover>\n {/* Determinate while the bytes move, indeterminate once they have\n landed — the app's own switch at progress === 100. */}\n {upload.status === \"uploading\" ? (\n <ProgressRing progress={upload.progress} radius={22} stroke={4}>\n <Caption2 weight=\"bold\" color=\"secondary\">\n {upload.progress}%\n </Caption2>\n </ProgressRing>\n ) : null}\n {upload.status === \"preparing\" ? (\n <SpinnerLoader radius={22} stroke={4} />\n ) : null}\n {upload.status === \"error\" ? (\n <ArrowRefreshIcon\n style={{ cursor: \"pointer\" }}\n onClick={upload.retry}\n />\n ) : null}\n <Caption2 color=\"tertiary\">\n {upload.status === \"uploading\" ? \"Uploading…\" : null}\n {upload.status === \"preparing\" ? \"Preparing preview…\" : null}\n {upload.status === \"error\" ? \"Upload failed\" : null}\n </Caption2>\n </StyledUploadCover>\n )}\n </StackedCardCover>\n\n <StackedCardRow role=\"title\">\n <StyledFileName>\n <Caption1 weight=\"bold\" className=\"file-base\">\n {file?.base}\n </Caption1>\n {file?.extension ? (\n <Caption1 weight=\"bold\" className=\"file-ext\">\n .{file.extension}\n </Caption1>\n ) : null}\n </StyledFileName>\n </StackedCardRow>\n\n {/* The real card hides its metadata until hover (max-height 0 → 55px).\n On a canvas the card is the object, not a row in a dense grid, so the\n line stays up — but it only says anything once the file exists. */}\n <StackedCardRow role=\"meta\">\n <Caption2 color=\"tertiary\">\n {ready && file ? `${formatFileSize(file.size)} · Just now` : \" \"}\n </Caption2>\n </StackedCardRow>\n </StyledFileCard>\n {selected ? (\n <FileFormattingToolbar\n status={upload.status}\n onCancel={onCancel}\n onRetry={upload.retry}\n onDelete={onDelete}\n />\n ) : null}\n </>\n );\n};\n\n/* An image renders for real; anything else falls back to the clip + extension. */\nexport const renderFileThumbnail = (file: PickedFile | null): ReactElement =>\n file?.thumbnailUrl ? (\n <img src={file.thumbnailUrl} alt=\"\" />\n ) : (\n <StyledFileFallback>\n <AttachmentIcon />\n <Caption2 color=\"tertiary\">\n {file?.extension ? file.extension.toUpperCase() : \"FILE\"}\n </Caption2>\n </StyledFileFallback>\n );\n\nexport interface FileElementProps {\n element: FileElementDef;\n selected: boolean;\n /** Open the file picker as soon as a freshly drawn placeholder lands. */\n autoOpen: boolean;\n onPickFile: (file: File) => void;\n resize: CardResizeHandlers;\n onCancel: () => void;\n onDelete: () => void;\n}\n\n/**\n * The two shapes of a file element: an empty placeholder that can be clicked or\n * dropped onto, and the uploading/ready card.\n *\n * A box drawn with the File tool opens the picker immediately. Dismissing the\n * picker fires no change, so the card simply stays a placeholder — which is what\n * makes Esc a no-op by construction rather than by handling.\n */\nexport const FileElement = ({\n element,\n selected,\n autoOpen,\n onPickFile,\n resize,\n onCancel,\n onDelete,\n}: FileElementProps): ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const [dropping, setDropping] = useState(false);\n\n const openPicker = useCallback(() => {\n inputRef.current?.click();\n }, []);\n\n useEffect(() => {\n if (autoOpen) {\n openPicker();\n }\n }, [autoOpen, openPicker]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>): void => {\n const picked = event.target.files?.[0];\n if (picked) {\n onPickFile(picked);\n }\n // Let the same file be chosen again after a cancel or a delete.\n event.target.value = \"\";\n },\n [onPickFile]\n );\n\n const handleDrop = useCallback(\n (event: React.DragEvent): void => {\n event.preventDefault();\n event.stopPropagation();\n setDropping(false);\n\n const dropped = binaryFrom(event.dataTransfer);\n if (dropped) {\n onPickFile(dropped);\n }\n },\n [onPickFile]\n );\n\n const input = (\n <StyledHiddenFileInput\n ref={inputRef}\n type=\"file\"\n onChange={handleInputChange}\n />\n );\n\n if (element.file != null) {\n return (\n <>\n {input}\n <FileUploadCard\n element={element}\n selected={selected}\n resize={resize}\n onCancel={onCancel}\n onDelete={onDelete}\n />\n </>\n );\n }\n\n return (\n <>\n {input}\n <StyledFileCard selected={selected} aria-label=\"Empty file card\">\n <StackedCardRow\n role=\"custom\"\n bleed\n /* Marks this row as owning its own drops, so the board-level handler\n stands aside and lets the card take the file. */\n data-file-dropzone=\"\"\n onDragEnter={(event) => {\n event.preventDefault();\n setDropping(true);\n }}\n onDragOver={(event) => event.preventDefault()}\n onDragLeave={(event) => {\n // Ignore the leaves fired when crossing onto a child.\n if (!event.currentTarget.contains(event.relatedTarget as Node)) {\n setDropping(false);\n }\n }}\n onDrop={handleDrop}\n >\n <FilePlaceholder onClick={openPicker} />\n {dropping ? (\n <StyledDropOverlay>\n <span className=\"drop-box\">\n <Body2 color=\"secondary\">Drop here</Body2>\n </span>\n </StyledDropOverlay>\n ) : null}\n </StackedCardRow>\n </StyledFileCard>\n {selected ? (\n <FileFormattingToolbar\n status=\"placeholder\"\n onPick={openPicker}\n onDelete={onDelete}\n />\n ) : null}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.svgBase = exports.glyph16 = exports.SquareGlyph = exports.PlusGlyph = exports.MinusGlyph = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
|
+
/* ------------------------------------------------------------------ */
|
|
16
|
+
/* Local line glyphs (no DS equivalent), drawn with currentColor 24x24 */
|
|
17
|
+
/* ------------------------------------------------------------------ */
|
|
18
|
+
|
|
19
|
+
var svgBase = exports.svgBase = {
|
|
20
|
+
width: 24,
|
|
21
|
+
height: 24,
|
|
22
|
+
viewBox: "0 0 24 24",
|
|
23
|
+
fill: "none",
|
|
24
|
+
/* inline style beats the Button CSS "svg { fill: currentColor }", which
|
|
25
|
+
would otherwise fill the closed shapes */
|
|
26
|
+
style: {
|
|
27
|
+
fill: "none"
|
|
28
|
+
},
|
|
29
|
+
stroke: "currentColor",
|
|
30
|
+
strokeWidth: 1.6,
|
|
31
|
+
strokeLinecap: "round",
|
|
32
|
+
strokeLinejoin: "round"
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/* 16px stroke glyphs for the formatting toolbars (the app uses lucide-react
|
|
36
|
+
here, which the DS icon set doesn't cover) */
|
|
37
|
+
var glyph16 = exports.glyph16 = _objectSpread(_objectSpread({}, svgBase), {}, {
|
|
38
|
+
width: 16,
|
|
39
|
+
height: 16,
|
|
40
|
+
strokeWidth: 2
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
/* lucide Square = the plain "Rectangle" shape type */
|
|
44
|
+
var SquareGlyph = exports.SquareGlyph = function SquareGlyph(props) {
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement("svg", _extends({}, glyph16, props), /*#__PURE__*/_react.default.createElement("rect", {
|
|
46
|
+
x: "3",
|
|
47
|
+
y: "3",
|
|
48
|
+
width: "18",
|
|
49
|
+
height: "18",
|
|
50
|
+
rx: "2"
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/* lucide Minus / Plus (stepper) */
|
|
55
|
+
var MinusGlyph = exports.MinusGlyph = function MinusGlyph(props) {
|
|
56
|
+
return /*#__PURE__*/_react.default.createElement("svg", _extends({}, glyph16, props), /*#__PURE__*/_react.default.createElement("path", {
|
|
57
|
+
d: "M5 12h14"
|
|
58
|
+
}));
|
|
59
|
+
};
|
|
60
|
+
var PlusGlyph = exports.PlusGlyph = function PlusGlyph(props) {
|
|
61
|
+
return /*#__PURE__*/_react.default.createElement("svg", _extends({}, glyph16, props), /*#__PURE__*/_react.default.createElement("path", {
|
|
62
|
+
d: "M12 5v14"
|
|
63
|
+
}), /*#__PURE__*/_react.default.createElement("path", {
|
|
64
|
+
d: "M5 12h14"
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=glyphs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyphs.js","names":["_react","_interopRequireDefault","require","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","svgBase","exports","width","height","viewBox","fill","style","stroke","strokeWidth","strokeLinecap","strokeLinejoin","glyph16","SquareGlyph","props","createElement","x","y","rx","MinusGlyph","d","PlusGlyph"],"sources":["../../../../src/presentation/whiteboard/glyphs.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\n\n/* ------------------------------------------------------------------ */\n/* Local line glyphs (no DS equivalent), drawn with currentColor 24x24 */\n/* ------------------------------------------------------------------ */\n\nexport type Glyph = (props: React.SVGProps<SVGSVGElement>) => ReactElement;\n\nexport const svgBase = {\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n /* inline style beats the Button CSS \"svg { fill: currentColor }\", which\n would otherwise fill the closed shapes */\n style: { fill: \"none\" },\n stroke: \"currentColor\",\n strokeWidth: 1.6,\n strokeLinecap: \"round\" as const,\n strokeLinejoin: \"round\" as const,\n};\n\n/* 16px stroke glyphs for the formatting toolbars (the app uses lucide-react\n here, which the DS icon set doesn't cover) */\nexport const glyph16 = { ...svgBase, width: 16, height: 16, strokeWidth: 2 };\n\n/* lucide Square = the plain \"Rectangle\" shape type */\nexport const SquareGlyph: Glyph = (props) => (\n <svg {...glyph16} {...props}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n </svg>\n);\n\n/* lucide Minus / Plus (stepper) */\nexport const MinusGlyph: Glyph = (props) => (\n <svg {...glyph16} {...props}>\n <path d=\"M5 12h14\" />\n </svg>\n);\n\nexport const PlusGlyph: Glyph = (props) => (\n <svg {...glyph16} {...props}>\n <path d=\"M12 5v14\" />\n <path d=\"M5 12h14\" />\n </svg>\n);\n"],"mappings":"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","ignoreList":[]}
|