ketcher-react 2.28.0-rc.3 → 3.0.0-rc.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/Editor.d.ts CHANGED
@@ -21,7 +21,7 @@ import 'whatwg-fetch';
21
21
  import './index.less';
22
22
  import { Config } from './script';
23
23
  import { Ketcher } from 'ketcher-core';
24
- interface EditorProps extends Omit<Config, 'element' | 'appRoot'> {
24
+ export interface EditorProps extends Omit<Config, 'element' | 'appRoot'> {
25
25
  onInit?: (ketcher: Ketcher) => void;
26
26
  }
27
27
  declare function Editor(props: EditorProps): import("react/jsx-runtime").JSX.Element;
package/dist/index.js CHANGED
@@ -963,6 +963,12 @@ var server = {
963
963
  description: 'slider',
964
964
  "default": true
965
965
  },
966
+ ignoreChiralFlag: {
967
+ title: 'Ignore the chiral flag',
968
+ type: 'boolean',
969
+ description: 'slider',
970
+ "default": false
971
+ },
966
972
  'ignore-stereochemistry-errors': {
967
973
  title: 'Ignore stereochemistry errors',
968
974
  type: 'boolean',
@@ -3802,7 +3808,7 @@ var zoom = {
3802
3808
 
3803
3809
  var openHelpLink = function openHelpLink() {
3804
3810
  var _window$open;
3805
- return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.28.0-rc.3\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
3811
+ return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v3.0.0-rc.1\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
3806
3812
  };
3807
3813
  var help = {
3808
3814
  help: {
@@ -12966,8 +12972,8 @@ assert.strict.strict = assert.strict;
12966
12972
  var calculateMonomerPreviewTop = createCalculatePreviewTopFunction(preview.height);
12967
12973
  var calculateNucleoElementPreviewTop = createCalculatePreviewTopFunction(preview.heightForNucleotide);
12968
12974
  function calculateTop(target, height) {
12969
- var _ZoomTool$instance$ca;
12970
- var canvasWrapperBoundingClientRect = (_ZoomTool$instance$ca = ketcherCore.ZoomTool.instance.canvasWrapper.node()) === null || _ZoomTool$instance$ca === void 0 ? void 0 : _ZoomTool$instance$ca.getBoundingClientRect();
12975
+ var _ZoomTool$instance;
12976
+ var canvasWrapperBoundingClientRect = (_ZoomTool$instance = ketcherCore.ZoomTool.instance) === null || _ZoomTool$instance === void 0 || (_ZoomTool$instance = _ZoomTool$instance.canvasWrapper.node()) === null || _ZoomTool$instance === void 0 ? void 0 : _ZoomTool$instance.getBoundingClientRect();
12971
12977
  var canvasWrapperTopOffset = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.top) || 0;
12972
12978
  var canvasWrapperBottom = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.bottom) || 0;
12973
12979
  var canvasWrapperHeight = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.height) || 0;
@@ -12997,21 +13003,21 @@ var calculateAmbiguousMonomerPreviewTop = function calculateAmbiguousMonomerPrev
12997
13003
  return createCalculatePreviewTopFunction(height);
12998
13004
  };
12999
13005
  function calculateAmbiguousMonomerPreviewLeft(initialLeft) {
13000
- var _ZoomTool$instance$ca2;
13001
- var canvasWrapperBoundingClientRect = (_ZoomTool$instance$ca2 = ketcherCore.ZoomTool.instance.canvasWrapper.node()) === null || _ZoomTool$instance$ca2 === void 0 ? void 0 : _ZoomTool$instance$ca2.getBoundingClientRect();
13006
+ var _ZoomTool$instance$ca;
13007
+ var canvasWrapperBoundingClientRect = (_ZoomTool$instance$ca = ketcherCore.ZoomTool.instance.canvasWrapper.node()) === null || _ZoomTool$instance$ca === void 0 ? void 0 : _ZoomTool$instance$ca.getBoundingClientRect();
13002
13008
  var PREVIEW_WIDTH = 70;
13003
13009
  var canvasWrapperRight = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.right) || 0;
13004
13010
  var canvasWrapperLeft = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.left) || 0;
13005
13011
  return initialLeft + PREVIEW_WIDTH / 2 > canvasWrapperRight ? canvasWrapperRight - PREVIEW_WIDTH : initialLeft - PREVIEW_WIDTH / 2 < canvasWrapperLeft ? canvasWrapperLeft : initialLeft - PREVIEW_WIDTH / 2;
13006
13012
  }
