import { getStackedDimension, enableDataStack, isDimensionStacked, createScaleByModel, niceScaleExtent, createTextStyle as createTextStyle$1, Model, AxisModelCommonMixin, createSymbol, enableHoverEmphasis, getECData, getLayoutRect, MAX_SAFE_INTEGER, asc, getPercentWithPrecision, getPixelPrecision, getPrecision, getPrecisionSafe, isNumeric, isRadianAroundZero, linearMap, nice, numericToNumber, parseDate, parsePercent, quantile, quantity, quantityExponent, reformIntervals, remRadian, round, format as format$1, roundTime, Arc, BezierCurve, Circle, Ellipse, IncrementalDisplayable, Line, LinearGradient, Polygon, Polyline, RadialGradient, Ring, Sector, clipPointsByRect, clipRectByRect, createIcon, extendPath, extendShape, getShapeClass, getTransform, initProps, makeImage, makePath, mergePath, registerShape, resizePath, updateProps, addCommas, capitalFirst, formatTime, formatTpl, getTooltipMarker, normalizeCssArray, toCamelCase, ChartView, ComponentModel, ComponentView, SeriesModel } from "./Axis-NtNlSRsM.js";
import { Axis, SeriesData, PRIORITY, connect, dataTool, dependencies, disConnect, disconnect, dispose, getCoordinateSystemDimensions, getInstanceByDom, getInstanceById, getMap, init, parseGeoJSON, parseGeoJSON as parseGeoJSON2, registerAction, registerCoordinateSystem, registerCustomSeries, registerLayout, registerLoading, registerLocale, registerMap, registerPostInit, registerPostUpdate, registerPreprocessor, registerProcessor, registerTheme, registerTransform, registerUpdateLifecycle, registerVisual, setCanvasCreator, throttle, use, version } from "./Axis-NtNlSRsM.js";
import { ZRText, mixin, BoundingRect, CompoundPath, Group, ZRImage, Rect, encodeHTML, truncateText, bind, clone, curry, defaults, each, extend, filter, indexOf, inherits, isArray, isFunction, isObject, isString, map, merge, reduce } from "./graphic-BEFAeatd.js";
import { color, env, brushSingle, matrix, setPlatformAPI, vector, util, zrender } from "./graphic-BEFAeatd.js";
import { createSeriesData, createDimensions } from "./createSeriesData-DGiG-J3b.js";
function getTextRect(text, font, align, verticalAlign, padding, rich, truncate, lineHeight) {
  var textEl = new ZRText({
    style: {
      text,
      font,
      align,
      verticalAlign,
      padding,
      rich,
      overflow: truncate ? "truncate" : null,
      lineHeight
    }
  });
  return textEl.getBoundingRect();
}
function createList(seriesModel) {
  return createSeriesData(null, seriesModel);
}
var dataStack = {
  isDimensionStacked,
  enableDataStack,
  getStackedDimension
};
function createScale(dataExtent, option) {
  var axisModel = option;
  if (!(option instanceof Model)) {
    axisModel = new Model(option);
  }
  var scale = createScaleByModel(axisModel);
  scale.setExtent(dataExtent[0], dataExtent[1]);
  niceScaleExtent(scale, axisModel);
  return scale;
}
function mixinAxisModelCommonMethods(Model2) {
  mixin(Model2, AxisModelCommonMixin);
}
function createTextStyle(textStyleModel, opts) {
  opts = opts || {};
  return createTextStyle$1(textStyleModel, null, null, opts.state !== "normal");
}
const helper = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  createDimensions,
  createList,
  createScale,
  createSymbol,
  createTextStyle,
  dataStack,
  enableHoverEmphasis,
  getECData,
  getLayoutRect,
  mixinAxisModelCommonMethods
}, Symbol.toStringTag, { value: "Module" }));
const number = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  MAX_SAFE_INTEGER,
  asc,
  getPercentWithPrecision,
  getPixelPrecision,
  getPrecision,
  getPrecisionSafe,
  isNumeric,
  isRadianAroundZero,
  linearMap,
  nice,
  numericToNumber,
  parseDate,
  parsePercent,
  quantile,
  quantity,
  quantityExponent,
  reformIntervals,
  remRadian,
  round
}, Symbol.toStringTag, { value: "Module" }));
const time = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  format: format$1,
  parse: parseDate,
  roundTime
}, Symbol.toStringTag, { value: "Module" }));
const graphic = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Arc,
  BezierCurve,
  BoundingRect,
  Circle,
  CompoundPath,
  Ellipse,
  Group,
  Image: ZRImage,
  IncrementalDisplayable,
  Line,
  LinearGradient,
  Polygon,
  Polyline,
  RadialGradient,
  Rect,
  Ring,
  Sector,
  Text: ZRText,
  clipPointsByRect,
  clipRectByRect,
  createIcon,
  extendPath,
  extendShape,
  getShapeClass,
  getTransform,
  initProps,
  makeImage,
  makePath,
  mergePath,
  registerShape,
  resizePath,
  updateProps
}, Symbol.toStringTag, { value: "Module" }));
const format = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  addCommas,
  capitalFirst,
  encodeHTML,
  formatTime,
  formatTpl,
  getTextRect,
  getTooltipMarker,
  normalizeCssArray,
  toCamelCase,
  truncateText
}, Symbol.toStringTag, { value: "Module" }));
const util2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  bind,
  clone,
  curry,
  defaults,
  each,
  extend,
  filter,
  indexOf,
  inherits,
  isArray,
  isFunction,
  isObject,
  isString,
  map,
  merge,
  reduce
}, Symbol.toStringTag, { value: "Module" }));
function extendComponentModel(proto) {
  var Model2 = ComponentModel.extend(proto);
  ComponentModel.registerClass(Model2);
  return Model2;
}
function extendComponentView(proto) {
  var View = ComponentView.extend(proto);
  ComponentView.registerClass(View);
  return View;
}
function extendSeriesModel(proto) {
  var Model2 = SeriesModel.extend(proto);
  SeriesModel.registerClass(Model2);
  return Model2;
}
function extendChartView(proto) {
  var View = ChartView.extend(proto);
  ChartView.registerClass(View);
  return View;
}
export {
  Axis,
  ChartView,
  ComponentModel,
  ComponentView,
  SeriesData as List,
  Model,
  PRIORITY,
  SeriesModel,
  color,
  connect,
  dataTool,
  dependencies,
  disConnect,
  disconnect,
  dispose,
  env,
  extendChartView,
  extendComponentModel,
  extendComponentView,
  extendSeriesModel,
  format,
  getCoordinateSystemDimensions,
  getInstanceByDom,
  getInstanceById,
  getMap,
  graphic,
  helper,
  init,
  brushSingle as innerDrawElementOnCanvas,
  matrix,
  number,
  parseGeoJSON,
  parseGeoJSON2 as parseGeoJson,
  registerAction,
  registerCoordinateSystem,
  registerCustomSeries,
  registerLayout,
  registerLoading,
  registerLocale,
  registerMap,
  registerPostInit,
  registerPostUpdate,
  registerPreprocessor,
  registerProcessor,
  registerTheme,
  registerTransform,
  registerUpdateLifecycle,
  registerVisual,
  setCanvasCreator,
  setPlatformAPI,
  throttle,
  time,
  use,
  util2 as util,
  vector,
  version,
  util as zrUtil,
  zrender
};
