@elyra/canvas 13.30.0 → 13.31.0
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/canvas-controller-5714c16e.js +2 -0
- package/dist/canvas-controller-5714c16e.js.map +1 -0
- package/dist/canvas-controller-fb3341f8.js +2 -0
- package/dist/canvas-controller-fb3341f8.js.map +1 -0
- package/dist/common-canvas-cb2af30e.js +2 -0
- package/dist/common-canvas-cb2af30e.js.map +1 -0
- package/dist/common-canvas-fed3a116.js +2 -0
- package/dist/common-canvas-fed3a116.js.map +1 -0
- package/dist/{common-canvas-utils-bbe543ed.js → common-canvas-utils-04c7ddd2.js} +1 -1
- package/dist/{common-canvas-utils-bbe543ed.js.map → common-canvas-utils-04c7ddd2.js.map} +1 -1
- package/dist/{common-canvas-utils-a489e236.js → common-canvas-utils-26fdf006.js} +1 -1
- package/dist/{common-canvas-utils-a489e236.js.map → common-canvas-utils-26fdf006.js.map} +1 -1
- package/dist/common-canvas.es.js +1 -1
- package/dist/common-canvas.js +1 -1
- package/dist/common-properties-6709d67d.js +2 -0
- package/dist/common-properties-6709d67d.js.map +1 -0
- package/dist/common-properties-9ea710be.js +2 -0
- package/dist/common-properties-9ea710be.js.map +1 -0
- package/dist/{context-menu-wrapper-ea061c95.js → context-menu-wrapper-c6dea37b.js} +2 -2
- package/dist/{context-menu-wrapper-ea061c95.js.map → context-menu-wrapper-c6dea37b.js.map} +1 -1
- package/dist/{context-menu-wrapper-7caefd31.js → context-menu-wrapper-ff90de76.js} +2 -2
- package/dist/{context-menu-wrapper-7caefd31.js.map → context-menu-wrapper-ff90de76.js.map} +1 -1
- package/dist/keyboard-utils-485bef78.js +2 -0
- package/dist/keyboard-utils-485bef78.js.map +1 -0
- package/dist/keyboard-utils-f7c4ec40.js +2 -0
- package/dist/keyboard-utils-f7c4ec40.js.map +1 -0
- package/dist/lib/canvas-controller.es.js +1 -1
- package/dist/lib/canvas-controller.js +1 -1
- package/dist/lib/canvas.es.js +1 -1
- package/dist/lib/canvas.js +1 -1
- package/dist/lib/context-menu.es.js +1 -1
- package/dist/lib/context-menu.js +1 -1
- package/dist/lib/properties.es.js +1 -1
- package/dist/lib/properties.js +1 -1
- package/dist/{toolbar-4ce5b537.js → toolbar-1db25a07.js} +2 -2
- package/dist/{toolbar-4ce5b537.js.map → toolbar-1db25a07.js.map} +1 -1
- package/dist/{toolbar-40d93a80.js → toolbar-4c42861f.js} +2 -2
- package/dist/{toolbar-40d93a80.js.map → toolbar-4c42861f.js.map} +1 -1
- package/package.json +4 -3
- package/src/command-actions/createAutoNodeAction.js +0 -7
- package/src/common-canvas/canvas-controller.js +28 -34
- package/src/common-canvas/cc-bottom-panel.jsx +21 -26
- package/src/common-canvas/cc-panels.jsx +16 -5
- package/src/common-canvas/cc-right-flyout.jsx +17 -33
- package/src/common-canvas/common-canvas-utils.js +6 -6
- package/src/common-canvas/keyboard-utils.js +3 -2
- package/src/common-canvas/svg-canvas-d3.js +4 -4
- package/src/common-canvas/svg-canvas-renderer.js +21 -7
- package/src/common-canvas/svg-canvas-utils-drag-objects.js +41 -7
- package/src/common-canvas/svg-canvas-utils-zoom.js +23 -5
- package/src/common-properties/components/editor-form/editor-form.jsx +2 -0
- package/src/common-properties/components/wide-flyout/wide-flyout.jsx +85 -5
- package/src/common-properties/controls/datepicker/datepicker.jsx +1 -0
- package/src/common-properties/controls/dropdown/dropdown.jsx +17 -11
- package/src/common-properties/form/ControlInfo.js +1 -1
- package/src/common-properties/panels/tearsheet/tearsheet.jsx +2 -1
- package/src/object-model/layout-dimensions.js +6 -0
- package/stats.html +1 -1
- package/types/canvas-controller.ts +18 -4
- package/types/common-canvas.ts +5 -0
- package/types/common-properties.ts +1 -1
- package/dist/canvas-controller-5b727491.js +0 -2
- package/dist/canvas-controller-5b727491.js.map +0 -1
- package/dist/canvas-controller-f1489f81.js +0 -2
- package/dist/canvas-controller-f1489f81.js.map +0 -1
- package/dist/common-canvas-4807ed78.js +0 -2
- package/dist/common-canvas-4807ed78.js.map +0 -1
- package/dist/common-canvas-a41d6dc9.js +0 -2
- package/dist/common-canvas-a41d6dc9.js.map +0 -1
- package/dist/common-properties-75f30ccf.js +0 -2
- package/dist/common-properties-75f30ccf.js.map +0 -1
- package/dist/common-properties-e2a321a6.js +0 -2
- package/dist/common-properties-e2a321a6.js.map +0 -1
- package/dist/keyboard-utils-232a10e1.js +0 -2
- package/dist/keyboard-utils-232a10e1.js.map +0 -1
- package/dist/keyboard-utils-ce49412d.js +0 -2
- package/dist/keyboard-utils-ce49412d.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-menu-wrapper-7caefd31.js","sources":["../src/color-picker/color-set.js","../src/color-picker/color-picker.jsx","../src/context-menu/common-context-menu.jsx","../src/context-menu/context-menu-wrapper.jsx"],"sourcesContent":["/*\n * Copyright 2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// This is the set of colors for the WYSIWYG comments color palette used for\n// both text coloring and background coloring.\n\nconst colorArray = [\n\t\"#FFF1F1\", // Red\n\t\"#FCEBD6\", // Orange\n\t\"#FDF4D6\", // Yellow\n\t\"#DEFBE6\", // Green\n\t\"#D9FBFB\", // Teal\n\t\"#E5F6FF\", // Blue\n\t\"#F6F2FF\", // Purple\n\t\"#FFFFFF\", // Gray\n\n\t\"#FFD7D9\", // Red\n\t\"#FFD9BD\", // Orange\n\t\"#FFFFC7\", // Yellow\n\t\"#E2FEC7\", // Green\n\t\"#9EF0F0\", // Teal\n\t\"#CDE1FD\", // Blue\n\t\"#D4BBFF\", // Purple\n\t\"#F4F4F4\", // Gray\n\n\t\"#FFB3B8\", // Red\n\t\"#FF832B\", // Orange\n\t\"#FFFF00\", // Yellow\n\t\"#A7F0BA\", // Green\n\t\"#3DDBD9\", // Teal\n\t\"#BAE6FF\", // Blue\n\t\"#8080C0\", // Purple\n\t\"#E0E0E0\", // Gray\n\n\t\"#FF8389\", // Red\n\t\"#FC7B1D\", // Orange\n\t\"#FDDC69\", // Yellow\n\t\"#6FDC8C\", // Green\n\t\"#08BDBA\", // Teal\n\t\"#82CFFF\", // Blue\n\t\"#8080FF\", // Purple\n\t\"#C6C6C6\", // Gray\n\n\t\"#FA4D56\", // Red\n\t\"#EB6200\", // Orange\n\t\"#F1C21B\", // Yellow\n\t\"#42BE65\", // Green\n\t\"#009D9A\", // Teal\n\t\"#33B1FF\", // Blue\n\t\"#8000FF\", // Purple\n\t\"#A8A8A8\", // Gray\n\n\t\"#EA3325\", // Red\n\t\"#BA4E00\", // Orange\n\t\"#D2A106\", // Yellow\n\t\"#24A148\", // Green\n\t\"#007D79\", // Teal\n\t\"#78A9FF\", // Blue\n\t\"#6929C4\", // Purple\n\t\"#8D8D8D\", // Gray\n\n\t\"#DA1E28\", // Red\n\t\"#804040\", // Orange\n\t\"#B28600\", // Yellow\n\t\"#198038\", // Green\n\t\"#005D5D\", // Teal\n\t\"#1192E8\", // Blue\n\t\"#491D8B\", // Purple\n\t\"#000000\", // Gray\n\n\t\"#A2191F\", // Red\n\t\"#5C2800\", // Orange\n\t\"#8E6A01\", // Yellow\n\t\"#0E6027\", // Green\n\t\"#004144\", // Teal\n\t\"#0072C3\", // Blue\n\t\"#400080\", // Purple\n\t\"transparent\" // Gray\n];\nexport default colorArray;\n","/*\n * Copyright 2017-2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport KeyboardUtils from \"../common-canvas/keyboard-utils.js\";\nimport Logger from \"../logging/canvas-logger.js\";\nimport colorSetArray from \"./color-set.js\";\nimport { WYSIWYG } from \"../common-canvas/constants/canvas-constants.js\";\n\n// These dimensions should match the values in color-picker.scss\nconst COLOR_DIMENSION = 20;\nconst COLOR_PADDING = 5;\nconst COLOR_DIM_PLUS_PAD = COLOR_DIMENSION + COLOR_PADDING;\n\n\n// These values must reflect the layout of the color picker panel\n// decribed by the SCSS/CSS.\n\nclass ColorPicker extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.logger = new Logger(\"CC-Color-Picker\");\n\n\t\tthis.colorIndex = 0;\n\n\t\tthis.colorsPerRow = props.subPanelData.type === WYSIWYG ? 8 : 6;\n\t\tthis.totalColors = props.subPanelData.type === WYSIWYG ? colorSetArray.length : 12;\n\n\t\tthis.refss = [];\n\t\tfor (let i = 0; i < this.totalColors; i++) {\n\t\t\tthis.refss.push(React.createRef());\n\t\t}\n\t\tthis.onClick = this.onClick.bind(this);\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setFocus(this.colorIndex);\n\t}\n\n\tonClick(evt) {\n\t\tevt.stopPropagation();\n\t\tthis.selectColor(evt);\n\t}\n\n\tonKeyDown(evt) {\n\t\tif (KeyboardUtils.nextColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex++;\n\t\t\tif (this.colorIndex > this.totalColors - 1) {\n\t\t\t\tthis.colorIndex = 0;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.previousColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex--;\n\t\t\tif (this.colorIndex < 0) {\n\t\t\t\tthis.props.closeSubPanel();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.aboveColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex -= this.colorsPerRow;\n\t\t\tif (this.colorIndex < 0) {\n\t\t\t\tthis.colorIndex += this.colorsPerRow;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.belowColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex += this.colorsPerRow;\n\t\t\tif (this.colorIndex > this.totalColors - 1) {\n\t\t\t\tthis.colorIndex -= this.colorsPerRow;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.selectColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tevt.preventDefault();\n\t\t\tthis.selectColor(evt);\n\n\t\t} else if (KeyboardUtils.tabKey(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tevt.preventDefault();\n\t\t\treturn;\n\t\t}\n\t}\n\n\tsetFocus(index) {\n\t\tthis.refss[index].current.focus();\n\t}\n\n\tselectColor(evt) {\n\t\tconst color = evt.target.dataset.color;\n\t\tthis.props.subPanelData.clickActionHandler(color, evt);\n\t\tthis.props.closeSubPanel();\n\t}\n\n\n\trender() {\n\t\tthis.logger.log(\"render\");\n\t\tif (this.props.subPanelData.type === WYSIWYG) {\n\n\t\t\tconst colorDivs = colorSetArray.map((c, i) => {\n\t\t\t\tlet className = \"color-picker-item\" + (c === \"transparent\" ? \" color-transparent\" : \"\");\n\t\t\t\tclassName += this.props.subPanelData.selectedColor === c ? \" selected\" : \"\";\n\n\t\t\t\treturn (<div key={\"key\" + i} ref={this.refss[i]} tabIndex={\"-1\"}\n\t\t\t\t\tdata-color={c}\n\t\t\t\t\tstyle={{ backgroundColor: c }}\n\t\t\t\t\tclassName={className}\n\t\t\t\t/>);\n\t\t\t});\n\n\t\t\tconst rowCount = Math.ceil(this.totalColors / this.colorsPerRow);\n\n\t\t\tconst style = {\n\t\t\t\twidth: (this.colorsPerRow * COLOR_DIM_PLUS_PAD) + COLOR_PADDING,\n\t\t\t\theight: (rowCount * COLOR_DIM_PLUS_PAD) + COLOR_PADDING,\n\t\t\t\tpaddingBottom: \"4px\"\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className=\"color-picker\" style={style} tabIndex={\"-1\"} onClick={this.onClick} onKeyDown={this.onKeyDown}>\n\t\t\t\t\t{colorDivs}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"color-picker\" tabIndex={\"-1\"} onClick={this.onClick} onKeyDown={this.onKeyDown}>\n\t\t\t\t<div ref={this.refss[0]} tabIndex={\"-1\"} data-color={\"bkg-col-white-0\"} className=\"color-picker-item white-0\" />\n\t\t\t\t<div ref={this.refss[1]} tabIndex={\"-1\"} data-color={\"bkg-col-yellow-20\"} className=\"color-picker-item yellow-20\" />\n\t\t\t\t<div ref={this.refss[2]} tabIndex={\"-1\"} data-color={\"bkg-col-gray-20\"} className=\"color-picker-item gray-20\" />\n\t\t\t\t<div ref={this.refss[3]} tabIndex={\"-1\"} data-color={\"bkg-col-green-20\"} className=\"color-picker-item green-20\" />\n\t\t\t\t<div ref={this.refss[4]} tabIndex={\"-1\"} data-color={\"bkg-col-teal-20\"} className=\"color-picker-item teal-20\" />\n\t\t\t\t<div ref={this.refss[5]} tabIndex={\"-1\"} data-color={\"bkg-col-cyan-20\"} className=\"color-picker-item cyan-20\" />\n\n\t\t\t\t<div ref={this.refss[6]} tabIndex={\"-1\"} data-color={\"bkg-col-red-50\"} className=\"color-picker-item red-50\" />\n\t\t\t\t<div ref={this.refss[7]} tabIndex={\"-1\"} data-color={\"bkg-col-orange-40\"} className=\"color-picker-item orange-40\" />\n\t\t\t\t<div ref={this.refss[8]} tabIndex={\"-1\"} data-color={\"bkg-col-gray-50\"} className=\"color-picker-item gray-50\" />\n\t\t\t\t<div ref={this.refss[9]} tabIndex={\"-1\"} data-color={\"bkg-col-green-50\"} className=\"color-picker-item green-50\" />\n\t\t\t\t<div ref={this.refss[10]} tabIndex={\"-1\"} data-color={\"bkg-col-teal-50\"} className=\"color-picker-item teal-50\" />\n\t\t\t\t<div ref={this.refss[11]} tabIndex={\"-1\"} data-color={\"bkg-col-cyan-50\"} className=\"color-picker-item cyan-50\" />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nColorPicker.propTypes = {\n\tcloseSubPanel: PropTypes.func,\n\tsubPanelData: PropTypes.object\n};\n\nexport default ColorPicker;\n","/*\n * Copyright 2017-2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-empty-function: [\"error\", { \"allow\": [\"arrowFunctions\"] }] */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ChevronRight } from \"@carbon/react/icons\";\nimport ColorPicker from \"../color-picker\";\nimport KeyboardUtils from \"../common-canvas/keyboard-utils\";\n\n// context-menu sizing\nconst CONTEXT_MENU_WIDTH = 160; // See context-menu.scss\nconst CONTEXT_MENU_LINK_HEIGHT = 30; // See context-menu.scss\nconst CONTEXT_MENU_DIVIDER_HEIGHT = 1; // See context-menu.scss\nconst EXTRA_OFFSET = 5; // Extra offset for vertical menu positioning\n\n\nclass CommonContextMenu extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tdisplaySubMenuAction: \"\"\n\t\t};\n\t\tthis.menuRefs = [];\n\t\tthis.subMenuRefs = [];\n\n\t\tthis.focusIndex = null; // Set to null so we know when it is not initialized.\n\t\tthis.subMenuFocusIndex = 0;\n\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.itemSelected = this.itemSelected.bind(this);\n\t\tthis.colorClicked = this.colorClicked.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.focusIndex = this.focusIndex === null ? 0 : this.focusIndex;\n\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.state.displaySubMenuAction) {\n\t\t\tthis.subMenuFocusIndex = 0;\n\t\t\tif (this.state.displaySubMenuAction !== \"colorBackground\") {\n\t\t\t\tconst subMenuRefs = this.subMenuRefs[this.state.displaySubMenuAction];\n\t\t\t\tsubMenuRefs[this.subMenuFocusIndex].current.focus();\n\t\t\t}\n\n\t\t} else {\n\t\t\tthis.focusIndex = this.focusIndex === null ? 0 : this.focusIndex;\n\t\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t\t}\n\t}\n\n\tonContextMenu(e) {\n\t\te.preventDefault();\n\t}\n\n\tonKeyDown(evt) {\n\t\t// Don't let keyboard event go through to other objects.\n\t\tevt.stopPropagation();\n\t\tevt.preventDefault();\n\n\t\tif (KeyboardUtils.nextContextMenuOption(evt)) {\n\t\t\tif (this.state.displaySubMenuAction) {\n\t\t\t\tconst subMenuRefs = this.subMenuRefs[this.state.displaySubMenuAction];\n\t\t\t\tthis.subMenuFocusIndex = this.subMenuFocusIndex === subMenuRefs.length - 1 ? 0 : this.subMenuFocusIndex + 1;\n\t\t\t\tsubMenuRefs[this.subMenuFocusIndex].current.focus();\n\n\t\t\t} else {\n\t\t\t\tthis.focusIndex = this.focusIndex === this.menuRefs.length - 1 ? 0 : this.focusIndex + 1;\n\t\t\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t\t\t}\n\n\t\t} else if (KeyboardUtils.previousContextMenuOption(evt)) {\n\t\t\tif (this.state.displaySubMenuAction) {\n\t\t\t\tconst subMenuRefs = this.subMenuRefs[this.state.displaySubMenuAction];\n\t\t\t\tthis.subMenuFocusIndex = this.subMenuFocusIndex === 0 ? subMenuRefs.length - 1 : this.subMenuFocusIndex - 1;\n\t\t\t\tsubMenuRefs[this.subMenuFocusIndex].current.focus();\n\n\t\t\t} else {\n\t\t\t\tthis.focusIndex = this.focusIndex === 0 ? this.menuRefs.length - 1 : this.focusIndex - 1;\n\t\t\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t\t\t}\n\n\t\t} else if (KeyboardUtils.openContextMenuSubMenu(evt)) {\n\t\t\tconst action = evt.target.dataset.action;\n\t\t\tif (this.subMenuRefs[action]) {\n\t\t\t\tthis.subMenuOpen(action);\n\t\t\t}\n\n\t\t} else if (KeyboardUtils.closeContextMenuSubMenu(evt) &&\n\t\t\t\t\tthis.state.displaySubMenuAction) {\n\t\t\tthis.subMenuClose();\n\n\t\t} else if (KeyboardUtils.closeContextMenu(evt) &&\n\t\t\t\t\t!this.state.displaySubMenuAction) {\n\t\t\tthis.props.closeContextMenu();\n\n\t\t} else if (KeyboardUtils.activateContextMenuOption(evt)) {\n\t\t\tconst action = evt.target.dataset.action;\n\t\t\tif (this.subMenuRefs[action]) {\n\t\t\t\tthis.subMenuOpen(action);\n\n\t\t\t} else {\n\t\t\t\tthis.itemSelected(action);\n\t\t\t}\n\t\t}\n\t}\n\n\titemSelected(data) {\n\t\tthis.props.contextHandler(data);\n\t}\n\n\tcolorClicked(color, evt) {\n\t\tthis.props.contextHandler(\"colorSelectedObjects\", evt, { color });\n\t}\n\n\t// Returns the size of the menu passed in.\n\tcalculateMenuSize(menu) {\n\t\tvar numDividers = 0;\n\t\tfor (let i = 0; i < menu.length; ++i) {\n\t\t\tconst divider = menu[i].divider;\n\t\t\tif (divider) {\n\t\t\t\tnumDividers++;\n\t\t\t}\n\t\t}\n\n\t\tvar menuSize = {\n\t\t\theight: ((menu.length - numDividers) * CONTEXT_MENU_LINK_HEIGHT) + (numDividers * CONTEXT_MENU_DIVIDER_HEIGHT),\n\t\t\twidth: CONTEXT_MENU_WIDTH\n\t\t};\n\n\t\treturn menuSize;\n\t}\n\n\t// Returns a new position and the canvas rectangle for the context menu based on the current\n\t// mouse position and whether the menu would appear outside the edges of the page.\n\tcalculateMenuPos(mousePos, menuSize, canvasRect) {\n\t\tconst menuPos = { x: mousePos.x, y: mousePos.y };\n\n\t\t// Reposition contextMenu if it will show off the bottom of the page\n\t\tif (mousePos.y + menuSize.height > canvasRect.height) {\n\t\t\tmenuPos.y = canvasRect.height - menuSize.height - EXTRA_OFFSET; // Move up by extra offset so it looks nice\n\n\t\t\t// If repositioning the menu would push it off the top of the page\n\t\t\t// (in very short browser windows) position it at the top.\n\t\t\tif (menuPos.y < 0) {\n\t\t\t\tmenuPos.y = 0;\n\t\t\t}\n\t\t}\n\n\t\t// Reposition contextMenu if it will show off the right of the page\n\t\tif (mousePos.x + menuSize.width > canvasRect.width) {\n\t\t\tmenuPos.x -= menuSize.width;\n\t\t}\n\n\t\t// Add a pixel to x and y because on Chrome without this the context menu\n\t\t// appears with the top corner of the first menu item under the mouse\n\t\t// cursor. This highlights the first menu item (which looks weird) and, if\n\t\t// the first item is a cascade menu, automatically opens the sub-menu.\n\t\tmenuPos.x += 1;\n\t\tmenuPos.y += 1;\n\n\t\treturn menuPos;\n\t}\n\n\t// Returns true of all the items in a sub-menu are disabled.\n\tareAllSubmenuItemsDisabled(submenuItems) {\n\t\tlet itemCount = 0;\n\t\tlet disabledCount = 0;\n\t\tsubmenuItems.forEach(function(submenuItem) {\n\t\t\tif (!submenuItem.divider) {\n\t\t\t\titemCount++;\n\t\t\t}\n\t\t\tif (submenuItem.enable === false) {\n\t\t\t\tdisabledCount++;\n\t\t\t}\n\t\t});\n\t\treturn disabledCount === itemCount;\n\t}\n\n\t// Builds a new menu based on the menu defintion passed in.\n\tbuildMenu(menuDefinition, menuSize, menuPos, canvasRect) {\n\t\tconst menuItems = [];\n\t\tconst menuRefs = [];\n\n\t\tlet runningYPos = 0;\n\t\t// Records if we have just displayed a divider. This is useful because we\n\t\t// only want to display one divider if there is a divider element\n\t\t// immediately after another divider element in the menuDefintion array.\n\t\tlet previousDivider = false;\n\n\t\tfor (let i = 0; i < menuDefinition.length; ++i) {\n\t\t\tconst divider = menuDefinition[i].divider;\n\t\t\tconst submenu = menuDefinition[i].submenu;\n\n\t\t\tif (divider) {\n\t\t\t\tif (!previousDivider) {\n\t\t\t\t\tmenuItems.push(<div key={i} className={\"context-menu-divider\"} />);\n\t\t\t\t\trunningYPos += CONTEXT_MENU_DIVIDER_HEIGHT;\n\t\t\t\t\tpreviousDivider = true;\n\t\t\t\t}\n\t\t\t} else if (menuDefinition[i].action === \"colorBackground\") {\n\t\t\t\tpreviousDivider = false;\n\t\t\t\tconst disabled = false;\n\t\t\t\tconst subMenuSize = { width: CONTEXT_MENU_WIDTH, height: 50 };\n\t\t\t\tconst subMenuInfo = this.buildColorPickerPanel();\n\t\t\t\tconst subMenuContent = subMenuInfo.menuItems;\n\t\t\t\tthis.subMenuRefs[menuDefinition[i].action] = subMenuInfo.menuRefs;\n\n\t\t\t\tconst subMenu = this.buildSubMenu(\n\t\t\t\t\tmenuDefinition, i, menuRefs, subMenuContent, runningYPos, menuPos, menuSize, subMenuSize, canvasRect, disabled);\n\t\t\t\tmenuItems.push(subMenu);\n\n\t\t\t\trunningYPos += CONTEXT_MENU_LINK_HEIGHT;\n\n\t\t\t} else if (submenu) {\n\t\t\t\tpreviousDivider = false;\n\t\t\t\tconst disabled = this.areAllSubmenuItemsDisabled(menuDefinition[i].menu);\n\t\t\t\tconst subMenuSize = this.calculateMenuSize(menuDefinition[i].menu);\n\t\t\t\tconst subMenuInfo = this.buildMenu(menuDefinition[i].menu, menuSize, menuPos, canvasRect, 100);\n\t\t\t\tconst subMenuContent = subMenuInfo.menuItems;\n\t\t\t\tthis.subMenuRefs[menuDefinition[i].action] = subMenuInfo.menuRefs;\n\n\t\t\t\tconst subMenu = this.buildSubMenu(\n\t\t\t\t\tmenuDefinition, i, menuRefs, subMenuContent, runningYPos, menuPos, menuSize, subMenuSize, canvasRect, disabled);\n\t\t\t\tmenuItems.push(subMenu);\n\n\t\t\t\trunningYPos += CONTEXT_MENU_LINK_HEIGHT;\n\n\t\t\t} else {\n\t\t\t\tpreviousDivider = false;\n\t\t\t\tconst className = \"context-menu-item\" +\n\t\t\t\t\t(menuDefinition[i].enable === false ? \" disabled\" : \"\");\n\n\t\t\t\tconst onClickFunction = menuDefinition[i].enable === false\n\t\t\t\t\t? null\n\t\t\t\t\t: this.itemSelected.bind(null, menuDefinition[i].action);\n\n\t\t\t\tlet menuItem;\n\n\t\t\t\tif (menuDefinition[i].enable === false) {\n\t\t\t\t\tmenuItem = (\n\t\t\t\t\t\t<div key={i} className={className} onClick={onClickFunction} role=\"menuitem\">\n\t\t\t\t\t\t\t{menuDefinition[i].label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst ref = React.createRef();\n\t\t\t\t\tmenuRefs.push(ref);\n\n\t\t\t\t\tmenuItem = (\n\t\t\t\t\t\t<div key={i} ref={ref} tabIndex={-1} data-action={menuDefinition[i].action}\n\t\t\t\t\t\t\tclassName={className} onClick={onClickFunction} onKeyDown={this.onKeyDown} role=\"menuitem\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{menuDefinition[i].label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmenuItems.push(menuItem);\n\t\t\t\trunningYPos += CONTEXT_MENU_LINK_HEIGHT;\n\t\t\t}\n\t\t}\n\t\treturn { menuItems, menuRefs };\n\t}\n\n\tbuildColorPickerPanel() {\n\t\tconst subPanelData = {\n\t\t\tclickActionHandler: (c, evt) => this.colorClicked(c, evt),\n\t\t\tcloseSubPanel: () => this.subMenuClose()\n\t\t};\n\t\t// Only create the color picker when we are actually displaying it in the sub-menu.\n\t\t// That way the color picker will set focus on itself when it is opened.\n\t\tconst colorPicker = this.state.displaySubMenuAction === \"colorBackground\"\n\t\t\t? <ColorPicker ref={ref} subPanelData={subPanelData} closeSubPanel={() => this.subMenuClose()} />\n\t\t\t: null;\n\n\t\tconst ref = React.createRef();\n\n\t\tconst content = (\n\t\t\t<div key={\"color-picker\"} ref={ref} tabIndex={-1}>\n\t\t\t\t{colorPicker}\n\t\t\t</div>\n\t\t);\n\n\t\treturn { menuItems: [content], menuRefs: [ref] };\n\t}\n\n\tsubMenuOpen(action) {\n\t\tthis.setState({ displaySubMenuAction: action });\n\t}\n\n\tsubMenuClose(action) {\n\t\tthis.setState({ displaySubMenuAction: \"\" });\n\t}\n\n\t// Builds a sub-menu for the menuitem identified by the index into the menudefintion.\n\tbuildSubMenu(menuDefinition, index, menuRefs, subMenuContent, runningYPos, menuPos,\n\t\tmenuSize, subMenuSize, canvasRect, disabled) {\n\t\tconst rtl = this.buildRtlState(menuPos, menuSize, subMenuSize, canvasRect);\n\t\tconst subMenuPosStyle = this.buildSubMenuPosStyle(runningYPos, menuPos, subMenuSize, canvasRect, rtl);\n\t\tconst menuItem = menuDefinition[index];\n\n\t\tconst icon = (<ChevronRight />);\n\t\tconst menuItemContent = <div>{menuItem.label}{icon} </div>;\n\t\tconst menuItemClass = \"context-menu-item \" + (disabled ? \" disabled\" : \"\");\n\t\tconst subMenuClass = \"context-menu-popover context-menu-submenu\" +\n\t\t\t(this.state.displaySubMenuAction === menuItem.action ? \" context-menu--visible\" : \"\");\n\t\tconst onMouseEnter = (disabled ? null : this.subMenuOpen.bind(this, menuItem.action));\n\t\tconst onMouseLeave = (disabled ? null : this.subMenuClose.bind(this));\n\n\t\tconst ref = React.createRef();\n\t\tmenuRefs.push(ref);\n\n\t\treturn (\n\t\t\t<div key={index} ref={ref} className={menuItemClass} aria-haspopup tabIndex={-1} data-action={menuItem.action} role=\"menuitem\"\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t>\n\t\t\t\t{menuItemContent}\n\t\t\t\t<div style={subMenuPosStyle} className={subMenuClass}>\n\t\t\t\t\t{subMenuContent}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Returns a boolean to indicate whether the submenu should appear on the\n\t// right of the context menu (rtl === false) or on the left of the context\n\t// menu (rtl === true).\n\tbuildRtlState(menuPos, menuSize, subMenuSize, canvasRect) {\n\t\t// Ensure that the combined menu position, plus the menu width,\n\t\t// plus the submenu width, does not exceed the viewport bounds.\n\t\treturn (menuPos.x + menuSize.width + subMenuSize.width > canvasRect.right);\n\t}\n\n\t// Returns a style object that can be applied to the sub-menu to adjust its:\n\t// * vertical (y) position: If the submenu is tall enough that it would be\n\t// displayed off the bottom of the canvas area.\n\t// * horizontal (x) position: If the sub-menu needs to appear on the left\n\t// side of the main menu (rtl === true).\n\tbuildSubMenuPosStyle(runningYPos, menuPos, subMenuSize, canvasRect, rtl) {\n\t\t// Does the submenu go below the bottom of the viewport?\n\t\tconst y = canvasRect.bottom - (menuPos.y + runningYPos + subMenuSize.height);\n\n\t\t// If submenu is not below the viewport bottom set offset to 0 so the\n\t\t// submenu will not be moved. Otherwise, y will be used to move the\n\t\t// submenu up fully into the view port.\n\t\tconst offset = (y > 0) ? 0 : y - EXTRA_OFFSET;\n\n\t\tconst subMenuPosStyle = {\n\t\t\ttop: offset + \"px\" // Use negative to push the menu up\n\t\t};\n\n\t\tif (rtl) {\n\t\t\tsubMenuPosStyle.left = -CONTEXT_MENU_WIDTH + \"px\";\n\t\t}\n\n\t\treturn subMenuPosStyle;\n\t}\n\n\t// Returns the menu definition array passed in making sure any\n\t// submenu items have an action. Note: some applications forget\n\t// to provide an action because, for the submenu, it is only\n\t// used by the context menu code.\n\tensureAllSubMenuItemsHaveAction(menuDef) {\n\t\treturn menuDef.map((item, index) => {\n\t\t\tif (item.submenu && typeof item.action === \"undefined\") {\n\t\t\t\treturn { ...item, action: \"submenu_\" + index };\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t}\n\n\trender() {\n\t\t// Reposition contextMenu so that it does not show off the screen\n\t\tconst menuSize = this.calculateMenuSize(this.props.menuDefinition);\n\t\tconst menuPos = this.calculateMenuPos(this.props.mousePos, menuSize, this.props.canvasRect);\n\t\tconst posStyle = {\n\t\t\tleft: menuPos.x + \"px\",\n\t\t\ttop: menuPos.y + \"px\"\n\t\t};\n\n\t\tthis.menuRefs = [];\n\t\tconst menuDefinition = this.ensureAllSubMenuItemsHaveAction(this.props.menuDefinition);\n\t\tconst menuInfo = this.buildMenu(menuDefinition, menuSize, menuPos, this.props.canvasRect);\n\t\tthis.menuRefs = menuInfo.menuRefs;\n\n\t\treturn (\n\t\t\t<div id=\"context-menu-popover\" className=\"context-menu-popover\" style={posStyle} onContextMenu={this.onContextMenu}>\n\t\t\t\t{menuInfo.menuItems}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nCommonContextMenu.propTypes = {\n\tcontextHandler: PropTypes.func.isRequired,\n\tcloseContextMenu: PropTypes.func.isRequired,\n\tmenuDefinition: PropTypes.array.isRequired,\n\tcanvasRect: PropTypes.object.isRequired,\n\tmousePos: PropTypes.object.isRequired\n};\n\nexport default CommonContextMenu;\n","/*\n * Copyright 2017-2023 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport CommonContextMenu from \"./common-context-menu.jsx\";\n\nexport default class ContextMenuWrapper extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\n\t\tthis.contextMenuClicked = this.contextMenuClicked.bind(this);\n\t\tthis.handleClickOutside = this.handleClickOutside.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(\"click\", this.handleClickOutside, true);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(\"click\", this.handleClickOutside, true);\n\t}\n\n\t// Returns an object that describes the dimensions of a rectangle for the\n\t// canvas div with coordinates based on the top left corner of the div. This\n\t// will match the coordinates for the mouse position where the user clicked,\n\t// which is specified in this.props.contextMenuPos object.\n\tgetCanvasRect() {\n\t\tconst containingDiv = document.getElementById(this.props.containingDivId);\n\t\tif (containingDiv) {\n\t\t\tconst clientRect = containingDiv.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: clientRect.bottom - clientRect.top,\n\t\t\t\tleft: 0,\n\t\t\t\tright: clientRect.right - clientRect.left,\n\t\t\t\theight: clientRect.height,\n\t\t\t\twidth: clientRect.width\n\t\t\t};\n\t\t}\n\t\t// Assist Jests tests to run when containingDiv is not available.\n\t\treturn { top: 0, bottom: 200, left: 0, right: 50, height: 200, width: 50 };\n\t}\n\n\thandleClickOutside(e) {\n\t\t// On Safari, when a user is displaying the context menu with a ctrl-click\n\t\t// (which is a supported context menu gesture on the Mac) a secondary click\n\t\t// event is emmitted which is received here with the ctrlKey field enabled.\n\t\t// So we ignore that event otherwse, if we continue, the context menu will\n\t\t// be closed.\n\t\tif (e.ctrlKey) {\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// If the click was anywhere outside the context menu and\n\t\t// the ellipsis button we just close the menu.\n\t\tif (!this.isOverContextMenu(e) && !this.isOverEllipsisButton(e)) {\n\t\t\t// This stop propagation is needed in common canvas so that selected nodes will\n\t\t\t// remain selected even after clicking outside the context menu to close the menu.\n\t\t\tif (this.props.stopPropagation) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t\tthis.props.closeContextMenu();\n\t\t}\n\t}\n\n\t// Retruns true if the event occurred over the context menu.\n\tisOverContextMenu(e) {\n\t\tconst domNode = document.getElementById(\"context-menu-popover\");\n\t\treturn !domNode || domNode.contains(e.target);\n\t}\n\n\t// Returns true if the event occurred over the ellipsis button. Typically\n\t// there will be only one ellipsis button on the canvas, since they are only\n\t// displayed on hover, but in some test cicumstances there might be more\n\t// than one.\n\tisOverEllipsisButton(e) {\n\t\tconst ellipsisNodes = document.getElementsByClassName(\"d3-node-ellipsis-group\");\n\t\tlet state = false;\n\t\tfor (let i = 0; i < ellipsisNodes.length; i++) {\n\t\t\tif (state === false && ellipsisNodes[i].contains(e.target)) {\n\t\t\t\tstate = true;\n\t\t\t}\n\t\t}\n\t\treturn state;\n\t}\n\n\tcontextMenuClicked(action, evt, param) {\n\t\tthis.props.contextMenuActionHandler(action, evt, param);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<CommonContextMenu\n\t\t\t\tcontextHandler={this.contextMenuClicked}\n\t\t\t\tmenuDefinition={this.props.contextMenuDef}\n\t\t\t\tcanvasRect={this.getCanvasRect()}\n\t\t\t\tmousePos={this.props.contextMenuPos}\n\t\t\t\tcloseContextMenu={this.props.closeContextMenu}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nContextMenuWrapper.propTypes = {\n\tcontextMenuDef: PropTypes.array.isRequired,\n\tcontainingDivId: PropTypes.string.isRequired,\n\tcontextMenuPos: PropTypes.object.isRequired,\n\tcontextMenuActionHandler: PropTypes.func.isRequired,\n\tcloseContextMenu: PropTypes.func.isRequired,\n\tstopPropagation: PropTypes.bool\n};\n"],"names":["colorSetArray","ColorPicker$1","_React$Component","ColorPicker","props","_this","_classCallCheck","logger","Logger","colorIndex","colorsPerRow","subPanelData","type","WYSIWYG","totalColors","length","refss","i","push","React","createRef","onClick","bind","onKeyDown","_inherits","_createClass","key","value","this","setFocus","evt","stopPropagation","selectColor","KeyboardUtils","nextColor","previousColor","closeSubPanel","aboveColor","belowColor","preventDefault","tabKey","index","current","focus","color","target","dataset","clickActionHandler","_this2","log","colorDivs","map","c","className","selectedColor","createElement","ref","tabIndex","style","backgroundColor","rowCount","Math","ceil","width","COLOR_DIMENSION","height","paddingBottom","Component","CommonContextMenu$1","CommonContextMenu","state","displaySubMenuAction","menuRefs","subMenuRefs","focusIndex","subMenuFocusIndex","itemSelected","colorClicked","e","nextContextMenuOption","previousContextMenuOption","openContextMenuSubMenu","action","subMenuOpen","closeContextMenuSubMenu","subMenuClose","closeContextMenu","activateContextMenuOption","data","contextHandler","menu","numDividers","divider","mousePos","menuSize","canvasRect","menuPos","x","y","submenuItems","itemCount","disabledCount","forEach","submenuItem","enable","menuDefinition","menuItems","runningYPos","previousDivider","submenu","subMenuSize","subMenuInfo","buildColorPickerPanel","subMenuContent","subMenu","buildSubMenu","disabled","areAllSubmenuItemsDisabled","calculateMenuSize","buildMenu","onClickFunction","menuItem","role","label","colorPicker","setState","rtl","buildRtlState","subMenuPosStyle","buildSubMenuPosStyle","icon","ChevronRight","menuItemContent","menuItemClass","subMenuClass","onMouseEnter","onMouseLeave","right","bottom","top","left","menuDef","item","_objectSpread","calculateMenuPos","posStyle","ensureAllSubMenuItemsHaveAction","menuInfo","id","onContextMenu","ContextMenuWrapper","contextMenuClicked","handleClickOutside","document","addEventListener","removeEventListener","containingDiv","getElementById","containingDivId","clientRect","getBoundingClientRect","ctrlKey","isOverContextMenu","isOverEllipsisButton","domNode","contains","ellipsisNodes","getElementsByClassName","param","contextMenuActionHandler","contextMenuDef","getCanvasRect","contextMenuPos"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-menu-wrapper-ff90de76.js","sources":["../src/color-picker/color-set.js","../src/color-picker/color-picker.jsx","../src/context-menu/common-context-menu.jsx","../src/context-menu/context-menu-wrapper.jsx"],"sourcesContent":["/*\n * Copyright 2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// This is the set of colors for the WYSIWYG comments color palette used for\n// both text coloring and background coloring.\n\nconst colorArray = [\n\t\"#FFF1F1\", // Red\n\t\"#FCEBD6\", // Orange\n\t\"#FDF4D6\", // Yellow\n\t\"#DEFBE6\", // Green\n\t\"#D9FBFB\", // Teal\n\t\"#E5F6FF\", // Blue\n\t\"#F6F2FF\", // Purple\n\t\"#FFFFFF\", // Gray\n\n\t\"#FFD7D9\", // Red\n\t\"#FFD9BD\", // Orange\n\t\"#FFFFC7\", // Yellow\n\t\"#E2FEC7\", // Green\n\t\"#9EF0F0\", // Teal\n\t\"#CDE1FD\", // Blue\n\t\"#D4BBFF\", // Purple\n\t\"#F4F4F4\", // Gray\n\n\t\"#FFB3B8\", // Red\n\t\"#FF832B\", // Orange\n\t\"#FFFF00\", // Yellow\n\t\"#A7F0BA\", // Green\n\t\"#3DDBD9\", // Teal\n\t\"#BAE6FF\", // Blue\n\t\"#8080C0\", // Purple\n\t\"#E0E0E0\", // Gray\n\n\t\"#FF8389\", // Red\n\t\"#FC7B1D\", // Orange\n\t\"#FDDC69\", // Yellow\n\t\"#6FDC8C\", // Green\n\t\"#08BDBA\", // Teal\n\t\"#82CFFF\", // Blue\n\t\"#8080FF\", // Purple\n\t\"#C6C6C6\", // Gray\n\n\t\"#FA4D56\", // Red\n\t\"#EB6200\", // Orange\n\t\"#F1C21B\", // Yellow\n\t\"#42BE65\", // Green\n\t\"#009D9A\", // Teal\n\t\"#33B1FF\", // Blue\n\t\"#8000FF\", // Purple\n\t\"#A8A8A8\", // Gray\n\n\t\"#EA3325\", // Red\n\t\"#BA4E00\", // Orange\n\t\"#D2A106\", // Yellow\n\t\"#24A148\", // Green\n\t\"#007D79\", // Teal\n\t\"#78A9FF\", // Blue\n\t\"#6929C4\", // Purple\n\t\"#8D8D8D\", // Gray\n\n\t\"#DA1E28\", // Red\n\t\"#804040\", // Orange\n\t\"#B28600\", // Yellow\n\t\"#198038\", // Green\n\t\"#005D5D\", // Teal\n\t\"#1192E8\", // Blue\n\t\"#491D8B\", // Purple\n\t\"#000000\", // Gray\n\n\t\"#A2191F\", // Red\n\t\"#5C2800\", // Orange\n\t\"#8E6A01\", // Yellow\n\t\"#0E6027\", // Green\n\t\"#004144\", // Teal\n\t\"#0072C3\", // Blue\n\t\"#400080\", // Purple\n\t\"transparent\" // Gray\n];\nexport default colorArray;\n","/*\n * Copyright 2017-2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport KeyboardUtils from \"../common-canvas/keyboard-utils.js\";\nimport Logger from \"../logging/canvas-logger.js\";\nimport colorSetArray from \"./color-set.js\";\nimport { WYSIWYG } from \"../common-canvas/constants/canvas-constants.js\";\n\n// These dimensions should match the values in color-picker.scss\nconst COLOR_DIMENSION = 20;\nconst COLOR_PADDING = 5;\nconst COLOR_DIM_PLUS_PAD = COLOR_DIMENSION + COLOR_PADDING;\n\n\n// These values must reflect the layout of the color picker panel\n// decribed by the SCSS/CSS.\n\nclass ColorPicker extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.logger = new Logger(\"CC-Color-Picker\");\n\n\t\tthis.colorIndex = 0;\n\n\t\tthis.colorsPerRow = props.subPanelData.type === WYSIWYG ? 8 : 6;\n\t\tthis.totalColors = props.subPanelData.type === WYSIWYG ? colorSetArray.length : 12;\n\n\t\tthis.refss = [];\n\t\tfor (let i = 0; i < this.totalColors; i++) {\n\t\t\tthis.refss.push(React.createRef());\n\t\t}\n\t\tthis.onClick = this.onClick.bind(this);\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setFocus(this.colorIndex);\n\t}\n\n\tonClick(evt) {\n\t\tevt.stopPropagation();\n\t\tthis.selectColor(evt);\n\t}\n\n\tonKeyDown(evt) {\n\t\tif (KeyboardUtils.nextColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex++;\n\t\t\tif (this.colorIndex > this.totalColors - 1) {\n\t\t\t\tthis.colorIndex = 0;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.previousColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex--;\n\t\t\tif (this.colorIndex < 0) {\n\t\t\t\tthis.props.closeSubPanel();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.aboveColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex -= this.colorsPerRow;\n\t\t\tif (this.colorIndex < 0) {\n\t\t\t\tthis.colorIndex += this.colorsPerRow;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.belowColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tthis.colorIndex += this.colorsPerRow;\n\t\t\tif (this.colorIndex > this.totalColors - 1) {\n\t\t\t\tthis.colorIndex -= this.colorsPerRow;\n\t\t\t}\n\t\t\tthis.setFocus(this.colorIndex);\n\n\t\t} else if (KeyboardUtils.selectColor(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tevt.preventDefault();\n\t\t\tthis.selectColor(evt);\n\n\t\t} else if (KeyboardUtils.tabKey(evt)) {\n\t\t\tevt.stopPropagation();\n\t\t\tevt.preventDefault();\n\t\t\treturn;\n\t\t}\n\t}\n\n\tsetFocus(index) {\n\t\tthis.refss[index].current.focus();\n\t}\n\n\tselectColor(evt) {\n\t\tconst color = evt.target.dataset.color;\n\t\tthis.props.subPanelData.clickActionHandler(color, evt);\n\t\tthis.props.closeSubPanel();\n\t}\n\n\n\trender() {\n\t\tthis.logger.log(\"render\");\n\t\tif (this.props.subPanelData.type === WYSIWYG) {\n\n\t\t\tconst colorDivs = colorSetArray.map((c, i) => {\n\t\t\t\tlet className = \"color-picker-item\" + (c === \"transparent\" ? \" color-transparent\" : \"\");\n\t\t\t\tclassName += this.props.subPanelData.selectedColor === c ? \" selected\" : \"\";\n\n\t\t\t\treturn (<div key={\"key\" + i} ref={this.refss[i]} tabIndex={\"-1\"}\n\t\t\t\t\tdata-color={c}\n\t\t\t\t\tstyle={{ backgroundColor: c }}\n\t\t\t\t\tclassName={className}\n\t\t\t\t/>);\n\t\t\t});\n\n\t\t\tconst rowCount = Math.ceil(this.totalColors / this.colorsPerRow);\n\n\t\t\tconst style = {\n\t\t\t\twidth: (this.colorsPerRow * COLOR_DIM_PLUS_PAD) + COLOR_PADDING,\n\t\t\t\theight: (rowCount * COLOR_DIM_PLUS_PAD) + COLOR_PADDING,\n\t\t\t\tpaddingBottom: \"4px\"\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className=\"color-picker\" style={style} tabIndex={\"-1\"} onClick={this.onClick} onKeyDown={this.onKeyDown}>\n\t\t\t\t\t{colorDivs}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"color-picker\" tabIndex={\"-1\"} onClick={this.onClick} onKeyDown={this.onKeyDown}>\n\t\t\t\t<div ref={this.refss[0]} tabIndex={\"-1\"} data-color={\"bkg-col-white-0\"} className=\"color-picker-item white-0\" />\n\t\t\t\t<div ref={this.refss[1]} tabIndex={\"-1\"} data-color={\"bkg-col-yellow-20\"} className=\"color-picker-item yellow-20\" />\n\t\t\t\t<div ref={this.refss[2]} tabIndex={\"-1\"} data-color={\"bkg-col-gray-20\"} className=\"color-picker-item gray-20\" />\n\t\t\t\t<div ref={this.refss[3]} tabIndex={\"-1\"} data-color={\"bkg-col-green-20\"} className=\"color-picker-item green-20\" />\n\t\t\t\t<div ref={this.refss[4]} tabIndex={\"-1\"} data-color={\"bkg-col-teal-20\"} className=\"color-picker-item teal-20\" />\n\t\t\t\t<div ref={this.refss[5]} tabIndex={\"-1\"} data-color={\"bkg-col-cyan-20\"} className=\"color-picker-item cyan-20\" />\n\n\t\t\t\t<div ref={this.refss[6]} tabIndex={\"-1\"} data-color={\"bkg-col-red-50\"} className=\"color-picker-item red-50\" />\n\t\t\t\t<div ref={this.refss[7]} tabIndex={\"-1\"} data-color={\"bkg-col-orange-40\"} className=\"color-picker-item orange-40\" />\n\t\t\t\t<div ref={this.refss[8]} tabIndex={\"-1\"} data-color={\"bkg-col-gray-50\"} className=\"color-picker-item gray-50\" />\n\t\t\t\t<div ref={this.refss[9]} tabIndex={\"-1\"} data-color={\"bkg-col-green-50\"} className=\"color-picker-item green-50\" />\n\t\t\t\t<div ref={this.refss[10]} tabIndex={\"-1\"} data-color={\"bkg-col-teal-50\"} className=\"color-picker-item teal-50\" />\n\t\t\t\t<div ref={this.refss[11]} tabIndex={\"-1\"} data-color={\"bkg-col-cyan-50\"} className=\"color-picker-item cyan-50\" />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nColorPicker.propTypes = {\n\tcloseSubPanel: PropTypes.func,\n\tsubPanelData: PropTypes.object\n};\n\nexport default ColorPicker;\n","/*\n * Copyright 2017-2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-empty-function: [\"error\", { \"allow\": [\"arrowFunctions\"] }] */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ChevronRight } from \"@carbon/react/icons\";\nimport ColorPicker from \"../color-picker\";\nimport KeyboardUtils from \"../common-canvas/keyboard-utils\";\n\n// context-menu sizing\nconst CONTEXT_MENU_WIDTH = 160; // See context-menu.scss\nconst CONTEXT_MENU_LINK_HEIGHT = 30; // See context-menu.scss\nconst CONTEXT_MENU_DIVIDER_HEIGHT = 1; // See context-menu.scss\nconst EXTRA_OFFSET = 5; // Extra offset for vertical menu positioning\n\n\nclass CommonContextMenu extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tdisplaySubMenuAction: \"\"\n\t\t};\n\t\tthis.menuRefs = [];\n\t\tthis.subMenuRefs = [];\n\n\t\tthis.focusIndex = null; // Set to null so we know when it is not initialized.\n\t\tthis.subMenuFocusIndex = 0;\n\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.itemSelected = this.itemSelected.bind(this);\n\t\tthis.colorClicked = this.colorClicked.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.focusIndex = this.focusIndex === null ? 0 : this.focusIndex;\n\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.state.displaySubMenuAction) {\n\t\t\tthis.subMenuFocusIndex = 0;\n\t\t\tif (this.state.displaySubMenuAction !== \"colorBackground\") {\n\t\t\t\tconst subMenuRefs = this.subMenuRefs[this.state.displaySubMenuAction];\n\t\t\t\tsubMenuRefs[this.subMenuFocusIndex].current.focus();\n\t\t\t}\n\n\t\t} else {\n\t\t\tthis.focusIndex = this.focusIndex === null ? 0 : this.focusIndex;\n\t\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t\t}\n\t}\n\n\tonContextMenu(e) {\n\t\te.preventDefault();\n\t}\n\n\tonKeyDown(evt) {\n\t\t// Don't let keyboard event go through to other objects.\n\t\tevt.stopPropagation();\n\t\tevt.preventDefault();\n\n\t\tif (KeyboardUtils.nextContextMenuOption(evt)) {\n\t\t\tif (this.state.displaySubMenuAction) {\n\t\t\t\tconst subMenuRefs = this.subMenuRefs[this.state.displaySubMenuAction];\n\t\t\t\tthis.subMenuFocusIndex = this.subMenuFocusIndex === subMenuRefs.length - 1 ? 0 : this.subMenuFocusIndex + 1;\n\t\t\t\tsubMenuRefs[this.subMenuFocusIndex].current.focus();\n\n\t\t\t} else {\n\t\t\t\tthis.focusIndex = this.focusIndex === this.menuRefs.length - 1 ? 0 : this.focusIndex + 1;\n\t\t\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t\t\t}\n\n\t\t} else if (KeyboardUtils.previousContextMenuOption(evt)) {\n\t\t\tif (this.state.displaySubMenuAction) {\n\t\t\t\tconst subMenuRefs = this.subMenuRefs[this.state.displaySubMenuAction];\n\t\t\t\tthis.subMenuFocusIndex = this.subMenuFocusIndex === 0 ? subMenuRefs.length - 1 : this.subMenuFocusIndex - 1;\n\t\t\t\tsubMenuRefs[this.subMenuFocusIndex].current.focus();\n\n\t\t\t} else {\n\t\t\t\tthis.focusIndex = this.focusIndex === 0 ? this.menuRefs.length - 1 : this.focusIndex - 1;\n\t\t\t\tthis.menuRefs[this.focusIndex].current.focus();\n\t\t\t}\n\n\t\t} else if (KeyboardUtils.openContextMenuSubMenu(evt)) {\n\t\t\tconst action = evt.target.dataset.action;\n\t\t\tif (this.subMenuRefs[action]) {\n\t\t\t\tthis.subMenuOpen(action);\n\t\t\t}\n\n\t\t} else if (KeyboardUtils.closeContextMenuSubMenu(evt) &&\n\t\t\t\t\tthis.state.displaySubMenuAction) {\n\t\t\tthis.subMenuClose();\n\n\t\t} else if (KeyboardUtils.closeContextMenu(evt) &&\n\t\t\t\t\t!this.state.displaySubMenuAction) {\n\t\t\tthis.props.closeContextMenu();\n\n\t\t} else if (KeyboardUtils.activateContextMenuOption(evt)) {\n\t\t\tconst action = evt.target.dataset.action;\n\t\t\tif (this.subMenuRefs[action]) {\n\t\t\t\tthis.subMenuOpen(action);\n\n\t\t\t} else {\n\t\t\t\tthis.itemSelected(action);\n\t\t\t}\n\t\t}\n\t}\n\n\titemSelected(data) {\n\t\tthis.props.contextHandler(data);\n\t}\n\n\tcolorClicked(color, evt) {\n\t\tthis.props.contextHandler(\"colorSelectedObjects\", evt, { color });\n\t}\n\n\t// Returns the size of the menu passed in.\n\tcalculateMenuSize(menu) {\n\t\tvar numDividers = 0;\n\t\tfor (let i = 0; i < menu.length; ++i) {\n\t\t\tconst divider = menu[i].divider;\n\t\t\tif (divider) {\n\t\t\t\tnumDividers++;\n\t\t\t}\n\t\t}\n\n\t\tvar menuSize = {\n\t\t\theight: ((menu.length - numDividers) * CONTEXT_MENU_LINK_HEIGHT) + (numDividers * CONTEXT_MENU_DIVIDER_HEIGHT),\n\t\t\twidth: CONTEXT_MENU_WIDTH\n\t\t};\n\n\t\treturn menuSize;\n\t}\n\n\t// Returns a new position and the canvas rectangle for the context menu based on the current\n\t// mouse position and whether the menu would appear outside the edges of the page.\n\tcalculateMenuPos(mousePos, menuSize, canvasRect) {\n\t\tconst menuPos = { x: mousePos.x, y: mousePos.y };\n\n\t\t// Reposition contextMenu if it will show off the bottom of the page\n\t\tif (mousePos.y + menuSize.height > canvasRect.height) {\n\t\t\tmenuPos.y = canvasRect.height - menuSize.height - EXTRA_OFFSET; // Move up by extra offset so it looks nice\n\n\t\t\t// If repositioning the menu would push it off the top of the page\n\t\t\t// (in very short browser windows) position it at the top.\n\t\t\tif (menuPos.y < 0) {\n\t\t\t\tmenuPos.y = 0;\n\t\t\t}\n\t\t}\n\n\t\t// Reposition contextMenu if it will show off the right of the page\n\t\tif (mousePos.x + menuSize.width > canvasRect.width) {\n\t\t\tmenuPos.x -= menuSize.width;\n\t\t}\n\n\t\t// Add a pixel to x and y because on Chrome without this the context menu\n\t\t// appears with the top corner of the first menu item under the mouse\n\t\t// cursor. This highlights the first menu item (which looks weird) and, if\n\t\t// the first item is a cascade menu, automatically opens the sub-menu.\n\t\tmenuPos.x += 1;\n\t\tmenuPos.y += 1;\n\n\t\treturn menuPos;\n\t}\n\n\t// Returns true of all the items in a sub-menu are disabled.\n\tareAllSubmenuItemsDisabled(submenuItems) {\n\t\tlet itemCount = 0;\n\t\tlet disabledCount = 0;\n\t\tsubmenuItems.forEach(function(submenuItem) {\n\t\t\tif (!submenuItem.divider) {\n\t\t\t\titemCount++;\n\t\t\t}\n\t\t\tif (submenuItem.enable === false) {\n\t\t\t\tdisabledCount++;\n\t\t\t}\n\t\t});\n\t\treturn disabledCount === itemCount;\n\t}\n\n\t// Builds a new menu based on the menu defintion passed in.\n\tbuildMenu(menuDefinition, menuSize, menuPos, canvasRect) {\n\t\tconst menuItems = [];\n\t\tconst menuRefs = [];\n\n\t\tlet runningYPos = 0;\n\t\t// Records if we have just displayed a divider. This is useful because we\n\t\t// only want to display one divider if there is a divider element\n\t\t// immediately after another divider element in the menuDefintion array.\n\t\tlet previousDivider = false;\n\n\t\tfor (let i = 0; i < menuDefinition.length; ++i) {\n\t\t\tconst divider = menuDefinition[i].divider;\n\t\t\tconst submenu = menuDefinition[i].submenu;\n\n\t\t\tif (divider) {\n\t\t\t\tif (!previousDivider) {\n\t\t\t\t\tmenuItems.push(<div key={i} className={\"context-menu-divider\"} />);\n\t\t\t\t\trunningYPos += CONTEXT_MENU_DIVIDER_HEIGHT;\n\t\t\t\t\tpreviousDivider = true;\n\t\t\t\t}\n\t\t\t} else if (menuDefinition[i].action === \"colorBackground\") {\n\t\t\t\tpreviousDivider = false;\n\t\t\t\tconst disabled = false;\n\t\t\t\tconst subMenuSize = { width: CONTEXT_MENU_WIDTH, height: 50 };\n\t\t\t\tconst subMenuInfo = this.buildColorPickerPanel();\n\t\t\t\tconst subMenuContent = subMenuInfo.menuItems;\n\t\t\t\tthis.subMenuRefs[menuDefinition[i].action] = subMenuInfo.menuRefs;\n\n\t\t\t\tconst subMenu = this.buildSubMenu(\n\t\t\t\t\tmenuDefinition, i, menuRefs, subMenuContent, runningYPos, menuPos, menuSize, subMenuSize, canvasRect, disabled);\n\t\t\t\tmenuItems.push(subMenu);\n\n\t\t\t\trunningYPos += CONTEXT_MENU_LINK_HEIGHT;\n\n\t\t\t} else if (submenu) {\n\t\t\t\tpreviousDivider = false;\n\t\t\t\tconst disabled = this.areAllSubmenuItemsDisabled(menuDefinition[i].menu);\n\t\t\t\tconst subMenuSize = this.calculateMenuSize(menuDefinition[i].menu);\n\t\t\t\tconst subMenuInfo = this.buildMenu(menuDefinition[i].menu, menuSize, menuPos, canvasRect, 100);\n\t\t\t\tconst subMenuContent = subMenuInfo.menuItems;\n\t\t\t\tthis.subMenuRefs[menuDefinition[i].action] = subMenuInfo.menuRefs;\n\n\t\t\t\tconst subMenu = this.buildSubMenu(\n\t\t\t\t\tmenuDefinition, i, menuRefs, subMenuContent, runningYPos, menuPos, menuSize, subMenuSize, canvasRect, disabled);\n\t\t\t\tmenuItems.push(subMenu);\n\n\t\t\t\trunningYPos += CONTEXT_MENU_LINK_HEIGHT;\n\n\t\t\t} else {\n\t\t\t\tpreviousDivider = false;\n\t\t\t\tconst className = \"context-menu-item\" +\n\t\t\t\t\t(menuDefinition[i].enable === false ? \" disabled\" : \"\");\n\n\t\t\t\tconst onClickFunction = menuDefinition[i].enable === false\n\t\t\t\t\t? null\n\t\t\t\t\t: this.itemSelected.bind(null, menuDefinition[i].action);\n\n\t\t\t\tlet menuItem;\n\n\t\t\t\tif (menuDefinition[i].enable === false) {\n\t\t\t\t\tmenuItem = (\n\t\t\t\t\t\t<div key={i} className={className} onClick={onClickFunction} role=\"menuitem\">\n\t\t\t\t\t\t\t{menuDefinition[i].label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst ref = React.createRef();\n\t\t\t\t\tmenuRefs.push(ref);\n\n\t\t\t\t\tmenuItem = (\n\t\t\t\t\t\t<div key={i} ref={ref} tabIndex={-1} data-action={menuDefinition[i].action}\n\t\t\t\t\t\t\tclassName={className} onClick={onClickFunction} onKeyDown={this.onKeyDown} role=\"menuitem\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{menuDefinition[i].label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmenuItems.push(menuItem);\n\t\t\t\trunningYPos += CONTEXT_MENU_LINK_HEIGHT;\n\t\t\t}\n\t\t}\n\t\treturn { menuItems, menuRefs };\n\t}\n\n\tbuildColorPickerPanel() {\n\t\tconst subPanelData = {\n\t\t\tclickActionHandler: (c, evt) => this.colorClicked(c, evt),\n\t\t\tcloseSubPanel: () => this.subMenuClose()\n\t\t};\n\t\t// Only create the color picker when we are actually displaying it in the sub-menu.\n\t\t// That way the color picker will set focus on itself when it is opened.\n\t\tconst colorPicker = this.state.displaySubMenuAction === \"colorBackground\"\n\t\t\t? <ColorPicker ref={ref} subPanelData={subPanelData} closeSubPanel={() => this.subMenuClose()} />\n\t\t\t: null;\n\n\t\tconst ref = React.createRef();\n\n\t\tconst content = (\n\t\t\t<div key={\"color-picker\"} ref={ref} tabIndex={-1}>\n\t\t\t\t{colorPicker}\n\t\t\t</div>\n\t\t);\n\n\t\treturn { menuItems: [content], menuRefs: [ref] };\n\t}\n\n\tsubMenuOpen(action) {\n\t\tthis.setState({ displaySubMenuAction: action });\n\t}\n\n\tsubMenuClose(action) {\n\t\tthis.setState({ displaySubMenuAction: \"\" });\n\t}\n\n\t// Builds a sub-menu for the menuitem identified by the index into the menudefintion.\n\tbuildSubMenu(menuDefinition, index, menuRefs, subMenuContent, runningYPos, menuPos,\n\t\tmenuSize, subMenuSize, canvasRect, disabled) {\n\t\tconst rtl = this.buildRtlState(menuPos, menuSize, subMenuSize, canvasRect);\n\t\tconst subMenuPosStyle = this.buildSubMenuPosStyle(runningYPos, menuPos, subMenuSize, canvasRect, rtl);\n\t\tconst menuItem = menuDefinition[index];\n\n\t\tconst icon = (<ChevronRight />);\n\t\tconst menuItemContent = <div>{menuItem.label}{icon} </div>;\n\t\tconst menuItemClass = \"context-menu-item \" + (disabled ? \" disabled\" : \"\");\n\t\tconst subMenuClass = \"context-menu-popover context-menu-submenu\" +\n\t\t\t(this.state.displaySubMenuAction === menuItem.action ? \" context-menu--visible\" : \"\");\n\t\tconst onMouseEnter = (disabled ? null : this.subMenuOpen.bind(this, menuItem.action));\n\t\tconst onMouseLeave = (disabled ? null : this.subMenuClose.bind(this));\n\n\t\tconst ref = React.createRef();\n\t\tmenuRefs.push(ref);\n\n\t\treturn (\n\t\t\t<div key={index} ref={ref} className={menuItemClass} aria-haspopup tabIndex={-1} data-action={menuItem.action} role=\"menuitem\"\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t>\n\t\t\t\t{menuItemContent}\n\t\t\t\t<div style={subMenuPosStyle} className={subMenuClass}>\n\t\t\t\t\t{subMenuContent}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Returns a boolean to indicate whether the submenu should appear on the\n\t// right of the context menu (rtl === false) or on the left of the context\n\t// menu (rtl === true).\n\tbuildRtlState(menuPos, menuSize, subMenuSize, canvasRect) {\n\t\t// Ensure that the combined menu position, plus the menu width,\n\t\t// plus the submenu width, does not exceed the viewport bounds.\n\t\treturn (menuPos.x + menuSize.width + subMenuSize.width > canvasRect.right);\n\t}\n\n\t// Returns a style object that can be applied to the sub-menu to adjust its:\n\t// * vertical (y) position: If the submenu is tall enough that it would be\n\t// displayed off the bottom of the canvas area.\n\t// * horizontal (x) position: If the sub-menu needs to appear on the left\n\t// side of the main menu (rtl === true).\n\tbuildSubMenuPosStyle(runningYPos, menuPos, subMenuSize, canvasRect, rtl) {\n\t\t// Does the submenu go below the bottom of the viewport?\n\t\tconst y = canvasRect.bottom - (menuPos.y + runningYPos + subMenuSize.height);\n\n\t\t// If submenu is not below the viewport bottom set offset to 0 so the\n\t\t// submenu will not be moved. Otherwise, y will be used to move the\n\t\t// submenu up fully into the view port.\n\t\tconst offset = (y > 0) ? 0 : y - EXTRA_OFFSET;\n\n\t\tconst subMenuPosStyle = {\n\t\t\ttop: offset + \"px\" // Use negative to push the menu up\n\t\t};\n\n\t\tif (rtl) {\n\t\t\tsubMenuPosStyle.left = -CONTEXT_MENU_WIDTH + \"px\";\n\t\t}\n\n\t\treturn subMenuPosStyle;\n\t}\n\n\t// Returns the menu definition array passed in making sure any\n\t// submenu items have an action. Note: some applications forget\n\t// to provide an action because, for the submenu, it is only\n\t// used by the context menu code.\n\tensureAllSubMenuItemsHaveAction(menuDef) {\n\t\treturn menuDef.map((item, index) => {\n\t\t\tif (item.submenu && typeof item.action === \"undefined\") {\n\t\t\t\treturn { ...item, action: \"submenu_\" + index };\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t}\n\n\trender() {\n\t\t// Reposition contextMenu so that it does not show off the screen\n\t\tconst menuSize = this.calculateMenuSize(this.props.menuDefinition);\n\t\tconst menuPos = this.calculateMenuPos(this.props.mousePos, menuSize, this.props.canvasRect);\n\t\tconst posStyle = {\n\t\t\tleft: menuPos.x + \"px\",\n\t\t\ttop: menuPos.y + \"px\"\n\t\t};\n\n\t\tthis.menuRefs = [];\n\t\tconst menuDefinition = this.ensureAllSubMenuItemsHaveAction(this.props.menuDefinition);\n\t\tconst menuInfo = this.buildMenu(menuDefinition, menuSize, menuPos, this.props.canvasRect);\n\t\tthis.menuRefs = menuInfo.menuRefs;\n\n\t\treturn (\n\t\t\t<div id=\"context-menu-popover\" className=\"context-menu-popover\" style={posStyle} onContextMenu={this.onContextMenu}>\n\t\t\t\t{menuInfo.menuItems}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nCommonContextMenu.propTypes = {\n\tcontextHandler: PropTypes.func.isRequired,\n\tcloseContextMenu: PropTypes.func.isRequired,\n\tmenuDefinition: PropTypes.array.isRequired,\n\tcanvasRect: PropTypes.object.isRequired,\n\tmousePos: PropTypes.object.isRequired\n};\n\nexport default CommonContextMenu;\n","/*\n * Copyright 2017-2023 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport CommonContextMenu from \"./common-context-menu.jsx\";\n\nexport default class ContextMenuWrapper extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\n\t\tthis.contextMenuClicked = this.contextMenuClicked.bind(this);\n\t\tthis.handleClickOutside = this.handleClickOutside.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(\"click\", this.handleClickOutside, true);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(\"click\", this.handleClickOutside, true);\n\t}\n\n\t// Returns an object that describes the dimensions of a rectangle for the\n\t// canvas div with coordinates based on the top left corner of the div. This\n\t// will match the coordinates for the mouse position where the user clicked,\n\t// which is specified in this.props.contextMenuPos object.\n\tgetCanvasRect() {\n\t\tconst containingDiv = document.getElementById(this.props.containingDivId);\n\t\tif (containingDiv) {\n\t\t\tconst clientRect = containingDiv.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: clientRect.bottom - clientRect.top,\n\t\t\t\tleft: 0,\n\t\t\t\tright: clientRect.right - clientRect.left,\n\t\t\t\theight: clientRect.height,\n\t\t\t\twidth: clientRect.width\n\t\t\t};\n\t\t}\n\t\t// Assist Jests tests to run when containingDiv is not available.\n\t\treturn { top: 0, bottom: 200, left: 0, right: 50, height: 200, width: 50 };\n\t}\n\n\thandleClickOutside(e) {\n\t\t// On Safari, when a user is displaying the context menu with a ctrl-click\n\t\t// (which is a supported context menu gesture on the Mac) a secondary click\n\t\t// event is emmitted which is received here with the ctrlKey field enabled.\n\t\t// So we ignore that event otherwse, if we continue, the context menu will\n\t\t// be closed.\n\t\tif (e.ctrlKey) {\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\t// If the click was anywhere outside the context menu and\n\t\t// the ellipsis button we just close the menu.\n\t\tif (!this.isOverContextMenu(e) && !this.isOverEllipsisButton(e)) {\n\t\t\t// This stop propagation is needed in common canvas so that selected nodes will\n\t\t\t// remain selected even after clicking outside the context menu to close the menu.\n\t\t\tif (this.props.stopPropagation) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t\tthis.props.closeContextMenu();\n\t\t}\n\t}\n\n\t// Retruns true if the event occurred over the context menu.\n\tisOverContextMenu(e) {\n\t\tconst domNode = document.getElementById(\"context-menu-popover\");\n\t\treturn !domNode || domNode.contains(e.target);\n\t}\n\n\t// Returns true if the event occurred over the ellipsis button. Typically\n\t// there will be only one ellipsis button on the canvas, since they are only\n\t// displayed on hover, but in some test cicumstances there might be more\n\t// than one.\n\tisOverEllipsisButton(e) {\n\t\tconst ellipsisNodes = document.getElementsByClassName(\"d3-node-ellipsis-group\");\n\t\tlet state = false;\n\t\tfor (let i = 0; i < ellipsisNodes.length; i++) {\n\t\t\tif (state === false && ellipsisNodes[i].contains(e.target)) {\n\t\t\t\tstate = true;\n\t\t\t}\n\t\t}\n\t\treturn state;\n\t}\n\n\tcontextMenuClicked(action, evt, param) {\n\t\tthis.props.contextMenuActionHandler(action, evt, param);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<CommonContextMenu\n\t\t\t\tcontextHandler={this.contextMenuClicked}\n\t\t\t\tmenuDefinition={this.props.contextMenuDef}\n\t\t\t\tcanvasRect={this.getCanvasRect()}\n\t\t\t\tmousePos={this.props.contextMenuPos}\n\t\t\t\tcloseContextMenu={this.props.closeContextMenu}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nContextMenuWrapper.propTypes = {\n\tcontextMenuDef: PropTypes.array.isRequired,\n\tcontainingDivId: PropTypes.string.isRequired,\n\tcontextMenuPos: PropTypes.object.isRequired,\n\tcontextMenuActionHandler: PropTypes.func.isRequired,\n\tcloseContextMenu: PropTypes.func.isRequired,\n\tstopPropagation: PropTypes.bool\n};\n"],"names":["colorSetArray","ColorPicker$1","_React$Component","ColorPicker","props","_this","_classCallCheck","logger","Logger","colorIndex","colorsPerRow","subPanelData","type","WYSIWYG","totalColors","length","refss","i","push","React","createRef","onClick","bind","onKeyDown","_inherits","_createClass","key","value","this","setFocus","evt","stopPropagation","selectColor","KeyboardUtils","nextColor","previousColor","closeSubPanel","aboveColor","belowColor","preventDefault","tabKey","index","current","focus","color","target","dataset","clickActionHandler","_this2","log","colorDivs","map","c","className","selectedColor","createElement","ref","tabIndex","style","backgroundColor","rowCount","Math","ceil","width","COLOR_DIMENSION","height","paddingBottom","Component","CommonContextMenu$1","CommonContextMenu","state","displaySubMenuAction","menuRefs","subMenuRefs","focusIndex","subMenuFocusIndex","itemSelected","colorClicked","e","nextContextMenuOption","previousContextMenuOption","openContextMenuSubMenu","action","subMenuOpen","closeContextMenuSubMenu","subMenuClose","closeContextMenu","activateContextMenuOption","data","contextHandler","menu","numDividers","divider","mousePos","menuSize","canvasRect","menuPos","x","y","submenuItems","itemCount","disabledCount","forEach","submenuItem","enable","menuDefinition","menuItems","runningYPos","previousDivider","submenu","subMenuSize","subMenuInfo","buildColorPickerPanel","subMenuContent","subMenu","buildSubMenu","disabled","areAllSubmenuItemsDisabled","calculateMenuSize","buildMenu","onClickFunction","menuItem","role","label","colorPicker","setState","rtl","buildRtlState","subMenuPosStyle","buildSubMenuPosStyle","icon","ChevronRight","menuItemContent","menuItemClass","subMenuClass","onMouseEnter","onMouseLeave","right","bottom","top","left","menuDef","item","_objectSpread","calculateMenuPos","posStyle","ensureAllSubMenuItemsHaveAction","menuInfo","id","onContextMenu","ContextMenuWrapper","contextMenuClicked","handleClickOutside","document","addEventListener","removeEventListener","containingDiv","getElementById","containingDivId","clientRect","getBoundingClientRect","ctrlKey","isOverContextMenu","isOverEllipsisButton","domNode","contains","ellipsisNodes","getElementsByClassName","param","contextMenuActionHandler","contextMenuDef","getCanvasRect","contextMenuPos"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("./createClass-df7b07d6.js"),t=require("./common-canvas-utils-04c7ddd2.js"),n="Enter",u="ArrowLeft",i="ArrowRight",y="ArrowUp",r="ArrowDown",o="Escape",s="Tab",a=function(){return e._createClass(function t(){e._classCallCheck(this,t)},null,[{key:"spaceKey",value:function(e){return this.isSpaceKey(e)}},{key:"toggleLogging",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.altKey&&"KeyP"===e.code}},{key:"selectAll",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&"a"===e.key}},{key:"deselectAll",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"a"===e.key}},{key:"delete",value:function(e){return"Backspace"===e.key||"Delete"===e.key}},{key:"undo",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&"z"===e.key}},{key:"redo",value:function(e){return this.isMetaKey(e)&&(e.shiftKey&&"z"===e.key||"y"===e.key)}},{key:"copyToClipboard",value:function(e){return this.isMetaKey(e)&&"c"===e.key}},{key:"cutToClipboard",value:function(e){return this.isMetaKey(e)&&"x"===e.key}},{key:"pasteFromClipboard",value:function(e){return this.isMetaKey(e)&&"v"===e.key}},{key:"zoomIn",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"8"===e.key}},{key:"zoomOut",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"9"===e.key}},{key:"zoomToFit",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"0"===e.key}},{key:"panLeft",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===u}},{key:"panRight",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===i}},{key:"panUp",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===y}},{key:"panDown",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===r}},{key:"nextGroup",value:function(e){return!e.shiftKey&&e.key===s}},{key:"previousGroup",value:function(e){return e.shiftKey&&e.key===s}},{key:"nextObjectInGroup",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.key===i}},{key:"previousObjectInGroup",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.key===u}},{key:"selectObject",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.key===n}},{key:"selectObjectAugment",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===n}},{key:"selectObjectRange",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===n}},{key:"nextSiblingLink",value:function(e){return e.key===r}},{key:"previousSiblingLink",value:function(e){return e.key===y}},{key:"displayContextOptions",value:function(e){return this.isMetaKey(e)&&","===e.key||e.shiftKey&&"F10"===e.key}},{key:"moveObjectLeft",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===u}},{key:"moveObjectRight",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===i}},{key:"moveObjectUp",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===y}},{key:"moveObjectDown",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===r}},{key:"sizeObjectLeft",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===u}},{key:"sizeObjectRight",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===i}},{key:"sizeObjectUp",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===y}},{key:"sizeObjectDown",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===r}},{key:"createLink",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"l"===e.key}},{key:"scrollTextUp",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.altKey&&e.key===r}},{key:"scrollTextDown",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.altKey&&e.key===y}},{key:"cancelTextEntry",value:function(e){return e.key===o}},{key:"completeTextEntry",value:function(e){return e.shiftKey&&e.key===n}},{key:"returnToTextEditing",value:function(e){return!e.shiftKey&&e.key===s}},{key:"returnCommand",value:function(e){return e.key===n}},{key:"boldCommand",value:function(e){return this.isMetaKey(e)&&"b"===e.key}},{key:"italicsCommand",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&"i"===e.key}},{key:"strikethroughCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"x"===e.key}},{key:"numberedListCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"7"===e.key}},{key:"bulletedListCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"8"===e.key}},{key:"codeCommand",value:function(e){return this.isMetaKey(e)&&"e"===e.key}},{key:"linkCommand",value:function(e){return this.isMetaKey(e)&&"k"===e.key}},{key:"quoteCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"i"===e.key}},{key:"incHashesCommand",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===i}},{key:"decHashesCommand",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===u}},{key:"openSubArea",value:function(e){return e.key===r}},{key:"closeSubArea",value:function(e){return e.key===o}},{key:"openSubAreaFromMenu",value:function(e){return e.key===i}},{key:"closeSubAreaToMenu",value:function(e){return e.key===u}},{key:"setFocusOnNextToolbarBtn",value:function(e){return e.key===i}},{key:"setFocusOnPreviousToolbarBtn",value:function(e){return e.key===u}},{key:"setFocusOnNextMenuItem",value:function(e){return e.key===r}},{key:"setFocusOnPreviousMenuItem",value:function(e){return e.key===y}},{key:"nextColor",value:function(e){return e.key===i}},{key:"previousColor",value:function(e){return e.key===u}},{key:"aboveColor",value:function(e){return e.key===y}},{key:"belowColor",value:function(e){return e.key===r}},{key:"selectColor",value:function(e){return e.key===n||this.isSpaceKey(e)}},{key:"tabKey",value:function(e){return e.key===s}},{key:"activateButton",value:function(e){return e.key===n||this.isSpaceKey(e)}},{key:"nextSection",value:function(e){return!e.shiftKey&&e.key===s}},{key:"previousSection",value:function(e){return e.shiftKey&&e.key===s}},{key:"nextContextMenuOption",value:function(e){return e.key===r}},{key:"previousContextMenuOption",value:function(e){return e.key===y}},{key:"openContextMenuSubMenu",value:function(e){return e.key===i}},{key:"closeContextMenuSubMenu",value:function(e){return e.key===u||e.key===o}},{key:"activateContextMenuOption",value:function(e){return e.key===n||this.isSpaceKey(e)}},{key:"closeContextMenu",value:function(e){return e.key===o}},{key:"openCategory",value:function(e){return e.key===n||this.isSpaceKey(e)}},{key:"fromCategoryToFirstNode",value:function(e){return e.key===r}},{key:"nextNodeInCategory",value:function(e){return e.key===r}},{key:"previousNodeInCategory",value:function(e){return e.key===y}},{key:"createAutoNode",value:function(e){return!e.shiftKey&&(this.isSpaceKey(e)||e.key===n)}},{key:"createAutoNodeNoLink",value:function(e){return e.shiftKey&&(this.isSpaceKey(e)||e.key===n)}},{key:"isSpaceKey",value:function(e){return" "===e.key||"Space"===e.key}},{key:"isMetaKey",value:function(e){return t.CanvasUtils.isMacintosh()?e.metaKey:e.ctrlKey||e.metaKey}}])}();exports.KeyboardUtils=a;
|
|
2
|
+
//# sourceMappingURL=keyboard-utils-485bef78.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard-utils-485bef78.js","sources":["../src/common-canvas/keyboard-utils.js"],"sourcesContent":["/*\n * Copyright 2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport CanvasUtils from \"./common-canvas-utils.js\";\n\nconst RETURN_KEY = \"Enter\"; // Return key on the Mac\nconst LEFT_ARROW_KEY = \"ArrowLeft\";\nconst RIGHT_ARROW_KEY = \"ArrowRight\";\nconst UP_ARROW_KEY = \"ArrowUp\";\nconst DOWN_ARROW_KEY = \"ArrowDown\";\nconst ESC_KEY = \"Escape\";\nconst TAB_KEY = \"Tab\";\nconst BACKSPACE_KEY = \"Backspace\";\nconst DELETE_KEY = \"Delete\";\nconst SPACE_KEY = \"Space\";\n\nconst SPACE_CHAR_KEY = \" \";\nconst COMMA_CHAR_KEY = \",\";\n\nconst A_KEY = \"a\";\nconst B_KEY = \"b\";\nconst C_KEY = \"c\";\nconst E_KEY = \"e\";\nconst I_KEY = \"i\";\nconst K_KEY = \"k\";\nconst L_KEY = \"l\";\nconst V_KEY = \"v\";\nconst X_KEY = \"x\";\nconst Y_KEY = \"y\";\nconst Z_KEY = \"z\";\n\nconst F10_KEY = \"F10\";\n\nconst SEVEN_KEY = \"7\";\nconst EIGHT_KEY = \"8\";\nconst NINE_KEY = \"9\";\nconst ZERO_KEY = \"0\";\n\n\nexport default class KeyboardUtils {\n\n\t/* ----------------------------------------- */\n\t/* Canvas navigation */\n\t/* ----------------------------------------- */\n\n\tstatic spaceKey(evt) {\n\t\treturn this.isSpaceKey(evt);\n\t}\n\n\tstatic toggleLogging(evt) {\n\t\t// Use code here instead of key because, using the alt key changes the\n\t\t// character returned in code property from p to π.\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.altKey && evt.code === \"KeyP\";\n\t}\n\n\tstatic selectAll(evt) {\n\t\treturn this.isMetaKey(evt) && !evt.shiftKey && evt.key === A_KEY;\n\t}\n\n\tstatic deselectAll(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === A_KEY;\n\t}\n\n\tstatic delete(evt) {\n\t\treturn (evt.key === BACKSPACE_KEY || evt.key === DELETE_KEY);\n\t}\n\n\tstatic undo(evt) {\n\t\treturn this.isMetaKey(evt) && !evt.shiftKey && evt.key === Z_KEY;\n\t}\n\n\tstatic redo(evt) {\n\t\treturn this.isMetaKey(evt) && ((evt.shiftKey && evt.key === Z_KEY) || evt.key === Y_KEY);\n\t}\n\n\tstatic copyToClipboard(evt) {\n\t\treturn this.isMetaKey(evt) && evt.key === C_KEY;\n\t}\n\n\tstatic cutToClipboard(evt) {\n\t\treturn this.isMetaKey(evt) && evt.key === X_KEY;\n\t}\n\n\tstatic pasteFromClipboard(evt) {\n\t\treturn this.isMetaKey(evt) && evt.key === V_KEY;\n\t}\n\n\tstatic zoomIn(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === EIGHT_KEY;\n\t}\n\n\tstatic zoomOut(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === NINE_KEY;\n\t}\n\n\tstatic zoomToFit(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === ZERO_KEY;\n\t}\n\n\tstatic panLeft(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic panRight(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic panUp(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic panDown(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic nextGroup(evt) {\n\t\treturn !evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\tstatic previousGroup(evt) {\n\t\treturn evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Canvas objects navigation */\n\t/* ----------------------------------------- */\n\n\tstatic nextObjectInGroup(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic previousObjectInGroup(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic selectObject(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic selectObjectAugment(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic selectObjectRange(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic nextSiblingLink(d3Event) {\n\t\treturn d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic previousSiblingLink(d3Event) {\n\t\treturn d3Event.key === UP_ARROW_KEY;\n\t}\n\n\t// Shortcut to display either a context menu or context\n\t// toolbar, depending on which is enabled, for the\n\t// canvas or objects on the canvas.\n\tstatic displayContextOptions(evt) {\n\t\treturn (this.isMetaKey(evt) && evt.key === COMMA_CHAR_KEY) ||\n\t\t\t(evt.shiftKey && evt.key === F10_KEY);\n\t}\n\n\tstatic moveObjectLeft(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic moveObjectRight(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic moveObjectUp(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === UP_ARROW_KEY;\n\t}\n\n\tstatic moveObjectDown(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectLeft(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectRight(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectUp(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === UP_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectDown(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\t/* Link creation */\n\n\tstatic createLink(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === L_KEY;\n\t}\n\n\t/* Comment display */\n\n\tstatic scrollTextUp(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.altKey && d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic scrollTextDown(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.altKey && d3Event.key === UP_ARROW_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Comment Text Entry */\n\t/* ----------------------------------------- */\n\n\tstatic cancelTextEntry(d3Event) {\n\t\treturn d3Event.key === ESC_KEY;\n\t}\n\n\tstatic completeTextEntry(d3Event) {\n\t\treturn d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic returnToTextEditing(evt) {\n\t\treturn !evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\t// During text entry this might either complete the text entry OR\n\t// add a new line.\n\tstatic returnCommand(d3Event) {\n\t\treturn d3Event.key === RETURN_KEY;\n\t}\n\n\t/* Markdown text entry shortcuts */\n\n\tstatic boldCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.key === B_KEY;\n\t}\n\n\tstatic italicsCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === I_KEY;\n\t}\n\n\tstatic strikethroughCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === X_KEY;\n\t}\n\n\tstatic numberedListCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === SEVEN_KEY;\n\t}\n\n\tstatic bulletedListCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === EIGHT_KEY;\n\t}\n\n\tstatic codeCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.key === E_KEY;\n\t}\n\n\tstatic linkCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.key === K_KEY;\n\t}\n\n\tstatic quoteCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === I_KEY;\n\t}\n\n\tstatic incHashesCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic decHashesCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Toolbar */\n\t/* ----------------------------------------- */\n\n\tstatic openSubArea(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic closeSubArea(evt) {\n\t\treturn evt.key === ESC_KEY;\n\t}\n\n\tstatic openSubAreaFromMenu(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic closeSubAreaToMenu(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnNextToolbarBtn(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnPreviousToolbarBtn(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnNextMenuItem(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnPreviousMenuItem(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Color Picker */\n\t/* ----------------------------------------- */\n\n\tstatic nextColor(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic previousColor(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic aboveColor(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic belowColor(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic selectColor(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic tabKey(evt) {\n\t\treturn evt.key === TAB_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Notification panel key functions */\n\t/* ----------------------------------------- */\n\n\tstatic activateButton(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic nextSection(evt) {\n\t\treturn !evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\tstatic previousSection(evt) {\n\t\treturn evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Context Menu key functions */\n\t/* ----------------------------------------- */\n\n\tstatic nextContextMenuOption(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic previousContextMenuOption(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic openContextMenuSubMenu(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic closeContextMenuSubMenu(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY || evt.key === ESC_KEY;\n\t}\n\n\tstatic activateContextMenuOption(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic closeContextMenu(evt) {\n\t\treturn evt.key === ESC_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Palette key functions */\n\t/* ----------------------------------------- */\n\n\tstatic openCategory(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic fromCategoryToFirstNode(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic nextNodeInCategory(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic previousNodeInCategory(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic createAutoNode(evt) {\n\t\treturn !evt.shiftKey && (this.isSpaceKey(evt) || evt.key === RETURN_KEY);\n\t}\n\n\tstatic createAutoNodeNoLink(evt) {\n\t\treturn evt.shiftKey && (this.isSpaceKey(evt) || evt.key === RETURN_KEY);\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Utility functions */\n\t/* ----------------------------------------- */\n\n\t// key property can sometimes be set to \"Space\" (SPACE_KEY) in tests.\n\tstatic isSpaceKey(evt) {\n\t\treturn evt.key === SPACE_CHAR_KEY || evt.key === SPACE_KEY;\n\t}\n\n\t// Returns true if either the 'Command Key' on Mac or\n\t// 'Control Key' or 'Windows key' on Windows is pressed.\n\t// evnt can be either a regular event object OR the\n\t// d3event object provided by d3.\n\tstatic isMetaKey(evt) {\n\t\tif (CanvasUtils.isMacintosh()) {\n\t\t\treturn evt.metaKey;\n\t\t}\n\t\treturn evt.ctrlKey || evt.metaKey;\n\t}\n}\n"],"names":["RETURN_KEY","LEFT_ARROW_KEY","RIGHT_ARROW_KEY","UP_ARROW_KEY","DOWN_ARROW_KEY","ESC_KEY","TAB_KEY","KeyboardUtils","_createClass","_classCallCheck","key","value","evt","this","isSpaceKey","isMetaKey","shiftKey","altKey","code","d3Event","CanvasUtils","isMacintosh","metaKey","ctrlKey"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{_ as e,a as t}from"./createClass-a140e270.js";import{C as n}from"./common-canvas-utils-26fdf006.js";var u="Enter",i="ArrowLeft",y="ArrowRight",r="ArrowUp",o="ArrowDown",s="Escape",a="Tab",k=function(){return e(function e(){t(this,e)},null,[{key:"spaceKey",value:function(e){return this.isSpaceKey(e)}},{key:"toggleLogging",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.altKey&&"KeyP"===e.code}},{key:"selectAll",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&"a"===e.key}},{key:"deselectAll",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"a"===e.key}},{key:"delete",value:function(e){return"Backspace"===e.key||"Delete"===e.key}},{key:"undo",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&"z"===e.key}},{key:"redo",value:function(e){return this.isMetaKey(e)&&(e.shiftKey&&"z"===e.key||"y"===e.key)}},{key:"copyToClipboard",value:function(e){return this.isMetaKey(e)&&"c"===e.key}},{key:"cutToClipboard",value:function(e){return this.isMetaKey(e)&&"x"===e.key}},{key:"pasteFromClipboard",value:function(e){return this.isMetaKey(e)&&"v"===e.key}},{key:"zoomIn",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"8"===e.key}},{key:"zoomOut",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"9"===e.key}},{key:"zoomToFit",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"0"===e.key}},{key:"panLeft",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===i}},{key:"panRight",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===y}},{key:"panUp",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===r}},{key:"panDown",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&e.key===o}},{key:"nextGroup",value:function(e){return!e.shiftKey&&e.key===a}},{key:"previousGroup",value:function(e){return e.shiftKey&&e.key===a}},{key:"nextObjectInGroup",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.key===y}},{key:"previousObjectInGroup",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.key===i}},{key:"selectObject",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.key===u}},{key:"selectObjectAugment",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===u}},{key:"selectObjectRange",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===u}},{key:"nextSiblingLink",value:function(e){return e.key===o}},{key:"previousSiblingLink",value:function(e){return e.key===r}},{key:"displayContextOptions",value:function(e){return this.isMetaKey(e)&&","===e.key||e.shiftKey&&"F10"===e.key}},{key:"moveObjectLeft",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===i}},{key:"moveObjectRight",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===y}},{key:"moveObjectUp",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===r}},{key:"moveObjectDown",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===o}},{key:"sizeObjectLeft",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===i}},{key:"sizeObjectRight",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===y}},{key:"sizeObjectUp",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===r}},{key:"sizeObjectDown",value:function(e){return!this.isMetaKey(e)&&e.shiftKey&&e.key===o}},{key:"createLink",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"l"===e.key}},{key:"scrollTextUp",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.altKey&&e.key===o}},{key:"scrollTextDown",value:function(e){return!this.isMetaKey(e)&&!e.shiftKey&&e.altKey&&e.key===r}},{key:"cancelTextEntry",value:function(e){return e.key===s}},{key:"completeTextEntry",value:function(e){return e.shiftKey&&e.key===u}},{key:"returnToTextEditing",value:function(e){return!e.shiftKey&&e.key===a}},{key:"returnCommand",value:function(e){return e.key===u}},{key:"boldCommand",value:function(e){return this.isMetaKey(e)&&"b"===e.key}},{key:"italicsCommand",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&"i"===e.key}},{key:"strikethroughCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"x"===e.key}},{key:"numberedListCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"7"===e.key}},{key:"bulletedListCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"8"===e.key}},{key:"codeCommand",value:function(e){return this.isMetaKey(e)&&"e"===e.key}},{key:"linkCommand",value:function(e){return this.isMetaKey(e)&&"k"===e.key}},{key:"quoteCommand",value:function(e){return this.isMetaKey(e)&&e.shiftKey&&"i"===e.key}},{key:"incHashesCommand",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===y}},{key:"decHashesCommand",value:function(e){return this.isMetaKey(e)&&!e.shiftKey&&e.key===i}},{key:"openSubArea",value:function(e){return e.key===o}},{key:"closeSubArea",value:function(e){return e.key===s}},{key:"openSubAreaFromMenu",value:function(e){return e.key===y}},{key:"closeSubAreaToMenu",value:function(e){return e.key===i}},{key:"setFocusOnNextToolbarBtn",value:function(e){return e.key===y}},{key:"setFocusOnPreviousToolbarBtn",value:function(e){return e.key===i}},{key:"setFocusOnNextMenuItem",value:function(e){return e.key===o}},{key:"setFocusOnPreviousMenuItem",value:function(e){return e.key===r}},{key:"nextColor",value:function(e){return e.key===y}},{key:"previousColor",value:function(e){return e.key===i}},{key:"aboveColor",value:function(e){return e.key===r}},{key:"belowColor",value:function(e){return e.key===o}},{key:"selectColor",value:function(e){return e.key===u||this.isSpaceKey(e)}},{key:"tabKey",value:function(e){return e.key===a}},{key:"activateButton",value:function(e){return e.key===u||this.isSpaceKey(e)}},{key:"nextSection",value:function(e){return!e.shiftKey&&e.key===a}},{key:"previousSection",value:function(e){return e.shiftKey&&e.key===a}},{key:"nextContextMenuOption",value:function(e){return e.key===o}},{key:"previousContextMenuOption",value:function(e){return e.key===r}},{key:"openContextMenuSubMenu",value:function(e){return e.key===y}},{key:"closeContextMenuSubMenu",value:function(e){return e.key===i||e.key===s}},{key:"activateContextMenuOption",value:function(e){return e.key===u||this.isSpaceKey(e)}},{key:"closeContextMenu",value:function(e){return e.key===s}},{key:"openCategory",value:function(e){return e.key===u||this.isSpaceKey(e)}},{key:"fromCategoryToFirstNode",value:function(e){return e.key===o}},{key:"nextNodeInCategory",value:function(e){return e.key===o}},{key:"previousNodeInCategory",value:function(e){return e.key===r}},{key:"createAutoNode",value:function(e){return!e.shiftKey&&(this.isSpaceKey(e)||e.key===u)}},{key:"createAutoNodeNoLink",value:function(e){return e.shiftKey&&(this.isSpaceKey(e)||e.key===u)}},{key:"isSpaceKey",value:function(e){return" "===e.key||"Space"===e.key}},{key:"isMetaKey",value:function(e){return n.isMacintosh()?e.metaKey:e.ctrlKey||e.metaKey}}])}();export{k as K};
|
|
2
|
+
//# sourceMappingURL=keyboard-utils-f7c4ec40.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard-utils-f7c4ec40.js","sources":["../src/common-canvas/keyboard-utils.js"],"sourcesContent":["/*\n * Copyright 2024 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport CanvasUtils from \"./common-canvas-utils.js\";\n\nconst RETURN_KEY = \"Enter\"; // Return key on the Mac\nconst LEFT_ARROW_KEY = \"ArrowLeft\";\nconst RIGHT_ARROW_KEY = \"ArrowRight\";\nconst UP_ARROW_KEY = \"ArrowUp\";\nconst DOWN_ARROW_KEY = \"ArrowDown\";\nconst ESC_KEY = \"Escape\";\nconst TAB_KEY = \"Tab\";\nconst BACKSPACE_KEY = \"Backspace\";\nconst DELETE_KEY = \"Delete\";\nconst SPACE_KEY = \"Space\";\n\nconst SPACE_CHAR_KEY = \" \";\nconst COMMA_CHAR_KEY = \",\";\n\nconst A_KEY = \"a\";\nconst B_KEY = \"b\";\nconst C_KEY = \"c\";\nconst E_KEY = \"e\";\nconst I_KEY = \"i\";\nconst K_KEY = \"k\";\nconst L_KEY = \"l\";\nconst V_KEY = \"v\";\nconst X_KEY = \"x\";\nconst Y_KEY = \"y\";\nconst Z_KEY = \"z\";\n\nconst F10_KEY = \"F10\";\n\nconst SEVEN_KEY = \"7\";\nconst EIGHT_KEY = \"8\";\nconst NINE_KEY = \"9\";\nconst ZERO_KEY = \"0\";\n\n\nexport default class KeyboardUtils {\n\n\t/* ----------------------------------------- */\n\t/* Canvas navigation */\n\t/* ----------------------------------------- */\n\n\tstatic spaceKey(evt) {\n\t\treturn this.isSpaceKey(evt);\n\t}\n\n\tstatic toggleLogging(evt) {\n\t\t// Use code here instead of key because, using the alt key changes the\n\t\t// character returned in code property from p to π.\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.altKey && evt.code === \"KeyP\";\n\t}\n\n\tstatic selectAll(evt) {\n\t\treturn this.isMetaKey(evt) && !evt.shiftKey && evt.key === A_KEY;\n\t}\n\n\tstatic deselectAll(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === A_KEY;\n\t}\n\n\tstatic delete(evt) {\n\t\treturn (evt.key === BACKSPACE_KEY || evt.key === DELETE_KEY);\n\t}\n\n\tstatic undo(evt) {\n\t\treturn this.isMetaKey(evt) && !evt.shiftKey && evt.key === Z_KEY;\n\t}\n\n\tstatic redo(evt) {\n\t\treturn this.isMetaKey(evt) && ((evt.shiftKey && evt.key === Z_KEY) || evt.key === Y_KEY);\n\t}\n\n\tstatic copyToClipboard(evt) {\n\t\treturn this.isMetaKey(evt) && evt.key === C_KEY;\n\t}\n\n\tstatic cutToClipboard(evt) {\n\t\treturn this.isMetaKey(evt) && evt.key === X_KEY;\n\t}\n\n\tstatic pasteFromClipboard(evt) {\n\t\treturn this.isMetaKey(evt) && evt.key === V_KEY;\n\t}\n\n\tstatic zoomIn(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === EIGHT_KEY;\n\t}\n\n\tstatic zoomOut(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === NINE_KEY;\n\t}\n\n\tstatic zoomToFit(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === ZERO_KEY;\n\t}\n\n\tstatic panLeft(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic panRight(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic panUp(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic panDown(evt) {\n\t\treturn this.isMetaKey(evt) && evt.shiftKey && evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic nextGroup(evt) {\n\t\treturn !evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\tstatic previousGroup(evt) {\n\t\treturn evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Canvas objects navigation */\n\t/* ----------------------------------------- */\n\n\tstatic nextObjectInGroup(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic previousObjectInGroup(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic selectObject(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic selectObjectAugment(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic selectObjectRange(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic nextSiblingLink(d3Event) {\n\t\treturn d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic previousSiblingLink(d3Event) {\n\t\treturn d3Event.key === UP_ARROW_KEY;\n\t}\n\n\t// Shortcut to display either a context menu or context\n\t// toolbar, depending on which is enabled, for the\n\t// canvas or objects on the canvas.\n\tstatic displayContextOptions(evt) {\n\t\treturn (this.isMetaKey(evt) && evt.key === COMMA_CHAR_KEY) ||\n\t\t\t(evt.shiftKey && evt.key === F10_KEY);\n\t}\n\n\tstatic moveObjectLeft(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic moveObjectRight(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic moveObjectUp(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === UP_ARROW_KEY;\n\t}\n\n\tstatic moveObjectDown(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectLeft(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectRight(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectUp(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === UP_ARROW_KEY;\n\t}\n\n\tstatic sizeObjectDown(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\t/* Link creation */\n\n\tstatic createLink(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === L_KEY;\n\t}\n\n\t/* Comment display */\n\n\tstatic scrollTextUp(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.altKey && d3Event.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic scrollTextDown(d3Event) {\n\t\treturn !this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.altKey && d3Event.key === UP_ARROW_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Comment Text Entry */\n\t/* ----------------------------------------- */\n\n\tstatic cancelTextEntry(d3Event) {\n\t\treturn d3Event.key === ESC_KEY;\n\t}\n\n\tstatic completeTextEntry(d3Event) {\n\t\treturn d3Event.shiftKey && d3Event.key === RETURN_KEY;\n\t}\n\n\tstatic returnToTextEditing(evt) {\n\t\treturn !evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\t// During text entry this might either complete the text entry OR\n\t// add a new line.\n\tstatic returnCommand(d3Event) {\n\t\treturn d3Event.key === RETURN_KEY;\n\t}\n\n\t/* Markdown text entry shortcuts */\n\n\tstatic boldCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.key === B_KEY;\n\t}\n\n\tstatic italicsCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === I_KEY;\n\t}\n\n\tstatic strikethroughCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === X_KEY;\n\t}\n\n\tstatic numberedListCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === SEVEN_KEY;\n\t}\n\n\tstatic bulletedListCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === EIGHT_KEY;\n\t}\n\n\tstatic codeCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.key === E_KEY;\n\t}\n\n\tstatic linkCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.key === K_KEY;\n\t}\n\n\tstatic quoteCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && d3Event.shiftKey && d3Event.key === I_KEY;\n\t}\n\n\tstatic incHashesCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic decHashesCommand(d3Event) {\n\t\treturn this.isMetaKey(d3Event) && !d3Event.shiftKey && d3Event.key === LEFT_ARROW_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Toolbar */\n\t/* ----------------------------------------- */\n\n\tstatic openSubArea(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic closeSubArea(evt) {\n\t\treturn evt.key === ESC_KEY;\n\t}\n\n\tstatic openSubAreaFromMenu(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic closeSubAreaToMenu(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnNextToolbarBtn(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnPreviousToolbarBtn(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnNextMenuItem(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic setFocusOnPreviousMenuItem(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Color Picker */\n\t/* ----------------------------------------- */\n\n\tstatic nextColor(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic previousColor(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY;\n\t}\n\n\tstatic aboveColor(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic belowColor(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic selectColor(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic tabKey(evt) {\n\t\treturn evt.key === TAB_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Notification panel key functions */\n\t/* ----------------------------------------- */\n\n\tstatic activateButton(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic nextSection(evt) {\n\t\treturn !evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\tstatic previousSection(evt) {\n\t\treturn evt.shiftKey && evt.key === TAB_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Context Menu key functions */\n\t/* ----------------------------------------- */\n\n\tstatic nextContextMenuOption(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic previousContextMenuOption(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic openContextMenuSubMenu(evt) {\n\t\treturn evt.key === RIGHT_ARROW_KEY;\n\t}\n\n\tstatic closeContextMenuSubMenu(evt) {\n\t\treturn evt.key === LEFT_ARROW_KEY || evt.key === ESC_KEY;\n\t}\n\n\tstatic activateContextMenuOption(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic closeContextMenu(evt) {\n\t\treturn evt.key === ESC_KEY;\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Palette key functions */\n\t/* ----------------------------------------- */\n\n\tstatic openCategory(evt) {\n\t\treturn evt.key === RETURN_KEY || this.isSpaceKey(evt);\n\t}\n\n\tstatic fromCategoryToFirstNode(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic nextNodeInCategory(evt) {\n\t\treturn evt.key === DOWN_ARROW_KEY;\n\t}\n\n\tstatic previousNodeInCategory(evt) {\n\t\treturn evt.key === UP_ARROW_KEY;\n\t}\n\n\tstatic createAutoNode(evt) {\n\t\treturn !evt.shiftKey && (this.isSpaceKey(evt) || evt.key === RETURN_KEY);\n\t}\n\n\tstatic createAutoNodeNoLink(evt) {\n\t\treturn evt.shiftKey && (this.isSpaceKey(evt) || evt.key === RETURN_KEY);\n\t}\n\n\t/* ----------------------------------------- */\n\t/* Utility functions */\n\t/* ----------------------------------------- */\n\n\t// key property can sometimes be set to \"Space\" (SPACE_KEY) in tests.\n\tstatic isSpaceKey(evt) {\n\t\treturn evt.key === SPACE_CHAR_KEY || evt.key === SPACE_KEY;\n\t}\n\n\t// Returns true if either the 'Command Key' on Mac or\n\t// 'Control Key' or 'Windows key' on Windows is pressed.\n\t// evnt can be either a regular event object OR the\n\t// d3event object provided by d3.\n\tstatic isMetaKey(evt) {\n\t\tif (CanvasUtils.isMacintosh()) {\n\t\t\treturn evt.metaKey;\n\t\t}\n\t\treturn evt.ctrlKey || evt.metaKey;\n\t}\n}\n"],"names":["RETURN_KEY","LEFT_ARROW_KEY","RIGHT_ARROW_KEY","UP_ARROW_KEY","DOWN_ARROW_KEY","ESC_KEY","TAB_KEY","KeyboardUtils","_createClass","_classCallCheck","key","value","evt","this","isSpaceKey","isMetaKey","shiftKey","altKey","code","d3Event","CanvasUtils","isMacintosh","metaKey","ctrlKey"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../createClass-a140e270.js";import"../en-e327741d.js";import"../isArrayLikeObject-1a51e928.js";import"../get-0aeefae2.js";export{C as default}from"../canvas-controller-
|
|
1
|
+
import"../createClass-a140e270.js";import"../en-e327741d.js";import"../isArrayLikeObject-1a51e928.js";import"../get-0aeefae2.js";export{C as default}from"../canvas-controller-5714c16e.js";import"./command-stack.es.js";import"../canvas-constants-0c10edc8.js";import"../canvas-logger-037c0c68.js";import"../common-canvas-utils-26fdf006.js";import"../inherits-860188e5.js";import"../datarecord-metadata-v3-schema-7f12396b.js";import"uuid";import"redux";import"jsonschema";import"@elyra/pipeline-schemas";import"immutable";
|
|
2
2
|
//# sourceMappingURL=canvas-controller.es.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("../createClass-df7b07d6.js"),require("../en-b1a0aabe.js"),require("../isArrayLikeObject-6ee909c6.js"),require("../get-ce68a4b3.js");var e=require("../canvas-controller-
|
|
1
|
+
"use strict";require("../createClass-df7b07d6.js"),require("../en-b1a0aabe.js"),require("../isArrayLikeObject-6ee909c6.js"),require("../get-ce68a4b3.js");var e=require("../canvas-controller-fb3341f8.js");require("./command-stack.js"),require("../canvas-constants-2ed0430f.js"),require("../canvas-logger-45fa2be6.js"),require("../common-canvas-utils-04c7ddd2.js"),require("../inherits-74e481d1.js"),require("../datarecord-metadata-v3-schema-aa1ef410.js"),require("uuid"),require("redux"),require("jsonschema"),require("@elyra/pipeline-schemas"),require("immutable"),module.exports=e.CanvasController;
|
|
2
2
|
//# sourceMappingURL=canvas-controller.js.map
|
package/dist/lib/canvas.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{c as CommonCanvas}from"../common-canvas-
|
|
1
|
+
export{c as CommonCanvas}from"../common-canvas-cb2af30e.js";export{C as CanvasController}from"../canvas-controller-5714c16e.js";import"../createClass-a140e270.js";import"../inherits-860188e5.js";import"react";import"react-redux";import"react-intl";import"../get-0aeefae2.js";import"../toInteger-16cea7b7.js";import"../isArrayLikeObject-1a51e928.js";import"../iconPropTypes-4cbeb95d-abbccccc.js";import"prop-types";import"../datarecord-metadata-v3-schema-7f12396b.js";import"../en-e327741d.js";import"../canvas-constants-0c10edc8.js";import"@carbon/react";import"react-inlinesvg";import"../common-canvas-utils-26fdf006.js";import"../keyboard-utils-f7c4ec40.js";import"../icon-5b9eb481.js";import"../bucket-3-324f9108.js";import"../canvas-logger-037c0c68.js";import"../toolbar-4c42861f.js";import"react-resize-detector";import"./tooltip.es.js";import"react-portal";import"uuid";import"../context-menu-wrapper-c6dea37b.js";import"markdown-it";import"react-dom";import"./command-stack.es.js";import"immutable";import"redux";import"jsonschema";import"@elyra/pipeline-schemas";
|
|
2
2
|
//# sourceMappingURL=canvas.es.js.map
|
package/dist/lib/canvas.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-canvas-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-canvas-fed3a116.js"),r=require("../canvas-controller-fb3341f8.js");require("../createClass-df7b07d6.js"),require("../inherits-74e481d1.js"),require("react"),require("react-redux"),require("react-intl"),require("../get-ce68a4b3.js"),require("../toInteger-16e4337d.js"),require("../isArrayLikeObject-6ee909c6.js"),require("../iconPropTypes-4cbeb95d-ee4a8dc5.js"),require("prop-types"),require("../datarecord-metadata-v3-schema-aa1ef410.js"),require("../en-b1a0aabe.js"),require("../canvas-constants-2ed0430f.js"),require("@carbon/react"),require("react-inlinesvg"),require("../common-canvas-utils-04c7ddd2.js"),require("../keyboard-utils-485bef78.js"),require("../icon-0a712258.js"),require("../bucket-3-614d93b9.js"),require("../canvas-logger-45fa2be6.js"),require("../toolbar-1db25a07.js"),require("react-resize-detector"),require("./tooltip.js"),require("react-portal"),require("uuid"),require("../context-menu-wrapper-ff90de76.js"),require("markdown-it"),require("react-dom"),require("./command-stack.js"),require("immutable"),require("redux"),require("jsonschema"),require("@elyra/pipeline-schemas"),exports.CommonCanvas=e.commonCanvas,exports.CanvasController=r.CanvasController;
|
|
2
2
|
//# sourceMappingURL=canvas.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../createClass-a140e270.js";import"../inherits-860188e5.js";import"react";export{C as default}from"../context-menu-wrapper-
|
|
1
|
+
import"../createClass-a140e270.js";import"../inherits-860188e5.js";import"react";export{C as default}from"../context-menu-wrapper-c6dea37b.js";import"../canvas-constants-0c10edc8.js";import"../get-0aeefae2.js";import"../keyboard-utils-f7c4ec40.js";import"../common-canvas-utils-26fdf006.js";import"../canvas-logger-037c0c68.js";import"../bucket-3-324f9108.js";import"../iconPropTypes-4cbeb95d-abbccccc.js";import"prop-types";
|
|
2
2
|
//# sourceMappingURL=context-menu.es.js.map
|
package/dist/lib/context-menu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("../createClass-df7b07d6.js"),require("../inherits-74e481d1.js"),require("react");var e=require("../context-menu-wrapper-
|
|
1
|
+
"use strict";require("../createClass-df7b07d6.js"),require("../inherits-74e481d1.js"),require("react");var e=require("../context-menu-wrapper-ff90de76.js");require("../canvas-constants-2ed0430f.js"),require("../get-ce68a4b3.js"),require("../keyboard-utils-485bef78.js"),require("../common-canvas-utils-04c7ddd2.js"),require("../canvas-logger-45fa2be6.js"),require("../bucket-3-614d93b9.js"),require("../iconPropTypes-4cbeb95d-ee4a8dc5.js"),require("prop-types"),module.exports=e.ContextMenuWrapper;
|
|
2
2
|
//# sourceMappingURL=context-menu.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{c as CommonProperties,P as PropertiesController}from"../common-properties-
|
|
1
|
+
export{c as CommonProperties,P as PropertiesController}from"../common-properties-6709d67d.js";export{F as FlexibleTable}from"../flexible-table-5ab56d4d.js";export{F as FieldPicker}from"../index-5acb97cc.js";export{clem}from"./properties/clem.es.js";export{getPythonHints}from"./properties/getPythonHints.es.js";import"../createClass-a140e270.js";import"../inherits-860188e5.js";import"react";import"../en-e327741d.js";import"../isArrayLikeObject-1a51e928.js";import"../get-0aeefae2.js";import"../canvas-constants-0c10edc8.js";import"../common-canvas-utils-26fdf006.js";import"../toInteger-16cea7b7.js";import"../iconPropTypes-4cbeb95d-abbccccc.js";import"prop-types";import"../datarecord-metadata-v3-schema-7f12396b.js";import"react-resize-detector";import"@carbon/react";import"react-portal";import"react-intl";import"react-redux";import"react-dom";import"../icon-5b9eb481.js";import"react-inlinesvg";import"../bucket-3-324f9108.js";import"uuid";import"./tooltip.es.js";import"redux";import"seedrandom";import"./command-stack.es.js";import"immutable";import"date-fns";import"../toolbar-4c42861f.js";import"../keyboard-utils-f7c4ec40.js";import"@codemirror/view";import"@codemirror/commands";import"codemirror";import"@codemirror/state";import"@codemirror/language";import"@codemirror/lang-python";import"@codemirror/lang-sql";import"@codemirror/lang-javascript";import"@codemirror/autocomplete";import"jsonschema";import"@tanstack/react-table";import"@tanstack/react-virtual";import"react-virtualized";import"react-draggable";
|
|
2
2
|
//# sourceMappingURL=properties.es.js.map
|
package/dist/lib/properties.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-properties-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-properties-9ea710be.js"),r=require("../flexible-table-7c257e1e.js"),i=require("../index-c9df57b3.js"),t=require("./properties/clem.js"),o=require("./properties/getPythonHints.js");require("../createClass-df7b07d6.js"),require("../inherits-74e481d1.js"),require("react"),require("../en-b1a0aabe.js"),require("../isArrayLikeObject-6ee909c6.js"),require("../get-ce68a4b3.js"),require("../canvas-constants-2ed0430f.js"),require("../common-canvas-utils-04c7ddd2.js"),require("../toInteger-16e4337d.js"),require("../iconPropTypes-4cbeb95d-ee4a8dc5.js"),require("prop-types"),require("../datarecord-metadata-v3-schema-aa1ef410.js"),require("react-resize-detector"),require("@carbon/react"),require("react-portal"),require("react-intl"),require("react-redux"),require("react-dom"),require("../icon-0a712258.js"),require("react-inlinesvg"),require("../bucket-3-614d93b9.js"),require("uuid"),require("./tooltip.js"),require("redux"),require("seedrandom"),require("./command-stack.js"),require("immutable"),require("date-fns"),require("../toolbar-1db25a07.js"),require("../keyboard-utils-485bef78.js"),require("@codemirror/view"),require("@codemirror/commands"),require("codemirror"),require("@codemirror/state"),require("@codemirror/language"),require("@codemirror/lang-python"),require("@codemirror/lang-sql"),require("@codemirror/lang-javascript"),require("@codemirror/autocomplete"),require("jsonschema"),require("@tanstack/react-table"),require("@tanstack/react-virtual"),require("react-virtualized"),require("react-draggable"),exports.CommonProperties=e.commonProperties,exports.PropertiesController=e.PropertiesController,exports.FlexibleTable=r.FlexibleTable,exports.FieldPicker=i.FieldPicker,exports.clem=t.clem,exports.getPythonHints=o.getPythonHints;
|
|
2
2
|
//# sourceMappingURL=properties.js.map
|