13007
13013
  var calculateBondPreviewPosition = function calculateBondPreviewPosition(bond, bondCoordinates) {
13008
- var _firstMonomer$rendere, _secondMonomer$render, _ZoomTool$instance;
13014
+ var _firstMonomer$rendere, _secondMonomer$render, _ZoomTool$instance2;
13009
13015
  var firstMonomer = bond.firstMonomer,
13010
13016
  secondMonomer = bond.secondMonomer;
13011
13017
  assert_1(secondMonomer);
13012
13018
  var firstMonomerCoordinates = (_firstMonomer$rendere = firstMonomer.renderer) === null || _firstMonomer$rendere === void 0 ? void 0 : _firstMonomer$rendere.rootBoundingClientRect;
13013
13019
  var secondMonomerCoordinates = (_secondMonomer$render = secondMonomer.renderer) === null || _secondMonomer$render === void 0 ? void 0 : _secondMonomer$render.rootBoundingClientRect;
13014
- var canvasWrapperBoundingClientRect = (_ZoomTool$instance = ketcherCore.ZoomTool.instance) === null || _ZoomTool$instance === void 0 || (_ZoomTool$instance = _ZoomTool$instance.canvasWrapper.node()) === null || _ZoomTool$instance === void 0 ? void 0 : _ZoomTool$instance.getBoundingClientRect();
13020
+ var canvasWrapperBoundingClientRect = (_ZoomTool$instance2 = ketcherCore.ZoomTool.instance) === null || _ZoomTool$instance2 === void 0 || (_ZoomTool$instance2 = _ZoomTool$instance2.canvasWrapper.node()) === null || _ZoomTool$instance2 === void 0 ? void 0 : _ZoomTool$instance2.getBoundingClientRect();
13015
13021
  var canvasWrapperBottom = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.bottom) || 0;
13016
13022
  var canvasWrapperTop = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.top) || 0;
13017
13023
  var canvasWrapperRight = (canvasWrapperBoundingClientRect === null || canvasWrapperBoundingClientRect === void 0 ? void 0 : canvasWrapperBoundingClientRect.right) || 0;
