@next-libs/visual-builder 1.12.9 → 1.12.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-mini-action-bar.js","names":[],"sources":["../../../src/interfaces/workbench-mini-action-bar.ts"],"sourcesContent":["import { MenuIcon, UseBrickConf } from \"@next-core/brick-types\";\n\nexport interface WorkbenchTreeAction {\n action: string;\n icon: MenuIcon;\n title?: string;\n if?: string | boolean;\n iconUseBrick?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport interface ActionClickDetail {\n action: string;\n data?: unknown;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"workbench-mini-action-bar.js","names":[],"sources":["../../../src/interfaces/workbench-mini-action-bar.ts"],"sourcesContent":["import { MenuIcon, UseBrickConf } from \"@next-core/brick-types\";\n\nexport interface WorkbenchTreeAction {\n action: string;\n icon: MenuIcon;\n title?: string;\n if?: string | boolean;\n iconUseBrick?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport interface ActionClickDetail {\n action: string;\n data?: unknown;\n clientX: number;\n clientY?: number;\n}\n"],"mappings":""}
@@ -57,7 +57,9 @@ function WorkbenchSubAction({
57
57
  event.stopPropagation();
58
58
  disabled || (onActionClick === null || onActionClick === void 0 ? void 0 : onActionClick({
59
59
  action: action.action,
60
- data: data
60
+ data: data,
61
+ clientX: event.clientX,
62
+ clientY: event.clientY
61
63
  }));
62
64
  }, [action.action, data, disabled, onActionClick]);
