/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import { C as r, m as a } from "./model-setter.js";
import { a as f, s as c } from "./utils2.js";
import { cloneDeep as x } from "lodash-es";
import { aP as y, bI as b, aN as m, aQ as S } from "./index.js";
var p = Object.defineProperty, v = Object.getOwnPropertyDescriptor, _ = (s, e, t, l) => {
  for (var i = v(e, t), o = s.length - 1, n; o >= 0; o--)
    (n = s[o]) && (i = n(e, t, i) || i);
  return i && p(e, t, i), i;
};
function I(s) {
  return s !== void 0 && "xAxisTitleSymbol" in s;
}
class d extends r {
  /**
   * X-axis title text symbol (font, color, style).
   */
  get xAxisTitleSymbol() {
    return f(this._config, 0);
  }
  set xAxisTitleSymbol(e) {
    c({ symbol: e, axisIndex: 0, config: this._config });
  }
}
_([
  a
], d.prototype, "xAxisTitleSymbol");
var u = Object.defineProperty, g = Object.getOwnPropertyDescriptor, L = (s, e, t, l) => {
  for (var i = g(e, t), o = s.length - 1, n; o >= 0; o--)
    (n = s[o]) && (i = n(e, t, i) || i);
  return i && u(e, t, i), i;
};
const A = (s) => {
  for (const e of s.axes ?? [])
    if (e?.labels !== void 0)
      return e.labels.content;
}, h = (s, e) => {
  for (const t of e.axes ?? [])
    if (t !== void 0) {
      const l = t.labels?.content.text;
      s === void 0 ? t.labels = y({
        text: "",
        visible: !0,
        font: m(b.AxisLabels),
        type: b.AxisLabels
      }) : t.labels.content = x(s), t.labels.content.text = l;
    }
};
function X(s) {
  return s !== void 0 && "axisLabelsSymbol" in s;
}
class P extends r {
  /**
   * Axis labels text symbol (font, color, style).
   */
  get axisLabelsSymbol() {
    return A(this._config);
  }
  set axisLabelsSymbol(e) {
    h(e, this._config);
  }
}
L([
  a
], P.prototype, "axisLabelsSymbol");
var O = Object.defineProperty, T = Object.getOwnPropertyDescriptor, D = (s, e, t, l) => {
  for (var i = T(e, t), o = s.length - 1, n; o >= 0; o--)
    (n = s[o]) && (i = n(e, t, i) || i);
  return i && O(e, t, i), i;
};
const W = (s) => {
  for (const e of s.axes ?? [])
    if (e?.lineSymbol !== void 0)
      return e.lineSymbol;
}, j = (s, e) => {
  for (const t of e.axes ?? [])
    t !== void 0 && (t.lineSymbol = x(s) ?? S());
};
function B(s) {
  return s !== void 0 && "axisLinesSymbol" in s;
}
class w extends r {
  /**
   * Axis lines symbol (line width, style, color).
   */
  get axisLinesSymbol() {
    return W(this._config);
  }
  set axisLinesSymbol(e) {
    j(e, this._config);
  }
}
D([
  a
], w.prototype, "axisLinesSymbol");
export {
  d as W,
  P as a,
  w as b,
  X as c,
  I as d,
  B as i
};