@@ -18972,7 +18978,7 @@ var TemplateTool = function () {
18972
18978
  value: function () {
18973
18979
  var _mousedown = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(event) {
18974
18980
  var _this$templatePreview;
18975
- var target, struct, _this$closestItem2, _this$closestItem3, _this$closestItem4, dragCtx, ci, bond;
18981
+ var target, struct, _this$closestItem2, _this$closestItem3, _this$closestItem4, _this$closestItem5, dragCtx, ci, bond;
18976
18982
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
18977
18983
  while (1) switch (_context.prev = _context.next) {
18978
18984
  case 0:
@@ -18987,7 +18993,7 @@ var TemplateTool = function () {
18987
18993
  bonds: [this.closestItem.id]
18988
18994
  }));
18989
18995
  if (
18990
- ((_this$closestItem4 = this.closestItem) === null || _this$closestItem4 === void 0 ? void 0 : _this$closestItem4.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(this.closestItem.id, this.functionalGroups)) {
18996
+ (((_this$closestItem4 = this.closestItem) === null || _this$closestItem4 === void 0 ? void 0 : _this$closestItem4.map) === 'functionalGroups' || ((_this$closestItem5 = this.closestItem) === null || _this$closestItem5 === void 0 ? void 0 : _this$closestItem5.map) === 'sgroups') && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(this.closestItem.id, this.functionalGroups)) {
18991
18997
  this.targetGroupsIds.push(this.closestItem.id);
18992
18998
  }
18993
18999
  }
@@ -19723,7 +19729,8 @@ function keyHandle(dispatch, getState, hotKeys, event) {
19723
19729
  var actionTool = actionState.activeTool;
19724
19730
  var key = ketcherCore.keyNorm(event);
19725
19731
  var group = null;
19726
- if (key && key.length === 1) {
19732
+ var hoveredItem = getHoveredItem(render.ctab);
19733
+ if (key && key.length === 1 && !hoveredItem) {
19727
19734
  var currentlyPressedKeys = selectAbbreviationLookupValue(state);
19728
19735
  var isShortcutKey = shortcutKeys.includes(key === null || key === void 0 ? void 0 : key.toLowerCase());
19729
19736
  var isTheSameKey = key === currentlyPressedKeys;
@@ -19749,7 +19756,6 @@ function keyHandle(dispatch, getState, hotKeys, event) {
19749
19756
  atoms: configWithNonViewOnlyActionsDisabled['atom-props'].action,
19750
19757
  bonds: configWithNonViewOnlyActionsDisabled['bond-props'].action
19751
19758
  };
19752
- var hoveredItem = getHoveredItem(render.ctab);
19753
19759
  if (!hoveredItem) {
19754
19760
  return;
19755
19761
  }
@@ -20056,7 +20062,7 @@ function _clipData() {
20056
20062
  data = _context7.sent;
20057
20063
  res[ketcherCore.ChemicalMimeType.KET] = ket;
20058
20064
  type = struct.isReaction ? ketcherCore.ChemicalMimeType.Mol : ketcherCore.ChemicalMimeType.Rxn;
20059
- res['text/plain'] = data;
20065
+ res['text/plain'] = ket;
20060
20066
  res[type] = data;
20061
20067
  return _context7.abrupt("return", res);
20062
20068
  case 19:
@@ -20464,7 +20470,20 @@ function findClosestSGroup(restruct, pos) {
20464
20470
  var ret = null;
20465
20471
  var minDist = SELECTION_DISTANCE_COEFFICIENT;
20466
20472
  restruct.molecule.sgroups.forEach(function (sg, sgid) {
20467
- if (sg.isContracted() || sg.isSuperatomWithoutLabel) return;
20473
+ if (sg.isSuperatomWithoutLabel) {
20474
+ return;
20475
+ }
20476
+ if (sg.isContracted()) {
20477
+ var sGroupPosition = sg.pp;
20478
+ if (sGroupPosition) {
20479
+ var dist = ketcherCore.Vec2.dist(pos, sGroupPosition);
20480
+ if (dist < minDist) {
20481
+ ret = sgid;
20482
+ minDist = dist;
20483
+ }
20484
+ }
20485
+ return;
20486
+ }
20468
20487
  var d = sg.bracketDirection;
20469
20488
  var n = d.rotateSC(1, 0);
20470
20489
  var pg = new ketcherCore.Vec2(ketcherCore.Vec2.dot(pos, d), ketcherCore.Vec2.dot(pos, n));
@@ -21845,7 +21864,7 @@ var EraserTool = function () {
21845
21864
  this.editor.update(ketcherCore.fromOneAtomDeletion(restruct, ci.id));
21846
21865
  } else if (ci.map === 'bonds') {
21847
21866
  this.editor.update(ketcherCore.fromOneBondDeletion(restruct, ci.id));
21848
- } else if (ci.map === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups)) {
21867
+ } else if ((ci.map === 'sgroups' || ci.map === 'functionalGroups') && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups)) {
21849
21868
  var _sGroup = sgroups.get(ci.id);
21850
21869
  this.editor.update(ketcherCore.fromFragmentDeletion(rnd.ctab, {
21851
21870
  atoms: _toConsumableArray__default["default"](ketcherCore.SGroup.getAtoms(molecule, _sGroup === null || _sGroup === void 0 ? void 0 : _sGroup.item)),
@@ -26014,7 +26033,7 @@ var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
26014
26033
  var selectedFunctionalGroups = props === null || props === void 0 ? void 0 : props.functionalGroups;
26015
26034
  var action = new ketcherCore.Action();
26016
26035
  selectedFunctionalGroups === null || selectedFunctionalGroups === void 0 || selectedFunctionalGroups.forEach(function (functionalGroup) {
26017
- action.mergeWith(ketcherCore.setExpandSGroup(molecule, functionalGroup.relatedSGroupId, {
26036
+ action.mergeWith(ketcherCore.setExpandMonomerSGroup(molecule, functionalGroup.relatedSGroupId, {
26018
26037
  expanded: toExpand
26019
26038
  }));
26020
26039
  });
@@ -26032,16 +26051,7 @@ var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
26032
26051
  return toExpand ? functionalGroup.isExpanded : !functionalGroup.isExpanded;
26033
26052
  }));
26034
26053
  }, []);
26035
- var disabled = React.useCallback(function (_ref3) {
26036
- var _props$functionalGrou2;
26037
- var props = _ref3.props;
26038
- var editor = getKetcherInstance().editor;
26039
- var molecule = editor.render.ctab.molecule;
26040
- return Boolean(props === null || props === void 0 || (_props$functionalGrou2 = props.functionalGroups) === null || _props$functionalGrou2 === void 0 ? void 0 : _props$functionalGrou2.every(function (functionalGroup) {
26041
- return functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.relatedSGroup.isNotContractible(molecule);
26042
- }));
26043
- }, []);
26044
- return [handler, hidden, disabled];
26054
+ return [handler, hidden];
26045
26055
  };
26046
26056
 
26047
26057
  var useFunctionalGroupRemove = function useFunctionalGroupRemove() {
@@ -26069,16 +26079,12 @@ function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
26069
26079
  function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26070
26080
  var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
26071
26081
  var _useFunctionalGroupEo = useFunctionalGroupEoc(),
26072
- _useFunctionalGroupEo2 = _slicedToArray__default["default"](_useFunctionalGroupEo, 3),
26082
+ _useFunctionalGroupEo2 = _slicedToArray__default["default"](_useFunctionalGroupEo, 2),
26073
26083
  handleExpandOrContract = _useFunctionalGroupEo2[0],
26074
- ExpandOrContractHidden = _useFunctionalGroupEo2[1],
26075
- ExpandOrContractDisabled = _useFunctionalGroupEo2[2];
26084
+ ExpandOrContractHidden = _useFunctionalGroupEo2[1];
26076
26085
  var handleRemove = useFunctionalGroupRemove();
26077
26086
  return jsxRuntime.jsxs(jsxRuntime.Fragment, {
26078
26087
  children: [jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
26079
- disabled: function disabled(params) {
26080
- return ExpandOrContractDisabled(params);
26081
- },
26082
26088
  hidden: function hidden(params) {
26083
26089
  return ExpandOrContractHidden(params, true);
26084
26090
  },
@@ -26087,9 +26093,6 @@ var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
26087
26093
  },
26088
26094
  children: "Expand Abbreviation"
26089
26095
  })), jsxRuntime.jsx(reactContexify.Item, _objectSpread$M(_objectSpread$M({}, props), {}, {
26090
- disabled: function disabled(params) {
26091
- return ExpandOrContractDisabled(params);
26092
- },
26093
26096
  hidden: function hidden(params) {
26094
26097
  return ExpandOrContractHidden(params, false);
26095
26098
  },
@@ -35029,8 +35032,8 @@ var KetcherBuilder = function () {
35029
35032
  cleanup = initApp(element, appRoot, staticResourcesUrl, {
35030
35033
  buttons: buttons || {},
35031
35034
  errorHandler: errorHandler || null,
35032
- version: "2.28.0-rc.3" ,
35033
- buildDate: "2024-12-11T14:41:49" ,
35035
+ version: "3.0.0-rc.1" ,
35036
+ buildDate: "2024-12-31T12:39:38" ,
35034
35037
  buildNumber: '',
35035
35038
  customButtons: customButtons || []
35036
35039
  }, structService, resolve, togglerComponent);