Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
813b400
feat: bump react & react dom to 18.2
CarlaCostea Oct 13, 2025
468e620
feat: change material ui versions and dependencies PD-5258
PatriciaRomaniuc Oct 31, 2025
9aeab4f
update pie-lib versions
PatriciaRomaniuc Nov 3, 2025
bc15eac
fix: bump libs, remove ^ from pie-lib references
CarlaCostea Nov 3, 2025
39d86d4
comment out calculator - temporary fix
PatriciaRomaniuc Nov 3, 2025
3631e8d
update calculator version, fix small build errors, trying to fix babe…
PatriciaRomaniuc Nov 3, 2025
5e630da
fix: change babel not to exclude mui
arimieandreea Nov 4, 2025
009a8af
feat: boilerplate-item-type update
PatriciaRomaniuc Nov 4, 2025
3d17c01
feat: boilerplate-item-type and calculator update
PatriciaRomaniuc Nov 5, 2025
8b25dd2
chore: bump pie-libs
CarlaCostea Nov 6, 2025
4c0bd4c
fix: charting styles and simplify index for styles
PatriciaRomaniuc Nov 6, 2025
5f14181
revert charting index file
PatriciaRomaniuc Nov 6, 2025
9d27474
feat: migrate ReactDOM.render to createRoot for React 18 compatibility
CarlaCostea Nov 6, 2025
67c7647
Merge pull request #2835 from pie-framework/feat/PD-5258-R
CarlaCostea Nov 7, 2025
8c38d07
feat: drawing-response mui and react-konva update
PatriciaRomaniuc Nov 10, 2025
c75bb12
feat: explicit-constructed-response mui update
PatriciaRomaniuc Nov 11, 2025
59c95c1
feat: extended-text-entry mui update
PatriciaRomaniuc Nov 11, 2025
c7949da
feat: migrate multiple-choice to mui 5
arimieandreea Nov 11, 2025
99e6534
feat: fraction-model mui update
PatriciaRomaniuc Nov 12, 2025
67d259d
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
PatriciaRomaniuc Nov 12, 2025
ba0be15
feat: migrate inline dropdown to mui 5
arimieandreea Nov 13, 2025
319b916
feat: hotspot mui migration
PatriciaRomaniuc Nov 13, 2025
49bfbbd
fix: extend AlertDialog with the new props
arimieandreea Nov 14, 2025
dade54c
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
arimieandreea Nov 14, 2025
f47e11e
feat: graphing mui migration
PatriciaRomaniuc Nov 14, 2025
7236aa3
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
PatriciaRomaniuc Nov 14, 2025
67d229f
feat(likert): migrate likert to mui 7
arimieandreea Nov 17, 2025
6b7a6ce
feat: graphing-solution-set mui migration
PatriciaRomaniuc Nov 17, 2025
a61f947
feat: matrix mui migration
PatriciaRomaniuc Nov 17, 2025
57dc513
feat: rubric mui migration
PatriciaRomaniuc Nov 17, 2025
153b29c
chore: bump libs version
CarlaCostea Nov 17, 2025
9ee08d8
feat(math-inlune): migratie components and logic to mui 7
arimieandreea Nov 18, 2025
b604c9c
v11.2.0-mui-update.0
CarlaCostea Nov 18, 2025
2b2a79f
v8.2.0-mui-update.0
CarlaCostea Nov 18, 2025
72193bf
v11.2.0-mui-update.1
CarlaCostea Nov 18, 2025
c7a63a9
v11.2.0-mui-update.2
CarlaCostea Nov 18, 2025
9e76591
fix(math-inline): adjust tooltips logic and styles
arimieandreea Nov 19, 2025
39d7633
v11.2.0-mui-update.3
CarlaCostea Nov 19, 2025
2432932
chore: bump libs, add mc logs
CarlaCostea Nov 19, 2025
410d8c1
feat(math-inline): migrate math-inline to mui 7
arimieandreea Nov 19, 2025
d9b9ee2
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
arimieandreea Nov 19, 2025
8367888
feat: multi-trait-rubric mui migration
PatriciaRomaniuc Nov 19, 2025
57e37bf
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
PatriciaRomaniuc Nov 19, 2025
6e2194e
chore: update package dependencies and add exports for multiple packages
PatriciaRomaniuc Nov 20, 2025
9d2e391
chore: update @pie-lib dependencies to latest mui-update.0 versions
CarlaCostea Nov 20, 2025
c956bd4
v11.2.0-mui-update.4
CarlaCostea Nov 20, 2025
56cf742
v6.2.0-mui-update.0
CarlaCostea Nov 20, 2025
053338a
v8.2.0-mui-update.1
CarlaCostea Nov 20, 2025
ee4847a
v6.2.0-mui-update.1
CarlaCostea Nov 20, 2025
b4610d0
v6.2.0-mui-update.2
CarlaCostea Nov 20, 2025
c72167c
v6.2.0-mui-update.0
CarlaCostea Nov 20, 2025
1039eb7
v6.2.0-mui-update.1
CarlaCostea Nov 20, 2025
90bb17d
v6.2.1-mui-update.1
CarlaCostea Nov 20, 2025
df13bf1
feat: ebsr and complex-rubric mui migration
PatriciaRomaniuc Nov 20, 2025
68439e4
feat: match mui migration
PatriciaRomaniuc Nov 20, 2025
5578314
feat(math-templated): migrate math templated to mui 7
arimieandreea Nov 20, 2025
b2d284d
feat: match-list mui migration
PatriciaRomaniuc Nov 21, 2025
7fb8a67
feat: ruler mui migration
PatriciaRomaniuc Nov 24, 2025
bbfb05a
feat: passage mui migration
andreeimiron Nov 24, 2025
3f93687
feat: protractor mui migration
PatriciaRomaniuc Nov 24, 2025
8f1bd1b
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
PatriciaRomaniuc Nov 24, 2025
023fbdd
feat(select-text): migrate select text to mui 7
arimieandreea Nov 24, 2025
9e93487
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
arimieandreea Nov 24, 2025
b4ce1bb
chore: bump libs
CarlaCostea Nov 26, 2025
b079add
fix(number-line): migrate number-line to mui 7
arimieandreea Nov 27, 2025
378b8f9
fix(number-line): handle drag, solve some style migration issues
arimieandreea Nov 28, 2025
c134347
Refactor Categorize package to use MUI styled components and replace …
PatriciaRomaniuc Dec 1, 2025
b571f1d
feat: sync latest changes from dev
CarlaCostea Dec 2, 2025
a48ad38
Merge pull request #2848 from pie-framework/feat/PD-5258-sync
CarlaCostea Dec 2, 2025
b1b6c46
Merge pull request #2846 from pie-framework/feat/PD-5258-categorize
CarlaCostea Dec 2, 2025
26c2e77
fix: bump libs
CarlaCostea Dec 2, 2025
0c87f43
fix: rm
CarlaCostea Dec 9, 2025
e2e3d83
feat: drag-in-the-blank update
PatriciaRomaniuc Dec 9, 2025
c32e48e
feat: drag-in-the-blank update
PatriciaRomaniuc Dec 9, 2025
8fc1705
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
PatriciaRomaniuc Dec 9, 2025
705b575
feat(categorize): optimize math rendering performance during drag ope…
CarlaCostea Dec 9, 2025
dc20675
refactor
CarlaCostea Dec 10, 2025
b6178a0
Merge pull request #2849 from pie-framework/feat/PD-5258-rm
CarlaCostea Dec 10, 2025
c0eea2b
feat: image-cloze-association update
andreeimiron Dec 11, 2025
5cd89fb
chore: bump libs
CarlaCostea Dec 11, 2025
9ba43b2
fix: math rendering issues after React, mui and drag upgrade for drag…
CarlaCostea Dec 12, 2025
c678748
feat: placement-ordering mui & dnd/kit update
PatriciaRomaniuc Dec 12, 2025
4ff5ce2
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
PatriciaRomaniuc Dec 12, 2025
774f85b
wip
CarlaCostea Dec 12, 2025
64c1c7b
chore: clean up, remove unused code, dependencies, logs and comments
PatriciaRomaniuc Dec 16, 2025
e867c21
fix(drag-in-the-blank): fix dragging outside of editable-html container
PatriciaRomaniuc Dec 16, 2025
ddb764b
refactor
CarlaCostea Dec 17, 2025
7e55e0e
Merge pull request #2853 from pie-framework/fix/PD-5258-MR
CarlaCostea Dec 17, 2025
41f4d57
chore: bump libs
CarlaCostea Dec 17, 2025
3fe8c2e
chore: publish ditb
CarlaCostea Dec 18, 2025
d69a52c
v10.2.0-mui-update.0
CarlaCostea Dec 18, 2025
1b61e59
fix: bump pie-lib/charting
CarlaCostea Dec 18, 2025
d5f23ca
fix:(math-inline): set tooltip properties to align position with curr…
arimieandreea Dec 18, 2025
602a3c1
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
arimieandreea Dec 18, 2025
24fc0fa
chore: bump libs
CarlaCostea Dec 29, 2025
43561c2
fix(hotspot): rectangles are not correctly positioned PD-5453
arimieandreea Jan 6, 2026
c918274
fix(categorize): set unique ids to all droppable choices to avoid dup…
arimieandreea Jan 8, 2026
d702a3c
feat: add ESM player support to 19 CommonJS-free elements
chillenious Jan 8, 2026
879bbd5
Revert "feat: add ESM player support to 19 CommonJS-free elements"
CarlaCostea Jan 12, 2026
e08e003
feat: upgrade ESLint to v8 and migrate tests to React Testing Library…
CarlaCostea Jan 15, 2026
3d89e9f
feat: clean up & removed snapshots from test logic
PatriciaRomaniuc Jan 16, 2026
05032b9
feat: replace snapshots with rtl tests
CarlaCostea Jan 16, 2026
6f4ff5d
Merge pull request #2873 from pie-framework/feat/remove-snapshots
CarlaCostea Jan 16, 2026
8e2bdec
fix: resolve yarn dependency resolution warnings
CarlaCostea Jan 16, 2026
5efe1ef
chore: resolve merge conflicts with develop
CarlaCostea Jan 16, 2026
4571884
fix(transitions): supply nodeRef for React 18/19 (findDOMNode depreca…
chillenious Jan 20, 2026
0638f93
feat: bump libs
CarlaCostea Jan 20, 2026
9fb570e
Merge branch 'feat/PD-5258' of github.com:pie-framework/pie-elements …
CarlaCostea Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
**/__test__
**/test
**/__mocks__
**/lib
**/lib
packages/pie-models
8 changes: 6 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"parser": "babel-eslint",
"parser": "@babel/eslint-parser",
"extends": [
"eslint:recommended",
"plugin:react/recommended"
Expand All @@ -17,9 +17,13 @@
}
},
"parserOptions": {
"requireConfigFile": false,
"ecmaFeatures": {
"jsx": true
},
"babelOptions": {
"presets": ["@babel/preset-react"]
},
"sourceType": "module"
},
"rules": {
Expand All @@ -40,7 +44,7 @@
"no-undef": "warn",
"no-unreachable": "warn",
"no-unused-vars": "warn",
"jsx-uses-vars": true,
"react/jsx-uses-vars": "warn",
"constructor-super": "warn",
"valid-typeof": "warn",
"no-case-declarations": "warn",
Expand Down
32 changes: 32 additions & 0 deletions __mocks__/@dnd-kit/core.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React from 'react';

export const useDraggable = jest.fn(() => ({
attributes: {},
listeners: {},
setNodeRef: jest.fn(),
transform: null,
isDragging: false,
}));

export const useDroppable = jest.fn(() => ({
setNodeRef: jest.fn(),
isOver: false,
node: { current: null },
}));

export const DndContext = ({ children }) => <div>{children}</div>;

export const DragOverlay = ({ children }) => <div>{children}</div>;

export const useSensor = jest.fn();
export const useSensors = jest.fn(() => []);
export const PointerSensor = jest.fn();
export const KeyboardSensor = jest.fn();

export const rectIntersection = jest.fn();
export const closestCenter = jest.fn();
export const closestCorners = jest.fn();

export const getFirstCollision = jest.fn();
export const pointerWithin = jest.fn();
export const rectIntersectionAlgorithm = jest.fn();
4 changes: 4 additions & 0 deletions __mocks__/@pie-lib/drag.jsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import React from 'react';

export const uid = {
withUid: jest.fn((input) => input),
generateUid: jest.fn().mockReturnValue('1'),
Expand All @@ -9,6 +11,8 @@ export const DropTarget = jest.fn().mockReturnValue(() => ({}));

export const PlaceHolder = (props) => <div componentName="placeholder">{props.children}</div>;

export const DragProvider = ({ children }) => <div>{children}</div>;

export const withDragContext = jest.fn((i) => i);

export const swap = (input) => input;
2 changes: 2 additions & 0 deletions __mocks__/@pie-lib/editable-html.jsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import React from 'react';

const EditableHtml = () => <div>EditableHtml</div>;

export default EditableHtml;
2 changes: 2 additions & 0 deletions __mocks__/fileMock.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// Mock for static file imports (images, fonts, etc.)
module.exports = 'test-file-stub';
27 changes: 16 additions & 11 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
module.exports = {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: [
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-transform-runtime',
],
ignore: ['node_modules', 'packages/**/lib'],
sourceMaps: true,
};
module.exports = (api) => {
const isTest = api.env('test');

return {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: [
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-transform-runtime',
],
// Don't ignore node_modules in test mode so ES modules can be transformed
ignore: isTest ? ['packages/**/lib'] : ['node_modules', 'packages/**/lib'],
sourceMaps: true,
};
};
41 changes: 41 additions & 0 deletions jest-resolver.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Custom Jest resolver to handle node: protocol imports and workspace packages
const path = require('path');
const fs = require('fs');

module.exports = (request, options) => {
// Strip 'node:' prefix from built-in module imports
if (request.startsWith('node:')) {
request = request.replace(/^node:/, '');
}

// Handle @pie-element workspace packages for Jest mocking
if (request.startsWith('@pie-element/')) {
const packageName = request.replace('@pie-element/', '');
const parts = packageName.split('/');
const mainPackage = parts[0];

// Check if it's a subpath like "rubric/configure/lib"
if (parts.length > 1) {
const subpath = parts.slice(1).join('/');
const libPath = path.join(options.rootDir, 'packages', mainPackage, subpath, 'index.js');
if (fs.existsSync(libPath)) {
return libPath;
}
}

// Try main package lib/index.js
const libPath = path.join(options.rootDir, 'packages', mainPackage, 'lib', 'index.js');
if (fs.existsSync(libPath)) {
return libPath;
}

// Fallback to src/index.js if lib doesn't exist
const srcPath = path.join(options.rootDir, 'packages', mainPackage, 'src', 'index.js');
if (fs.existsSync(srcPath)) {
return srcPath;
}
}

// Use the default Jest resolver
return options.defaultResolver(request, options);
};
43 changes: 40 additions & 3 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,53 @@
module.exports = {
verbose: true,
setupFiles: ['./jest.setup.js'],
snapshotSerializers: ['enzyme-to-json/serializer'],
testRegex: '(/__tests__/.*(\\.|/)(test|spec))\\.jsx?$',
setupFilesAfterEnv: ['./jest.setup.js'],

// Jest 29 requires explicit jsdom environment
testEnvironment: 'jsdom',
testEnvironmentOptions: {
url: 'http://localhost',
},

verbose: true,
testPathIgnorePatterns: ['old-packages', '/node_modules/', '/lib/', '/docs/'],

// Transform ES modules from these packages
transformIgnorePatterns: [
'node_modules/(?!(@mui|@emotion|@testing-library|@dnd-kit|@hello-pangea|@tiptap|konva|react-konva)/)',
],

// Custom resolver to handle node: protocol imports
resolver: '<rootDir>/jest-resolver.js',

moduleNameMapper: {
// CSS/Style imports
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',

// Image imports
'\\.(jpg|jpeg|png|gif|svg|webp)$': '<rootDir>/__mocks__/fileMock.js',

// Ensure React is resolved from a single location (fixes MUI nested node_modules issue)
'^react$': '<rootDir>/node_modules/react',
'^react-dom$': '<rootDir>/node_modules/react-dom',

// Legacy react-dnd mappings (for packages that haven't migrated to @dnd-kit)
'^dnd-core$': 'dnd-core/dist/cjs',
'^react-dnd$': 'react-dnd/dist/cjs',
'^react-dnd-html5-backend$': 'react-dnd-html5-backend/dist/cjs',
'^react-dnd-touch-backend$': 'react-dnd-touch-backend/dist/cjs',
'^react-dnd-test-backend$': 'react-dnd-test-backend/dist/cjs',
'^react-dnd-test-utils$': 'react-dnd-test-utils/dist/cjs',
},

// Collect coverage from source files
collectCoverageFrom: [
'packages/*/src/**/*.{js,jsx}',
'packages/*/configure/src/**/*.{js,jsx}',
'packages/*/controller/src/**/*.{js,jsx}',
'!packages/*/src/**/*.d.ts',
'!packages/*/src/**/__tests__/**',
'!packages/*/src/**/__mocks__/**',
'!packages/*/configure/src/**/__tests__/**',
'!packages/*/controller/src/**/__tests__/**',
],
};
Loading