63
65
  (0, _react.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchMiniActionBar.js","names":["WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","useMemo","filter","item","looseCheckIfByTransform","length","classNames","styles","actionsBar","map","action","WorkbenchSubAction","disabled","linkRef","useRef","handleActionClick","useCallback","event","preventDefault","stopPropagation","useEffect","link","current","addEventListener","removeEventListener","preventMouseEvent","title","iconUseBrick","useBrick","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport {\n BrickAsComponent,\n looseCheckIfByTransform,\n} from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n useNativeEvent={useNativeEvent}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n const linkRef = useRef<HTMLAnchorElement>();\n\n const handleActionClick = useCallback(\n (event: MouseEvent | React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n useEffect(() => {\n const link = linkRef.current;\n if (!link || !useNativeEvent) {\n return;\n }\n link.addEventListener(\"click\", handleActionClick);\n return () => {\n link.removeEventListener(\"click\", handleActionClick);\n };\n }, [handleActionClick, useNativeEvent]);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n ref={linkRef}\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent useBrick={action.iconUseBrick.useBrick} data={data} />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </a>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WorkbenchMiniActionBar.js","names":["WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","useMemo","filter","item","looseCheckIfByTransform","length","classNames","styles","actionsBar","map","action","WorkbenchSubAction","disabled","linkRef","useRef","handleActionClick","useCallback","event","preventDefault","stopPropagation","clientX","clientY","useEffect","link","current","addEventListener","removeEventListener","preventMouseEvent","title","iconUseBrick","useBrick","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport {\n BrickAsComponent,\n looseCheckIfByTransform,\n} from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n useNativeEvent={useNativeEvent}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n const linkRef = useRef<HTMLAnchorElement>();\n\n const handleActionClick = useCallback(\n (event: MouseEvent | React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n clientX: event.clientX,\n clientY: event.clientY,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n useEffect(() => {\n const link = linkRef.current;\n if (!link || !useNativeEvent) {\n return;\n }\n link.addEventListener(\"click\", handleActionClick);\n return () => {\n link.removeEventListener(\"click\", handleActionClick);\n };\n }, [handleActionClick, useNativeEvent]);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n ref={linkRef}\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent useBrick={action.iconUseBrick.useBrick} data={data} />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </a>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-mini-action-bar.js","names":[],"sources":["../../../src/interfaces/workbench-mini-action-bar.ts"],"sourcesContent":["import { MenuIcon, UseBrickConf } from \"@next-core/brick-types\";\n\nexport interface WorkbenchTreeAction {\n action: string;\n icon: MenuIcon;\n title?: string;\n if?: string | boolean;\n iconUseBrick?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport interface ActionClickDetail {\n action: string;\n data?: unknown;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"workbench-mini-action-bar.js","names":[],"sources":["../../../src/interfaces/workbench-mini-action-bar.ts"],"sourcesContent":["import { MenuIcon, UseBrickConf } from \"@next-core/brick-types\";\n\nexport interface WorkbenchTreeAction {\n action: string;\n icon: MenuIcon;\n title?: string;\n if?: string | boolean;\n iconUseBrick?: {\n useBrick: UseBrickConf;\n };\n}\n\nexport interface ActionClickDetail {\n action: string;\n data?: unknown;\n clientX: number;\n clientY?: number;\n}\n"],"mappings":""}
@@ -51,7 +51,9 @@ function WorkbenchSubAction(_ref2) {
51
51
  event.stopPropagation();
52
52
  disabled || (onActionClick === null || onActionClick === void 0 ? void 0 : onActionClick({
53
53
  action: action.action,
54
- data: data
54
+ data: data,
55
+ clientX: event.clientX,
56
+ clientY: event.clientY
55
57
  }));
56
58
  }, [action.action, data, disabled, onActionClick]);
57
59
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useEffect","useMemo","useRef","classNames","BrickAsComponent","looseCheckIfByTransform","GeneralIcon","styles","WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","filter","item","length","actionsBar","map","action","WorkbenchSubAction","disabled","linkRef","handleActionClick","event","preventDefault","stopPropagation","link","current","addEventListener","removeEventListener","preventMouseEvent","title","iconUseBrick","useBrick","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport {\n BrickAsComponent,\n looseCheckIfByTransform,\n} from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n useNativeEvent={useNativeEvent}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n const linkRef = useRef<HTMLAnchorElement>();\n\n const handleActionClick = useCallback(\n (event: MouseEvent | React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n useEffect(() => {\n const link = linkRef.current;\n if (!link || !useNativeEvent) {\n return;\n }\n link.addEventListener(\"click\", handleActionClick);\n return () => {\n link.removeEventListener(\"click\", handleActionClick);\n };\n }, [handleActionClick, useNativeEvent]);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n ref={linkRef}\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent useBrick={action.iconUseBrick.useBrick} data={data} />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </a>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useEffect","useMemo","useRef","classNames","BrickAsComponent","looseCheckIfByTransform","GeneralIcon","styles","WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","filter","item","length","actionsBar","map","action","WorkbenchSubAction","disabled","linkRef","handleActionClick","event","preventDefault","stopPropagation","clientX","clientY","link","current","addEventListener","removeEventListener","preventMouseEvent","title","iconUseBrick","useBrick","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport {\n BrickAsComponent,\n looseCheckIfByTransform,\n} from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n useNativeEvent={useNativeEvent}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n const linkRef = useRef<HTMLAnchorElement>();\n\n const handleActionClick = useCallback(\n (event: MouseEvent | React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n clientX: event.clientX,\n clientY: event.clientY,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n useEffect(() => {\n const link = linkRef.current;\n if (!link || !useNativeEvent) {\n return;\n }\n link.addEventListener(\"click\", handleActionClick);\n return () => {\n link.removeEventListener(\"click\", handleActionClick);\n };\n }, [handleActionClick, useNativeEvent]);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n ref={linkRef}\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent useBrick={action.iconUseBrick.useBrick} data={data} />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </a>\n );\n}\n"],"mappings":"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"}
@@ -11,4 +11,6 @@ export interface WorkbenchTreeAction {
11
11
  export interface ActionClickDetail {
12
12
  action: string;
13
13
  data?: unknown;
14
+ clientX: number;
15
+ clientY?: number;
14
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/visual-builder",
3
- "version": "1.12.9",
3
+ "version": "1.12.10",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/visual-builder",
6
6
  "license": "GPL-3.0",
@@ -35,5 +35,5 @@
35
35
  "@types/react-color": "^3.0.6",
36
36
  "react-color": "^2.19.3"
37
37
  },
38
- "gitHead": "32c3df26b37b72cbb8cbdceebba8eb096ea04e4a"
38
+ "gitHead": "94863eb5f8b55d00e0f6ca072b0a2c0c151394e7"
39
39
  }