react-filerobot-image-editor
Version:
React component version of filerobot image editor (FIE).
1 lines • 1.98 kB
JavaScript
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useState}from"react";import{Color as PC}from"@scaleflex/ui/utils/types/palette";import{useStore}from"../../../hooks";import CropPresetGroup from"./CropPresetGroup";import{StyledMenuItem,StyledMenuItemIcon}from"./Crop.styled";var CropPresetGroupsFolder=function(a){var b=a.titleKey,c=a.Icon,d=a.theme,e=a.groups,f=a.onItemSelect,g=a.t,h=useStore(),i=h.adjustments.crop,j=i.ratioFolderKey,k=i.ratioGroupKey,l=useState(""),m=_slicedToArray(l,2),n=m[0],o=m[1],p=function(a,c,d){f(a,c,_objectSpread(_objectSpread({},d),{},{ratioFolderKey:b}))};return React.createElement(StyledMenuItem,{isListItem:!0,list:[{content:g(b),key:b,active:b===j,prefix:c&&React.createElement(StyledMenuItemIcon,null,"string"==typeof c?React.createElement("span",{dangerouslySetInnerHTML:{__html:c}}):React.createElement(c,{color:d.palette["icon-primary"]})),subList:e.map(function(a){var b=a.titleKey,c=a.items;return{content:React.createElement(CropPresetGroup,{groupTitleKey:b,setExpandedGroup:o,isExpanded:""===n?k===b:n===b,t:g,items:c,onItemSelect:p}),key:b,disableHover:!0}}),subMenuProps:{style:{backgroundColor:d.palette[PC.BackgroundStateless]}}}]})};CropPresetGroupsFolder.defaultProps={Icon:void 0};export default CropPresetGroupsFolder;