tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

react-dom-factories.js (6824B)


      1 'use strict';
      2 
      3 /**
      4 * Copyright (c) 2015-present, Facebook, Inc.
      5 *
      6 * This source code is licensed under the MIT license found in the
      7 * LICENSE file in the root directory of this source tree.
      8 */
      9 
     10 (function(f) {
     11  if (typeof exports === 'object' && typeof module !== 'undefined') {
     12    module.exports = f(require("resource://devtools/client/shared/vendor/react.mjs"));
     13    /* global define */
     14  } else if (typeof define === 'function' && define.amd) {
     15    define(['resource://devtools/client/shared/vendor/react.js'], f);
     16  } else {
     17    var g;
     18    if (typeof window !== 'undefined') {
     19      g = window;
     20    } else if (typeof global !== 'undefined') {
     21      g = global;
     22    } else if (typeof self !== 'undefined') {
     23      g = self;
     24    } else {
     25      g = this;
     26    }
     27 
     28    if (typeof g.React === 'undefined') {
     29      throw Error('React module should be required before ReactDOMFactories');
     30    }
     31 
     32    g.ReactDOMFactories = f(g.React);
     33  }
     34 })(function(React) {
     35  /**
     36   * Create a factory that creates HTML tag elements.
     37   */
     38  function createDOMFactory(type) {
     39    var factory = React.createElement.bind(null, type);
     40    // Expose the type on the factory and the prototype so that it can be
     41    // easily accessed on elements. E.g. `<Foo />.type === Foo`.
     42    // This should not be named `constructor` since this may not be the function
     43    // that created the element, and it may not even be a constructor.
     44    factory.type = type;
     45    return factory;
     46  };
     47 
     48  /**
     49   * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.
     50   */
     51  var ReactDOMFactories = {
     52    a: createDOMFactory('a'),
     53    abbr: createDOMFactory('abbr'),
     54    address: createDOMFactory('address'),
     55    area: createDOMFactory('area'),
     56    article: createDOMFactory('article'),
     57    aside: createDOMFactory('aside'),
     58    audio: createDOMFactory('audio'),
     59    b: createDOMFactory('b'),
     60    base: createDOMFactory('base'),
     61    bdi: createDOMFactory('bdi'),
     62    bdo: createDOMFactory('bdo'),
     63    big: createDOMFactory('big'),
     64    blockquote: createDOMFactory('blockquote'),
     65    body: createDOMFactory('body'),
     66    br: createDOMFactory('br'),
     67    button: createDOMFactory('button'),
     68    canvas: createDOMFactory('canvas'),
     69    caption: createDOMFactory('caption'),
     70    cite: createDOMFactory('cite'),
     71    code: createDOMFactory('code'),
     72    col: createDOMFactory('col'),
     73    colgroup: createDOMFactory('colgroup'),
     74    data: createDOMFactory('data'),
     75    datalist: createDOMFactory('datalist'),
     76    dd: createDOMFactory('dd'),
     77    del: createDOMFactory('del'),
     78    details: createDOMFactory('details'),
     79    dfn: createDOMFactory('dfn'),
     80    dialog: createDOMFactory('dialog'),
     81    div: createDOMFactory('div'),
     82    dl: createDOMFactory('dl'),
     83    dt: createDOMFactory('dt'),
     84    em: createDOMFactory('em'),
     85    embed: createDOMFactory('embed'),
     86    fieldset: createDOMFactory('fieldset'),
     87    figcaption: createDOMFactory('figcaption'),
     88    figure: createDOMFactory('figure'),
     89    footer: createDOMFactory('footer'),
     90    form: createDOMFactory('form'),
     91    h1: createDOMFactory('h1'),
     92    h2: createDOMFactory('h2'),
     93    h3: createDOMFactory('h3'),
     94    h4: createDOMFactory('h4'),
     95    h5: createDOMFactory('h5'),
     96    h6: createDOMFactory('h6'),
     97    head: createDOMFactory('head'),
     98    header: createDOMFactory('header'),
     99    hgroup: createDOMFactory('hgroup'),
    100    hr: createDOMFactory('hr'),
    101    html: createDOMFactory('html'),
    102    i: createDOMFactory('i'),
    103    iframe: createDOMFactory('iframe'),
    104    img: createDOMFactory('img'),
    105    input: createDOMFactory('input'),
    106    ins: createDOMFactory('ins'),
    107    kbd: createDOMFactory('kbd'),
    108    keygen: createDOMFactory('keygen'),
    109    label: createDOMFactory('label'),
    110    legend: createDOMFactory('legend'),
    111    li: createDOMFactory('li'),
    112    link: createDOMFactory('link'),
    113    main: createDOMFactory('main'),
    114    map: createDOMFactory('map'),
    115    mark: createDOMFactory('mark'),
    116    menu: createDOMFactory('menu'),
    117    menuitem: createDOMFactory('menuitem'),
    118    meta: createDOMFactory('meta'),
    119    meter: createDOMFactory('meter'),
    120    nav: createDOMFactory('nav'),
    121    noscript: createDOMFactory('noscript'),
    122    object: createDOMFactory('object'),
    123    ol: createDOMFactory('ol'),
    124    optgroup: createDOMFactory('optgroup'),
    125    option: createDOMFactory('option'),
    126    output: createDOMFactory('output'),
    127    p: createDOMFactory('p'),
    128    param: createDOMFactory('param'),
    129    picture: createDOMFactory('picture'),
    130    pre: createDOMFactory('pre'),
    131    progress: createDOMFactory('progress'),
    132    q: createDOMFactory('q'),
    133    rp: createDOMFactory('rp'),
    134    rt: createDOMFactory('rt'),
    135    ruby: createDOMFactory('ruby'),
    136    s: createDOMFactory('s'),
    137    samp: createDOMFactory('samp'),
    138    script: createDOMFactory('script'),
    139    section: createDOMFactory('section'),
    140    select: createDOMFactory('select'),
    141    small: createDOMFactory('small'),
    142    source: createDOMFactory('source'),
    143    span: createDOMFactory('span'),
    144    strong: createDOMFactory('strong'),
    145    style: createDOMFactory('style'),
    146    sub: createDOMFactory('sub'),
    147    summary: createDOMFactory('summary'),
    148    sup: createDOMFactory('sup'),
    149    table: createDOMFactory('table'),
    150    tbody: createDOMFactory('tbody'),
    151    td: createDOMFactory('td'),
    152    textarea: createDOMFactory('textarea'),
    153    tfoot: createDOMFactory('tfoot'),
    154    th: createDOMFactory('th'),
    155    thead: createDOMFactory('thead'),
    156    time: createDOMFactory('time'),
    157    title: createDOMFactory('title'),
    158    tr: createDOMFactory('tr'),
    159    track: createDOMFactory('track'),
    160    u: createDOMFactory('u'),
    161    ul: createDOMFactory('ul'),
    162    var: createDOMFactory('var'),
    163    video: createDOMFactory('video'),
    164    wbr: createDOMFactory('wbr'),
    165 
    166    // SVG
    167    circle: createDOMFactory('circle'),
    168    clipPath: createDOMFactory('clipPath'),
    169    defs: createDOMFactory('defs'),
    170    ellipse: createDOMFactory('ellipse'),
    171    g: createDOMFactory('g'),
    172    image: createDOMFactory('image'),
    173    line: createDOMFactory('line'),
    174    linearGradient: createDOMFactory('linearGradient'),
    175    mask: createDOMFactory('mask'),
    176    path: createDOMFactory('path'),
    177    pattern: createDOMFactory('pattern'),
    178    polygon: createDOMFactory('polygon'),
    179    polyline: createDOMFactory('polyline'),
    180    radialGradient: createDOMFactory('radialGradient'),
    181    rect: createDOMFactory('rect'),
    182    stop: createDOMFactory('stop'),
    183    svg: createDOMFactory('svg'),
    184    text: createDOMFactory('text'),
    185    tspan: createDOMFactory('tspan'),
    186  };
    187 
    188  // due to wrapper and conditionals at the top, this will either become
    189  // `module.exports ReactDOMFactories` if that is available,
    190  // otherwise it will be defined via `define(['react'], ReactDOMFactories)`
    191  // if that is available,
    192  // otherwise it will be defined as global variable.
    193  return ReactDOMFactories;
    194 });