import { property } from "lit/decorators.js";
import { customElement } from "../../decorator.js";
import { ObcChartLineBase } from "../../building-blocks/chart-line/chart-line-base.js";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __decorateClass = (decorators, target, key, kind) => {
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
    if (decorator = decorators[i])
      result = (kind ? decorator(target, key, result) : decorator(result)) || result;
  if (kind && result) __defProp(target, key, result);
  return result;
};
var AreaFillMode = /* @__PURE__ */ ((AreaFillMode2) => {
  AreaFillMode2["semitransparent"] = "semitransparent";
  AreaFillMode2["solid"] = "solid";
  AreaFillMode2["threshold"] = "threshold";
  return AreaFillMode2;
})(AreaFillMode || {});
let ObcAreaGraph = class extends ObcChartLineBase {
  constructor() {
    super(...arguments);
    this.fillMode = "semitransparent";
    this.stacked = false;
  }
  /**
   * Area graphs always apply fill.
   */
  shouldApplyFill() {
    return true;
  }
  /**
   * Return the fill mode for area rendering.
   */
  getFillMode() {
    return this.fillMode;
  }
  /**
   * Return whether multi-series datasets should be stacked.
   */
  shouldStack() {
    return this.stacked;
  }
};
__decorateClass([
  property({ type: String })
], ObcAreaGraph.prototype, "fillMode", 2);
__decorateClass([
  property({ type: Boolean })
], ObcAreaGraph.prototype, "stacked", 2);
ObcAreaGraph = __decorateClass([
  customElement("obc-area-graph")
], ObcAreaGraph);
export {
  AreaFillMode,
  ObcAreaGraph
};
//# sourceMappingURL=area-graph.js.map
