123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- 'use strict';
-
- const utils = require('./utils');
- const colors = require('ansi-colors');
-
- const styles = {
- default: colors.noop,
- noop: colors.noop,
-
- /**
- * Modifiers
- */
-
- set inverse(custom) {
- this._inverse = custom;
- },
- get inverse() {
- return this._inverse || utils.inverse(this.primary);
- },
-
- set complement(custom) {
- this._complement = custom;
- },
- get complement() {
- return this._complement || utils.complement(this.primary);
- },
-
- /**
- * Main color
- */
-
- primary: colors.cyan,
-
- /**
- * Main palette
- */
-
- success: colors.green,
- danger: colors.magenta,
- strong: colors.bold,
- warning: colors.yellow,
- muted: colors.dim,
- disabled: colors.gray,
- dark: colors.dim.gray,
- underline: colors.underline,
-
- set info(custom) {
- this._info = custom;
- },
- get info() {
- return this._info || this.primary;
- },
-
- set em(custom) {
- this._em = custom;
- },
- get em() {
- return this._em || this.primary.underline;
- },
-
- set heading(custom) {
- this._heading = custom;
- },
- get heading() {
- return this._heading || this.muted.underline;
- },
-
- /**
- * Statuses
- */
-
- set pending(custom) {
- this._pending = custom;
- },
- get pending() {
- return this._pending || this.primary;
- },
-
- set submitted(custom) {
- this._submitted = custom;
- },
- get submitted() {
- return this._submitted || this.success;
- },
-
- set cancelled(custom) {
- this._cancelled = custom;
- },
- get cancelled() {
- return this._cancelled || this.danger;
- },
-
- /**
- * Special styling
- */
-
- set typing(custom) {
- this._typing = custom;
- },
- get typing() {
- return this._typing || this.dim;
- },
-
- set placeholder(custom) {
- this._placeholder = custom;
- },
- get placeholder() {
- return this._placeholder || this.primary.dim;
- },
-
- set highlight(custom) {
- this._highlight = custom;
- },
- get highlight() {
- return this._highlight || this.inverse;
- }
- };
-
- styles.merge = (options = {}) => {
- if (options.styles && typeof options.styles.enabled === 'boolean') {
- colors.enabled = options.styles.enabled;
- }
- if (options.styles && typeof options.styles.visible === 'boolean') {
- colors.visible = options.styles.visible;
- }
-
- let result = utils.merge({}, styles, options.styles);
- delete result.merge;
-
- for (let key of Object.keys(colors)) {
- if (!result.hasOwnProperty(key)) {
- Reflect.defineProperty(result, key, { get: () => colors[key] });
- }
- }
-
- for (let key of Object.keys(colors.styles)) {
- if (!result.hasOwnProperty(key)) {
- Reflect.defineProperty(result, key, { get: () => colors[key] });
- }
- }
- return result;
- };
-
- module.exports = styles;
|