<commit_before>/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/


import * as zrUtil from 'zrender/src/core/util';

import * as modelUtil from '../../util/model';
import * as graphicUtil from '../../util/graphic';
import * as layoutUtil from '../../util/layout';
import {parsePercent} from '../../util/number';
import {
    ComponentOption,
    BoxLayoutOptionMixin,
    Dictionary,
    ZRStyleProps,
    OptionId,
    OptionPreprocessor,
    CommonTooltipOption
} from '../../util/types';
import ComponentModel from '../../model/Component';
import Element, { ElementTextConfig } from 'zrender/src/Element';
import Displayable from 'zrender/src/graphic/Displayable';
import { PathProps } from 'zrender/src/graphic/Path';
import { ImageStyleProps } from 'zrender/src/graphic/Image';
import GlobalModel from '../../model/Global';
import ComponentView from '../../view/Component';
import ExtensionAPI from '../../core/ExtensionAPI';
import { getECData } from '../../util/innerStore';
import { TextStyleProps } from 'zrender/src/graphic/Text';
import { isEC4CompatibleStyle, convertFromEC4CompatibleStyle } from '../../util/styleCompat';
import { EChartsExtensionInstallRegisters } from '../../extension';

type TransformProp = 'x' | 'y' | 'scaleX' | 'scaleY' | 'originX' | 'originY' | 'skewX' | 'skewY';

interface GraphicComponentBaseElementOption extends
        Partial<Pick<
            Element,
            TransformProp
            | 'silent'
            | 'ignore'
            | 'draggable'
            | 'textConfig'
            | 'onclick'
            | 'ondblclick'
            | 'onmouseover'
            | 'onmouseout'
            | 'onmousemove'
            | 'onmousewheel'
            | 'onmousedown'
            | 'onmouseup'
            | 'oncontextmenu'
            | 'ondrag'
            | 'ondragstart'
            | 'ondragend'
            | 'ondragenter'
            | 'ondragleave'
            | 'ondragover'
            | 'ondrop'
        >>,
        /**
         * left/right/top/bottom: (like 12, '22%', 'center', default undefined)
         * If left/rigth is set, shape.x/shape.cx/position will not be used.
         * If top/bottom is set, shape.y/shape.cy/position will not be used.<commit_msg>fix ut in graphics component<commit_after>/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/


import * as zrUtil from 'zrender/src/core/util';

import * as modelUtil from '../../util/model';
import * as graphicUtil from '../../util/graphic';
import * as layoutUtil from '../../util/layout';
import {parsePercent} from '../../util/number';
import {
    ComponentOption,
    BoxLayoutOptionMixin,
    Dictionary,
    ZRStyleProps,
    OptionId,
    OptionPreprocessor,
    CommonTooltipOption
} from '../../util/types';
import ComponentModel from '../../model/Component';
import Element, { ElementTextConfig } from 'zrender/src/Element';
import Displayable from 'zrender/src/graphic/Displayable';
import { PathProps } from 'zrender/src/graphic/Path';
import { ImageStyleProps } from 'zrender/src/graphic/Image';
import GlobalModel from '../../model/Global';
import ComponentView from '../../view/Component';
import ExtensionAPI from '../../core/ExtensionAPI';
import { getECData } from '../../util/innerStore';
import { TextStyleProps } from 'zrender/src/graphic/Text';
import { isEC4CompatibleStyle, convertFromEC4CompatibleStyle } from '../../util/styleCompat';
import { EChartsExtensionInstallRegisters } from '../../extension';

type TransformProp = 'x' | 'y' | 'scaleX' | 'scaleY' | 'originX' | 'originY' | 'skewX' | 'skewY' | 'rotation';

interface GraphicComponentBaseElementOption extends
        Partial<Pick<
            Element,
            TransformProp
            | 'silent'
            | 'ignore'
            | 'draggable'
            | 'textConfig'
            | 'onclick'
            | 'ondblclick'
            | 'onmouseover'
            | 'onmouseout'
            | 'onmousemove'
            | 'onmousewheel'
            | 'onmousedown'
            | 'onmouseup'
            | 'oncontextmenu'
            | 'ondrag'
            | 'ondragstart'
            | 'ondragend'
            | 'ondragenter'
            | 'ondragleave'
            | 'ondragover'
            | 'ondrop'
        >>,
        /**
         * left/right/top/bottom: (like 12, '22%', 'center', default undefined)
         * If left/rigth is set, shape.x/shape.cx/position will not be used.
         * If top/bottom is set, shape.y/shape.cy/position will not be used.
{'fraction_non_alphanumeric': 0.12143097077594894, 'fraction_numerical': 0.003359086328518643, 'mean_word_length': 2.6466625842008575, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4101268', 'n_tokens_mistral': 1634, 'n_tokens_neox': 1643, 'n_words': 520}