@activecollab/components 2.0.398 → 2.0.400

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.
Files changed (61) hide show
  1. package/dist/cjs/presentation/whiteboard/bottomDock.js +194 -0
  2. package/dist/cjs/presentation/whiteboard/bottomDock.js.map +1 -0
  3. package/dist/cjs/presentation/whiteboard/canvasElements.js +877 -0
  4. package/dist/cjs/presentation/whiteboard/canvasElements.js.map +1 -0
  5. package/dist/cjs/presentation/whiteboard/elements.js +816 -0
  6. package/dist/cjs/presentation/whiteboard/elements.js.map +1 -0
  7. package/dist/cjs/presentation/whiteboard/fileElement.js +457 -0
  8. package/dist/cjs/presentation/whiteboard/fileElement.js.map +1 -0
  9. package/dist/cjs/presentation/whiteboard/glyphs.js +67 -0
  10. package/dist/cjs/presentation/whiteboard/glyphs.js.map +1 -0
  11. package/dist/cjs/presentation/whiteboard/inspector.js +884 -0
  12. package/dist/cjs/presentation/whiteboard/inspector.js.map +1 -0
  13. package/dist/cjs/presentation/whiteboard/linkElement.js +357 -0
  14. package/dist/cjs/presentation/whiteboard/linkElement.js.map +1 -0
  15. package/dist/cjs/presentation/whiteboard/outline.js +966 -0
  16. package/dist/cjs/presentation/whiteboard/outline.js.map +1 -0
  17. package/dist/cjs/presentation/whiteboard/peopleMenu.js +516 -0
  18. package/dist/cjs/presentation/whiteboard/peopleMenu.js.map +1 -0
  19. package/dist/cjs/presentation/whiteboard/settingsMenu.js +177 -0
  20. package/dist/cjs/presentation/whiteboard/settingsMenu.js.map +1 -0
  21. package/dist/esm/presentation/whiteboard/bottomDock.d.ts +51 -0
  22. package/dist/esm/presentation/whiteboard/bottomDock.d.ts.map +1 -0
  23. package/dist/esm/presentation/whiteboard/bottomDock.js +162 -0
  24. package/dist/esm/presentation/whiteboard/bottomDock.js.map +1 -0
  25. package/dist/esm/presentation/whiteboard/canvasElements.d.ts +61 -0
  26. package/dist/esm/presentation/whiteboard/canvasElements.d.ts.map +1 -0
  27. package/dist/esm/presentation/whiteboard/canvasElements.js +746 -0
  28. package/dist/esm/presentation/whiteboard/canvasElements.js.map +1 -0
  29. package/dist/esm/presentation/whiteboard/elements.d.ts +180 -0
  30. package/dist/esm/presentation/whiteboard/elements.d.ts.map +1 -0
  31. package/dist/esm/presentation/whiteboard/elements.js +736 -0
  32. package/dist/esm/presentation/whiteboard/elements.js.map +1 -0
  33. package/dist/esm/presentation/whiteboard/fileElement.d.ts +113 -0
  34. package/dist/esm/presentation/whiteboard/fileElement.d.ts.map +1 -0
  35. package/dist/esm/presentation/whiteboard/fileElement.js +430 -0
  36. package/dist/esm/presentation/whiteboard/fileElement.js.map +1 -0
  37. package/dist/esm/presentation/whiteboard/glyphs.d.ts +32 -0
  38. package/dist/esm/presentation/whiteboard/glyphs.d.ts.map +1 -0
  39. package/dist/esm/presentation/whiteboard/glyphs.js +50 -0
  40. package/dist/esm/presentation/whiteboard/glyphs.js.map +1 -0
  41. package/dist/esm/presentation/whiteboard/inspector.d.ts +100 -0
  42. package/dist/esm/presentation/whiteboard/inspector.d.ts.map +1 -0
  43. package/dist/esm/presentation/whiteboard/inspector.js +753 -0
  44. package/dist/esm/presentation/whiteboard/inspector.js.map +1 -0
  45. package/dist/esm/presentation/whiteboard/linkElement.d.ts +97 -0
  46. package/dist/esm/presentation/whiteboard/linkElement.d.ts.map +1 -0
  47. package/dist/esm/presentation/whiteboard/linkElement.js +327 -0
  48. package/dist/esm/presentation/whiteboard/linkElement.js.map +1 -0
  49. package/dist/esm/presentation/whiteboard/outline.d.ts +89 -0
  50. package/dist/esm/presentation/whiteboard/outline.d.ts.map +1 -0
  51. package/dist/esm/presentation/whiteboard/outline.js +870 -0
  52. package/dist/esm/presentation/whiteboard/outline.js.map +1 -0
  53. package/dist/esm/presentation/whiteboard/peopleMenu.d.ts +44 -0
  54. package/dist/esm/presentation/whiteboard/peopleMenu.d.ts.map +1 -0
  55. package/dist/esm/presentation/whiteboard/peopleMenu.js +440 -0
  56. package/dist/esm/presentation/whiteboard/peopleMenu.js.map +1 -0
  57. package/dist/esm/presentation/whiteboard/settingsMenu.d.ts +13 -0
  58. package/dist/esm/presentation/whiteboard/settingsMenu.d.ts.map +1 -0
  59. package/dist/esm/presentation/whiteboard/settingsMenu.js +155 -0
  60. package/dist/esm/presentation/whiteboard/settingsMenu.js.map +1 -0
  61. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkElement.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_elements","_Icons","_StackedCard","_Tooltip","_Typography","_content","_useInlineEdit","_stackedCardCover","_stackedCardHero","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","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CARD_MIN_WIDTH","exports","CARD_MAX_WIDTH","CARD_DRAW_THRESHOLD","clampCardWidth","width","Math","min","max","round","LINK_DEFAULT_WIDTH","isValidLinkUrl","test","trim","linkDomain","url","replace","split","LINK_PALETTE","linkColor","domain","offset","hash","index","charCodeAt","KNOWN_LINKS","MOCK_LINKS","vimeo","heroSrc","linkHeroPhoto","history","resolveMockLink","known","find","link","faviconColor","heroColor","linkCoverPhoto","title","concat","description","kind","playable","PRIVATE_HOST","isUnfurlable","LINK_DISPLAY","StyledLinkCard","styled","StackedCard","withConfig","displayName","componentId","StyledLinkEditArea","div","StyledLinkInput","input","_ref","$invalid","StyledLinkHint","Caption2","StyledShapePreview","SELECTION_BLUE","shapePreviewGlyph","tool","height","createElement","cx","cy","rx","ry","x","y","points","StyledLinkDraft","LinkFormattingToolbar","_ref2","onEditUrl","onDelete","StyledFormattingToolbar","onMouseDown","stopClick","onClick","StyledToolbarLink","href","target","rel","OpenExpandedIcon","className","StyledToolbarButton","type","InsertLinkIcon","Tooltip","TrashIcon","LinkPreviewCard","_ref3","_element$url","element","selected","resize","useMemo","unfurl","useUnfurl","delayMs","shouldFail","Fragment","resizable","resizeAxis","resizeLabel","LinkCard","display","LinkElement","_ref4","autoEdit","onCommitUrl","edit","useInlineEdit","validate","onCommit","begin","useEffect","editing","entered","draggable","inputMode","placeholder","error","role","color","style","textAlign","_element$url2","reset","LinkPlaceholder"],"sources":["../../../../src/presentation/whiteboard/linkElement.tsx"],"sourcesContent":["import React, { ReactElement, useEffect, useMemo } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { ShapeTool } from \"./bottomDock\";\nimport {\n SELECTION_BLUE,\n StyledFormattingToolbar,\n StyledToolbarButton,\n StyledToolbarLink,\n stopClick,\n} from \"./elements\";\nimport {\n InsertLinkIcon,\n OpenExpandedIcon,\n TrashIcon,\n} from \"../../components/Icons\";\nimport { IStackedCardProps, StackedCard } from \"../../components/StackedCard\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Caption2 } from \"../../components/Typography\";\nimport {\n LinkCard,\n LinkDisplay,\n LinkPlaceholder,\n MOCK_LINKS,\n MockLink,\n useUnfurl,\n} from \"../stackedCard/content\";\nimport { useInlineEdit } from \"../stackedCard/useInlineEdit\";\nimport linkCoverPhoto from \"../static/stacked-card-cover.png\";\nimport linkHeroPhoto from \"../static/stacked-card-hero.png\";\n\n/* ------------------------------------------------------------------ */\n/* Link element — StackedCard + the URL unfurl lifecycle */\n/* ------------------------------------------------------------------ */\n\n/**\n * The only canvas element here built on the shipped design-system\n * `StackedCard`. The shell is hollow, so the board supplies the visual state\n * (`selected`) and the width, and the content comes from `LinkCard` — which\n * renders the unfurl lifecycle, not a static layout.\n *\n * Link cards are AUTO-HEIGHT. The host sets the width; the height follows the\n * content. That is why drawing a box commits only its width, and why resizing\n * is width-only.\n */\n\n/* Width bounds shared by every drawn card (link, file). */\nexport const CARD_MIN_WIDTH = 180;\nexport const CARD_MAX_WIDTH = 420;\n\n/* Below this the drag reads as a click, not a drawn box. */\nexport const CARD_DRAW_THRESHOLD = 8;\n\nexport const clampCardWidth = (width: number): number =>\n Math.min(CARD_MAX_WIDTH, Math.max(CARD_MIN_WIDTH, Math.round(width)));\n\nexport const LINK_DEFAULT_WIDTH = 260;\n\n/* A shape check, nothing more. The real validation is server-side: the backend\n normalizes the URL, refuses anything but http(s), blocks private address\n space and re-checks every redirect hop. */\nexport const isValidLinkUrl = (value: string): boolean =>\n /^https?:\\/\\/[^\\s/?#]+\\.[^\\s]*$/i.test(value.trim());\n\n/* https://www.example.com/a?b → example.com */\nexport const linkDomain = (url: string): string =>\n url\n .trim()\n .replace(/^https?:\\/\\//i, \"\")\n .split(/[/?#]/)[0]\n .replace(/^www\\./i, \"\");\n\n/* Stand-in favicon / hero colours. A real unfurl stores the fetched favicon and\n OpenGraph image as attachments; here the colour is derived from the domain so\n every pasted host keeps a stable identity instead of sharing one colour. */\nexport const LINK_PALETTE = [\n \"#0F6E56\",\n \"#8C5A2B\",\n \"#2F5DA8\",\n \"#8A3E6B\",\n \"#3F6B25\",\n \"#A8452F\",\n];\n\nexport const linkColor = (domain: string, offset: number): string => {\n let hash = 0;\n for (let index = 0; index < domain.length; index += 1) {\n hash = (hash * 31 + domain.charCodeAt(index)) % 997;\n }\n\n return LINK_PALETTE[(hash + offset) % LINK_PALETTE.length];\n};\n\n/* Hand-written seeds for the hosts worth demoing. Vimeo resolves to a playable\n video with a real cover image; the history link deliberately resolves without\n one, so the colour-cover fallback (a link whose page carries no OpenGraph\n image) is on the board too. */\nexport const KNOWN_LINKS: MockLink[] = [\n { ...MOCK_LINKS.vimeo, heroSrc: linkHeroPhoto },\n { ...MOCK_LINKS.history },\n];\n\n/**\n * The fake \"server\" response for a URL — what `GET /link-previews/...` would\n * eventually hold. Known hosts get their seed; anything else resolves to a\n * generic article keyed off its own domain, so pasting an arbitrary link still\n * produces a believable card instead of an empty one.\n */\nexport const resolveMockLink = (url: string): MockLink => {\n const domain = linkDomain(url);\n const known = KNOWN_LINKS.find((link) => linkDomain(link.url) === domain);\n\n if (known) {\n return { ...known, url };\n }\n\n return {\n url,\n domain,\n faviconColor: linkColor(domain, 0),\n heroColor: linkColor(domain, 3),\n heroSrc: linkCoverPhoto,\n title: `${domain} — the title a real unfurl reads from og:title`,\n description:\n \"The summary an unfurl takes from og:description, falling back to the page's meta description when the site carries no OpenGraph tags.\",\n kind: \"Article\",\n playable: false,\n };\n};\n\n/* Private address space — the one class of URL that passes a shape check and\n still can never resolve, because the server refuses to fetch it (and re-checks\n every redirect hop). Pasting one of these is how the error rung of the ladder\n is reachable from the board. */\nexport const PRIVATE_HOST =\n /^(?:10|127|192\\.168|169\\.254|172\\.(?:1[6-9]|2\\d|3[01]))\\./;\n\nexport const isUnfurlable = (domain: string): boolean =>\n !PRIVATE_HOST.test(domain);\n\n/** A link element on the board. Position lives in the shared positions map. */\nexport interface LinkElementDef {\n id: string;\n width: number;\n /** null while the card is an empty placeholder waiting for a URL. */\n url: string | null;\n}\n\n/* On the canvas a link is always the expanded card — hero, then the tinted\n footer band with the domain, title and description. Compact is a column-view\n density, so the board pins the level and shows no display switch. */\nexport const LINK_DISPLAY: LinkDisplay = \"expanded\";\n\n/* The card fills the element box the board drew; the shell's reference 260px\n width gives way to the host. Height stays auto. */\nexport const StyledLinkCard = styled(StackedCard)`\n && {\n width: 100%;\n }\n\n user-select: none;\n`;\n\n/* The inline URL editor — the placeholder's interactive half. */\nexport const StyledLinkEditArea = styled.div`\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 16px 12px;\n`;\n\nexport const StyledLinkInput = styled.input<{ $invalid?: boolean }>`\n width: 100%;\n box-sizing: border-box;\n padding: 8px 10px;\n border: 1.5px solid\n ${({ $invalid }) =>\n $invalid ? \"var(--red-alert)\" : \"var(--sc-selection-ring)\"};\n border-radius: 6px;\n background: var(--page-paper-main);\n color: var(--color-theme-900);\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n font-size: 13px;\n text-align: center;\n outline: none;\n\n &::placeholder {\n color: var(--color-theme-500);\n }\n`;\n\nexport const StyledLinkHint = styled(Caption2)`\n display: block;\n text-align: center;\n color: var(--red-alert);\n`;\n\n/* The dashed rubber band drawn while the Link tool is armed. The width readout\n is the honest signal: the box sets the card's width, the height is the\n card's own business. */\n/* The outline the app's ShapePreview draws — stroke only, the selection blue,\n at 70% — used both for the shape rubber band and the hover preview. */\nexport const StyledShapePreview = styled.div`\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n\n svg {\n display: block;\n overflow: visible;\n fill: none;\n stroke: ${SELECTION_BLUE};\n stroke-width: 2;\n opacity: 0.7;\n }\n`;\n\nexport const shapePreviewGlyph = (\n tool: ShapeTool,\n width: number,\n height: number\n): ReactElement => (\n <svg width=\"100%\" height=\"100%\">\n {tool === \"circle\" ? <ellipse cx=\"50%\" cy=\"50%\" rx=\"50%\" ry=\"50%\" /> : null}\n {tool === \"roundedRectangle\" ? (\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" rx={8} ry={8} />\n ) : null}\n {tool === \"triangle\" ? (\n <polygon points={`${width / 2},0 ${width},${height} 0,${height}`} />\n ) : null}\n </svg>\n);\n\nexport const StyledLinkDraft = styled.div`\n position: absolute;\n box-sizing: border-box;\n border: 1.5px dashed ${SELECTION_BLUE};\n border-radius: 8px;\n background-color: rgba(59, 130, 246, 0.08);\n pointer-events: none;\n /* No z-index on purpose: the canvas layer is not a stacking context, so a\n lifted draft would paint over the floating bars and the dock. */\n\n .draft-width {\n position: absolute;\n top: -22px;\n left: 0;\n padding: 1px 6px;\n border-radius: 4px;\n background-color: ${SELECTION_BLUE};\n color: #ffffff;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 11px;\n white-space: nowrap;\n }\n`;\n\nexport interface LinkFormattingToolbarProps {\n url: string;\n onEditUrl: () => void;\n onDelete: () => void;\n}\n\n/* The link element's floating toolbar. It acts on the ENTITY: go to the page,\n change which page, or bin the card. */\nexport const LinkFormattingToolbar = ({\n url,\n onEditUrl,\n onDelete,\n}: LinkFormattingToolbarProps): ReactElement => (\n <StyledFormattingToolbar onMouseDown={stopClick} onClick={stopClick}>\n {/* Visit is a real anchor, not a button with a click handler: an external\n destination should behave like a link (middle-click, copy address,\n open in background) and `noopener` is the safe default for _blank. */}\n <StyledToolbarLink href={url} target=\"_blank\" rel=\"noopener noreferrer\">\n <OpenExpandedIcon className=\"i16\" />\n Visit\n </StyledToolbarLink>\n <StyledToolbarButton type=\"button\" onClick={onEditUrl}>\n <InsertLinkIcon className=\"i16\" />\n Edit\n </StyledToolbarButton>\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\n/**\n * The card's three resize callbacks, handed down untouched from the board. The\n * grip reports deltas measured from the gesture START and brackets the stream\n * with a start and a commit, so a card is only a conduit — the board resolves\n * what a delta means.\n */\nexport type CardResizeHandlers = Pick<\n IStackedCardProps,\n \"onResizeStart\" | \"onResizeDelta\" | \"onResizeCommit\"\n>;\n\nexport interface LinkPreviewCardProps {\n element: LinkElementDef;\n selected: boolean;\n resize: CardResizeHandlers;\n onEditUrl: () => void;\n onDelete: () => void;\n}\n\n/**\n * A link element with a committed URL: the card runs the unfurl lifecycle.\n *\n * One controller per card, and the seed is memoized on the URL so the board's\n * own re-renders (drag, selection, a grid change) never restart the ladder.\n */\nexport const LinkPreviewCard = ({\n element,\n selected,\n resize,\n onEditUrl,\n onDelete,\n}: LinkPreviewCardProps): ReactElement => {\n const url = element.url ?? \"\";\n const link = useMemo(() => resolveMockLink(url), [url]);\n const unfurl = useUnfurl({\n link,\n delayMs: 700,\n shouldFail: !isUnfurlable(link.domain),\n });\n\n return (\n <>\n <StyledLinkCard\n selected={selected}\n resizable={selected}\n resizeAxis=\"width\"\n resizeLabel=\"Resize link card\"\n {...resize}\n >\n <LinkCard unfurl={unfurl} display={LINK_DISPLAY} />\n </StyledLinkCard>\n {selected ? (\n <LinkFormattingToolbar\n url={url}\n onEditUrl={onEditUrl}\n onDelete={onDelete}\n />\n ) : null}\n </>\n );\n};\n\nexport interface LinkElementProps {\n element: LinkElementDef;\n selected: boolean;\n /** Open the editor as soon as a freshly drawn placeholder lands. */\n autoEdit: boolean;\n onCommitUrl: (url: string) => void;\n resize: CardResizeHandlers;\n onDelete: () => void;\n}\n\n/**\n * The three phases of a link element:\n *\n * placeholder drawn but empty — an interactive invitation, distinct from the\n * loading skeleton (spec §5)\n * editing the inline URL field, with the shell's `entered` ring and drag\n * switched off\n * preview a URL is committed; the unfurl lifecycle takes over\n */\nexport const LinkElement = ({\n element,\n selected,\n autoEdit,\n onCommitUrl,\n resize,\n onDelete,\n}: LinkElementProps): ReactElement => {\n const edit = useInlineEdit({\n validate: (value) =>\n isValidLinkUrl(value) ? true : \"Enter a valid link, e.g. https://…\",\n onCommit: (value) => onCommitUrl(value.trim()),\n });\n\n const { begin } = edit;\n\n // A box drawn with the Link tool is a request to add a link, so the editor\n // opens straight away; the placeholder is what a cancelled edit falls back to.\n useEffect(() => {\n if (autoEdit) {\n begin();\n }\n }, [autoEdit, begin]);\n\n /* Editing wins over the preview, so the same editor serves the first fill and\n every later correction: \"Edit link\" seeds the field with the current URL\n and Esc drops back to the card that was already there. */\n if (edit.editing) {\n return (\n <StyledLinkCard entered draggable={false} aria-label=\"Add a link\">\n <StyledLinkEditArea>\n <StyledLinkInput\n {...edit.bind}\n type=\"text\"\n inputMode=\"url\"\n placeholder=\"https://…\"\n $invalid={edit.error != null}\n />\n {edit.error ? (\n <StyledLinkHint role=\"alert\">{edit.error}</StyledLinkHint>\n ) : (\n <Caption2 color=\"tertiary\" style={{ textAlign: \"center\" }}>\n Enter to add · Esc to cancel\n </Caption2>\n )}\n </StyledLinkEditArea>\n </StyledLinkCard>\n );\n }\n\n if (element.url != null) {\n return (\n <LinkPreviewCard\n element={element}\n selected={selected}\n resize={resize}\n onEditUrl={() => {\n edit.reset(element.url ?? \"\");\n edit.begin();\n }}\n onDelete={onDelete}\n />\n );\n }\n\n return (\n <>\n <StyledLinkCard selected={selected} aria-label=\"Empty link card\">\n {/* Fills the card, so it has to be draggable as well as clickable. */}\n <LinkPlaceholder data-drag-through=\"\" onClick={edit.begin} />\n </StyledLinkCard>\n {/* Nothing to visit yet, so the empty card offers only the two options\n that mean anything: give it a URL, or bin it. */}\n {selected ? (\n <StyledFormattingToolbar onMouseDown={stopClick} onClick={stopClick}>\n <StyledToolbarButton type=\"button\" onClick={edit.begin}>\n <InsertLinkIcon className=\"i16\" />\n Edit\n </StyledToolbarButton>\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 ) : null}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}