@next-libs/visual-builder 1.12.10 → 1.13.1
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/dist/cjs/interfaces/workbench-mini-action-bar.js.map +1 -1
- package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js +4 -1
- package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/dist/esm/interfaces/workbench-mini-action-bar.js.map +1 -1
- package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js +4 -1
- package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/dist/types/interfaces/workbench-mini-action-bar.d.ts +1 -0
- package/package.json +3 -3
|
@@ -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 clientX: number;\n clientY?: number;\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 tooltip?: 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":""}
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.WorkbenchMiniActionBar = WorkbenchMiniActionBar;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _antd = require("antd");
|
|
11
12
|
var _brickKit = require("@next-core/brick-kit");
|
|
12
13
|
var _basicComponents = require("@next-libs/basic-components");
|
|
13
14
|
var _WorkbenchMiniActionBarModule = _interopRequireDefault(require("./WorkbenchMiniActionBar.module.css"));
|
|
@@ -86,11 +87,13 @@ function WorkbenchSubAction({
|
|
|
86
87
|
onClick: handleActionClick,
|
|
87
88
|
onContextMenu: preventMouseEvent,
|
|
88
89
|
onMouseDown: preventMouseEvent
|
|
90
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
|
|
91
|
+
title: action.tooltip
|
|
89
92
|
}, (_action$iconUseBrick = action.iconUseBrick) !== null && _action$iconUseBrick !== void 0 && _action$iconUseBrick.useBrick ? /*#__PURE__*/_react.default.createElement(_brickKit.BrickAsComponent, {
|
|
90
93
|
useBrick: action.iconUseBrick.useBrick,
|
|
91
94
|
data: data
|
|
92
95
|
}) : /*#__PURE__*/_react.default.createElement(_basicComponents.GeneralIcon, {
|
|
93
96
|
icon: action.icon
|
|
94
|
-
}));
|
|
97
|
+
})));
|
|
95
98
|
}
|
|
96
99
|
//# sourceMappingURL=WorkbenchMiniActionBar.js.map
|
|
@@ -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","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
|
|
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","tooltip","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 { Tooltip } from \"antd\";\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 <Tooltip title={action.tooltip}>\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent\n useBrick={action.iconUseBrick.useBrick}\n data={data}\n />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </Tooltip>\n </a>\n );\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAIA;AAGA;AAcO,SAASA,sBAAsB,CAAC;EACrCC,IAAI;EACJC,SAAS;EACTC,GAAG;EACHC,OAAO;EACPC,MAAM;EACNC,OAAO;EACPC,aAAa;EACbC,cAAc;EACdC;AAC0B,CAAC,EAAsB;EACjD,MAAMC,cAAc,GAAG,IAAAC,cAAO,EAC5B,MAAML,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,MAAM,CAAEC,IAAI,IAAK,IAAAC,iCAAuB,EAACD,IAAI,EAAEZ,IAAI,CAAC,CAAC,EACpE,CAACK,OAAO,EAAEL,IAAI,CAAC,CAChB;EAED,IAAIM,aAAa,IAAI,EAACG,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEK,MAAM,GAAE;IAC5C,OAAO,IAAI;EACb;EAEA,oBACE;IAAK,SAAS,EAAE,IAAAC,mBAAU,EAACC,qCAAM,CAACC,UAAU,EAAEhB,SAAS,CAAE;IAAC,KAAK,EAAE;MAAEC;IAAI;EAAE,GACtEO,cAAc,CAACS,GAAG,CAAEN,IAAI,iBACvB,6BAAC,kBAAkB;IACjB,GAAG,EAAEA,IAAI,CAACO,MAAO;IACjB,MAAM,EAAEP,IAAK;IACb,IAAI,EAAEZ,IAAK;IACX,OAAO,EAAEG,OAAQ;IACjB,MAAM,EAAEC,MAAO;IACf,cAAc,EAAEG,cAAe;IAC/B,aAAa,EAAEC;EAAc,EAEhC,CAAC,CACE;AAEV;AAWA,SAASY,kBAAkB,CAAC;EAC1BD,MAAM;EACNnB,IAAI;EACJG,OAAO;EACPC,MAAM;EACNG,cAAc;EACdC;AACuB,CAAC,EAAsB;EAAA;EAC9C,MAAMa,QAAQ,GACXlB,OAAO,IAAIgB,MAAM,CAACA,MAAM,KAAK,SAAS,IACtCf,MAAM,IAAIe,MAAM,CAACA,MAAM,KAAK,WAAY;EAC3C,MAAMG,OAAO,GAAG,IAAAC,aAAM,GAAqB;EAE3C,MAAMC,iBAAiB,GAAG,IAAAC,kBAAW,EAClCC,KAAoC,IAAK;IACxCA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;IACvBP,QAAQ,KACNb,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG;MACdW,MAAM,EAAEA,MAAM,CAACA,MAAM;MACrBnB,IAAI,EAAEA,IAAI;MACV6B,OAAO,EAAEH,KAAK,CAACG,OAAO;MACtBC,OAAO,EAAEJ,KAAK,CAACI;IACjB,CAAC,CAAC;EACN,CAAC,EACD,CAACX,MAAM,CAACA,MAAM,EAAEnB,IAAI,EAAEqB,QAAQ,EAAEb,aAAa,CAAC,CAC/C;EAED,IAAAuB,gBAAS,EAAC,MAAM;IACd,MAAMC,IAAI,GAAGV,OAAO,CAACW,OAAO;IAC5B,IAAI,CAACD,IAAI,IAAI,CAACzB,cAAc,EAAE;MAC5B;IACF;IACAyB,IAAI,CAACE,gBAAgB,CAAC,OAAO,EAAEV,iBAAiB,CAAC;IACjD,OAAO,MAAM;MACXQ,IAAI,CAACG,mBAAmB,CAAC,OAAO,EAAEX,iBAAiB,CAAC;IACtD,CAAC;EACH,CAAC,EAAE,CAACA,iBAAiB,EAAEjB,cAAc,CAAC,CAAC;EAEvC,MAAM6B,iBAAiB,GAAG,IAAAX,kBAAW,EAAEC,KAAuB,IAAK;IACjEA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;EACzB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IACE,SAAS,EAAE,IAAAb,mBAAU,EAACC,qCAAM,CAACG,MAAM,EAAE;MAAE,CAACH,qCAAM,CAACK,QAAQ,GAAGA;IAAS,CAAC,CAAE;IACtE,KAAK,EAAEF,MAAM,CAACkB,KAAM;IACpB,IAAI,EAAC,QAAQ;IACb,GAAG,EAAEf,OAAQ;IACb,OAAO,EAAEE,iBAAkB;IAC3B,aAAa,EAAEY,iBAAkB;IACjC,WAAW,EAAEA;EAAkB,gBAE/B,6BAAC,aAAO;IAAC,KAAK,EAAEjB,MAAM,CAACmB;EAAQ,GAC5B,wBAAAnB,MAAM,CAACoB,YAAY,iDAAnB,qBAAqBC,QAAQ,gBAC5B,6BAAC,0BAAgB;IACf,QAAQ,EAAErB,MAAM,CAACoB,YAAY,CAACC,QAAS;IACvC,IAAI,EAAExC;EAAK,EACX,gBAEF,6BAAC,4BAAW;IAAC,IAAI,EAAEmB,MAAM,CAACsB;EAAK,EAChC,CACO,CACR;AAER"}
|
|
@@ -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 clientX: number;\n clientY?: number;\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 tooltip?: 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":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
|
2
2
|
import classNames from "classnames";
|
|
3
|
+
import { Tooltip } from "antd";
|
|
3
4
|
import { BrickAsComponent, looseCheckIfByTransform } from "@next-core/brick-kit";
|
|
4
5
|
import { GeneralIcon } from "@next-libs/basic-components";
|
|
5
6
|
import styles from "./WorkbenchMiniActionBar.module.css";
|
|
@@ -80,11 +81,13 @@ function WorkbenchSubAction(_ref2) {
|
|
|
80
81
|
onClick: handleActionClick,
|
|
81
82
|
onContextMenu: preventMouseEvent,
|
|
82
83
|
onMouseDown: preventMouseEvent
|
|
84
|
+
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
85
|
+
title: action.tooltip
|
|
83
86
|
}, (_action$iconUseBrick = action.iconUseBrick) !== null && _action$iconUseBrick !== void 0 && _action$iconUseBrick.useBrick ? /*#__PURE__*/React.createElement(BrickAsComponent, {
|
|
84
87
|
useBrick: action.iconUseBrick.useBrick,
|
|
85
88
|
data: data
|
|
86
89
|
}) : /*#__PURE__*/React.createElement(GeneralIcon, {
|
|
87
90
|
icon: action.icon
|
|
88
|
-
}));
|
|
91
|
+
})));
|
|
89
92
|
}
|
|
90
93
|
//# sourceMappingURL=WorkbenchMiniActionBar.js.map
|
|
@@ -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","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
|
|
1
|
+
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useEffect","useMemo","useRef","classNames","Tooltip","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","tooltip","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 { Tooltip } from \"antd\";\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 <Tooltip title={action.tooltip}>\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent\n useBrick={action.iconUseBrick.useBrick}\n data={data}\n />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </Tooltip>\n </a>\n );\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/visual-builder",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.1",
|
|
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",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@next-libs/basic-components": "^5.4.0",
|
|
33
|
-
"@next-libs/code-editor-components": "^4.
|
|
33
|
+
"@next-libs/code-editor-components": "^4.11.0",
|
|
34
34
|
"@next-libs/forms": "^3.5.5",
|
|
35
35
|
"@types/react-color": "^3.0.6",
|
|
36
36
|
"react-color": "^2.19.3"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "9c03168f38042f7956ba3dd873ae641da4091717"
|
|
39
39
|
}
|