From b1ff6e80ce1f3b210ac2f8b59e1ff48f1ad88b82 Mon Sep 17 00:00:00 2001 From: "@lukin" Date: Sun, 16 Oct 2022 18:00:00 +0400 Subject: [PATCH] feat!: add identity provider icons --- README.md | 11 +- package.json | 10 +- pnpm-lock.yaml | 254 +++++++++--------- preview.png | Bin 27025 -> 27257 bytes src/index.css | 9 +- src/index.ts | 4 +- tailwind.config.js | 18 +- .../login/components/checkbox/primary.ftl | 4 +- .../login/components/icon/provider.ftl | 69 +++++ .../components/icon/provider/bitbucket.ftl | 14 + .../components/icon/provider/facebook.ftl | 8 + .../login/components/icon/provider/github.ftl | 7 + .../login/components/icon/provider/gitlab.ftl | 10 + .../login/components/icon/provider/google.ftl | 10 + .../components/icon/provider/instagram.ftl | 35 +++ .../components/icon/provider/linkedin.ftl | 7 + .../components/icon/provider/microsoft.ftl | 10 + .../login/components/icon/provider/oidc.ftl | 9 + .../components/icon/provider/openshift.ftl | 11 + .../login/components/icon/provider/paypal.ftl | 9 + .../icon/provider/stackoverflow.ftl | 8 + .../components/icon/provider/twitter.ftl | 7 + .../login/components/input/primary.ftl | 2 +- .../login/components/layout/container.ftl | 2 +- .../login/components/layout/locales.ftl | 1 + .../components/layout/required-fields.ftl | 2 +- .../keywind/login/components/link/primary.ftl | 2 +- .../login/components/link/secondary.ftl | 2 +- theme/keywind/login/components/provider.ftl | 64 ++++- .../login/components/radio/primary.ftl | 2 +- theme/keywind/login/components/socials.ftl | 37 --- theme/keywind/login/resources/dist/index.css | 2 +- theme/keywind/login/resources/dist/index.js | 2 +- 33 files changed, 456 insertions(+), 186 deletions(-) create mode 100644 theme/keywind/login/components/icon/provider.ftl create mode 100644 theme/keywind/login/components/icon/provider/bitbucket.ftl create mode 100644 theme/keywind/login/components/icon/provider/facebook.ftl create mode 100644 theme/keywind/login/components/icon/provider/github.ftl create mode 100644 theme/keywind/login/components/icon/provider/gitlab.ftl create mode 100644 theme/keywind/login/components/icon/provider/google.ftl create mode 100644 theme/keywind/login/components/icon/provider/instagram.ftl create mode 100644 theme/keywind/login/components/icon/provider/linkedin.ftl create mode 100644 theme/keywind/login/components/icon/provider/microsoft.ftl create mode 100644 theme/keywind/login/components/icon/provider/oidc.ftl create mode 100644 theme/keywind/login/components/icon/provider/openshift.ftl create mode 100644 theme/keywind/login/components/icon/provider/paypal.ftl create mode 100644 theme/keywind/login/components/icon/provider/stackoverflow.ftl create mode 100644 theme/keywind/login/components/icon/provider/twitter.ftl delete mode 100644 theme/keywind/login/components/socials.ftl diff --git a/README.md b/README.md index c1b1fb6..ccf1a8a 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,21 @@ Keywind is a component-based Keycloak Login Theme built with [Tailwind CSS](http - Logout Confirm - Register -### Social Media Icons +### Identity Provider Icons +- Bitbucket - Facebook - GitHub +- GitLab - Google +- Instagram +- LinkedIn - Microsoft +- OpenID +- Red Hat OpenShift +- PayPal +- Stack Overflow +- Twitter ## Installation diff --git a/package.json b/package.json index a5346fd..01928ab 100644 --- a/package.json +++ b/package.json @@ -5,15 +5,15 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "alpinejs": "^3.10.3" + "alpinejs": "^3.10.4" }, "devDependencies": { "@tailwindcss/forms": "^0.5.3", "@types/alpinejs": "^3.7.0", - "autoprefixer": "^10.4.8", - "postcss": "^8.4.16", + "autoprefixer": "^10.4.12", + "postcss": "^8.4.18", "tailwindcss": "^3.1.8", - "typescript": "^4.8.2", - "vite": "^3.0.9" + "typescript": "^4.8.4", + "vite": "^3.1.8" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0375641..89f5e1b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,29 +3,38 @@ lockfileVersion: 5.4 specifiers: '@tailwindcss/forms': ^0.5.3 '@types/alpinejs': ^3.7.0 - alpinejs: ^3.10.3 - autoprefixer: ^10.4.8 - postcss: ^8.4.16 + alpinejs: ^3.10.4 + autoprefixer: ^10.4.12 + postcss: ^8.4.18 tailwindcss: ^3.1.8 - typescript: ^4.8.2 - vite: ^3.0.9 + typescript: ^4.8.4 + vite: ^3.1.8 dependencies: - alpinejs: 3.10.3 + alpinejs: 3.10.4 devDependencies: '@tailwindcss/forms': 0.5.3_tailwindcss@3.1.8 '@types/alpinejs': 3.7.0 - autoprefixer: 10.4.8_postcss@8.4.16 - postcss: 8.4.16 - tailwindcss: 3.1.8 - typescript: 4.8.2 - vite: 3.0.9 + autoprefixer: 10.4.12_postcss@8.4.18 + postcss: 8.4.18 + tailwindcss: 3.1.8_postcss@8.4.18 + typescript: 4.8.4 + vite: 3.1.8 packages: - /@esbuild/linux-loong64/0.14.54: - resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + /@esbuild/android-arm/0.15.10: + resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.15.10: + resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -60,7 +69,7 @@ packages: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.1.8 + tailwindcss: 3.1.8_postcss@8.4.18 dev: true /@types/alpinejs/3.7.0: @@ -108,8 +117,8 @@ packages: hasBin: true dev: true - /alpinejs/3.10.3: - resolution: {integrity: sha512-nt/w4hLq9pPaexCsHmO5zV5Alvq4yu9n0Iclti6aV0HmiqLWH/axUb0pn8z3XVuVNcj8EOXOQw+WpwPzMzLBWg==} + /alpinejs/3.10.4: + resolution: {integrity: sha512-AC6Xchlb/xURO7F93OSMItooClpzGNZRM5+rDa6/3Y20mPxQs1TQ/wfiwiH4mtcVt8yTxdkOW5dOl8CBCK095A==} dependencies: '@vue/reactivity': 3.1.5 dev: false @@ -126,19 +135,19 @@ packages: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: true - /autoprefixer/10.4.8_postcss@8.4.16: - resolution: {integrity: sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==} + /autoprefixer/10.4.12_postcss@8.4.18: + resolution: {integrity: sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.3 - caniuse-lite: 1.0.30001387 + browserslist: 4.21.4 + caniuse-lite: 1.0.30001414 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.16 + postcss: 8.4.18 postcss-value-parser: 4.2.0 dev: true @@ -154,15 +163,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist/4.21.3: - resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==} + /browserslist/4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001387 - electron-to-chromium: 1.4.237 + caniuse-lite: 1.0.30001414 + electron-to-chromium: 1.4.268 node-releases: 2.0.6 - update-browserslist-db: 1.0.5_browserslist@4.21.3 + update-browserslist-db: 1.0.9_browserslist@4.21.4 dev: true /camelcase-css/2.0.1: @@ -170,8 +179,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite/1.0.30001387: - resolution: {integrity: sha512-fKDH0F1KOJvR+mWSOvhj8lVRr/Q/mc5u5nabU2vi1/sgvlSqEsE8dOq0Hy/BqVbDkCYQPRRHB1WRjW6PGB/7PA==} + /caniuse-lite/1.0.30001414: + resolution: {integrity: sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==} dev: true /chokidar/3.5.3: @@ -221,12 +230,12 @@ packages: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true - /electron-to-chromium/1.4.237: - resolution: {integrity: sha512-vxVyGJcsgArNOVUJcXm+7iY3PJAfmSapEszQD1HbyPLl0qoCmNQ1o/EX3RI7Et5/88In9oLxX3SGF8J3orkUgA==} + /electron-to-chromium/1.4.268: + resolution: {integrity: sha512-PO90Bv++vEzdln+eA9qLg1IRnh0rKETus6QkTzcFm5P3Wg3EQBZud5dcnzkpYXuIKWBjKe5CO8zjz02cicvn1g==} dev: true - /esbuild-android-64/0.14.54: - resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + /esbuild-android-64/0.15.10: + resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -234,8 +243,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.54: - resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + /esbuild-android-arm64/0.15.10: + resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -243,8 +252,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.54: - resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + /esbuild-darwin-64/0.15.10: + resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -252,8 +261,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.54: - resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + /esbuild-darwin-arm64/0.15.10: + resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -261,8 +270,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.54: - resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + /esbuild-freebsd-64/0.15.10: + resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -270,8 +279,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.54: - resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + /esbuild-freebsd-arm64/0.15.10: + resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -279,8 +288,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.54: - resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + /esbuild-linux-32/0.15.10: + resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -288,8 +297,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.54: - resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + /esbuild-linux-64/0.15.10: + resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -297,8 +306,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.54: - resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + /esbuild-linux-arm/0.15.10: + resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -306,8 +315,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.54: - resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + /esbuild-linux-arm64/0.15.10: + resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -315,8 +324,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.54: - resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + /esbuild-linux-mips64le/0.15.10: + resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -324,8 +333,8 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.54: - resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + /esbuild-linux-ppc64le/0.15.10: + resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -333,8 +342,8 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.54: - resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + /esbuild-linux-riscv64/0.15.10: + resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -342,8 +351,8 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.54: - resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + /esbuild-linux-s390x/0.15.10: + resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -351,8 +360,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.54: - resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + /esbuild-netbsd-64/0.15.10: + resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -360,8 +369,8 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.54: - resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + /esbuild-openbsd-64/0.15.10: + resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -369,8 +378,8 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.54: - resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + /esbuild-sunos-64/0.15.10: + resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -378,8 +387,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.54: - resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + /esbuild-windows-32/0.15.10: + resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -387,8 +396,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.54: - resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + /esbuild-windows-64/0.15.10: + resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -396,8 +405,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.54: - resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + /esbuild-windows-arm64/0.15.10: + resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -405,33 +414,34 @@ packages: dev: true optional: true - /esbuild/0.14.54: - resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + /esbuild/0.15.10: + resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/linux-loong64': 0.14.54 - esbuild-android-64: 0.14.54 - esbuild-android-arm64: 0.14.54 - esbuild-darwin-64: 0.14.54 - esbuild-darwin-arm64: 0.14.54 - esbuild-freebsd-64: 0.14.54 - esbuild-freebsd-arm64: 0.14.54 - esbuild-linux-32: 0.14.54 - esbuild-linux-64: 0.14.54 - esbuild-linux-arm: 0.14.54 - esbuild-linux-arm64: 0.14.54 - esbuild-linux-mips64le: 0.14.54 - esbuild-linux-ppc64le: 0.14.54 - esbuild-linux-riscv64: 0.14.54 - esbuild-linux-s390x: 0.14.54 - esbuild-netbsd-64: 0.14.54 - esbuild-openbsd-64: 0.14.54 - esbuild-sunos-64: 0.14.54 - esbuild-windows-32: 0.14.54 - esbuild-windows-64: 0.14.54 - esbuild-windows-arm64: 0.14.54 + '@esbuild/android-arm': 0.15.10 + '@esbuild/linux-loong64': 0.15.10 + esbuild-android-64: 0.15.10 + esbuild-android-arm64: 0.15.10 + esbuild-darwin-64: 0.15.10 + esbuild-darwin-arm64: 0.15.10 + esbuild-freebsd-64: 0.15.10 + esbuild-freebsd-arm64: 0.15.10 + esbuild-linux-32: 0.15.10 + esbuild-linux-64: 0.15.10 + esbuild-linux-arm: 0.15.10 + esbuild-linux-arm64: 0.15.10 + esbuild-linux-mips64le: 0.15.10 + esbuild-linux-ppc64le: 0.15.10 + esbuild-linux-riscv64: 0.15.10 + esbuild-linux-s390x: 0.15.10 + esbuild-netbsd-64: 0.15.10 + esbuild-openbsd-64: 0.15.10 + esbuild-sunos-64: 0.15.10 + esbuild-windows-32: 0.15.10 + esbuild-windows-64: 0.15.10 + esbuild-windows-arm64: 0.15.10 dev: true /escalade/3.1.1: @@ -605,29 +615,29 @@ packages: engines: {node: '>=0.10.0'} dev: true - /postcss-import/14.1.0_postcss@8.4.16: + /postcss-import/14.1.0_postcss@8.4.18: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.16 + postcss: 8.4.18 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 dev: true - /postcss-js/4.0.0_postcss@8.4.16: + /postcss-js/4.0.0_postcss@8.4.18: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.16 + postcss: 8.4.18 dev: true - /postcss-load-config/3.1.4_postcss@8.4.16: + /postcss-load-config/3.1.4_postcss@8.4.18: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -640,17 +650,17 @@ packages: optional: true dependencies: lilconfig: 2.0.5 - postcss: 8.4.16 + postcss: 8.4.18 yaml: 1.10.2 dev: true - /postcss-nested/5.0.6_postcss@8.4.16: + /postcss-nested/5.0.6_postcss@8.4.18: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.16 + postcss: 8.4.18 postcss-selector-parser: 6.0.10 dev: true @@ -666,8 +676,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.16: - resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} + /postcss/8.4.18: + resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -711,8 +721,8 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rollup/2.77.3: - resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} + /rollup/2.78.1: + resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -735,10 +745,12 @@ packages: engines: {node: '>= 0.4'} dev: true - /tailwindcss/3.1.8: + /tailwindcss/3.1.8_postcss@8.4.18: resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} engines: {node: '>=12.13.0'} hasBin: true + peerDependencies: + postcss: ^8.0.9 dependencies: arg: 5.0.2 chokidar: 3.5.3 @@ -753,11 +765,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.16 - postcss-import: 14.1.0_postcss@8.4.16 - postcss-js: 4.0.0_postcss@8.4.16 - postcss-load-config: 3.1.4_postcss@8.4.16 - postcss-nested: 5.0.6_postcss@8.4.16 + postcss: 8.4.18 + postcss-import: 14.1.0_postcss@8.4.18 + postcss-js: 4.0.0_postcss@8.4.18 + postcss-load-config: 3.1.4_postcss@8.4.18 + postcss-nested: 5.0.6_postcss@8.4.18 postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 @@ -773,19 +785,19 @@ packages: is-number: 7.0.0 dev: true - /typescript/4.8.2: - resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} + /typescript/4.8.4: + resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} engines: {node: '>=4.2.0'} hasBin: true dev: true - /update-browserslist-db/1.0.5_browserslist@4.21.3: - resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==} + /update-browserslist-db/1.0.9_browserslist@4.21.4: + resolution: {integrity: sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.3 + browserslist: 4.21.4 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -794,8 +806,8 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite/3.0.9: - resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==} + /vite/3.1.8: + resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -813,10 +825,10 @@ packages: terser: optional: true dependencies: - esbuild: 0.14.54 - postcss: 8.4.16 + esbuild: 0.15.10 + postcss: 8.4.18 resolve: 1.22.1 - rollup: 2.77.3 + rollup: 2.78.1 optionalDependencies: fsevents: 2.3.2 dev: true diff --git a/preview.png b/preview.png index c59d3281358ad91738c6ca9b029bef31b60804a8..981558ad712ed5e3abf5b486442e710eb0090bd2 100644 GIT binary patch literal 27257 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 literal 27025 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 LWsH8NfersJ>Aw%0 diff --git a/src/index.css b/src/index.css index 675bc24..0624862 100644 --- a/src/index.css +++ b/src/index.css @@ -3,6 +3,13 @@ @tailwind utilities; @layer components { + /* Alpine.js + ======================================================================== */ + + [x-cloak] { + @apply hidden !important; + } + /* Separate ======================================================================== */ @@ -13,7 +20,7 @@ .separate::after, .separate::before { content: ''; - @apply border-b border-gray-300 flex-1; + @apply border-b border-secondary-200 flex-1; } .separate:not(:empty)::after { diff --git a/src/index.ts b/src/index.ts index 8e0126f..2133481 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ -import Alpine from 'alpinejs'; - import './index.css'; +import Alpine from 'alpinejs'; + window.Alpine = Alpine; Alpine.start(); diff --git a/tailwind.config.js b/tailwind.config.js index 036366b..5d605a7 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,7 +1,7 @@ const colors = require('tailwindcss/colors'); /** - * @type { import('tailwindcss/types').Config } + * @type { import('tailwindcss').Config } */ module.exports = { content: ['./theme/**/*.ftl'], @@ -14,6 +14,22 @@ module.exports = { colors: { primary: colors.blue, secondary: colors.gray, + + provider: { + bitbucket: '#0052CC', + facebook: '#1877F2', + github: '#181717', + gitlab: '#FC6D26', + google: '#4285F4', + instagram: '#E4405F', + linkedin: '#0A66C2', + microsoft: '#5E5E5E', + oidc: '#F78C40', + openshift: '#EE0000', + paypal: '#00457C', + stackoverflow: '#F58025', + twitter: '#1DA1F2', + }, }, }, }, diff --git a/theme/keywind/login/components/checkbox/primary.ftl b/theme/keywind/login/components/checkbox/primary.ftl index 05c9c07..8f11a81 100644 --- a/theme/keywind/login/components/checkbox/primary.ftl +++ b/theme/keywind/login/components/checkbox/primary.ftl @@ -2,7 +2,7 @@
checked - class="border-gray-300 h-4 rounded text-primary-600 w-4 focus:ring-primary-200 focus:ring-opacity-50" + class="border-secondary-200 h-4 rounded text-primary-600 w-4 focus:ring-primary-200 focus:ring-opacity-50" id="${name}" name="${name}" type="checkbox" @@ -10,7 +10,7 @@ ${attrName}="${attrValue}" > -
diff --git a/theme/keywind/login/components/icon/provider.ftl b/theme/keywind/login/components/icon/provider.ftl new file mode 100644 index 0000000..165267f --- /dev/null +++ b/theme/keywind/login/components/icon/provider.ftl @@ -0,0 +1,69 @@ +<#import "./provider/bitbucket.ftl" as bitbucketIcon> +<#import "./provider/facebook.ftl" as facebookIcon> +<#import "./provider/github.ftl" as githubIcon> +<#import "./provider/gitlab.ftl" as gitlabIcon> +<#import "./provider/google.ftl" as googleIcon> +<#import "./provider/instagram.ftl" as instagramIcon> +<#import "./provider/linkedin.ftl" as linkedinIcon> +<#import "./provider/microsoft.ftl" as microsoftIcon> +<#import "./provider/oidc.ftl" as oidcIcon> +<#import "./provider/openshift.ftl" as openshiftIcon> +<#import "./provider/paypal.ftl" as paypalIcon> +<#import "./provider/stackoverflow.ftl" as stackoverflowIcon> +<#import "./provider/twitter.ftl" as twitterIcon> + +<#macro bitbucket> + <@bitbucketIcon.kw /> + + +<#macro facebook> + <@facebookIcon.kw /> + + +<#macro github> + <@githubIcon.kw /> + + +<#macro gitlab> + <@gitlabIcon.kw /> + + +<#macro google> + <@googleIcon.kw /> + + +<#macro instagram> + <@instagramIcon.kw /> + + +<#macro linkedin> + <@linkedinIcon.kw /> + + +<#macro microsoft> + <@microsoftIcon.kw /> + + +<#macro oidc> + <@oidcIcon.kw /> + + +<#macro "openshift-v3"> + <@openshiftIcon.kw /> + + +<#macro "openshift-v4"> + <@openshiftIcon.kw /> + + +<#macro paypal> + <@paypalIcon.kw /> + + +<#macro stackoverflow> + <@stackoverflowIcon.kw /> + + +<#macro twitter> + <@twitterIcon.kw /> + diff --git a/theme/keywind/login/components/icon/provider/bitbucket.ftl b/theme/keywind/login/components/icon/provider/bitbucket.ftl new file mode 100644 index 0000000..068bc73 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/bitbucket.ftl @@ -0,0 +1,14 @@ +<#-- https://atlassian.design/resources/logo-library --> +<#macro kw name="Bitbucket"> + + ${name} + + + + + + + + + + diff --git a/theme/keywind/login/components/icon/provider/facebook.ftl b/theme/keywind/login/components/icon/provider/facebook.ftl new file mode 100644 index 0000000..bc692e7 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/facebook.ftl @@ -0,0 +1,8 @@ +<#-- https://www.facebook.com/brand/resources/facebookapp/logo --> +<#macro kw name="Facebook"> + + ${name} + + + + diff --git a/theme/keywind/login/components/icon/provider/github.ftl b/theme/keywind/login/components/icon/provider/github.ftl new file mode 100644 index 0000000..9523103 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/github.ftl @@ -0,0 +1,7 @@ +<#-- https://github.com/logos --> +<#macro kw name="GitHub"> + + ${name} + + + diff --git a/theme/keywind/login/components/icon/provider/gitlab.ftl b/theme/keywind/login/components/icon/provider/gitlab.ftl new file mode 100644 index 0000000..4acfc13 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/gitlab.ftl @@ -0,0 +1,10 @@ +<#-- https://about.gitlab.com/press/press-kit --> +<#macro kw name="GitLab"> + + ${name} + + + + + + diff --git a/theme/keywind/login/components/icon/provider/google.ftl b/theme/keywind/login/components/icon/provider/google.ftl new file mode 100644 index 0000000..b536cdb --- /dev/null +++ b/theme/keywind/login/components/icon/provider/google.ftl @@ -0,0 +1,10 @@ +<#-- https://developers.google.com/identity/branding-guidelines --> +<#macro kw name="Google"> + + ${name} + + + + + + diff --git a/theme/keywind/login/components/icon/provider/instagram.ftl b/theme/keywind/login/components/icon/provider/instagram.ftl new file mode 100644 index 0000000..c4996d8 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/instagram.ftl @@ -0,0 +1,35 @@ +<#-- https://www.facebook.com/brand/resources/instagram/instagram-brand --> +<#macro kw name="Instagram"> + + ${name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme/keywind/login/components/icon/provider/linkedin.ftl b/theme/keywind/login/components/icon/provider/linkedin.ftl new file mode 100644 index 0000000..944d143 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/linkedin.ftl @@ -0,0 +1,7 @@ +<#-- https://brand.linkedin.com/downloads --> +<#macro kw name="LinkedIn"> + + ${name} + + + diff --git a/theme/keywind/login/components/icon/provider/microsoft.ftl b/theme/keywind/login/components/icon/provider/microsoft.ftl new file mode 100644 index 0000000..408635b --- /dev/null +++ b/theme/keywind/login/components/icon/provider/microsoft.ftl @@ -0,0 +1,10 @@ +<#-- https://learn.microsoft.com/azure/active-directory/develop/howto-add-branding-in-azure-ad-apps --> +<#macro kw name="Microsoft"> + + ${name} + + + + + + diff --git a/theme/keywind/login/components/icon/provider/oidc.ftl b/theme/keywind/login/components/icon/provider/oidc.ftl new file mode 100644 index 0000000..f7954ff --- /dev/null +++ b/theme/keywind/login/components/icon/provider/oidc.ftl @@ -0,0 +1,9 @@ +<#-- https://openid.net/add-openid/logos --> +<#macro kw name="OpenID"> + + ${name} + + + + + diff --git a/theme/keywind/login/components/icon/provider/openshift.ftl b/theme/keywind/login/components/icon/provider/openshift.ftl new file mode 100644 index 0000000..e85ddef --- /dev/null +++ b/theme/keywind/login/components/icon/provider/openshift.ftl @@ -0,0 +1,11 @@ +<#-- https://www.redhat.com/technologies/cloud-computing/openshift --> +<#macro kw name="Red Hat OpenShift"> + + ${name} + + + + + + + diff --git a/theme/keywind/login/components/icon/provider/paypal.ftl b/theme/keywind/login/components/icon/provider/paypal.ftl new file mode 100644 index 0000000..7946e03 --- /dev/null +++ b/theme/keywind/login/components/icon/provider/paypal.ftl @@ -0,0 +1,9 @@ +<#-- https://www.paypal.com --> +<#macro kw name="PayPal"> + + ${name} + + + + + diff --git a/theme/keywind/login/components/icon/provider/stackoverflow.ftl b/theme/keywind/login/components/icon/provider/stackoverflow.ftl new file mode 100644 index 0000000..1ffad8d --- /dev/null +++ b/theme/keywind/login/components/icon/provider/stackoverflow.ftl @@ -0,0 +1,8 @@ +<#-- https://stackoverflow.design/brand/logo --> +<#macro kw name="Stack Overflow"> + + ${name} + + + + diff --git a/theme/keywind/login/components/icon/provider/twitter.ftl b/theme/keywind/login/components/icon/provider/twitter.ftl new file mode 100644 index 0000000..2bc7e7e --- /dev/null +++ b/theme/keywind/login/components/icon/provider/twitter.ftl @@ -0,0 +1,7 @@ +<#-- https://about.twitter.com/en/who-we-are/brand-toolkit --> +<#macro kw name="Twitter"> + + ${name} + + + diff --git a/theme/keywind/login/components/input/primary.ftl b/theme/keywind/login/components/input/primary.ftl index 4cba2e2..0ea494f 100644 --- a/theme/keywind/login/components/input/primary.ftl +++ b/theme/keywind/login/components/input/primary.ftl @@ -7,7 +7,7 @@ <#if disabled>disabled <#if required>required aria-invalid="${messagesPerField.existsError(invalid)?c}" - class="block border-gray-300 mt-1 rounded-md w-full focus:border-primary-300 focus:ring focus:ring-primary-200 focus:ring-opacity-50 sm:text-sm" + class="block border-secondary-200 mt-1 rounded-md w-full focus:border-primary-300 focus:ring focus:ring-primary-200 focus:ring-opacity-50 sm:text-sm" id="${name}" name="${name}" placeholder="<#compress><#nested>" diff --git a/theme/keywind/login/components/layout/container.ftl b/theme/keywind/login/components/layout/container.ftl index 985284b..fdd0fe7 100644 --- a/theme/keywind/login/components/layout/container.ftl +++ b/theme/keywind/login/components/layout/container.ftl @@ -1,5 +1,5 @@ <#macro kw> -
+
<#nested>
diff --git a/theme/keywind/login/components/layout/locales.ftl b/theme/keywind/login/components/layout/locales.ftl index 02f5053..0fb4318 100644 --- a/theme/keywind/login/components/layout/locales.ftl +++ b/theme/keywind/login/components/layout/locales.ftl @@ -11,6 +11,7 @@
diff --git a/theme/keywind/login/components/layout/required-fields.ftl b/theme/keywind/login/components/layout/required-fields.ftl index 5789ac1..3e34bd7 100644 --- a/theme/keywind/login/components/layout/required-fields.ftl +++ b/theme/keywind/login/components/layout/required-fields.ftl @@ -1,3 +1,3 @@ <#macro kw> -
* ${msg("requiredFields")}
+
* ${msg("requiredFields")}
diff --git a/theme/keywind/login/components/link/primary.ftl b/theme/keywind/login/components/link/primary.ftl index 8629108..53a9470 100644 --- a/theme/keywind/login/components/link/primary.ftl +++ b/theme/keywind/login/components/link/primary.ftl @@ -1,6 +1,6 @@ <#macro kw component="a" rest...> <${component} - class="flex text-primary-600 hover:text-primary-500" + class="inline-flex text-primary-600 hover:text-primary-500" <#list rest as attrName, attrValue> ${attrName}="${attrValue}" diff --git a/theme/keywind/login/components/link/secondary.ftl b/theme/keywind/login/components/link/secondary.ftl index 431bb75..a250061 100644 --- a/theme/keywind/login/components/link/secondary.ftl +++ b/theme/keywind/login/components/link/secondary.ftl @@ -1,6 +1,6 @@ <#macro kw component="a" rest...> <${component} - class="flex text-secondary-600 hover:text-secondary-900" + class="inline-flex text-secondary-600 hover:text-secondary-900" <#list rest as attrName, attrValue> ${attrName}="${attrValue}" diff --git a/theme/keywind/login/components/provider.ftl b/theme/keywind/login/components/provider.ftl index dfcba4c..6a34f15 100644 --- a/theme/keywind/login/components/provider.ftl +++ b/theme/keywind/login/components/provider.ftl @@ -1,20 +1,68 @@ -<#import "./socials.ftl" as socials> +<#import "./icon/provider.ftl" as iconProvider> <#macro kw> -
${msg("identity-provider-login-label")}
-
+
${msg("identity-provider-login-label")}
+
<#list social.providers as provider> + <#switch provider.alias> + <#case "bitbucket"> + <#assign color="hover:bg-provider-bitbucket/10"> + <#break> + <#case "facebook"> + <#assign color="hover:bg-provider-facebook/10"> + <#break> + <#case "github"> + <#assign color="hover:bg-provider-github/10"> + <#break> + <#case "gitlab"> + <#assign color="hover:bg-provider-gitlab/10"> + <#break> + <#case "google"> + <#assign color="hover:bg-provider-google/10"> + <#break> + <#case "instagram"> + <#assign color="hover:bg-provider-instagram/10"> + <#break> + <#case "linkedin"> + <#assign color="hover:bg-provider-linkedin/10"> + <#break> + <#case "microsoft"> + <#assign color="hover:bg-provider-microsoft/10"> + <#break> + <#case "oidc"> + <#assign color="hover:bg-provider-oidc/10"> + <#break> + <#case "openshift-v3"> + <#assign color="hover:bg-provider-openshift/10"> + <#break> + <#case "openshift-v4"> + <#assign color="hover:bg-provider-openshift/10"> + <#break> + <#case "paypal"> + <#assign color="hover:bg-provider-paypal/10"> + <#break> + <#case "stackoverflow"> + <#assign color="hover:bg-provider-stackoverflow/10"> + <#break> + <#case "twitter"> + <#assign color="hover:bg-provider-twitter/10"> + <#break> + <#default> + <#assign color="hover:bg-secondary-100"> + + - <#if provider.iconClasses?has_content> - + <#if iconProvider[provider.alias]??> +
+ <@iconProvider[provider.alias] /> +
<#else> - <@socials[provider.alias] /> + ${provider.displayName!}
diff --git a/theme/keywind/login/components/radio/primary.ftl b/theme/keywind/login/components/radio/primary.ftl index 25290ca..0528542 100644 --- a/theme/keywind/login/components/radio/primary.ftl +++ b/theme/keywind/login/components/radio/primary.ftl @@ -2,7 +2,7 @@
checked - class="border-gray-300 focus:ring-primary-600" + class="border-secondary-200 focus:ring-primary-600" id="${id}" type="radio" <#list rest as attrName, attrValue> diff --git a/theme/keywind/login/components/socials.ftl b/theme/keywind/login/components/socials.ftl deleted file mode 100644 index fa99fcb..0000000 --- a/theme/keywind/login/components/socials.ftl +++ /dev/null @@ -1,37 +0,0 @@ -<#-- https://facebookbrand.com/facebookapp/assets/f-logo/ --> -<#macro facebook> - - - - - - -<#-- https://github.com/logos --> -<#macro github> - - - - - - -<#-- https://developers.google.com/identity/branding-guidelines --> -<#macro google> - - - - - - - - - -<#-- https://docs.microsoft.com/azure/active-directory/develop/howto-add-branding-in-azure-ad-apps --> -<#macro microsoft> - - - - - - - - diff --git a/theme/keywind/login/resources/dist/index.css b/theme/keywind/login/resources/dist/index.css index 1a19bdd..c7c00cd 100644 --- a/theme/keywind/login/resources/dist/index.css +++ b/theme/keywind/login/resources/dist/index.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.shadow-lg{--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000}.focus\:ring-2,.focus\:ring{--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.separate{display:flex;align-items:center;text-align:center}.separate:after,.separate:before{content:"";flex:1 1 0%;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.separate:not(:empty):after{margin-left:.5rem}.separate:not(:empty):before{margin-right:.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0px}.-left-4{left:-1rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mr-1{margin-right:.25rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-4{height:1rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-4{width:1rem}.max-w-md{max-width:28rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-y-scroll{overflow-y:scroll}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.p-4{padding:1rem}.p-8{padding:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-5xl{font-size:3rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-secondary-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-secondary-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:text-secondary-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.focus\:ring-secondary-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 640px){.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}} +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.shadow-lg{--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000}.focus\:ring-2,.focus\:ring{--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}[x-cloak]{display:none!important}.separate{display:flex;align-items:center;text-align:center}.separate:after,.separate:before{content:"";flex:1 1 0%;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.separate:not(:empty):after{margin-left:.5rem}.separate:not(:empty):before{margin-right:.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0px}.-left-4{left:-1rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mr-1{margin-right:.25rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-6{height:1.5rem}.h-4{height:1rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-6{width:1.5rem}.w-full{width:100%}.w-4{width:1rem}.max-w-md{max-width:28rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-y-scroll{overflow-y:scroll}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-secondary-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-4{padding:1rem}.p-8{padding:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-secondary-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-secondary-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:border-transparent:hover{border-color:transparent}.hover\:bg-provider-bitbucket\/10:hover{background-color:#0052cc1a}.hover\:bg-provider-facebook\/10:hover{background-color:#1877f21a}.hover\:bg-provider-github\/10:hover{background-color:#1817171a}.hover\:bg-provider-gitlab\/10:hover{background-color:#fc6d261a}.hover\:bg-provider-google\/10:hover{background-color:#4285f41a}.hover\:bg-provider-instagram\/10:hover{background-color:#e4405f1a}.hover\:bg-provider-linkedin\/10:hover{background-color:#0a66c21a}.hover\:bg-provider-microsoft\/10:hover{background-color:#5e5e5e1a}.hover\:bg-provider-oidc\/10:hover{background-color:#f78c401a}.hover\:bg-provider-openshift\/10:hover{background-color:#ee00001a}.hover\:bg-provider-paypal\/10:hover{background-color:#00457c1a}.hover\:bg-provider-stackoverflow\/10:hover{background-color:#f580251a}.hover\:bg-provider-twitter\/10:hover{background-color:#1da1f21a}.hover\:bg-secondary-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-secondary-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:text-secondary-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.focus\:ring-secondary-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media (min-width: 640px){.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}} diff --git a/theme/keywind/login/resources/dist/index.js b/theme/keywind/login/resources/dist/index.js index 87df594..a820e79 100644 --- a/theme/keywind/login/resources/dist/index.js +++ b/theme/keywind/login/resources/dist/index.js @@ -2,4 +2,4 @@ var Ae=!1,Oe=!1,$=[];function Or(e){Cr(e)}function Cr(e){$.includes(e)||$.push(e ${r?'Expression: "'+r+`" -`:""}`,t),setTimeout(()=>{throw e},0)}var ne=!0;function Hr(e){let t=ne;ne=!1,e(),ne=t}function F(e,t,r={}){let n;return b(e,t)(i=>n=i,r),n}function b(...e){return Et(...e)}var Et=St;function qr(e){Et=e}function St(e,t){let r={};Te(r,e);let n=[r,...N(e)];if(typeof t=="function")return Wr(n,t);let i=Vr(n,t,e);return zr.bind(null,e,t,i)}function Wr(e,t){return(r=()=>{},{scope:n={},params:i=[]}={})=>{let o=t.apply(Q([n,...e]),i);oe(r,o)}}var we={};function Ur(e,t){if(we[e])return we[e];let r=Object.getPrototypeOf(async function(){}).constructor,n=/^[\n\s]*if.*\(.*\)/.test(e)||/^(let|const)\s/.test(e)?`(() => { ${e} })()`:e,o=(()=>{try{return new r(["__self","scope"],`with (scope) { __self.result = ${n} }; __self.finished = true; return __self.result;`)}catch(s){return G(s,t,e),Promise.resolve()}})();return we[e]=o,o}function Vr(e,t,r){let n=Ur(t,r);return(i=()=>{},{scope:o={},params:s=[]}={})=>{n.result=void 0,n.finished=!1;let a=Q([o,...e]);if(typeof n=="function"){let u=n(n,a).catch(c=>G(c,r,t));n.finished?(oe(i,n.result,a,s,r),n.result=void 0):u.then(c=>{oe(i,c,a,s,r)}).catch(c=>G(c,r,t)).finally(()=>n.result=void 0)}}}function oe(e,t,r,n,i){if(ne&&typeof t=="function"){let o=t.apply(r,n);o instanceof Promise?o.then(s=>oe(e,s,r,n)).catch(s=>G(s,i,t)):e(o)}else e(t)}var We="x-";function B(e=""){return We+e}function Gr(e){We=e}var At={};function g(e,t){At[e]=t}function Ue(e,t,r){if(t=Array.from(t),e._x_virtualDirectives){let o=Object.entries(e._x_virtualDirectives).map(([a,u])=>({name:a,value:u})),s=Ot(o);o=o.map(a=>s.find(u=>u.name===a.name)?{name:`x-bind:${a.name}`,value:`"${a.value}"`}:a),t=t.concat(o)}let n={};return t.map(Pt((o,s)=>n[o]=s)).filter(Rt).map(Qr(n,r)).sort(Zr).map(o=>Jr(e,o))}function Ot(e){return Array.from(e).map(Pt()).filter(t=>!Rt(t))}var $e=!1,q=new Map,Ct=Symbol();function Yr(e){$e=!0;let t=Symbol();Ct=t,q.set(t,[]);let r=()=>{for(;q.get(t).length;)q.get(t).shift()();q.delete(t)},n=()=>{$e=!1,r()};e(r),n()}function Mt(e){let t=[],r=a=>t.push(a),[n,i]=Ir(e);return t.push(i),[{Alpine:Z,effect:n,cleanup:r,evaluateLater:b.bind(b,e),evaluate:F.bind(F,e)},()=>t.forEach(a=>a())]}function Jr(e,t){let r=()=>{},n=At[t.type]||r,[i,o]=Mt(e);Lr(e,t.original,o);let s=()=>{e._x_ignore||e._x_ignoreSelf||(n.inline&&n.inline(e,t,i),n=n.bind(n,e,t,i),$e?q.get(Ct).push(n):n())};return s.runCleanups=o,s}var Tt=(e,t)=>({name:r,value:n})=>(r.startsWith(e)&&(r=r.replace(e,t)),{name:r,value:n}),$t=e=>e;function Pt(e=()=>{}){return({name:t,value:r})=>{let{name:n,value:i}=It.reduce((o,s)=>s(o),{name:t,value:r});return n!==t&&e(n,t),{name:n,value:i}}}var It=[];function Ve(e){It.push(e)}function Rt({name:e}){return jt().test(e)}var jt=()=>new RegExp(`^${We}([^:^.]+)\\b`);function Qr(e,t){return({name:r,value:n})=>{let i=r.match(jt()),o=r.match(/:([a-zA-Z0-9\-:]+)/),s=r.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],a=t||e[r]||r;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:s.map(u=>u.replace(".","")),expression:n,original:a}}}var Pe="DEFAULT",te=["ignore","ref","data","id","bind","init","for","mask","model","modelable","transition","show","if",Pe,"teleport"];function Zr(e,t){let r=te.indexOf(e.type)===-1?Pe:e.type,n=te.indexOf(t.type)===-1?Pe:t.type;return te.indexOf(r)-te.indexOf(n)}function U(e,t,r={}){e.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))}var Ie=[],Ge=!1;function Lt(e=()=>{}){return queueMicrotask(()=>{Ge||setTimeout(()=>{Re()})}),new Promise(t=>{Ie.push(()=>{e(),t()})})}function Re(){for(Ge=!1;Ie.length;)Ie.shift()()}function Xr(){Ge=!0}function R(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(i=>R(i,t));return}let r=!1;if(t(e,()=>r=!0),r)return;let n=e.firstElementChild;for(;n;)R(n,t),n=n.nextElementSibling}function K(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}function en(){document.body||K("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `