UNPKG

@figlinq/react-chart-editor

Version:
2 lines 3.9 kB
function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}function _toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}import Dropdown from"./Dropdown";import RadioBlocks from"../widgets/RadioBlocks";import Field from"./Field";import PropTypes from"prop-types";import{useState}from"react";import{connectToContainer}from"../../lib";import Info from"./Info";import DataSelector from"./DataSelector";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";export const UnconnectedTextPosition=(props,_ref)=>{let{localize:_}=_ref;const[posType,setPosType]=useState(typeof props.fullValue==="string"?"simple":"custom");const radioOptions=[{label:_("All"),value:"simple"},{label:_("Custom"),value:"custom"}];const control=posType==="simple"?_jsxs(_Fragment,{children:[_jsx(Info,{children:_("This will position all text values on the plot according to the selected position.")}),_jsx(Dropdown,{options:props.options,attr:"textposition",clearable:false})]}):_jsxs(_Fragment,{children:[_jsx(Info,{children:_jsx("div",{children:_("This will position text values individually, according to the provided data positions array. ")})}),_jsx(DataSelector,{attr:"textposition"}),_jsx(Info,{children:_jsx("div",{children:_("(\"Top\", \"Middle\", \"Bottom\") + (\"Left\", \"Center\", \"Right\")")})})]});return _jsxs(Field,_objectSpread(_objectSpread({},props),{},{children:[_jsx(RadioBlocks,{options:radioOptions,activeOption:posType,onOptionChange:value=>{setPosType(value);if(value==="simple"){props.updatePlot("middle center")}else{props.updateContainer({textpositionsrc:null})}}}),control]}))};UnconnectedTextPosition.propTypes=_objectSpread(_objectSpread({},Field.propTypes),{},{options:PropTypes.array,fullValue:PropTypes.oneOfType([PropTypes.array,PropTypes.string])});UnconnectedTextPosition.contextTypes={localize:PropTypes.func};UnconnectedTextPosition.displayName="UnconnectedTextPosition";export default connectToContainer(UnconnectedTextPosition,{modifyPlotProps:(props,context,plotProps)=>{const{localize:_}=context;let options=[{label:_("Top Left"),value:"top left"},{label:_("Top Center"),value:"top center"},{label:_("Top Right"),value:"top right"},{label:_("Middle Left"),value:"middle left"},{label:_("Middle Center"),value:"middle center"},{label:_("Middle Right"),value:"middle right"},{label:_("Bottom Left"),value:"bottom left"},{label:_("Bottom Center"),value:"bottom center"},{label:_("Bottom Right"),value:"bottom right"}];if(["pie","bar","funnel","waterfall"].includes(context.container.type)){options=[{label:_("Inside"),value:"inside"},{label:_("Outside"),value:"outside"},{label:_("Auto"),value:"auto"},{label:_("None"),value:"none"}]}if(["funnelarea"].includes(context.container.type)){options=[{label:_("Inside"),value:"inside"},{label:_("None"),value:"none"}]}plotProps.options=options;plotProps.clearable=false}}); //# sourceMappingURL=TextPosition.js.map