10 changed files with 176955 additions and 0 deletions
@ -0,0 +1,900 @@
|
||||
{ |
||||
"requires": true, |
||||
"lockfileVersion": 1, |
||||
"dependencies": { |
||||
"@fullhuman/postcss-purgecss": { |
||||
"version": "3.1.3", |
||||
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz", |
||||
"integrity": "sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==", |
||||
"requires": { |
||||
"purgecss": "^3.1.3" |
||||
} |
||||
}, |
||||
"@nodelib/fs.scandir": { |
||||
"version": "2.1.4", |
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", |
||||
"integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", |
||||
"requires": { |
||||
"@nodelib/fs.stat": "2.0.4", |
||||
"run-parallel": "^1.1.9" |
||||
} |
||||
}, |
||||
"@nodelib/fs.stat": { |
||||
"version": "2.0.4", |
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", |
||||
"integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" |
||||
}, |
||||
"@nodelib/fs.walk": { |
||||
"version": "1.2.6", |
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", |
||||
"integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", |
||||
"requires": { |
||||
"@nodelib/fs.scandir": "2.1.4", |
||||
"fastq": "^1.6.0" |
||||
} |
||||
}, |
||||
"@tailwindcss/forms": { |
||||
"version": "0.3.2", |
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.2.tgz", |
||||
"integrity": "sha512-aj2/rJsGb2whAZ/BQWHWWQRSbhH0r/l1ozOByiv+ZNjBD84GMvb5dhAyfpeasFky+EJrAwX5eaqft8NQMZFWvA==", |
||||
"requires": { |
||||
"mini-svg-data-uri": "^1.2.3" |
||||
} |
||||
}, |
||||
"acorn": { |
||||
"version": "7.4.1", |
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", |
||||
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" |
||||
}, |
||||
"acorn-node": { |
||||
"version": "1.8.2", |
||||
"resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", |
||||
"integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", |
||||
"requires": { |
||||
"acorn": "^7.0.0", |
||||
"acorn-walk": "^7.0.0", |
||||
"xtend": "^4.0.2" |
||||
} |
||||
}, |
||||
"acorn-walk": { |
||||
"version": "7.2.0", |
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", |
||||
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" |
||||
}, |
||||
"ansi-styles": { |
||||
"version": "4.3.0", |
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", |
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
||||
"requires": { |
||||
"color-convert": "^2.0.1" |
||||
} |
||||
}, |
||||
"anymatch": { |
||||
"version": "3.1.2", |
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", |
||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", |
||||
"requires": { |
||||
"normalize-path": "^3.0.0", |
||||
"picomatch": "^2.0.4" |
||||
} |
||||
}, |
||||
"at-least-node": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", |
||||
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" |
||||
}, |
||||
"autoprefixer": { |
||||
"version": "10.2.5", |
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz", |
||||
"integrity": "sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==", |
||||
"requires": { |
||||
"browserslist": "^4.16.3", |
||||
"caniuse-lite": "^1.0.30001196", |
||||
"colorette": "^1.2.2", |
||||
"fraction.js": "^4.0.13", |
||||
"normalize-range": "^0.1.2", |
||||
"postcss-value-parser": "^4.1.0" |
||||
} |
||||
}, |
||||
"balanced-match": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
||||
}, |
||||
"binary-extensions": { |
||||
"version": "2.2.0", |
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", |
||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" |
||||
}, |
||||
"brace-expansion": { |
||||
"version": "1.1.11", |
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", |
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", |
||||
"requires": { |
||||
"balanced-match": "^1.0.0", |
||||
"concat-map": "0.0.1" |
||||
} |
||||
}, |
||||
"braces": { |
||||
"version": "3.0.2", |
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", |
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", |
||||
"requires": { |
||||
"fill-range": "^7.0.1" |
||||
} |
||||
}, |
||||
"browserslist": { |
||||
"version": "4.16.5", |
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", |
||||
"integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", |
||||
"requires": { |
||||
"caniuse-lite": "^1.0.30001214", |
||||
"colorette": "^1.2.2", |
||||
"electron-to-chromium": "^1.3.719", |
||||
"escalade": "^3.1.1", |
||||
"node-releases": "^1.1.71" |
||||
} |
||||
}, |
||||
"bytes": { |
||||
"version": "3.1.0", |
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", |
||||
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" |
||||
}, |
||||
"camelcase-css": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", |
||||
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" |
||||
}, |
||||
"caniuse-lite": { |
||||
"version": "1.0.30001214", |
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz", |
||||
"integrity": "sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg==" |
||||
}, |
||||
"chalk": { |
||||
"version": "4.1.1", |
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", |
||||
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", |
||||
"requires": { |
||||
"ansi-styles": "^4.1.0", |
||||
"supports-color": "^7.1.0" |
||||
} |
||||
}, |
||||
"chokidar": { |
||||
"version": "3.5.1", |
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", |
||||
"integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", |
||||
"requires": { |
||||
"anymatch": "~3.1.1", |
||||
"braces": "~3.0.2", |
||||
"fsevents": "~2.3.1", |
||||
"glob-parent": "~5.1.0", |
||||
"is-binary-path": "~2.1.0", |
||||
"is-glob": "~4.0.1", |
||||
"normalize-path": "~3.0.0", |
||||
"readdirp": "~3.5.0" |
||||
} |
||||
}, |
||||
"color": { |
||||
"version": "3.1.3", |
||||
"resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", |
||||
"integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", |
||||
"requires": { |
||||
"color-convert": "^1.9.1", |
||||
"color-string": "^1.5.4" |
||||
}, |
||||
"dependencies": { |
||||
"color-convert": { |
||||
"version": "1.9.3", |
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", |
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", |
||||
"requires": { |
||||
"color-name": "1.1.3" |
||||
} |
||||
}, |
||||
"color-name": { |
||||
"version": "1.1.3", |
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", |
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" |
||||
} |
||||
} |
||||
}, |
||||
"color-convert": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", |
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", |
||||
"requires": { |
||||
"color-name": "~1.1.4" |
||||
} |
||||
}, |
||||
"color-name": { |
||||
"version": "1.1.4", |
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", |
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" |
||||
}, |
||||
"color-string": { |
||||
"version": "1.5.5", |
||||
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", |
||||
"integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", |
||||
"requires": { |
||||
"color-name": "^1.0.0", |
||||
"simple-swizzle": "^0.2.2" |
||||
} |
||||
}, |
||||
"colorette": { |
||||
"version": "1.2.2", |
||||
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", |
||||
"integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" |
||||
}, |
||||
"commander": { |
||||
"version": "6.2.1", |
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", |
||||
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" |
||||
}, |
||||
"concat-map": { |
||||
"version": "0.0.1", |
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" |
||||
}, |
||||
"css-unit-converter": { |
||||
"version": "1.1.2", |
||||
"resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", |
||||
"integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" |
||||
}, |
||||
"cssesc": { |
||||
"version": "3.0.0", |
||||
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", |
||||
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" |
||||
}, |
||||
"defined": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", |
||||
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" |
||||
}, |
||||
"detective": { |
||||
"version": "5.2.0", |
||||
"resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", |
||||
"integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", |
||||
"requires": { |
||||
"acorn-node": "^1.6.1", |
||||
"defined": "^1.0.0", |
||||
"minimist": "^1.1.1" |
||||
} |
||||
}, |
||||
"didyoumean": { |
||||
"version": "1.2.1", |
||||
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz", |
||||
"integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=" |
||||
}, |
||||
"dlv": { |
||||
"version": "1.1.3", |
||||
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", |
||||
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" |
||||
}, |
||||
"electron-to-chromium": { |
||||
"version": "1.3.720", |
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz", |
||||
"integrity": "sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw==" |
||||
}, |
||||
"escalade": { |
||||
"version": "3.1.1", |
||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", |
||||
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" |
||||
}, |
||||
"escape-string-regexp": { |
||||
"version": "1.0.5", |
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", |
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" |
||||
}, |
||||
"fast-glob": { |
||||
"version": "3.2.5", |
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", |
||||
"integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", |
||||
"requires": { |
||||
"@nodelib/fs.stat": "^2.0.2", |
||||
"@nodelib/fs.walk": "^1.2.3", |
||||
"glob-parent": "^5.1.0", |
||||
"merge2": "^1.3.0", |
||||
"micromatch": "^4.0.2", |
||||
"picomatch": "^2.2.1" |
||||
} |
||||
}, |
||||
"fastq": { |
||||
"version": "1.11.0", |
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", |
||||
"integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", |
||||
"requires": { |
||||
"reusify": "^1.0.4" |
||||
} |
||||
}, |
||||
"fill-range": { |
||||
"version": "7.0.1", |
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", |
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", |
||||
"requires": { |
||||
"to-regex-range": "^5.0.1" |
||||
} |
||||
}, |
||||
"fraction.js": { |
||||
"version": "4.0.13", |
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", |
||||
"integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==" |
||||
}, |
||||
"fs-extra": { |
||||
"version": "9.1.0", |
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", |
||||
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", |
||||
"requires": { |
||||
"at-least-node": "^1.0.0", |
||||
"graceful-fs": "^4.2.0", |
||||
"jsonfile": "^6.0.1", |
||||
"universalify": "^2.0.0" |
||||
} |
||||
}, |
||||
"fs.realpath": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" |
||||
}, |
||||
"fsevents": { |
||||
"version": "2.3.2", |
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", |
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", |
||||
"optional": true |
||||
}, |
||||
"function-bind": { |
||||
"version": "1.1.1", |
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", |
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" |
||||
}, |
||||
"glob": { |
||||
"version": "7.1.6", |
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", |
||||
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", |
||||
"requires": { |
||||
"fs.realpath": "^1.0.0", |
||||
"inflight": "^1.0.4", |
||||
"inherits": "2", |
||||
"minimatch": "^3.0.4", |
||||
"once": "^1.3.0", |
||||
"path-is-absolute": "^1.0.0" |
||||
} |
||||
}, |
||||
"glob-base": { |
||||
"version": "0.3.0", |
||||
"resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", |
||||
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", |
||||
"requires": { |
||||
"glob-parent": "^2.0.0", |
||||
"is-glob": "^2.0.0" |
||||
}, |
||||
"dependencies": { |
||||
"glob-parent": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", |
||||
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", |
||||
"requires": { |
||||
"is-glob": "^2.0.0" |
||||
} |
||||
}, |
||||
"is-extglob": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", |
||||
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" |
||||
}, |
||||
"is-glob": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", |
||||
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", |
||||
"requires": { |
||||
"is-extglob": "^1.0.0" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"glob-parent": { |
||||
"version": "5.1.2", |
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", |
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", |
||||
"requires": { |
||||
"is-glob": "^4.0.1" |
||||
} |
||||
}, |
||||
"graceful-fs": { |
||||
"version": "4.2.6", |
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", |
||||
"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" |
||||
}, |
||||
"has": { |
||||
"version": "1.0.3", |
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", |
||||
"requires": { |
||||
"function-bind": "^1.1.1" |
||||
} |
||||
}, |
||||
"has-flag": { |
||||
"version": "4.0.0", |
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" |
||||
}, |
||||
"html-tags": { |
||||
"version": "3.1.0", |
||||
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", |
||||
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" |
||||
}, |
||||
"inflight": { |
||||
"version": "1.0.6", |
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", |
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", |
||||
"requires": { |
||||
"once": "^1.3.0", |
||||
"wrappy": "1" |
||||
} |
||||
}, |
||||
"inherits": { |
||||
"version": "2.0.4", |
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
||||
}, |
||||
"is-arrayish": { |
||||
"version": "0.3.2", |
||||
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", |
||||
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" |
||||
}, |
||||
"is-binary-path": { |
||||
"version": "2.1.0", |
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", |
||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", |
||||
"requires": { |
||||
"binary-extensions": "^2.0.0" |
||||
} |
||||
}, |
||||
"is-core-module": { |
||||
"version": "2.2.0", |
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", |
||||
"integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", |
||||
"requires": { |
||||
"has": "^1.0.3" |
||||
} |
||||
}, |
||||
"is-dotfile": { |
||||
"version": "1.0.3", |
||||
"resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", |
||||
"integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" |
||||
}, |
||||
"is-extglob": { |
||||
"version": "2.1.1", |
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", |
||||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" |
||||
}, |
||||
"is-glob": { |
||||
"version": "4.0.1", |
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", |
||||
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", |
||||
"requires": { |
||||
"is-extglob": "^2.1.1" |
||||
} |
||||
}, |
||||
"is-number": { |
||||
"version": "7.0.0", |
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", |
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" |
||||
}, |
||||
"jsonfile": { |
||||
"version": "6.1.0", |
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", |
||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", |
||||
"requires": { |
||||
"graceful-fs": "^4.1.6", |
||||
"universalify": "^2.0.0" |
||||
} |
||||
}, |
||||
"lodash": { |
||||
"version": "4.17.21", |
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", |
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" |
||||
}, |
||||
"lodash.toarray": { |
||||
"version": "4.4.0", |
||||
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", |
||||
"integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" |
||||
}, |
||||
"lodash.topath": { |
||||
"version": "4.5.2", |
||||
"resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", |
||||
"integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" |
||||
}, |
||||
"merge2": { |
||||
"version": "1.4.1", |
||||
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", |
||||
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" |
||||
}, |
||||
"micromatch": { |
||||
"version": "4.0.4", |
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", |
||||
"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", |
||||
"requires": { |
||||
"braces": "^3.0.1", |
||||
"picomatch": "^2.2.3" |
||||
} |
||||
}, |
||||
"mini-svg-data-uri": { |
||||
"version": "1.2.3", |
||||
"resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.2.3.tgz", |
||||
"integrity": "sha512-zd6KCAyXgmq6FV1mR10oKXYtvmA9vRoB6xPSTUJTbFApCtkefDnYueVR1gkof3KcdLZo1Y8mjF2DFmQMIxsHNQ==" |
||||
}, |
||||
"minimatch": { |
||||
"version": "3.0.4", |
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", |
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", |
||||
"requires": { |
||||
"brace-expansion": "^1.1.7" |
||||
} |
||||
}, |
||||
"minimist": { |
||||
"version": "1.2.5", |
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", |
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" |
||||
}, |
||||
"modern-normalize": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.0.0.tgz", |
||||
"integrity": "sha512-1lM+BMLGuDfsdwf3rsgBSrxJwAZHFIrQ8YR61xIqdHo0uNKI9M52wNpHSrliZATJp51On6JD0AfRxd4YGSU0lw==" |
||||
}, |
||||
"nanoid": { |
||||
"version": "3.1.22", |
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", |
||||
"integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==" |
||||
}, |
||||
"node-emoji": { |
||||
"version": "1.10.0", |
||||
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", |
||||
"integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", |
||||
"requires": { |
||||
"lodash.toarray": "^4.4.0" |
||||
} |
||||
}, |
||||
"node-releases": { |
||||
"version": "1.1.71", |
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", |
||||
"integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" |
||||
}, |
||||
"normalize-path": { |
||||
"version": "3.0.0", |
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", |
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" |
||||
}, |
||||
"normalize-range": { |
||||
"version": "0.1.2", |
||||
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", |
||||
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" |
||||
}, |
||||
"object-assign": { |
||||
"version": "4.1.1", |
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" |
||||
}, |
||||
"object-hash": { |
||||
"version": "2.1.1", |
||||
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.1.1.tgz", |
||||
"integrity": "sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==" |
||||
}, |
||||
"once": { |
||||
"version": "1.4.0", |
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", |
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", |
||||
"requires": { |
||||
"wrappy": "1" |
||||
} |
||||
}, |
||||
"parse-glob": { |
||||
"version": "3.0.4", |
||||
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", |
||||
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", |
||||
"requires": { |
||||
"glob-base": "^0.3.0", |
||||
"is-dotfile": "^1.0.0", |
||||
"is-extglob": "^1.0.0", |
||||
"is-glob": "^2.0.0" |
||||
}, |
||||
"dependencies": { |
||||
"is-extglob": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", |
||||
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" |
||||
}, |
||||
"is-glob": { |
||||
"version": "2.0.1", |
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", |
||||
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", |
||||
"requires": { |
||||
"is-extglob": "^1.0.0" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"path-is-absolute": { |
||||
"version": "1.0.1", |
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" |
||||
}, |
||||
"path-parse": { |
||||
"version": "1.0.6", |
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", |
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" |
||||
}, |
||||
"picomatch": { |
||||
"version": "2.2.3", |
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", |
||||
"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" |
||||
}, |
||||
"postcss": { |
||||
"version": "8.2.12", |
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.12.tgz", |
||||
"integrity": "sha512-BJnGT5+0q2tzvs6oQfnY2NpEJ7rIXNfBnZtQOKCIsweeWXBXeDd5k31UgTdS3d/c02ouspufn37mTaHWkJyzMQ==", |
||||
"requires": { |
||||
"colorette": "^1.2.2", |
||||
"nanoid": "^3.1.22", |
||||
"source-map": "^0.6.1" |
||||
} |
||||
}, |
||||
"postcss-functions": { |
||||
"version": "3.0.0", |
||||
"resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", |
||||
"integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=", |
||||
"requires": { |
||||
"glob": "^7.1.2", |
||||
"object-assign": "^4.1.1", |
||||
"postcss": "^6.0.9", |
||||
"postcss-value-parser": "^3.3.0" |
||||
}, |
||||
"dependencies": { |
||||
"ansi-styles": { |
||||
"version": "3.2.1", |
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", |
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", |
||||
"requires": { |
||||
"color-convert": "^1.9.0" |
||||
} |
||||
}, |
||||
"chalk": { |
||||
"version": "2.4.2", |
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", |
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", |
||||
"requires": { |
||||
"ansi-styles": "^3.2.1", |
||||
"escape-string-regexp": "^1.0.5", |
||||
"supports-color": "^5.3.0" |
||||
} |
||||
}, |
||||
"color-convert": { |
||||
"version": "1.9.3", |
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", |
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", |
||||
"requires": { |
||||
"color-name": "1.1.3" |
||||
} |
||||
}, |
||||
"color-name": { |
||||
"version": "1.1.3", |
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", |
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" |
||||
}, |
||||
"has-flag": { |
||||
"version": "3.0.0", |
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", |
||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" |
||||
}, |
||||
"postcss": { |
||||
"version": "6.0.23", |
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", |
||||
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", |
||||
"requires": { |
||||
"chalk": "^2.4.1", |
||||
"source-map": "^0.6.1", |
||||
"supports-color": "^5.4.0" |
||||
} |
||||
}, |
||||
"postcss-value-parser": { |
||||
"version": "3.3.1", |
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", |
||||
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" |
||||
}, |
||||
"supports-color": { |
||||
"version": "5.5.0", |
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", |
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", |
||||
"requires": { |
||||
"has-flag": "^3.0.0" |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"postcss-js": { |
||||
"version": "3.0.3", |
||||
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", |
||||
"integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", |
||||
"requires": { |
||||
"camelcase-css": "^2.0.1", |
||||
"postcss": "^8.1.6" |
||||
} |
||||
}, |
||||
"postcss-nested": { |
||||
"version": "5.0.5", |
||||
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.5.tgz", |
||||
"integrity": "sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==", |
||||
"requires": { |
||||
"postcss-selector-parser": "^6.0.4" |
||||
} |
||||
}, |
||||
"postcss-selector-parser": { |
||||
"version": "6.0.5", |
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", |
||||
"integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", |
||||
"requires": { |
||||
"cssesc": "^3.0.0", |
||||
"util-deprecate": "^1.0.2" |
||||
} |
||||
}, |
||||
"postcss-value-parser": { |
||||
"version": "4.1.0", |
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", |
||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" |
||||
}, |
||||
"pretty-hrtime": { |
||||
"version": "1.0.3", |
||||
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", |
||||
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" |
||||
}, |
||||
"purgecss": { |
||||
"version": "3.1.3", |
||||
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-3.1.3.tgz", |
||||
"integrity": "sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==", |
||||
"requires": { |
||||
"commander": "^6.0.0", |
||||
"glob": "^7.0.0", |
||||
"postcss": "^8.2.1", |
||||
"postcss-selector-parser": "^6.0.2" |
||||
} |
||||
}, |
||||
"queue-microtask": { |
||||
"version": "1.2.3", |
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", |
||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" |
||||
}, |
||||
"quick-lru": { |
||||
"version": "5.1.1", |
||||
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", |
||||
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" |
||||
}, |
||||
"readdirp": { |
||||
"version": "3.5.0", |
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", |
||||
"integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", |
||||
"requires": { |
||||
"picomatch": "^2.2.1" |
||||
} |
||||
}, |
||||
"reduce-css-calc": { |
||||
"version": "2.1.8", |
||||
"resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", |
||||
"integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", |
||||
"requires": { |
||||
"css-unit-converter": "^1.1.1", |
||||
"postcss-value-parser": "^3.3.0" |
||||
}, |
||||
"dependencies": { |
||||
"postcss-value-parser": { |
||||
"version": "3.3.1", |
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", |
||||
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" |
||||
} |
||||
} |
||||
}, |
||||
"resolve": { |
||||
"version": "1.20.0", |
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", |
||||
"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", |
||||
"requires": { |
||||
"is-core-module": "^2.2.0", |
||||
"path-parse": "^1.0.6" |
||||
} |
||||
}, |
||||
"reusify": { |
||||
"version": "1.0.4", |
||||
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", |
||||
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" |
||||
}, |
||||
"run-parallel": { |
||||
"version": "1.2.0", |
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", |
||||
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", |
||||
"requires": { |
||||
"queue-microtask": "^1.2.2" |
||||
} |
||||
}, |
||||
"simple-swizzle": { |
||||
"version": "0.2.2", |
||||
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", |
||||
"integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", |
||||
"requires": { |
||||
"is-arrayish": "^0.3.1" |
||||
} |
||||
}, |
||||
"source-map": { |
||||
"version": "0.6.1", |
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" |
||||
}, |
||||
"supports-color": { |
||||
"version": "7.2.0", |
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
||||
"requires": { |
||||
"has-flag": "^4.0.0" |
||||
} |
||||
}, |
||||
"tailwindcss": { |
||||
"version": "2.1.1", |
||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.1.1.tgz", |
||||
"integrity": "sha512-zZ6axGqpSZOCBS7wITm/WNHkBzDt5CIZlDlx0eCVldwTxFPELCVGbgh7Xpb3/kZp3cUxOmK7bZUjqhuMrbN6xQ==", |
||||
"requires": { |
||||
"@fullhuman/postcss-purgecss": "^3.1.3", |
||||
"bytes": "^3.0.0", |
||||
"chalk": "^4.1.0", |
||||
"chokidar": "^3.5.1", |
||||
"color": "^3.1.3", |
||||
"detective": "^5.2.0", |
||||
"didyoumean": "^1.2.1", |
||||
"dlv": "^1.1.3", |
||||
"fast-glob": "^3.2.5", |
||||
"fs-extra": "^9.1.0", |
||||
"html-tags": "^3.1.0", |
||||
"lodash": "^4.17.21", |
||||
"lodash.topath": "^4.5.2", |
||||
"modern-normalize": "^1.0.0", |
||||
"node-emoji": "^1.8.1", |
||||
"normalize-path": "^3.0.0", |
||||
"object-hash": "^2.1.1", |
||||
"parse-glob": "^3.0.4", |
||||
"postcss-functions": "^3", |
||||
"postcss-js": "^3.0.3", |
||||
"postcss-nested": "5.0.5", |
||||
"postcss-selector-parser": "^6.0.4", |
||||
"postcss-value-parser": "^4.1.0", |
||||
"pretty-hrtime": "^1.0.3", |
||||
"quick-lru": "^5.1.1", |
||||
"reduce-css-calc": "^2.1.8", |
||||
"resolve": "^1.20.0" |
||||
} |
||||
}, |
||||
"to-regex-range": { |
||||
"version": "5.0.1", |
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", |
||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", |
||||
"requires": { |
||||
"is-number": "^7.0.0" |
||||
} |
||||
}, |
||||
"universalify": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", |
||||
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" |
||||
}, |
||||
"util-deprecate": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", |
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" |
||||
}, |
||||
"wrappy": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" |
||||
}, |
||||
"xtend": { |
||||
"version": "4.0.2", |
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", |
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,16 @@
|
||||
click==7.1.2 |
||||
Flask==1.1.2 |
||||
Flask-WTF==0.14.3 |
||||
itsdangerous==1.1.0 |
||||
Jinja2==2.11.3 |
||||
MarkupSafe==1.1.1 |
||||
mccabe==0.6.1 |
||||
pycodestyle==2.7.0 |
||||
pydocstyle==6.0.0 |
||||
pyflakes==2.3.1 |
||||
pylama==7.7.1 |
||||
rethinkdb==2.4.8 |
||||
six==1.15.0 |
||||
snowballstemmer==2.1.0 |
||||
Werkzeug==1.0.1 |
||||
WTForms==2.3.3 |
@ -0,0 +1,99 @@
|
||||
from flask import Flask, render_template, g, request, url_for, flash, redirect, session |
||||
from rethinkdb import r |
||||
from rethinkdb.errors import RqlRuntimeError, RqlDriverError |
||||
from werkzeug.exceptions import abort |
||||
from werkzeug.security import generate_password_hash, check_password_hash |
||||
|
||||
app = Flask(__name__) |
||||
app.config.from_envvar("ENVIRONMENTFILE") |
||||
|
||||
|
||||
def dbSetup(): |
||||
connection = r.connect( |
||||
host=app.config.get("RDB_HOST"), port=app.config.get("RDB_PORT") |
||||
) |
||||
try: |
||||
r.db_create(app.config.get("RDB_DB")).run(connection) |
||||
r.db(app.config.get("RDB_DB")).table_create("cspreport").run(connection) |
||||
r.db(app.config.get("RDB_DB")).table_create("users").run(connection) |
||||
r.db(app.config.get("RDB_DB")).table_create("website").run(connection) |
||||
print("Database setup completed") |
||||
except RqlRuntimeError: |
||||
print("Database already exists.") |
||||
finally: |
||||
connection.close() |
||||
|
||||
|
||||
dbSetup() |
||||
|
||||
|
||||
@app.before_request |
||||
def before_request(): |
||||
try: |
||||
g.rdb_conn = r.connect( |
||||
host=app.config.get("RDB_HOST"), |
||||
port=app.config.get("RDB_PORT"), |
||||
db=app.config.get("RDB_DB"), |
||||
) |
||||
except RqlDriverError: |
||||
abort(503, "Database connection could be established.") |
||||
|
||||
|
||||
@app.teardown_request |
||||
def teardown_request(exception): |
||||
try: |
||||
g.rdb_conn.close() |
||||
except AttributeError: |
||||
pass |
||||
|
||||
|
||||
@app.route("/") |
||||
def index(): |
||||
return render_template("index.html") |
||||
|
||||
|
||||
@app.route("/register", methods=("GET", "POST")) |
||||
def register(): |
||||
""" |
||||
csp = list(r.table("cspreport").run(g.rdb_conn)) |
||||
""" |
||||
if request.method == "POST": |
||||
login = request.form["login"] |
||||
email = request.form["email"] |
||||
password = request.form["password"] |
||||
if not login or not password or not email: |
||||
flash("Missing field") |
||||
else: |
||||
r.table("users").insert( |
||||
{ |
||||
"login": login, |
||||
"email": email, |
||||
"password": generate_password_hash(password), |
||||
} |
||||
).run(g.rdb_conn) |
||||
return redirect("/login", code=302) |
||||
return render_template("register.html") |
||||
|
||||
|
||||
@app.route("/login", methods=("GET", "POST")) |
||||
def login(): |
||||
""" |
||||
csp = list(r.table("cspreport").run(g.rdb_conn)) |
||||
""" |
||||
if request.method == "POST": |
||||
login = request.form["login"] |
||||
password = request.form["password"] |
||||
if not login or not password: |
||||
flash("Missing field") |
||||
else: |
||||
users = r.table("users").filter({"login": login}).run(g.rdb_conn) |
||||
for user in users: |
||||
if check_password_hash(user["password"], password): |
||||
session["login"] = login |
||||
session["id"] = user["id"] |
||||
return redirect("/manager", code=302) |
||||
return render_template("login.html") |
||||
|
||||
@app.route("/manager") |
||||
def manager(): |
||||
return render_template("index.html") |
@ -0,0 +1,157 @@
|
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8"> |
||||
<meta name="viewport" content= "width=device-width, initial-scale=1, shrink-to-fit=no"> |
||||
<link rel="stylesheet" href="{{ url_for('static', filename= 'css/style.css') }}"> |
||||
<title>{% block title %} {% endblock %}</title> |
||||
</head> |
||||
<body> |
||||
|
||||
<!-- SECTION: Navbar Block 3 --> |
||||
<section class="w-full bg-gray-900 text-white "> |
||||
<nav class="flex flex-col items-center justify-between mx-auto p-8 md:flex-row lg:w-5/6 xl:3/4"> |
||||
<!-- SECTION : Logo --> |
||||
<div class="mr-4 mb-4 md:mb-0 flex bg-red-500 items-center justify-center rounded-full w-8 h-8 sm:w-12 sm:h-12"> |
||||
<svg |
||||
class="fill-current inline-block h-4 text-white " |
||||
viewBox="0 0 441 308" |
||||
fill="none" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
> |
||||
<path |
||||
fill-rule="evenodd" |
||||
clip-rule="evenodd" |
||||
d="M154.404 267.999C154.269 268 154.135 268 154 268C91.0395 268 40 216.96 40 154C40 91.0395 91.0395 40 154 40C206.215 40 250.231 75.1045 263.734 123H304.879C290.533 52.8067 228.433 0 154 0C68.9482 0 0 68.9482 0 154C0 239.052 68.9482 308 154 308H441V268H154.404L154.404 267.999ZM441 234L152 234V233.9C151.983 233.9 151.967 233.9 151.95 233.9C108.347 233.9 73 198.553 73 154.95C73 111.347 108.347 76 151.95 76C184.181 76 211.901 95.3141 224.168 123H174.233C167.919 118.588 160.237 116 151.95 116C130.438 116 113 133.438 113 154.95C113 176.144 129.927 193.384 151 193.888V194H152H220.581L441 194V234Z" |
||||
/> |
||||
</svg> |
||||
</div> |
||||
<!-- !SECTION : Logo --> |
||||
<!-- SECTION : Items --> |
||||
<ul class="flex w-full md:w-1/3 items-center justify-between uppercase"> |
||||
<!-- SECTION : Link 1 --> |
||||
<li> |
||||
<a href="" class="transition-colors duration-150 ease-in-out hover:text-red-500" >About</a> |
||||
</li> |
||||
<li> |
||||
<a href="" class="transition-colors duration-150 ease-in-out hover:text-red-500 ">Contact</a> |
||||
</li> |
||||
<li> |
||||
<a href="/login"> |
||||
<button class="px-6 h-16 hover:bg-red-600 bg-red-500 focus:ring-red-300 text-white ring ring-transparent text-xl shadow-md rounded-md uppercase font-semibold focus:outline-none">Login</button> |
||||
</a> |
||||
</li> |
||||
</ul> |
||||
<!-- !SECTION : Items --> |
||||
</nav> |
||||
</section> |
||||
<!-- !SECTION: Navbar Block 3 --> |
||||
{% block content %} {% endblock %} |
||||
|
||||
<!-- SECTION: Footer 3 --> |
||||
<section |
||||
class="flex py-8 w-full h-full bg-gray-900 text-white " |
||||
> |
||||
<div class="w-3/4 items-center mx-auto flex flex-col"> |
||||
<!-- SECTION: Content --> |
||||
<div class="flex flex-col w-full"> |
||||
<div |
||||
class="flex items-center flex-col lg:flex-row w-full border-b border-gray-200 pb-8 justify-between" |
||||
> |
||||
<!-- !SECTION: CTA --> |
||||
<h2 |
||||
class="font-light text-center text-4xl mb-4 lg:mb-0 font-serif" |
||||
> |
||||
Unlock your full potential. |
||||
</h2> |
||||
<!-- SECTION: Button --> |
||||
<button |
||||
class="px-6 h-16 text-white hover:bg-red-600 bg-red-500 ring focus:ring-red-300 ring-transparent text-xl shadow-md rounded-md uppercase font-semibold focus:outline-none" |
||||
> |
||||
Subscribe |
||||
</button> |
||||
<!-- !SECTION: Button --> |
||||
<!-- !SECTION: CTA --> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Content --> |
||||
<div class="w-full mt-4"> |
||||
<!-- SECTION : Logo --> |
||||
<div |
||||
class="flex flex-col md:flex-row w-full justify-between px-8 items-center" |
||||
> |
||||
<div |
||||
class="flex flex-col sm:flex-row w-auto items-center mb-4 lg:mb-0" |
||||
> |
||||
<div |
||||
class="flex items-center justify-center rounded-full w-12 h-12 bg-red-500 " |
||||
> |
||||
<svg |
||||
class="fill-current inline-block h-4 text-white " |
||||
viewBox="0 0 441 308" |
||||
fill="none" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
> |
||||
<path |
||||
fill-rule="evenodd" |
||||
clip-rule="evenodd" |
||||
d="M154.404 267.999C154.269 268 154.135 268 154 268C91.0395 268 40 216.96 40 154C40 91.0395 91.0395 40 154 40C206.215 40 250.231 75.1045 263.734 123H304.879C290.533 52.8067 228.433 0 154 0C68.9482 0 0 68.9482 0 154C0 239.052 68.9482 308 154 308H441V268H154.404L154.404 267.999ZM441 234L152 234V233.9C151.983 233.9 151.967 233.9 151.95 233.9C108.347 233.9 73 198.553 73 154.95C73 111.347 108.347 76 151.95 76C184.181 76 211.901 95.3141 224.168 123H174.233C167.919 118.588 160.237 116 151.95 116C130.438 116 113 133.438 113 154.95C113 176.144 129.927 193.384 151 193.888V194H152H220.581L441 194V234Z" |
||||
/> |
||||
</svg> |
||||
</div> |
||||
<p class="text-xs flex-1 text-center px-4 text-gray-400"> |
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sit |
||||
perferendis ad minima magni. |
||||
</p> |
||||
</div> |
||||
<div class="justify-end flex flex-col sm:flex-row items-center"> |
||||
<p class="text-xs px-2 text-gray-400 text-center"> |
||||
Your Copyright |
||||
</p> |
||||
<!-- SECTION: Social --> |
||||
<div class="flex justify-between items-center"> |
||||
<svg |
||||
class="w-8 fill-current text-red-500" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
width="24" |
||||
height="24" |
||||
viewBox="0 0 24 24" |
||||
> |
||||
<path |
||||
d="M0 0v24h24v-24h-24zm18.862 9.237c.208 4.617-3.235 9.765-9.33 9.765-1.854 0-3.579-.543-5.032-1.475 1.742.205 3.48-.278 4.86-1.359-1.437-.027-2.649-.976-3.066-2.28.515.098 1.021.069 1.482-.056-1.579-.317-2.668-1.739-2.633-3.26.442.246.949.394 1.486.411-1.461-.977-1.875-2.907-1.016-4.383 1.619 1.986 4.038 3.293 6.766 3.43-.479-2.053 1.079-4.03 3.198-4.03.944 0 1.797.398 2.396 1.037.748-.147 1.451-.42 2.085-.796-.245.767-.766 1.41-1.443 1.816.664-.08 1.297-.256 1.885-.517-.44.656-.997 1.234-1.638 1.697z" |
||||
/> |
||||
</svg> |
||||
<svg |
||||
class="w-8 fill-current text-red-500" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
width="24" |
||||
height="24" |
||||
viewBox="0 0 24 24" |
||||
> |
||||
<path |
||||
d="M22.675 0h-21.35c-.732 0-1.325.593-1.325 1.325v21.351c0 .731.593 1.324 1.325 1.324h11.495v-9.294h-3.128v-3.622h3.128v-2.671c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24l-1.918.001c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12v9.293h6.116c.73 0 1.323-.593 1.323-1.325v-21.35c0-.732-.593-1.325-1.325-1.325z" |
||||
/> |
||||
</svg> |
||||
<svg |
||||
class="w-8 fill-current text-red-500 " |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
width="24" |
||||
height="24" |
||||
viewBox="0 0 24 24" |
||||
> |
||||
<path |
||||
d="M0 0v24h24v-24h-24zm8 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.397-2.586 7-2.777 7 2.476v6.759z" |
||||
/> |
||||
</svg> |
||||
</div> |
||||
<!-- !SECTION: Social --> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION : Logo --> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
<!-- !SECTION: Footer 3 --> |
||||
|
||||
</body> |
||||
</html> |
@ -0,0 +1,157 @@
|
||||
{% extends 'base.html' %} |
||||
|
||||
{% block content %} |
||||
|
||||
<!-- SECTION: CTA 2 --> |
||||
<div |
||||
class="flex flex-col justify-center items-center md:p-8 mx-auto text-center w-full bg-gray-900 text-white " |
||||
> |
||||
<h1 class="text-5xl md:text-9xl leading-none text"> |
||||
CSP <br /> |
||||
<span |
||||
class="bg-gradient-to-r bg-clip-text bg-red-500 text-transparent font-bold" |
||||
>Reporter</span |
||||
> |
||||
</h1> |
||||
<h2 class="md:text-2xl w-full md:w-3/4 py-8 text-justify"> |
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. A quaerat |
||||
delectus optio reprehenderit aperiam! |
||||
</h2> |
||||
<div class="flex flex-col md:flex-row py-4 w-full justify-center"> |
||||
<button |
||||
class="px-6 text-white hover:bg-red-600 bg-red-500 focus:ring-red-300 w-full md:w-auto mb-4 md:mb-0 md:mr-2 h-16 ring ring-transparent text-xl shadow-md rounded-md uppercase font-semibold focus:outline-none" |
||||
> |
||||
Subscribe |
||||
</button> |
||||
<button |
||||
class="px-6 ring border-red-500 hover:bg-red-600 text-red-500 focus:ring-red-300 ring-transparent h-16 border text-xl rounded-md uppercase bg-gradient-to-br from-transparent to-transparent hover:text-white font-semibold focus:outline-none" |
||||
> |
||||
Read More |
||||
</button> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: CTA 2 --> |
||||
|
||||
|
||||
<!-- SECTION: Content Block 1 --> |
||||
<section |
||||
class="w-full py-8 bg-gray-900 text-white " |
||||
> |
||||
<div class="mx-auto w-3/4 flex flex-col items-center"> |
||||
<h1 |
||||
class="text-3xl text-center lg:text-left lg:text-5xl mb-4 lg:mb-16" |
||||
> |
||||
Lorem, ipsum dolor. |
||||
</h1> |
||||
<!-- SECTION: Cards --> |
||||
<div class="flex flex-col lg:flex-row w-full justify-between"> |
||||
<!-- SECTION: Card --> |
||||
<div class="md:p-4 lg:w-1/3"> |
||||
<div |
||||
class="shadow-lg p-4 flex flex-col rounded-md bg-gray-800 " |
||||
> |
||||
<!-- SECTION: Badge --> |
||||
<div class="flex w-full"> |
||||
<div |
||||
class="flex bg-gradient-to-br from-yellow-300 to-yellow-500 text-white justify-center items-center rounded-md w-12 h-12 text-xs px-2 font-semibold" |
||||
> |
||||
<svg |
||||
class="w-8" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
fill="none" |
||||
viewBox="0 0 24 24" |
||||
stroke="currentColor" |
||||
> |
||||
<path |
||||
stroke-linecap="round" |
||||
stroke-linejoin="round" |
||||
stroke-width="2" |
||||
d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z" |
||||
/> |
||||
</svg> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Badge --> |
||||
<h2 class="font-semibold text-2xl py-2">Discount</h2> |
||||
<p class="text-gray-400"> |
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. |
||||
Repudiandae rem qui odit. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Card --> |
||||
<!-- SECTION: Card --> |
||||
<div class="md:p-4 lg:w-1/3"> |
||||
<div class="p-4 flex flex-col rounded-md"> |
||||
<!-- SECTION: Badge --> |
||||
<div class="flex w-full"> |
||||
<div |
||||
class="flex bg-gradient-to-br from-blue-500 to-purple-600 text-white justify-center items-center rounded-md w-12 h-12 text-xs px-2 font-semibold" |
||||
> |
||||
<svg |
||||
class="w-8" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
fill="none" |
||||
viewBox="0 0 24 24" |
||||
stroke="currentColor" |
||||
> |
||||
<path |
||||
stroke-linecap="round" |
||||
stroke-linejoin="round" |
||||
stroke-width="2" |
||||
d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" |
||||
/> |
||||
</svg> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Badge --> |
||||
<h2 class="font-semibold text-2xl py-2">Premium Service</h2> |
||||
<p class="text-gray-400"> |
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. |
||||
Repudiandae rem qui odit. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Card --> |
||||
<!-- SECTION: Card --> |
||||
<div class="md:p-4 lg:w-1/3"> |
||||
<div class="p-4 flex flex-col rounded-md"> |
||||
<!-- SECTION: Badge --> |
||||
<div class="flex w-full"> |
||||
<div |
||||
class="flex bg-green-400 text-white justify-center items-center rounded-md w-12 h-12 text-xs px-2 font-semibold" |
||||
> |
||||
<svg |
||||
class="w-8" |
||||
xmlns="http://www.w3.org/2000/svg" |
||||
fill="none" |
||||
viewBox="0 0 24 24" |
||||
stroke="currentColor" |
||||
> |
||||
<path |
||||
stroke-linecap="round" |
||||
stroke-linejoin="round" |
||||
stroke-width="2" |
||||
d="M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z" |
||||
/> |
||||
</svg> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Badge --> |
||||
<h2 class="font-semibold text-2xl py-2">Notifications</h2> |
||||
<p class="text-gray-400"> |
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. |
||||
Repudiandae rem qui odit. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
<!-- !SECTION: Card --> |
||||
</div> |
||||
<!-- !SECTION: Cards --> |
||||
</div> |
||||
</section> |
||||
<!-- !SECTION: Content Block 1 --> |
||||
|
||||
|
||||
|
||||
{% endblock %} |
@ -0,0 +1,37 @@
|
||||
{% extends 'base.html' %} |
||||
|
||||
{% block content %} |
||||
|
||||
<!-- SECTION: Content Block 1 --> |
||||
<section |
||||
class="w-full py-8 bg-gray-900 text-white " |
||||
> |
||||
<div class="mx-auto w-3/4 flex flex-col items-center"> |
||||
<h1 |
||||
class="text-3xl text-center lg:text-left lg:text-5xl mb-4 lg:mb-16" |
||||
> |
||||
Bon retour par minou |
||||
</h1> |
||||
</div> |
||||
<div class="flex flex-col justify-center items-center md:p-8 mx-auto w-full bg-gray-900 text-gray-800"> |
||||
{% for message in get_flashed_messages() %} |
||||
<div class="pt-2 px-24 h-11 mb-10 ring ring-transparent text-xl justify-center mx-auto rounded-md text-red-100 bg-red-500">{{ message }}</div> |
||||
{% endfor %} |
||||
<form action="" method="post" class="grid grid-cols-1 gap-6 w-3/1"> |
||||
<label class="block"> |
||||
<span class="text-white">Login</span> |
||||
<input type="text" name="login" class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder="" value="{{ request.form['login'] }}"> |
||||
</label> |
||||
<label class="block"> |
||||
<span class="text-white">Password</span> |
||||
<input type="password" name="password" class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder=""> |
||||
</label> |
||||
<button class="px-6 h-16 hover:bg-red-600 bg-red-500 focus:ring-red-300 text-white ring ring-transparent text-xl shadow-md rounded-md uppercase font-semibold focus:outline-none" type="submit"> |
||||
Login |
||||
</button> |
||||
|
||||
</form> |
||||
<a class="pt-2 text-gray-300" href="/register">No account ? Register</a> |
||||
</div> |
||||
</section> |
||||
{% endblock %} |
@ -0,0 +1,41 @@
|
||||
{% extends 'base.html' %} |
||||
|
||||
{% block content %} |
||||
|
||||
<!-- SECTION: Content Block 1 --> |
||||
<section |
||||
class="w-full py-8 bg-gray-900 text-white " |
||||
> |
||||
<div class="mx-auto w-3/4 flex flex-col items-center"> |
||||
<h1 |
||||
class="text-3xl text-center lg:text-left lg:text-5xl mb-4 lg:mb-16" |
||||
> |
||||
Bienvenu |
||||
</h1> |
||||
</div> |
||||
<div class="flex flex-col justify-center items-center md:p-8 mx-auto w-full bg-gray-900 text-gray-800"> |
||||
{% for message in get_flashed_messages() %} |
||||
<div class="pt-2 px-24 h-11 mb-10 ring ring-transparent text-xl justify-center mx-auto rounded-md text-red-100 bg-red-500">{{ message }}</div> |
||||
{% endfor %} |
||||
<form action="" method="post" class="grid grid-cols-1 gap-6 w-3/1"> |
||||
<label class="block"> |
||||
<span class="text-white">Login</span> |
||||
<input type="text" name="login" class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder="" value="{{ request.form['login'] }}"> |
||||
</label> |
||||
<label class="block"> |
||||
<span class="text-white">Password</span> |
||||
<input type="password" name="password" class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder=""> |
||||
</label> |
||||
<label class="block"> |
||||
<span class="text-white">Email</span> |
||||
<input type="email" name="email" class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50" placeholder="" value="{{ request.form['email'] }}"> |
||||
</label> |
||||
<button class="px-6 h-16 hover:bg-red-600 bg-red-500 focus:ring-red-300 text-white ring ring-transparent text-xl shadow-md rounded-md uppercase font-semibold focus:outline-none" type="submit"> |
||||
Register |
||||
</button> |
||||
|
||||
</form> |
||||
<a class="pt-2 text-gray-300" href="/register">No account ? Register</a> |
||||
</div> |
||||
</section> |
||||
{% endblock %} |
Loading…
Reference in new issue