⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact 86b2b3a0cc4853c2a28923e38cfce57fbe094a7b2ab45b5c353b0bc881f59600:


0000: 27 75 73 65 20 73 74 72 69 63 74 27 3b 0a 0a 69  'use strict';..i
0010: 6d 70 6f 72 74 20 45 78 74 65 6e 73 69 6f 6e 20  mport Extension 
0020: 66 72 6f 6d 20 27 45 78 74 65 6e 73 69 6f 6e 27  from 'Extension'
0030: 3b 0a 69 6d 70 6f 72 74 20 24 20 66 72 6f 6d 20  ;.import $ from 
0040: 27 6a 71 75 65 72 79 27 3b 0a 0a 6c 65 74 20 64  'jquery';..let d
0050: 65 66 61 75 6c 74 73 20 3d 20 7b 0a 20 20 2f 2a  efaults = {.  /*
0060: 2a 0a 20 20 20 2a 20 4b 65 79 2d 76 61 6c 75 65  *.   * Key-value
0070: 20 70 61 69 72 73 20 64 65 66 69 6e 69 6e 67 20   pairs defining 
0080: 61 20 63 6f 6c 6f 72 20 61 6c 69 61 73 20 61 6e  a color alias an
0090: 64 20 69 74 73 20 43 53 53 20 63 6f 6c 6f 72 20  d its CSS color 
00a0: 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0a  representation..
00b0: 20 20 20 2a 0a 20 20 20 2a 20 54 68 65 79 20 63     *.   * They c
00c0: 61 6e 20 61 6c 73 6f 20 62 65 20 6a 75 73 74 20  an also be just 
00d0: 61 6e 20 61 72 72 61 79 20 6f 66 20 76 61 6c 75  an array of valu
00e0: 65 73 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65  es. In that case
00f0: 2c 20 6e 6f 20 73 70 65 63 69 61 6c 20 6e 61 6d  , no special nam
0100: 65 73 20 61 72 65 20 75 73 65 64 2c 20 6f 6e 6c  es are used, onl
0110: 79 20 74 68 65 20 72 65 61 6c 20 63 6f 6c 6f 72  y the real color
0120: 73 2e 0a 20 20 20 2a 0a 20 20 20 2a 20 40 74 79  s..   *.   * @ty
0130: 70 65 20 7b 4f 62 6a 65 63 74 7c 41 72 72 61 79  pe {Object|Array
0140: 7d 0a 20 20 20 2a 20 40 64 65 66 61 75 6c 74 20  }.   * @default 
0150: 6e 75 6c 6c 0a 20 20 20 2a 20 40 65 78 61 6d 70  null.   * @examp
0160: 6c 65 0a 20 20 20 2a 20 20 7b 0a 20 20 20 2a 20  le.   *  {.   * 
0170: 20 20 27 62 6c 61 63 6b 27 3a 20 27 23 30 30 30    'black': '#000
0180: 30 30 30 27 2c 0a 20 20 20 2a 20 20 20 27 77 68  000',.   *   'wh
0190: 69 74 65 27 3a 20 27 23 66 66 66 66 66 66 27 2c  ite': '#ffffff',
01a0: 0a 20 20 20 2a 20 20 20 27 72 65 64 27 3a 20 27  .   *   'red': '
01b0: 23 46 46 30 30 30 30 27 2c 0a 20 20 20 2a 20 20  #FF0000',.   *  
01c0: 20 27 64 65 66 61 75 6c 74 27 3a 20 27 23 37 37   'default': '#77
01d0: 37 37 37 37 27 2c 0a 20 20 20 2a 20 20 20 27 70  7777',.   *   'p
01e0: 72 69 6d 61 72 79 27 3a 20 27 23 33 33 37 61 62  rimary': '#337ab
01f0: 37 27 2c 0a 20 20 20 2a 20 20 20 27 73 75 63 63  7',.   *   'succ
0200: 65 73 73 27 3a 20 27 23 35 63 62 38 35 63 27 2c  ess': '#5cb85c',
0210: 0a 20 20 20 2a 20 20 20 27 69 6e 66 6f 27 3a 20  .   *   'info': 
0220: 27 23 35 62 63 30 64 65 27 2c 0a 20 20 20 2a 20  '#5bc0de',.   * 
0230: 20 20 27 77 61 72 6e 69 6e 67 27 3a 20 27 23 66    'warning': '#f
0240: 30 61 64 34 65 27 2c 0a 20 20 20 2a 20 20 20 27  0ad4e',.   *   '
0250: 64 61 6e 67 65 72 27 3a 20 27 23 64 39 35 33 34  danger': '#d9534
0260: 66 27 0a 20 20 20 2a 20 20 7d 0a 20 20 20 2a 0a  f'.   *  }.   *.
0270: 20 20 20 2a 20 40 65 78 61 6d 70 6c 65 20 5b 27     * @example ['
0280: 23 66 30 61 64 34 65 27 2c 20 27 23 33 33 37 61  #f0ad4e', '#337a
0290: 62 37 27 2c 20 27 23 35 63 62 38 35 63 27 5d 0a  b7', '#5cb85c'].
02a0: 20 20 20 2a 2f 0a 20 20 63 6f 6c 6f 72 73 3a 20     */.  colors: 
02b0: 6e 75 6c 6c 2c 0a 20 20 2f 2a 2a 0a 20 20 20 2a  null,.  /**.   *
02c0: 20 49 66 20 74 72 75 65 2c 20 77 68 65 6e 20 61   If true, when a
02d0: 20 63 6f 6c 6f 72 20 73 77 61 74 63 68 20 69 73   color swatch is
02e0: 20 73 65 6c 65 63 74 65 64 20 74 68 65 20 6e 61   selected the na
02f0: 6d 65 20 28 61 6c 69 61 73 29 20 77 69 6c 6c 20  me (alias) will 
0300: 62 65 20 75 73 65 64 20 61 73 20 69 6e 70 75 74  be used as input
0310: 20 76 61 6c 75 65 2c 0a 20 20 20 2a 20 6f 74 68   value,.   * oth
0320: 65 72 77 69 73 65 20 74 68 65 20 73 77 61 74 63  erwise the swatc
0330: 68 20 72 65 61 6c 20 63 6f 6c 6f 72 20 76 61 6c  h real color val
0340: 75 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e  ue will be used.
0350: 0a 20 20 20 2a 0a 20 20 20 2a 20 40 74 79 70 65  .   *.   * @type
0360: 20 7b 62 6f 6f 6c 65 61 6e 7d 0a 20 20 20 2a 20   {boolean}.   * 
0370: 40 64 65 66 61 75 6c 74 20 74 72 75 65 0a 20 20  @default true.  
0380: 20 2a 2f 0a 20 20 6e 61 6d 65 73 41 73 56 61 6c   */.  namesAsVal
0390: 75 65 73 3a 20 74 72 75 65 0a 7d 3b 0a 0a 2f 2a  ues: true.};../*
03a0: 2a 0a 20 2a 20 50 61 6c 65 74 74 65 20 65 78 74  *. * Palette ext
03b0: 65 6e 73 69 6f 6e 0a 20 2a 20 40 69 67 6e 6f 72  ension. * @ignor
03c0: 65 0a 20 2a 2f 0a 63 6c 61 73 73 20 50 61 6c 65  e. */.class Pale
03d0: 74 74 65 20 65 78 74 65 6e 64 73 20 45 78 74 65  tte extends Exte
03e0: 6e 73 69 6f 6e 20 7b 0a 0a 20 20 2f 2a 2a 0a 20  nsion {..  /**. 
03f0: 20 20 2a 20 40 72 65 74 75 72 6e 73 20 7b 4f 62    * @returns {Ob
0400: 6a 65 63 74 7c 41 72 72 61 79 7d 0a 20 20 20 2a  ject|Array}.   *
0410: 2f 0a 20 20 67 65 74 20 63 6f 6c 6f 72 73 28 29  /.  get colors()
0420: 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 68   {.    return th
0430: 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72  is.options.color
0440: 73 3b 0a 20 20 7d 0a 0a 20 20 63 6f 6e 73 74 72  s;.  }..  constr
0450: 75 63 74 6f 72 28 63 6f 6c 6f 72 70 69 63 6b 65  uctor(colorpicke
0460: 72 2c 20 6f 70 74 69 6f 6e 73 20 3d 20 7b 7d 29  r, options = {})
0470: 20 7b 0a 20 20 20 20 73 75 70 65 72 28 63 6f 6c   {.    super(col
0480: 6f 72 70 69 63 6b 65 72 2c 20 24 2e 65 78 74 65  orpicker, $.exte
0490: 6e 64 28 74 72 75 65 2c 20 7b 7d 2c 20 64 65 66  nd(true, {}, def
04a0: 61 75 6c 74 73 2c 20 6f 70 74 69 6f 6e 73 29 29  aults, options))
04b0: 3b 0a 0a 20 20 20 20 69 66 20 28 28 21 41 72 72  ;..    if ((!Arr
04c0: 61 79 2e 69 73 41 72 72 61 79 28 74 68 69 73 2e  ay.isArray(this.
04d0: 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 29 29  options.colors))
04e0: 20 26 26 20 28 74 79 70 65 6f 66 20 74 68 69 73   && (typeof this
04f0: 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 20  .options.colors 
0500: 21 3d 3d 20 27 6f 62 6a 65 63 74 27 29 29 20 7b  !== 'object')) {
0510: 0a 20 20 20 20 20 20 74 68 69 73 2e 6f 70 74 69  .      this.opti
0520: 6f 6e 73 2e 63 6f 6c 6f 72 73 20 3d 20 6e 75 6c  ons.colors = nul
0530: 6c 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 20 20  l;.    }.  }..  
0540: 2f 2a 2a 0a 20 20 20 2a 20 40 72 65 74 75 72 6e  /**.   * @return
0550: 73 20 7b 69 6e 74 7d 0a 20 20 20 2a 2f 0a 20 20  s {int}.   */.  
0560: 67 65 74 4c 65 6e 67 74 68 28 29 20 7b 0a 20 20  getLength() {.  
0570: 20 20 69 66 20 28 21 74 68 69 73 2e 6f 70 74 69    if (!this.opti
0580: 6f 6e 73 2e 63 6f 6c 6f 72 73 29 20 7b 0a 20 20  ons.colors) {.  
0590: 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20      return 0;.  
05a0: 20 20 7d 0a 0a 20 20 20 20 69 66 20 28 41 72 72    }..    if (Arr
05b0: 61 79 2e 69 73 41 72 72 61 79 28 74 68 69 73 2e  ay.isArray(this.
05c0: 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 29 29  options.colors))
05d0: 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20   {.      return 
05e0: 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c  this.options.col
05f0: 6f 72 73 2e 6c 65 6e 67 74 68 3b 0a 20 20 20 20  ors.length;.    
0600: 7d 0a 0a 20 20 20 20 69 66 20 28 74 79 70 65 6f  }..    if (typeo
0610: 66 20 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63  f this.options.c
0620: 6f 6c 6f 72 73 20 3d 3d 3d 20 27 6f 62 6a 65 63  olors === 'objec
0630: 74 27 29 20 7b 0a 20 20 20 20 20 20 72 65 74 75  t') {.      retu
0640: 72 6e 20 4f 62 6a 65 63 74 2e 6b 65 79 73 28 74  rn Object.keys(t
0650: 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f  his.options.colo
0660: 72 73 29 2e 6c 65 6e 67 74 68 3b 0a 20 20 20 20  rs).length;.    
0670: 7d 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b  }..    return 0;
0680: 0a 20 20 7d 0a 0a 20 20 72 65 73 6f 6c 76 65 43  .  }..  resolveC
0690: 6f 6c 6f 72 28 63 6f 6c 6f 72 2c 20 72 65 61 6c  olor(color, real
06a0: 43 6f 6c 6f 72 20 3d 20 74 72 75 65 29 20 7b 0a  Color = true) {.
06b0: 20 20 20 20 69 66 20 28 74 68 69 73 2e 67 65 74      if (this.get
06c0: 4c 65 6e 67 74 68 28 29 20 3c 3d 20 30 29 20 7b  Length() <= 0) {
06d0: 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61  .      return fa
06e0: 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20  lse;.    }..    
06f0: 2f 2f 20 41 72 72 61 79 20 6f 66 20 63 6f 6c 6f  // Array of colo
0700: 72 73 0a 20 20 20 20 69 66 20 28 41 72 72 61 79  rs.    if (Array
0710: 2e 69 73 41 72 72 61 79 28 74 68 69 73 2e 6f 70  .isArray(this.op
0720: 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 29 29 20 7b  tions.colors)) {
0730: 0a 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e  .      if (this.
0740: 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 2e 69  options.colors.i
0750: 6e 64 65 78 4f 66 28 63 6f 6c 6f 72 29 20 3e 3d  ndexOf(color) >=
0760: 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65   0) {.        re
0770: 74 75 72 6e 20 63 6f 6c 6f 72 3b 0a 20 20 20 20  turn color;.    
0780: 20 20 7d 0a 20 20 20 20 20 20 69 66 20 28 74 68    }.      if (th
0790: 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72  is.options.color
07a0: 73 2e 69 6e 64 65 78 4f 66 28 63 6f 6c 6f 72 2e  s.indexOf(color.
07b0: 74 6f 55 70 70 65 72 43 61 73 65 28 29 29 20 3e  toUpperCase()) >
07c0: 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 72  = 0) {.        r
07d0: 65 74 75 72 6e 20 63 6f 6c 6f 72 2e 74 6f 55 70  eturn color.toUp
07e0: 70 65 72 43 61 73 65 28 29 3b 0a 20 20 20 20 20  perCase();.     
07f0: 20 7d 0a 20 20 20 20 20 20 69 66 20 28 74 68 69   }.      if (thi
0800: 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73  s.options.colors
0810: 2e 69 6e 64 65 78 4f 66 28 63 6f 6c 6f 72 2e 74  .indexOf(color.t
0820: 6f 4c 6f 77 65 72 43 61 73 65 28 29 29 20 3e 3d  oLowerCase()) >=
0830: 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65   0) {.        re
0840: 74 75 72 6e 20 63 6f 6c 6f 72 2e 74 6f 4c 6f 77  turn color.toLow
0850: 65 72 43 61 73 65 28 29 3b 0a 20 20 20 20 20 20  erCase();.      
0860: 7d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66  }.      return f
0870: 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20  alse;.    }..   
0880: 20 69 66 20 28 74 79 70 65 6f 66 20 74 68 69 73   if (typeof this
0890: 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 20  .options.colors 
08a0: 21 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b 0a  !== 'object') {.
08b0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c        return fal
08c0: 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f  se;.    }..    /
08d0: 2f 20 4d 61 70 20 6f 66 20 6f 62 6a 65 63 74 73  / Map of objects
08e0: 0a 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 6f  .    if (!this.o
08f0: 70 74 69 6f 6e 73 2e 6e 61 6d 65 73 41 73 56 61  ptions.namesAsVa
0900: 6c 75 65 73 20 7c 7c 20 72 65 61 6c 43 6f 6c 6f  lues || realColo
0910: 72 29 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72  r) {.      retur
0920: 6e 20 74 68 69 73 2e 67 65 74 56 61 6c 75 65 28  n this.getValue(
0930: 63 6f 6c 6f 72 2c 20 66 61 6c 73 65 29 3b 0a 20  color, false);. 
0940: 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20     }.    return 
0950: 74 68 69 73 2e 67 65 74 4e 61 6d 65 28 63 6f 6c  this.getName(col
0960: 6f 72 2c 20 74 68 69 73 2e 67 65 74 4e 61 6d 65  or, this.getName
0970: 28 27 23 27 20 2b 20 63 6f 6c 6f 72 29 29 3b 0a  ('#' + color));.
0980: 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20    }..  /**.   * 
0990: 47 69 76 65 6e 20 61 20 63 6f 6c 6f 72 20 76 61  Given a color va
09a0: 6c 75 65 2c 20 72 65 74 75 72 6e 73 20 74 68 65  lue, returns the
09b0: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63   corresponding c
09c0: 6f 6c 6f 72 20 6e 61 6d 65 20 6f 72 20 64 65 66  olor name or def
09d0: 61 75 6c 74 56 61 6c 75 65 2e 0a 20 20 20 2a 0a  aultValue..   *.
09e0: 20 20 20 2a 20 40 70 61 72 61 6d 20 7b 53 74 72     * @param {Str
09f0: 69 6e 67 7d 20 76 61 6c 75 65 0a 20 20 20 2a 20  ing} value.   * 
0a00: 40 70 61 72 61 6d 20 7b 2a 7d 20 64 65 66 61 75  @param {*} defau
0a10: 6c 74 56 61 6c 75 65 0a 20 20 20 2a 20 40 72 65  ltValue.   * @re
0a20: 74 75 72 6e 73 20 7b 2a 7d 0a 20 20 20 2a 2f 0a  turns {*}.   */.
0a30: 20 20 67 65 74 4e 61 6d 65 28 76 61 6c 75 65 2c    getName(value,
0a40: 20 64 65 66 61 75 6c 74 56 61 6c 75 65 20 3d 20   defaultValue = 
0a50: 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 69 66 20  false) {.    if 
0a60: 28 21 28 74 79 70 65 6f 66 20 76 61 6c 75 65 20  (!(typeof value 
0a70: 3d 3d 3d 20 27 73 74 72 69 6e 67 27 29 20 7c 7c  === 'string') ||
0a80: 20 21 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63   !this.options.c
0a90: 6f 6c 6f 72 73 29 20 7b 0a 20 20 20 20 20 20 72  olors) {.      r
0aa0: 65 74 75 72 6e 20 64 65 66 61 75 6c 74 56 61 6c  eturn defaultVal
0ab0: 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 6f  ue;.    }.    fo
0ac0: 72 20 28 6c 65 74 20 6e 61 6d 65 20 69 6e 20 74  r (let name in t
0ad0: 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c 6f  his.options.colo
0ae0: 72 73 29 20 7b 0a 20 20 20 20 20 20 69 66 20 28  rs) {.      if (
0af0: 21 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f  !this.options.co
0b00: 6c 6f 72 73 2e 68 61 73 4f 77 6e 50 72 6f 70 65  lors.hasOwnPrope
0b10: 72 74 79 28 6e 61 6d 65 29 29 20 7b 0a 20 20 20  rty(name)) {.   
0b20: 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20       continue;. 
0b30: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 20       }.      if 
0b40: 28 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f  (this.options.co
0b50: 6c 6f 72 73 5b 6e 61 6d 65 5d 2e 74 6f 4c 6f 77  lors[name].toLow
0b60: 65 72 43 61 73 65 28 29 20 3d 3d 3d 20 76 61 6c  erCase() === val
0b70: 75 65 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29  ue.toLowerCase()
0b80: 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75  ) {.        retu
0b90: 72 6e 20 6e 61 6d 65 3b 0a 20 20 20 20 20 20 7d  rn name;.      }
0ba0: 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72  .    }.    retur
0bb0: 6e 20 64 65 66 61 75 6c 74 56 61 6c 75 65 3b 0a  n defaultValue;.
0bc0: 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 20 20 20 2a 20    }..  /**.   * 
0bd0: 47 69 76 65 6e 20 61 20 63 6f 6c 6f 72 20 6e 61  Given a color na
0be0: 6d 65 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20  me, returns the 
0bf0: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 6f  corresponding co
0c00: 6c 6f 72 20 76 61 6c 75 65 20 6f 72 20 64 65 66  lor value or def
0c10: 61 75 6c 74 56 61 6c 75 65 2e 0a 20 20 20 2a 0a  aultValue..   *.
0c20: 20 20 20 2a 20 40 70 61 72 61 6d 20 7b 53 74 72     * @param {Str
0c30: 69 6e 67 7d 20 6e 61 6d 65 0a 20 20 20 2a 20 40  ing} name.   * @
0c40: 70 61 72 61 6d 20 7b 2a 7d 20 64 65 66 61 75 6c  param {*} defaul
0c50: 74 56 61 6c 75 65 0a 20 20 20 2a 20 40 72 65 74  tValue.   * @ret
0c60: 75 72 6e 73 20 7b 2a 7d 0a 20 20 20 2a 2f 0a 20  urns {*}.   */. 
0c70: 20 67 65 74 56 61 6c 75 65 28 6e 61 6d 65 2c 20   getValue(name, 
0c80: 64 65 66 61 75 6c 74 56 61 6c 75 65 20 3d 20 66  defaultValue = f
0c90: 61 6c 73 65 29 20 7b 0a 20 20 20 20 69 66 20 28  alse) {.    if (
0ca0: 21 28 74 79 70 65 6f 66 20 6e 61 6d 65 20 3d 3d  !(typeof name ==
0cb0: 3d 20 27 73 74 72 69 6e 67 27 29 20 7c 7c 20 21  = 'string') || !
0cc0: 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c  this.options.col
0cd0: 6f 72 73 29 20 7b 0a 20 20 20 20 20 20 72 65 74  ors) {.      ret
0ce0: 75 72 6e 20 64 65 66 61 75 6c 74 56 61 6c 75 65  urn defaultValue
0cf0: 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28  ;.    }.    if (
0d00: 74 68 69 73 2e 6f 70 74 69 6f 6e 73 2e 63 6f 6c  this.options.col
0d10: 6f 72 73 2e 68 61 73 4f 77 6e 50 72 6f 70 65 72  ors.hasOwnProper
0d20: 74 79 28 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20  ty(name)) {.    
0d30: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 6f 70    return this.op
0d40: 74 69 6f 6e 73 2e 63 6f 6c 6f 72 73 5b 6e 61 6d  tions.colors[nam
0d50: 65 5d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 72 65  e];.    }.    re
0d60: 74 75 72 6e 20 64 65 66 61 75 6c 74 56 61 6c 75  turn defaultValu
0d70: 65 3b 0a 20 20 7d 0a 7d 0a 0a 65 78 70 6f 72 74  e;.  }.}..export
0d80: 20 64 65 66 61 75 6c 74 20 50 61 6c 65 74 74 65   default Palette
0d90: 3b 0a                                            ;.