@activecollab/components 2.0.408 → 2.0.410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/BreakPoints.js +12 -1
- package/dist/cjs/components/BreakPoints.js.map +1 -1
- package/dist/cjs/components/Columns/Columns.js +42 -0
- package/dist/cjs/components/Columns/Columns.js.map +1 -0
- package/dist/cjs/components/Columns/Styles.js +25 -0
- package/dist/cjs/components/Columns/Styles.js.map +1 -0
- package/dist/cjs/components/Columns/index.js +17 -0
- package/dist/cjs/components/Columns/index.js.map +1 -0
- package/dist/cjs/components/Icons/collection/Project.js +98 -0
- package/dist/cjs/components/Icons/collection/Project.js.map +1 -0
- package/dist/cjs/components/Icons/collection/Task.js +61 -0
- package/dist/cjs/components/Icons/collection/Task.js.map +1 -0
- package/dist/cjs/components/Icons/collection/index.js +14 -0
- package/dist/cjs/components/Icons/collection/index.js.map +1 -1
- package/dist/cjs/components/LayoutTokens.js +21 -0
- package/dist/cjs/components/LayoutTokens.js.map +1 -0
- package/dist/cjs/components/Media/Media.js +39 -0
- package/dist/cjs/components/Media/Media.js.map +1 -0
- package/dist/cjs/components/Media/Styles.js +18 -0
- package/dist/cjs/components/Media/Styles.js.map +1 -0
- package/dist/cjs/components/Media/index.js +17 -0
- package/dist/cjs/components/Media/index.js.map +1 -0
- package/dist/cjs/components/PortableText/PortableText.js +125 -0
- package/dist/cjs/components/PortableText/PortableText.js.map +1 -0
- package/dist/cjs/components/PortableText/Styles.js +33 -0
- package/dist/cjs/components/PortableText/Styles.js.map +1 -0
- package/dist/cjs/components/PortableText/index.js +39 -0
- package/dist/cjs/components/PortableText/index.js.map +1 -0
- package/dist/cjs/components/PortableText/renderers.js +116 -0
- package/dist/cjs/components/PortableText/renderers.js.map +1 -0
- package/dist/cjs/components/PortableText/types.js +122 -0
- package/dist/cjs/components/PortableText/types.js.map +1 -0
- package/dist/cjs/components/PortableText/types.test.js +183 -0
- package/dist/cjs/components/PortableText/types.test.js.map +1 -0
- package/dist/cjs/components/Row/Row.js +30 -0
- package/dist/cjs/components/Row/Row.js.map +1 -0
- package/dist/cjs/components/Row/Styles.js +25 -0
- package/dist/cjs/components/Row/Styles.js.map +1 -0
- package/dist/cjs/components/Row/index.js +17 -0
- package/dist/cjs/components/Row/index.js.map +1 -0
- package/dist/cjs/components/Stack/Stack.js +27 -0
- package/dist/cjs/components/Stack/Stack.js.map +1 -0
- package/dist/cjs/components/Stack/Styles.js +21 -0
- package/dist/cjs/components/Stack/Styles.js.map +1 -0
- package/dist/cjs/components/Stack/index.js +17 -0
- package/dist/cjs/components/Stack/index.js.map +1 -0
- package/dist/cjs/components/Tiles/Styles.js +25 -0
- package/dist/cjs/components/Tiles/Styles.js.map +1 -0
- package/dist/cjs/components/Tiles/Tiles.js +29 -0
- package/dist/cjs/components/Tiles/Tiles.js.map +1 -0
- package/dist/cjs/components/Tiles/index.js +17 -0
- package/dist/cjs/components/Tiles/index.js.map +1 -0
- package/dist/cjs/components/TitledText/Styles.js +15 -0
- package/dist/cjs/components/TitledText/Styles.js.map +1 -0
- package/dist/cjs/components/TitledText/TitledText.js +50 -0
- package/dist/cjs/components/TitledText/TitledText.js.map +1 -0
- package/dist/cjs/components/TitledText/index.js +17 -0
- package/dist/cjs/components/TitledText/index.js.map +1 -0
- package/dist/cjs/components/index.js +88 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/presentation/shared/MessageDialog.js +351 -0
- package/dist/cjs/presentation/shared/MessageDialog.js.map +1 -0
- package/dist/cjs/presentation/shared/index.js +22 -0
- package/dist/cjs/presentation/shared/index.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/NoteCard.js +7 -3
- package/dist/cjs/presentation/stackedCard/content/NoteCard.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/ProjectCard.js +136 -0
- package/dist/cjs/presentation/stackedCard/content/ProjectCard.js.map +1 -0
- package/dist/cjs/presentation/stackedCard/content/TaskCard.js +183 -56
- package/dist/cjs/presentation/stackedCard/content/TaskCard.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/index.js +11 -0
- package/dist/cjs/presentation/stackedCard/content/index.js.map +1 -1
- package/dist/cjs/presentation/stackedCard/content/shared.js +66 -19
- package/dist/cjs/presentation/stackedCard/content/shared.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/bottomDock.js +95 -32
- package/dist/cjs/presentation/whiteboard/bottomDock.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/canvasElements.js +196 -8
- package/dist/cjs/presentation/whiteboard/canvasElements.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/inspector.js +149 -47
- package/dist/cjs/presentation/whiteboard/inspector.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/outline.js +91 -18
- package/dist/cjs/presentation/whiteboard/outline.js.map +1 -1
- package/dist/cjs/presentation/whiteboard/projectElements.js +883 -0
- package/dist/cjs/presentation/whiteboard/projectElements.js.map +1 -0
- package/dist/esm/components/BreakPoints.d.ts +2 -0
- package/dist/esm/components/BreakPoints.d.ts.map +1 -1
- package/dist/esm/components/BreakPoints.js +9 -0
- package/dist/esm/components/BreakPoints.js.map +1 -1
- package/dist/esm/components/Columns/Columns.d.ts +11 -0
- package/dist/esm/components/Columns/Columns.d.ts.map +1 -0
- package/dist/esm/components/Columns/Columns.js +34 -0
- package/dist/esm/components/Columns/Columns.js.map +1 -0
- package/dist/esm/components/Columns/Styles.d.ts +8 -0
- package/dist/esm/components/Columns/Styles.d.ts.map +1 -0
- package/dist/esm/components/Columns/Styles.js +18 -0
- package/dist/esm/components/Columns/Styles.js.map +1 -0
- package/dist/esm/components/Columns/index.d.ts +2 -0
- package/dist/esm/components/Columns/index.d.ts.map +1 -0
- package/dist/esm/components/Columns/index.js +2 -0
- package/dist/esm/components/Columns/index.js.map +1 -0
- package/dist/esm/components/Icons/collection/Project.d.ts +36 -0
- package/dist/esm/components/Icons/collection/Project.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/Project.js +91 -0
- package/dist/esm/components/Icons/collection/Project.js.map +1 -0
- package/dist/esm/components/Icons/collection/Task.d.ts +32 -0
- package/dist/esm/components/Icons/collection/Task.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/Task.js +54 -0
- package/dist/esm/components/Icons/collection/Task.js.map +1 -0
- package/dist/esm/components/Icons/collection/index.d.ts +2 -0
- package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
- package/dist/esm/components/Icons/collection/index.js +2 -0
- package/dist/esm/components/Icons/collection/index.js.map +1 -1
- package/dist/esm/components/LayoutTokens.d.ts +6 -0
- package/dist/esm/components/LayoutTokens.d.ts.map +1 -0
- package/dist/esm/components/LayoutTokens.js +15 -0
- package/dist/esm/components/LayoutTokens.js.map +1 -0
- package/dist/esm/components/Media/Media.d.ts +10 -0
- package/dist/esm/components/Media/Media.d.ts.map +1 -0
- package/dist/esm/components/Media/Media.js +31 -0
- package/dist/esm/components/Media/Media.js.map +1 -0
- package/dist/esm/components/Media/Styles.d.ts +4 -0
- package/dist/esm/components/Media/Styles.d.ts.map +1 -0
- package/dist/esm/components/Media/Styles.js +11 -0
- package/dist/esm/components/Media/Styles.js.map +1 -0
- package/dist/esm/components/Media/index.d.ts +2 -0
- package/dist/esm/components/Media/index.d.ts.map +1 -0
- package/dist/esm/components/Media/index.js +2 -0
- package/dist/esm/components/Media/index.js.map +1 -0
- package/dist/esm/components/PortableText/PortableText.d.ts +24 -0
- package/dist/esm/components/PortableText/PortableText.d.ts.map +1 -0
- package/dist/esm/components/PortableText/PortableText.js +111 -0
- package/dist/esm/components/PortableText/PortableText.js.map +1 -0
- package/dist/esm/components/PortableText/Styles.d.ts +9 -0
- package/dist/esm/components/PortableText/Styles.d.ts.map +1 -0
- package/dist/esm/components/PortableText/Styles.js +27 -0
- package/dist/esm/components/PortableText/Styles.js.map +1 -0
- package/dist/esm/components/PortableText/index.d.ts +4 -0
- package/dist/esm/components/PortableText/index.d.ts.map +1 -0
- package/dist/esm/components/PortableText/index.js +4 -0
- package/dist/esm/components/PortableText/index.js.map +1 -0
- package/dist/esm/components/PortableText/renderers.d.ts +9 -0
- package/dist/esm/components/PortableText/renderers.d.ts.map +1 -0
- package/dist/esm/components/PortableText/renderers.js +110 -0
- package/dist/esm/components/PortableText/renderers.js.map +1 -0
- package/dist/esm/components/PortableText/types.d.ts +141 -0
- package/dist/esm/components/PortableText/types.d.ts.map +1 -0
- package/dist/esm/components/PortableText/types.js +106 -0
- package/dist/esm/components/PortableText/types.js.map +1 -0
- package/dist/esm/components/PortableText/types.test.d.ts +2 -0
- package/dist/esm/components/PortableText/types.test.d.ts.map +1 -0
- package/dist/esm/components/PortableText/types.test.js +181 -0
- package/dist/esm/components/PortableText/types.test.js.map +1 -0
- package/dist/esm/components/Row/Row.d.ts +10 -0
- package/dist/esm/components/Row/Row.d.ts.map +1 -0
- package/dist/esm/components/Row/Row.js +22 -0
- package/dist/esm/components/Row/Row.js.map +1 -0
- package/dist/esm/components/Row/Styles.d.ts +8 -0
- package/dist/esm/components/Row/Styles.d.ts.map +1 -0
- package/dist/esm/components/Row/Styles.js +18 -0
- package/dist/esm/components/Row/Styles.js.map +1 -0
- package/dist/esm/components/Row/index.d.ts +2 -0
- package/dist/esm/components/Row/index.d.ts.map +1 -0
- package/dist/esm/components/Row/index.js +2 -0
- package/dist/esm/components/Row/index.js.map +1 -0
- package/dist/esm/components/Stack/Stack.d.ts +8 -0
- package/dist/esm/components/Stack/Stack.d.ts.map +1 -0
- package/dist/esm/components/Stack/Stack.js +19 -0
- package/dist/esm/components/Stack/Stack.js.map +1 -0
- package/dist/esm/components/Stack/Styles.d.ts +6 -0
- package/dist/esm/components/Stack/Styles.d.ts.map +1 -0
- package/dist/esm/components/Stack/Styles.js +14 -0
- package/dist/esm/components/Stack/Styles.js.map +1 -0
- package/dist/esm/components/Stack/index.d.ts +2 -0
- package/dist/esm/components/Stack/index.d.ts.map +1 -0
- package/dist/esm/components/Stack/index.js +2 -0
- package/dist/esm/components/Stack/index.js.map +1 -0
- package/dist/esm/components/Tiles/Styles.d.ts +8 -0
- package/dist/esm/components/Tiles/Styles.d.ts.map +1 -0
- package/dist/esm/components/Tiles/Styles.js +18 -0
- package/dist/esm/components/Tiles/Styles.js.map +1 -0
- package/dist/esm/components/Tiles/Tiles.d.ts +10 -0
- package/dist/esm/components/Tiles/Tiles.d.ts.map +1 -0
- package/dist/esm/components/Tiles/Tiles.js +21 -0
- package/dist/esm/components/Tiles/Tiles.js.map +1 -0
- package/dist/esm/components/Tiles/index.d.ts +2 -0
- package/dist/esm/components/Tiles/index.d.ts.map +1 -0
- package/dist/esm/components/Tiles/index.js +2 -0
- package/dist/esm/components/Tiles/index.js.map +1 -0
- package/dist/esm/components/TitledText/Styles.d.ts +2 -0
- package/dist/esm/components/TitledText/Styles.d.ts.map +1 -0
- package/dist/esm/components/TitledText/Styles.js +8 -0
- package/dist/esm/components/TitledText/Styles.js.map +1 -0
- package/dist/esm/components/TitledText/TitledText.d.ts +18 -0
- package/dist/esm/components/TitledText/TitledText.d.ts.map +1 -0
- package/dist/esm/components/TitledText/TitledText.js +43 -0
- package/dist/esm/components/TitledText/TitledText.js.map +1 -0
- package/dist/esm/components/TitledText/index.d.ts +2 -0
- package/dist/esm/components/TitledText/index.d.ts.map +1 -0
- package/dist/esm/components/TitledText/index.js +2 -0
- package/dist/esm/components/TitledText/index.js.map +1 -0
- package/dist/esm/components/index.d.ts +8 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +8 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/presentation/shared/MessageDialog.d.ts +35 -0
- package/dist/esm/presentation/shared/MessageDialog.d.ts.map +1 -0
- package/dist/esm/presentation/shared/MessageDialog.js +331 -0
- package/dist/esm/presentation/shared/MessageDialog.js.map +1 -0
- package/dist/esm/presentation/shared/index.d.ts +2 -0
- package/dist/esm/presentation/shared/index.d.ts.map +1 -1
- package/dist/esm/presentation/shared/index.js +1 -0
- package/dist/esm/presentation/shared/index.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/NoteCard.d.ts +8 -1
- package/dist/esm/presentation/stackedCard/content/NoteCard.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/NoteCard.js +8 -4
- package/dist/esm/presentation/stackedCard/content/NoteCard.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/ProjectCard.d.ts +64 -0
- package/dist/esm/presentation/stackedCard/content/ProjectCard.d.ts.map +1 -0
- package/dist/esm/presentation/stackedCard/content/ProjectCard.js +128 -0
- package/dist/esm/presentation/stackedCard/content/ProjectCard.js.map +1 -0
- package/dist/esm/presentation/stackedCard/content/TaskCard.d.ts +64 -2
- package/dist/esm/presentation/stackedCard/content/TaskCard.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/TaskCard.js +181 -58
- package/dist/esm/presentation/stackedCard/content/TaskCard.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/index.d.ts +1 -0
- package/dist/esm/presentation/stackedCard/content/index.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/index.js +1 -0
- package/dist/esm/presentation/stackedCard/content/index.js.map +1 -1
- package/dist/esm/presentation/stackedCard/content/shared.d.ts +30 -0
- package/dist/esm/presentation/stackedCard/content/shared.d.ts.map +1 -1
- package/dist/esm/presentation/stackedCard/content/shared.js +66 -19
- package/dist/esm/presentation/stackedCard/content/shared.js.map +1 -1
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts +30 -7
- package/dist/esm/presentation/whiteboard/bottomDock.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/bottomDock.js +79 -32
- package/dist/esm/presentation/whiteboard/bottomDock.js.map +1 -1
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts +4 -1
- package/dist/esm/presentation/whiteboard/canvasElements.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/canvasElements.js +158 -7
- package/dist/esm/presentation/whiteboard/canvasElements.js.map +1 -1
- package/dist/esm/presentation/whiteboard/inspector.d.ts +35 -1
- package/dist/esm/presentation/whiteboard/inspector.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/inspector.js +170 -68
- package/dist/esm/presentation/whiteboard/inspector.js.map +1 -1
- package/dist/esm/presentation/whiteboard/outline.d.ts +23 -3
- package/dist/esm/presentation/whiteboard/outline.d.ts.map +1 -1
- package/dist/esm/presentation/whiteboard/outline.js +89 -18
- package/dist/esm/presentation/whiteboard/outline.js.map +1 -1
- package/dist/esm/presentation/whiteboard/projectElements.d.ts +267 -0
- package/dist/esm/presentation/whiteboard/projectElements.d.ts.map +1 -0
- package/dist/esm/presentation/whiteboard/projectElements.js +824 -0
- package/dist/esm/presentation/whiteboard/projectElements.js.map +1 -0
- package/dist/index.js +1490 -738
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_elements","_fileElement","_outline","_Checkbox","_ChooseV","_Dot","_EditableText","_IconButton","_Icons","_Input","_Label","_Select","_SelectTrigger","_Tooltip","_Typography","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","elementTraits","exports","def","kind","geometry","fill","fillTransparent","stroke","text","autoHeight","TYPE_LABEL","rectangle","roundedRectangle","circle","triangle","sameColor","b","toLowerCase","StyledInspectorSidebar","styled","aside","withConfig","displayName","componentId","StyledInspectorResizer","div","StyledInspectorBody","StyledPropGroups","StyledInspectorHeader","StyledInspectorEmpty","StyledPropGroup","StyledPropRow","StyledFieldGrid","StyledControl","StyledCheckboxRow","StyledBody","StyledAutoField","StyledSegmented","NumberField","_ref","label","min","unit","onCommit","createElement","Label","size","weight","InputNumber","className","decimalLength","update","endAdornment","InputAdornment","disablePointerEvents","Caption1","color","undefined","onChange","isNaN","Math","round","AutoField","_ref2","OptionSelect","_ref3","options","triggerLabel","Select","type","disableSearch","forceCloseMenu","selected","target","SelectTrigger","TRANSPARENT_OPTION","id","textColor","colorName","hex","match","COLOR_OPTIONS","find","option","ColorPickerField","_ref4","disabled","includeTransparent","onSelect","isTransparent","CircleSlashIcon","width","height","Dot","RightInspector","_ref5","_sizes$def$id","_positions$def$id","_rotations$def$id","_names$def$id","_shape$align","_BORDER_STYLE_OPTIONS","_BORDER_STYLE_OPTIONS2","selectedId","positions","setPositions","sizes","setSizes","rotations","setRotations","shapes","setShapes","stickyStyle","setStickyStyle","links","setLinks","files","setFiles","createdShapes","locks","setLocks","_useState","useState","OUTLINE_WIDTH","_useState2","setWidth","_useState3","_useState4","resizing","setResizing","_useState5","_useState6","names","setNames","_useState7","_useState8","tab","setTab","startResize","useCallback","event","_event$currentTarget$","_event$currentTarget$2","preventDefault","startX","clientX","startWidth","currentTarget","parentElement","offsetWidth","previousUserSelect","document","body","style","userSelect","cursor","handleMove","moveEvent","OUTLINE_MAX_WIDTH","max","OUTLINE_MIN_WIDTH","handleUp","window","removeEventListener","addEventListener","CANVAS_ELEMENTS","element","linkDef","link","fileDef","file","shell","content","onMouseDown","role","renderBody","_ELEMENT_BODIES$id","html","ELEMENT_BODIES","dangerouslySetInnerHTML","__html","renderLocked","_locks$id","Checkbox","concat","checked","current","_current$id","htmlFor","renderCardGeometry","cardWidth","onWidth","_positions$id","cardPosition","x","y","Body2","_current$id2","_current$id3","renderInspectorBody","icon","headerName","groups","EditableText","variant","onSave","inputProps","maxLength","StyledChooseRow","StyledPanelChooseSlot","ChooseV2","required","_names$linkDef$id","_linkDef$url","InsertLinkIcon","url","Fragment","Input","placeholder","map","_names$fileDef$id","AttachmentIcon","base","extension","formatFileSize","traits","shape","position","rotation","typeLabel","updateShape","partial","currentFill","currentFillOpacity","fillOpacity","setFill","setFillOpacity","currentFontSize","fontSize","currentAlign","align","setFontSize","setAlign","styleFlags","toggleStyle","key","SHAPE_TYPE_ICON","NoteIcon","shapeType","autoWidth","_current$def$id$heigh","_current$def$id","_current$def$id$width","_current$def$id2","OPACITY_OPTIONS","opacity","BORDER_STYLE_OPTIONS","strokeDash","_BORDER_STYLE_OPTIONS3","THICKNESS_OPTIONS","thickness","strokeWidth","RADIUS_OPTIONS","radius","borderRadius","strokeOpacity","STYLE_OPTIONS","Tooltip","title","IconButton","active","onClick","FONT_SIZE_OPTIONS","ALIGN_OPTIONS"],"sources":["../../../../src/presentation/whiteboard/inspector.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode, useCallback, useState } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport {\n BORDER_STYLE_OPTIONS,\n CANVAS_ELEMENTS,\n COLOR_OPTIONS,\n CanvasElementDef,\n ELEMENT_BODIES,\n FONT_SIZE_OPTIONS,\n OPACITY_OPTIONS,\n RADIUS_OPTIONS,\n SHAPE_TYPE_ICON,\n ShapeElementState,\n ShapeType,\n StickyTextStyle,\n THICKNESS_OPTIONS,\n TextAlign,\n ALIGN_OPTIONS,\n STYLE_OPTIONS,\n TextStyleKey,\n} from \"./elements\";\nimport { FileElementDef, formatFileSize } from \"./fileElement\";\nimport { LinkElementDef } from \"./linkElement\";\nimport {\n OUTLINE_MAX_WIDTH,\n OUTLINE_MIN_WIDTH,\n OUTLINE_WIDTH,\n StyledChooseRow,\n StyledPanelChooseSlot,\n} from \"./outline\";\nimport { Checkbox } from \"../../components/Checkbox\";\nimport { ChooseV2 } from \"../../components/ChooseV2\";\nimport { Dot } from \"../../components/Dot\";\nimport { EditableText } from \"../../components/EditableText\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n AttachmentIcon,\n CircleSlashIcon,\n InsertLinkIcon,\n NoteIcon,\n} from \"../../components/Icons\";\nimport { Input, InputAdornment, InputNumber } from \"../../components/Input\";\nimport { Label } from \"../../components/Label\";\nimport { Select } from \"../../components/Select\";\nimport { SelectTrigger } from \"../../components/SelectTrigger\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2, Caption1 } from \"../../components/Typography\";\n\n/* ------------------------------------------------------------------ */\n/* Right Inspector — selected-element properties panel */\n/* ------------------------------------------------------------------ */\n\n/* Which right-docked panel is open. Only \"inspector\" is built here; \"comments\"\n is reserved for the next iteration. */\nexport type RightPanel = \"inspector\" | \"comments\" | null;\n\n/* ── Inspector capability traits ──────────────────────────────────────────\n The Inspector is TRAIT-DRIVEN: a selected element declares which property\n groups it supports, and only those groups render. This is the \"interface\n with implementation traits\" model — the interface is the full set of groups,\n and each element kind overrides the flags it does not support (a sticky has\n no stroke, and its height is auto because the note grows with its content).\n New element kinds slot in by returning their own trait set. */\nexport interface ElementTraits {\n geometry: boolean;\n fill: boolean;\n /* Whether this element's fill may be Transparent. Distinct from `fill`: a\n sticky HAS a fill group but must not be transparent (its colour is its\n defining property), whereas an outline-only shape is valid. Mirrors the\n app's `fillTransparent` trait. */\n fillTransparent?: boolean;\n stroke: boolean;\n text: boolean;\n autoWidth?: boolean;\n autoHeight?: boolean;\n}\n\nexport const elementTraits = (def: CanvasElementDef): ElementTraits =>\n def.kind === \"sticky\"\n ? {\n geometry: true,\n fill: true,\n fillTransparent: false,\n stroke: false,\n text: true,\n autoHeight: true,\n }\n : {\n geometry: true,\n fill: true,\n fillTransparent: true,\n stroke: true,\n text: true,\n };\n\nexport const TYPE_LABEL: Record<ShapeType, string> = {\n rectangle: \"Rectangle\",\n roundedRectangle: \"Rounded Rectangle\",\n circle: \"Circle\",\n triangle: \"Triangle\",\n};\n\nexport const sameColor = (a: string | undefined, b: string): boolean =>\n (a ?? \"\").toLowerCase() === b.toLowerCase();\n\n/* Right dock — mirrors StyledOutlineSidebar but docked on the RIGHT: border on\n the left edge, resizer on the left edge. Same 260–780 width band. */\nexport const StyledInspectorSidebar = styled.aside`\n flex-shrink: 0;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--selectable);\n background-color: var(--page-paper-main);\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n`;\n\n/* Grab strip on the LEFT edge, because the panel is docked right — dragging it\n left widens. Same token pair as the outline resizer: selectable grey at\n rest, the hover token while grabbed. */\nexport const StyledInspectorResizer = styled.div`\n position: absolute;\n top: 0;\n bottom: 0;\n left: -2px;\n width: 5px;\n cursor: col-resize;\n z-index: 2;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 2px;\n width: 1px;\n background-color: var(--selectable-active);\n opacity: 0;\n transition: opacity 150ms ease;\n }\n\n &:hover::after,\n &.resizing::after {\n opacity: 1;\n }\n`;\n\nexport const StyledInspectorBody = styled.div`\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n`;\n\n/* Wraps the property groups. The Properties/Comments switch above does the\n separating, so the first group drops its top hairline — no divider directly\n under the header, matching the left sidebar. Inner groups keep separators. */\nexport const StyledPropGroups = styled.div`\n display: flex;\n flex-direction: column;\n\n > div:first-child {\n border-top: none;\n }\n`;\n\nexport const StyledInspectorHeader = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n height: 56px;\n padding: 0 16px;\n box-sizing: border-box;\n flex-shrink: 0;\n\n /* Icon in a fixed, centred box (like the outline's type icon and the sidebar\n header) so it lines up with the live EditableText's text rather than the\n taller input box. */\n .inspector-type-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n color: var(--color-theme-700);\n }\n\n .inspector-type-icon svg {\n width: 20px;\n height: 20px;\n }\n\n .inspector-name {\n flex: 1;\n min-width: 0;\n }\n`;\n\n/* Empty state — same muted treatment the outline uses for unnamed rows. */\nexport const StyledInspectorEmpty = styled.div`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n text-align: center;\n color: var(--color-theme-600);\n`;\n\n/* Non-collapsible section: bold title, no chevron / drag handle, separated from\n the section above by a hairline. */\nexport const StyledPropGroup = styled.div`\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px;\n border-top: 1px solid var(--border-primary);\n\n .group-title {\n color: var(--color-theme-800);\n }\n`;\n\nexport const StyledPropRow = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4px;\n`;\n\nexport const StyledFieldGrid = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n`;\n\n/* InputNumber's wrapper is a fixed 360px and SelectTrigger a fixed 300px — both\n overflow the narrow dock, so force every inspector control to fill its cell. */\nexport const StyledControl = styled.div`\n width: 100%;\n\n &.disabled {\n opacity: 0.4;\n pointer-events: none;\n }\n\n .c-input-wrapper {\n width: 100%;\n }\n\n .wb-inspector-trigger {\n width: 100%;\n }\n\n .wb-color-value {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* A transparent fill has no colour to show, so it renders the design-system\n CircleSlashIcon (a ring with a 45° slash) instead of an invisible dot. */\n .wb-color-value .wb-transparent-swatch {\n flex: none;\n color: var(--color-theme-500);\n }\n`;\n\n/* Locked checkbox row — the DS Checkbox renders only the box, so it is paired\n with a Label the way the design system expects. */\nexport const StyledCheckboxRow = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\n/* The element body is HTML (the API's `body` field). The Inspector renders it\n formatted and read-only for now — editing comes later. Raw text needs an\n explicit font-family (no global reset), and the child tags get light prose\n styling. */\nexport const StyledBody = styled.div`\n width: 100%;\n /* Collapsed to a reasonable height; a long body scrolls inside the field. */\n max-height: 140px;\n overflow-y: auto;\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n font-size: 13px;\n line-height: 1.5;\n color: var(--color-theme-800);\n\n p {\n margin: 0 0 8px;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin: 0 0 8px;\n padding-left: 18px;\n }\n\n li {\n margin: 2px 0;\n }\n\n strong {\n font-weight: 600;\n }\n\n em {\n font-style: italic;\n }\n\n a {\n color: var(--color-primary);\n }\n`;\n\n/* Read-only \"Auto\" field for an auto-sized dimension (a sticky's height). */\nexport const StyledAutoField = styled.div`\n height: 32px;\n display: flex;\n align-items: center;\n padding: 0 8px;\n box-sizing: border-box;\n border: 1px solid var(--color-theme-400);\n border-radius: var(--ac-br-8);\n background-color: var(--color-theme-200);\n color: var(--color-theme-600);\n font-size: 13px;\n`;\n\nexport const StyledSegmented = styled.div`\n display: flex;\n gap: 4px;\n\n /* Icon segments (text alignment): size the glyph and center it in the cell so\n each Choose reads as an equal-width icon button. */\n svg {\n display: block;\n width: 16px;\n height: 16px;\n }\n`;\n\nexport interface NumberFieldProps {\n label: string;\n value: number;\n min?: number;\n /* Unit shown as a right adornment inside the field (px, °), the same way\n InputCurrency shows the currency code. */\n unit?: string;\n onCommit: (value: number) => void;\n}\n\nexport const NumberField = ({\n label,\n value,\n min,\n unit,\n onCommit,\n}: NumberFieldProps): ReactElement => (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n {label}\n </Label>\n <StyledControl>\n <InputNumber\n className=\"wb-inspector-num\"\n value={value}\n decimalLength={0}\n min={min}\n update\n endAdornment={\n unit ? (\n <InputAdornment disablePointerEvents>\n <Caption1 color=\"secondary\">{unit}</Caption1>\n </InputAdornment>\n ) : undefined\n }\n onChange={(next) => {\n if (next !== undefined && !Number.isNaN(next)) {\n onCommit(Math.round(next));\n }\n }}\n />\n </StyledControl>\n </StyledPropRow>\n);\n\nexport const AutoField = ({ label }: { label: string }): ReactElement => (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n {label}\n </Label>\n <StyledAutoField>Auto</StyledAutoField>\n </StyledPropRow>\n);\n\nexport interface OptionSelectProps {\n options: { id: string | number; name: string }[];\n value: string | number;\n triggerLabel: string;\n onChange: (value: string | number) => void;\n}\n\nexport const OptionSelect = ({\n options,\n value,\n triggerLabel,\n onChange,\n}: OptionSelectProps): ReactElement => (\n <StyledControl>\n <Select\n type=\"single\"\n disableSearch\n forceCloseMenu\n options={options}\n selected={value}\n onChange={(next) => onChange(Array.isArray(next) ? next[0] : next)}\n target={\n <SelectTrigger className=\"wb-inspector-trigger\">\n {triggerLabel}\n </SelectTrigger>\n }\n />\n </StyledControl>\n);\n\nexport const TRANSPARENT_OPTION = {\n id: \"transparent\",\n name: \"Transparent\",\n color: \"transparent\",\n textColor: \"transparent\",\n};\n\n/* The name shown on the color picker's trigger, resolved from the current hex. */\nexport const colorName = (hex: string | undefined): string => {\n if (!hex || sameColor(hex, \"transparent\")) {\n return \"Transparent\";\n }\n\n const match = COLOR_OPTIONS.find((option) => sameColor(hex, option.color));\n return match ? match.name : \"Custom\";\n};\n\nexport interface ColorPickerFieldProps {\n value: string | undefined;\n disabled?: boolean;\n /* Adds \"Transparent\" as the first option, rendered as the DS CircleSlashIcon.\n Driven by the element's `fillTransparent` trait, so only SHAPE fill opts in\n — sticky fill (its colour is the point) and stroke colour never do. */\n includeTransparent?: boolean;\n onSelect: (color: string) => void;\n}\n\n/* The regular design-system named-colour picker (the one in the label dialogs):\n a Select whose trigger is a Dot + colour name, and whose menu is the standard\n dot-and-radio list. Custom colours are deferred. */\nexport const ColorPickerField = ({\n value,\n disabled,\n includeTransparent,\n onSelect,\n}: ColorPickerFieldProps): ReactElement => {\n const options = includeTransparent\n ? [TRANSPARENT_OPTION, ...COLOR_OPTIONS]\n : COLOR_OPTIONS;\n const isTransparent = !value || sameColor(value, \"transparent\");\n\n return (\n <StyledControl className={disabled ? \"disabled\" : undefined}>\n <Select\n type=\"single\"\n disableSearch\n forceCloseMenu\n options={options}\n selected={isTransparent ? \"transparent\" : value}\n onChange={(next) =>\n onSelect(String(Array.isArray(next) ? next[0] : next))\n }\n target={\n <SelectTrigger className=\"wb-inspector-trigger\">\n <span className=\"wb-color-value\">\n {isTransparent ? (\n <CircleSlashIcon\n width={14}\n height={14}\n fill=\"currentColor\"\n className=\"wb-transparent-swatch\"\n />\n ) : (\n <Dot color={value} size={14} />\n )}\n {colorName(value)}\n </span>\n </SelectTrigger>\n }\n />\n </StyledControl>\n );\n};\n\nexport interface RightInspectorProps {\n selectedId: string | null;\n positions: Record<string, { x: number; y: number }>;\n setPositions: React.Dispatch<\n React.SetStateAction<Record<string, { x: number; y: number }>>\n >;\n sizes: Record<string, { width: number; height: number }>;\n setSizes: React.Dispatch<\n React.SetStateAction<Record<string, { width: number; height: number }>>\n >;\n rotations: Record<string, number>;\n setRotations: React.Dispatch<React.SetStateAction<Record<string, number>>>;\n shapes: Record<string, ShapeElementState>;\n setShapes: React.Dispatch<\n React.SetStateAction<Record<string, ShapeElementState>>\n >;\n stickyStyle: StickyTextStyle;\n setStickyStyle: React.Dispatch<React.SetStateAction<StickyTextStyle>>;\n links: LinkElementDef[];\n setLinks: React.Dispatch<React.SetStateAction<LinkElementDef[]>>;\n files: FileElementDef[];\n setFiles: React.Dispatch<React.SetStateAction<FileElementDef[]>>;\n createdShapes: CanvasElementDef[];\n locks: Record<string, boolean>;\n setLocks: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;\n}\n\nexport const RightInspector = ({\n selectedId,\n positions,\n setPositions,\n sizes,\n setSizes,\n rotations,\n setRotations,\n shapes,\n setShapes,\n stickyStyle,\n setStickyStyle,\n links,\n setLinks,\n files,\n setFiles,\n createdShapes,\n locks,\n setLocks,\n}: RightInspectorProps): ReactElement => {\n const [width, setWidth] = useState(OUTLINE_WIDTH);\n const [resizing, setResizing] = useState(false);\n /* Mock only — element display names are not persisted anywhere; they default\n to the type label until renamed here. */\n const [names, setNames] = useState<Record<string, string>>({});\n /* Which inspector tab is showing: the property groups we design, or the\n upcoming comments stream (details TBD). */\n const [tab, setTab] = useState<\"properties\" | \"comments\">(\"properties\");\n\n /* Docked right, so the grab strip is on the LEFT edge and dragging left\n widens: the delta is subtracted rather than added (see LeftSidebar). */\n const startResize = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n const startX = event.clientX;\n const startWidth = event.currentTarget.parentElement?.offsetWidth ?? 0;\n const previousUserSelect = document.body.style.userSelect;\n\n setResizing(true);\n document.body.style.userSelect = \"none\";\n document.body.style.cursor = \"col-resize\";\n\n const handleMove = (moveEvent: MouseEvent): void => {\n const next = startWidth - (moveEvent.clientX - startX);\n setWidth(Math.min(OUTLINE_MAX_WIDTH, Math.max(OUTLINE_MIN_WIDTH, next)));\n };\n\n const handleUp = (): void => {\n setResizing(false);\n document.body.style.userSelect = previousUserSelect;\n document.body.style.cursor = \"\";\n window.removeEventListener(\"mousemove\", handleMove);\n window.removeEventListener(\"mouseup\", handleUp);\n };\n\n window.addEventListener(\"mousemove\", handleMove);\n window.addEventListener(\"mouseup\", handleUp);\n }, []);\n\n const def = selectedId\n ? [...CANVAS_ELEMENTS, ...createdShapes].find(\n (element) => element.id === selectedId\n )\n : undefined;\n const linkDef = selectedId\n ? links.find((link) => link.id === selectedId)\n : undefined;\n const fileDef = selectedId\n ? files.find((file) => file.id === selectedId)\n : undefined;\n\n const shell = (content: ReactNode): ReactElement => (\n <StyledInspectorSidebar style={{ width }}>\n <StyledInspectorResizer\n className={resizing ? \"resizing\" : \"\"}\n onMouseDown={startResize}\n role=\"separator\"\n aria-orientation=\"vertical\"\n aria-label=\"Resize inspector\"\n />\n {content}\n </StyledInspectorSidebar>\n );\n\n /* Description — inline, multi-line editable text, shown first for every\n element kind. */\n /* Read-only formatted body (HTML from the API's `body` field). No label; when\n the body is empty the field is not rendered at all. No edit yet. */\n const renderBody = (id: string): ReactNode => {\n const html = ELEMENT_BODIES[id] ?? \"\";\n if (!html) {\n return null;\n }\n\n // eslint-disable-next-line react/no-danger\n return <StyledBody dangerouslySetInnerHTML={{ __html: html }} />;\n };\n\n /* The Locked checkbox — shown for every element kind, toggling a design lock\n flag keyed by element id. */\n const renderLocked = (id: string): ReactElement => (\n <StyledCheckboxRow>\n <Checkbox\n id={`wb-lock-${id}`}\n checked={locks[id] ?? false}\n onChange={() =>\n setLocks((current) => ({ ...current, [id]: !(current[id] ?? false) }))\n }\n />\n <Label htmlFor={`wb-lock-${id}`} size=\"small\" weight=\"regular\">\n Locked\n </Label>\n </StyledCheckboxRow>\n );\n\n /* Geometry for a card (link / file): X/Y from the shared positions map, an\n editable width and an auto height (cards are content-sized). Cards cannot\n be rotated, so there is no Rotation field. */\n const renderCardGeometry = (\n id: string,\n cardWidth: number,\n onWidth: (width: number) => void\n ): ReactElement => {\n const cardPosition = positions[id] ?? { x: 0, y: 0 };\n\n return (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Geometry\n </Body2>\n <StyledFieldGrid>\n <NumberField\n label=\"X\"\n unit=\"px\"\n value={cardPosition.x}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [id]: { ...(current[id] ?? { x: 0, y: 0 }), x: next },\n }))\n }\n />\n <NumberField\n label=\"Y\"\n unit=\"px\"\n value={cardPosition.y}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [id]: { ...(current[id] ?? { x: 0, y: 0 }), y: next },\n }))\n }\n />\n </StyledFieldGrid>\n <StyledFieldGrid>\n <NumberField\n label=\"Width\"\n unit=\"px\"\n value={cardWidth}\n min={1}\n onCommit={onWidth}\n />\n <AutoField label=\"Height\" />\n </StyledFieldGrid>\n </StyledPropGroup>\n );\n };\n\n /* Header + panel switch + body, shared by every element kind — only the\n groups inside differ. */\n const renderInspectorBody = (\n icon: ReactNode,\n headerName: string,\n id: string,\n groups: ReactNode\n ): ReactElement => (\n <StyledInspectorBody>\n <StyledInspectorHeader>\n <span className=\"inspector-type-icon\">{icon}</span>\n <span className=\"inspector-name\">\n <EditableText\n value={headerName}\n variant=\"Header 3\"\n weight=\"bold\"\n onSave={(event) =>\n setNames((current) => ({ ...current, [id]: event.target.value }))\n }\n inputProps={{ maxLength: 120 }}\n />\n </span>\n </StyledInspectorHeader>\n\n <StyledChooseRow>\n <StyledPanelChooseSlot>\n <ChooseV2\n required\n options={[\n { id: \"properties\", name: \"Properties\" },\n { id: \"comments\", name: \"Comments\" },\n ]}\n selected={[tab]}\n onChange={(selected) =>\n setTab(selected[0] as \"properties\" | \"comments\")\n }\n />\n </StyledPanelChooseSlot>\n </StyledChooseRow>\n\n {tab === \"comments\" ? (\n <StyledInspectorEmpty>\n <Body2>The comments stream is coming soon.</Body2>\n </StyledInspectorEmpty>\n ) : (\n <StyledPropGroups>{groups}</StyledPropGroups>\n )}\n </StyledInspectorBody>\n );\n\n /* Nothing selected. */\n if (!def && !linkDef && !fileDef) {\n return shell(\n <StyledInspectorEmpty>\n <Body2>Select an element to see its properties.</Body2>\n </StyledInspectorEmpty>\n );\n }\n\n /* Link card — its URL plus the shared Locked flag. */\n if (linkDef) {\n return shell(\n renderInspectorBody(\n <InsertLinkIcon />,\n names[linkDef.id] ?? (linkDef.url || \"Link\"),\n linkDef.id,\n <>\n <StyledPropGroup>\n {renderBody(linkDef.id)}\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n URL\n </Label>\n <StyledControl>\n <Input\n value={linkDef.url ?? \"\"}\n placeholder=\"https://…\"\n onChange={(event) =>\n setLinks((current) =>\n current.map((link) =>\n link.id === linkDef.id\n ? { ...link, url: event.target.value }\n : link\n )\n )\n }\n />\n </StyledControl>\n </StyledPropRow>\n {renderLocked(linkDef.id)}\n </StyledPropGroup>\n {renderCardGeometry(linkDef.id, linkDef.width, (width) =>\n setLinks((current) =>\n current.map((link) =>\n link.id === linkDef.id ? { ...link, width } : link\n )\n )\n )}\n </>\n )\n );\n }\n\n /* File card — read-only size plus the shared Locked flag. */\n if (fileDef) {\n return shell(\n renderInspectorBody(\n <AttachmentIcon />,\n names[fileDef.id] ??\n (fileDef.file\n ? `${fileDef.file.base}.${fileDef.file.extension}`\n : \"File\"),\n fileDef.id,\n <>\n <StyledPropGroup>\n {renderBody(fileDef.id)}\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Size\n </Label>\n <StyledAutoField>\n {fileDef.file ? formatFileSize(fileDef.file.size) : \"—\"}\n </StyledAutoField>\n </StyledPropRow>\n {renderLocked(fileDef.id)}\n </StyledPropGroup>\n {renderCardGeometry(fileDef.id, fileDef.width, (width) =>\n setFiles((current) =>\n current.map((file) =>\n file.id === fileDef.id ? { ...file, width } : file\n )\n )\n )}\n </>\n )\n );\n }\n\n /* Shape / sticky from here on. */\n if (!def) {\n return shell(\n <StyledInspectorEmpty>\n <Body2>Select an element to see its properties.</Body2>\n </StyledInspectorEmpty>\n );\n }\n\n const traits = elementTraits(def);\n const shape = def.kind === \"shape\" ? shapes[def.id] : null;\n const size = sizes[def.id] ?? { width: def.width, height: def.height };\n const position = positions[def.id] ?? { x: def.x, y: def.y };\n const rotation = rotations[def.id] ?? 0;\n\n const typeLabel = shape ? TYPE_LABEL[shape.type] : \"Sticky note\";\n const name = names[def.id] ?? typeLabel;\n\n const updateShape = (partial: Partial<ShapeElementState>): void =>\n setShapes((current) => ({\n ...current,\n [def.id]: { ...current[def.id], ...partial },\n }));\n\n /* Fill is unified across kinds: a shape writes shape.fill, a sticky its note\n colour. A transparent colour means no fill. */\n const currentFill = shape ? shape.fill : stickyStyle.color;\n const currentFillOpacity = shape\n ? shape.fillOpacity\n : stickyStyle.fillOpacity;\n\n const setFill = (color: string): void => {\n if (shape) {\n updateShape({ fill: color });\n } else {\n setStickyStyle({ ...stickyStyle, color });\n }\n };\n\n const setFillOpacity = (next: number): void => {\n if (shape) {\n updateShape({ fillOpacity: next });\n } else {\n setStickyStyle({ ...stickyStyle, fillOpacity: next });\n }\n };\n\n const currentFontSize = shape ? shape.fontSize : stickyStyle.fontSize;\n const currentAlign: TextAlign = shape\n ? shape.align ?? \"left\"\n : stickyStyle.align;\n\n const setFontSize = (next: number): void => {\n if (shape) {\n updateShape({ fontSize: next });\n } else {\n setStickyStyle({ ...stickyStyle, fontSize: next });\n }\n };\n\n const setAlign = (next: TextAlign): void => {\n if (shape) {\n updateShape({ align: next });\n } else {\n setStickyStyle({ ...stickyStyle, align: next });\n }\n };\n\n const styleFlags = shape ?? stickyStyle;\n\n const toggleStyle = (key: TextStyleKey): void => {\n if (shape) {\n updateShape({ [key]: !shape[key] });\n } else {\n setStickyStyle({ ...stickyStyle, [key]: !stickyStyle[key] });\n }\n };\n\n return shell(\n renderInspectorBody(\n shape ? SHAPE_TYPE_ICON[shape.type] : <NoteIcon />,\n name,\n def.id,\n <>\n {/* Element-specific properties — no header, sits above Geometry. */}\n <StyledPropGroup>\n {renderBody(def.id)}\n {shape ? (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Shape\n </Label>\n <OptionSelect\n options={(\n [\n \"rectangle\",\n \"roundedRectangle\",\n \"circle\",\n \"triangle\",\n ] as ShapeType[]\n ).map((shapeType) => ({\n id: shapeType,\n name: TYPE_LABEL[shapeType],\n }))}\n value={shape.type}\n triggerLabel={TYPE_LABEL[shape.type]}\n onChange={(next) => updateShape({ type: next as ShapeType })}\n />\n </StyledPropRow>\n ) : null}\n {renderLocked(def.id)}\n </StyledPropGroup>\n\n {traits.geometry ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Geometry\n </Body2>\n <StyledFieldGrid>\n <NumberField\n label=\"X\"\n unit=\"px\"\n value={position.x}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [def.id]: { ...current[def.id], x: next },\n }))\n }\n />\n <NumberField\n label=\"Y\"\n unit=\"px\"\n value={position.y}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [def.id]: { ...current[def.id], y: next },\n }))\n }\n />\n </StyledFieldGrid>\n <StyledFieldGrid>\n {traits.autoWidth ? (\n <AutoField label=\"Width\" />\n ) : (\n <NumberField\n label=\"Width\"\n unit=\"px\"\n value={size.width}\n min={1}\n onCommit={(next) =>\n setSizes((current) => ({\n ...current,\n [def.id]: {\n width: next,\n height: current[def.id]?.height ?? def.height,\n },\n }))\n }\n />\n )}\n {traits.autoHeight ? (\n <AutoField label=\"Height\" />\n ) : (\n <NumberField\n label=\"Height\"\n unit=\"px\"\n value={size.height}\n min={1}\n onCommit={(next) =>\n setSizes((current) => ({\n ...current,\n [def.id]: {\n width: current[def.id]?.width ?? def.width,\n height: next,\n },\n }))\n }\n />\n )}\n </StyledFieldGrid>\n <StyledFieldGrid>\n <NumberField\n label=\"Rotation\"\n unit=\"°\"\n value={rotation}\n onCommit={(next) =>\n setRotations((current) => ({ ...current, [def.id]: next }))\n }\n />\n </StyledFieldGrid>\n </StyledPropGroup>\n ) : null}\n\n {traits.fill ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Fill\n </Body2>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Color\n </Label>\n <ColorPickerField\n includeTransparent={traits.fillTransparent}\n value={currentFill}\n onSelect={setFill}\n />\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Opacity\n </Label>\n <OptionSelect\n options={OPACITY_OPTIONS.map((opacity) => ({\n id: opacity,\n name: `${opacity}%`,\n }))}\n value={currentFillOpacity}\n triggerLabel={`${currentFillOpacity}%`}\n onChange={(next) => setFillOpacity(Number(next))}\n />\n </StyledPropRow>\n </StyledFieldGrid>\n </StyledPropGroup>\n ) : null}\n\n {traits.stroke && shape ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Stroke\n </Body2>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Pattern\n </Label>\n <StyledSegmented>\n <ChooseV2\n required\n options={BORDER_STYLE_OPTIONS.map((option) => ({\n id: option.label,\n name: option.label,\n }))}\n selected={[\n BORDER_STYLE_OPTIONS.find(\n (option) => option.value === shape.strokeDash\n )?.label ?? \"Solid\",\n ]}\n onChange={(selected) =>\n updateShape({\n strokeDash: BORDER_STYLE_OPTIONS.find(\n (option) => option.label === selected[0]\n )?.value,\n })\n }\n />\n </StyledSegmented>\n </StyledPropRow>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Thickness\n </Label>\n <OptionSelect\n options={THICKNESS_OPTIONS.map((thickness) => ({\n id: thickness,\n name: `${thickness} pt`,\n }))}\n value={shape.strokeWidth}\n triggerLabel={`${shape.strokeWidth} pt`}\n onChange={(next) =>\n updateShape({ strokeWidth: Number(next) })\n }\n />\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Color\n </Label>\n <ColorPickerField\n value={shape.stroke}\n onSelect={(color) => updateShape({ stroke: color })}\n />\n </StyledPropRow>\n </StyledFieldGrid>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Radius\n </Label>\n <OptionSelect\n options={RADIUS_OPTIONS.map((radius) => ({\n id: radius,\n name: `${radius} px`,\n }))}\n value={shape.borderRadius}\n triggerLabel={`${shape.borderRadius} px`}\n onChange={(next) =>\n updateShape({ borderRadius: Number(next) })\n }\n />\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Opacity\n </Label>\n <OptionSelect\n options={OPACITY_OPTIONS.map((opacity) => ({\n id: opacity,\n name: `${opacity}%`,\n }))}\n value={shape.strokeOpacity}\n triggerLabel={`${shape.strokeOpacity}%`}\n onChange={(next) =>\n updateShape({ strokeOpacity: Number(next) })\n }\n />\n </StyledPropRow>\n </StyledFieldGrid>\n </StyledPropGroup>\n ) : null}\n\n {traits.text ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Text\n </Body2>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Style\n </Label>\n <StyledSegmented>\n {STYLE_OPTIONS.map((option) => (\n <Tooltip key={option.key} title={option.label}>\n <IconButton\n variant=\"text gray\"\n active={styleFlags[option.key]}\n aria-label={option.label}\n onClick={() => toggleStyle(option.key)}\n >\n {option.icon}\n </IconButton>\n </Tooltip>\n ))}\n </StyledSegmented>\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Size\n </Label>\n <OptionSelect\n options={FONT_SIZE_OPTIONS.map((fontSize) => ({\n id: fontSize,\n name: `${fontSize} pt`,\n }))}\n value={currentFontSize}\n triggerLabel={`${currentFontSize} pt`}\n onChange={(next) => setFontSize(Number(next))}\n />\n </StyledPropRow>\n </StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Alignment\n </Label>\n <StyledSegmented>\n {ALIGN_OPTIONS.map((option) => (\n <Tooltip key={option.value} title={option.label}>\n <IconButton\n variant=\"text gray\"\n active={currentAlign === option.value}\n aria-label={option.label}\n onClick={() => setAlign(option.value)}\n >\n {option.icon}\n </IconButton>\n </Tooltip>\n ))}\n </StyledSegmented>\n </StyledPropRow>\n </StyledPropGroup>\n ) : null}\n </>\n )\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"inspector.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_elements","_fileElement","_outline","_projectElements","_Checkbox","_ChooseV","_Dot","_EditableText","_IconButton","_Icons","_Input","_Label","_Select","_SelectTrigger","_Tooltip","_Typography","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","elementTraits","exports","def","kind","geometry","fill","fillTransparent","stroke","text","autoHeight","PROJECT_ELEMENT_TRAITS","renamable","LIMITED_ELEMENT_TRAITS","readOnly","TYPE_LABEL","rectangle","roundedRectangle","circle","triangle","sameColor","b","toLowerCase","StyledInspectorSidebar","styled","aside","withConfig","displayName","componentId","StyledInspectorResizer","div","StyledInspectorBody","StyledPropGroups","StyledInspectorHeader","StyledInspectorEmpty","StyledPropGroup","StyledPropRow","StyledFieldGrid","StyledControl","StyledCheckboxRow","StyledBody","StyledAutoField","StyledSegmented","NumberField","_ref","label","min","unit","onCommit","createElement","Label","size","weight","InputNumber","className","decimalLength","update","endAdornment","InputAdornment","disablePointerEvents","Caption1","color","undefined","onChange","isNaN","Math","round","AutoField","_ref2","ReadOnlyField","_ref3","OptionSelect","_ref4","options","triggerLabel","Select","type","disableSearch","forceCloseMenu","selected","target","SelectTrigger","TRANSPARENT_OPTION","id","textColor","colorName","hex","match","COLOR_OPTIONS","find","option","ColorPickerField","_ref5","disabled","includeTransparent","onSelect","isTransparent","CircleSlashIcon","width","height","Dot","RightInspector","_ref6","_sizes$def$id","_positions$def$id","_rotations$def$id","_names$def$id","_shape$align","_BORDER_STYLE_OPTIONS","_BORDER_STYLE_OPTIONS2","selectedId","positions","setPositions","sizes","setSizes","rotations","setRotations","shapes","setShapes","stickyStyle","setStickyStyle","links","setLinks","files","setFiles","createdShapes","projectElements","setProjectElements","locks","setLocks","_useState","useState","OUTLINE_WIDTH","_useState2","setWidth","_useState3","_useState4","resizing","setResizing","_useState5","_useState6","names","setNames","_useState7","_useState8","tab","setTab","startResize","useCallback","event","_event$currentTarget$","_event$currentTarget$2","preventDefault","startX","clientX","startWidth","currentTarget","parentElement","offsetWidth","previousUserSelect","document","body","style","userSelect","cursor","handleMove","moveEvent","OUTLINE_MAX_WIDTH","max","OUTLINE_MIN_WIDTH","handleUp","window","removeEventListener","addEventListener","CANVAS_ELEMENTS","element","linkDef","link","fileDef","file","projectDef","entry","shell","content","onMouseDown","role","renderBody","_ELEMENT_BODIES$id","html","ELEMENT_BODIES","dangerouslySetInnerHTML","__html","renderLocked","_locks$id","forced","Checkbox","concat","checked","current","_current$id","htmlFor","renderCardGeometry","cardWidth","onWidth","_positions$id","cardPosition","x","y","Body2","_current$id2","_current$id3","renderInspectorBody","icon","headerName","groups","EditableText","variant","onSave","inputProps","maxLength","Header3","title","StyledChooseRow","StyledPanelChooseSlot","ChooseV2","required","limited","cardTraits","LockIcon","ProjectIcon","TaskIcon","projectElementTitle","Fragment","map","_names$linkDef$id","_linkDef$url","InsertLinkIcon","url","Input","placeholder","_names$fileDef$id","AttachmentIcon","base","extension","formatFileSize","traits","shape","position","rotation","typeLabel","updateShape","partial","currentFill","currentFillOpacity","fillOpacity","setFill","setFillOpacity","currentFontSize","fontSize","currentAlign","align","setFontSize","setAlign","styleFlags","toggleStyle","key","SHAPE_TYPE_ICON","NoteIcon","shapeType","autoWidth","_current$def$id$heigh","_current$def$id","_current$def$id$width","_current$def$id2","OPACITY_OPTIONS","opacity","BORDER_STYLE_OPTIONS","strokeDash","_BORDER_STYLE_OPTIONS3","THICKNESS_OPTIONS","thickness","strokeWidth","RADIUS_OPTIONS","radius","borderRadius","strokeOpacity","STYLE_OPTIONS","Tooltip","IconButton","active","onClick","FONT_SIZE_OPTIONS","ALIGN_OPTIONS"],"sources":["../../../../src/presentation/whiteboard/inspector.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode, useCallback, useState } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport {\n BORDER_STYLE_OPTIONS,\n CANVAS_ELEMENTS,\n COLOR_OPTIONS,\n CanvasElementDef,\n ELEMENT_BODIES,\n FONT_SIZE_OPTIONS,\n OPACITY_OPTIONS,\n RADIUS_OPTIONS,\n SHAPE_TYPE_ICON,\n ShapeElementState,\n ShapeType,\n StickyTextStyle,\n THICKNESS_OPTIONS,\n TextAlign,\n ALIGN_OPTIONS,\n STYLE_OPTIONS,\n TextStyleKey,\n} from \"./elements\";\nimport { FileElementDef, formatFileSize } from \"./fileElement\";\nimport { LinkElementDef } from \"./linkElement\";\nimport {\n OUTLINE_MAX_WIDTH,\n OUTLINE_MIN_WIDTH,\n OUTLINE_WIDTH,\n StyledChooseRow,\n StyledPanelChooseSlot,\n} from \"./outline\";\nimport { ProjectElementDef, projectElementTitle } from \"./projectElements\";\nimport { Checkbox } from \"../../components/Checkbox\";\nimport { ChooseV2 } from \"../../components/ChooseV2\";\nimport { Dot } from \"../../components/Dot\";\nimport { EditableText } from \"../../components/EditableText\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n AttachmentIcon,\n CircleSlashIcon,\n InsertLinkIcon,\n LockIcon,\n NoteIcon,\n ProjectIcon,\n TaskIcon,\n} from \"../../components/Icons\";\nimport { Input, InputAdornment, InputNumber } from \"../../components/Input\";\nimport { Label } from \"../../components/Label\";\nimport { Select } from \"../../components/Select\";\nimport { SelectTrigger } from \"../../components/SelectTrigger\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2, Caption1, Header3 } from \"../../components/Typography\";\n\n/* ------------------------------------------------------------------ */\n/* Right Inspector — selected-element properties panel */\n/* ------------------------------------------------------------------ */\n\n/* Which right-docked panel is open. Only \"inspector\" is built here; \"comments\"\n is reserved for the next iteration. */\nexport type RightPanel = \"inspector\" | \"comments\" | null;\n\n/* ── Inspector capability traits ──────────────────────────────────────────\n The Inspector is TRAIT-DRIVEN: a selected element declares which property\n groups it supports, and only those groups render. This is the \"interface\n with implementation traits\" model — the interface is the full set of groups,\n and each element kind overrides the flags it does not support (a sticky has\n no stroke, and its height is auto because the note grows with its content).\n New element kinds slot in by returning their own trait set. */\nexport interface ElementTraits {\n geometry: boolean;\n fill: boolean;\n /* Whether the element's name is the board's to change. Almost everything on a\n canvas is named by whoever put it there — but a project or task card is a\n VIEW of a record that lives in the project, and renaming the view would\n either lie about the record or silently rename it from a whiteboard. So the\n title is shown and never edited. Mirrors the app's read-only entity title. */\n renamable?: boolean;\n /* Whether this element's fill may be Transparent. Distinct from `fill`: a\n sticky HAS a fill group but must not be transparent (its colour is its\n defining property), whereas an outline-only shape is valid. Mirrors the\n app's `fillTransparent` trait. */\n fillTransparent?: boolean;\n stroke: boolean;\n text: boolean;\n autoWidth?: boolean;\n autoHeight?: boolean;\n /* The viewer may look at this element's properties and change none of them.\n One flag, because for a limited-access card it is one fact: every control\n the panel would otherwise offer is withheld together with the entity. */\n readOnly?: boolean;\n}\n\nexport const elementTraits = (def: CanvasElementDef): ElementTraits =>\n def.kind === \"sticky\"\n ? {\n geometry: true,\n fill: true,\n fillTransparent: false,\n stroke: false,\n text: true,\n autoHeight: true,\n }\n : {\n geometry: true,\n fill: true,\n fillTransparent: true,\n stroke: true,\n text: true,\n };\n\n/**\n * A project / task card's traits. It is the most constrained element on the\n * board, and every \"false\" here is a fact about the card rather than a feature\n * that has not been built yet:\n *\n * fill / stroke / text the card's appearance is the design system's, not\n * the board's — recolouring it would make a task look\n * like something it is not on another person's screen.\n * autoHeight the card is content-sized; only its width is given.\n * renamable the title belongs to the task / project record.\n *\n * Rotation is absent for the same reason it is absent on link and file cards:\n * the Geometry group for a card simply does not render one.\n */\nexport const PROJECT_ELEMENT_TRAITS: ElementTraits = {\n geometry: true,\n fill: false,\n stroke: false,\n text: false,\n autoHeight: true,\n renamable: false,\n};\n\n/**\n * A LIMITED-ACCESS card's traits: the project card's, with everything the\n * viewer could have changed taken away.\n *\n * The panel is not empty, and that is deliberate — geometry still renders, so\n * the viewer can see that the thing has a position and a size, which is\n * precisely the amount that Workload's limited cell exposes (its data shape is\n * a quantity and an offset). It simply cannot be edited.\n */\nexport const LIMITED_ELEMENT_TRAITS: ElementTraits = {\n ...PROJECT_ELEMENT_TRAITS,\n readOnly: true,\n};\n\nexport const TYPE_LABEL: Record<ShapeType, string> = {\n rectangle: \"Rectangle\",\n roundedRectangle: \"Rounded Rectangle\",\n circle: \"Circle\",\n triangle: \"Triangle\",\n};\n\nexport const sameColor = (a: string | undefined, b: string): boolean =>\n (a ?? \"\").toLowerCase() === b.toLowerCase();\n\n/* Right dock — mirrors StyledOutlineSidebar but docked on the RIGHT: border on\n the left edge, resizer on the left edge. Same 260–780 width band. */\nexport const StyledInspectorSidebar = styled.aside`\n flex-shrink: 0;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n border-left: 1px solid var(--selectable);\n background-color: var(--page-paper-main);\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n`;\n\n/* Grab strip on the LEFT edge, because the panel is docked right — dragging it\n left widens. Same token pair as the outline resizer: selectable grey at\n rest, the hover token while grabbed. */\nexport const StyledInspectorResizer = styled.div`\n position: absolute;\n top: 0;\n bottom: 0;\n left: -2px;\n width: 5px;\n cursor: col-resize;\n z-index: 2;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 2px;\n width: 1px;\n background-color: var(--selectable-active);\n opacity: 0;\n transition: opacity 150ms ease;\n }\n\n &:hover::after,\n &.resizing::after {\n opacity: 1;\n }\n`;\n\nexport const StyledInspectorBody = styled.div`\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n`;\n\n/* Wraps the property groups. The Properties/Comments switch above does the\n separating, so the first group drops its top hairline — no divider directly\n under the header, matching the left sidebar. Inner groups keep separators. */\nexport const StyledPropGroups = styled.div`\n display: flex;\n flex-direction: column;\n\n > div:first-child {\n border-top: none;\n }\n`;\n\nexport const StyledInspectorHeader = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n height: 56px;\n padding: 0 16px;\n box-sizing: border-box;\n flex-shrink: 0;\n\n /* Icon in a fixed, centred box (like the outline's type icon and the sidebar\n header) so it lines up with the live EditableText's text rather than the\n taller input box. */\n .inspector-type-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n color: var(--color-theme-700);\n }\n\n .inspector-type-icon svg {\n width: 20px;\n height: 20px;\n }\n\n .inspector-name {\n flex: 1;\n min-width: 0;\n }\n\n /* A title that cannot be renamed is plain Typography rather than a live\n EditableText input, so it needs its own truncation — and the same 4px of\n side padding EditableText's input carries, or read-only titles would sit\n 4px to the left of editable ones. */\n .inspector-name-static {\n padding: 0 4px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`;\n\n/* Empty state — same muted treatment the outline uses for unnamed rows. */\nexport const StyledInspectorEmpty = styled.div`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n text-align: center;\n color: var(--color-theme-600);\n`;\n\n/* Non-collapsible section: bold title, no chevron / drag handle, separated from\n the section above by a hairline. */\nexport const StyledPropGroup = styled.div`\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px;\n border-top: 1px solid var(--border-primary);\n\n .group-title {\n color: var(--color-theme-800);\n }\n`;\n\nexport const StyledPropRow = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4px;\n`;\n\nexport const StyledFieldGrid = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n`;\n\n/* InputNumber's wrapper is a fixed 360px and SelectTrigger a fixed 300px — both\n overflow the narrow dock, so force every inspector control to fill its cell. */\nexport const StyledControl = styled.div`\n width: 100%;\n\n &.disabled {\n opacity: 0.4;\n pointer-events: none;\n }\n\n .c-input-wrapper {\n width: 100%;\n }\n\n .wb-inspector-trigger {\n width: 100%;\n }\n\n .wb-color-value {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* A transparent fill has no colour to show, so it renders the design-system\n CircleSlashIcon (a ring with a 45° slash) instead of an invisible dot. */\n .wb-color-value .wb-transparent-swatch {\n flex: none;\n color: var(--color-theme-500);\n }\n`;\n\n/* Locked checkbox row — the DS Checkbox renders only the box, so it is paired\n with a Label the way the design system expects. */\nexport const StyledCheckboxRow = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\n/* The element body is HTML (the API's `body` field). The Inspector renders it\n formatted and read-only for now — editing comes later. Raw text needs an\n explicit font-family (no global reset), and the child tags get light prose\n styling. */\nexport const StyledBody = styled.div`\n width: 100%;\n /* Collapsed to a reasonable height; a long body scrolls inside the field. */\n max-height: 140px;\n overflow-y: auto;\n font-family: -apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\",\n Arial, sans-serif;\n font-size: 13px;\n line-height: 1.5;\n color: var(--color-theme-800);\n\n p {\n margin: 0 0 8px;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n ul,\n ol {\n margin: 0 0 8px;\n padding-left: 18px;\n }\n\n li {\n margin: 2px 0;\n }\n\n strong {\n font-weight: 600;\n }\n\n em {\n font-style: italic;\n }\n\n a {\n color: var(--color-primary);\n }\n`;\n\n/* Read-only \"Auto\" field for an auto-sized dimension (a sticky's height). */\nexport const StyledAutoField = styled.div`\n height: 32px;\n display: flex;\n align-items: center;\n padding: 0 8px;\n box-sizing: border-box;\n border: 1px solid var(--color-theme-400);\n border-radius: var(--ac-br-8);\n background-color: var(--color-theme-200);\n color: var(--color-theme-600);\n font-size: 13px;\n`;\n\nexport const StyledSegmented = styled.div`\n display: flex;\n gap: 4px;\n\n /* Icon segments (text alignment): size the glyph and center it in the cell so\n each Choose reads as an equal-width icon button. */\n svg {\n display: block;\n width: 16px;\n height: 16px;\n }\n`;\n\nexport interface NumberFieldProps {\n label: string;\n value: number;\n min?: number;\n /* Unit shown as a right adornment inside the field (px, °), the same way\n InputCurrency shows the currency code. */\n unit?: string;\n onCommit: (value: number) => void;\n}\n\nexport const NumberField = ({\n label,\n value,\n min,\n unit,\n onCommit,\n}: NumberFieldProps): ReactElement => (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n {label}\n </Label>\n <StyledControl>\n <InputNumber\n className=\"wb-inspector-num\"\n value={value}\n decimalLength={0}\n min={min}\n update\n endAdornment={\n unit ? (\n <InputAdornment disablePointerEvents>\n <Caption1 color=\"secondary\">{unit}</Caption1>\n </InputAdornment>\n ) : undefined\n }\n onChange={(next) => {\n if (next !== undefined && !Number.isNaN(next)) {\n onCommit(Math.round(next));\n }\n }}\n />\n </StyledControl>\n </StyledPropRow>\n);\n\nexport const AutoField = ({ label }: { label: string }): ReactElement => (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n {label}\n </Label>\n <StyledAutoField>Auto</StyledAutoField>\n </StyledPropRow>\n);\n\n/* A geometry value the viewer may READ but not change — the same field\n `AutoField` and the file card's Size already use, with a real value in it.\n Showing the number greyed out is the point: a limited card still has a\n position and a size, and those are the only facts about it there are. */\nexport const ReadOnlyField = ({\n label,\n value,\n}: {\n label: string;\n value: string;\n}): ReactElement => (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n {label}\n </Label>\n <StyledAutoField>{value}</StyledAutoField>\n </StyledPropRow>\n);\n\nexport interface OptionSelectProps {\n options: { id: string | number; name: string }[];\n value: string | number;\n triggerLabel: string;\n onChange: (value: string | number) => void;\n}\n\nexport const OptionSelect = ({\n options,\n value,\n triggerLabel,\n onChange,\n}: OptionSelectProps): ReactElement => (\n <StyledControl>\n <Select\n type=\"single\"\n disableSearch\n forceCloseMenu\n options={options}\n selected={value}\n onChange={(next) => onChange(Array.isArray(next) ? next[0] : next)}\n target={\n <SelectTrigger className=\"wb-inspector-trigger\">\n {triggerLabel}\n </SelectTrigger>\n }\n />\n </StyledControl>\n);\n\nexport const TRANSPARENT_OPTION = {\n id: \"transparent\",\n name: \"Transparent\",\n color: \"transparent\",\n textColor: \"transparent\",\n};\n\n/* The name shown on the color picker's trigger, resolved from the current hex. */\nexport const colorName = (hex: string | undefined): string => {\n if (!hex || sameColor(hex, \"transparent\")) {\n return \"Transparent\";\n }\n\n const match = COLOR_OPTIONS.find((option) => sameColor(hex, option.color));\n return match ? match.name : \"Custom\";\n};\n\nexport interface ColorPickerFieldProps {\n value: string | undefined;\n disabled?: boolean;\n /* Adds \"Transparent\" as the first option, rendered as the DS CircleSlashIcon.\n Driven by the element's `fillTransparent` trait, so only SHAPE fill opts in\n — sticky fill (its colour is the point) and stroke colour never do. */\n includeTransparent?: boolean;\n onSelect: (color: string) => void;\n}\n\n/* The regular design-system named-colour picker (the one in the label dialogs):\n a Select whose trigger is a Dot + colour name, and whose menu is the standard\n dot-and-radio list. Custom colours are deferred. */\nexport const ColorPickerField = ({\n value,\n disabled,\n includeTransparent,\n onSelect,\n}: ColorPickerFieldProps): ReactElement => {\n const options = includeTransparent\n ? [TRANSPARENT_OPTION, ...COLOR_OPTIONS]\n : COLOR_OPTIONS;\n const isTransparent = !value || sameColor(value, \"transparent\");\n\n return (\n <StyledControl className={disabled ? \"disabled\" : undefined}>\n <Select\n type=\"single\"\n disableSearch\n forceCloseMenu\n options={options}\n selected={isTransparent ? \"transparent\" : value}\n onChange={(next) =>\n onSelect(String(Array.isArray(next) ? next[0] : next))\n }\n target={\n <SelectTrigger className=\"wb-inspector-trigger\">\n <span className=\"wb-color-value\">\n {isTransparent ? (\n <CircleSlashIcon\n width={14}\n height={14}\n fill=\"currentColor\"\n className=\"wb-transparent-swatch\"\n />\n ) : (\n <Dot color={value} size={14} />\n )}\n {colorName(value)}\n </span>\n </SelectTrigger>\n }\n />\n </StyledControl>\n );\n};\n\nexport interface RightInspectorProps {\n selectedId: string | null;\n positions: Record<string, { x: number; y: number }>;\n setPositions: React.Dispatch<\n React.SetStateAction<Record<string, { x: number; y: number }>>\n >;\n sizes: Record<string, { width: number; height: number }>;\n setSizes: React.Dispatch<\n React.SetStateAction<Record<string, { width: number; height: number }>>\n >;\n rotations: Record<string, number>;\n setRotations: React.Dispatch<React.SetStateAction<Record<string, number>>>;\n shapes: Record<string, ShapeElementState>;\n setShapes: React.Dispatch<\n React.SetStateAction<Record<string, ShapeElementState>>\n >;\n stickyStyle: StickyTextStyle;\n setStickyStyle: React.Dispatch<React.SetStateAction<StickyTextStyle>>;\n links: LinkElementDef[];\n setLinks: React.Dispatch<React.SetStateAction<LinkElementDef[]>>;\n files: FileElementDef[];\n setFiles: React.Dispatch<React.SetStateAction<FileElementDef[]>>;\n createdShapes: CanvasElementDef[];\n projectElements: ProjectElementDef[];\n setProjectElements: React.Dispatch<React.SetStateAction<ProjectElementDef[]>>;\n locks: Record<string, boolean>;\n setLocks: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;\n}\n\nexport const RightInspector = ({\n selectedId,\n positions,\n setPositions,\n sizes,\n setSizes,\n rotations,\n setRotations,\n shapes,\n setShapes,\n stickyStyle,\n setStickyStyle,\n links,\n setLinks,\n files,\n setFiles,\n createdShapes,\n projectElements,\n setProjectElements,\n locks,\n setLocks,\n}: RightInspectorProps): ReactElement => {\n const [width, setWidth] = useState(OUTLINE_WIDTH);\n const [resizing, setResizing] = useState(false);\n /* Mock only — element display names are not persisted anywhere; they default\n to the type label until renamed here. */\n const [names, setNames] = useState<Record<string, string>>({});\n /* Which inspector tab is showing: the property groups we design, or the\n upcoming comments stream (details TBD). */\n const [tab, setTab] = useState<\"properties\" | \"comments\">(\"properties\");\n\n /* Docked right, so the grab strip is on the LEFT edge and dragging left\n widens: the delta is subtracted rather than added (see LeftSidebar). */\n const startResize = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n const startX = event.clientX;\n const startWidth = event.currentTarget.parentElement?.offsetWidth ?? 0;\n const previousUserSelect = document.body.style.userSelect;\n\n setResizing(true);\n document.body.style.userSelect = \"none\";\n document.body.style.cursor = \"col-resize\";\n\n const handleMove = (moveEvent: MouseEvent): void => {\n const next = startWidth - (moveEvent.clientX - startX);\n setWidth(Math.min(OUTLINE_MAX_WIDTH, Math.max(OUTLINE_MIN_WIDTH, next)));\n };\n\n const handleUp = (): void => {\n setResizing(false);\n document.body.style.userSelect = previousUserSelect;\n document.body.style.cursor = \"\";\n window.removeEventListener(\"mousemove\", handleMove);\n window.removeEventListener(\"mouseup\", handleUp);\n };\n\n window.addEventListener(\"mousemove\", handleMove);\n window.addEventListener(\"mouseup\", handleUp);\n }, []);\n\n const def = selectedId\n ? [...CANVAS_ELEMENTS, ...createdShapes].find(\n (element) => element.id === selectedId\n )\n : undefined;\n const linkDef = selectedId\n ? links.find((link) => link.id === selectedId)\n : undefined;\n const fileDef = selectedId\n ? files.find((file) => file.id === selectedId)\n : undefined;\n const projectDef = selectedId\n ? projectElements.find((entry) => entry.id === selectedId)\n : undefined;\n\n const shell = (content: ReactNode): ReactElement => (\n <StyledInspectorSidebar style={{ width }}>\n <StyledInspectorResizer\n className={resizing ? \"resizing\" : \"\"}\n onMouseDown={startResize}\n role=\"separator\"\n aria-orientation=\"vertical\"\n aria-label=\"Resize inspector\"\n />\n {content}\n </StyledInspectorSidebar>\n );\n\n /* Description — inline, multi-line editable text, shown first for every\n element kind. */\n /* Read-only formatted body (HTML from the API's `body` field). No label; when\n the body is empty the field is not rendered at all. No edit yet. */\n const renderBody = (id: string): ReactNode => {\n const html = ELEMENT_BODIES[id] ?? \"\";\n if (!html) {\n return null;\n }\n\n // eslint-disable-next-line react/no-danger\n return <StyledBody dangerouslySetInnerHTML={{ __html: html }} />;\n };\n\n /* The Locked checkbox — shown for every element kind, toggling a design lock\n flag keyed by element id. */\n /* `forced` is the limited-access case: the element is locked FOR THIS VIEWER\n and the checkbox is the honest place to say so — ticked, and disabled so it\n reads as a statement about the element rather than a switch that was left\n on. */\n const renderLocked = (id: string, forced = false): ReactElement => (\n <StyledCheckboxRow>\n <Checkbox\n id={`wb-lock-${id}`}\n checked={forced || (locks[id] ?? false)}\n disabled={forced}\n onChange={() =>\n setLocks((current) => ({ ...current, [id]: !(current[id] ?? false) }))\n }\n />\n <Label htmlFor={`wb-lock-${id}`} size=\"small\" weight=\"regular\">\n Locked\n </Label>\n </StyledCheckboxRow>\n );\n\n /* Geometry for a card (link / file / project / task): X/Y from the shared\n positions map, an editable width and an auto height (cards are\n content-sized). Cards cannot be rotated, so there is no Rotation field.\n `readOnly` keeps the same three values in the same three places and swaps\n the inputs for read-only fields — a limited card's geometry is information,\n not a control. */\n const renderCardGeometry = (\n id: string,\n cardWidth: number,\n onWidth: (width: number) => void,\n readOnly = false\n ): ReactElement => {\n const cardPosition = positions[id] ?? { x: 0, y: 0 };\n\n return (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Geometry\n </Body2>\n <StyledFieldGrid>\n {readOnly ? (\n <ReadOnlyField label=\"X\" value={`${cardPosition.x} px`} />\n ) : (\n <NumberField\n label=\"X\"\n unit=\"px\"\n value={cardPosition.x}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [id]: { ...(current[id] ?? { x: 0, y: 0 }), x: next },\n }))\n }\n />\n )}\n {readOnly ? (\n <ReadOnlyField label=\"Y\" value={`${cardPosition.y} px`} />\n ) : (\n <NumberField\n label=\"Y\"\n unit=\"px\"\n value={cardPosition.y}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [id]: { ...(current[id] ?? { x: 0, y: 0 }), y: next },\n }))\n }\n />\n )}\n </StyledFieldGrid>\n <StyledFieldGrid>\n {readOnly ? (\n <ReadOnlyField label=\"Width\" value={`${cardWidth} px`} />\n ) : (\n <NumberField\n label=\"Width\"\n unit=\"px\"\n value={cardWidth}\n min={1}\n onCommit={onWidth}\n />\n )}\n <AutoField label=\"Height\" />\n </StyledFieldGrid>\n </StyledPropGroup>\n );\n };\n\n /* Header + panel switch + body, shared by every element kind — only the\n groups inside differ. `renamable` false swaps the live EditableText for\n read-only text, for elements whose name is not the board's to change. */\n const renderInspectorBody = (\n icon: ReactNode,\n headerName: string,\n id: string,\n groups: ReactNode,\n renamable = true\n ): ReactElement => (\n <StyledInspectorBody>\n <StyledInspectorHeader>\n <span className=\"inspector-type-icon\">{icon}</span>\n <span className=\"inspector-name\">\n {renamable ? (\n <EditableText\n value={headerName}\n variant=\"Header 3\"\n weight=\"bold\"\n onSave={(event) =>\n setNames((current) => ({\n ...current,\n [id]: event.target.value,\n }))\n }\n inputProps={{ maxLength: 120 }}\n />\n ) : (\n <Header3 className=\"inspector-name-static\" title={headerName}>\n {headerName}\n </Header3>\n )}\n </span>\n </StyledInspectorHeader>\n\n <StyledChooseRow>\n <StyledPanelChooseSlot>\n <ChooseV2\n required\n options={[\n { id: \"properties\", name: \"Properties\" },\n { id: \"comments\", name: \"Comments\" },\n ]}\n selected={[tab]}\n onChange={(selected) =>\n setTab(selected[0] as \"properties\" | \"comments\")\n }\n />\n </StyledPanelChooseSlot>\n </StyledChooseRow>\n\n {tab === \"comments\" ? (\n <StyledInspectorEmpty>\n <Body2>The comments stream is coming soon.</Body2>\n </StyledInspectorEmpty>\n ) : (\n <StyledPropGroups>{groups}</StyledPropGroups>\n )}\n </StyledInspectorBody>\n );\n\n /* Nothing selected. */\n if (!def && !linkDef && !fileDef && !projectDef) {\n return shell(\n <StyledInspectorEmpty>\n <Body2>Select an element to see its properties.</Body2>\n </StyledInspectorEmpty>\n );\n }\n\n /* Project / task card — the most constrained element here. Its look is not\n the board's to change (no Fill, Stroke or Text), and its title belongs to\n the record it shows, so the header is read-only. What is left is what the\n board really does own: where the card sits, how wide it is, and whether it\n is locked. */\n if (projectDef) {\n const limited = projectDef.limited === true;\n const cardTraits = limited\n ? LIMITED_ELEMENT_TRAITS\n : PROJECT_ELEMENT_TRAITS;\n\n return shell(\n renderInspectorBody(\n /* A limited card gets a NEUTRAL icon. The task and project glyphs would\n each say which kind of record is behind the card, and the kind is\n part of what the viewer is not entitled to. */\n limited ? (\n <LockIcon />\n ) : projectDef.kind === \"project\" ? (\n <ProjectIcon />\n ) : (\n <TaskIcon />\n ),\n projectElementTitle(projectDef),\n projectDef.id,\n <>\n <StyledPropGroup>\n {renderLocked(projectDef.id, cardTraits.readOnly)}\n </StyledPropGroup>\n {cardTraits.geometry\n ? renderCardGeometry(\n projectDef.id,\n projectDef.width,\n (width) =>\n setProjectElements((current) =>\n current.map((entry) =>\n entry.id === projectDef.id ? { ...entry, width } : entry\n )\n ),\n cardTraits.readOnly\n )\n : null}\n </>,\n cardTraits.renamable\n )\n );\n }\n\n /* Link card — its URL plus the shared Locked flag. */\n if (linkDef) {\n return shell(\n renderInspectorBody(\n <InsertLinkIcon />,\n names[linkDef.id] ?? (linkDef.url || \"Link\"),\n linkDef.id,\n <>\n <StyledPropGroup>\n {renderBody(linkDef.id)}\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n URL\n </Label>\n <StyledControl>\n <Input\n value={linkDef.url ?? \"\"}\n placeholder=\"https://…\"\n onChange={(event) =>\n setLinks((current) =>\n current.map((link) =>\n link.id === linkDef.id\n ? { ...link, url: event.target.value }\n : link\n )\n )\n }\n />\n </StyledControl>\n </StyledPropRow>\n {renderLocked(linkDef.id)}\n </StyledPropGroup>\n {renderCardGeometry(linkDef.id, linkDef.width, (width) =>\n setLinks((current) =>\n current.map((link) =>\n link.id === linkDef.id ? { ...link, width } : link\n )\n )\n )}\n </>\n )\n );\n }\n\n /* File card — read-only size plus the shared Locked flag. */\n if (fileDef) {\n return shell(\n renderInspectorBody(\n <AttachmentIcon />,\n names[fileDef.id] ??\n (fileDef.file\n ? `${fileDef.file.base}.${fileDef.file.extension}`\n : \"File\"),\n fileDef.id,\n <>\n <StyledPropGroup>\n {renderBody(fileDef.id)}\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Size\n </Label>\n <StyledAutoField>\n {fileDef.file ? formatFileSize(fileDef.file.size) : \"—\"}\n </StyledAutoField>\n </StyledPropRow>\n {renderLocked(fileDef.id)}\n </StyledPropGroup>\n {renderCardGeometry(fileDef.id, fileDef.width, (width) =>\n setFiles((current) =>\n current.map((file) =>\n file.id === fileDef.id ? { ...file, width } : file\n )\n )\n )}\n </>\n )\n );\n }\n\n /* Shape / sticky from here on. */\n if (!def) {\n return shell(\n <StyledInspectorEmpty>\n <Body2>Select an element to see its properties.</Body2>\n </StyledInspectorEmpty>\n );\n }\n\n const traits = elementTraits(def);\n const shape = def.kind === \"shape\" ? shapes[def.id] : null;\n const size = sizes[def.id] ?? { width: def.width, height: def.height };\n const position = positions[def.id] ?? { x: def.x, y: def.y };\n const rotation = rotations[def.id] ?? 0;\n\n const typeLabel = shape ? TYPE_LABEL[shape.type] : \"Sticky note\";\n const name = names[def.id] ?? typeLabel;\n\n const updateShape = (partial: Partial<ShapeElementState>): void =>\n setShapes((current) => ({\n ...current,\n [def.id]: { ...current[def.id], ...partial },\n }));\n\n /* Fill is unified across kinds: a shape writes shape.fill, a sticky its note\n colour. A transparent colour means no fill. */\n const currentFill = shape ? shape.fill : stickyStyle.color;\n const currentFillOpacity = shape\n ? shape.fillOpacity\n : stickyStyle.fillOpacity;\n\n const setFill = (color: string): void => {\n if (shape) {\n updateShape({ fill: color });\n } else {\n setStickyStyle({ ...stickyStyle, color });\n }\n };\n\n const setFillOpacity = (next: number): void => {\n if (shape) {\n updateShape({ fillOpacity: next });\n } else {\n setStickyStyle({ ...stickyStyle, fillOpacity: next });\n }\n };\n\n const currentFontSize = shape ? shape.fontSize : stickyStyle.fontSize;\n const currentAlign: TextAlign = shape\n ? shape.align ?? \"left\"\n : stickyStyle.align;\n\n const setFontSize = (next: number): void => {\n if (shape) {\n updateShape({ fontSize: next });\n } else {\n setStickyStyle({ ...stickyStyle, fontSize: next });\n }\n };\n\n const setAlign = (next: TextAlign): void => {\n if (shape) {\n updateShape({ align: next });\n } else {\n setStickyStyle({ ...stickyStyle, align: next });\n }\n };\n\n const styleFlags = shape ?? stickyStyle;\n\n const toggleStyle = (key: TextStyleKey): void => {\n if (shape) {\n updateShape({ [key]: !shape[key] });\n } else {\n setStickyStyle({ ...stickyStyle, [key]: !stickyStyle[key] });\n }\n };\n\n return shell(\n renderInspectorBody(\n shape ? SHAPE_TYPE_ICON[shape.type] : <NoteIcon />,\n name,\n def.id,\n <>\n {/* Element-specific properties — no header, sits above Geometry. */}\n <StyledPropGroup>\n {renderBody(def.id)}\n {shape ? (\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Shape\n </Label>\n <OptionSelect\n options={(\n [\n \"rectangle\",\n \"roundedRectangle\",\n \"circle\",\n \"triangle\",\n ] as ShapeType[]\n ).map((shapeType) => ({\n id: shapeType,\n name: TYPE_LABEL[shapeType],\n }))}\n value={shape.type}\n triggerLabel={TYPE_LABEL[shape.type]}\n onChange={(next) => updateShape({ type: next as ShapeType })}\n />\n </StyledPropRow>\n ) : null}\n {renderLocked(def.id)}\n </StyledPropGroup>\n\n {traits.geometry ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Geometry\n </Body2>\n <StyledFieldGrid>\n <NumberField\n label=\"X\"\n unit=\"px\"\n value={position.x}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [def.id]: { ...current[def.id], x: next },\n }))\n }\n />\n <NumberField\n label=\"Y\"\n unit=\"px\"\n value={position.y}\n onCommit={(next) =>\n setPositions((current) => ({\n ...current,\n [def.id]: { ...current[def.id], y: next },\n }))\n }\n />\n </StyledFieldGrid>\n <StyledFieldGrid>\n {traits.autoWidth ? (\n <AutoField label=\"Width\" />\n ) : (\n <NumberField\n label=\"Width\"\n unit=\"px\"\n value={size.width}\n min={1}\n onCommit={(next) =>\n setSizes((current) => ({\n ...current,\n [def.id]: {\n width: next,\n height: current[def.id]?.height ?? def.height,\n },\n }))\n }\n />\n )}\n {traits.autoHeight ? (\n <AutoField label=\"Height\" />\n ) : (\n <NumberField\n label=\"Height\"\n unit=\"px\"\n value={size.height}\n min={1}\n onCommit={(next) =>\n setSizes((current) => ({\n ...current,\n [def.id]: {\n width: current[def.id]?.width ?? def.width,\n height: next,\n },\n }))\n }\n />\n )}\n </StyledFieldGrid>\n <StyledFieldGrid>\n <NumberField\n label=\"Rotation\"\n unit=\"°\"\n value={rotation}\n onCommit={(next) =>\n setRotations((current) => ({ ...current, [def.id]: next }))\n }\n />\n </StyledFieldGrid>\n </StyledPropGroup>\n ) : null}\n\n {traits.fill ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Fill\n </Body2>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Color\n </Label>\n <ColorPickerField\n includeTransparent={traits.fillTransparent}\n value={currentFill}\n onSelect={setFill}\n />\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Opacity\n </Label>\n <OptionSelect\n options={OPACITY_OPTIONS.map((opacity) => ({\n id: opacity,\n name: `${opacity}%`,\n }))}\n value={currentFillOpacity}\n triggerLabel={`${currentFillOpacity}%`}\n onChange={(next) => setFillOpacity(Number(next))}\n />\n </StyledPropRow>\n </StyledFieldGrid>\n </StyledPropGroup>\n ) : null}\n\n {traits.stroke && shape ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Stroke\n </Body2>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Pattern\n </Label>\n <StyledSegmented>\n <ChooseV2\n required\n options={BORDER_STYLE_OPTIONS.map((option) => ({\n id: option.label,\n name: option.label,\n }))}\n selected={[\n BORDER_STYLE_OPTIONS.find(\n (option) => option.value === shape.strokeDash\n )?.label ?? \"Solid\",\n ]}\n onChange={(selected) =>\n updateShape({\n strokeDash: BORDER_STYLE_OPTIONS.find(\n (option) => option.label === selected[0]\n )?.value,\n })\n }\n />\n </StyledSegmented>\n </StyledPropRow>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Thickness\n </Label>\n <OptionSelect\n options={THICKNESS_OPTIONS.map((thickness) => ({\n id: thickness,\n name: `${thickness} pt`,\n }))}\n value={shape.strokeWidth}\n triggerLabel={`${shape.strokeWidth} pt`}\n onChange={(next) =>\n updateShape({ strokeWidth: Number(next) })\n }\n />\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Color\n </Label>\n <ColorPickerField\n value={shape.stroke}\n onSelect={(color) => updateShape({ stroke: color })}\n />\n </StyledPropRow>\n </StyledFieldGrid>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Radius\n </Label>\n <OptionSelect\n options={RADIUS_OPTIONS.map((radius) => ({\n id: radius,\n name: `${radius} px`,\n }))}\n value={shape.borderRadius}\n triggerLabel={`${shape.borderRadius} px`}\n onChange={(next) =>\n updateShape({ borderRadius: Number(next) })\n }\n />\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Opacity\n </Label>\n <OptionSelect\n options={OPACITY_OPTIONS.map((opacity) => ({\n id: opacity,\n name: `${opacity}%`,\n }))}\n value={shape.strokeOpacity}\n triggerLabel={`${shape.strokeOpacity}%`}\n onChange={(next) =>\n updateShape({ strokeOpacity: Number(next) })\n }\n />\n </StyledPropRow>\n </StyledFieldGrid>\n </StyledPropGroup>\n ) : null}\n\n {traits.text ? (\n <StyledPropGroup>\n <Body2 weight=\"bold\" className=\"group-title\">\n Text\n </Body2>\n <StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Style\n </Label>\n <StyledSegmented>\n {STYLE_OPTIONS.map((option) => (\n <Tooltip key={option.key} title={option.label}>\n <IconButton\n variant=\"text gray\"\n active={styleFlags[option.key]}\n aria-label={option.label}\n onClick={() => toggleStyle(option.key)}\n >\n {option.icon}\n </IconButton>\n </Tooltip>\n ))}\n </StyledSegmented>\n </StyledPropRow>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Size\n </Label>\n <OptionSelect\n options={FONT_SIZE_OPTIONS.map((fontSize) => ({\n id: fontSize,\n name: `${fontSize} pt`,\n }))}\n value={currentFontSize}\n triggerLabel={`${currentFontSize} pt`}\n onChange={(next) => setFontSize(Number(next))}\n />\n </StyledPropRow>\n </StyledFieldGrid>\n <StyledPropRow>\n <Label size=\"small\" weight=\"regular\">\n Alignment\n </Label>\n <StyledSegmented>\n {ALIGN_OPTIONS.map((option) => (\n <Tooltip key={option.value} title={option.label}>\n <IconButton\n variant=\"text gray\"\n active={currentAlign === option.value}\n aria-label={option.label}\n onClick={() => setAlign(option.value)}\n >\n {option.icon}\n </IconButton>\n </Tooltip>\n ))}\n </StyledSegmented>\n </StyledPropRow>\n </StyledPropGroup>\n ) : null}\n </>\n )\n );\n};\n"],"mappings":"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","ignoreList":[]}
|