tang 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/app/controllers/tang/admin/subscriptions_controller.rb +1 -1
- data/app/jobs/tang/import_customers_job.rb +7 -1
- data/app/models/tang/invoice.rb +2 -2
- data/app/models/tang/subscription.rb +3 -3
- data/app/services/tang/create_subscription.rb +4 -1
- data/app/services/tang/delete_card.rb +4 -2
- data/app/services/tang/fail_invoice.rb +6 -3
- data/app/services/tang/save_card.rb +4 -1
- data/app/services/tang/update_subscription.rb +1 -1
- data/app/views/tang/account/cards/_payment.html.erb +0 -32
- data/app/views/tang/admin/subscriptions/_form.html.erb +0 -5
- data/app/views/tang/admin/subscriptions/show.html.erb +0 -7
- data/lib/css/main.css +31 -0
- data/lib/js/index.js +3 -2
- data/lib/tang/version.rb +1 -1
- data/spec/fixtures/stripe_webhooks/invoice.created.json +1 -2
- data/spec/fixtures/stripe_webhooks/invoice.payment_failed.json +172 -0
- data/spec/models/tang/card_spec.rb +4 -1
- data/spec/models/tang/charge_spec.rb +47 -1
- data/spec/tang_app/Gemfile.lock +70 -0
- data/spec/tang_app/app/javascript/packs/application.js +2 -1
- data/spec/tang_app/app/views/layouts/application.html.erb +1 -0
- data/spec/tang_app/log/development.log +342 -0
- data/spec/tang_app/log/test.log +52349 -0
- data/spec/tang_app/node_modules/fsevents/build/Release/fse.node +0 -0
- data/spec/tang_app/package.json +3 -0
- data/spec/tang_app/public/packs-test/js/application-0dded7840d00b04c8937.js +653 -0
- data/spec/tang_app/public/packs-test/js/application-0dded7840d00b04c8937.js.map +1 -0
- data/spec/tang_app/public/packs-test/manifest.json +4 -4
- data/spec/tang_app/public/packs/js/application-080539f58098495f5fea.js +873 -0
- data/spec/tang_app/public/packs/js/application-080539f58098495f5fea.js.map +1 -0
- data/spec/tang_app/public/packs/js/application-63744ba8e1d5132a70a7.js +653 -0
- data/spec/tang_app/public/packs/js/application-63744ba8e1d5132a70a7.js.map +1 -0
- data/spec/tang_app/public/packs/js/application-6ed6c7d5740861886e33.js +908 -0
- data/spec/tang_app/public/packs/js/application-6ed6c7d5740861886e33.js.map +1 -0
- data/spec/tang_app/public/packs/js/application-95a81db325472bcd27be.js +873 -0
- data/spec/tang_app/public/packs/js/application-95a81db325472bcd27be.js.map +1 -0
- data/spec/tang_app/public/packs/js/application-a4d14e60f459eb6278f8.js +873 -0
- data/spec/tang_app/public/packs/js/application-a4d14e60f459eb6278f8.js.map +1 -0
- data/spec/tang_app/public/packs/js/application-e5d6d1269e6e876bad16.js +654 -0
- data/spec/tang_app/public/packs/js/application-e5d6d1269e6e876bad16.js.map +1 -0
- data/spec/tang_app/public/packs/manifest.json +4 -4
- data/spec/tang_app/tmp/cache/webpacker/last-compilation-digest-development +1 -1
- data/spec/tang_app/tmp/cache/webpacker/last-compilation-digest-test +1 -1
- metadata +35 -2
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"js/application-0dded7840d00b04c8937.js","sources":["webpack:///webpack/bootstrap","webpack:////Users/craigphares/Code/tang/lib/css/main.css?7cc1","webpack:////Users/craigphares/Code/tang/lib/js/index.js","webpack:///./app/javascript/packs/application.js","webpack:////Users/craigphares/Code/tang/lib/css/main.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs-test/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./app/javascript/packs/application.js\");\n","var api = require(\"!../../spec/tang_app/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../spec/tang_app/node_modules/css-loader/dist/cjs.js??ref--5-1!../../spec/tang_app/node_modules/postcss-loader/src/index.js??ref--5-2!./main.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Create a Stripe client.\nvar stripe = Stripe(process.env.STRIPE_PUBLISHABLE_KEY);\n\nconst registerElements = () => {\n\n if (!document.getElementById('card-element')) {\n return\n }\n\n // Create an instance of Elements.\n var elements = stripe.elements();\n\n // Custom styling can be passed to options when creating an Element.\n // (Note that this demo uses a wider set of styles than the guide below.)\n var style = {\n base: {\n color: '#32325d',\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '16px',\n '::placeholder': {\n color: '#aab7c4'\n }\n },\n invalid: {\n color: '#fa755a',\n iconColor: '#fa755a'\n }\n };\n\n // Create an instance of the card Element.\n var card = elements.create('card', {style: style});\n\n // Add an instance of the card Element into the `card-element` <div>.\n card.mount('#card-element');\n // Handle real-time validation errors from the card Element.\n card.on('change', function(event) {\n var displayError = document.getElementById('card-errors');\n if (event.error) {\n displayError.textContent = event.error.message;\n } else {\n displayError.textContent = '';\n }\n });\n\n // Handle form submission.\n var form = document.getElementById('payment-form');\n form.addEventListener('submit', function(event) {\n event.preventDefault();\n\n const name = form.querySelector('#name')\n // const zip = form.querySelector('#zip')\n const additionalData = {\n name: name ? name.value : undefined,\n // address_zip: zip ? zip.value : undefined\n }\n\n stripe.createToken(card, additionalData).then(function(result) {\n if (result.error) {\n // Inform the user if there was an error.\n var errorElement = document.getElementById('card-errors');\n errorElement.textContent = result.error.message;\n } else {\n // Send the token to your server.\n stripeTokenHandler(result.token);\n }\n });\n });\n\n // Submit the form with the token ID.\n function stripeTokenHandler(token) {\n // Insert the token ID into the form so it gets submitted to the server\n var form = document.getElementById('payment-form');\n var hiddenInput = document.createElement('input');\n hiddenInput.setAttribute('type', 'hidden');\n hiddenInput.setAttribute('name', 'stripe_token');\n hiddenInput.setAttribute('value', token.id);\n form.appendChild(hiddenInput);\n\n // Submit the form\n form.submit();\n }\n\n}\n\nexport default registerElements","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\nimport registerElements from '@sixoverground/tang'\nimport '@sixoverground/tang/lib/css/main.css'\n\nconsole.log('Hello World from Webpacker 1')\n\nregisterElements()","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../spec/tang_app/node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(true);\n// Module\nexports.push([module.id, \"/**\\n * The CSS shown here will not be introduced in the Quickstart guide, but shows\\n * how you can use CSS to style your Element's container.\\n */\\n .StripeElement {\\n box-sizing: border-box;\\n\\n height: 40px;\\n\\n padding: 10px 12px;\\n\\n border: 1px solid transparent;\\n border-radius: 4px;\\n background-color: white;\\n\\n box-shadow: 0 1px 3px 0 #e6ebf1;\\n transition: box-shadow 150ms ease;\\n}\\n .StripeElement--focus {\\n box-shadow: 0 1px 3px 0 #cfd7df;\\n }\\n .StripeElement--invalid {\\n border-color: #fa755a;\\n }\\n .StripeElement--webkit-autofill {\\n background-color: #fefde5 !important;\\n }\", \"\",{\"version\":3,\"sources\":[\"main.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;CACD;EACC,sBAAsB;;EAEtB,YAAY;;EAEZ,kBAAkB;;EAElB,6BAA6B;EAC7B,kBAAkB;EAClB,uBAAuB;;EAEvB,+BAA+B;EAE/B,iCAAiC;AACnC;CAEE;IACE,+BAA+B;EACjC;CAEA;IACE,qBAAqB;EACvB;CAEA;IACE,oCAAoC;EACtC\",\"file\":\"main.css\",\"sourcesContent\":[\"/**\\n * The CSS shown here will not be introduced in the Quickstart guide, but shows\\n * how you can use CSS to style your Element's container.\\n */\\n .StripeElement {\\n box-sizing: border-box;\\n\\n height: 40px;\\n\\n padding: 10px 12px;\\n\\n border: 1px solid transparent;\\n border-radius: 4px;\\n background-color: white;\\n\\n box-shadow: 0 1px 3px 0 #e6ebf1;\\n -webkit-transition: box-shadow 150ms ease;\\n transition: box-shadow 150ms ease;\\n}\\n \\n .StripeElement--focus {\\n box-shadow: 0 1px 3px 0 #cfd7df;\\n }\\n \\n .StripeElement--invalid {\\n border-color: #fa755a;\\n }\\n \\n .StripeElement--webkit-autofill {\\n background-color: #fefde5 !important;\\n }\"]}]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\n\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrFA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;A","sourceRoot":""}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
|
-
"application.js": "/packs-test/js/application-
|
3
|
-
"application.js.map": "/packs-test/js/application-
|
2
|
+
"application.js": "/packs-test/js/application-0dded7840d00b04c8937.js",
|
3
|
+
"application.js.map": "/packs-test/js/application-0dded7840d00b04c8937.js.map",
|
4
4
|
"entrypoints": {
|
5
5
|
"application": {
|
6
6
|
"js": [
|
7
|
-
"/packs-test/js/application-
|
7
|
+
"/packs-test/js/application-0dded7840d00b04c8937.js"
|
8
8
|
],
|
9
9
|
"js.map": [
|
10
|
-
"/packs-test/js/application-
|
10
|
+
"/packs-test/js/application-0dded7840d00b04c8937.js.map"
|
11
11
|
]
|
12
12
|
}
|
13
13
|
}
|
@@ -0,0 +1,873 @@
|
|
1
|
+
/******/ (function(modules) { // webpackBootstrap
|
2
|
+
/******/ // The module cache
|
3
|
+
/******/ var installedModules = {};
|
4
|
+
/******/
|
5
|
+
/******/ // The require function
|
6
|
+
/******/ function __webpack_require__(moduleId) {
|
7
|
+
/******/
|
8
|
+
/******/ // Check if module is in cache
|
9
|
+
/******/ if(installedModules[moduleId]) {
|
10
|
+
/******/ return installedModules[moduleId].exports;
|
11
|
+
/******/ }
|
12
|
+
/******/ // Create a new module (and put it into the cache)
|
13
|
+
/******/ var module = installedModules[moduleId] = {
|
14
|
+
/******/ i: moduleId,
|
15
|
+
/******/ l: false,
|
16
|
+
/******/ exports: {}
|
17
|
+
/******/ };
|
18
|
+
/******/
|
19
|
+
/******/ // Execute the module function
|
20
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21
|
+
/******/
|
22
|
+
/******/ // Flag the module as loaded
|
23
|
+
/******/ module.l = true;
|
24
|
+
/******/
|
25
|
+
/******/ // Return the exports of the module
|
26
|
+
/******/ return module.exports;
|
27
|
+
/******/ }
|
28
|
+
/******/
|
29
|
+
/******/
|
30
|
+
/******/ // expose the modules object (__webpack_modules__)
|
31
|
+
/******/ __webpack_require__.m = modules;
|
32
|
+
/******/
|
33
|
+
/******/ // expose the module cache
|
34
|
+
/******/ __webpack_require__.c = installedModules;
|
35
|
+
/******/
|
36
|
+
/******/ // define getter function for harmony exports
|
37
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39
|
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40
|
+
/******/ }
|
41
|
+
/******/ };
|
42
|
+
/******/
|
43
|
+
/******/ // define __esModule on exports
|
44
|
+
/******/ __webpack_require__.r = function(exports) {
|
45
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47
|
+
/******/ }
|
48
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49
|
+
/******/ };
|
50
|
+
/******/
|
51
|
+
/******/ // create a fake namespace object
|
52
|
+
/******/ // mode & 1: value is a module id, require it
|
53
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
54
|
+
/******/ // mode & 4: return value when already ns object
|
55
|
+
/******/ // mode & 8|1: behave like require
|
56
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
57
|
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58
|
+
/******/ if(mode & 8) return value;
|
59
|
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60
|
+
/******/ var ns = Object.create(null);
|
61
|
+
/******/ __webpack_require__.r(ns);
|
62
|
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63
|
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64
|
+
/******/ return ns;
|
65
|
+
/******/ };
|
66
|
+
/******/
|
67
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68
|
+
/******/ __webpack_require__.n = function(module) {
|
69
|
+
/******/ var getter = module && module.__esModule ?
|
70
|
+
/******/ function getDefault() { return module['default']; } :
|
71
|
+
/******/ function getModuleExports() { return module; };
|
72
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73
|
+
/******/ return getter;
|
74
|
+
/******/ };
|
75
|
+
/******/
|
76
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
77
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78
|
+
/******/
|
79
|
+
/******/ // __webpack_public_path__
|
80
|
+
/******/ __webpack_require__.p = "/packs/";
|
81
|
+
/******/
|
82
|
+
/******/
|
83
|
+
/******/ // Load entry module and return exports
|
84
|
+
/******/ return __webpack_require__(__webpack_require__.s = "./app/javascript/packs/application.js");
|
85
|
+
/******/ })
|
86
|
+
/************************************************************************/
|
87
|
+
/******/ ({
|
88
|
+
|
89
|
+
/***/ "../../lib/css/main.css":
|
90
|
+
/*!*****************************************************!*\
|
91
|
+
!*** /Users/craigphares/Code/tang/lib/css/main.css ***!
|
92
|
+
\*****************************************************/
|
93
|
+
/*! no static exports found */
|
94
|
+
/***/ (function(module, exports, __webpack_require__) {
|
95
|
+
|
96
|
+
var api = __webpack_require__(/*! ../../spec/tang_app/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
|
97
|
+
var content = __webpack_require__(/*! !../../spec/tang_app/node_modules/css-loader/dist/cjs.js??ref--5-1!../../spec/tang_app/node_modules/postcss-loader/src??ref--5-2!./main.css */ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!../../lib/css/main.css");
|
98
|
+
|
99
|
+
content = content.__esModule ? content.default : content;
|
100
|
+
|
101
|
+
if (typeof content === 'string') {
|
102
|
+
content = [[module.i, content, '']];
|
103
|
+
}
|
104
|
+
|
105
|
+
var options = {};
|
106
|
+
|
107
|
+
options.insert = "head";
|
108
|
+
options.singleton = false;
|
109
|
+
|
110
|
+
var update = api(content, options);
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
module.exports = content.locals || {};
|
115
|
+
|
116
|
+
/***/ }),
|
117
|
+
|
118
|
+
/***/ "../../lib/js/index.js":
|
119
|
+
/*!****************************************************!*\
|
120
|
+
!*** /Users/craigphares/Code/tang/lib/js/index.js ***!
|
121
|
+
\****************************************************/
|
122
|
+
/*! exports provided: default */
|
123
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
124
|
+
|
125
|
+
"use strict";
|
126
|
+
__webpack_require__.r(__webpack_exports__);
|
127
|
+
/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _css_main_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css/main.css */ "../../lib/css/main.css");
|
128
|
+
/* harmony import */ var _css_main_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_main_css__WEBPACK_IMPORTED_MODULE_0__);
|
129
|
+
|
130
|
+
|
131
|
+
// Create a Stripe client.
|
132
|
+
var stripe = Stripe(process.env.STRIPE_PUBLISHABLE_KEY);
|
133
|
+
|
134
|
+
const registerElements = () => {
|
135
|
+
|
136
|
+
if (!document.getElementById('card-element')) {
|
137
|
+
return
|
138
|
+
}
|
139
|
+
|
140
|
+
// Create an instance of Elements.
|
141
|
+
var elements = stripe.elements();
|
142
|
+
|
143
|
+
// Custom styling can be passed to options when creating an Element.
|
144
|
+
// (Note that this demo uses a wider set of styles than the guide below.)
|
145
|
+
var style = {
|
146
|
+
base: {
|
147
|
+
color: '#32325d',
|
148
|
+
fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
|
149
|
+
fontSmoothing: 'antialiased',
|
150
|
+
fontSize: '16px',
|
151
|
+
'::placeholder': {
|
152
|
+
color: '#aab7c4'
|
153
|
+
}
|
154
|
+
},
|
155
|
+
invalid: {
|
156
|
+
color: '#fa755a',
|
157
|
+
iconColor: '#fa755a'
|
158
|
+
}
|
159
|
+
};
|
160
|
+
|
161
|
+
// Create an instance of the card Element.
|
162
|
+
var card = elements.create('card', {style: style});
|
163
|
+
|
164
|
+
// Add an instance of the card Element into the `card-element` <div>.
|
165
|
+
card.mount('#card-element');
|
166
|
+
// Handle real-time validation errors from the card Element.
|
167
|
+
card.on('change', function(event) {
|
168
|
+
var displayError = document.getElementById('card-errors');
|
169
|
+
if (event.error) {
|
170
|
+
displayError.textContent = event.error.message;
|
171
|
+
} else {
|
172
|
+
displayError.textContent = '';
|
173
|
+
}
|
174
|
+
});
|
175
|
+
|
176
|
+
// Handle form submission.
|
177
|
+
var form = document.getElementById('payment-form');
|
178
|
+
form.addEventListener('submit', function(event) {
|
179
|
+
event.preventDefault();
|
180
|
+
|
181
|
+
const name = form.querySelector('#name')
|
182
|
+
// const zip = form.querySelector('#zip')
|
183
|
+
const additionalData = {
|
184
|
+
name: name ? name.value : undefined,
|
185
|
+
// address_zip: zip ? zip.value : undefined
|
186
|
+
}
|
187
|
+
|
188
|
+
stripe.createToken(card, additionalData).then(function(result) {
|
189
|
+
if (result.error) {
|
190
|
+
// Inform the user if there was an error.
|
191
|
+
var errorElement = document.getElementById('card-errors');
|
192
|
+
errorElement.textContent = result.error.message;
|
193
|
+
} else {
|
194
|
+
// Send the token to your server.
|
195
|
+
stripeTokenHandler(result.token);
|
196
|
+
}
|
197
|
+
});
|
198
|
+
});
|
199
|
+
|
200
|
+
// Submit the form with the token ID.
|
201
|
+
function stripeTokenHandler(token) {
|
202
|
+
// Insert the token ID into the form so it gets submitted to the server
|
203
|
+
var form = document.getElementById('payment-form');
|
204
|
+
var hiddenInput = document.createElement('input');
|
205
|
+
hiddenInput.setAttribute('type', 'hidden');
|
206
|
+
hiddenInput.setAttribute('name', 'stripe_token');
|
207
|
+
hiddenInput.setAttribute('value', token.id);
|
208
|
+
form.appendChild(hiddenInput);
|
209
|
+
|
210
|
+
// Submit the form
|
211
|
+
form.submit();
|
212
|
+
}
|
213
|
+
|
214
|
+
}
|
215
|
+
|
216
|
+
/* harmony default export */ __webpack_exports__["default"] = (registerElements);
|
217
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../spec/tang_app/node_modules/process/browser.js */ "./node_modules/process/browser.js")))
|
218
|
+
|
219
|
+
/***/ }),
|
220
|
+
|
221
|
+
/***/ "./app/javascript/packs/application.js":
|
222
|
+
/*!*********************************************!*\
|
223
|
+
!*** ./app/javascript/packs/application.js ***!
|
224
|
+
\*********************************************/
|
225
|
+
/*! no exports provided */
|
226
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
227
|
+
|
228
|
+
"use strict";
|
229
|
+
__webpack_require__.r(__webpack_exports__);
|
230
|
+
/* harmony import */ var _sixoverground_tang__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sixoverground/tang */ "../../lib/js/index.js");
|
231
|
+
/* eslint no-console:0 */
|
232
|
+
// This file is automatically compiled by Webpack, along with any other files
|
233
|
+
// present in this directory. You're encouraged to place your actual application logic in
|
234
|
+
// a relevant structure within app/javascript and only use these pack files to reference
|
235
|
+
// that code so it'll be compiled.
|
236
|
+
//
|
237
|
+
// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate
|
238
|
+
// layout file, like app/views/layouts/application.html.erb
|
239
|
+
// Uncomment to copy all static images under ../images to the output folder and reference
|
240
|
+
// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)
|
241
|
+
// or the `imagePath` JavaScript helper below.
|
242
|
+
//
|
243
|
+
// const images = require.context('../images', true)
|
244
|
+
// const imagePath = (name) => images(name, true)
|
245
|
+
|
246
|
+
console.log('Hello World from Webpacker 1');
|
247
|
+
Object(_sixoverground_tang__WEBPACK_IMPORTED_MODULE_0__["default"])();
|
248
|
+
|
249
|
+
/***/ }),
|
250
|
+
|
251
|
+
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!../../lib/css/main.css":
|
252
|
+
/*!*************************************************************************************************************************************************!*\
|
253
|
+
!*** ./node_modules/css-loader/dist/cjs.js??ref--5-1!./node_modules/postcss-loader/src??ref--5-2!/Users/craigphares/Code/tang/lib/css/main.css ***!
|
254
|
+
\*************************************************************************************************************************************************/
|
255
|
+
/*! no static exports found */
|
256
|
+
/***/ (function(module, exports, __webpack_require__) {
|
257
|
+
|
258
|
+
// Imports
|
259
|
+
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../spec/tang_app/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
260
|
+
exports = ___CSS_LOADER_API_IMPORT___(true);
|
261
|
+
// Module
|
262
|
+
exports.push([module.i, "/**\n * The CSS shown here will not be introduced in the Quickstart guide, but shows\n * how you can use CSS to style your Element's container.\n */\n .StripeElement {\n box-sizing: border-box;\n\n height: 40px;\n\n padding: 10px 12px;\n\n border: 1px solid transparent;\n border-radius: 4px;\n background-color: white;\n\n box-shadow: 0 1px 3px 0 #e6ebf1;\n transition: box-shadow 150ms ease;\n}\n .StripeElement--focus {\n box-shadow: 0 1px 3px 0 #cfd7df;\n }\n .StripeElement--invalid {\n border-color: #fa755a;\n }\n .StripeElement--webkit-autofill {\n background-color: #fefde5 !important;\n }", "",{"version":3,"sources":["main.css"],"names":[],"mappings":"AAAA;;;EAGE;CACD;EACC,sBAAsB;;EAEtB,YAAY;;EAEZ,kBAAkB;;EAElB,6BAA6B;EAC7B,kBAAkB;EAClB,uBAAuB;;EAEvB,+BAA+B;EAE/B,iCAAiC;AACnC;CAEE;IACE,+BAA+B;EACjC;CAEA;IACE,qBAAqB;EACvB;CAEA;IACE,oCAAoC;EACtC","file":"main.css","sourcesContent":["/**\n * The CSS shown here will not be introduced in the Quickstart guide, but shows\n * how you can use CSS to style your Element's container.\n */\n .StripeElement {\n box-sizing: border-box;\n\n height: 40px;\n\n padding: 10px 12px;\n\n border: 1px solid transparent;\n border-radius: 4px;\n background-color: white;\n\n box-shadow: 0 1px 3px 0 #e6ebf1;\n -webkit-transition: box-shadow 150ms ease;\n transition: box-shadow 150ms ease;\n}\n \n .StripeElement--focus {\n box-shadow: 0 1px 3px 0 #cfd7df;\n }\n \n .StripeElement--invalid {\n border-color: #fa755a;\n }\n \n .StripeElement--webkit-autofill {\n background-color: #fefde5 !important;\n }"]}]);
|
263
|
+
// Exports
|
264
|
+
module.exports = exports;
|
265
|
+
|
266
|
+
|
267
|
+
/***/ }),
|
268
|
+
|
269
|
+
/***/ "./node_modules/css-loader/dist/runtime/api.js":
|
270
|
+
/*!*****************************************************!*\
|
271
|
+
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
|
272
|
+
\*****************************************************/
|
273
|
+
/*! no static exports found */
|
274
|
+
/***/ (function(module, exports, __webpack_require__) {
|
275
|
+
|
276
|
+
"use strict";
|
277
|
+
|
278
|
+
/*
|
279
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
280
|
+
Author Tobias Koppers @sokra
|
281
|
+
*/
|
282
|
+
// css base code, injected by the css-loader
|
283
|
+
// eslint-disable-next-line func-names
|
284
|
+
|
285
|
+
module.exports = function (useSourceMap) {
|
286
|
+
var list = []; // return the list of modules as css string
|
287
|
+
|
288
|
+
list.toString = function toString() {
|
289
|
+
return this.map(function (item) {
|
290
|
+
var content = cssWithMappingToString(item, useSourceMap);
|
291
|
+
|
292
|
+
if (item[2]) {
|
293
|
+
return "@media ".concat(item[2], " {").concat(content, "}");
|
294
|
+
}
|
295
|
+
|
296
|
+
return content;
|
297
|
+
}).join('');
|
298
|
+
}; // import a list of modules into the list
|
299
|
+
// eslint-disable-next-line func-names
|
300
|
+
|
301
|
+
|
302
|
+
list.i = function (modules, mediaQuery, dedupe) {
|
303
|
+
if (typeof modules === 'string') {
|
304
|
+
// eslint-disable-next-line no-param-reassign
|
305
|
+
modules = [[null, modules, '']];
|
306
|
+
}
|
307
|
+
|
308
|
+
var alreadyImportedModules = {};
|
309
|
+
|
310
|
+
if (dedupe) {
|
311
|
+
for (var i = 0; i < this.length; i++) {
|
312
|
+
// eslint-disable-next-line prefer-destructuring
|
313
|
+
var id = this[i][0];
|
314
|
+
|
315
|
+
if (id != null) {
|
316
|
+
alreadyImportedModules[id] = true;
|
317
|
+
}
|
318
|
+
}
|
319
|
+
}
|
320
|
+
|
321
|
+
for (var _i = 0; _i < modules.length; _i++) {
|
322
|
+
var item = [].concat(modules[_i]);
|
323
|
+
|
324
|
+
if (dedupe && alreadyImportedModules[item[0]]) {
|
325
|
+
// eslint-disable-next-line no-continue
|
326
|
+
continue;
|
327
|
+
}
|
328
|
+
|
329
|
+
if (mediaQuery) {
|
330
|
+
if (!item[2]) {
|
331
|
+
item[2] = mediaQuery;
|
332
|
+
} else {
|
333
|
+
item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
|
334
|
+
}
|
335
|
+
}
|
336
|
+
|
337
|
+
list.push(item);
|
338
|
+
}
|
339
|
+
};
|
340
|
+
|
341
|
+
return list;
|
342
|
+
};
|
343
|
+
|
344
|
+
function cssWithMappingToString(item, useSourceMap) {
|
345
|
+
var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
|
346
|
+
|
347
|
+
var cssMapping = item[3];
|
348
|
+
|
349
|
+
if (!cssMapping) {
|
350
|
+
return content;
|
351
|
+
}
|
352
|
+
|
353
|
+
if (useSourceMap && typeof btoa === 'function') {
|
354
|
+
var sourceMapping = toComment(cssMapping);
|
355
|
+
var sourceURLs = cssMapping.sources.map(function (source) {
|
356
|
+
return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
|
357
|
+
});
|
358
|
+
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
|
359
|
+
}
|
360
|
+
|
361
|
+
return [content].join('\n');
|
362
|
+
} // Adapted from convert-source-map (MIT)
|
363
|
+
|
364
|
+
|
365
|
+
function toComment(sourceMap) {
|
366
|
+
// eslint-disable-next-line no-undef
|
367
|
+
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
|
368
|
+
var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
|
369
|
+
return "/*# ".concat(data, " */");
|
370
|
+
}
|
371
|
+
|
372
|
+
/***/ }),
|
373
|
+
|
374
|
+
/***/ "./node_modules/process/browser.js":
|
375
|
+
/*!*****************************************!*\
|
376
|
+
!*** ./node_modules/process/browser.js ***!
|
377
|
+
\*****************************************/
|
378
|
+
/*! no static exports found */
|
379
|
+
/***/ (function(module, exports) {
|
380
|
+
|
381
|
+
// shim for using process in browser
|
382
|
+
var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it
|
383
|
+
// don't break things. But we need to wrap it in a try catch in case it is
|
384
|
+
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
385
|
+
// function because try/catches deoptimize in certain engines.
|
386
|
+
|
387
|
+
var cachedSetTimeout;
|
388
|
+
var cachedClearTimeout;
|
389
|
+
|
390
|
+
function defaultSetTimout() {
|
391
|
+
throw new Error('setTimeout has not been defined');
|
392
|
+
}
|
393
|
+
|
394
|
+
function defaultClearTimeout() {
|
395
|
+
throw new Error('clearTimeout has not been defined');
|
396
|
+
}
|
397
|
+
|
398
|
+
(function () {
|
399
|
+
try {
|
400
|
+
if (typeof setTimeout === 'function') {
|
401
|
+
cachedSetTimeout = setTimeout;
|
402
|
+
} else {
|
403
|
+
cachedSetTimeout = defaultSetTimout;
|
404
|
+
}
|
405
|
+
} catch (e) {
|
406
|
+
cachedSetTimeout = defaultSetTimout;
|
407
|
+
}
|
408
|
+
|
409
|
+
try {
|
410
|
+
if (typeof clearTimeout === 'function') {
|
411
|
+
cachedClearTimeout = clearTimeout;
|
412
|
+
} else {
|
413
|
+
cachedClearTimeout = defaultClearTimeout;
|
414
|
+
}
|
415
|
+
} catch (e) {
|
416
|
+
cachedClearTimeout = defaultClearTimeout;
|
417
|
+
}
|
418
|
+
})();
|
419
|
+
|
420
|
+
function runTimeout(fun) {
|
421
|
+
if (cachedSetTimeout === setTimeout) {
|
422
|
+
//normal enviroments in sane situations
|
423
|
+
return setTimeout(fun, 0);
|
424
|
+
} // if setTimeout wasn't available but was latter defined
|
425
|
+
|
426
|
+
|
427
|
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
428
|
+
cachedSetTimeout = setTimeout;
|
429
|
+
return setTimeout(fun, 0);
|
430
|
+
}
|
431
|
+
|
432
|
+
try {
|
433
|
+
// when when somebody has screwed with setTimeout but no I.E. maddness
|
434
|
+
return cachedSetTimeout(fun, 0);
|
435
|
+
} catch (e) {
|
436
|
+
try {
|
437
|
+
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
438
|
+
return cachedSetTimeout.call(null, fun, 0);
|
439
|
+
} catch (e) {
|
440
|
+
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
441
|
+
return cachedSetTimeout.call(this, fun, 0);
|
442
|
+
}
|
443
|
+
}
|
444
|
+
}
|
445
|
+
|
446
|
+
function runClearTimeout(marker) {
|
447
|
+
if (cachedClearTimeout === clearTimeout) {
|
448
|
+
//normal enviroments in sane situations
|
449
|
+
return clearTimeout(marker);
|
450
|
+
} // if clearTimeout wasn't available but was latter defined
|
451
|
+
|
452
|
+
|
453
|
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
454
|
+
cachedClearTimeout = clearTimeout;
|
455
|
+
return clearTimeout(marker);
|
456
|
+
}
|
457
|
+
|
458
|
+
try {
|
459
|
+
// when when somebody has screwed with setTimeout but no I.E. maddness
|
460
|
+
return cachedClearTimeout(marker);
|
461
|
+
} catch (e) {
|
462
|
+
try {
|
463
|
+
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
464
|
+
return cachedClearTimeout.call(null, marker);
|
465
|
+
} catch (e) {
|
466
|
+
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
467
|
+
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
468
|
+
return cachedClearTimeout.call(this, marker);
|
469
|
+
}
|
470
|
+
}
|
471
|
+
}
|
472
|
+
|
473
|
+
var queue = [];
|
474
|
+
var draining = false;
|
475
|
+
var currentQueue;
|
476
|
+
var queueIndex = -1;
|
477
|
+
|
478
|
+
function cleanUpNextTick() {
|
479
|
+
if (!draining || !currentQueue) {
|
480
|
+
return;
|
481
|
+
}
|
482
|
+
|
483
|
+
draining = false;
|
484
|
+
|
485
|
+
if (currentQueue.length) {
|
486
|
+
queue = currentQueue.concat(queue);
|
487
|
+
} else {
|
488
|
+
queueIndex = -1;
|
489
|
+
}
|
490
|
+
|
491
|
+
if (queue.length) {
|
492
|
+
drainQueue();
|
493
|
+
}
|
494
|
+
}
|
495
|
+
|
496
|
+
function drainQueue() {
|
497
|
+
if (draining) {
|
498
|
+
return;
|
499
|
+
}
|
500
|
+
|
501
|
+
var timeout = runTimeout(cleanUpNextTick);
|
502
|
+
draining = true;
|
503
|
+
var len = queue.length;
|
504
|
+
|
505
|
+
while (len) {
|
506
|
+
currentQueue = queue;
|
507
|
+
queue = [];
|
508
|
+
|
509
|
+
while (++queueIndex < len) {
|
510
|
+
if (currentQueue) {
|
511
|
+
currentQueue[queueIndex].run();
|
512
|
+
}
|
513
|
+
}
|
514
|
+
|
515
|
+
queueIndex = -1;
|
516
|
+
len = queue.length;
|
517
|
+
}
|
518
|
+
|
519
|
+
currentQueue = null;
|
520
|
+
draining = false;
|
521
|
+
runClearTimeout(timeout);
|
522
|
+
}
|
523
|
+
|
524
|
+
process.nextTick = function (fun) {
|
525
|
+
var args = new Array(arguments.length - 1);
|
526
|
+
|
527
|
+
if (arguments.length > 1) {
|
528
|
+
for (var i = 1; i < arguments.length; i++) {
|
529
|
+
args[i - 1] = arguments[i];
|
530
|
+
}
|
531
|
+
}
|
532
|
+
|
533
|
+
queue.push(new Item(fun, args));
|
534
|
+
|
535
|
+
if (queue.length === 1 && !draining) {
|
536
|
+
runTimeout(drainQueue);
|
537
|
+
}
|
538
|
+
}; // v8 likes predictible objects
|
539
|
+
|
540
|
+
|
541
|
+
function Item(fun, array) {
|
542
|
+
this.fun = fun;
|
543
|
+
this.array = array;
|
544
|
+
}
|
545
|
+
|
546
|
+
Item.prototype.run = function () {
|
547
|
+
this.fun.apply(null, this.array);
|
548
|
+
};
|
549
|
+
|
550
|
+
process.title = 'browser';
|
551
|
+
process.browser = true;
|
552
|
+
process.env = {};
|
553
|
+
process.argv = [];
|
554
|
+
process.version = ''; // empty string to avoid regexp issues
|
555
|
+
|
556
|
+
process.versions = {};
|
557
|
+
|
558
|
+
function noop() {}
|
559
|
+
|
560
|
+
process.on = noop;
|
561
|
+
process.addListener = noop;
|
562
|
+
process.once = noop;
|
563
|
+
process.off = noop;
|
564
|
+
process.removeListener = noop;
|
565
|
+
process.removeAllListeners = noop;
|
566
|
+
process.emit = noop;
|
567
|
+
process.prependListener = noop;
|
568
|
+
process.prependOnceListener = noop;
|
569
|
+
|
570
|
+
process.listeners = function (name) {
|
571
|
+
return [];
|
572
|
+
};
|
573
|
+
|
574
|
+
process.binding = function (name) {
|
575
|
+
throw new Error('process.binding is not supported');
|
576
|
+
};
|
577
|
+
|
578
|
+
process.cwd = function () {
|
579
|
+
return '/';
|
580
|
+
};
|
581
|
+
|
582
|
+
process.chdir = function (dir) {
|
583
|
+
throw new Error('process.chdir is not supported');
|
584
|
+
};
|
585
|
+
|
586
|
+
process.umask = function () {
|
587
|
+
return 0;
|
588
|
+
};
|
589
|
+
|
590
|
+
/***/ }),
|
591
|
+
|
592
|
+
/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
|
593
|
+
/*!****************************************************************************!*\
|
594
|
+
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
|
595
|
+
\****************************************************************************/
|
596
|
+
/*! no static exports found */
|
597
|
+
/***/ (function(module, exports, __webpack_require__) {
|
598
|
+
|
599
|
+
"use strict";
|
600
|
+
|
601
|
+
|
602
|
+
var isOldIE = function isOldIE() {
|
603
|
+
var memo;
|
604
|
+
return function memorize() {
|
605
|
+
if (typeof memo === 'undefined') {
|
606
|
+
// Test for IE <= 9 as proposed by Browserhacks
|
607
|
+
// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
|
608
|
+
// Tests for existence of standard globals is to allow style-loader
|
609
|
+
// to operate correctly into non-standard environments
|
610
|
+
// @see https://github.com/webpack-contrib/style-loader/issues/177
|
611
|
+
memo = Boolean(window && document && document.all && !window.atob);
|
612
|
+
}
|
613
|
+
|
614
|
+
return memo;
|
615
|
+
};
|
616
|
+
}();
|
617
|
+
|
618
|
+
var getTarget = function getTarget() {
|
619
|
+
var memo = {};
|
620
|
+
return function memorize(target) {
|
621
|
+
if (typeof memo[target] === 'undefined') {
|
622
|
+
var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
|
623
|
+
|
624
|
+
if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
|
625
|
+
try {
|
626
|
+
// This will throw an exception if access to iframe is blocked
|
627
|
+
// due to cross-origin restrictions
|
628
|
+
styleTarget = styleTarget.contentDocument.head;
|
629
|
+
} catch (e) {
|
630
|
+
// istanbul ignore next
|
631
|
+
styleTarget = null;
|
632
|
+
}
|
633
|
+
}
|
634
|
+
|
635
|
+
memo[target] = styleTarget;
|
636
|
+
}
|
637
|
+
|
638
|
+
return memo[target];
|
639
|
+
};
|
640
|
+
}();
|
641
|
+
|
642
|
+
var stylesInDom = [];
|
643
|
+
|
644
|
+
function getIndexByIdentifier(identifier) {
|
645
|
+
var result = -1;
|
646
|
+
|
647
|
+
for (var i = 0; i < stylesInDom.length; i++) {
|
648
|
+
if (stylesInDom[i].identifier === identifier) {
|
649
|
+
result = i;
|
650
|
+
break;
|
651
|
+
}
|
652
|
+
}
|
653
|
+
|
654
|
+
return result;
|
655
|
+
}
|
656
|
+
|
657
|
+
function modulesToDom(list, options) {
|
658
|
+
var idCountMap = {};
|
659
|
+
var identifiers = [];
|
660
|
+
|
661
|
+
for (var i = 0; i < list.length; i++) {
|
662
|
+
var item = list[i];
|
663
|
+
var id = options.base ? item[0] + options.base : item[0];
|
664
|
+
var count = idCountMap[id] || 0;
|
665
|
+
var identifier = "".concat(id, " ").concat(count);
|
666
|
+
idCountMap[id] = count + 1;
|
667
|
+
var index = getIndexByIdentifier(identifier);
|
668
|
+
var obj = {
|
669
|
+
css: item[1],
|
670
|
+
media: item[2],
|
671
|
+
sourceMap: item[3]
|
672
|
+
};
|
673
|
+
|
674
|
+
if (index !== -1) {
|
675
|
+
stylesInDom[index].references++;
|
676
|
+
stylesInDom[index].updater(obj);
|
677
|
+
} else {
|
678
|
+
stylesInDom.push({
|
679
|
+
identifier: identifier,
|
680
|
+
updater: addStyle(obj, options),
|
681
|
+
references: 1
|
682
|
+
});
|
683
|
+
}
|
684
|
+
|
685
|
+
identifiers.push(identifier);
|
686
|
+
}
|
687
|
+
|
688
|
+
return identifiers;
|
689
|
+
}
|
690
|
+
|
691
|
+
function insertStyleElement(options) {
|
692
|
+
var style = document.createElement('style');
|
693
|
+
var attributes = options.attributes || {};
|
694
|
+
|
695
|
+
if (typeof attributes.nonce === 'undefined') {
|
696
|
+
var nonce = true ? __webpack_require__.nc : undefined;
|
697
|
+
|
698
|
+
if (nonce) {
|
699
|
+
attributes.nonce = nonce;
|
700
|
+
}
|
701
|
+
}
|
702
|
+
|
703
|
+
Object.keys(attributes).forEach(function (key) {
|
704
|
+
style.setAttribute(key, attributes[key]);
|
705
|
+
});
|
706
|
+
|
707
|
+
if (typeof options.insert === 'function') {
|
708
|
+
options.insert(style);
|
709
|
+
} else {
|
710
|
+
var target = getTarget(options.insert || 'head');
|
711
|
+
|
712
|
+
if (!target) {
|
713
|
+
throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
|
714
|
+
}
|
715
|
+
|
716
|
+
target.appendChild(style);
|
717
|
+
}
|
718
|
+
|
719
|
+
return style;
|
720
|
+
}
|
721
|
+
|
722
|
+
function removeStyleElement(style) {
|
723
|
+
// istanbul ignore if
|
724
|
+
if (style.parentNode === null) {
|
725
|
+
return false;
|
726
|
+
}
|
727
|
+
|
728
|
+
style.parentNode.removeChild(style);
|
729
|
+
}
|
730
|
+
/* istanbul ignore next */
|
731
|
+
|
732
|
+
|
733
|
+
var replaceText = function replaceText() {
|
734
|
+
var textStore = [];
|
735
|
+
return function replace(index, replacement) {
|
736
|
+
textStore[index] = replacement;
|
737
|
+
return textStore.filter(Boolean).join('\n');
|
738
|
+
};
|
739
|
+
}();
|
740
|
+
|
741
|
+
function applyToSingletonTag(style, index, remove, obj) {
|
742
|
+
var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
|
743
|
+
|
744
|
+
/* istanbul ignore if */
|
745
|
+
|
746
|
+
if (style.styleSheet) {
|
747
|
+
style.styleSheet.cssText = replaceText(index, css);
|
748
|
+
} else {
|
749
|
+
var cssNode = document.createTextNode(css);
|
750
|
+
var childNodes = style.childNodes;
|
751
|
+
|
752
|
+
if (childNodes[index]) {
|
753
|
+
style.removeChild(childNodes[index]);
|
754
|
+
}
|
755
|
+
|
756
|
+
if (childNodes.length) {
|
757
|
+
style.insertBefore(cssNode, childNodes[index]);
|
758
|
+
} else {
|
759
|
+
style.appendChild(cssNode);
|
760
|
+
}
|
761
|
+
}
|
762
|
+
}
|
763
|
+
|
764
|
+
function applyToTag(style, options, obj) {
|
765
|
+
var css = obj.css;
|
766
|
+
var media = obj.media;
|
767
|
+
var sourceMap = obj.sourceMap;
|
768
|
+
|
769
|
+
if (media) {
|
770
|
+
style.setAttribute('media', media);
|
771
|
+
} else {
|
772
|
+
style.removeAttribute('media');
|
773
|
+
}
|
774
|
+
|
775
|
+
if (sourceMap && btoa) {
|
776
|
+
css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
|
777
|
+
} // For old IE
|
778
|
+
|
779
|
+
/* istanbul ignore if */
|
780
|
+
|
781
|
+
|
782
|
+
if (style.styleSheet) {
|
783
|
+
style.styleSheet.cssText = css;
|
784
|
+
} else {
|
785
|
+
while (style.firstChild) {
|
786
|
+
style.removeChild(style.firstChild);
|
787
|
+
}
|
788
|
+
|
789
|
+
style.appendChild(document.createTextNode(css));
|
790
|
+
}
|
791
|
+
}
|
792
|
+
|
793
|
+
var singleton = null;
|
794
|
+
var singletonCounter = 0;
|
795
|
+
|
796
|
+
function addStyle(obj, options) {
|
797
|
+
var style;
|
798
|
+
var update;
|
799
|
+
var remove;
|
800
|
+
|
801
|
+
if (options.singleton) {
|
802
|
+
var styleIndex = singletonCounter++;
|
803
|
+
style = singleton || (singleton = insertStyleElement(options));
|
804
|
+
update = applyToSingletonTag.bind(null, style, styleIndex, false);
|
805
|
+
remove = applyToSingletonTag.bind(null, style, styleIndex, true);
|
806
|
+
} else {
|
807
|
+
style = insertStyleElement(options);
|
808
|
+
update = applyToTag.bind(null, style, options);
|
809
|
+
|
810
|
+
remove = function remove() {
|
811
|
+
removeStyleElement(style);
|
812
|
+
};
|
813
|
+
}
|
814
|
+
|
815
|
+
update(obj);
|
816
|
+
return function updateStyle(newObj) {
|
817
|
+
if (newObj) {
|
818
|
+
if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
|
819
|
+
return;
|
820
|
+
}
|
821
|
+
|
822
|
+
update(obj = newObj);
|
823
|
+
} else {
|
824
|
+
remove();
|
825
|
+
}
|
826
|
+
};
|
827
|
+
}
|
828
|
+
|
829
|
+
module.exports = function (list, options) {
|
830
|
+
options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
|
831
|
+
// tags it will allow on a page
|
832
|
+
|
833
|
+
if (!options.singleton && typeof options.singleton !== 'boolean') {
|
834
|
+
options.singleton = isOldIE();
|
835
|
+
}
|
836
|
+
|
837
|
+
list = list || [];
|
838
|
+
var lastIdentifiers = modulesToDom(list, options);
|
839
|
+
return function update(newList) {
|
840
|
+
newList = newList || [];
|
841
|
+
|
842
|
+
if (Object.prototype.toString.call(newList) !== '[object Array]') {
|
843
|
+
return;
|
844
|
+
}
|
845
|
+
|
846
|
+
for (var i = 0; i < lastIdentifiers.length; i++) {
|
847
|
+
var identifier = lastIdentifiers[i];
|
848
|
+
var index = getIndexByIdentifier(identifier);
|
849
|
+
stylesInDom[index].references--;
|
850
|
+
}
|
851
|
+
|
852
|
+
var newLastIdentifiers = modulesToDom(newList, options);
|
853
|
+
|
854
|
+
for (var _i = 0; _i < lastIdentifiers.length; _i++) {
|
855
|
+
var _identifier = lastIdentifiers[_i];
|
856
|
+
|
857
|
+
var _index = getIndexByIdentifier(_identifier);
|
858
|
+
|
859
|
+
if (stylesInDom[_index].references === 0) {
|
860
|
+
stylesInDom[_index].updater();
|
861
|
+
|
862
|
+
stylesInDom.splice(_index, 1);
|
863
|
+
}
|
864
|
+
}
|
865
|
+
|
866
|
+
lastIdentifiers = newLastIdentifiers;
|
867
|
+
};
|
868
|
+
};
|
869
|
+
|
870
|
+
/***/ })
|
871
|
+
|
872
|
+
/******/ });
|
873
|
+
//# sourceMappingURL=application-080539f58098495f5fea.js.map
|