@flowgram.ai/panel-manager-plugin 0.4.15
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/.eslintrc.cjs +17 -0
- package/.rush/temp/chunked-rush-logs/panel-manager-plugin.build.chunks.jsonl +21 -0
- package/.rush/temp/package-deps_build.json +22 -0
- package/.rush/temp/shrinkwrap-deps.json +158 -0
- package/CHANGELOG.json +11 -0
- package/CHANGELOG.md +9 -0
- package/dist/esm/index.js +259 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/index.d.mts +72 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.js +285 -0
- package/dist/index.js.map +1 -0
- package/package.json +50 -0
- package/rush-logs/panel-manager-plugin.build.log +21 -0
- package/src/components/panel-layer/css.ts +61 -0
- package/src/components/panel-layer/float-panel.tsx +35 -0
- package/src/components/panel-layer/index.ts +6 -0
- package/src/components/panel-layer/panel-layer.tsx +23 -0
- package/src/create-panel-manager-plugin.ts +23 -0
- package/src/hooks/use-panel-manager.ts +10 -0
- package/src/index.ts +16 -0
- package/src/services/float-panel.ts +51 -0
- package/src/services/index.ts +8 -0
- package/src/services/panel-config.ts +30 -0
- package/src/services/panel-layer.ts +44 -0
- package/src/services/panel-manager.ts +54 -0
- package/src/types.ts +16 -0
- package/tsconfig.json +12 -0
package/.eslintrc.cjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const { defineConfig } = require('@flowgram.ai/eslint-config');
|
|
7
|
+
|
|
8
|
+
module.exports = defineConfig({
|
|
9
|
+
preset: 'web',
|
|
10
|
+
packageRoot: __dirname,
|
|
11
|
+
rules: {
|
|
12
|
+
'no-console': 'off',
|
|
13
|
+
'react/no-deprecated': 'off',
|
|
14
|
+
'@flowgram.ai/e2e-data-testid': 'off',
|
|
15
|
+
'react/prop-types': 'off'
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{"kind":"O","text":"Invoking: npm run build:fast -- --dts-resolve \n"}
|
|
2
|
+
{"kind":"O","text":"\n"}
|
|
3
|
+
{"kind":"O","text":"> @flowgram.ai/panel-manager-plugin@0.1.8 build:fast\n"}
|
|
4
|
+
{"kind":"O","text":"> tsup src/index.ts --format cjs,esm --sourcemap --legacy-output --dts-resolve\n"}
|
|
5
|
+
{"kind":"O","text":"\n"}
|
|
6
|
+
{"kind":"O","text":"\u001b[34mCLI\u001b[39m Building entry: src/index.ts\n"}
|
|
7
|
+
{"kind":"O","text":"\u001b[34mCLI\u001b[39m Using tsconfig: tsconfig.json\n"}
|
|
8
|
+
{"kind":"O","text":"\u001b[34mCLI\u001b[39m tsup v8.5.0\n"}
|
|
9
|
+
{"kind":"O","text":"\u001b[34mCLI\u001b[39m Target: es2020\n"}
|
|
10
|
+
{"kind":"O","text":"\u001b[34mCJS\u001b[39m Build start\n"}
|
|
11
|
+
{"kind":"O","text":"\u001b[34mESM\u001b[39m Build start\n"}
|
|
12
|
+
{"kind":"O","text":"\u001b[32mCJS\u001b[39m \u001b[1mdist/index.js \u001b[22m\u001b[32m8.43 KB\u001b[39m\n"}
|
|
13
|
+
{"kind":"O","text":"\u001b[32mCJS\u001b[39m \u001b[1mdist/index.js.map \u001b[22m\u001b[32m13.65 KB\u001b[39m\n"}
|
|
14
|
+
{"kind":"O","text":"\u001b[32mCJS\u001b[39m ⚡️ Build success in 99ms\n"}
|
|
15
|
+
{"kind":"O","text":"\u001b[32mESM\u001b[39m \u001b[1mdist/esm/index.js \u001b[22m\u001b[32m6.94 KB\u001b[39m\n"}
|
|
16
|
+
{"kind":"O","text":"\u001b[32mESM\u001b[39m \u001b[1mdist/esm/index.js.map \u001b[22m\u001b[32m13.19 KB\u001b[39m\n"}
|
|
17
|
+
{"kind":"O","text":"\u001b[32mESM\u001b[39m ⚡️ Build success in 103ms\n"}
|
|
18
|
+
{"kind":"O","text":"\u001b[34mDTS\u001b[39m Build start\n"}
|
|
19
|
+
{"kind":"O","text":"\u001b[32mDTS\u001b[39m ⚡️ Build success in 3112ms\n"}
|
|
20
|
+
{"kind":"O","text":"\u001b[32mDTS\u001b[39m \u001b[1mdist/index.d.ts \u001b[22m\u001b[32m1.87 KB\u001b[39m\n"}
|
|
21
|
+
{"kind":"O","text":"\u001b[32mDTS\u001b[39m \u001b[1mdist/index.d.mts \u001b[22m\u001b[32m1.87 KB\u001b[39m\n"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": {
|
|
3
|
+
"packages/plugins/panel-manager-plugin/.eslintrc.cjs": "6b30cfc55136d429873e780785bf8d775edaaa74",
|
|
4
|
+
"packages/plugins/panel-manager-plugin/.rush/temp/shrinkwrap-deps.json": "06e72e3927d9f66744d850a17a67751df476a6fa",
|
|
5
|
+
"packages/plugins/panel-manager-plugin/package.json": "f2a7d6e60647063bbbddc3e1fdbdd5db033f59b7",
|
|
6
|
+
"packages/plugins/panel-manager-plugin/src/components/panel-layer/css.ts": "5e1bd9a4c51bd72169422f33b40835baf5c9fe02",
|
|
7
|
+
"packages/plugins/panel-manager-plugin/src/components/panel-layer/float-panel.tsx": "62cfac6d14863d534aa902494ace2974e4c53ffd",
|
|
8
|
+
"packages/plugins/panel-manager-plugin/src/components/panel-layer/index.ts": "40d07a944137146a8beb8e6842e421617e0b4f3c",
|
|
9
|
+
"packages/plugins/panel-manager-plugin/src/components/panel-layer/panel-layer.tsx": "a297c4d59d0fce0a482dd641d386a77929cbeb35",
|
|
10
|
+
"packages/plugins/panel-manager-plugin/src/create-panel-manager-plugin.ts": "63149b3c2df8ef693d8e55cb91925ea2de4297fe",
|
|
11
|
+
"packages/plugins/panel-manager-plugin/src/hooks/use-panel-manager.ts": "0e0073c6ad9a1552a9896085b011b79dbfe6309d",
|
|
12
|
+
"packages/plugins/panel-manager-plugin/src/index.ts": "42f953cb1cc88cc4efd148d834c9c10adc20f296",
|
|
13
|
+
"packages/plugins/panel-manager-plugin/src/services/float-panel.ts": "3d945f7a20321c2e08a9bc27c6c72557969ac18d",
|
|
14
|
+
"packages/plugins/panel-manager-plugin/src/services/index.ts": "bb44c19958ea0a21d5669480edaac6fd9b493f2b",
|
|
15
|
+
"packages/plugins/panel-manager-plugin/src/services/panel-config.ts": "529cd761e24bb6231056f8c6d2233af577037cd7",
|
|
16
|
+
"packages/plugins/panel-manager-plugin/src/services/panel-layer.ts": "462133ebe817aad63f75fa670a3a60e061c3798d",
|
|
17
|
+
"packages/plugins/panel-manager-plugin/src/services/panel-manager.ts": "008960eef1d043343246f7e1b30f57baf5b4ea93",
|
|
18
|
+
"packages/plugins/panel-manager-plugin/src/types.ts": "8593352079e1f0124d4cedea074c42b415e746e6",
|
|
19
|
+
"packages/plugins/panel-manager-plugin/tsconfig.json": "4b7a4f197dc4f9c62c2938fb3b77780944ad7675"
|
|
20
|
+
},
|
|
21
|
+
"arguments": "npm run build:fast -- --dts-resolve "
|
|
22
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
{
|
|
2
|
+
"../../packages/plugins/panel-manager-plugin": "../../packages/plugins/panel-manager-plugin:W4m7f3Huy4F0yXHfmnCL/sZBLf2QPBajFujBcJ/v7A8=:",
|
|
3
|
+
"@esbuild/aix-ppc64@0.25.9": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
|
|
4
|
+
"@esbuild/android-arm64@0.25.9": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
|
|
5
|
+
"@esbuild/android-arm@0.25.9": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
|
|
6
|
+
"@esbuild/android-x64@0.25.9": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
|
|
7
|
+
"@esbuild/darwin-arm64@0.25.9": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
|
|
8
|
+
"@esbuild/darwin-x64@0.25.9": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
|
|
9
|
+
"@esbuild/freebsd-arm64@0.25.9": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
|
|
10
|
+
"@esbuild/freebsd-x64@0.25.9": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
|
|
11
|
+
"@esbuild/linux-arm64@0.25.9": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
|
|
12
|
+
"@esbuild/linux-arm@0.25.9": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
|
|
13
|
+
"@esbuild/linux-ia32@0.25.9": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
|
|
14
|
+
"@esbuild/linux-loong64@0.25.9": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
|
|
15
|
+
"@esbuild/linux-mips64el@0.25.9": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
|
|
16
|
+
"@esbuild/linux-ppc64@0.25.9": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
|
|
17
|
+
"@esbuild/linux-riscv64@0.25.9": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
|
|
18
|
+
"@esbuild/linux-s390x@0.25.9": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
|
|
19
|
+
"@esbuild/linux-x64@0.25.9": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
|
|
20
|
+
"@esbuild/netbsd-arm64@0.25.9": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
|
|
21
|
+
"@esbuild/netbsd-x64@0.25.9": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
|
|
22
|
+
"@esbuild/openbsd-arm64@0.25.9": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
|
|
23
|
+
"@esbuild/openbsd-x64@0.25.9": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
|
|
24
|
+
"@esbuild/openharmony-arm64@0.25.9": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
|
|
25
|
+
"@esbuild/sunos-x64@0.25.9": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
|
|
26
|
+
"@esbuild/win32-arm64@0.25.9": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
|
|
27
|
+
"@esbuild/win32-ia32@0.25.9": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
|
|
28
|
+
"@esbuild/win32-x64@0.25.9": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
|
|
29
|
+
"@inversifyjs/common@1.4.0": "sha512-qfRJ/3iOlCL/VfJq8+4o5X4oA14cZSBbpAmHsYj8EsIit1xDndoOl0xKOyglKtQD4u4gdNVxMHx4RWARk/I4QA==",
|
|
30
|
+
"@inversifyjs/core@1.3.5(reflect-metadata@0.2.2)": "sha512-B4MFXabhNTAmrfgB+yeD6wd/GIvmvWC6IQ8Rh/j2C3Ix69kmqwz9pr8Jt3E+Nho9aEHOQCZaGmrALgtqRd+oEQ==",
|
|
31
|
+
"@inversifyjs/reflect-metadata-utils@0.2.4(reflect-metadata@0.2.2)": "sha512-u95rV3lKfG+NT2Uy/5vNzoDujos8vN8O18SSA5UyhxsGYd4GLQn/eUsGXfOsfa7m34eKrDelTKRUX1m/BcNX5w==",
|
|
32
|
+
"@isaacs/cliui@8.0.2": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
|
33
|
+
"@jridgewell/gen-mapping@0.3.13": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
|
|
34
|
+
"@jridgewell/resolve-uri@3.1.2": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
|
|
35
|
+
"@jridgewell/sourcemap-codec@1.5.5": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
|
|
36
|
+
"@jridgewell/trace-mapping@0.3.31": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
|
|
37
|
+
"@pkgjs/parseargs@0.11.0": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
|
38
|
+
"@rollup/rollup-android-arm-eabi@4.50.1": "sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==",
|
|
39
|
+
"@rollup/rollup-android-arm64@4.50.1": "sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==",
|
|
40
|
+
"@rollup/rollup-darwin-arm64@4.50.1": "sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==",
|
|
41
|
+
"@rollup/rollup-darwin-x64@4.50.1": "sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==",
|
|
42
|
+
"@rollup/rollup-freebsd-arm64@4.50.1": "sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==",
|
|
43
|
+
"@rollup/rollup-freebsd-x64@4.50.1": "sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==",
|
|
44
|
+
"@rollup/rollup-linux-arm-gnueabihf@4.50.1": "sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==",
|
|
45
|
+
"@rollup/rollup-linux-arm-musleabihf@4.50.1": "sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==",
|
|
46
|
+
"@rollup/rollup-linux-arm64-gnu@4.50.1": "sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==",
|
|
47
|
+
"@rollup/rollup-linux-arm64-musl@4.50.1": "sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==",
|
|
48
|
+
"@rollup/rollup-linux-loongarch64-gnu@4.50.1": "sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==",
|
|
49
|
+
"@rollup/rollup-linux-ppc64-gnu@4.50.1": "sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==",
|
|
50
|
+
"@rollup/rollup-linux-riscv64-gnu@4.50.1": "sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==",
|
|
51
|
+
"@rollup/rollup-linux-riscv64-musl@4.50.1": "sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==",
|
|
52
|
+
"@rollup/rollup-linux-s390x-gnu@4.50.1": "sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==",
|
|
53
|
+
"@rollup/rollup-linux-x64-gnu@4.50.1": "sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==",
|
|
54
|
+
"@rollup/rollup-linux-x64-musl@4.50.1": "sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==",
|
|
55
|
+
"@rollup/rollup-openharmony-arm64@4.50.1": "sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==",
|
|
56
|
+
"@rollup/rollup-win32-arm64-msvc@4.50.1": "sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==",
|
|
57
|
+
"@rollup/rollup-win32-ia32-msvc@4.50.1": "sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==",
|
|
58
|
+
"@rollup/rollup-win32-x64-msvc@4.50.1": "sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==",
|
|
59
|
+
"@types/estree@1.0.8": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
|
60
|
+
"@types/prop-types@15.7.15": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
|
|
61
|
+
"@types/react@18.3.24": "sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==",
|
|
62
|
+
"acorn@8.15.0": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
|
63
|
+
"ansi-regex@5.0.1": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
64
|
+
"ansi-regex@6.2.2": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
|
65
|
+
"ansi-styles@4.3.0": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
66
|
+
"ansi-styles@6.2.3": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
|
67
|
+
"any-promise@1.3.0": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
|
|
68
|
+
"balanced-match@1.0.2": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
69
|
+
"brace-expansion@2.0.2": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
|
70
|
+
"bundle-require@5.1.0(esbuild@0.25.9)": "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==",
|
|
71
|
+
"cac@6.7.14": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
|
|
72
|
+
"chokidar@4.0.3": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
|
|
73
|
+
"color-convert@2.0.1": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
74
|
+
"color-name@1.1.4": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
75
|
+
"commander@4.1.1": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
|
76
|
+
"confbox@0.1.8": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
|
|
77
|
+
"consola@3.4.2": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
|
|
78
|
+
"cross-spawn@7.0.6": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
|
79
|
+
"csstype@3.1.3": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
|
80
|
+
"debug@4.4.3(supports-color@5.5.0)": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
|
81
|
+
"eastasianwidth@0.2.0": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
|
82
|
+
"emoji-regex@8.0.0": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
83
|
+
"emoji-regex@9.2.2": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
|
84
|
+
"esbuild@0.25.9": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
|
|
85
|
+
"fdir@6.5.0(picomatch@4.0.3)": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
|
|
86
|
+
"fix-dts-default-cjs-exports@1.0.1": "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==",
|
|
87
|
+
"foreground-child@3.3.1": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
|
|
88
|
+
"fsevents@2.3.3": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
|
89
|
+
"get-tsconfig@4.10.1": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
|
|
90
|
+
"glob@10.4.5": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
|
|
91
|
+
"has-flag@3.0.0": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
|
92
|
+
"inversify@6.2.2(reflect-metadata@0.2.2)": "sha512-KB836KHbZ9WrUnB8ax5MtadOwnqQYa+ZJO3KWbPFgcr4RIEnHM621VaqFZzOZd9+U7ln6upt9n0wJei7x2BNqw==",
|
|
93
|
+
"is-fullwidth-code-point@3.0.0": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
|
94
|
+
"isexe@2.0.0": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
|
95
|
+
"jackspeak@3.4.3": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
|
|
96
|
+
"jiti@2.5.1": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==",
|
|
97
|
+
"joycon@3.1.1": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==",
|
|
98
|
+
"js-tokens@4.0.0": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
|
99
|
+
"lilconfig@3.1.3": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
|
|
100
|
+
"lines-and-columns@1.2.4": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
|
|
101
|
+
"load-tsconfig@0.2.5": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==",
|
|
102
|
+
"lodash.sortby@4.7.0": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
|
|
103
|
+
"loose-envify@1.4.0": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
|
104
|
+
"lru-cache@10.4.3": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
|
105
|
+
"magic-string@0.30.19": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==",
|
|
106
|
+
"minimatch@9.0.5": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
|
|
107
|
+
"minipass@7.1.2": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
|
|
108
|
+
"mlly@1.8.0": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==",
|
|
109
|
+
"ms@2.1.3": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
|
110
|
+
"mz@2.7.0": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
|
111
|
+
"nanoid@3.3.11": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
|
|
112
|
+
"object-assign@4.1.1": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
|
113
|
+
"package-json-from-dist@1.0.1": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
|
|
114
|
+
"path-key@3.1.1": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
|
115
|
+
"path-scurry@1.11.1": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
|
|
116
|
+
"pathe@2.0.3": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
|
|
117
|
+
"picocolors@1.1.1": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
|
|
118
|
+
"picomatch@4.0.3": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
|
119
|
+
"pirates@4.0.7": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
|
|
120
|
+
"pkg-types@1.3.1": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
|
|
121
|
+
"postcss-load-config@6.0.1(jiti@2.5.1)(postcss@8.5.6)(tsx@4.19.4)(yaml@2.8.1)": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==",
|
|
122
|
+
"postcss@8.5.6": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
|
|
123
|
+
"punycode@2.3.1": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
|
124
|
+
"react@18.3.1": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
|
|
125
|
+
"readdirp@4.1.2": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
|
|
126
|
+
"reflect-metadata@0.2.2": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
|
|
127
|
+
"resolve-from@5.0.0": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
|
|
128
|
+
"resolve-pkg-maps@1.0.0": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
|
|
129
|
+
"rollup@4.50.1": "sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==",
|
|
130
|
+
"shebang-command@2.0.0": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
|
131
|
+
"shebang-regex@3.0.0": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
|
132
|
+
"signal-exit@4.1.0": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
|
133
|
+
"source-map-js@1.2.1": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
|
|
134
|
+
"source-map@0.8.0-beta.0": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
|
|
135
|
+
"string-width@4.2.3": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
|
136
|
+
"string-width@5.1.2": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
|
137
|
+
"strip-ansi@6.0.1": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
138
|
+
"strip-ansi@7.1.2": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
|
139
|
+
"sucrase@3.35.0": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
|
|
140
|
+
"supports-color@5.5.0": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
141
|
+
"thenify-all@1.6.0": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
|
|
142
|
+
"thenify@3.3.1": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
|
|
143
|
+
"tinyexec@0.3.2": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
|
|
144
|
+
"tinyglobby@0.2.15": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
|
|
145
|
+
"tr46@1.0.1": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==",
|
|
146
|
+
"tree-kill@1.2.2": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
|
|
147
|
+
"ts-interface-checker@0.1.13": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
|
|
148
|
+
"tsup@8.5.0(jiti@2.5.1)(postcss@8.5.6)(tsx@4.19.4)(typescript@5.9.2)(yaml@2.8.1)": "sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==",
|
|
149
|
+
"tsx@4.19.4": "sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==",
|
|
150
|
+
"typescript@5.9.2": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
|
|
151
|
+
"ufo@1.6.1": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
|
|
152
|
+
"webidl-conversions@4.0.2": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
|
|
153
|
+
"whatwg-url@7.1.0": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
|
|
154
|
+
"which@2.0.2": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
155
|
+
"wrap-ansi@7.0.0": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
|
156
|
+
"wrap-ansi@8.1.0": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
|
157
|
+
"yaml@2.8.1": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="
|
|
158
|
+
}
|
package/CHANGELOG.json
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// src/create-panel-manager-plugin.ts
|
|
13
|
+
import { definePluginCreator } from "@flowgram.ai/core";
|
|
14
|
+
|
|
15
|
+
// src/services/panel-config.ts
|
|
16
|
+
var PanelManagerConfig = Symbol("PanelManagerConfig");
|
|
17
|
+
var defineConfig = (config) => {
|
|
18
|
+
const defaultConfig = {
|
|
19
|
+
right: {
|
|
20
|
+
max: 1
|
|
21
|
+
},
|
|
22
|
+
bottom: {
|
|
23
|
+
max: 1
|
|
24
|
+
},
|
|
25
|
+
factories: []
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
...defaultConfig,
|
|
29
|
+
...config
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// src/services/panel-manager.ts
|
|
34
|
+
import { injectable, inject } from "inversify";
|
|
35
|
+
|
|
36
|
+
// src/services/float-panel.ts
|
|
37
|
+
import { Emitter } from "@flowgram.ai/utils";
|
|
38
|
+
var FloatPanel = class {
|
|
39
|
+
constructor(config) {
|
|
40
|
+
this.config = config;
|
|
41
|
+
this.elements = [];
|
|
42
|
+
this.onUpdateEmitter = new Emitter();
|
|
43
|
+
this.onUpdate = this.onUpdateEmitter.event;
|
|
44
|
+
}
|
|
45
|
+
open(factory, options) {
|
|
46
|
+
const el = factory.render(options?.props);
|
|
47
|
+
const idx = this.elements.findIndex((e) => e.key === factory.key);
|
|
48
|
+
if (idx >= 0) {
|
|
49
|
+
this.elements[idx] = { el, key: factory.key };
|
|
50
|
+
} else {
|
|
51
|
+
this.elements.push({ el, key: factory.key });
|
|
52
|
+
if (this.elements.length > this.config.max) {
|
|
53
|
+
this.elements.shift();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
this.onUpdateEmitter.fire();
|
|
57
|
+
}
|
|
58
|
+
close(key) {
|
|
59
|
+
if (!key) {
|
|
60
|
+
this.elements = [];
|
|
61
|
+
} else {
|
|
62
|
+
this.elements = this.elements.filter((e) => e.key !== key);
|
|
63
|
+
}
|
|
64
|
+
this.onUpdateEmitter.fire();
|
|
65
|
+
}
|
|
66
|
+
dispose() {
|
|
67
|
+
this.elements = [];
|
|
68
|
+
this.onUpdateEmitter.dispose();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// src/services/panel-manager.ts
|
|
73
|
+
var PanelManager = class {
|
|
74
|
+
constructor() {
|
|
75
|
+
this.panelRegistry = /* @__PURE__ */ new Map();
|
|
76
|
+
}
|
|
77
|
+
init() {
|
|
78
|
+
this.config.factories.forEach((factory) => this.register(factory));
|
|
79
|
+
this.right = new FloatPanel(this.config.right);
|
|
80
|
+
this.bottom = new FloatPanel(this.config.bottom);
|
|
81
|
+
}
|
|
82
|
+
register(factory) {
|
|
83
|
+
this.panelRegistry.set(factory.key, factory);
|
|
84
|
+
}
|
|
85
|
+
open(key, area = "right", options) {
|
|
86
|
+
const factory = this.panelRegistry.get(key);
|
|
87
|
+
if (!factory) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const panel = this.getPanel(area);
|
|
91
|
+
panel.open(factory, options);
|
|
92
|
+
}
|
|
93
|
+
close(key, area = "right") {
|
|
94
|
+
const panel = this.getPanel(area);
|
|
95
|
+
panel.close(key);
|
|
96
|
+
}
|
|
97
|
+
getPanel(area) {
|
|
98
|
+
return area === "right" ? this.right : this.bottom;
|
|
99
|
+
}
|
|
100
|
+
dispose() {
|
|
101
|
+
this.right.dispose();
|
|
102
|
+
this.bottom.dispose();
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
__decorateClass([
|
|
106
|
+
inject(PanelManagerConfig)
|
|
107
|
+
], PanelManager.prototype, "config", 2);
|
|
108
|
+
PanelManager = __decorateClass([
|
|
109
|
+
injectable()
|
|
110
|
+
], PanelManager);
|
|
111
|
+
|
|
112
|
+
// src/services/panel-layer.ts
|
|
113
|
+
import { createElement } from "react";
|
|
114
|
+
import { injectable as injectable2 } from "inversify";
|
|
115
|
+
import { domUtils } from "@flowgram.ai/utils";
|
|
116
|
+
import { Layer } from "@flowgram.ai/core";
|
|
117
|
+
|
|
118
|
+
// src/components/panel-layer/float-panel.tsx
|
|
119
|
+
import { useEffect, useRef, startTransition, useState } from "react";
|
|
120
|
+
|
|
121
|
+
// src/hooks/use-panel-manager.ts
|
|
122
|
+
import { useService } from "@flowgram.ai/core";
|
|
123
|
+
var usePanelManager = () => useService(PanelManager);
|
|
124
|
+
|
|
125
|
+
// src/components/panel-layer/css.ts
|
|
126
|
+
var panelLayer = {
|
|
127
|
+
pointerEvents: "none",
|
|
128
|
+
position: "absolute",
|
|
129
|
+
top: 0,
|
|
130
|
+
left: 0,
|
|
131
|
+
display: "flex",
|
|
132
|
+
columnGap: "4px",
|
|
133
|
+
width: "100%",
|
|
134
|
+
height: "100%",
|
|
135
|
+
padding: "4px",
|
|
136
|
+
boxSizing: "border-box"
|
|
137
|
+
};
|
|
138
|
+
var leftArea = {
|
|
139
|
+
width: "100%",
|
|
140
|
+
minWidth: 0,
|
|
141
|
+
flexGrow: 0,
|
|
142
|
+
flexShrink: 1,
|
|
143
|
+
display: "flex",
|
|
144
|
+
flexDirection: "column",
|
|
145
|
+
rowGap: "4px"
|
|
146
|
+
};
|
|
147
|
+
var rightArea = {
|
|
148
|
+
height: "100%",
|
|
149
|
+
flexGrow: 1,
|
|
150
|
+
flexShrink: 0,
|
|
151
|
+
minWidth: 0,
|
|
152
|
+
display: "flex",
|
|
153
|
+
columnGap: "4px"
|
|
154
|
+
};
|
|
155
|
+
var mainArea = {
|
|
156
|
+
position: "relative",
|
|
157
|
+
overflow: "hidden",
|
|
158
|
+
flexGrow: 0,
|
|
159
|
+
flexShrink: 1,
|
|
160
|
+
width: "100%",
|
|
161
|
+
height: "100%"
|
|
162
|
+
};
|
|
163
|
+
var bottomArea = {
|
|
164
|
+
flexGrow: 1,
|
|
165
|
+
flexShrink: 0,
|
|
166
|
+
width: "100%",
|
|
167
|
+
minHeight: 0
|
|
168
|
+
};
|
|
169
|
+
var floatPanelWrap = {
|
|
170
|
+
pointerEvents: "auto",
|
|
171
|
+
height: "100%",
|
|
172
|
+
width: "100%"
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
// src/components/panel-layer/float-panel.tsx
|
|
176
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
177
|
+
var FloatPanel2 = ({ area }) => {
|
|
178
|
+
const [, setVersion] = useState(0);
|
|
179
|
+
const panelManager = usePanelManager();
|
|
180
|
+
const panel = useRef(panelManager.getPanel(area));
|
|
181
|
+
const render = () => panel.current.elements.map((i) => /* @__PURE__ */ jsx("div", { className: "float-panel-wrap", style: floatPanelWrap, children: i.el }, i.key));
|
|
182
|
+
const node = useRef(render());
|
|
183
|
+
useEffect(() => {
|
|
184
|
+
const dispose = panel.current.onUpdate(() => {
|
|
185
|
+
startTransition(() => {
|
|
186
|
+
node.current = render();
|
|
187
|
+
setVersion((v) => v + 1);
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
return () => dispose.dispose();
|
|
191
|
+
}, [panel]);
|
|
192
|
+
return /* @__PURE__ */ jsx(Fragment, { children: node.current });
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
// src/components/panel-layer/panel-layer.tsx
|
|
196
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
197
|
+
var PanelLayer = ({ children }) => /* @__PURE__ */ jsxs("div", { className: "panel-layer", style: panelLayer, children: [
|
|
198
|
+
/* @__PURE__ */ jsxs("div", { className: "left-area", style: leftArea, children: [
|
|
199
|
+
/* @__PURE__ */ jsx2("div", { className: "main-area", style: mainArea, children }),
|
|
200
|
+
/* @__PURE__ */ jsx2("div", { className: "bottom-area", style: bottomArea, children: /* @__PURE__ */ jsx2(FloatPanel2, { area: "bottom" }) })
|
|
201
|
+
] }),
|
|
202
|
+
/* @__PURE__ */ jsx2("div", { className: "right-area", style: rightArea, children: /* @__PURE__ */ jsx2(FloatPanel2, { area: "right" }) })
|
|
203
|
+
] });
|
|
204
|
+
|
|
205
|
+
// src/services/panel-layer.ts
|
|
206
|
+
var PanelLayer2 = class extends Layer {
|
|
207
|
+
constructor() {
|
|
208
|
+
super(...arguments);
|
|
209
|
+
this.node = domUtils.createDivWithClass("gedit-flow-panel-layer");
|
|
210
|
+
this.layout = null;
|
|
211
|
+
}
|
|
212
|
+
onReady() {
|
|
213
|
+
const commonStyle = {
|
|
214
|
+
pointerEvents: "none",
|
|
215
|
+
zIndex: 11
|
|
216
|
+
};
|
|
217
|
+
domUtils.setStyle(this.node, commonStyle);
|
|
218
|
+
this.config.onDataChange(() => {
|
|
219
|
+
const { width, height, scrollX, scrollY } = this.config.config;
|
|
220
|
+
domUtils.setStyle(this.node, {
|
|
221
|
+
...commonStyle,
|
|
222
|
+
width,
|
|
223
|
+
height,
|
|
224
|
+
left: scrollX,
|
|
225
|
+
top: scrollY
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
render() {
|
|
230
|
+
if (!this.layout) {
|
|
231
|
+
this.layout = createElement(PanelLayer);
|
|
232
|
+
}
|
|
233
|
+
return this.layout;
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
PanelLayer2 = __decorateClass([
|
|
237
|
+
injectable2()
|
|
238
|
+
], PanelLayer2);
|
|
239
|
+
|
|
240
|
+
// src/create-panel-manager-plugin.ts
|
|
241
|
+
var createPanelManagerPlugin = definePluginCreator({
|
|
242
|
+
onBind: ({ bind }) => {
|
|
243
|
+
bind(PanelManager).to(PanelManager).inSingletonScope();
|
|
244
|
+
bind(PanelManagerConfig).toConstantValue(defineConfig({}));
|
|
245
|
+
},
|
|
246
|
+
onInit(ctx, opt) {
|
|
247
|
+
ctx.playground.registerLayer(PanelLayer2);
|
|
248
|
+
const config = defineConfig(opt);
|
|
249
|
+
ctx.container.rebind(PanelManagerConfig).toConstantValue(config);
|
|
250
|
+
const panelManager = ctx.container.get(PanelManager);
|
|
251
|
+
panelManager.init();
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
export {
|
|
255
|
+
PanelManager,
|
|
256
|
+
createPanelManagerPlugin,
|
|
257
|
+
usePanelManager
|
|
258
|
+
};
|
|
259
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/create-panel-manager-plugin.ts","../../src/services/panel-config.ts","../../src/services/panel-manager.ts","../../src/services/float-panel.ts","../../src/services/panel-layer.ts","../../src/components/panel-layer/float-panel.tsx","../../src/hooks/use-panel-manager.ts","../../src/components/panel-layer/css.ts","../../src/components/panel-layer/panel-layer.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { definePluginCreator } from '@flowgram.ai/core';\n\nimport { defineConfig } from './services/panel-config';\nimport { PanelManager, PanelManagerConfig, PanelLayer } from './services';\n\nexport const createPanelManagerPlugin = definePluginCreator<Partial<PanelManagerConfig>>({\n onBind: ({ bind }) => {\n bind(PanelManager).to(PanelManager).inSingletonScope();\n bind(PanelManagerConfig).toConstantValue(defineConfig({}));\n },\n onInit(ctx, opt) {\n ctx.playground.registerLayer(PanelLayer);\n const config = defineConfig(opt);\n ctx.container.rebind(PanelManagerConfig).toConstantValue(config);\n const panelManager = ctx.container.get<PanelManager>(PanelManager);\n panelManager.init();\n },\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { PanelFactory, PanelConfig } from '../types';\n\nexport interface PanelManagerConfig {\n factories: PanelFactory<any>[];\n right: PanelConfig;\n bottom: PanelConfig;\n}\n\nexport const PanelManagerConfig = Symbol('PanelManagerConfig');\n\nexport const defineConfig = (config: Partial<PanelManagerConfig>) => {\n const defaultConfig: PanelManagerConfig = {\n right: {\n max: 1,\n },\n bottom: {\n max: 1,\n },\n factories: [],\n };\n return {\n ...defaultConfig,\n ...config,\n };\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable, inject } from 'inversify';\n\nimport { PanelManagerConfig } from './panel-config';\nimport type { Area, PanelFactory } from '../types';\nimport { FloatPanel } from './float-panel';\n\n@injectable()\nexport class PanelManager {\n @inject(PanelManagerConfig) private readonly config: PanelManagerConfig;\n\n readonly panelRegistry = new Map<string, PanelFactory<any>>();\n\n right: FloatPanel;\n\n bottom: FloatPanel;\n\n init() {\n this.config.factories.forEach((factory) => this.register(factory));\n this.right = new FloatPanel(this.config.right);\n this.bottom = new FloatPanel(this.config.bottom);\n }\n\n register<T extends any>(factory: PanelFactory<T>) {\n this.panelRegistry.set(factory.key, factory);\n }\n\n open(key: string, area: Area = 'right', options?: any) {\n const factory = this.panelRegistry.get(key);\n if (!factory) {\n return;\n }\n const panel = this.getPanel(area);\n panel.open(factory, options);\n }\n\n close(key: string, area: Area = 'right') {\n const panel = this.getPanel(area);\n panel.close(key);\n }\n\n getPanel(area: Area) {\n return area === 'right' ? this.right : this.bottom;\n }\n\n dispose() {\n this.right.dispose();\n this.bottom.dispose();\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { Emitter } from '@flowgram.ai/utils';\n\nimport type { PanelFactory, PanelConfig } from '../types';\n\nexport interface PanelElement {\n key: string;\n el: React.ReactNode;\n}\n\nexport class FloatPanel {\n elements: PanelElement[] = [];\n\n private onUpdateEmitter = new Emitter<void>();\n\n onUpdate = this.onUpdateEmitter.event;\n\n constructor(private config: PanelConfig) {}\n\n open(factory: PanelFactory<any>, options: any) {\n const el = factory.render(options?.props);\n const idx = this.elements.findIndex((e) => e.key === factory.key);\n if (idx >= 0) {\n this.elements[idx] = { el, key: factory.key };\n } else {\n this.elements.push({ el, key: factory.key });\n if (this.elements.length > this.config.max) {\n this.elements.shift();\n }\n }\n this.onUpdateEmitter.fire();\n }\n\n close(key?: string) {\n if (!key) {\n this.elements = [];\n } else {\n this.elements = this.elements.filter((e) => e.key !== key);\n }\n this.onUpdateEmitter.fire();\n }\n\n dispose() {\n this.elements = [];\n this.onUpdateEmitter.dispose();\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { createElement } from 'react';\n\nimport { injectable } from 'inversify';\nimport { domUtils } from '@flowgram.ai/utils';\nimport { Layer } from '@flowgram.ai/core';\n\nimport { PanelLayer as PanelLayerComp } from '../components/panel-layer';\n\n@injectable()\nexport class PanelLayer extends Layer {\n node = domUtils.createDivWithClass('gedit-flow-panel-layer');\n\n layout: JSX.Element | null = null;\n\n onReady(): void {\n const commonStyle = {\n pointerEvents: 'none',\n zIndex: 11,\n };\n domUtils.setStyle(this.node, commonStyle);\n this.config.onDataChange(() => {\n const { width, height, scrollX, scrollY } = this.config.config;\n domUtils.setStyle(this.node, {\n ...commonStyle,\n width,\n height,\n left: scrollX,\n top: scrollY,\n });\n });\n }\n\n render(): JSX.Element {\n if (!this.layout) {\n this.layout = createElement(PanelLayerComp);\n }\n return this.layout;\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { useEffect, useRef, startTransition, useState } from 'react';\n\nimport { Area } from '../../types';\nimport { usePanelManager } from '../../hooks/use-panel-manager';\nimport { floatPanelWrap } from './css';\n\nexport const FloatPanel: React.FC<{ area: Area }> = ({ area }) => {\n const [, setVersion] = useState(0);\n const panelManager = usePanelManager();\n const panel = useRef(panelManager.getPanel(area));\n const render = () =>\n panel.current.elements.map((i) => (\n <div className=\"float-panel-wrap\" key={i.key} style={floatPanelWrap}>\n {i.el}\n </div>\n ));\n const node = useRef(render());\n\n useEffect(() => {\n const dispose = panel.current.onUpdate(() => {\n startTransition(() => {\n node.current = render();\n setVersion((v) => v + 1);\n });\n });\n return () => dispose.dispose();\n }, [panel]);\n\n return <>{node.current}</>;\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { useService } from '@flowgram.ai/core';\n\nimport { PanelManager } from '../services/panel-manager';\n\nexport const usePanelManager = () => useService<PanelManager>(PanelManager);\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nexport const panelLayer: React.CSSProperties = {\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n\n display: 'flex',\n columnGap: '4px',\n width: '100%',\n height: '100%',\n padding: '4px',\n boxSizing: 'border-box',\n};\n\nexport const leftArea: React.CSSProperties = {\n width: '100%',\n minWidth: 0,\n flexGrow: 0,\n flexShrink: 1,\n\n display: 'flex',\n flexDirection: 'column',\n rowGap: '4px',\n};\n\nexport const rightArea: React.CSSProperties = {\n height: '100%',\n flexGrow: 1,\n flexShrink: 0,\n minWidth: 0,\n\n display: 'flex',\n columnGap: '4px',\n};\n\nexport const mainArea: React.CSSProperties = {\n position: 'relative',\n overflow: 'hidden',\n flexGrow: 0,\n flexShrink: 1,\n width: '100%',\n height: '100%',\n};\n\nexport const bottomArea: React.CSSProperties = {\n flexGrow: 1,\n flexShrink: 0,\n width: '100%',\n minHeight: 0,\n};\n\nexport const floatPanelWrap: React.CSSProperties = {\n pointerEvents: 'auto',\n height: '100%',\n width: '100%',\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FloatPanel } from './float-panel';\nimport { panelLayer, leftArea, rightArea, mainArea, bottomArea } from './css';\n\nexport const PanelLayer: React.FC<React.PropsWithChildren> = ({ children }) => (\n <div className=\"panel-layer\" style={panelLayer}>\n <div className=\"left-area\" style={leftArea}>\n <div className=\"main-area\" style={mainArea}>\n {children}\n </div>\n <div className=\"bottom-area\" style={bottomArea}>\n <FloatPanel area=\"bottom\" />\n </div>\n </div>\n <div className=\"right-area\" style={rightArea}>\n <FloatPanel area=\"right\" />\n </div>\n </div>\n);\n"],"mappings":";;;;;;;;;;;;AAKA,SAAS,2BAA2B;;;ACQ7B,IAAM,qBAAqB,OAAO,oBAAoB;AAEtD,IAAM,eAAe,CAAC,WAAwC;AACnE,QAAM,gBAAoC;AAAA,IACxC,OAAO;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA,WAAW,CAAC;AAAA,EACd;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AACF;;;ACxBA,SAAS,YAAY,cAAc;;;ACAnC,SAAS,eAAe;AASjB,IAAM,aAAN,MAAiB;AAAA,EAOtB,YAAoB,QAAqB;AAArB;AANpB,oBAA2B,CAAC;AAE5B,SAAQ,kBAAkB,IAAI,QAAc;AAE5C,oBAAW,KAAK,gBAAgB;AAAA,EAEU;AAAA,EAE1C,KAAK,SAA4B,SAAc;AAC7C,UAAM,KAAK,QAAQ,OAAO,SAAS,KAAK;AACxC,UAAM,MAAM,KAAK,SAAS,UAAU,CAAC,MAAM,EAAE,QAAQ,QAAQ,GAAG;AAChE,QAAI,OAAO,GAAG;AACZ,WAAK,SAAS,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI;AAAA,IAC9C,OAAO;AACL,WAAK,SAAS,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;AAC3C,UAAI,KAAK,SAAS,SAAS,KAAK,OAAO,KAAK;AAC1C,aAAK,SAAS,MAAM;AAAA,MACtB;AAAA,IACF;AACA,SAAK,gBAAgB,KAAK;AAAA,EAC5B;AAAA,EAEA,MAAM,KAAc;AAClB,QAAI,CAAC,KAAK;AACR,WAAK,WAAW,CAAC;AAAA,IACnB,OAAO;AACL,WAAK,WAAW,KAAK,SAAS,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG;AAAA,IAC3D;AACA,SAAK,gBAAgB,KAAK;AAAA,EAC5B;AAAA,EAEA,UAAU;AACR,SAAK,WAAW,CAAC;AACjB,SAAK,gBAAgB,QAAQ;AAAA,EAC/B;AACF;;;ADtCO,IAAM,eAAN,MAAmB;AAAA,EAAnB;AAGL,SAAS,gBAAgB,oBAAI,IAA+B;AAAA;AAAA,EAM5D,OAAO;AACL,SAAK,OAAO,UAAU,QAAQ,CAAC,YAAY,KAAK,SAAS,OAAO,CAAC;AACjE,SAAK,QAAQ,IAAI,WAAW,KAAK,OAAO,KAAK;AAC7C,SAAK,SAAS,IAAI,WAAW,KAAK,OAAO,MAAM;AAAA,EACjD;AAAA,EAEA,SAAwB,SAA0B;AAChD,SAAK,cAAc,IAAI,QAAQ,KAAK,OAAO;AAAA,EAC7C;AAAA,EAEA,KAAK,KAAa,OAAa,SAAS,SAAe;AACrD,UAAM,UAAU,KAAK,cAAc,IAAI,GAAG;AAC1C,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,QAAQ,KAAK,SAAS,IAAI;AAChC,UAAM,KAAK,SAAS,OAAO;AAAA,EAC7B;AAAA,EAEA,MAAM,KAAa,OAAa,SAAS;AACvC,UAAM,QAAQ,KAAK,SAAS,IAAI;AAChC,UAAM,MAAM,GAAG;AAAA,EACjB;AAAA,EAEA,SAAS,MAAY;AACnB,WAAO,SAAS,UAAU,KAAK,QAAQ,KAAK;AAAA,EAC9C;AAAA,EAEA,UAAU;AACR,SAAK,MAAM,QAAQ;AACnB,SAAK,OAAO,QAAQ;AAAA,EACtB;AACF;AAxC+C;AAAA,EAA5C,OAAO,kBAAkB;AAAA,GADf,aACkC;AADlC,eAAN;AAAA,EADN,WAAW;AAAA,GACC;;;AEPb,SAAS,qBAAqB;AAE9B,SAAS,cAAAA,mBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,aAAa;;;ACJtB,SAAS,WAAW,QAAQ,iBAAiB,gBAAgB;;;ACA7D,SAAS,kBAAkB;AAIpB,IAAM,kBAAkB,MAAM,WAAyB,YAAY;;;ACJnE,IAAM,aAAkC;AAAA,EAC7C,eAAe;AAAA,EACf,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EAEN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW;AACb;AAEO,IAAM,WAAgC;AAAA,EAC3C,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,eAAe;AAAA,EACf,QAAQ;AACV;AAEO,IAAM,YAAiC;AAAA,EAC5C,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EAEV,SAAS;AAAA,EACT,WAAW;AACb;AAEO,IAAM,WAAgC;AAAA,EAC3C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AACV;AAEO,IAAM,aAAkC;AAAA,EAC7C,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AACb;AAEO,IAAM,iBAAsC;AAAA,EACjD,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,OAAO;AACT;;;AF3CM,SAgBG,UAhBH;AANC,IAAMC,cAAuC,CAAC,EAAE,KAAK,MAAM;AAChE,QAAM,CAAC,EAAE,UAAU,IAAI,SAAS,CAAC;AACjC,QAAM,eAAe,gBAAgB;AACrC,QAAM,QAAQ,OAAO,aAAa,SAAS,IAAI,CAAC;AAChD,QAAM,SAAS,MACb,MAAM,QAAQ,SAAS,IAAI,CAAC,MAC1B,oBAAC,SAAI,WAAU,oBAA+B,OAAO,gBAClD,YAAE,MADkC,EAAE,GAEzC,CACD;AACH,QAAM,OAAO,OAAO,OAAO,CAAC;AAE5B,YAAU,MAAM;AACd,UAAM,UAAU,MAAM,QAAQ,SAAS,MAAM;AAC3C,sBAAgB,MAAM;AACpB,aAAK,UAAU,OAAO;AACtB,mBAAW,CAAC,MAAM,IAAI,CAAC;AAAA,MACzB,CAAC;AAAA,IACH,CAAC;AACD,WAAO,MAAM,QAAQ,QAAQ;AAAA,EAC/B,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO,gCAAG,eAAK,SAAQ;AACzB;;;AGxBI,SACE,OAAAC,MADF;AAFG,IAAM,aAAgD,CAAC,EAAE,SAAS,MACvE,qBAAC,SAAI,WAAU,eAAc,OAAO,YAClC;AAAA,uBAAC,SAAI,WAAU,aAAY,OAAO,UAChC;AAAA,oBAAAA,KAAC,SAAI,WAAU,aAAY,OAAO,UAC/B,UACH;AAAA,IACA,gBAAAA,KAAC,SAAI,WAAU,eAAc,OAAO,YAClC,0BAAAA,KAACC,aAAA,EAAW,MAAK,UAAS,GAC5B;AAAA,KACF;AAAA,EACA,gBAAAD,KAAC,SAAI,WAAU,cAAa,OAAO,WACjC,0BAAAA,KAACC,aAAA,EAAW,MAAK,SAAQ,GAC3B;AAAA,GACF;;;AJPK,IAAMC,cAAN,cAAyB,MAAM;AAAA,EAA/B;AAAA;AACL,gBAAO,SAAS,mBAAmB,wBAAwB;AAE3D,kBAA6B;AAAA;AAAA,EAE7B,UAAgB;AACd,UAAM,cAAc;AAAA,MAClB,eAAe;AAAA,MACf,QAAQ;AAAA,IACV;AACA,aAAS,SAAS,KAAK,MAAM,WAAW;AACxC,SAAK,OAAO,aAAa,MAAM;AAC7B,YAAM,EAAE,OAAO,QAAQ,SAAS,QAAQ,IAAI,KAAK,OAAO;AACxD,eAAS,SAAS,KAAK,MAAM;AAAA,QAC3B,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,KAAK;AAAA,MACP,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,SAAsB;AACpB,QAAI,CAAC,KAAK,QAAQ;AAChB,WAAK,SAAS,cAAc,UAAc;AAAA,IAC5C;AACA,WAAO,KAAK;AAAA,EACd;AACF;AA7BaA,cAAN;AAAA,EADNC,YAAW;AAAA,GACCD;;;AJJN,IAAM,2BAA2B,oBAAiD;AAAA,EACvF,QAAQ,CAAC,EAAE,KAAK,MAAM;AACpB,SAAK,YAAY,EAAE,GAAG,YAAY,EAAE,iBAAiB;AACrD,SAAK,kBAAkB,EAAE,gBAAgB,aAAa,CAAC,CAAC,CAAC;AAAA,EAC3D;AAAA,EACA,OAAO,KAAK,KAAK;AACf,QAAI,WAAW,cAAcE,WAAU;AACvC,UAAM,SAAS,aAAa,GAAG;AAC/B,QAAI,UAAU,OAAO,kBAAkB,EAAE,gBAAgB,MAAM;AAC/D,UAAM,eAAe,IAAI,UAAU,IAAkB,YAAY;AACjE,iBAAa,KAAK;AAAA,EACpB;AACF,CAAC;","names":["injectable","FloatPanel","jsx","FloatPanel","PanelLayer","injectable","PanelLayer"]}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as _flowgram_ai_core from '@flowgram.ai/core';
|
|
2
|
+
import * as _flowgram_ai_utils from '@flowgram.ai/utils';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
6
|
+
* SPDX-License-Identifier: MIT
|
|
7
|
+
*/
|
|
8
|
+
type Area = 'right' | 'bottom';
|
|
9
|
+
interface PanelConfig {
|
|
10
|
+
/** max panel */
|
|
11
|
+
max: number;
|
|
12
|
+
}
|
|
13
|
+
interface PanelFactory<T extends any> {
|
|
14
|
+
key: string;
|
|
15
|
+
render: (props: T) => React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface PanelElement {
|
|
19
|
+
key: string;
|
|
20
|
+
el: React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
declare class FloatPanel {
|
|
23
|
+
private config;
|
|
24
|
+
elements: PanelElement[];
|
|
25
|
+
private onUpdateEmitter;
|
|
26
|
+
onUpdate: _flowgram_ai_utils.Event<void>;
|
|
27
|
+
constructor(config: PanelConfig);
|
|
28
|
+
open(factory: PanelFactory<any>, options: any): void;
|
|
29
|
+
close(key?: string): void;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
35
|
+
* SPDX-License-Identifier: MIT
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
declare class PanelManager {
|
|
39
|
+
private readonly config;
|
|
40
|
+
readonly panelRegistry: Map<string, PanelFactory<any>>;
|
|
41
|
+
right: FloatPanel;
|
|
42
|
+
bottom: FloatPanel;
|
|
43
|
+
init(): void;
|
|
44
|
+
register<T extends any>(factory: PanelFactory<T>): void;
|
|
45
|
+
open(key: string, area?: Area, options?: any): void;
|
|
46
|
+
close(key: string, area?: Area): void;
|
|
47
|
+
getPanel(area: Area): FloatPanel;
|
|
48
|
+
dispose(): void;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
53
|
+
* SPDX-License-Identifier: MIT
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
interface PanelManagerConfig {
|
|
57
|
+
factories: PanelFactory<any>[];
|
|
58
|
+
right: PanelConfig;
|
|
59
|
+
bottom: PanelConfig;
|
|
60
|
+
}
|
|
61
|
+
declare const PanelManagerConfig: unique symbol;
|
|
62
|
+
|
|
63
|
+
declare const createPanelManagerPlugin: _flowgram_ai_core.PluginCreator<Partial<PanelManagerConfig>>;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
67
|
+
* SPDX-License-Identifier: MIT
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
declare const usePanelManager: () => PanelManager;
|
|
71
|
+
|
|
72
|
+
export { type Area, type PanelFactory, PanelManager, createPanelManagerPlugin, usePanelManager };
|