|
| 1 | +/* eslint-disable no-invalid-this */ |
| 2 | +'use strict'; |
| 3 | + |
| 4 | +// SEE TACHYONS REFERENCE: https://tachyons.io/#style |
| 5 | + |
| 6 | +var addonSnake = require('./snake').addon; |
| 7 | + |
| 8 | +var colors = { |
| 9 | + black: 'rgba(0,0,0,1)', |
| 10 | + black90: 'rgba(0,0,0,.9)', |
| 11 | + black80: 'rgba(0,0,0,.8)', |
| 12 | + black70: 'rgba(0,0,0,.7)', |
| 13 | + black60: 'rgba(0,0,0,.6)', |
| 14 | + black50: 'rgba(0,0,0,.5)', |
| 15 | + black40: 'rgba(0,0,0,.4)', |
| 16 | + black30: 'rgba(0,0,0,.3)', |
| 17 | + black20: 'rgba(0,0,0,.2)', |
| 18 | + black10: 'rgba(0,0,0,.1)', |
| 19 | + black05: 'rgba(0,0,0,.05)', |
| 20 | + black025: 'rgba(0,0,0,.025)', |
| 21 | + black0125: 'rgba(0,0,0,.0125)', |
| 22 | + nearBlack: '#111', |
| 23 | + darkGray: '#333', |
| 24 | + midGray: '#555', |
| 25 | + gray: '#777', |
| 26 | + white: 'rgba(255,255,255,1)', |
| 27 | + white90: 'rgba(255,255,255,.9)', |
| 28 | + white80: 'rgba(255,255,255,.8)', |
| 29 | + white70: 'rgba(255,255,255,.7)', |
| 30 | + white60: 'rgba(255,255,255,.6)', |
| 31 | + white50: 'rgba(255,255,255,.5)', |
| 32 | + white40: 'rgba(255,255,255,.4)', |
| 33 | + white30: 'rgba(255,255,255,.3)', |
| 34 | + white20: 'rgba(255,255,255,.2)', |
| 35 | + white10: 'rgba(255,255,255,.1)', |
| 36 | + white05: 'rgba(255,255,255,.05)', |
| 37 | + white025: 'rgba(255,255,255,.025)', |
| 38 | + white0125: 'rgba(255,255,255,.0125)', |
| 39 | + silver: '#999', |
| 40 | + lightSilver: '#aaa', |
| 41 | + lightGray: '#eee', |
| 42 | + nearWhite: '#f4f4f4', |
| 43 | + darkRed: '#e7040f', |
| 44 | + red: '#ff4136', |
| 45 | + lightRed: '#ff725c', |
| 46 | + orange: '#ff6300', |
| 47 | + gold: '#ffb700', |
| 48 | + yellow: '#ffde37', |
| 49 | + lightYellow: '#fbf1a9', |
| 50 | + purple: '#5e2ca5', |
| 51 | + lightPurple: '#a463f2', |
| 52 | + darkPink: '#d5008f', |
| 53 | + hotPink: '#ff41b4', |
| 54 | + pink: '#ff80cc', |
| 55 | + lightPink: '#ffa3d7', |
| 56 | + darkGreen: '#137752', |
| 57 | + green: '#19a974', |
| 58 | + lightGreen: '#9eebcf', |
| 59 | + navy: '#001b44', |
| 60 | + darkBlue: '#00449e', |
| 61 | + blue: '#357edd', |
| 62 | + lightBlue: '#96ccff', |
| 63 | + lightestBlue: '#cdecff', |
| 64 | + washedBlue: '#f6fffe', |
| 65 | + washedGreen: '#e8fdf5', |
| 66 | + washedYellow: '#fffceb', |
| 67 | + washedRed: '#ffdfdf', |
| 68 | +}; |
| 69 | + |
| 70 | +var tachyons = [ |
| 71 | + // Font sizes |
| 72 | + ['f1', 'fontSize', '3rem'], |
| 73 | + ['f2', 'fontSize', '2.25rem'], |
| 74 | + ['f3', 'fontSize', '1.5rem'], |
| 75 | + ['f4', 'fontSize', '1.25rem'], |
| 76 | + ['f5', 'fontSize', '1rem'], |
| 77 | + ['f6', 'fontSize', '.875rem'], |
| 78 | + |
| 79 | + // Text decorations |
| 80 | + ['strike', 'textDecoration', 'line-through'], |
| 81 | + ['ttc', 'textTransform', 'capitalize'], |
| 82 | + ['ttu', 'textTransform', 'uppercase'], |
| 83 | + |
| 84 | + // Fonts |
| 85 | + ['sans-serif', 'fontFamily', "-apple-system,BlinkMacSystemFont,'avenir next', avenir,helvetica,'helvetica neue',ubuntu,roboto,noto,'segoe ui',arial,sans-serif"], |
| 86 | + ['sansSerif', 'fontFamily', "-apple-system,BlinkMacSystemFont,'avenir next', avenir,helvetica,'helvetica neue',ubuntu,roboto,noto,'segoe ui',arial,sans-serif"], |
| 87 | + ['serif', 'fontFamily', 'georgia,times,serif'], |
| 88 | + ['code', 'fontFamily', 'Consolas,monaco,monospace'], |
| 89 | + ['courier', 'fontFamily', "'Courier Next', courier, monospace"], |
| 90 | + ['helvetica', 'fontFamily', "'helvetica neue', helvetica, sans-serif"], |
| 91 | + ['avenir', 'fontFamily', "'avenir next', avenir, sans-serif"], |
| 92 | + ['athelas', 'fontFamily', 'athelas, georgia, serif'], |
| 93 | + ['georgia', 'fontFamily', 'georgia, serif'], |
| 94 | + ['times', 'fontFamily', 'times, seriff'], |
| 95 | + ['bodoni', 'fontFamily', '"Calisto MT", serif'], |
| 96 | + ['calisto', 'fontFamily', '"Bodoni MT", serif'], |
| 97 | + ['garamond', 'fontFamily', 'garamond, serif'], |
| 98 | + ['baskerville', 'fontFamily', 'baskerville, serif'], |
| 99 | + |
| 100 | + // Measures |
| 101 | + ['measure-wide', 'maxWidth', '34em'], |
| 102 | + ['measureWide', 'maxWidth', '34em'], |
| 103 | + ['measure', 'maxWidth', '30em'], |
| 104 | + ['measure-narrow', 'maxWidth', '20em'], |
| 105 | + ['measureNarrow', 'maxWidth', '20em'], |
| 106 | + |
| 107 | + // Grid |
| 108 | + ['fl', 'float', 'left'], |
| 109 | + ['w100', 'width', '100%'], |
| 110 | + ['w90', 'width', '90%'], |
| 111 | + ['w80', 'width', '80%'], |
| 112 | + ['w75', 'width', '75%'], |
| 113 | + ['w70', 'width', '70%'], |
| 114 | + ['w60', 'width', '60%'], |
| 115 | + ['w50', 'width', '50%'], |
| 116 | + ['w40', 'width', '40%'], |
| 117 | + ['w30', 'width', '30%'], |
| 118 | + ['w25', 'width', '25%'], |
| 119 | + ['w20', 'width', '20%'], |
| 120 | + ['w10', 'width', '10%'], |
| 121 | + ['wThird', 'width', '33.33333%'], |
| 122 | + ['wTwoThirds', 'width', '36.66667%'], |
| 123 | + |
| 124 | + // Borders |
| 125 | + ['ba', 'border-style', 'solid', 'border-width', '1px'], |
| 126 | + ['bt', 'border-top-style', 'solid', 'border-top-width', '1px'], |
| 127 | + ['br', 'border-right-style', 'solid', 'border-right-width', '1px'], |
| 128 | + ['bb', 'border-bottom-style', 'solid', 'border-bottom-width', '1px'], |
| 129 | + ['bl', 'border-left-style', 'solid', 'border-left-width', '1px'], |
| 130 | + ['bn', 'border-style', 'none', 'border-width', 0], |
| 131 | + |
| 132 | + // Border styles |
| 133 | + ['bDotted', 'border-style', 'dotted'], |
| 134 | + ['bDashed', 'border-style', 'dashed'], |
| 135 | + ['bSolid', 'border-style', 'solid'], |
| 136 | + ['bNone', 'border-style', 'none'], |
| 137 | + |
| 138 | + // Border width |
| 139 | + ['bw0', 'borderWidth', 0], |
| 140 | + ['bw1', 'borderWidth', '.125rem'], |
| 141 | + ['bw2', 'borderWidth', '.25rem'], |
| 142 | + ['bw3', 'borderWidth', '.5rem'], |
| 143 | + ['bw4', 'borderWidth', '1rem'], |
| 144 | + ['bw5', 'borderWidth', '2rem'], |
| 145 | + |
| 146 | + // Border radii |
| 147 | + ['br0', 'borderRadius', 0], |
| 148 | + ['br1', 'borderRadius', '.125rem'], |
| 149 | + ['br2', 'borderRadius', '.25rem'], |
| 150 | + ['br3', 'borderRadius', '.5rem'], |
| 151 | + ['br4', 'borderRadius', '1rem'], |
| 152 | + ['br100', 'borderRadius', '100%'], |
| 153 | + ['brPill', 'borderRadius', '9999px'], |
| 154 | + ['brBottom', 'borderTopLeftRadius', 0, 'borderTopRightRadius', 0], |
| 155 | + ['brTop', 'borderBottomLeftRadius', 0, 'borderBottomRightRadius', 0], |
| 156 | + ['brRight', 'borderTopLeftRadius', 0, 'borderBottomLeftRadius', 0], |
| 157 | + ['brLeft', 'borderTopRightRadius', 0, 'borderBottomRightRadius', 0], |
| 158 | +]; |
| 159 | + |
| 160 | +// Colors |
| 161 | +for (var name in colors) { |
| 162 | + var capitalized = name[0].toUpperCase() + name.substr(1); |
| 163 | + var color = colors[name]; |
| 164 | + |
| 165 | + // Colors |
| 166 | + tachyons.push([name, 'color', color]); |
| 167 | + |
| 168 | + // Background colors |
| 169 | + tachyons.push(['bg' + capitalized, 'backgroundColor', color]); |
| 170 | + |
| 171 | + // Border colors |
| 172 | + tachyons.push(['b' + capitalized, 'borderColor', color]); |
| 173 | +} |
| 174 | + |
| 175 | +exports.addon = function (renderer, rules) { |
| 176 | + |
| 177 | + addonSnake(renderer, rules); |
| 178 | +}; |
0 commit comments