diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000000..ed3c94cb0e1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "go-feature-flag", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index ee6441afabe..5443d752601 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -16,6 +16,19 @@ const config = { organizationName: 'thomaspoignant', projectName: 'go-feature-flag', trailingSlash: false, + plugins: [ + async function myPlugin(context, options) { + return { + name: 'docusaurus-tailwindcss', + configurePostCss(postcssOptions) { + // Appends TailwindCSS and AutoPrefixer. + postcssOptions.plugins.push(require('tailwindcss')); + postcssOptions.plugins.push(require('autoprefixer')); + return postcssOptions; + }, + }; + }, + ], customFields: { description: @@ -68,7 +81,6 @@ const config = { customCss: [ require.resolve('./src/css/custom.css'), require.resolve('./src/css/pushy-buttons.css'), //https://github.com/iRaul/pushy-buttons - require.resolve('./src/css/simplegrid.css'), //https://thisisdallas.github.io/Simple-Grid/ ], }, sitemap: { @@ -306,7 +318,7 @@ const config = { 'csharp', 'yaml', 'python', - 'ruby' + 'ruby', ], }, }), diff --git a/website/package-lock.json b/website/package-lock.json index c6b448eded5..9a3b1ce8909 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -17,11 +17,13 @@ "@mdx-js/react": "^3.0.0", "@react-querybuilder/dnd": "^6.5.4", "@uiw/react-textarea-code-editor": "^2.1.1", + "autoprefixer": "^10.4.20", "clsx": "^1.2.1", "core-js": "^3.29.1", "json2toml": "^4.0.1", "lodash": "^4.17.21", "mobx": "^6.9.0", + "postcss": "^8.4.47", "prism-react-renderer": "^2.1.0", "prop-types": "^15.8.1", "react": "^18.2.15", @@ -31,6 +33,7 @@ "react-dom": "^18.2.15", "react-highlight": "^0.15.0", "react-hook-form": "^7.47.0", + "react-icons": "^5.3.0", "react-mailchimp-subscribe": "^2.1.3", "react-querybuilder": "^6.5.4", "react-sweet-progress": "^1.1.2", @@ -39,6 +42,7 @@ "stream": "^0.0.2", "stream-browserify": "^3.0.0", "styled-components": "^5.3.9", + "tailwindcss": "^3.4.13", "yaml": "^2.1.3" }, "devDependencies": { @@ -339,6 +343,18 @@ "@algolia/requester-common": "4.24.0" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -3159,7 +3175,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -3176,7 +3191,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, "engines": { "node": ">=12" }, @@ -3188,7 +3202,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -3689,7 +3702,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "optional": true, "engines": { "node": ">=14" @@ -5126,6 +5138,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -5306,6 +5324,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", @@ -5717,6 +5736,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/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==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/camelize": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", @@ -7125,6 +7153,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, "node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", @@ -7145,6 +7179,12 @@ "node": ">=8" } }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, "node_modules/dnd-core": { "version": "16.0.1", "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-16.0.1.tgz", @@ -10374,7 +10414,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -10390,7 +10429,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { "node": ">=14" }, @@ -17457,10 +17495,10 @@ } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -17553,6 +17591,17 @@ "multicast-dns": "cli.js" } }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -17825,6 +17874,15 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -18103,6 +18161,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -18253,29 +18317,26 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" }, "node_modules/path-to-regexp": { "version": "1.8.0", @@ -18309,9 +18370,10 @@ } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -18324,6 +18386,24 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/pkg-dir": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", @@ -18501,9 +18581,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -18518,10 +18598,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -18632,6 +18713,77 @@ "postcss": "^8.4.31" } }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, "node_modules/postcss-loader": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", @@ -18815,6 +18967,31 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, "node_modules/postcss-normalize-charset": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", @@ -18998,9 +19175,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -19524,6 +19702,15 @@ "react": "^16.8.0 || ^17 || ^18" } }, + "node_modules/react-icons": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", + "integrity": "sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -19710,6 +19897,15 @@ "react": "^16.8.0 || ^17.0.0-0 || ^18.0.0" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, "node_modules/read-package-json-fast": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", @@ -21814,9 +22010,10 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -21963,7 +22160,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -21976,8 +22172,7 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", @@ -22120,7 +22315,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -22226,6 +22420,96 @@ "postcss": "^8.4.31" } }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -22335,6 +22619,64 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/tailwindcss": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -22447,6 +22789,27 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -22600,6 +22963,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -24241,7 +24610,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -24257,14 +24625,12 @@ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -24382,9 +24748,13 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } diff --git a/website/package.json b/website/package.json index 08d063d8d85..887b92e6b28 100644 --- a/website/package.json +++ b/website/package.json @@ -25,11 +25,13 @@ "@mdx-js/react": "^3.0.0", "@react-querybuilder/dnd": "^6.5.4", "@uiw/react-textarea-code-editor": "^2.1.1", + "autoprefixer": "^10.4.20", "clsx": "^1.2.1", "core-js": "^3.29.1", "json2toml": "^4.0.1", "lodash": "^4.17.21", "mobx": "^6.9.0", + "postcss": "^8.4.47", "prism-react-renderer": "^2.1.0", "prop-types": "^15.8.1", "react": "^18.2.15", @@ -39,6 +41,7 @@ "react-dom": "^18.2.15", "react-highlight": "^0.15.0", "react-hook-form": "^7.47.0", + "react-icons": "^5.3.0", "react-mailchimp-subscribe": "^2.1.3", "react-querybuilder": "^6.5.4", "react-sweet-progress": "^1.1.2", @@ -47,6 +50,7 @@ "stream": "^0.0.2", "stream-browserify": "^3.0.0", "styled-components": "^5.3.9", + "tailwindcss": "^3.4.13", "yaml": "^2.1.3" }, "devDependencies": { diff --git a/website/src/components/doc/cardv2/index.js b/website/src/components/doc/cardv2/index.js index dbb5794dc6f..a9765f7253c 100644 --- a/website/src/components/doc/cardv2/index.js +++ b/website/src/components/doc/cardv2/index.js @@ -7,11 +7,16 @@ import PropTypes from 'prop-types'; Cards.prototype = { cards: PropTypes.array.isRequired, }; + export function Cards(props) { const listItems = props.cards.map((item, index) => ( )); - return
{listItems}
; + return ( +
+ {listItems} +
+ ); } Card.propTypes = { @@ -22,47 +27,46 @@ Card.propTypes = { logoImg: PropTypes.string, docLink: PropTypes.string, }; + export function Card(props) { return ( -
- -
-
- - {props.logoCss && } - {props.logoImg && ( - - )} - -
-
-

{props.title}

-
-

{props.content}

-
- {props.badges && - props.badges.map((item, i) => { - return ( - - {item} - - ); - })} - {props.warningBadges && - props.warningBadges.map((item, i) => { - return ( - - {item} - - ); - })} -
+ +
+
+ + {props.logoCss && } + {props.logoImg && ( + + )} +
- -
+
+

{props.title}

+
+

{props.content}

+
+ {props.badges && + props.badges.map((item, i) => { + return ( + + {item} + + ); + })} + {props.warningBadges && + props.warningBadges.map((item, i) => { + return ( + + {item} + + ); + })} +
+
+ ); } diff --git a/website/src/components/editor/FlagForm/index.js b/website/src/components/editor/FlagForm/index.js index 07f41ed9b29..5fe31ed3827 100644 --- a/website/src/components/editor/FlagForm/index.js +++ b/website/src/components/editor/FlagForm/index.js @@ -2,7 +2,6 @@ import styles from './styles.module.css'; import {Input} from '../Input'; import React from 'react'; import {Switch} from '../Switch'; -import clsx from 'clsx'; import {Select} from '../Select'; import {Variations} from '../Variation'; import {useFormContext} from 'react-hook-form'; @@ -15,6 +14,7 @@ import {FlagTest} from '../FlagTest'; FlagForm.propTypes = { label: PropTypes.string.isRequired, }; + export function FlagForm({label}) { const {watch} = useFormContext(); const typeSelectorContent = [ @@ -26,22 +26,22 @@ export function FlagForm({label}) { return (
-
-
+
+
-
+
-
+
-
-
-
+

Test your flag

-
-
+
+

Evaluation Context

-
+
-
+

Flag evaluation Details

{data.resolutionDetail !== undefined && ( diff --git a/website/src/components/editor/Variation/index.js b/website/src/components/editor/Variation/index.js index 0ef28662d47..1f5063548a2 100644 --- a/website/src/components/editor/Variation/index.js +++ b/website/src/components/editor/Variation/index.js @@ -11,6 +11,7 @@ Variations.propTypes = { type: PropTypes.string, label: PropTypes.string.isRequired, }; + export function Variations({type, label}) { const {control} = useFormContext(); const {fields, append, remove} = useFieldArray({ @@ -25,7 +26,7 @@ export function Variations({type, label}) { return (

Variations

-
+
{fields.map((field, index) => ( { @@ -76,15 +78,15 @@ function Variation({type, label, remove, index, icon}) { remove(index); }; return ( -
-
+ <> +
{icon}
-
+
{valueField(type, label + '.value', register)}
-
+
{ }
-
+ ); } diff --git a/website/src/components/home/HomeHeader/index.js b/website/src/components/home/HomeHeader/index.js index 4fd9512c803..7e6eb63e5d1 100644 --- a/website/src/components/home/HomeHeader/index.js +++ b/website/src/components/home/HomeHeader/index.js @@ -45,8 +45,8 @@ export function HomeHeader() {
-
-
+
+
GO Feature Flag
@@ -100,7 +100,7 @@ export function HomeHeader() {
-
+
hero-img
diff --git a/website/src/components/home/benefit/index.js b/website/src/components/home/benefit/index.js index 29f04b9cb2e..4c44c05d759 100644 --- a/website/src/components/home/benefit/index.js +++ b/website/src/components/home/benefit/index.js @@ -8,6 +8,7 @@ BenefitCard.propTypes = { title: PropTypes.string.isRequired, description: PropTypes.string.isRequired, }; + function BenefitCard({img, title, description}) { return (
@@ -42,7 +43,7 @@ export function Benefit() {
-
+
-
- - {props.fontAwesomeIcon && } - {props.img && } - - {props.tooltipText} -
+
+ + {props.fontAwesomeIcon && } + {props.img && } + + {props.tooltipText}
); } function Rollout() { return ( -
-
-
-

Advanced rollout capabilities

-

- Feature flags allows to unlink deploy and release, this means that - you can decide how to release a feature without thinking about - architecture and complex deployments. -

-

- These capabilities will give you more control on your rollout - changes and will ensure that everything happened as expected. -

-
-
    -
  • - -

    Rules: Impact only the users you want to target.

    -
  • -
  • - -

    - Canary release: Enable the feature only to a subset of your - users. -

    -
  • -
  • - -

    - Progressive rollout: Affect from 0% to 100% of users within a - time frame, you can monitor while releasing the change. -

    -
  • -
  • - -

    - Scheduled Workflows: Modify your flag at a specific time to - impact more/less users. -

    -
  • -
  • - -

    - A/B testing: Split your audience in multiple groups and track - their usage. -

    -
  • -
-
+
+
+

Advanced rollout capabilities

+

+ Feature flags allows to unlink deploy and release, this means that you + can decide how to release a feature without thinking about + architecture and complex deployments. +

+

+ These capabilities will give you more control on your rollout changes + and will ensure that everything happened as expected. +

+
+
    +
  • + +

    Rules: Impact only the users you want to target.

    +
  • +
  • + +

    + Canary release: Enable the feature only to a subset of your + users. +

    +
  • +
  • + +

    + Progressive rollout: Affect from 0% to 100% of users within a + time frame, you can monitor while releasing the change. +

    +
  • +
  • + +

    + Scheduled Workflows: Modify your flag at a specific time to + impact more/less users. +

    +
  • +
  • + +

    + A/B testing: Split your audience in multiple groups and track + their usage. +

    +
  • +
-
+
-
-
- +
+
+
+
+ - + - + - + - + - + - + - + - + - + - + +
-
-
-
-

Supports your favorite languages

-

- GO Feature Flag believe in OpenSource and offer providers for the - new standard for feature flags{' '} - OpenFeature. -
- In combination with the Open Feature SDKs these{' '} - providers will allow you to use GO Feature Flag with all - supported languages. -

-

- - {' '} - See our SDKs - -

+
+
+

Supports your favorite languages

+

+ GO Feature Flag believe in OpenSource and offer providers for the + new standard for feature flags{' '} + OpenFeature. +
+ In combination with the Open Feature SDKs these{' '} + providers will allow you to use GO Feature Flag with all + supported languages. +

+

+ + {' '} + See our SDKs + +

+
@@ -193,126 +192,123 @@ function OpenFeature() { function Integration() { return ( -
-
-
-

Integrates with different systems

-

- GO Feature flag is cloud ready and can retrieve its configuration - from various places, store your data usage where you want and notify - you when something changes. -

-
-
    -
  • - -

    - Retrieve your file from S3, Google Cloud, Github, Kubernetes, - and more. -

    -
  • -
  • - -

    Store flags usage in your favorite dataset (S3, GCP, ).

    -
  • -
  • - -

    - Be notified on slack or via a webhook that your flag has - changed. -

    -
  • -
  • - -

    You can also extend GO Feature Flag if needed.

    -
  • -
+
+
+
+
+

Integrates with different systems

+

+ GO Feature flag is cloud ready and can retrieve its configuration + from various places, store your data usage where you want and + notify you when something changes. +

+
+
    +
  • + +

    + Retrieve your file from S3, Google Cloud, Github, + Kubernetes, and more. +

    +
  • +
  • + +

    Store flags usage in your favorite dataset (S3, GCP, ).

    +
  • +
  • + +

    + Be notified on slack or via a webhook that your flag has + changed. +

    +
  • +
  • + +

    You can also extend GO Feature Flag if needed.

    +
  • +
+
-
-
-
- +
+
+ - + - + - -
-
+ + - - - + - + - -
-
- - - - + + + + - - + /> + + +
diff --git a/website/src/components/home/features/styles.module.css b/website/src/components/home/features/styles.module.css index c8a37c8db45..29c3cf796db 100644 --- a/website/src/components/home/features/styles.module.css +++ b/website/src/components/home/features/styles.module.css @@ -1,155 +1,154 @@ .feature { - margin: 5rem 0 5rem 0; -} - -.soc { - /*padding-top: 5rem;*/ + margin: 5rem 0 5rem 0; } .socialIcon { - display: flex; - align-items: center; - justify-content: center; - position: relative; - width: 80px; - height: 80px; - margin: 0.5rem 0.5rem; - border-radius: 50%; - font-family: helvetica neue, helvetica, arial, sans-serif; - font-size: 2.5rem; - text-decoration: none; - transition: all 0.15s ease; + display: flex; + align-items: center; + justify-content: center; + position: relative; + width: 80px; + height: 80px; + margin: 0.5rem 0.5rem; + border-radius: 50%; + font-family: helvetica neue, helvetica, arial, sans-serif; + font-size: 2.5rem; + text-decoration: none; + transition: all 0.15s ease; } + .socialIconBlue { - background-color: cornflowerblue; + background-color: cornflowerblue; } .socialIconBlack { - background-color: #000000; + background-color: #000000; } .socialIconCyan { - background-color: #cdf7e7; + background-color: #cdf7e7; } .socialIconPurple { - background-color: #4a154b; + background-color: #4a154b; } .socialIconGreen { - background-color: #34a853; + background-color: #34a853; } .socialIconAws { - background-color: rgb(255, 153, 0); + background-color: rgb(255, 153, 0); } .socialIconPubSub { - background-color: rgb(194, 223, 255); + background-color: rgb(194, 223, 255); } .socialIconGitlab { - background-color: #D1D0D3; + background-color: #D1D0D3; } .socialIconMongodb { - background-color: #023430; + background-color: #023430; } .socialIconKafka { - background-color: #eee; + background-color: #eee; } .tooltip { - position: relative; - display: inline-block; - z-index: 100; + position: relative; + display: inline-block; + z-index: 100; } /* Tooltip text */ .tooltip .tooltiptext { - visibility: hidden; - width: 140px; - background-color: black; - color: #fff; - text-align: center; - padding: 5px 0; - border-radius: 6px; + visibility: hidden; + width: 140px; + background-color: black; + color: #fff; + text-align: center; + padding: 5px 0; + border-radius: 6px; - /* Position the tooltip text - see examples below! */ - position: absolute; - z-index: 1; + /* Position the tooltip text - see examples below! */ + position: absolute; + z-index: 1; } /* Show the tooltip text when you mouse over the tooltip container */ .tooltip:hover .tooltiptext { - visibility: visible; - width: 140px; - bottom: 80%; - left: 50%; - margin-left: -70px; + visibility: visible; + width: 140px; + bottom: 80%; + left: 50%; + margin-left: -70px; } + .featureContentList ul { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } + .featureContentList ul li { - list-style: none; - display: flex; - text-align: left; + list-style: none; + display: flex; + text-align: left; } .featureContentList ul li i { - width: 24px; - height: 24px; - text-align: center; - line-height: 20px; - margin-right: 15px; - color: var(--goff-feature-list-arrow-color); - display: inline-block; - font-size: 24px; - font-weight: 700; + width: 24px; + height: 24px; + text-align: center; + line-height: 20px; + margin-right: 15px; + color: var(--goff-feature-list-arrow-color); + display: inline-block; + font-size: 24px; + font-weight: 700; } .featureContentList ul li p { - font-weight: 500; - margin-bottom: 0; - display: inline-block; - color: var(--goff-feature-list-text-color); - font-size: 1rem; + font-weight: 500; + margin-bottom: 0; + display: inline-block; + color: var(--goff-feature-list-text-color); + font-size: 1rem; } .featureContent h2 { - margin-top: 2rem; - font-size: 2rem; - line-height: 2.5rem; - color: var(--goff-main-title-color); - font-family: Poppins, sans-serif; - font-weight: 800; - letter-spacing: -0.08rem; + margin-top: 2rem; + font-size: 2rem; + line-height: 2.5rem; + color: var(--goff-main-title-color); + font-family: Poppins, sans-serif; + font-weight: 800; + letter-spacing: -0.08rem; } .featureContent p { - font-size: 1.05rem; - line-height: 2rem; - font-weight: 400; - margin-bottom: 3rem; - color: var(--goff-main-ff-description); + font-size: 1.05rem; + line-height: 2rem; + font-weight: 400; + margin-bottom: 3rem; + color: var(--goff-main-ff-description); } .featureContentList ul li:not(:last-child) { - margin-bottom: 15px; + margin-bottom: 15px; } .featureImage img { - border-radius: 1rem; + border-radius: 1rem; } .imgRollout { - margin: 12rem 0 0 0; - top: 0; - left: 0; - bottom: 0; - right: 0; + margin: 12rem 0 0 0; + top: 0; + left: 0; + bottom: 0; + right: 0; } diff --git a/website/src/components/home/using-it/index.js b/website/src/components/home/using-it/index.js index 5f8e066f121..afbb95cb7cc 100644 --- a/website/src/components/home/using-it/index.js +++ b/website/src/components/home/using-it/index.js @@ -6,7 +6,6 @@ import Link from '@docusaurus/Link'; import chapatiSystems from '@site/static/img/using-it/chapati.systems.png'; import lyft from '@site/static/img/using-it/lyft.png'; -import castailogo from '@site/static/img/using-it/cast.ai-logo.svg'; export function UsingIt() { const {siteConfig} = useDocusaurusContext(); @@ -17,60 +16,72 @@ export function UsingIt() { Who is using GO Feature Flag? -
-
-
-
-
-
- - - +
+
+ + + + + + + - - - - - - - - -
-
-
-
- - {"Lyft"} - -
+ fill="#fff" + transform="translate(0 6)" + d="M0 0h154v38H0z"> + + + +
-
-
- - - - - - -
+
+ + {'Lyft'} +
-
-
- {"chapati -
+
+ + + + +
-
-
+
+ {'chapati
+
+
+
Want to be listed here?{' '} - Contact us or add yourself to our adopters list. + Contact us or add + yourself to our{' '} + + adopters + {' '} + list.
); diff --git a/website/src/components/home/using-it/styles.module.css b/website/src/components/home/using-it/styles.module.css index db0263c4927..1684c0a61f6 100644 --- a/website/src/components/home/using-it/styles.module.css +++ b/website/src/components/home/using-it/styles.module.css @@ -1,33 +1,23 @@ .usingit { - background-color: var(--goff-whatis-bg); - padding: 2rem 0 2rem 0; - text-align: center; + background-color: var(--goff-whatis-bg); + padding: 2rem 0 2rem 0; + text-align: center; } .usingit img { - max-height: 150px; - max-width: 100px; + max-height: 150px; + max-width: 100px; } -.mainTitle{ - font-size: 3rem; - line-height: 2.5rem; - color: var(--goff-main-title-color); - font-family: Poppins, sans-serif; - font-weight: 800; - letter-spacing: -0.18rem; +.mainTitle { + font-size: 3rem; + line-height: 2.5rem; + color: var(--goff-main-title-color); + font-family: Poppins, sans-serif; + font-weight: 800; + letter-spacing: -0.18rem; } -.logo{ - min-height: 100px; - display: flex; - align-items: flex-end; - margin: 0 auto; - height: auto; - position: relative; - width: 100%; -} - -.contactUs{ - margin-top: 2rem; +.contactUs { + margin-top: 2rem; } \ No newline at end of file diff --git a/website/src/components/home/whatis/index.js b/website/src/components/home/whatis/index.js index b23cbabf0c1..212385475d2 100644 --- a/website/src/components/home/whatis/index.js +++ b/website/src/components/home/whatis/index.js @@ -7,64 +7,59 @@ import clsx from 'clsx'; export function Whatis() { const {siteConfig} = useDocusaurusContext(); return ( -
-
-
- What is GO Feature Flag? -
-
-

- Quick and Easy Setup -

-

- GO Feature Flag believes in simplicity and offers a simple and - lightweight solution to use feature flags. -

-

- Our focus is to avoid any complex infrastructure work to use the - solution. -

-
-
-

- Complete Feature - Flag Solution -

-

- Target individual segments, users, and development environments, - use advanced rollout functionality. -

-

- You can also collect usage data of your flags and be notified of - configuration changes. -

-
-
-

- Developer Optimized -

-

- 100% Opensource, no vendor locking, supports your favorite - languages and is pushing for standardisation with the support of{' '} - - OpenFeature - - . -

-

- File based configuration, integrated with the tools that you - already use. -

-
+
+ What is GO Feature Flag? +
+
+
+

+ Quick and Easy Setup +

+

+ GO Feature Flag believes in simplicity and offers a simple and + lightweight solution to use feature flags. +

+

+ Our focus is to avoid any complex infrastructure work to use the + solution. +

+
+
+

+ Complete Feature + Flag Solution +

+

+ Target individual segments, users, and development environments, + use advanced rollout functionality. +

+

+ You can also collect usage data of your flags and be notified of + configuration changes. +

+
+
+

+ Developer Optimized +

+

+ 100% Opensource, no vendor locking, supports your favorite + languages and is pushing for standardisation with the support of{' '} + OpenFeature. +

+

+ File based configuration, integrated with the tools that you + already use. +

- - -
+ + +
); } diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 4ac1b343ed3..abcd1e44e57 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -6,214 +6,216 @@ /* You can override the default Infima variables here. */ +@tailwind base; +@tailwind components; +@tailwind utilities; + :root { - --ifm-color-primary: #2e8555; - --ifm-color-primary-dark: #29784c; - --ifm-color-primary-darker: #277148; - --ifm-color-primary-darkest: #205d3b; - --ifm-color-primary-light: #33925d; - --ifm-color-primary-lighter: #359962; - --ifm-color-primary-lightest: #3cad6e; - --ifm-code-font-size: 95%; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); - - --site-primary-hue-saturation: 167 68%; - --site-primary-hue-saturation-light: 167 56%; - - --goff-header-background: #fff; - --goff-header-text-color: #273437; - - --goff-main-subtitle-color: #9fbeb3; - --goff-main-title-color: #273437; - --goff-main-ff-description: #8c8c94; - --goff-getstarted-bg: #b93a01; - --goff-github-bg: #555; - --goff-sponsor-bg: #a0bfb5; - --goff-whatis-bg: #f9f9f9; - --goff-benif-bg: #dff1f4; - --goff-feature-list-arrow-color: #9fbeb3; - --goff-feature-list-text-color: var(--goff-header-text-color); - --goff-benefits-postitem-bg: #fff; - --goff-message-error: #ec7063; - --goff-message-success: #73c6b6; - - --goff-editor-form-field-bg: #e9e9e9; - --goff-editor-container-bg: #f9f9f9; - --goff-editor-title-bg: var(--goff-editor-form-field-bg); - --goff-editor-placeholder: #73c6b6; - --goff-editor-input-placeholder: #73c6b6; - --goff-editor-input-text: #363636; - --goff-editor-form-bg: var(--goff-editor-title-bg); - --goff-switch-bg-on: var(--goff-editor-form-field-bg); - --goff-switch-bg-off: var(--goff-editor-form-field-bg); - --goff-variation-plus-button-bg: var(--goff-editor-input-placeholder); - - --goff-card-round-color: #e9e9e9; - --goff-card-txt-badge-info: var(--goff-sponsor-bg); - --goff-card-bg-badge-info: var(--goff-card-round-color); - --goff-card-bg-color: #F6F6F6; - - --goff-headline-green: var(--goff-variation-plus-button-bg); - --goff-headline-purple: #6c46f2; + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + + --site-primary-hue-saturation: 167 68%; + --site-primary-hue-saturation-light: 167 56%; + + --goff-header-background: #fff; + --goff-header-text-color: #273437; + + --goff-main-subtitle-color: #9fbeb3; + --goff-main-title-color: #273437; + --goff-main-ff-description: #8c8c94; + --goff-getstarted-bg: #b93a01; + --goff-github-bg: #555; + --goff-sponsor-bg: #a0bfb5; + --goff-whatis-bg: #f9f9f9; + --goff-benif-bg: #dff1f4; + --goff-feature-list-arrow-color: #9fbeb3; + --goff-feature-list-text-color: var(--goff-header-text-color); + --goff-benefits-postitem-bg: #fff; + --goff-message-error: #ec7063; + --goff-message-success: #73c6b6; + + --goff-editor-form-field-bg: #e9e9e9; + --goff-editor-container-bg: #f9f9f9; + --goff-editor-title-bg: var(--goff-editor-form-field-bg); + --goff-editor-placeholder: #73c6b6; + --goff-editor-input-placeholder: #73c6b6; + --goff-editor-input-text: #363636; + --goff-editor-form-bg: var(--goff-editor-title-bg); + --goff-switch-bg-on: var(--goff-editor-form-field-bg); + --goff-switch-bg-off: var(--goff-editor-form-field-bg); + --goff-variation-plus-button-bg: var(--goff-editor-input-placeholder); + + --goff-card-round-color: #e9e9e9; + --goff-card-txt-badge-info: var(--goff-sponsor-bg); + --goff-card-bg-badge-info: var(--goff-card-round-color); + --goff-card-bg-color: #F6F6F6; + + --goff-headline-green: var(--goff-variation-plus-button-bg); + --goff-headline-purple: #6c46f2; } + /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme="dark"] { - --ifm-color-primary: #25c2a0; - --ifm-color-primary-dark: #21af90; - --ifm-color-primary-darker: #1fa588; - --ifm-color-primary-darkest: #1a8870; - --ifm-color-primary-light: #29d5b0; - --ifm-color-primary-lighter: #32d8b4; - --ifm-color-primary-lightest: #4fddbf; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + --ifm-color-primary: #25c2a0; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); - --goff-header-background: #000; - --goff-main-subtitle-color: #9fbeb3; - --goff-main-title-color: #fff; - --goff-feature-list-text-color: #fff; - --goff-whatis-bg: #363636; - --goff-benefits-postitem-bg: #363636; - --goff-benif-bg: #87a8a7; + --goff-header-background: #000; + --goff-main-subtitle-color: #9fbeb3; + --goff-main-title-color: #fff; + --goff-feature-list-text-color: #fff; + --goff-whatis-bg: #363636; + --goff-benefits-postitem-bg: #363636; + --goff-benif-bg: #87a8a7; - --goff-editor-form-field-bg: #444444; - --goff-editor-container-bg: #363636; - --goff-editor-placeholder: #f1f1f1; - --goff-editor-input-text: #f1f1f1; + --goff-editor-form-field-bg: #444444; + --goff-editor-container-bg: #363636; + --goff-editor-placeholder: #f1f1f1; + --goff-editor-input-text: #f1f1f1; - --goff-card-bg-color: var(--goff-editor-form-field-bg); - --goff-headline-title: #777; + --goff-card-bg-color: var(--goff-editor-form-field-bg); + --goff-headline-title: #777; } .menu__link { - font-weight: normal; - font-size: 0.95rem; + font-weight: normal; + font-size: 0.95rem; } body { - font-family: poppins, sans-serif; + font-family: poppins, sans-serif; } /* Github icon top right */ .header-github-link:hover { - opacity: 0.6; + opacity: 0.6; } .header-github-link:before { - background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; - content: ""; - display: flex; - height: 24px; - width: 24px; + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; + content: ""; + display: flex; + height: 24px; + width: 24px; } [data-theme="dark"] .header-github-link:before { - filter: invert(100%); + filter: invert(100%); } /* Twitter icon top right */ .header-twitter-link:hover { - opacity: 0.6; + opacity: 0.6; } .header-twitter-link:before { - background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNDg4LjAwMDAwMHB0IiBoZWlnaHQ9IjQ1OS4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDQ4OC4wMDAwMDAgNDU5LjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNDU5LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTE0IDQ1NzkgYy0yIC0zIDE2MCAtMjI0IDM1OSAtNDkwIDE5OSAtMjY2IDYyMiAtODMyIDk0MCAtMTI1NyBsNTc4Ci03NzMgLTM3IC00MiBjLTIxIC0yMyAtNDQ2IC00ODIgLTk0NCAtMTAyMCAtNDk4IC01MzkgLTkwNyAtOTgzIC05MDggLTk4OCAtMgotNSA4NSAtOSAyMTAgLTggbDIxMyAxIDcwIDc3IGMzOSA0MiA0MDEgNDMzIDgwNSA4NzAgNDA0IDQzNyA3NDYgODA3IDc2MCA4MjMKbDI1IDI5IDIwMCAtMjY4IGMxMTAgLTE0NyA0MTMgLTU1MyA2NzMgLTkwMSBsNDc0IC02MzIgNzI1IDAgYzYwMyAwIDcyNCAyCjcyMCAxMyAtMyA4IC0xODcgMjU2IC00MDkgNTUzIC0yMjIgMjk2IC00NzYgNjM2IC01NjQgNzU0IC04OSAxMTggLTM1MCA0NjkKLTU4MiA3NzggLTIzMiAzMTAgLTQyMiA1NjggLTQyMiA1NzIgMCA3IDEyMjYgMTMzOCAxNjQzIDE3ODMgbDExOSAxMjcgLTIxOSAwCi0yMTggLTEgLTI1NSAtMjc2IGMtMTQwIC0xNTIgLTQ4MyAtNTI0IC03NjMgLTgyNSBsLTUwNyAtNTQ4IC02MTUgODIyIC02MTYKODIzIC03MjUgNSBjLTM5OSAzIC03MjggMiAtNzMwIC0xeiBtMTcxOCAtODg2IGMyMzcgLTMxOCA2MDMgLTgwNyA4MTMgLTEwODgKMjEwIC0yODAgNjc2IC05MDQgMTAzNiAtMTM4NSAzNjAgLTQ4MiA2NTggLTg4MSA2NjMgLTg4OCA2IC05IC02NSAtMTIgLTMyNAotMTIgbC0zMzEgMCAtNjU2IDg3OCBjLTE1MTQgMjAyMyAtMjI3OCAzMDQ1IC0yMjg3IDMwNjAgLTYgOSA2MiAxMiAzMjMgMTIKbDMzMSAwIDQzMiAtNTc3eiIvPgo8L2c+Cjwvc3ZnPgo=") - no-repeat; - content: ""; - display: flex; - background-size: 20px 20px; - height: 20px; - width: 20px; + background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNDg4LjAwMDAwMHB0IiBoZWlnaHQ9IjQ1OS4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDQ4OC4wMDAwMDAgNDU5LjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNDU5LjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTE0IDQ1NzkgYy0yIC0zIDE2MCAtMjI0IDM1OSAtNDkwIDE5OSAtMjY2IDYyMiAtODMyIDk0MCAtMTI1NyBsNTc4Ci03NzMgLTM3IC00MiBjLTIxIC0yMyAtNDQ2IC00ODIgLTk0NCAtMTAyMCAtNDk4IC01MzkgLTkwNyAtOTgzIC05MDggLTk4OCAtMgotNSA4NSAtOSAyMTAgLTggbDIxMyAxIDcwIDc3IGMzOSA0MiA0MDEgNDMzIDgwNSA4NzAgNDA0IDQzNyA3NDYgODA3IDc2MCA4MjMKbDI1IDI5IDIwMCAtMjY4IGMxMTAgLTE0NyA0MTMgLTU1MyA2NzMgLTkwMSBsNDc0IC02MzIgNzI1IDAgYzYwMyAwIDcyNCAyCjcyMCAxMyAtMyA4IC0xODcgMjU2IC00MDkgNTUzIC0yMjIgMjk2IC00NzYgNjM2IC01NjQgNzU0IC04OSAxMTggLTM1MCA0NjkKLTU4MiA3NzggLTIzMiAzMTAgLTQyMiA1NjggLTQyMiA1NzIgMCA3IDEyMjYgMTMzOCAxNjQzIDE3ODMgbDExOSAxMjcgLTIxOSAwCi0yMTggLTEgLTI1NSAtMjc2IGMtMTQwIC0xNTIgLTQ4MyAtNTI0IC03NjMgLTgyNSBsLTUwNyAtNTQ4IC02MTUgODIyIC02MTYKODIzIC03MjUgNSBjLTM5OSAzIC03MjggMiAtNzMwIC0xeiBtMTcxOCAtODg2IGMyMzcgLTMxOCA2MDMgLTgwNyA4MTMgLTEwODgKMjEwIC0yODAgNjc2IC05MDQgMTAzNiAtMTM4NSAzNjAgLTQ4MiA2NTggLTg4MSA2NjMgLTg4OCA2IC05IC02NSAtMTIgLTMyNAotMTIgbC0zMzEgMCAtNjU2IDg3OCBjLTE1MTQgMjAyMyAtMjI3OCAzMDQ1IC0yMjg3IDMwNjAgLTYgOSA2MiAxMiAzMjMgMTIKbDMzMSAwIDQzMiAtNTc3eiIvPgo8L2c+Cjwvc3ZnPgo=") no-repeat; + content: ""; + display: flex; + background-size: 20px 20px; + height: 20px; + width: 20px; } [data-theme="dark"] .header-twitter-link:before { - filter: invert(100%); + filter: invert(100%); } /* Slack icon top right */ .header-slack-link:hover { - opacity: 0.6; + opacity: 0.6; } .header-slack-link:before { - background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAwYy02LjYyNiAwLTEyIDUuMzcyLTEyIDEyIDAgNi42MjcgNS4zNzQgMTIgMTIgMTIgNi42MjcgMCAxMi01LjM3MyAxMi0xMiAwLTYuNjI4LTUuMzczLTEyLTEyLTEyem02LjIyNSAxNC4xOGwtMS40MTguNDc0LjQ5IDEuNDY3Yy4xOTMuNTk0LS4xMjIgMS4yNC0uNzE3IDEuNDMyLS42NzEuMTktMS4yNTMtLjE4Ny0xLjQzNy0uNzE1bC0uNDktMS40NjktMi45MjQuOTc5LjQ5IDEuNDY4Yy4yMjguNzAyLS4yNTMgMS40ODMtMS4wNjggMS40ODMtLjUxNCAwLS45MzQtLjMyOS0xLjA4NS0uNzY3bC0uNDkyLTEuNDY4LTEuNDE4LjQ3MmMtLjY2Mi4xOTItMS4yNTEtLjE4NS0xLjQzNi0uNzE3LS4xOTItLjU5My4xMjMtMS4yNC43MTgtMS40MzJsMS40MTgtLjQ3Mi0uOTQ1LTIuODE0LTEuNDE5LjQ3MmMtLjc5LjIyNC0xLjQ5Mi0uMzQ0LTEuNDkyLTEuMDczIDAtLjQ3Ny4yOTctLjkyMy43NzQtMS4wNzdsMS40MTktLjQ3Mi0uNDkxLTEuNDY3Yy0uMTkyLS41OTUuMTIzLTEuMjQyLjcxOS0xLjQzNC41OTUtLjE5MiAxLjI0Mi4xMjIgMS40MzUuNzE3bC40OTIgMS40NjcgMi45MjMtLjk3OC0uNDktMS40NjhjLS4yMzUtLjcyMi4yODMtMS40ODkgMS4wNzUtMS40ODkuNDc4IDAgLjkyNS4yOTcgMS4wOC43NzNsLjQ5IDEuNDY4IDEuNDE4LS40NzJjLjU5NS0uMTkzIDEuMjQzLjEyMyAxLjQzNi43MTcuMTkzLjU5NC0uMTIzIDEuMjQtLjcxOCAxLjQzMmwtMS40MTkuNDcyLjk0NiAyLjgxNCAxLjQxOS0uNDcyYy43MjUtLjIzNCAxLjQ5Mi4yODIgMS40OTIgMS4wNzIgMCAuNDc4LS4yOTcuOTIzLS43NzUgMS4wNzd6bS01LjI0NS0zLjc0OWwtMi45MjIuOTc3Ljk0NCAyLjgxNiAyLjkyMy0uOTc2LS45NDUtMi44MTd6Ii8+PC9zdmc+") no-repeat; - content: ""; - display: flex; - height: 24px; - width: 24px; + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0xMiAwYy02LjYyNiAwLTEyIDUuMzcyLTEyIDEyIDAgNi42MjcgNS4zNzQgMTIgMTIgMTIgNi42MjcgMCAxMi01LjM3MyAxMi0xMiAwLTYuNjI4LTUuMzczLTEyLTEyLTEyem02LjIyNSAxNC4xOGwtMS40MTguNDc0LjQ5IDEuNDY3Yy4xOTMuNTk0LS4xMjIgMS4yNC0uNzE3IDEuNDMyLS42NzEuMTktMS4yNTMtLjE4Ny0xLjQzNy0uNzE1bC0uNDktMS40NjktMi45MjQuOTc5LjQ5IDEuNDY4Yy4yMjguNzAyLS4yNTMgMS40ODMtMS4wNjggMS40ODMtLjUxNCAwLS45MzQtLjMyOS0xLjA4NS0uNzY3bC0uNDkyLTEuNDY4LTEuNDE4LjQ3MmMtLjY2Mi4xOTItMS4yNTEtLjE4NS0xLjQzNi0uNzE3LS4xOTItLjU5My4xMjMtMS4yNC43MTgtMS40MzJsMS40MTgtLjQ3Mi0uOTQ1LTIuODE0LTEuNDE5LjQ3MmMtLjc5LjIyNC0xLjQ5Mi0uMzQ0LTEuNDkyLTEuMDczIDAtLjQ3Ny4yOTctLjkyMy43NzQtMS4wNzdsMS40MTktLjQ3Mi0uNDkxLTEuNDY3Yy0uMTkyLS41OTUuMTIzLTEuMjQyLjcxOS0xLjQzNC41OTUtLjE5MiAxLjI0Mi4xMjIgMS40MzUuNzE3bC40OTIgMS40NjcgMi45MjMtLjk3OC0uNDktMS40NjhjLS4yMzUtLjcyMi4yODMtMS40ODkgMS4wNzUtMS40ODkuNDc4IDAgLjkyNS4yOTcgMS4wOC43NzNsLjQ5IDEuNDY4IDEuNDE4LS40NzJjLjU5NS0uMTkzIDEuMjQzLjEyMyAxLjQzNi43MTcuMTkzLjU5NC0uMTIzIDEuMjQtLjcxOCAxLjQzMmwtMS40MTkuNDcyLjk0NiAyLjgxNCAxLjQxOS0uNDcyYy43MjUtLjIzNCAxLjQ5Mi4yODIgMS40OTIgMS4wNzIgMCAuNDc4LS4yOTcuOTIzLS43NzUgMS4wNzd6bS01LjI0NS0zLjc0OWwtMi45MjIuOTc3Ljk0NCAyLjgxNiAyLjkyMy0uOTc2LS45NDUtMi44MTd6Ii8+PC9zdmc+") no-repeat; + content: ""; + display: flex; + height: 24px; + width: 24px; } [data-theme="dark"] .header-slack-link:before { - filter: invert(100%); + filter: invert(100%); } /* Email icon top right */ .header-email-link:hover { - opacity: 0.6; + opacity: 0.6; } .header-email-link:before { - background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjQgMGwtNiAyMi04LjEyOS03LjIzOSA3LjgwMi04LjIzNC0xMC40NTggNy4yMjctNy4yMTUtMS43NTQgMjQtMTJ6bS0xNSAxNi42Njh2Ny4zMzJsMy4yNTgtNC40MzEtMy4yNTgtMi45MDF6Ii8+PC9zdmc+") - no-repeat; - content: ""; - display: flex; - height: 24px; - width: 24px; + background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMjQgMGwtNiAyMi04LjEyOS03LjIzOSA3LjgwMi04LjIzNC0xMC40NTggNy4yMjctNy4yMTUtMS43NTQgMjQtMTJ6bS0xNSAxNi42Njh2Ny4zMzJsMy4yNTgtNC40MzEtMy4yNTgtMi45MDF6Ii8+PC9zdmc+") no-repeat; + content: ""; + display: flex; + height: 24px; + width: 24px; } [data-theme="dark"] .header-email-link:before { - filter: invert(100%); + filter: invert(100%); } .navbar__right { - padding: 0.3rem; + padding: 0.3rem; } div[class^="announcementBar_"] { - --site-announcement-bar-stripe-color1: hsl( - var(--site-primary-hue-saturation) 85% - ); - --site-announcement-bar-stripe-color2: hsl( - var(--site-primary-hue-saturation) 95% - ); - background: repeating-linear-gradient( - 35deg, - var(--site-announcement-bar-stripe-color1), - var(--site-announcement-bar-stripe-color1) 20px, - var(--site-announcement-bar-stripe-color2) 10px, - var(--site-announcement-bar-stripe-color2) 40px - ); - font-weight: 700; + --site-announcement-bar-stripe-color1: hsl( + var(--site-primary-hue-saturation) 85% + ); + --site-announcement-bar-stripe-color2: hsl( + var(--site-primary-hue-saturation) 95% + ); + background: repeating-linear-gradient( + 35deg, + var(--site-announcement-bar-stripe-color1), + var(--site-announcement-bar-stripe-color1) 20px, + var(--site-announcement-bar-stripe-color2) 10px, + var(--site-announcement-bar-stripe-color2) 40px + ); + font-weight: 700; } /* NEW CSS*/ .goffMainTitle { - margin-top: 2rem; - font-size: 4rem; - line-height: 2.5rem; - color: var(--goff-main-title-color); - font-family: Poppins, sans-serif; - font-weight: 800; - letter-spacing: -0.18rem; + margin-top: 2rem; + font-size: 4rem; + line-height: 2.5rem; + color: var(--goff-main-title-color); + font-family: Poppins, sans-serif; + font-weight: 800; + letter-spacing: -0.18rem; } .goffMainSubtitle { - color: var(--goff-main-subtitle-color); - font-family: Poppins, sans-serif; - font-weight: 700; - letter-spacing: -0.18rem; - font-size: 2.80rem; - line-height: 2.5rem; + color: var(--goff-main-subtitle-color); + font-family: Poppins, sans-serif; + font-weight: 700; + letter-spacing: -0.18rem; + font-size: 2.80rem; + line-height: 2.5rem; } -.menu-icon{ - color: #73c6b6; +.menu-icon { + color: #73c6b6; } html.plugin-blog h2, html.plugin-blog.blog-post-page h1 { - font-size: 2rem; + font-size: 2rem; } \ No newline at end of file diff --git a/website/src/css/simplegrid.css b/website/src/css/simplegrid.css deleted file mode 100644 index acc9bfa6b6e..00000000000 --- a/website/src/css/simplegrid.css +++ /dev/null @@ -1,289 +0,0 @@ -/* - Simple Grid - Project Page - http://thisisdallas.github.com/Simple-Grid/ - Author - Dallas Bass - Site - http://dallasbass.com -*/ - - -[class*='grid'], -[class*='col-'], -[class*='mobile-'], -.grid:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -[class*='col-'] { - float: left; - min-height: 1px; - padding-right: 20px; /* column-space */ -} - -[class*='col-'] [class*='col-']:last-child { - padding-right: 0; -} - -.grid { - width: 100%; - height: 100%; - /*max-width: 1140px;*/ - /*min-width: 748px; !* when using padded grid on ipad in portrait mode, width should be viewport-width - padding = (768 - 20) = 748. actually, it should be even smaller to allow for padding of grid containing element *!*/ - margin: 0 auto; - overflow: hidden; -} - -.grid:after { - content: ""; - display: table; - clear: both; -} - -.grid-pad { - padding-top: 20px; - padding-left: 20px; /* grid-space to left */ - padding-right: 0; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-20px=0 */ -} - -.push-right { - float: right; -} - -/* Content Columns */ - -.col-1-1 { - width: 100%; -} -.col-2-3, .col-8-12 { - width: 66.66%; -} - -.col-1-2, .col-6-12 { - width: 50%; -} - -.col-1-3, .col-4-12 { - width: 33.33%; -} - -.col-1-4, .col-3-12 { - width: 25%; -} - -.col-1-5 { - width: 20%; -} - -.col-1-6, .col-2-12 { - width: 16.667%; -} - -.col-1-7 { - width: 14.28%; -} - -.col-1-8 { - width: 12.5%; -} - -.col-1-9 { - width: 11.1%; -} - -.col-1-10 { - width: 10%; -} - -.col-1-11 { - width: 9.09%; -} - -.col-1-12 { - width: 8.33% -} - -/* Layout Columns */ - -.col-11-12 { - width: 91.66% -} - -.col-10-12 { - width: 83.333%; -} - -.col-9-12 { - width: 75%; -} - -.col-5-12 { - width: 41.66%; -} - -.col-7-12 { - width: 58.33% -} - -/* Pushing blocks */ - -.push-2-3, .push-8-12 { - margin-left: 66.66%; -} - -.push-1-2, .push-6-12 { - margin-left: 50%; -} - -.push-1-3, .push-4-12 { - margin-left: 33.33%; -} - -.push-1-4, .push-3-12 { - margin-left: 25%; -} - -.push-1-5 { - margin-left: 20%; -} - -.push-1-6, .push-2-12 { - margin-left: 16.667%; -} - -.push-1-7 { - margin-left: 14.28%; -} - -.push-1-8 { - margin-left: 12.5%; -} - -.push-1-9 { - margin-left: 11.1%; -} - -.push-1-10 { - margin-left: 10%; -} - -.push-1-11 { - margin-left: 9.09%; -} - -.push-1-12 { - margin-left: 8.33% -} - -@media handheld, only screen and (max-width: 767px) { - .grid { - width: 100%; - min-width: 0; - margin-left: 0; - margin-right: 0; - padding-left: 20px; /* grid-space to left */ - padding-right: 10px; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-10px=10px */ - } - - [class*='col-'] { - width: auto; - float: none; - margin: 10px 0; - padding-left: 0; - padding-right: 10px; /* column-space */ - } - - [class*='col-'] [class*='col-'] { - padding-right: 0; - } - - /* Mobile Layout */ - - [class*='mobile-col-'] { - float: left; - margin: 0 0 10px; - padding-left: 0; - padding-right: 10px; /* column-space */ - padding-bottom: 0; - } - - .mobile-col-1-1 { - width: 100%; - } - .mobile-col-2-3, .mobile-col-8-12 { - width: 66.66%; - } - - .mobile-col-1-2, .mobile-col-6-12 { - width: 50%; - } - - .mobile-col-1-3, .mobile-col-4-12 { - width: 33.33%; - } - - .mobile-col-1-4, .mobile-col-3-12 { - width: 25%; - } - - .mobile-col-1-5 { - width: 20%; - } - - .mobile-col-1-6, .mobile-col-2-12 { - width: 16.667%; - } - - .mobile-col-1-7 { - width: 14.28%; - } - - .mobile-col-1-8 { - width: 12.5%; - } - - .mobile-col-1-9 { - width: 11.1%; - } - - .mobile-col-1-10 { - width: 10%; - } - - .mobile-col-1-11 { - width: 9.09%; - } - - .mobile-col-1-12 { - width: 8.33% - } - - /* Layout Columns */ - - .mobile-col-11-12 { - width: 91.66% - } - - .mobile-col-10-12 { - width: 83.333%; - } - - .mobile-col-9-12 { - width: 75%; - } - - .mobile-col-5-12 { - width: 41.66%; - } - - .mobile-col-7-12 { - width: 58.33% - } - - .hide-on-mobile { - display: none !important; - width: 0; - height: 0; - } -} - diff --git a/website/src/pages/editor/index.js b/website/src/pages/editor/index.js index be40a8c0c0a..3b5299e9a12 100644 --- a/website/src/pages/editor/index.js +++ b/website/src/pages/editor/index.js @@ -1,5 +1,5 @@ import React from 'react'; -import {useForm, FormProvider, useFieldArray} from 'react-hook-form'; +import {FormProvider, useFieldArray, useForm} from 'react-hook-form'; import Layout from '@theme/Layout'; import {FlagForm} from '../../components/editor/FlagForm'; import {FlagDisplay} from '../../components/editor/FlagDisplay'; @@ -49,9 +49,9 @@ function App() { }; return ( -
+
-
+
{fields.map((field, index) => ( @@ -69,7 +69,9 @@ function App() {
- +
+ +
); diff --git a/website/src/pages/pricing/index.mdx b/website/src/pages/pricing/index.mdx new file mode 100644 index 00000000000..19f821e165c --- /dev/null +++ b/website/src/pages/pricing/index.mdx @@ -0,0 +1,8 @@ +--- +title: Pricing +description: GO Feature Flag is free 🙌 +--- + +import Pricing from "./pricing"; + + diff --git a/website/src/pages/pricing/pricing.jsx b/website/src/pages/pricing/pricing.jsx new file mode 100644 index 00000000000..f80e5c7d873 --- /dev/null +++ b/website/src/pages/pricing/pricing.jsx @@ -0,0 +1,134 @@ +import { MdOutlineCheck } from "react-icons/md"; +import React from "react"; +import Link from "@docusaurus/Link"; +import { BsBuildings } from "react-icons/bs"; +import { RiOpenSourceFill } from "react-icons/ri"; + +export default function Pricing() { + return ( +
+ +
+

+ GO Feature Flag is free 🙌 +

+
+

+ We are 100% OpenSource and we want to continue like that, but we offer + other services if you need it. +

+
+
+

+ +
+ Opensource +

+

+ + $0 + + /forever +

+

+ The perfect plan if you want to do everything by your-self. +

+
    +
  • + + Access to all features +
  • +
  • + + Use in your own infrastructure +
  • +
  • + + Unlimited feature flags +
  • +
  • + + Community support only +
  • +
+ + Get started today + + + Sponsor us ❤️ + +
+
+

+ +
+ Enterprise +

+

+ + Enterprise support + +

+

+ The perfect plan if you need a bit more help. We are here for you. +

+
    +
  • + + Same as Opensource +
  • +
  • + + Premium support +
  • +
  • + + Direct communication with the maintainers +
  • +
  • + + Help during your integration +
  • +
  • + + Preview of the roadmap +
  • +
  • + + Training material for your team +
  • +
+ + Contact us + +
+
+
+ ); +} diff --git a/website/tailwind.config.js b/website/tailwind.config.js new file mode 100644 index 00000000000..09cdbada065 --- /dev/null +++ b/website/tailwind.config.js @@ -0,0 +1,38 @@ +const {fontFamily} = require('tailwindcss/defaultTheme'); + +/** @type {import('tailwindcss').Config} */ +module.exports = { + corePlugins: { + preflight: false, + }, + darkMode: ['class', '[data-theme="dark"]'], + content: ['./src/**/*.{js,jsx,ts,tsx,md,mdx}', './docs/**/*.{md,mdx}'], + theme: { + extend: { + fontFamily: { + sans: ['"Inter"', ...fontFamily.sans], + jakarta: ['"Plus Jakarta Sans"', ...fontFamily.sans], + mono: ['"Fira Code"', ...fontFamily.mono], + }, + borderRadius: { + sm: '4px', + }, + colors: { + goff: { + 50: '#edfcf7', + 100: '#cdf7e7', + 200: '#abefd9', + 300: '#74e1c4', + 400: '#3ccbaa', + 500: '#18b192', + 600: '#0c8f77', + 700: '#0a7263', + 800: '#0a5b4f', + 900: '#0a4a41', + 950: '#042a26', + }, + }, + }, + }, + plugins: [], +};