@pie-lib/mask-markup 2.2.0-next.9 → 3.0.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,121 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.2.0-next.37](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.36...@pie-lib/mask-markup@2.2.0-next.37) (2026-04-23)
7
+
8
+ **Note:** Version bump only for package @pie-lib/mask-markup
9
+
10
+ # [2.2.0-next.36](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.35...@pie-lib/mask-markup@2.2.0-next.36) (2026-04-17)
11
+
12
+ **Note:** Version bump only for package @pie-lib/mask-markup
13
+
14
+ # [2.2.0-next.35](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.34...@pie-lib/mask-markup@2.2.0-next.35) (2026-04-16)
15
+
16
+ **Note:** Version bump only for package @pie-lib/mask-markup
17
+
18
+ # [2.2.0-next.34](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.33...@pie-lib/mask-markup@2.2.0-next.34) (2026-04-16)
19
+
20
+ **Note:** Version bump only for package @pie-lib/mask-markup
21
+
22
+ # [2.2.0-next.33](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.32...@pie-lib/mask-markup@2.2.0-next.33) (2026-04-16)
23
+
24
+ **Note:** Version bump only for package @pie-lib/mask-markup
25
+
26
+ # [2.2.0-next.32](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.31...@pie-lib/mask-markup@2.2.0-next.32) (2026-04-15)
27
+
28
+ **Note:** Version bump only for package @pie-lib/mask-markup
29
+
30
+ # [2.2.0-next.31](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.30...@pie-lib/mask-markup@2.2.0-next.31) (2026-04-15)
31
+
32
+ **Note:** Version bump only for package @pie-lib/mask-markup
33
+
34
+ # [2.2.0-next.30](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.29...@pie-lib/mask-markup@2.2.0-next.30) (2026-04-14)
35
+
36
+ **Note:** Version bump only for package @pie-lib/mask-markup
37
+
38
+ # [2.2.0-next.29](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.28...@pie-lib/mask-markup@2.2.0-next.29) (2026-04-13)
39
+
40
+ **Note:** Version bump only for package @pie-lib/mask-markup
41
+
42
+ # [2.2.0-next.28](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.27...@pie-lib/mask-markup@2.2.0-next.28) (2026-04-09)
43
+
44
+ **Note:** Version bump only for package @pie-lib/mask-markup
45
+
46
+ # [2.2.0-next.27](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.26...@pie-lib/mask-markup@2.2.0-next.27) (2026-04-09)
47
+
48
+ **Note:** Version bump only for package @pie-lib/mask-markup
49
+
50
+ # [2.2.0-next.26](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.25...@pie-lib/mask-markup@2.2.0-next.26) (2026-04-08)
51
+
52
+ **Note:** Version bump only for package @pie-lib/mask-markup
53
+
54
+ # [2.2.0-next.25](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.24...@pie-lib/mask-markup@2.2.0-next.25) (2026-04-07)
55
+
56
+ **Note:** Version bump only for package @pie-lib/mask-markup
57
+
58
+ # [2.2.0-next.24](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.23...@pie-lib/mask-markup@2.2.0-next.24) (2026-04-06)
59
+
60
+ **Note:** Version bump only for package @pie-lib/mask-markup
61
+
62
+ # [2.2.0-next.23](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.22...@pie-lib/mask-markup@2.2.0-next.23) (2026-04-03)
63
+
64
+ **Note:** Version bump only for package @pie-lib/mask-markup
65
+
66
+ # [2.2.0-next.22](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.21...@pie-lib/mask-markup@2.2.0-next.22) (2026-03-31)
67
+
68
+ **Note:** Version bump only for package @pie-lib/mask-markup
69
+
70
+ # [2.2.0-next.21](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.20...@pie-lib/mask-markup@2.2.0-next.21) (2026-03-25)
71
+
72
+ **Note:** Version bump only for package @pie-lib/mask-markup
73
+
74
+ # [2.2.0-next.20](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.19...@pie-lib/mask-markup@2.2.0-next.20) (2026-03-18)
75
+
76
+ **Note:** Version bump only for package @pie-lib/mask-markup
77
+
78
+ # [2.2.0-next.19](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.18...@pie-lib/mask-markup@2.2.0-next.19) (2026-03-18)
79
+
80
+ ### Bug Fixes
81
+
82
+ - **mask-markup:** add tests for new getMeasureNode method PD-5501 ([85bd3f6](https://github.com/pie-framework/pie-lib/commit/85bd3f6ea7610819b676bc0113151bd8ef06709f))
83
+
84
+ # [2.2.0-next.18](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.17...@pie-lib/mask-markup@2.2.0-next.18) (2026-03-18)
85
+
86
+ ### Bug Fixes
87
+
88
+ - add touchAction style to prevent touch interactions in DragInTheBlank and blank components PD-5811 ([ba4d73b](https://github.com/pie-framework/pie-lib/commit/ba4d73b4785cc59e85f3055902667a1cd4db325c))
89
+ - remove unnecessary newline in StyledChip component ([02acee2](https://github.com/pie-framework/pie-lib/commit/02acee2e8e741a56b854abd62c27de89cbf02f33))
90
+
91
+ # [2.2.0-next.17](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.16...@pie-lib/mask-markup@2.2.0-next.17) (2026-03-11)
92
+
93
+ **Note:** Version bump only for package @pie-lib/mask-markup
94
+
95
+ # [2.2.0-next.16](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.15...@pie-lib/mask-markup@2.2.0-next.16) (2026-03-11)
96
+
97
+ **Note:** Version bump only for package @pie-lib/mask-markup
98
+
99
+ # [2.2.0-next.15](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.14...@pie-lib/mask-markup@2.2.0-next.15) (2026-03-09)
100
+
101
+ **Note:** Version bump only for package @pie-lib/mask-markup
102
+
103
+ # [2.2.0-next.14](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.13...@pie-lib/mask-markup@2.2.0-next.14) (2026-03-09)
104
+
105
+ ### Bug Fixes
106
+
107
+ - **mask-markup:** compute mjx-container height based on parent PD-5501 ([66277b5](https://github.com/pie-framework/pie-lib/commit/66277b52a36d2178c13bf93962a0646b5a2d0ae0))
108
+
109
+ # [2.2.0-next.13](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.12...@pie-lib/mask-markup@2.2.0-next.13) (2026-03-06)
110
+
111
+ **Note:** Version bump only for package @pie-lib/mask-markup
112
+
113
+ # [2.2.0-next.12](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.11...@pie-lib/mask-markup@2.2.0-next.12) (2026-03-04)
114
+
115
+ **Note:** Version bump only for package @pie-lib/mask-markup
116
+
117
+ # [2.2.0-next.11](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.9...@pie-lib/mask-markup@2.2.0-next.11) (2026-02-26)
118
+
119
+ **Note:** Version bump only for package @pie-lib/mask-markup
120
+
6
121
  # [2.2.0-next.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.2.0-next.8...@pie-lib/mask-markup@2.2.0-next.9) (2026-02-25)
7
122
 
8
123
  **Note:** Version bump only for package @pie-lib/mask-markup
@@ -45,6 +45,7 @@ var StyledChip = (0, _styles.styled)(_Chip["default"])(function () {
45
45
  return {
46
46
  backgroundColor: _renderUi.color.background(),
47
47
  border: "2px dashed ".concat(_renderUi.color.text()),
48
+ touchAction: 'none',
48
49
  color: _renderUi.color.text(),
49
50
  fontSize: 'inherit',
50
51
  maxWidth: '374px',
@@ -141,14 +142,25 @@ function BlankContent(_ref2) {
141
142
  }, 300);
142
143
  }
143
144
  };
145
+ var getMeasureNode = function getMeasureNode() {
146
+ if (!spanRef.current) return null;
147
+ var mjx = spanRef.current.querySelector('mjx-container');
148
+ if (mjx && spanRef.current.parentElement) return spanRef.current.parentElement;
149
+ var img = spanRef.current.querySelector('img');
150
+ if (img) return img;
151
+ return spanRef.current;
152
+ };
144
153
  var updateDimensions = function updateDimensions() {
145
154
  if (spanRef.current && rootRef.current) {
146
155
  // Temporarily set rootRef width to 'auto' for natural measurement
147
156
  rootRef.current.style.width = 'auto';
148
-
149
- // Get the natural dimensions of the content
150
- var width = spanRef.current.offsetWidth || 0;
151
- var height = spanRef.current.offsetHeight || 0;
157
+ rootRef.current.style.height = 'auto';
158
+ rootRef.current.offsetHeight;
159
+ var measureNode = getMeasureNode();
160
+ var node = measureNode || spanRef.current;
161
+ var rect = node.getBoundingClientRect();
162
+ var width = rect.width || node.offsetWidth || 0;
163
+ var height = Math.max(rect.height || 0, node.offsetHeight || 0, node.scrollHeight || 0, spanRef.current.scrollHeight || 0);
152
164
  var widthWithPadding = width + 24; // 12px padding on each side
153
165
  var heightWithPadding = height + 24; // 12px padding on top and bottom
154
166
 
@@ -1 +1 @@
1
- {"version":3,"file":"blank.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_mathRendering","_debug","_core","_utilities","_styles","_Chip","_classnames","_renderUi","_colors","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledContent","styled","_ref","dragged","over","border","concat","color","primary","minWidth","touchAction","overflow","whiteSpace","opacity","StyledChip","Chip","backgroundColor","background","text","fontSize","maxWidth","position","borderRadius","grey","correct","incorrect","StyledChipLabel","pointerEvents","display","padding","marginTop","marginBottom","left","top","transform","BlankContent","_ref2","_dragItem$choice","_frozenRef$current","_frozenRef$current2","disabled","choice","isOver","isDragging","dragItem","emptyResponseAreaWidth","emptyResponseAreaHeight","rootRef","useRef","spanRef","frozenRef","_useState","useState","height","width","_useState2","_slicedToArray2","dimensions","setDimensions","handleImageLoad","updateDimensions","handleElements","_spanRef$current","imageElement","current","querySelector","onload","setTimeout","style","offsetWidth","offsetHeight","widthWithPadding","heightWithPadding","responseAreaWidth","parseFloat","responseAreaHeight","adjustedWidth","adjustedHeight","prevState","getRootDimensions","isNaN","rootStyle","minHeight","useEffect","renderMath","value","draggedLabel","label","createElement","clickable","ref","component","Fragment","draggable","className","classnames","hidden","dangerouslySetInnerHTML","__html","parentOver","undefined","variant","defaultProps","propTypes","id","PropTypes","oneOfType","string","number","bool","duplicates","object","onChange","func","instanceId","DragDropBlank","_ref3","_dragItem$data","_useDraggable","useDraggable","data","fromChoice","type","dragAttributes","attributes","dragListeners","listeners","setDragNodeRef","setNodeRef","_useDroppable","useDroppable","accepts","setDropNodeRef","active","node","CSS","Translate","toString","_extends2","_default","exports"],"sources":["../../src/components/blank.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport { styled } from '@mui/material/styles';\nimport Chip from '@mui/material/Chip';\nimport classnames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\nimport { grey } from '@mui/material/colors';\n\nconst log = debug('pie-lib:mask-markup:blank');\n\nconst StyledContent = styled('span')(({ dragged, over }) => ({\n border: `solid 0px ${color.primary()}`,\n minWidth: '200px',\n touchAction: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n opacity: 1,\n ...(over && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n }),\n ...(dragged && {\n opacity: 0.5,\n }),\n}));\n\nconst StyledChip = styled(Chip)(() => ({\n backgroundColor: color.background(),\n border: `2px dashed ${color.text()}`,\n color: color.text(),\n fontSize: 'inherit',\n maxWidth: '374px',\n position: 'relative',\n borderRadius: '3px',\n '&.over': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n '&.parentOver': {\n border: `1px solid ${grey[500]}`,\n backgroundColor: `${grey[300]}`,\n },\n '&.correct': {\n border: `solid 1px ${color.correct()}`,\n },\n '&.incorrect': {\n border: `solid 1px ${color.incorrect()}`,\n },\n '&.Mui-disabled': {\n opacity: 1,\n },\n}));\n\nconst StyledChipLabel = styled('span')(() => ({\n whiteSpace: 'normal',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n // Remove default <p> margins to ensure consistent spacing across all wrapped content (p, span, div, math)\n // Padding for top and bottom will instead be controlled by the container for consistent layout\n // Ensures consistent behavior with pie-api-browser, where marginTop is already removed by a Bootstrap stylesheet\n '& p': {\n marginTop: '0',\n marginBottom: '0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n '&.over': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n '&.hidden': {\n color: 'transparent',\n opacity: 0,\n },\n '&.dragged': {\n position: 'absolute',\n left: 16,\n maxWidth: '60px',\n top: '50%',\n transform: 'translateY(-50%)',\n },\n}));\n\nfunction BlankContent({\n disabled,\n choice,\n isOver,\n isDragging,\n dragItem,\n correct,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n}) {\n const rootRef = useRef(null);\n const spanRef = useRef(null);\n const frozenRef = useRef(null); // to use during dragging to prevent flickering\n const [dimensions, setDimensions] = useState({ height: 0, width: 0 });\n\n const handleImageLoad = () => {\n updateDimensions();\n };\n\n const handleElements = () => {\n const imageElement = spanRef.current?.querySelector('img');\n if (imageElement) {\n imageElement.onload = handleImageLoad;\n } else {\n setTimeout(() => {\n updateDimensions();\n }, 300);\n }\n };\n\n const updateDimensions = () => {\n if (spanRef.current && rootRef.current) {\n // Temporarily set rootRef width to 'auto' for natural measurement\n rootRef.current.style.width = 'auto';\n\n // Get the natural dimensions of the content\n const width = spanRef.current.offsetWidth || 0;\n const height = spanRef.current.offsetHeight || 0;\n\n const widthWithPadding = width + 24; // 12px padding on each side\n const heightWithPadding = height + 24; // 12px padding on top and bottom\n\n const responseAreaWidth = parseFloat(emptyResponseAreaWidth) || 0;\n const responseAreaHeight = parseFloat(emptyResponseAreaHeight) || 0;\n\n const adjustedWidth = widthWithPadding <= responseAreaWidth ? responseAreaWidth : widthWithPadding;\n const adjustedHeight = heightWithPadding <= responseAreaHeight ? responseAreaHeight : heightWithPadding;\n\n setDimensions((prevState) => ({\n width: adjustedWidth > responseAreaWidth ? adjustedWidth : prevState.width,\n height: adjustedHeight > responseAreaHeight ? adjustedHeight : prevState.height,\n }));\n\n rootRef.current.style.width = `${adjustedWidth}px`;\n rootRef.current.style.height = `${adjustedHeight}px`;\n }\n };\n\n const getRootDimensions = () => {\n // Handle potential non-numeric values\n const responseAreaWidth = !isNaN(parseFloat(emptyResponseAreaWidth)) ? parseFloat(emptyResponseAreaWidth) : 0;\n const responseAreaHeight = !isNaN(parseFloat(emptyResponseAreaHeight)) ? parseFloat(emptyResponseAreaHeight) : 0;\n\n const rootStyle = {\n height: dimensions.height || responseAreaHeight,\n width: dimensions.width || responseAreaWidth,\n };\n\n // add minWidth, minHeight if width and height are not defined\n return {\n ...rootStyle,\n ...(responseAreaWidth ? {} : { minWidth: 90 }),\n ...(responseAreaHeight ? {} : { minHeight: 32 }),\n };\n };\n\n useEffect(() => {\n handleElements();\n }, []);\n\n // Render math for the placeholder/preview when dragging over\n useEffect(() => {\n if (rootRef.current) {\n renderMath(rootRef.current);\n }\n }, [isOver, dragItem?.choice?.value]);\n\n useEffect(() => {\n if (!choice) {\n setDimensions({ height: 0, width: 0 });\n return;\n }\n handleElements();\n }, [choice]);\n\n useEffect(() => {\n if (!isOver && !isDragging) {\n frozenRef.current = {\n width: rootRef.current.offsetWidth,\n height: rootRef.current.offsetHeight,\n };\n }\n }, [choice, isOver, isDragging]);\n\n const draggedLabel = dragItem && isOver && dragItem.choice && dragItem.choice.value;\n const label = choice && choice.value;\n const style =\n isOver || isDragging\n ? {\n width: frozenRef.current?.width,\n height: frozenRef.current?.height,\n }\n : getRootDimensions();\n\n return (\n <StyledChip\n clickable={false}\n disabled={disabled}\n ref={rootRef}\n component=\"span\"\n label={\n <React.Fragment>\n <StyledChipLabel\n ref={spanRef}\n draggable={true}\n className={classnames({\n over: isOver,\n hidden: draggedLabel,\n })}\n dangerouslySetInnerHTML={{ __html: label || '' }}\n />\n {draggedLabel && (\n <StyledChipLabel\n draggable={true}\n className={classnames({\n over: isOver,\n dragged: true,\n })}\n dangerouslySetInnerHTML={{ __html: draggedLabel || '' }}\n />\n )}\n </React.Fragment>\n }\n className={classnames({\n over: isOver,\n parentOver: isOver,\n correct: correct !== undefined && correct,\n incorrect: correct !== undefined && !correct,\n })}\n variant={disabled ? 'outlined' : undefined}\n style={style}\n />\n );\n}\n\nBlankContent.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nBlankContent.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n};\n\n// New functional component using @dnd-kit hooks\nfunction DragDropBlank({\n id,\n disabled,\n duplicates,\n choice,\n correct,\n onChange,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n instanceId,\n}) {\n // Setup draggable functionality\n const {\n attributes: dragAttributes,\n listeners: dragListeners,\n setNodeRef: setDragNodeRef,\n transform,\n isDragging,\n } = useDraggable({\n id: `mask-blank-drag-${id}`,\n disabled: disabled || !choice,\n data: {\n id: id,\n choice: choice,\n instanceId: instanceId,\n fromChoice: false, // This is from a blank, not from choices\n type: 'MaskBlank',\n },\n });\n\n // Setup droppable functionality\n const {\n setNodeRef: setDropNodeRef,\n isOver,\n active: dragItem,\n } = useDroppable({\n id: `mask-blank-drop-${id}`,\n data: {\n id: id,\n accepts: ['MaskBlank'],\n instanceId: instanceId,\n },\n });\n\n // Combine refs for both drag and drop\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n };\n\n const style = {\n transform: CSS.Translate.toString(transform),\n };\n\n return (\n <StyledContent\n ref={setNodeRef}\n style={style}\n dragged={isDragging}\n over={isOver}\n {...dragAttributes}\n {...dragListeners}\n >\n <BlankContent\n id={id}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n isOver={isOver}\n dragItem={dragItem?.data?.current}\n correct={correct}\n onChange={onChange}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n instanceId={instanceId}\n />\n </StyledContent>\n );\n}\n\nDragDropBlank.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nDragDropBlank.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n};\n\nexport default DragDropBlank;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"blank.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_mathRendering","_debug","_core","_utilities","_styles","_Chip","_classnames","_renderUi","_colors","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledContent","styled","_ref","dragged","over","border","concat","color","primary","minWidth","touchAction","overflow","whiteSpace","opacity","StyledChip","Chip","backgroundColor","background","text","fontSize","maxWidth","position","borderRadius","grey","correct","incorrect","StyledChipLabel","pointerEvents","display","padding","marginTop","marginBottom","left","top","transform","BlankContent","_ref2","_dragItem$choice","_frozenRef$current","_frozenRef$current2","disabled","choice","isOver","isDragging","dragItem","emptyResponseAreaWidth","emptyResponseAreaHeight","rootRef","useRef","spanRef","frozenRef","_useState","useState","height","width","_useState2","_slicedToArray2","dimensions","setDimensions","handleImageLoad","updateDimensions","handleElements","_spanRef$current","imageElement","current","querySelector","onload","setTimeout","getMeasureNode","mjx","parentElement","img","style","offsetHeight","measureNode","node","rect","getBoundingClientRect","offsetWidth","Math","max","scrollHeight","widthWithPadding","heightWithPadding","responseAreaWidth","parseFloat","responseAreaHeight","adjustedWidth","adjustedHeight","prevState","getRootDimensions","isNaN","rootStyle","minHeight","useEffect","renderMath","value","draggedLabel","label","createElement","clickable","ref","component","Fragment","draggable","className","classnames","hidden","dangerouslySetInnerHTML","__html","parentOver","undefined","variant","defaultProps","propTypes","id","PropTypes","oneOfType","string","number","bool","duplicates","object","onChange","func","instanceId","DragDropBlank","_ref3","_dragItem$data","_useDraggable","useDraggable","data","fromChoice","type","dragAttributes","attributes","dragListeners","listeners","setDragNodeRef","setNodeRef","_useDroppable","useDroppable","accepts","setDropNodeRef","active","CSS","Translate","toString","_extends2","_default","exports"],"sources":["../../src/components/blank.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport { styled } from '@mui/material/styles';\nimport Chip from '@mui/material/Chip';\nimport classnames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\nimport { grey } from '@mui/material/colors';\n\nconst log = debug('pie-lib:mask-markup:blank');\n\nconst StyledContent = styled('span')(({ dragged, over }) => ({\n border: `solid 0px ${color.primary()}`,\n minWidth: '200px',\n touchAction: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n opacity: 1,\n ...(over && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n }),\n ...(dragged && {\n opacity: 0.5,\n }),\n}));\n\nconst StyledChip = styled(Chip)(() => ({\n backgroundColor: color.background(),\n border: `2px dashed ${color.text()}`,\n touchAction: 'none',\n color: color.text(),\n fontSize: 'inherit',\n maxWidth: '374px',\n position: 'relative',\n borderRadius: '3px',\n '&.over': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n '&.parentOver': {\n border: `1px solid ${grey[500]}`,\n backgroundColor: `${grey[300]}`,\n },\n '&.correct': {\n border: `solid 1px ${color.correct()}`,\n },\n '&.incorrect': {\n border: `solid 1px ${color.incorrect()}`,\n },\n '&.Mui-disabled': {\n opacity: 1,\n },\n}));\n\nconst StyledChipLabel = styled('span')(() => ({\n whiteSpace: 'normal',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n // If interactions with the image in the token will be requested we should handle only the context Menu.\n pointerEvents: 'none',\n '& img': {\n display: 'block',\n padding: '2px 0',\n },\n // Remove default <p> margins to ensure consistent spacing across all wrapped content (p, span, div, math)\n // Padding for top and bottom will instead be controlled by the container for consistent layout\n // Ensures consistent behavior with pie-api-browser, where marginTop is already removed by a Bootstrap stylesheet\n '& p': {\n marginTop: '0',\n marginBottom: '0',\n },\n '& mjx-frac': {\n fontSize: '120% !important',\n },\n '&.over': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n '&.hidden': {\n color: 'transparent',\n opacity: 0,\n },\n '&.dragged': {\n position: 'absolute',\n left: 16,\n maxWidth: '60px',\n top: '50%',\n transform: 'translateY(-50%)',\n },\n}));\n\nfunction BlankContent({\n disabled,\n choice,\n isOver,\n isDragging,\n dragItem,\n correct,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n}) {\n const rootRef = useRef(null);\n const spanRef = useRef(null);\n const frozenRef = useRef(null); // to use during dragging to prevent flickering\n const [dimensions, setDimensions] = useState({ height: 0, width: 0 });\n\n const handleImageLoad = () => {\n updateDimensions();\n };\n\n const handleElements = () => {\n const imageElement = spanRef.current?.querySelector('img');\n if (imageElement) {\n imageElement.onload = handleImageLoad;\n } else {\n setTimeout(() => {\n updateDimensions();\n }, 300);\n }\n };\n\n const getMeasureNode = () => {\n if (!spanRef.current) return null;\n const mjx = spanRef.current.querySelector('mjx-container');\n if (mjx && spanRef.current.parentElement) return spanRef.current.parentElement;\n const img = spanRef.current.querySelector('img');\n if (img) return img;\n return spanRef.current;\n };\n\n const updateDimensions = () => {\n if (spanRef.current && rootRef.current) {\n // Temporarily set rootRef width to 'auto' for natural measurement\n rootRef.current.style.width = 'auto';\n rootRef.current.style.height = 'auto';\n rootRef.current.offsetHeight;\n\n const measureNode = getMeasureNode();\n const node = measureNode || spanRef.current;\n const rect = node.getBoundingClientRect();\n const width = rect.width || node.offsetWidth || 0;\n const height = Math.max(\n rect.height || 0,\n node.offsetHeight || 0,\n node.scrollHeight || 0,\n spanRef.current.scrollHeight || 0,\n );\n\n const widthWithPadding = width + 24; // 12px padding on each side\n const heightWithPadding = height + 24; // 12px padding on top and bottom\n\n const responseAreaWidth = parseFloat(emptyResponseAreaWidth) || 0;\n const responseAreaHeight = parseFloat(emptyResponseAreaHeight) || 0;\n\n const adjustedWidth = widthWithPadding <= responseAreaWidth ? responseAreaWidth : widthWithPadding;\n const adjustedHeight = heightWithPadding <= responseAreaHeight ? responseAreaHeight : heightWithPadding;\n\n setDimensions((prevState) => ({\n width: adjustedWidth > responseAreaWidth ? adjustedWidth : prevState.width,\n height: adjustedHeight > responseAreaHeight ? adjustedHeight : prevState.height,\n }));\n\n rootRef.current.style.width = `${adjustedWidth}px`;\n rootRef.current.style.height = `${adjustedHeight}px`;\n }\n };\n\n const getRootDimensions = () => {\n // Handle potential non-numeric values\n const responseAreaWidth = !isNaN(parseFloat(emptyResponseAreaWidth)) ? parseFloat(emptyResponseAreaWidth) : 0;\n const responseAreaHeight = !isNaN(parseFloat(emptyResponseAreaHeight)) ? parseFloat(emptyResponseAreaHeight) : 0;\n\n const rootStyle = {\n height: dimensions.height || responseAreaHeight,\n width: dimensions.width || responseAreaWidth,\n };\n\n // add minWidth, minHeight if width and height are not defined\n return {\n ...rootStyle,\n ...(responseAreaWidth ? {} : { minWidth: 90 }),\n ...(responseAreaHeight ? {} : { minHeight: 32 }),\n };\n };\n\n useEffect(() => {\n handleElements();\n }, []);\n\n // Render math for the placeholder/preview when dragging over\n useEffect(() => {\n if (rootRef.current) {\n renderMath(rootRef.current);\n }\n }, [isOver, dragItem?.choice?.value]);\n\n useEffect(() => {\n if (!choice) {\n setDimensions({ height: 0, width: 0 });\n return;\n }\n handleElements();\n }, [choice]);\n\n useEffect(() => {\n if (!isOver && !isDragging) {\n frozenRef.current = {\n width: rootRef.current.offsetWidth,\n height: rootRef.current.offsetHeight,\n };\n }\n }, [choice, isOver, isDragging]);\n\n const draggedLabel = dragItem && isOver && dragItem.choice && dragItem.choice.value;\n const label = choice && choice.value;\n const style =\n isOver || isDragging\n ? {\n width: frozenRef.current?.width,\n height: frozenRef.current?.height,\n }\n : getRootDimensions();\n\n return (\n <StyledChip\n clickable={false}\n disabled={disabled}\n ref={rootRef}\n component=\"span\"\n label={\n <React.Fragment>\n <StyledChipLabel\n ref={spanRef}\n draggable={true}\n className={classnames({\n over: isOver,\n hidden: draggedLabel,\n })}\n dangerouslySetInnerHTML={{ __html: label || '' }}\n />\n {draggedLabel && (\n <StyledChipLabel\n draggable={true}\n className={classnames({\n over: isOver,\n dragged: true,\n })}\n dangerouslySetInnerHTML={{ __html: draggedLabel || '' }}\n />\n )}\n </React.Fragment>\n }\n className={classnames({\n over: isOver,\n parentOver: isOver,\n correct: correct !== undefined && correct,\n incorrect: correct !== undefined && !correct,\n })}\n variant={disabled ? 'outlined' : undefined}\n style={style}\n />\n );\n}\n\nBlankContent.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nBlankContent.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n isOver: PropTypes.bool,\n dragItem: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n};\n\n// New functional component using @dnd-kit hooks\nfunction DragDropBlank({\n id,\n disabled,\n duplicates,\n choice,\n correct,\n onChange,\n emptyResponseAreaWidth,\n emptyResponseAreaHeight,\n instanceId,\n}) {\n // Setup draggable functionality\n const {\n attributes: dragAttributes,\n listeners: dragListeners,\n setNodeRef: setDragNodeRef,\n transform,\n isDragging,\n } = useDraggable({\n id: `mask-blank-drag-${id}`,\n disabled: disabled || !choice,\n data: {\n id: id,\n choice: choice,\n instanceId: instanceId,\n fromChoice: false, // This is from a blank, not from choices\n type: 'MaskBlank',\n },\n });\n\n // Setup droppable functionality\n const {\n setNodeRef: setDropNodeRef,\n isOver,\n active: dragItem,\n } = useDroppable({\n id: `mask-blank-drop-${id}`,\n data: {\n id: id,\n accepts: ['MaskBlank'],\n instanceId: instanceId,\n },\n });\n\n // Combine refs for both drag and drop\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n };\n\n const style = {\n transform: CSS.Translate.toString(transform),\n };\n\n return (\n <StyledContent\n ref={setNodeRef}\n style={style}\n dragged={isDragging}\n over={isOver}\n {...dragAttributes}\n {...dragListeners}\n >\n <BlankContent\n id={id}\n disabled={disabled}\n duplicates={duplicates}\n choice={choice}\n isOver={isOver}\n dragItem={dragItem?.data?.current}\n correct={correct}\n onChange={onChange}\n emptyResponseAreaWidth={emptyResponseAreaWidth}\n emptyResponseAreaHeight={emptyResponseAreaHeight}\n instanceId={instanceId}\n />\n </StyledContent>\n );\n}\n\nDragDropBlank.defaultProps = {\n emptyResponseAreaWidth: 0,\n emptyResponseAreaHeight: 0,\n};\n\nDragDropBlank.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n duplicates: PropTypes.bool,\n choice: PropTypes.object,\n correct: PropTypes.bool,\n onChange: PropTypes.func,\n emptyResponseAreaWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n emptyResponseAreaHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n instanceId: PropTypes.string,\n};\n\nexport default DragDropBlank;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/mask-markup",
3
- "version": "2.2.0-next.9",
3
+ "version": "3.0.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
@@ -13,10 +13,10 @@
13
13
  "@emotion/style": "^0.8.0",
14
14
  "@mui/icons-material": "^7.3.4",
15
15
  "@mui/material": "^7.3.4",
16
- "@pie-lib/drag": "^3.2.0-next.2",
17
- "@pie-lib/editable-html-tip-tap": "^1.2.0-next.9",
18
- "@pie-lib/math-rendering": "^4.2.0-next.1",
19
- "@pie-lib/render-ui": "^5.2.0-next.2",
16
+ "@pie-lib/drag": "^4.0.0",
17
+ "@pie-lib/editable-html-tip-tap": "^2.0.0",
18
+ "@pie-lib/math-rendering": "^5.0.0",
19
+ "@pie-lib/render-ui": "^6.0.0",
20
20
  "classnames": "^2.2.6",
21
21
  "debug": "^4.1.1",
22
22
  "lodash-es": "^4.17.23",
@@ -28,5 +28,5 @@
28
28
  "keywords": [],
29
29
  "author": "",
30
30
  "license": "ISC",
31
- "gitHead": "8dae0afa87e3d2487400ab8fe8190511931e7740"
31
+ "gitHead": "bf0904ba8bdd2d6f88fb8ad99060e45e40180348"
32
32
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { render, screen } from '@testing-library/react';
2
+ import { render, screen, act } from '@testing-library/react';
3
3
  import Blank from '../blank';
4
4
 
5
5
  // Mock @dnd-kit hooks to avoid DndContext requirement
@@ -120,6 +120,38 @@ describe('Blank', () => {
120
120
  );
121
121
  expect(container.firstChild).toBeInTheDocument();
122
122
  });
123
+
124
+ it('computes chip dimensions based on content when no emptyResponseArea size is provided', () => {
125
+ jest.useFakeTimers();
126
+ // Mock getBoundingClientRect to simulate measured content size
127
+ const rectSpy = jest
128
+ .spyOn(HTMLElement.prototype, 'getBoundingClientRect')
129
+ .mockReturnValue({ width: 100, height: 20, top: 0, left: 0, right: 100, bottom: 20 });
130
+
131
+ const { container } = render(
132
+ <Blank
133
+ {...defaultProps}
134
+ // Force measurement path that uses getMeasureNode / updateDimensions
135
+ emptyResponseAreaHeight={0}
136
+ emptyResponseAreaWidth={0}
137
+ />,
138
+ );
139
+
140
+ // Let the internal timeout in handleElements / updateDimensions run
141
+ act(() => {
142
+ jest.runAllTimers();
143
+ });
144
+
145
+ const wrapper = container.firstChild; // StyledContent
146
+ const chip = wrapper && wrapper.firstChild; // StyledChip (rootRef)
147
+
148
+ // Width and height should include padding (24px) around measured content
149
+ expect(chip.style.width).toBe('124px');
150
+ expect(chip.style.height).toBe('44px');
151
+
152
+ rectSpy.mockRestore();
153
+ jest.useRealTimers();
154
+ });
123
155
  });
124
156
 
125
157
  describe('drag and drop', () => {
@@ -31,6 +31,7 @@ const StyledContent = styled('span')(({ dragged, over }) => ({
31
31
  const StyledChip = styled(Chip)(() => ({
32
32
  backgroundColor: color.background(),
33
33
  border: `2px dashed ${color.text()}`,
34
+ touchAction: 'none',
34
35
  color: color.text(),
35
36
  fontSize: 'inherit',
36
37
  maxWidth: '374px',
@@ -122,14 +123,32 @@ function BlankContent({
122
123
  }
123
124
  };
124
125
 
126
+ const getMeasureNode = () => {
127
+ if (!spanRef.current) return null;
128
+ const mjx = spanRef.current.querySelector('mjx-container');
129
+ if (mjx && spanRef.current.parentElement) return spanRef.current.parentElement;
130
+ const img = spanRef.current.querySelector('img');
131
+ if (img) return img;
132
+ return spanRef.current;
133
+ };
134
+
125
135
  const updateDimensions = () => {
126
136
  if (spanRef.current && rootRef.current) {
127
137
  // Temporarily set rootRef width to 'auto' for natural measurement
128
138
  rootRef.current.style.width = 'auto';
129
-
130
- // Get the natural dimensions of the content
131
- const width = spanRef.current.offsetWidth || 0;
132
- const height = spanRef.current.offsetHeight || 0;
139
+ rootRef.current.style.height = 'auto';
140
+ rootRef.current.offsetHeight;
141
+
142
+ const measureNode = getMeasureNode();
143
+ const node = measureNode || spanRef.current;
144
+ const rect = node.getBoundingClientRect();
145
+ const width = rect.width || node.offsetWidth || 0;
146
+ const height = Math.max(
147
+ rect.height || 0,
148
+ node.offsetHeight || 0,
149
+ node.scrollHeight || 0,
150
+ spanRef.current.scrollHeight || 0,
151
+ );
133
152
 
134
153
  const widthWithPadding = width + 24; // 12px padding on each side
135
154
  const heightWithPadding = height + 24; // 12px padding on top and bottom