"use strict";
/* globals VERSION */
import api from "./controls";
import { Shape } from "./core";
import {
AXES_ORIENTATION,
AXIS_TYPE,
COLORS,
LINE_TYPE,
SHAPES,
SHAPES_LIGHT
} from "./helpers/constants";
import LOCALE from "./locale";
/**
* Carbon tools for generating reusable items like different shapes
*
* @enum {{Object: Function}}
*/
const tools = {
shape: (...args) => new Shape(...args),
defaultSVGProps: (args) => Shape.getDefaultSVGProps(args)
};
/**
* Carbon helper constants
*
* @public
* @property {object} AXIS_TYPE Carbon API axis types constants
* @property {object} COLORS Carbon API color constants
* @property {object} LINE_TYPE Carbon API line type constants
* @property {object} LOCALE Carbon API locale objects
* @property {object} SHAPES Carbon API shape constants
*/
const helpers = {
AXIS_TYPE,
COLORS,
LINE_TYPE,
LOCALE,
SHAPES: Object.assign({}, SHAPES, {
DARK: SHAPES,
LIGHT: SHAPES_LIGHT
}),
AXES_ORIENTATION
};
/**
* Carbon
*
* @public
* @module Carbon
* @property {object} api Carbon API controls
* @property {object} tools Tools such as Shapes
* @property {object} helpers Helper constants such as colors and shapes
* @property {object} version Current version
* @enum {object}
*/
const Carbon = {
api,
tools,
helpers,
version: VERSION
};
export default Carbon;