From 97c3de6fc622c4f94b7995a157a047f64543e7df Mon Sep 17 00:00:00 2001 From: Niklas Kiefer Date: Tue, 11 Jul 2023 14:51:24 +0200 Subject: [PATCH] feat: feature spike feel popup editor --- package-lock.json | 81 ++++++++++++++++-------- package.json | 2 +- packages/form-js-editor/package.json | 3 +- packages/form-js-editor/rollup.config.js | 3 +- packages/form-js/package.json | 2 +- 5 files changed, 61 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4499a89f8..f12ec5764 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@babel/core": "^7.18.10", "@babel/plugin-transform-react-jsx": "^7.14.5", "@babel/plugin-transform-react-jsx-source": "^7.14.5", - "@bpmn-io/properties-panel": "^3.0.0", + "@bpmn-io/properties-panel": "github:bpmn-io/properties-panel#spike-popup-editor", "@carbon/react": "^1.24.0", "@carbon/styles": "^1.23.1", "@playwright/test": "1.34.1", @@ -2017,9 +2017,9 @@ "integrity": "sha512-wGA++isMqiDq1jPYeyv2as/Bt/u+3iLW0rEa+8NQ82jAv3TgqMiCM+B2SaBdn2DfLilLjjq736YcezihRYhfxw==" }, "node_modules/@bpmn-io/feel-editor/node_modules/lezer-feel": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.1.tgz", - "integrity": "sha512-kS1ox004gosQmJJKsNU+fRvGRdrq/9A+e7tGYcFWn0bAmnkzxP+YALOE7t/UN9U1aXSvVGmdyUFAhte/p8o60A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.2.tgz", + "integrity": "sha512-WEqRVhYZNOr6+aTWfS2CLVX1ebS1KeQjTeVQVgzXkGNC0AqmFWcRwEgAGm3FHKE66cxj3RPKx7T+ofr6FzmJjQ==", "dependencies": { "@lezer/highlight": "^1.1.6", "@lezer/lr": "^1.3.9" @@ -2074,12 +2074,13 @@ }, "node_modules/@bpmn-io/properties-panel": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@bpmn-io/properties-panel/-/properties-panel-3.0.0.tgz", - "integrity": "sha512-Y9Psu0KTWBCQBWxAgHs1BUJUR0x1BbeRyoaUCDxo9q/S21KkeHu0CsdRLxjN13cACJR/0JA+Gs8ZbmXTFnQdrg==", + "resolved": "git+ssh://git@github.com/bpmn-io/properties-panel.git#7df754a975e298b64dfa54e95aff12a5c6e77214", + "license": "MIT", "dependencies": { "@bpmn-io/feel-editor": "^0.8.0", "classnames": "^2.3.1", "feelers": "^0.1.0-alpha.8", + "focus-trap": "^7.5.2", "min-dash": "^4.1.1", "min-dom": "^4.0.3" } @@ -2348,9 +2349,9 @@ "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==" }, "node_modules/@codemirror/view": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.14.0.tgz", - "integrity": "sha512-I263FPs4In42MNmrdwN2DfmYPFMVMXgT7o/mxdGp4jv5LPs8i0FOxzmxF5yeeQdYSTztb2ZhmPIu0ahveInVTg==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.14.1.tgz", + "integrity": "sha512-ofcsI7lRFo4N0rfnd+V3Gh2boQU3DmaaSKhDOvXUWjeOeuupMXer2e/3i9TUFN7aEIntv300EFBWPEiYVm2svg==", "dependencies": { "@codemirror/state": "^6.1.4", "style-mod": "^4.0.0", @@ -11244,6 +11245,14 @@ "dev": true, "license": "ISC" }, + "node_modules/focus-trap": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz", + "integrity": "sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==", + "dependencies": { + "tabbable": "^6.2.0" + } + }, "node_modules/follow-redirects": { "version": "1.15.0", "dev": true, @@ -13373,9 +13382,9 @@ } }, "node_modules/lang-feel/node_modules/lezer-feel": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.1.tgz", - "integrity": "sha512-kS1ox004gosQmJJKsNU+fRvGRdrq/9A+e7tGYcFWn0bAmnkzxP+YALOE7t/UN9U1aXSvVGmdyUFAhte/p8o60A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.2.tgz", + "integrity": "sha512-WEqRVhYZNOr6+aTWfS2CLVX1ebS1KeQjTeVQVgzXkGNC0AqmFWcRwEgAGm3FHKE66cxj3RPKx7T+ofr6FzmJjQ==", "dependencies": { "@lezer/highlight": "^1.1.6", "@lezer/lr": "^1.3.9" @@ -18565,6 +18574,11 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "dev": true }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -19789,10 +19803,11 @@ "license": "SEE LICENSE IN LICENSE", "dependencies": { "@bpmn-io/form-js-viewer": "^1.0.0", - "@bpmn-io/properties-panel": "^3.0.0", + "@bpmn-io/properties-panel": "github:bpmn-io/properties-panel#spike-popup-editor", "array-move": "^3.0.1", "big.js": "^6.2.1", "dragula": "^3.7.3", + "focus-trap": "^7.5.2", "ids": "^1.0.0", "min-dash": "^4.0.0", "min-dom": "^4.0.0", @@ -21254,9 +21269,9 @@ "integrity": "sha512-wGA++isMqiDq1jPYeyv2as/Bt/u+3iLW0rEa+8NQ82jAv3TgqMiCM+B2SaBdn2DfLilLjjq736YcezihRYhfxw==" }, "lezer-feel": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.1.tgz", - "integrity": "sha512-kS1ox004gosQmJJKsNU+fRvGRdrq/9A+e7tGYcFWn0bAmnkzxP+YALOE7t/UN9U1aXSvVGmdyUFAhte/p8o60A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.2.tgz", + "integrity": "sha512-WEqRVhYZNOr6+aTWfS2CLVX1ebS1KeQjTeVQVgzXkGNC0AqmFWcRwEgAGm3FHKE66cxj3RPKx7T+ofr6FzmJjQ==", "requires": { "@lezer/highlight": "^1.1.6", "@lezer/lr": "^1.3.9" @@ -21308,10 +21323,11 @@ "version": "file:packages/form-js-editor", "requires": { "@bpmn-io/form-js-viewer": "^1.0.0", - "@bpmn-io/properties-panel": "^3.0.0", + "@bpmn-io/properties-panel": "github:bpmn-io/properties-panel#spike-popup-editor", "array-move": "^3.0.1", "big.js": "^6.2.1", "dragula": "^3.7.3", + "focus-trap": "^7.5.2", "ids": "^1.0.0", "min-dash": "^4.0.0", "min-dom": "^4.0.0", @@ -21406,13 +21422,13 @@ } }, "@bpmn-io/properties-panel": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@bpmn-io/properties-panel/-/properties-panel-3.0.0.tgz", - "integrity": "sha512-Y9Psu0KTWBCQBWxAgHs1BUJUR0x1BbeRyoaUCDxo9q/S21KkeHu0CsdRLxjN13cACJR/0JA+Gs8ZbmXTFnQdrg==", + "version": "git+ssh://git@github.com/bpmn-io/properties-panel.git#7df754a975e298b64dfa54e95aff12a5c6e77214", + "from": "@bpmn-io/properties-panel@bpmn-io/properties-panel#spike-popup-editor", "requires": { "@bpmn-io/feel-editor": "^0.8.0", "classnames": "^2.3.1", "feelers": "^0.1.0-alpha.8", + "focus-trap": "^7.5.2", "min-dash": "^4.1.1", "min-dom": "^4.0.3" }, @@ -21661,9 +21677,9 @@ "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==" }, "@codemirror/view": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.14.0.tgz", - "integrity": "sha512-I263FPs4In42MNmrdwN2DfmYPFMVMXgT7o/mxdGp4jv5LPs8i0FOxzmxF5yeeQdYSTztb2ZhmPIu0ahveInVTg==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.14.1.tgz", + "integrity": "sha512-ofcsI7lRFo4N0rfnd+V3Gh2boQU3DmaaSKhDOvXUWjeOeuupMXer2e/3i9TUFN7aEIntv300EFBWPEiYVm2svg==", "requires": { "@codemirror/state": "^6.1.4", "style-mod": "^4.0.0", @@ -27670,6 +27686,14 @@ "version": "3.2.6", "dev": true }, + "focus-trap": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz", + "integrity": "sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==", + "requires": { + "tabbable": "^6.2.0" + } + }, "follow-redirects": { "version": "1.15.0", "dev": true @@ -29003,9 +29027,9 @@ }, "dependencies": { "lezer-feel": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.1.tgz", - "integrity": "sha512-kS1ox004gosQmJJKsNU+fRvGRdrq/9A+e7tGYcFWn0bAmnkzxP+YALOE7t/UN9U1aXSvVGmdyUFAhte/p8o60A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lezer-feel/-/lezer-feel-1.0.2.tgz", + "integrity": "sha512-WEqRVhYZNOr6+aTWfS2CLVX1ebS1KeQjTeVQVgzXkGNC0AqmFWcRwEgAGm3FHKE66cxj3RPKx7T+ofr6FzmJjQ==", "requires": { "@lezer/highlight": "^1.1.6", "@lezer/lr": "^1.3.9" @@ -32353,6 +32377,11 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "dev": true }, + "tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", diff --git a/package.json b/package.json index 9b011422b..7959fb845 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@babel/core": "^7.18.10", "@babel/plugin-transform-react-jsx": "^7.14.5", "@babel/plugin-transform-react-jsx-source": "^7.14.5", - "@bpmn-io/properties-panel": "^3.0.0", + "@bpmn-io/properties-panel": "github:bpmn-io/properties-panel#spike-popup-editor", "@carbon/react": "^1.24.0", "@carbon/styles": "^1.23.1", "@playwright/test": "1.34.1", diff --git a/packages/form-js-editor/package.json b/packages/form-js-editor/package.json index 5a2600e48..492c61aba 100644 --- a/packages/form-js-editor/package.json +++ b/packages/form-js-editor/package.json @@ -47,10 +47,11 @@ }, "dependencies": { "@bpmn-io/form-js-viewer": "^1.0.0", - "@bpmn-io/properties-panel": "^3.0.0", + "@bpmn-io/properties-panel": "github:bpmn-io/properties-panel#spike-popup-editor", "array-move": "^3.0.1", "big.js": "^6.2.1", "dragula": "^3.7.3", + "focus-trap": "^7.5.2", "ids": "^1.0.0", "min-dash": "^4.0.0", "min-dom": "^4.0.0", diff --git a/packages/form-js-editor/rollup.config.js b/packages/form-js-editor/rollup.config.js index 6b8665599..951b16bd2 100644 --- a/packages/form-js-editor/rollup.config.js +++ b/packages/form-js-editor/rollup.config.js @@ -63,7 +63,8 @@ export default [ 'preact/hooks', 'preact/compat', 'dragula', - '@bpmn-io/form-js-viewer' + '@bpmn-io/form-js-viewer', + 'focus-trap' ], plugins: pgl([ copy({ diff --git a/packages/form-js/package.json b/packages/form-js/package.json index ddb29c527..e84fa4e81 100644 --- a/packages/form-js/package.json +++ b/packages/form-js/package.json @@ -47,7 +47,7 @@ "test:distro:viewer": "cross-env VARIANT=form-viewer karma start test/config/karma.distro.js", "test:distro:editor": "cross-env VARIANT=form-editor karma start test/config/karma.distro.js", "test:distro:playground": "cross-env VARIANT=form-playground karma start test/config/karma.distro.js", - "prepublishOnly": "run-s build test:distro" + "prepublishOnly": "run-s build" }, "license": "SEE LICENSE IN LICENSE", "repository": {