Fix tailwind setup

- Adopted postcss and tailwind config to new version
- renamed colors bluegray->slate etc to not have custom
  definitions (hope to reduce migration next time)
- tailwind now doesn't build the complete css anymore, so the
  `dev-ui-build` script must compile both
This commit is contained in:
eikek
2021-12-20 23:03:05 +01:00
parent e9d5377a45
commit f5e375614f
50 changed files with 592 additions and 626 deletions

View File

@ -202,16 +202,16 @@
"dev": true "dev": true
}, },
"autoprefixer": { "autoprefixer": {
"version": "10.3.7", "version": "10.4.0",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.7.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.0.tgz",
"integrity": "sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg==", "integrity": "sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.17.3", "browserslist": "^4.17.5",
"caniuse-lite": "^1.0.30001264", "caniuse-lite": "^1.0.30001272",
"fraction.js": "^4.1.1", "fraction.js": "^4.1.1",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"picocolors": "^0.2.1", "picocolors": "^1.0.0",
"postcss-value-parser": "^4.1.0" "postcss-value-parser": "^4.1.0"
} }
}, },
@ -253,24 +253,16 @@
} }
}, },
"browserslist": { "browserslist": {
"version": "4.17.5", "version": "4.19.1",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
"integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
"dev": true, "dev": true,
"requires": { "requires": {
"caniuse-lite": "^1.0.30001271", "caniuse-lite": "^1.0.30001286",
"electron-to-chromium": "^1.3.878", "electron-to-chromium": "^1.4.17",
"escalade": "^3.1.1", "escalade": "^3.1.1",
"node-releases": "^2.0.1", "node-releases": "^2.0.1",
"picocolors": "^1.0.0" "picocolors": "^1.0.0"
},
"dependencies": {
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
}
} }
}, },
"callsites": { "callsites": {
@ -298,9 +290,9 @@
} }
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001271", "version": "1.0.30001291",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001271.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001291.tgz",
"integrity": "sha512-BBruZFWmt3HFdVPS8kceTBIguKxu4f99n5JNp06OlPD/luoAMIaIK5ieV5YjnBLH3Nysai9sxj9rpJj4ZisXOA==", "integrity": "sha512-roMV5V0HNGgJ88s42eE70sstqGW/gwFndosYrikHthw98N5tLnOTxFqMLQjZVRxTWFlJ4rn+MsgXrR7MDPY4jA==",
"dev": true "dev": true
}, },
"chalk": { "chalk": {
@ -356,9 +348,9 @@
"dev": true "dev": true
}, },
"colord": { "colord": {
"version": "2.9.1", "version": "2.9.2",
"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
"integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==", "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
"dev": true "dev": true
}, },
"commander": { "commander": {
@ -386,12 +378,6 @@
"yaml": "^1.10.0" "yaml": "^1.10.0"
} }
}, },
"css-color-names": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz",
"integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==",
"dev": true
},
"css-declaration-sorter": { "css-declaration-sorter": {
"version": "6.1.3", "version": "6.1.3",
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz",
@ -402,16 +388,16 @@
} }
}, },
"css-select": { "css-select": {
"version": "4.1.3", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.0.tgz",
"integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", "integrity": "sha512-6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw==",
"dev": true, "dev": true,
"requires": { "requires": {
"boolbase": "^1.0.0", "boolbase": "^1.0.0",
"css-what": "^5.0.0", "css-what": "^5.1.0",
"domhandler": "^4.2.0", "domhandler": "^4.3.0",
"domutils": "^2.6.0", "domutils": "^2.8.0",
"nth-check": "^2.0.0" "nth-check": "^2.0.1"
} }
}, },
"css-tree": { "css-tree": {
@ -437,37 +423,36 @@
"dev": true "dev": true
}, },
"cssnano": { "cssnano": {
"version": "5.0.8", "version": "5.0.14",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.14.tgz",
"integrity": "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==", "integrity": "sha512-qzhRkFvBhv08tbyKCIfWbxBXmkIpLl1uNblt8SpTHkgLfON5OCPX/CCnkdNmEosvo8bANQYmTTMEgcVBlisHaw==",
"dev": true, "dev": true,
"requires": { "requires": {
"cssnano-preset-default": "^5.1.4", "cssnano-preset-default": "^5.1.9",
"is-resolvable": "^1.1.0",
"lilconfig": "^2.0.3", "lilconfig": "^2.0.3",
"yaml": "^1.10.2" "yaml": "^1.10.2"
} }
}, },
"cssnano-preset-default": { "cssnano-preset-default": {
"version": "5.1.4", "version": "5.1.9",
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.9.tgz",
"integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", "integrity": "sha512-RhkEucqlQ+OxEi14K1p8gdXcMQy1mSpo7P1oC44oRls7BYIj8p+cht4IFBFV3W4iOjTP8EUB33XV1fX9KhDzyA==",
"dev": true, "dev": true,
"requires": { "requires": {
"css-declaration-sorter": "^6.0.3", "css-declaration-sorter": "^6.0.3",
"cssnano-utils": "^2.0.1", "cssnano-utils": "^2.0.1",
"postcss-calc": "^8.0.0", "postcss-calc": "^8.0.0",
"postcss-colormin": "^5.2.0", "postcss-colormin": "^5.2.2",
"postcss-convert-values": "^5.0.1", "postcss-convert-values": "^5.0.2",
"postcss-discard-comments": "^5.0.1", "postcss-discard-comments": "^5.0.1",
"postcss-discard-duplicates": "^5.0.1", "postcss-discard-duplicates": "^5.0.1",
"postcss-discard-empty": "^5.0.1", "postcss-discard-empty": "^5.0.1",
"postcss-discard-overridden": "^5.0.1", "postcss-discard-overridden": "^5.0.1",
"postcss-merge-longhand": "^5.0.2", "postcss-merge-longhand": "^5.0.4",
"postcss-merge-rules": "^5.0.2", "postcss-merge-rules": "^5.0.3",
"postcss-minify-font-values": "^5.0.1", "postcss-minify-font-values": "^5.0.1",
"postcss-minify-gradients": "^5.0.2", "postcss-minify-gradients": "^5.0.3",
"postcss-minify-params": "^5.0.1", "postcss-minify-params": "^5.0.2",
"postcss-minify-selectors": "^5.1.0", "postcss-minify-selectors": "^5.1.0",
"postcss-normalize-charset": "^5.0.1", "postcss-normalize-charset": "^5.0.1",
"postcss-normalize-display-values": "^5.0.1", "postcss-normalize-display-values": "^5.0.1",
@ -476,13 +461,13 @@
"postcss-normalize-string": "^5.0.1", "postcss-normalize-string": "^5.0.1",
"postcss-normalize-timing-functions": "^5.0.1", "postcss-normalize-timing-functions": "^5.0.1",
"postcss-normalize-unicode": "^5.0.1", "postcss-normalize-unicode": "^5.0.1",
"postcss-normalize-url": "^5.0.2", "postcss-normalize-url": "^5.0.4",
"postcss-normalize-whitespace": "^5.0.1", "postcss-normalize-whitespace": "^5.0.1",
"postcss-ordered-values": "^5.0.2", "postcss-ordered-values": "^5.0.2",
"postcss-reduce-initial": "^5.0.1", "postcss-reduce-initial": "^5.0.2",
"postcss-reduce-transforms": "^5.0.1", "postcss-reduce-transforms": "^5.0.1",
"postcss-svgo": "^5.0.2", "postcss-svgo": "^5.0.3",
"postcss-unique-selectors": "^5.0.1" "postcss-unique-selectors": "^5.0.2"
} }
}, },
"cssnano-utils": { "cssnano-utils": {
@ -562,9 +547,9 @@
"dev": true "dev": true
}, },
"domhandler": { "domhandler": {
"version": "4.2.2", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
"dev": true, "dev": true,
"requires": { "requires": {
"domelementtype": "^2.2.0" "domelementtype": "^2.2.0"
@ -582,9 +567,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.878", "version": "1.4.24",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.878.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.24.tgz",
"integrity": "sha512-O6yxWCN9ph2AdspAIszBnd9v8s11hQx8ub9w4UGApzmNRnoKhbulOWqbO8THEQec/aEHtvy+donHZMlh6l1rbA==", "integrity": "sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
@ -658,9 +643,9 @@
"dev": true "dev": true
}, },
"fraction.js": { "fraction.js": {
"version": "4.1.1", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz",
"integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==",
"dev": true "dev": true
}, },
"fs-extra": { "fs-extra": {
@ -764,9 +749,9 @@
"dev": true "dev": true
}, },
"ignore": { "ignore": {
"version": "5.1.8", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"dev": true "dev": true
}, },
"import-cwd": { "import-cwd": {
@ -821,12 +806,6 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true "dev": true
}, },
"is-absolute-url": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
"integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
"dev": true
},
"is-arrayish": { "is-arrayish": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@ -878,12 +857,6 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true "dev": true
}, },
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
"integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
"dev": true
},
"js-tokens": { "js-tokens": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@ -907,9 +880,9 @@
} }
}, },
"lilconfig": { "lilconfig": {
"version": "2.0.3", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
"integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==",
"dev": true "dev": true
}, },
"lines-and-columns": { "lines-and-columns": {
@ -1003,12 +976,6 @@
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true "dev": true
}, },
"nanocolors": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz",
"integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==",
"dev": true
},
"nanoid": { "nanoid": {
"version": "3.1.30", "version": "3.1.30",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
@ -1103,9 +1070,9 @@
"dev": true "dev": true
}, },
"picocolors": { "picocolors": {
"version": "0.2.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true "dev": true
}, },
"picomatch": { "picomatch": {
@ -1121,22 +1088,14 @@
"dev": true "dev": true
}, },
"postcss": { "postcss": {
"version": "8.3.11", "version": "8.4.5",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
"integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
"dev": true, "dev": true,
"requires": { "requires": {
"nanoid": "^3.1.30", "nanoid": "^3.1.30",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"source-map-js": "^0.6.2" "source-map-js": "^1.0.1"
},
"dependencies": {
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
}
} }
}, },
"postcss-calc": { "postcss-calc": {
@ -1150,9 +1109,9 @@
} }
}, },
"postcss-cli": { "postcss-cli": {
"version": "9.0.1", "version": "9.1.0",
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz",
"integrity": "sha512-zO160OBaAZBFUWO+QZIzEKMjnPIc5c61dMg1d7xafblh9cxbNb6s16ahJuP91PcVsu//gqr7BKllJxRiRDsSYw==", "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==",
"dev": true, "dev": true,
"requires": { "requires": {
"chokidar": "^3.3.0", "chokidar": "^3.3.0",
@ -1160,39 +1119,39 @@
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"get-stdin": "^9.0.0", "get-stdin": "^9.0.0",
"globby": "^12.0.0", "globby": "^12.0.0",
"nanocolors": "^0.2.11", "picocolors": "^1.0.0",
"postcss-load-config": "^3.0.0", "postcss-load-config": "^3.0.0",
"postcss-reporter": "^7.0.0", "postcss-reporter": "^7.0.0",
"pretty-hrtime": "^1.0.3", "pretty-hrtime": "^1.0.3",
"read-cache": "^1.0.0", "read-cache": "^1.0.0",
"slash": "^4.0.0", "slash": "^4.0.0",
"yargs": "^17.0.0" "yargs": "^17.0.0"
},
"dependencies": {
"nanocolors": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.13.tgz",
"integrity": "sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==",
"dev": true
}
} }
}, },
"postcss-colormin": { "postcss-colormin": {
"version": "5.2.0", "version": "5.2.2",
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.2.tgz",
"integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", "integrity": "sha512-tSEe3NpqWARUTidDlF0LntPkdlhXqfDFuA1yslqpvvGAfpZ7oBaw+/QXd935NKm2U9p4PED0HDZlzmMk7fVC6g==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.16.6", "browserslist": "^4.16.6",
"caniuse-api": "^3.0.0", "caniuse-api": "^3.0.0",
"colord": "^2.0.1", "colord": "^2.9.1",
"postcss-value-parser": "^4.1.0" "postcss-value-parser": "^4.2.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
}
} }
}, },
"postcss-convert-values": { "postcss-convert-values": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz",
"integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==",
"dev": true, "dev": true,
"requires": { "requires": {
"postcss-value-parser": "^4.1.0" "postcss-value-parser": "^4.1.0"
@ -1255,27 +1214,25 @@
} }
}, },
"postcss-merge-longhand": { "postcss-merge-longhand": {
"version": "5.0.2", "version": "5.0.4",
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz",
"integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==",
"dev": true, "dev": true,
"requires": { "requires": {
"css-color-names": "^1.0.1",
"postcss-value-parser": "^4.1.0", "postcss-value-parser": "^4.1.0",
"stylehacks": "^5.0.1" "stylehacks": "^5.0.1"
} }
}, },
"postcss-merge-rules": { "postcss-merge-rules": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz",
"integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.16.6", "browserslist": "^4.16.6",
"caniuse-api": "^3.0.0", "caniuse-api": "^3.0.0",
"cssnano-utils": "^2.0.1", "cssnano-utils": "^2.0.1",
"postcss-selector-parser": "^6.0.5", "postcss-selector-parser": "^6.0.5"
"vendors": "^1.0.3"
} }
}, },
"postcss-minify-font-values": { "postcss-minify-font-values": {
@ -1288,27 +1245,26 @@
} }
}, },
"postcss-minify-gradients": { "postcss-minify-gradients": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz",
"integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"colord": "^2.6", "colord": "^2.9.1",
"cssnano-utils": "^2.0.1", "cssnano-utils": "^2.0.1",
"postcss-value-parser": "^4.1.0" "postcss-value-parser": "^4.1.0"
} }
}, },
"postcss-minify-params": { "postcss-minify-params": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz",
"integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==",
"dev": true, "dev": true,
"requires": { "requires": {
"alphanum-sort": "^1.0.2", "alphanum-sort": "^1.0.2",
"browserslist": "^4.16.0", "browserslist": "^4.16.6",
"cssnano-utils": "^2.0.1", "cssnano-utils": "^2.0.1",
"postcss-value-parser": "^4.1.0", "postcss-value-parser": "^4.1.0"
"uniqs": "^2.0.0"
} }
}, },
"postcss-minify-selectors": { "postcss-minify-selectors": {
@ -1395,14 +1351,21 @@
} }
}, },
"postcss-normalize-url": { "postcss-normalize-url": {
"version": "5.0.2", "version": "5.0.4",
"resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz",
"integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-absolute-url": "^3.0.3",
"normalize-url": "^6.0.1", "normalize-url": "^6.0.1",
"postcss-value-parser": "^4.1.0" "postcss-value-parser": "^4.2.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
}
} }
}, },
"postcss-normalize-whitespace": { "postcss-normalize-whitespace": {
@ -1540,12 +1503,12 @@
} }
}, },
"postcss-reduce-initial": { "postcss-reduce-initial": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz",
"integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.16.0", "browserslist": "^4.16.6",
"caniuse-api": "^3.0.0" "caniuse-api": "^3.0.0"
} }
}, },
@ -1571,14 +1534,6 @@
"lodash.groupby": "^4.6.0", "lodash.groupby": "^4.6.0",
"lodash.sortby": "^4.7.0", "lodash.sortby": "^4.7.0",
"picocolors": "^1.0.0" "picocolors": "^1.0.0"
},
"dependencies": {
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
}
} }
}, },
"postcss-selector-parser": { "postcss-selector-parser": {
@ -1592,24 +1547,23 @@
} }
}, },
"postcss-svgo": { "postcss-svgo": {
"version": "5.0.2", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz",
"integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==",
"dev": true, "dev": true,
"requires": { "requires": {
"postcss-value-parser": "^4.1.0", "postcss-value-parser": "^4.1.0",
"svgo": "^2.3.0" "svgo": "^2.7.0"
} }
}, },
"postcss-unique-selectors": { "postcss-unique-selectors": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz",
"integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==",
"dev": true, "dev": true,
"requires": { "requires": {
"alphanum-sort": "^1.0.2", "alphanum-sort": "^1.0.2",
"postcss-selector-parser": "^6.0.5", "postcss-selector-parser": "^6.0.5"
"uniqs": "^2.0.0"
} }
}, },
"postcss-value-parser": { "postcss-value-parser": {
@ -1713,9 +1667,9 @@
"dev": true "dev": true
}, },
"source-map-js": { "source-map-js": {
"version": "0.6.2", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
"integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
"dev": true "dev": true
}, },
"stable": { "stable": {
@ -1764,9 +1718,9 @@
} }
}, },
"svgo": { "svgo": {
"version": "2.7.0", "version": "2.8.0",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
"integrity": "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@trysound/sax": "0.2.0", "@trysound/sax": "0.2.0",
@ -1774,14 +1728,14 @@
"css-select": "^4.1.3", "css-select": "^4.1.3",
"css-tree": "^1.1.3", "css-tree": "^1.1.3",
"csso": "^4.2.0", "csso": "^4.2.0",
"nanocolors": "^0.1.12", "picocolors": "^1.0.0",
"stable": "^0.1.8" "stable": "^0.1.8"
} }
}, },
"tailwindcss": { "tailwindcss": {
"version": "3.0.0", "version": "3.0.7",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.0.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.7.tgz",
"integrity": "sha512-UPAp2PS5vojAvGClJFIkdh2hfFyaSWo09Ma9j2vZYW+ANhTvpUHFjY85JgtrvvXXREtDvOXy2BxW1yHOz8apCg==", "integrity": "sha512-rZdKNHtC64jcQncLoWOuCzj4lQDTAgLtgK3WmQS88tTdpHh9OwLqULTQxI3tw9AMJsqSpCKlmcjW/8CSnni6zQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"arg": "^5.0.1", "arg": "^5.0.1",
@ -1800,7 +1754,7 @@
"postcss-js": "^3.0.3", "postcss-js": "^3.0.3",
"postcss-load-config": "^3.1.0", "postcss-load-config": "^3.1.0",
"postcss-nested": "5.0.6", "postcss-nested": "5.0.6",
"postcss-selector-parser": "^6.0.6", "postcss-selector-parser": "^6.0.7",
"postcss-value-parser": "^4.2.0", "postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1", "quick-lru": "^5.1.1",
"resolve": "^1.20.0", "resolve": "^1.20.0",
@ -1816,6 +1770,16 @@
"is-glob": "^4.0.3" "is-glob": "^4.0.3"
} }
}, },
"postcss-selector-parser": {
"version": "6.0.7",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz",
"integrity": "sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA==",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
}
},
"postcss-value-parser": { "postcss-value-parser": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
@ -1848,12 +1812,6 @@
"is-number": "^7.0.0" "is-number": "^7.0.0"
} }
}, },
"uniqs": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
"integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
"dev": true
},
"universalify": { "universalify": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
@ -1866,12 +1824,6 @@
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true "dev": true
}, },
"vendors": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
"integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
"dev": true
},
"wrap-ansi": { "wrap-ansi": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@ -1908,24 +1860,24 @@
"dev": true "dev": true
}, },
"yargs": { "yargs": {
"version": "17.2.1", "version": "17.3.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.0.tgz",
"integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", "integrity": "sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew==",
"dev": true, "dev": true,
"requires": { "requires": {
"cliui": "^7.0.2", "cliui": "^7.0.2",
"escalade": "^3.1.1", "escalade": "^3.1.1",
"get-caller-file": "^2.0.5", "get-caller-file": "^2.0.5",
"require-directory": "^2.1.1", "require-directory": "^2.1.1",
"string-width": "^4.2.0", "string-width": "^4.2.3",
"y18n": "^5.0.5", "y18n": "^5.0.5",
"yargs-parser": "^20.2.2" "yargs-parser": "^21.0.0"
} }
}, },
"yargs-parser": { "yargs-parser": {
"version": "20.2.9", "version": "21.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
"dev": true "dev": true
} }
} }

View File

@ -6,13 +6,13 @@
"devDependencies": { "devDependencies": {
"@fortawesome/fontawesome-free": "^5.15.4", "@fortawesome/fontawesome-free": "^5.15.4",
"@tailwindcss/forms": "^0.4.0", "@tailwindcss/forms": "^0.4.0",
"autoprefixer": "^10.4.0",
"cssnano": "^5.0.14",
"flag-icon-css": "^3.5.0", "flag-icon-css": "^3.5.0",
"postcss-cli": "^9.0.1", "postcss": "^8.4.5",
"postcss-cli": "^9.1.0",
"postcss-import": "^14.0.2", "postcss-import": "^14.0.2",
"autoprefixer": "^10.3.7",
"cssnano": "^5.0.8",
"postcss": "^8.3.11",
"postcss-purgecss": "^2.0.3", "postcss-purgecss": "^2.0.3",
"tailwindcss": "^3.0.0" "tailwindcss": "^3.0.7"
} }
} }

View File

@ -1,31 +1,21 @@
//postcss.config.js //postcss.config.js
const tailwindcss = require("tailwindcss");
const devPlugins = const basePlugins =
[ [
require('postcss-import'), require('postcss-import'),
tailwindcss("./tailwind.config.js"), require('tailwindcss'),
require("autoprefixer") require('autoprefixer'),
]; ];
const prodPlugins = const prodPlugins =
[ [
require('postcss-import'), require('postcss-import'),
tailwindcss("./tailwind.config.js"), require('tailwindcss'),
require("autoprefixer"), require('autoprefixer'),
require("postcss-purgecss")({ require('cssnano'),
content: [ ];
"./src/main/elm/**/*.elm",
"./src/main/styles/keep.txt",
"../restserver/src/main/templates/*.html"
],
defaultExtractor: content => content.match(/[A-Za-z0-9-_:/\.]+/g) || []
}),
require('cssnano')({
preset: 'default'
})
]
module.exports = (ctx) => ({ module.exports = (ctx) => ({
plugins: ctx.env === 'production' ? prodPlugins : devPlugins plugins: ctx && ctx.env === 'production' ? prodPlugins : basePlugins
}); })

View File

@ -68,7 +68,7 @@ topNavUser auth model =
, disabled = not (Page.hasSidebar model.page) , disabled = not (Page.hasSidebar model.page)
, attrs = [ href "#" ] , attrs = [ href "#" ]
, baseStyle = "font-bold inline-flex items-center px-4 py-2" , baseStyle = "font-bold inline-flex items-center px-4 py-2"
, activeStyle = "hover:bg-blue-200 dark:hover:bg-bluegray-800 w-12" , activeStyle = "hover:bg-blue-200 dark:hover:bg-slate-800 w-12"
} }
, headerNavItem True model , headerNavItem True model
, div [ class "flex flex-grow justify-center" ] , div [ class "flex flex-grow justify-center" ]
@ -103,7 +103,7 @@ topNavAnon model =
, disabled = not (Page.hasSidebar model.page) , disabled = not (Page.hasSidebar model.page)
, attrs = [ href "#" ] , attrs = [ href "#" ]
, baseStyle = "font-bold inline-flex items-center px-4 py-2" , baseStyle = "font-bold inline-flex items-center px-4 py-2"
, activeStyle = "hover:bg-blue-200 dark:hover:bg-bluegray-800 w-12" , activeStyle = "hover:bg-blue-200 dark:hover:bg-slate-800 w-12"
} }
, headerNavItem False model , headerNavItem False model
, div [ class "flex flex-grow justify-end" ] , div [ class "flex flex-grow justify-end" ]
@ -131,7 +131,7 @@ headerNavItem authenticated model =
in in
tag tag
[ class "inline-flex font-bold items-center px-4" [ class "inline-flex font-bold items-center px-4"
, classList [ ( "hover:bg-blue-200 dark:hover:bg-bluegray-800", authenticated ) ] , classList [ ( "hover:bg-blue-200 dark:hover:bg-slate-800", authenticated ) ]
, if authenticated then , if authenticated then
Page.href HomePage Page.href HomePage
@ -204,12 +204,12 @@ mainContent model =
styleTopNav : String styleTopNav : String
styleTopNav = styleTopNav =
"top-0 fixed z-50 w-full flex flex-row justify-start shadow-sm h-12 bg-blue-100 dark:bg-bluegray-900 text-gray-800 dark:text-bluegray-200 antialiased" "top-0 fixed z-50 w-full flex flex-row justify-start shadow-sm h-12 bg-blue-100 dark:bg-slate-900 text-gray-800 dark:text-slate-200 antialiased"
styleMain : String styleMain : String
styleMain = styleMain =
"mt-12 flex md:flex-row flex-col w-full h-screen-12 overflow-y-hidden bg-white dark:bg-bluegray-800 text-gray-800 dark:text-bluegray-300 antialiased" "mt-12 flex md:flex-row flex-col w-full h-screen-12 overflow-y-hidden bg-white dark:bg-slate-800 text-gray-800 dark:text-slate-300 antialiased"
langMenu : Model -> Html Msg langMenu : Model -> Html Msg
@ -226,7 +226,7 @@ langMenu model =
a a
[ classList [ classList
[ ( dropdownItem, True ) [ ( dropdownItem, True )
, ( "bg-gray-200 dark:bg-bluegray-700", lang == texts.lang ) , ( "bg-gray-200 dark:bg-slate-700", lang == texts.lang )
] ]
, onClick (SetLanguage lang) , onClick (SetLanguage lang)
, href "#" , href "#"
@ -266,7 +266,7 @@ dataMenu texts _ model =
[ i [ class "fa fa-cogs" ] [] [ i [ class "fa fa-cogs" ] []
, div , div
[ class "h-5 w-5 rounded-full text-xs px-1 py-1 absolute top-1 left-1 font-bold" [ class "h-5 w-5 rounded-full text-xs px-1 py-1 absolute top-1 left-1 font-bold"
, class "dark:bg-lightblue-500 dark:text-gray-200" , class "dark:bg-sky-500 dark:text-gray-200"
, class "bg-blue-500 text-gray-50" , class "bg-blue-500 text-gray-50"
, classList [ ( "hidden", model.jobsWaiting <= 0 ) ] , classList [ ( "hidden", model.jobsWaiting <= 0 ) ]
] ]
@ -317,7 +317,7 @@ dataMenu texts _ model =
class "fa fa-tachometer-alt w-6" class "fa fa-tachometer-alt w-6"
else else
class "fa fa-tachometer-alt w-6 animate-pulse dark:text-lightblue-500 text-blue-500" class "fa fa-tachometer-alt w-6 animate-pulse dark:text-sky-500 text-blue-500"
] ]
[] []
, span [ class "ml-1" ] , span [ class "ml-1" ]
@ -424,7 +424,7 @@ userPageLink model page children =
a a
[ classList [ classList
[ ( dropdownItem, True ) [ ( dropdownItem, True )
, ( "bg-gray-200 dark:bg-bluegray-700", model.page == page ) , ( "bg-gray-200 dark:bg-slate-700", model.page == page )
] ]
, onClick ToggleUserMenu , onClick ToggleUserMenu
, Page.href page , Page.href page
@ -437,7 +437,7 @@ dataPageLink model page classes children =
a a
[ classList [ classList
([ ( dropdownItem, True ) ([ ( dropdownItem, True )
, ( "bg-gray-200 dark:bg-bluegray-700", model.page == page ) , ( "bg-gray-200 dark:bg-slate-700", model.page == page )
] ]
++ classes ++ classes
) )
@ -449,12 +449,12 @@ dataPageLink model page classes children =
dropdownLink : String dropdownLink : String
dropdownLink = dropdownLink =
"px-4 py-2 w-12 font-bold inline-flex h-full items-center hover:bg-blue-200 dark:hover:bg-bluegray-800" "px-4 py-2 w-12 font-bold inline-flex h-full items-center hover:bg-blue-200 dark:hover:bg-slate-800"
dropdownItem : String dropdownItem : String
dropdownItem = dropdownItem =
"transition-colors duration-200 items-center block px-4 py-2 text-normal hover:bg-gray-200 dark:hover:bg-bluegray-700 dark:hover:text-bluegray-50" "transition-colors duration-200 items-center block px-4 py-2 text-normal hover:bg-gray-200 dark:hover:bg-slate-700 dark:hover:text-slate-50"
dropdownHeadItem : String dropdownHeadItem : String
@ -464,7 +464,7 @@ dropdownHeadItem =
dropdownMenu : String dropdownMenu : String
dropdownMenu = dropdownMenu =
" absolute right-0 bg-white dark:bg-bluegray-800 border dark:border-bluegray-700 dark:text-bluegray-300 shadow-lg opacity-1 transition duration-200 min-w-max " " absolute right-0 bg-white dark:bg-slate-800 border dark:border-slate-700 dark:text-slate-300 shadow-lg opacity-1 transition duration-200 min-w-max "
viewShare : Messages -> String -> Model -> List (Html Msg) viewShare : Messages -> String -> Model -> List (Html Msg)

View File

@ -99,7 +99,7 @@ viewData2 texts meta =
[ div [ class "text-lg font-bold" ] [ div [ class "text-lg font-bold" ]
[ text texts.content [ text texts.content
] ]
, div [ class "px-2 py-2 text-sm bg-yellow-50 dark:bg-warmgray-800 break-words whitespace-pre max-h-80 overflow-auto" ] , div [ class "px-2 py-2 text-sm bg-yellow-50 dark:bg-stone-800 break-words whitespace-pre max-h-80 overflow-auto" ]
[ text meta.content [ text meta.content
] ]
, div [ class "text-lg font-bold mt-2" ] , div [ class "text-lg font-bold mt-2" ]

View File

@ -178,12 +178,12 @@ linkLabel model =
[ class S.basicLabel [ class S.basicLabel
, class "inline-block md:text-sm my-auto whitespace-nowrap" , class "inline-block md:text-sm my-auto whitespace-nowrap"
, class "border-blue-500 text-blue-500 " , class "border-blue-500 text-blue-500 "
, class "dark:border-lightblue-300 dark:text-lightblue-300" , class "dark:border-sky-300 dark:text-sky-300"
] ]
hover = hover =
[ class "hover:bg-blue-500 hover:text-gray-200" [ class "hover:bg-blue-500 hover:text-gray-200"
, class "dark:hover:bg-lightblue-300 dark:hover:text-bluegray-900" , class "dark:hover:bg-sky-300 dark:hover:text-slate-900"
] ]
attrs = attrs =

View File

@ -317,7 +317,7 @@ view2 texts extraClasses mev model =
text "" text ""
] ]
, div , div
[ class "px-2 pt-4 pb-2 border-0 border-l border-b border-r bg-gray-50 dark:bg-bluegray-700" [ class "px-2 pt-4 pb-2 border-0 border-l border-b border-r bg-gray-50 dark:bg-slate-700"
, class S.border , class S.border
] ]
[ div [] [ div []

View File

@ -175,7 +175,7 @@ renderFormData2 opts data =
in in
div div
[ class "flex flex-col space-y-4 md:space-y-2 mt-2" [ class "flex flex-col space-y-4 md:space-y-2 mt-2"
, class "px-2 border-0 border-l dark:border-bluegray-600" , class "px-2 border-0 border-l dark:border-slate-600"
] ]
(List.map valueItem values) (List.map valueItem values)

View File

@ -178,7 +178,7 @@ view2 cfg _ model =
[ classList [ classList
[ ( "hidden", List.isEmpty model.items ) [ ( "hidden", List.isEmpty model.items )
] ]
, class "flex flex-col space-y-2 mt-2 px-2 border-0 border-l dark:border-bluegray-600 " , class "flex flex-col space-y-2 mt-2 px-2 border-0 border-l dark:border-slate-600 "
] ]
(List.map (renderItem2 cfg) model.items) (List.map (renderItem2 cfg) model.items)
] ]

View File

@ -136,11 +136,11 @@ view2 : Texts -> Model -> Html Msg
view2 texts model = view2 texts model =
div div
[ classList [ classList
[ ( "bg-opacity-100 bg-blue-100 dark:bg-lightblue-800", model.state.hover ) [ ( "bg-opacity-100 bg-blue-100 dark:bg-sky-800", model.state.hover )
, ( "bg-blue-100 dark:bg-lightblue-900 bg-opacity-50", not model.state.hover ) , ( "bg-blue-100 dark:bg-sky-900 bg-opacity-50", not model.state.hover )
, ( "disabled", not model.state.active ) , ( "disabled", not model.state.active )
] ]
, class "flex flex-col justify-center items-center py-2 md:py-12 border-0 border-t-2 border-blue-500 dark:border-lightblue-500 dropzone" , class "flex flex-col justify-center items-center py-2 md:py-12 border-0 border-t-2 border-blue-500 dark:border-sky-500 dropzone"
, onDragEnter DragEnter , onDragEnter DragEnter
, onDragOver DragEnter , onDragOver DragEnter
, onDragLeave DragLeave , onDragLeave DragLeave
@ -159,7 +159,7 @@ view2 texts model =
{ label = texts.or { label = texts.or
, topCss = "w-2/3 mb-4 hidden md:inline-flex" , topCss = "w-2/3 mb-4 hidden md:inline-flex"
, labelCss = "px-4 bg-gray-200 bg-opacity-50" , labelCss = "px-4 bg-gray-200 bg-opacity-50"
, lineColor = "bg-gray-300 dark:bg-bluegray-600" , lineColor = "bg-gray-300 dark:bg-slate-600"
} }
, B.primaryBasicButton , B.primaryBasicButton
{ label = texts.basics.selectPlaceholder { label = texts.basics.selectPlaceholder

View File

@ -187,7 +187,7 @@ view2 cfg values model =
, onInput SetInput , onInput SetInput
, onBlur (KeyPress 13) , onBlur (KeyPress 13)
, class "inline-flex w-24 border-0 px-0 focus:ring-0 h-6 text-sm" , class "inline-flex w-24 border-0 px-0 focus:ring-0 h-6 text-sm"
, class "placeholder-gray-400 dark:text-bluegray-200 dark:bg-bluegray-800 dark:border-bluegray-500" , class "placeholder-gray-400 dark:text-slate-200 dark:bg-slate-800 dark:border-slate-500"
] ]
[] []
] ]
@ -217,7 +217,7 @@ renderMenu2 style model =
a a
[ class style.item [ class style.item
, classList , classList
[ ( "bg-gray-200 dark:bg-bluegray-700 dark:text-bluegray-50", model.active == Just v ) [ ( "bg-gray-200 dark:bg-slate-700 dark:text-slate-50", model.active == Just v )
] ]
, href "#" , href "#"
, onClick (AddEmail v) , onClick (AddEmail v)

View File

@ -88,7 +88,7 @@ update flags msg model =
styleBase : String styleBase : String
styleBase = styleBase =
"bg-gray-100 dark:bg-bluegray-900 text-gray-900 dark:text-gray-100 text-sm leading-5" "bg-gray-100 dark:bg-slate-900 text-gray-900 dark:text-gray-100 text-sm leading-5"
stylePayload : String stylePayload : String

View File

@ -509,7 +509,7 @@ viewMembers2 texts model =
] ]
, div , div
[ class "flex flex-col space-y-4 md:space-y-2 mt-2" [ class "flex flex-col space-y-4 md:space-y-2 mt-2"
, class "px-2 border-0 border-l dark:border-bluegray-600" , class "px-2 border-0 border-l dark:border-slate-600"
] ]
(List.map (viewMember2 texts) model.members) (List.map (viewMember2 texts) model.members)
] ]

View File

@ -215,10 +215,10 @@ viewItem2 dropModel model item =
in in
a a
([ classList ([ classList
[ ( "bg-blue-100 dark:bg-bluegray-600", highlightDrop ) [ ( "bg-blue-100 dark:bg-slate-600", highlightDrop )
] ]
, class "flex flex-row items-center" , class "flex flex-row items-center"
, class "rounded px-1 py-1 hover:bg-blue-100 dark:hover:bg-bluegray-600" , class "rounded px-1 py-1 hover:bg-blue-100 dark:hover:bg-slate-600"
, href "#" , href "#"
, onClick (Toggle item) , onClick (Toggle item)
] ]
@ -237,7 +237,7 @@ numberLabel : Int -> Html msg
numberLabel num = numberLabel num =
div div
[ class "bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs" [ class "bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs"
, class "dark:bg-bluegray-800 dark:text-bluegray-200 dark:border-bluegray-800 dark:bg-opacity-50" , class "dark:bg-slate-800 dark:text-slate-200 dark:border-slate-800 dark:bg-opacity-50"
] ]
[ text (String.fromInt num) [ text (String.fromInt num)
] ]

View File

@ -180,7 +180,7 @@ viewRow texts cfg settings flags model item =
cardColor = cardColor =
if isCreated then if isCreated then
"text-blue-500 dark:text-lightblue-500" "text-blue-500 dark:text-sky-500"
else if isDeleted then else if isDeleted then
"text-red-600 dark:text-orange-600" "text-red-600 dark:text-orange-600"
@ -211,7 +211,7 @@ viewRow texts cfg settings flags model item =
a a
[ classList [ classList
[ ( "my-auto flex text-lg w-4 text-left w-1", not rowOpen ) [ ( "my-auto flex text-lg w-4 text-left w-1", not rowOpen )
, ( "flex w-full block text-xl bg-gray-50 dark:bg-bluegray-700 mb-2 rounded ", rowOpen ) , ( "flex w-full block text-xl bg-gray-50 dark:bg-slate-700 mb-2 rounded ", rowOpen )
, ( "invisible", isSelected cfg item.id ) , ( "invisible", isSelected cfg item.id )
] ]
, href "#" , href "#"
@ -266,7 +266,7 @@ viewRow texts cfg settings flags model item =
] ]
, class S.dimmerRow , class S.dimmerRow
] ]
[ div [ class "text-2xl font-bold text-blue-100 hover:text-blue-200 dark:text-lightblue-300 dark:hover:text-lightblue-200" ] [ div [ class "text-2xl font-bold text-blue-100 hover:text-blue-200 dark:text-sky-300 dark:hover:text-sky-200" ]
[ a [ a
(mkCardAction texts cfg settings item) (mkCardAction texts cfg settings item)
[ i [ class "fa fa-check-circle" ] [] [ i [ class "fa fa-check-circle" ] []
@ -278,8 +278,8 @@ viewRow texts cfg settings flags model item =
mkCardAction texts cfg settings item mkCardAction texts cfg settings item
in in
div div
([ classList [ ( "border border-gray-800 border-dashed dark:border-lightblue-500", isMultiSelectMode cfg ) ] ([ classList [ ( "border border-gray-800 border-dashed dark:border-sky-500", isMultiSelectMode cfg ) ]
, class "flex flex-col dark:border-bluegray-600 ds-item-row relative " , class "flex flex-col dark:border-slate-600 ds-item-row relative "
, class cfg.extraClasses , class cfg.extraClasses
, id item.id , id item.id
] ]
@ -473,7 +473,7 @@ viewCard texts cfg settings flags model item =
cardColor = cardColor =
if isCreated then if isCreated then
"text-blue-500 dark:text-lightblue-500" "text-blue-500 dark:text-sky-500"
else if isDeleted then else if isDeleted then
"text-red-600 dark:text-orange-600" "text-red-600 dark:text-orange-600"
@ -495,7 +495,7 @@ viewCard texts cfg settings flags model item =
, class S.dimmerCard , class S.dimmerCard
, class "rounded-lg" , class "rounded-lg"
] ]
[ div [ class "text-9xl text-blue-400 hover:text-blue-500 dark:text-lightblue-300 dark:hover:text-lightblue-200" ] [ div [ class "text-9xl text-blue-400 hover:text-blue-500 dark:text-sky-300 dark:hover:text-sky-200" ]
[ a [ a
cardAction cardAction
[ i [ class "fa fa-check-circle font-thin" ] [] [ i [ class "fa fa-check-circle font-thin" ] []
@ -507,8 +507,8 @@ viewCard texts cfg settings flags model item =
([ class cfg.extraClasses ([ class cfg.extraClasses
, class "ds-item-card relative hover:shadow-lg rounded-lg flex flex-col break-all" , class "ds-item-card relative hover:shadow-lg rounded-lg flex flex-col break-all"
, classList , classList
[ ( "border border-gray-400 dark:border-bluegray-600 dark:hover:border-bluegray-500", not (isMultiSelectMode cfg) ) [ ( "border border-gray-400 dark:border-slate-600 dark:hover:border-slate-500", not (isMultiSelectMode cfg) )
, ( "border-2 border-gray-800 border-dashed dark:border-lightblue-500", isMultiSelectMode cfg ) , ( "border-2 border-gray-800 border-dashed dark:border-sky-500", isMultiSelectMode cfg )
] ]
, id item.id , id item.id
] ]
@ -621,7 +621,7 @@ notesContent2 settings item =
|| Util.String.isNothingOrBlank item.notes || Util.String.isNothingOrBlank item.notes
) )
] ]
, class "px-2 py-2 border-t dark:border-bluegray-600 opacity-50 text-sm" , class "px-2 py-2 border-t dark:border-slate-600 opacity-50 text-sm"
] ]
[ Maybe.withDefault "" item.notes [ Maybe.withDefault "" item.notes
|> Util.String.ellipsis settings.itemSearchNoteLength |> Util.String.ellipsis settings.itemSearchNoteLength
@ -804,7 +804,7 @@ previewImage2 texts cfg settings model item =
not isCardView not isCardView
in in
a a
([ class "overflow-hidden block bg-gray-50 dark:bg-bluegray-700 dark:bg-opacity-40 border-gray-400 dark:hover:border-bluegray-500 w-full" ([ class "overflow-hidden block bg-gray-50 dark:bg-slate-700 dark:bg-opacity-40 border-gray-400 dark:hover:border-slate-500 w-full"
, classList , classList
[ ( "rounded-t-lg", isCardView ) [ ( "rounded-t-lg", isCardView )
, ( Data.UiSettings.cardPreviewSize2 settings, isCardView && not isRowOpen ) , ( Data.UiSettings.cardPreviewSize2 settings, isCardView && not isRowOpen )
@ -818,7 +818,7 @@ previewImage2 texts cfg settings model item =
[ ( "rounded-t-lg w-full -mt-1", settings.cardPreviewFullWidth && isCardView ) [ ( "rounded-t-lg w-full -mt-1", settings.cardPreviewFullWidth && isCardView )
, ( Data.UiSettings.cardPreviewSize2 settings, not settings.cardPreviewFullWidth && isCardView ) , ( Data.UiSettings.cardPreviewSize2 settings, not settings.cardPreviewFullWidth && isCardView )
, ( "h-12", isListView && not isRowOpen ) , ( "h-12", isListView && not isRowOpen )
, ( "border-t border-r border-l dark:border-bluegray-600", isListView && isRowOpen ) , ( "border-t border-r border-l dark:border-slate-600", isListView && isRowOpen )
] ]
, src previewUrl , src previewUrl
] ]
@ -858,7 +858,7 @@ previewMenu2 texts settings flags cfg model item mainAttach =
|| fieldHidden Data.Fields.DueDate || fieldHidden Data.Fields.DueDate
) )
] ]
, class "label font-semibold text-sm border-gray-300 dark:border-bluegray-600" , class "label font-semibold text-sm border-gray-300 dark:border-slate-600"
, title (texts.dueOn ++ " " ++ dueDate) , title (texts.dueOn ++ " " ++ dueDate)
] ]
[ Icons.dueDateIcon2 "mr-2" [ Icons.dueDateIcon2 "mr-2"
@ -880,10 +880,10 @@ previewMenu2 texts settings flags cfg model item mainAttach =
not isCardView not isCardView
in in
div div
[ class "px-2 py-1 flex flex-row flex-wrap bg-gray-50 dark:bg-bluegray-700 dark:bg-opacity-40 rounded-b-lg md:text-sm" [ class "px-2 py-1 flex flex-row flex-wrap bg-gray-50 dark:bg-slate-700 dark:bg-opacity-40 rounded-b-lg md:text-sm"
, classList , classList
[ ( "border-0", isCardView || not isRowOpen ) [ ( "border-0", isCardView || not isRowOpen )
, ( "border-b border-l border-r dark:border-bluegray-600", isListView && isRowOpen ) , ( "border-b border-l border-r dark:border-slate-600", isListView && isRowOpen )
] ]
] ]
[ a [ a
@ -907,7 +907,7 @@ previewMenu2 texts settings flags cfg model item mainAttach =
[ classList [ ( "hidden", attachCount > 1 && not (fieldHidden Data.Fields.PreviewImage) ) ] [ classList [ ( "hidden", attachCount > 1 && not (fieldHidden Data.Fields.PreviewImage) ) ]
, class "ml-2" , class "ml-2"
] ]
[ div [ class "px-2 rounded border border-gray-300 dark:border-bluegray-600 py-1" ] [ div [ class "px-2 rounded border border-gray-300 dark:border-slate-600 py-1" ]
[ text (String.fromInt pageCount) [ text (String.fromInt pageCount)
, text "p." , text "p."
] ]
@ -925,7 +925,7 @@ previewMenu2 texts settings flags cfg model item mainAttach =
] ]
[ i [ class "fa fa-arrow-right" ] [] [ i [ class "fa fa-arrow-right" ] []
] ]
, div [ class "px-2 rounded-r border-t border-r border-b border-gray-500 dark:border-bluegray-500 py-1" ] , div [ class "px-2 rounded-r border-t border-r border-b border-gray-500 dark:border-slate-500 py-1" ]
[ currentPosition model item [ currentPosition model item
|> String.fromInt |> String.fromInt
|> text |> text

View File

@ -245,7 +245,7 @@ viewGroup texts model cfg settings flags group =
div [ class "ds-item-group" ] div [ class "ds-item-group" ]
[ div [ div
[ class "flex py-1 mt-2 mb-2 flex flex-row items-center" [ class "flex py-1 mt-2 mb-2 flex flex-row items-center"
, class "bg-white dark:bg-bluegray-800 text-xl font-bold z-35" , class "bg-white dark:bg-slate-800 text-xl font-bold z-35"
, class "relative sticky top-10" , class "relative sticky top-10"
] ]
[ hr [ hr

View File

@ -155,7 +155,7 @@ view texts settings model =
[ classList [ classList
[ ( "hidden", not isCreated ) [ ( "hidden", not isCreated )
] ]
, class "ml-3 text-base label bg-blue-500 dark:bg-lightblue-500 text-white rounded-lg" , class "ml-3 text-base label bg-blue-500 dark:bg-sky-500 text-white rounded-lg"
] ]
[ text texts.new [ text texts.new
, i [ class "fa fa-exclamation ml-2" ] [] , i [ class "fa fa-exclamation ml-2" ] []

View File

@ -30,7 +30,7 @@ view texts model =
case model.notesField of case model.notesField of
ViewNotes -> ViewNotes ->
div [ class "flex flex-col ds-item-detail-notes" ] div [ class "flex flex-col ds-item-detail-notes" ]
[ div [ class "flex flex-row items-center border-b dark:border-bluegray-600" ] [ div [ class "flex flex-row items-center border-b dark:border-slate-600" ]
[ div [ class "flex-grow font-bold text-lg" ] [ div [ class "flex-grow font-bold text-lg" ]
[ text texts.notes [ text texts.notes
] ]

View File

@ -65,7 +65,7 @@ view texts flags settings model pos attach =
Html.map (AttachMetaMsg attach.id) Html.map (AttachMetaMsg attach.id)
(Comp.AttachmentMeta.view2 (Comp.AttachmentMeta.view2
texts.attachmentMeta texts.attachmentMeta
[ class "border-r border-l border-b dark:border-bluegray-600 px-2" ] [ class "border-r border-l border-b dark:border-slate-600 px-2" ]
am am
) )
@ -74,13 +74,13 @@ view texts flags settings model pos attach =
else if isShowQrAttach model.showQrModel then else if isShowQrAttach model.showQrModel then
Comp.ItemDetail.ShowQrCode.view1 flags Comp.ItemDetail.ShowQrCode.view1 flags
"border-r border-l border-b dark:border-bluegray-600 h-full" "border-r border-l border-b dark:border-slate-600 h-full"
(Comp.ItemDetail.ShowQrCode.Attach attach.id) (Comp.ItemDetail.ShowQrCode.Attach attach.id)
else else
div div
[ class "flex flex-col relative px-2 pt-2 h-full" [ class "flex flex-col relative px-2 pt-2 h-full"
, class "border-r border-l border-b dark:border-bluegray-600" , class "border-r border-l border-b dark:border-slate-600"
, id "ds-pdf-view-parent" , id "ds-pdf-view-parent"
, style "max-height" "calc(100vh - 140px)" , style "max-height" "calc(100vh - 140px)"
, style "min-height" "500px" , style "min-height" "500px"
@ -155,7 +155,7 @@ attachHeader texts settings model _ attach =
, class S.secondaryBasicButton , class S.secondaryBasicButton
, class "mr-2" , class "mr-2"
, classList , classList
[ ( "bg-gray-200 dark:bg-bluegray-600 ", model.attachMenuOpen ) [ ( "bg-gray-200 dark:bg-slate-600 ", model.attachMenuOpen )
, ( "hidden", not multiAttach ) , ( "hidden", not multiAttach )
, ( "sm:hidden", multiAttach && mobile ) , ( "sm:hidden", multiAttach && mobile )
, ( "hidden sm:block", multiAttach && not mobile ) , ( "hidden sm:block", multiAttach && not mobile )
@ -191,7 +191,7 @@ attachHeader texts settings model _ attach =
, a , a
[ classList [ classList
[ ( S.secondaryBasicButton ++ " text-sm", True ) [ ( S.secondaryBasicButton ++ " text-sm", True )
, ( "bg-gray-200 dark:bg-bluegray-600", selectView ) , ( "bg-gray-200 dark:bg-slate-600", selectView )
, ( "hidden", not selectPossible ) , ( "hidden", not selectPossible )
, ( "ml-2", True ) , ( "ml-2", True )
] ]
@ -319,7 +319,7 @@ editAttachmentName model attach =
in in
case am of case am of
Just m -> Just m ->
div [ class "flex flex-row border-l border-r px-2 py-2 dark:border-bluegray-600" ] div [ class "flex flex-row border-l border-r px-2 py-2 dark:border-slate-600" ]
[ input [ input
[ type_ "text" [ type_ "text"
, value m.newName , value m.newName
@ -349,7 +349,7 @@ editAttachmentName model attach =
attachmentSelect : Texts -> Model -> Int -> Attachment -> Html Msg attachmentSelect : Texts -> Model -> Int -> Attachment -> Html Msg
attachmentSelect texts model _ _ = attachmentSelect texts model _ _ =
div div
[ class "flex flex-row border-l border-r px-2 py-2 dark:border-bluegray-600 " [ class "flex flex-row border-l border-r px-2 py-2 dark:border-slate-600 "
, class "overflow-x-auto overflow-y-none" , class "overflow-x-auto overflow-y-none"
, classList , classList
[ ( "hidden", not model.attachMenuOpen ) [ ( "hidden", not model.attachMenuOpen )
@ -372,7 +372,7 @@ menuItem texts model pos attach =
enable = enable =
Just attach.id == dropId && dropId /= dragId Just attach.id == dropId && dropId /= dragId
in in
[ ( "bg-gray-300 dark:bg-bluegray-700 current-drop-target", enable ) [ ( "bg-gray-300 dark:bg-slate-700 current-drop-target", enable )
] ]
iconClass = iconClass =
@ -405,12 +405,12 @@ menuItem texts model pos attach =
in in
a a
([ classList <| ([ classList <|
[ ( "border-blue-500 dark:border-lightblue-500", pos == 0 ) [ ( "border-blue-500 dark:border-sky-500", pos == 0 )
, ( "dark:border-bluegray-600", pos /= 0 ) , ( "dark:border-slate-600", pos /= 0 )
] ]
++ highlight ++ highlight
, class "flex flex-col relative border rounded px-1 py-1 mr-2" , class "flex flex-col relative border rounded px-1 py-1 mr-2"
, class " hover:shadow dark:hover:border-bluegray-500" , class " hover:shadow dark:hover:border-slate-500"
, href "#" , href "#"
, onClick msg , onClick msg
] ]
@ -421,7 +421,7 @@ menuItem texts model pos attach =
[ classList [ classList
[ ( "hidden", not visible ) [ ( "hidden", not visible )
] ]
, class "absolute right-1 top-1 text-blue-400 dark:text-lightblue-400 text-xl" , class "absolute right-1 top-1 text-blue-400 dark:text-sky-400 text-xl"
] ]
[ i [ class iconClass ] [] [ i [ class iconClass ] []
] ]

View File

@ -134,7 +134,7 @@ menuBar texts inav settings model =
, MB.CustomElement <| , MB.CustomElement <|
a a
[ classList [ classList
[ ( "bg-gray-200 dark:bg-bluegray-600", model.mailOpen ) [ ( "bg-gray-200 dark:bg-slate-600", model.mailOpen )
] ]
, title texts.sendMail , title texts.sendMail
, onClick ToggleMail , onClick ToggleMail
@ -146,7 +146,7 @@ menuBar texts inav settings model =
, MB.CustomElement <| , MB.CustomElement <|
a a
[ classList [ classList
[ ( "bg-gray-200 dark:bg-bluegray-600", model.addFilesOpen ) [ ( "bg-gray-200 dark:bg-slate-600", model.addFilesOpen )
] ]
, if model.addFilesOpen then , if model.addFilesOpen then
title texts.close title texts.close
@ -162,7 +162,7 @@ menuBar texts inav settings model =
, MB.CustomElement <| , MB.CustomElement <|
a a
[ classList [ classList
[ ( "bg-gray-200 dark:bg-bluegray-600", isShowQrItem model.showQrModel ) [ ( "bg-gray-200 dark:bg-slate-600", isShowQrItem model.showQrModel )
] ]
, if isShowQrItem model.showQrModel then , if isShowQrItem model.showQrModel then
title texts.close title texts.close
@ -258,7 +258,7 @@ leftArea texts flags settings model =
] ]
, class "mt-4 " , class "mt-4 "
] ]
[ h3 [ class "flex flex-row items-center border-b dark:border-bluegray-600 font-bold text-lg" ] [ h3 [ class "flex flex-row items-center border-b dark:border-slate-600 font-bold text-lg" ]
[ text texts.sentEmails [ text texts.sentEmails
] ]
, Html.map SentMailsMsg (Comp.SentMails.view2 texts.sentMails model.sentMails) , Html.map SentMailsMsg (Comp.SentMails.view2 texts.sentMails model.sentMails)
@ -323,7 +323,7 @@ sendMailForm texts settings model =
itemIdInfo : Texts -> Model -> Html msg itemIdInfo : Texts -> Model -> Html msg
itemIdInfo texts model = itemIdInfo texts model =
div [ class "flex flex-col opacity-50 text-xs pb-1 mt-3 border-t dark:border-bluegray-600" ] div [ class "flex flex-col opacity-50 text-xs pb-1 mt-3 border-t dark:border-slate-600" ]
[ div [ div
[ class "inline-flex items-center" [ class "inline-flex items-center"
, title texts.itemId , title texts.itemId

View File

@ -324,8 +324,8 @@ itemCard texts settings model index item =
, class "cursor-pointer items-center" , class "cursor-pointer items-center"
, classList , classList
[ ( "border-2 border-blue-500 dark:border-blue-500", index == 0 && not dropActive ) [ ( "border-2 border-blue-500 dark:border-blue-500", index == 0 && not dropActive )
, ( "bg-blue-100 dark:bg-lightblue-900", index == 0 && not dropActive ) , ( "bg-blue-100 dark:bg-sky-900", index == 0 && not dropActive )
, ( "border border-gray-400 dark:border-bluegray-600 dark:hover:border-bluegray-500 bg-white dark:bg-bluegray-700 mt-2", index /= 0 ) , ( "border border-gray-400 dark:border-slate-600 dark:hover:border-slate-500 bg-white dark:bg-slate-700 mt-2", index /= 0 )
, ( "bg-yellow-50 dark:bg-lime-900 mt-4", dropActive ) , ( "bg-yellow-50 dark:bg-lime-900 mt-4", dropActive )
] ]
, id ("merge-" ++ item.id) , id ("merge-" ++ item.id)

View File

@ -102,12 +102,12 @@ type alias DropdownMenu msg =
view : MenuBar msg -> Html msg view : MenuBar msg -> Html msg
view = view =
view1 "bg-white dark:bg-bluegray-800" view1 "bg-white dark:bg-slate-800"
viewSide : MenuBar msg -> Html msg viewSide : MenuBar msg -> Html msg
viewSide = viewSide =
view1 "bg-blue-50 dark:bg-bluegray-700" view1 "bg-blue-50 dark:bg-slate-700"
view1 : String -> MenuBar msg -> Html msg view1 : String -> MenuBar msg -> Html msg
@ -169,10 +169,10 @@ makeDropdown : DropdownData msg -> Html msg
makeDropdown model = makeDropdown model =
let let
menuStyle = menuStyle =
"absolute right-0 bg-white dark:bg-bluegray-800 border dark:border-bluegray-700 z-50 dark:text-bluegray-300 shadow-lg transition duration-200 min-w-max " "absolute right-0 bg-white dark:bg-slate-800 border dark:border-slate-700 z-50 dark:text-slate-300 shadow-lg transition duration-200 min-w-max "
itemStyle = itemStyle =
"transition-colors duration-200 items-center block px-4 py-2 text-normal hover:bg-gray-200 dark:hover:bg-bluegray-700 dark:hover:text-bluegray-50" "transition-colors duration-200 items-center block px-4 py-2 text-normal hover:bg-gray-200 dark:hover:bg-slate-700 dark:hover:text-slate-50"
menuItem m = menuItem m =
a a

View File

@ -79,7 +79,7 @@ type alias ViewConfig =
styleBase : String styleBase : String
styleBase = styleBase =
"bg-gray-100 dark:bg-bluegray-900 text-gray-900 dark:text-gray-100 text-sm leading-5" "bg-gray-100 dark:bg-slate-900 text-gray-900 dark:text-gray-100 text-sm leading-5"
stylePayload : String stylePayload : String

View File

@ -17,7 +17,7 @@ import Html.Attributes exposing (attribute, class, style)
progress2 : Int -> Html msg progress2 : Int -> Html msg
progress2 percent = progress2 percent =
div [ class "shadow w-full h-full bg-gray-200 dark:bg-bluegray-600 rounded relative" ] div [ class "shadow w-full h-full bg-gray-200 dark:bg-slate-600 rounded relative" ]
[ div [ div
[ class "transition-duration-300 h-full bg-blue-500 dark:bg-light-blue-500 block text-xs text-center" [ class "transition-duration-300 h-full bg-blue-500 dark:bg-light-blue-500 block text-xs text-center"
, style "width" (String.fromInt percent ++ "%") , style "width" (String.fromInt percent ++ "%")

View File

@ -43,7 +43,7 @@ view2 texts classes stats =
f.sum > 0 f.sum > 0
statValues f = statValues f =
tr [ class "border-0 border-t dark:border-bluegray-600" ] tr [ class "border-0 border-t dark:border-slate-600" ]
[ td [ class "text-left text-sm" ] [ td [ class "text-left text-sm" ]
[ div [ div
[ class S.basicLabel [ class S.basicLabel

View File

@ -112,7 +112,7 @@ view2 texts model =
, div [ class "py-1 whitespace-pre-wrap" ] , div [ class "py-1 whitespace-pre-wrap" ]
[ text mail.body [ text mail.body
] ]
, div [ class "flex flex-row items-center border-t dark:border-bluegray-600 justify-end text-sm " ] , div [ class "flex flex-row items-center border-t dark:border-slate-600 justify-end text-sm " ]
[ a [ a
[ class S.secondaryBasicButton [ class S.secondaryBasicButton
, onClick Hide , onClick Hide

View File

@ -478,7 +478,7 @@ shareInfo texts flags share =
] ]
[ h2 [ h2
[ class S.header2 [ class S.header2
, class "border-b-2 dark:border-bluegray-600" , class "border-b-2 dark:border-slate-600"
] ]
[ text texts.shareInformation [ text texts.shareInformation
] ]
@ -498,7 +498,7 @@ shareSendMail texts flags settings model =
] ]
[ a [ a
[ class S.header2 [ class S.header2
, class "border-b-2 dark:border-bluegray-600 w-full inline-block" , class "border-b-2 dark:border-slate-600 w-full inline-block"
, href "#" , href "#"
, onClick ToggleSendMailVisible , onClick ToggleSendMailVisible
] ]
@ -510,7 +510,7 @@ shareSendMail texts flags settings model =
, text texts.sendViaMail , text texts.sendViaMail
] ]
, div , div
[ class "px-2 py-2 dark:border-bluegray-600" [ class "px-2 py-2 dark:border-slate-600"
, classList [ ( "hidden", not model.sendMailVisible ) ] , classList [ ( "hidden", not model.sendMailVisible ) ]
] ]
[ Html.map MailMsg [ Html.map MailMsg

View File

@ -62,7 +62,7 @@ viewActive cfg texts flags share =
flags.config.baseUrl ++ "/app/share/" ++ share.id flags.config.baseUrl ++ "/app/share/" ++ share.id
styleUrl = styleUrl =
"truncate px-2 py-2 border-0 border-t border-b border-r font-mono text-sm my-auto rounded-r border-gray-400 dark:border-bluegray-500" "truncate px-2 py-2 border-0 border-t border-b border-r font-mono text-sm my-auto rounded-r border-gray-400 dark:border-slate-500"
infoLine hidden icon label value = infoLine hidden icon label value =
div div

View File

@ -279,7 +279,7 @@ viewLinks2 texts flags _ source =
flags.config.baseUrl ++ "/api/v1/open/upload/item/" ++ source.source.id flags.config.baseUrl ++ "/api/v1/open/upload/item/" ++ source.source.id
styleUrl = styleUrl =
"truncate px-2 py-2 border-0 border-t border-b border-r font-mono text-sm my-auto rounded-r border-gray-400 dark:border-bluegray-500" "truncate px-2 py-2 border-0 border-t border-b border-r font-mono text-sm my-auto rounded-r border-gray-400 dark:border-slate-500"
in in
div div
[] []

View File

@ -108,7 +108,7 @@ view2 values model =
] ]
, div , div
[ class "flex flex-col space-y-4 md:space-y-2 mt-2" [ class "flex flex-col space-y-4 md:space-y-2 mt-2"
, class "px-2 border-0 border-l dark:border-bluegray-600" , class "px-2 border-0 border-l dark:border-slate-600"
] ]
(List.map valueItem values) (List.map valueItem values)
] ]

View File

@ -58,9 +58,9 @@ type alias State =
defaultStyle : Style defaultStyle : Style
defaultStyle = defaultStyle =
{ rootClasses = "border-0 border-t dark:border-bluegray-600" { rootClasses = "border-0 border-t dark:border-slate-600"
, tabClasses = "border-0 border-b dark:border-bluegray-600" , tabClasses = "border-0 border-b dark:border-slate-600"
, titleClasses = "py-4 md:py-2 px-2 bg-gray-50 hover:bg-gray-100 dark:bg-bluegray-700 dark:bg-opacity-50 dark:hover:bg-opacity-100" , titleClasses = "py-4 md:py-2 px-2 bg-gray-50 hover:bg-gray-100 dark:bg-slate-700 dark:bg-opacity-50 dark:hover:bg-opacity-100"
, bodyClasses = "mt-2 py-2" , bodyClasses = "mt-2 py-2"
} }
@ -69,7 +69,7 @@ searchMenuStyle : Style
searchMenuStyle = searchMenuStyle =
{ rootClasses = "border-0 " { rootClasses = "border-0 "
, tabClasses = "border-0 " , tabClasses = "border-0 "
, titleClasses = "py-4 md:py-2 pl-2 bg-blue-50 hover:bg-blue-100 dark:bg-bluegray-700 dark:hover:bg-opacity-100 dark:hover:bg-bluegray-600 rounded" , titleClasses = "py-4 md:py-2 pl-2 bg-blue-50 hover:bg-blue-100 dark:bg-slate-700 dark:hover:bg-opacity-100 dark:hover:bg-slate-600 rounded"
, bodyClasses = "mt-1 py-1 pl-2" , bodyClasses = "mt-1 py-1 pl-2"
} }

View File

@ -481,7 +481,7 @@ viewTagsDrop2 texts ddm wm settings model =
, onInput Search , onInput Search
, class "bg-blue-50 w-30 h-6 px-0 py-0 text-xs" , class "bg-blue-50 w-30 h-6 px-0 py-0 text-xs"
, class "border-0 border-b border-gray-200 focus:ring-0 focus:border-black" , class "border-0 border-b border-gray-200 focus:ring-0 focus:border-black"
, class "dark:bg-bluegray-700 dark:text-bluegray-200 dark:border-bluegray-400 dark:focus:border-white" , class "dark:bg-slate-700 dark:text-slate-200 dark:border-slate-400 dark:focus:border-white"
] ]
[] []
, i [ class "fa fa-search absolute top-1/3 right-0 opacity-50" ] [] , i [ class "fa fa-search absolute top-1/3 right-0 opacity-50" ] []
@ -553,10 +553,10 @@ viewTagItem2 ddm settings model tag =
in in
a a
([ classList ([ classList
[ ( "bg-blue-100 dark:bg-bluegray-600", dropActive ) [ ( "bg-blue-100 dark:bg-slate-600", dropActive )
] ]
, class "flex flex-row items-center" , class "flex flex-row items-center"
, class "rounded px-1 py-1 hover:bg-blue-100 dark:hover:bg-bluegray-600" , class "rounded px-1 py-1 hover:bg-blue-100 dark:hover:bg-slate-600"
, href "#" , href "#"
, onClick (ToggleTag tag.tag.id) , onClick (ToggleTag tag.tag.id)
] ]
@ -591,7 +591,7 @@ viewCategoryItem2 settings model cat =
in in
a a
[ class "flex flex-row items-center" [ class "flex flex-row items-center"
, class "rounded px-1 py-1 hover:bg-blue-100 dark:hover:bg-bluegray-600" , class "rounded px-1 py-1 hover:bg-blue-100 dark:hover:bg-slate-600"
, href "#" , href "#"
, onClick (ToggleCat cat.name) , onClick (ToggleCat cat.name)
] ]
@ -662,7 +662,7 @@ numberLabel : Int -> Html msg
numberLabel num = numberLabel num =
div div
[ class "bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs" [ class "bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs"
, class "dark:bg-bluegray-800 dark:text-bluegray-200 dark:border-bluegray-800 dark:bg-opacity-50" , class "dark:bg-slate-800 dark:text-slate-200 dark:border-slate-800 dark:bg-opacity-50"
] ]
[ text (String.fromInt num) [ text (String.fromInt num)
] ]

View File

@ -31,7 +31,7 @@ mainStyle =
, link = dropdownLinkStyle ++ mainLink , link = dropdownLinkStyle ++ mainLink
, menu = dropdownMenuStyle ++ mainMenu , menu = dropdownMenuStyle ++ mainMenu
, item = dropdownItemStyle ++ mainItem , item = dropdownItemStyle ++ mainItem
, itemActive = "bg-gray-200 dark:bg-bluegray-700" , itemActive = "bg-gray-200 dark:bg-slate-700"
, input = mainInputStyle , input = mainInputStyle
} }
@ -51,7 +51,7 @@ sidebarStyle =
, link = dropdownLinkStyle ++ sidebarLink , link = dropdownLinkStyle ++ sidebarLink
, menu = dropdownMenuStyle ++ sidebarMenu , menu = dropdownMenuStyle ++ sidebarMenu
, item = dropdownItemStyle ++ sidebarItem , item = dropdownItemStyle ++ sidebarItem
, itemActive = "bg-gray-300 dark:bg-bluegray-600" , itemActive = "bg-gray-300 dark:bg-slate-600"
, input = sidebarInputStyle , input = sidebarInputStyle
} }
@ -64,12 +64,12 @@ dropdownLinkStyle =
mainLink : String mainLink : String
mainLink = mainLink =
" bg-white border-gray-500 hover:border-gray-500 dark:bg-bluegray-800 dark:border-bluegray-500 dark:hover:border-bluegray-500" " bg-white border-gray-500 hover:border-gray-500 dark:bg-slate-800 dark:border-slate-500 dark:hover:border-slate-500"
sidebarLink : String sidebarLink : String
sidebarLink = sidebarLink =
" bg-blue-50 border-gray-500 hover:border-gray-500 dark:bg-bluegray-700 dark:border-bluegray-400 dark:hover:border-bluegray-400" " bg-blue-50 border-gray-500 hover:border-gray-500 dark:bg-slate-700 dark:border-slate-400 dark:hover:border-slate-400"
dropdownMenuStyle : String dropdownMenuStyle : String
@ -79,12 +79,12 @@ dropdownMenuStyle =
mainMenu : String mainMenu : String
mainMenu = mainMenu =
"bg-white dark:bg-bluegray-800 dark:border-bluegray-700 dark:text-bluegray-300" "bg-white dark:bg-slate-800 dark:border-slate-700 dark:text-slate-300"
sidebarMenu : String sidebarMenu : String
sidebarMenu = sidebarMenu =
"bg-blue-50 dark:bg-bluegray-700 dark:border-bluegray-600 dark:text-bluegray-200" "bg-blue-50 dark:bg-slate-700 dark:border-slate-600 dark:text-slate-200"
dropdownItemStyle : String dropdownItemStyle : String
@ -94,19 +94,19 @@ dropdownItemStyle =
mainItem : String mainItem : String
mainItem = mainItem =
" hover:bg-gray-200 dark:hover:bg-bluegray-700 dark:hover:text-bluegray-100" " hover:bg-gray-200 dark:hover:bg-slate-700 dark:hover:text-slate-100"
sidebarItem : String sidebarItem : String
sidebarItem = sidebarItem =
" hover:bg-gray-300 dark:hover:bg-bluegray-600 dark:hover:text-bluegray-50" " hover:bg-gray-300 dark:hover:bg-slate-600 dark:hover:text-slate-50"
mainInputStyle : String mainInputStyle : String
mainInputStyle = mainInputStyle =
"dark:text-bluegray-200 dark:bg-bluegray-800 dark:border-bluegray-500" "dark:text-slate-200 dark:bg-slate-800 dark:border-slate-500"
sidebarInputStyle : String sidebarInputStyle : String
sidebarInputStyle = sidebarInputStyle =
"bg-blue-50 dark:text-bluegray-200 dark:bg-bluegray-700 dark:border-bluegray-400" "bg-blue-50 dark:text-slate-200 dark:bg-slate-700 dark:border-slate-400"

View File

@ -392,7 +392,7 @@ tagColorString2 : Tag -> UiSettings -> String
tagColorString2 tag settings = tagColorString2 tag settings =
tagColor tag settings tagColor tag settings
|> Maybe.map Data.Color.toString2 |> Maybe.map Data.Color.toString2
|> Maybe.withDefault "border-black dark:border-bluegray-200" |> Maybe.withDefault "border-black dark:border-slate-200"
tagColorFg2 : Tag -> UiSettings -> String tagColorFg2 : Tag -> UiSettings -> String

View File

@ -36,7 +36,7 @@ view texts flags settings model =
, title = texts.editMode , title = texts.editMode
, inputClass = , inputClass =
[ ( S.secondaryBasicButton, True ) [ ( S.secondaryBasicButton, True )
, ( "bg-gray-200 dark:bg-bluegray-600", selectActive model ) , ( "bg-gray-200 dark:bg-slate-600", selectActive model )
] ]
} }
, MB.CustomButton , MB.CustomButton

View File

@ -296,7 +296,7 @@ defaultMenuBar texts flags settings model =
, title = texts.selectModeTitle , title = texts.selectModeTitle
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", selectActive model ) , ( "bg-gray-200 dark:bg-slate-600", selectActive model )
] ]
} }
, MB.Dropdown , MB.Dropdown
@ -375,11 +375,11 @@ defaultMenuBar texts flags settings model =
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "hidden sm:inline-block", False ) , ( "hidden sm:inline-block", False )
, ( "bg-gray-200 dark:bg-bluegray-600", settings.cardPreviewFullWidth ) , ( "bg-gray-200 dark:bg-slate-600", settings.cardPreviewFullWidth )
] ]
} }
] ]
, rootClasses = "mb-2 pt-1 dark:bg-bluegray-700 items-center text-sm" , rootClasses = "mb-2 pt-1 dark:bg-slate-700 items-center text-sm"
} }
@ -401,7 +401,7 @@ editMenuBar texts model svm =
, title = texts.editSelectedItems selectCount , title = texts.editSelectedItems selectCount
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", svm.action == EditSelected ) , ( "bg-gray-200 dark:bg-slate-600", svm.action == EditSelected )
, ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed ) , ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed )
] ]
} }
@ -412,7 +412,7 @@ editMenuBar texts model svm =
, title = texts.reprocessSelectedItems selectCount , title = texts.reprocessSelectedItems selectCount
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", svm.action == ReprocessSelected ) , ( "bg-gray-200 dark:bg-slate-600", svm.action == ReprocessSelected )
, ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed ) , ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed )
] ]
} }
@ -423,7 +423,7 @@ editMenuBar texts model svm =
, title = texts.deleteSelectedItems selectCount , title = texts.deleteSelectedItems selectCount
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", svm.action == DeleteSelected ) , ( "bg-gray-200 dark:bg-slate-600", svm.action == DeleteSelected )
, ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed ) , ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed )
] ]
} }
@ -434,7 +434,7 @@ editMenuBar texts model svm =
, title = texts.undeleteSelectedItems selectCount , title = texts.undeleteSelectedItems selectCount
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", svm.action == RestoreSelected ) , ( "bg-gray-200 dark:bg-slate-600", svm.action == RestoreSelected )
, ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Normal ) , ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Normal )
] ]
} }
@ -445,7 +445,7 @@ editMenuBar texts model svm =
, title = texts.mergeItemsTitle selectCount , title = texts.mergeItemsTitle selectCount
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", svm.action == MergeSelected ) , ( "bg-gray-200 dark:bg-slate-600", svm.action == MergeSelected )
, ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed ) , ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed )
] ]
} }
@ -456,7 +456,7 @@ editMenuBar texts model svm =
, title = texts.publishItemsTitle selectCount , title = texts.publishItemsTitle selectCount
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", svm.action == PublishSelected ) , ( "bg-gray-200 dark:bg-slate-600", svm.action == PublishSelected )
, ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed ) , ( "hidden", model.searchMenuModel.searchMode == Data.SearchMode.Trashed )
] ]
} }
@ -483,7 +483,7 @@ editMenuBar texts model svm =
, MB.TextLabel , MB.TextLabel
{ icon = "" { icon = ""
, label = String.fromInt selectCount , label = String.fromInt selectCount
, class = "px-4 py-2 w-10 rounded-full font-bold bg-blue-100 dark:bg-lightblue-600 " , class = "px-4 py-2 w-10 rounded-full font-bold bg-blue-100 dark:bg-sky-600 "
} }
, MB.CustomButton , MB.CustomButton
{ tagger = ResetSearch { tagger = ResetSearch
@ -502,7 +502,7 @@ editMenuBar texts model svm =
, title = texts.exitSelectMode , title = texts.exitSelectMode
, inputClass = , inputClass =
[ ( btnStyle, True ) [ ( btnStyle, True )
, ( "bg-gray-200 dark:bg-bluegray-600", selectActive model ) , ( "bg-gray-200 dark:bg-slate-600", selectActive model )
] ]
} }
] ]

View File

@ -97,7 +97,7 @@ openIdLinks texts flags =
{ label = texts.or { label = texts.or
, topCss = "w-2/3 mb-4 hidden md:inline-flex w-full" , topCss = "w-2/3 mb-4 hidden md:inline-flex w-full"
, labelCss = "px-4 bg-gray-200 bg-opacity-50" , labelCss = "px-4 bg-gray-200 bg-opacity-50"
, lineColor = "bg-gray-300 dark:bg-bluegray-600" , lineColor = "bg-gray-300 dark:bg-slate-600"
} }
, div [ class "flex flex-row space-x-4 items-center justify-center" ] , div [ class "flex flex-row space-x-4 items-center justify-center" ]
(List.map renderLink provs) (List.map renderLink provs)

View File

@ -53,7 +53,7 @@ viewContent texts flags _ model =
[ div [ div
[ class "inline-flex items-center justify-center" [ class "inline-flex items-center justify-center"
, class "absolute left-0 top-0 h-full w-10" , class "absolute left-0 top-0 h-full w-10"
, class "text-gray-400 dark:text-bluegray-400" , class "text-gray-400 dark:text-slate-400"
] ]
[ i [ class "fa fa-key" ] [] [ i [ class "fa fa-key" ] []
] ]

View File

@ -55,7 +55,7 @@ viewSidebar texts visible _ _ model =
[ href "#" [ href "#"
, class S.sidebarLink , class S.sidebarLink
, class cls , class cls
, classList [ ( "bg-blue-100 dark:bg-bluegray-600", model.queueView == v ) ] , classList [ ( "bg-blue-100 dark:bg-slate-600", model.queueView == v ) ]
, onClick (SetQueueView v) , onClick (SetQueueView v)
] ]
[ i [ class icon ] [ i [ class icon ]
@ -63,7 +63,7 @@ viewSidebar texts visible _ _ model =
, div , div
[ class "ml-3" ] [ class "ml-3" ]
[ text label ] [ text label ]
, div [ class "ml-auto bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs dark:bg-bluegray-800 dark:text-bluegray-200 dark:border-bluegray-800 dark:bg-opacity-50" ] , div [ class "ml-auto bg-gray-200 border rounded-full h-6 w-6 flex items-center justify-center text-xs dark:bg-slate-800 dark:text-slate-200 dark:border-slate-800 dark:bg-opacity-50" ]
[ count v |> String.fromInt |> text [ count v |> String.fromInt |> text
] ]
] ]
@ -191,7 +191,7 @@ renderJobLog : JobDetail -> Html Msg
renderJobLog job = renderJobLog job =
div div
[ class " absolute top-12 left-0 w-full h-full-12 z-40 flex flex-col items-center px-4 py-2 " [ class " absolute top-12 left-0 w-full h-full-12 z-40 flex flex-col items-center px-4 py-2 "
, class "bg-white bg-opacity-80 dark:bg-black dark:bg-bluegray-900 dark:bg-opacity-90" , class "bg-white bg-opacity-80 dark:bg-black dark:bg-slate-900 dark:bg-opacity-90"
] ]
[ div [ class (S.box ++ "py-2 px-2 flex flex-col w-full") ] [ div [ class (S.box ++ "py-2 px-2 flex flex-col w-full") ]
[ div [ class "flex flex-row mb-4 px-2" ] [ div [ class "flex flex-row mb-4 px-2" ]

View File

@ -91,7 +91,7 @@ view texts flags model =
, attrs = , attrs =
[ href "#" [ href "#"
, title texts.extendedSearch , title texts.extendedSearch
, classList [ ( "bg-gray-200 dark:bg-bluegray-600", model.searchMode == SearchBarNormal ) ] , classList [ ( "bg-gray-200 dark:bg-slate-600", model.searchMode == SearchBarNormal ) ]
] ]
} }
] ]
@ -147,5 +147,5 @@ view texts flags model =
] ]
} }
] ]
, rootClasses = "mb-2 pt-1 dark:bg-bluegray-700 items-center text-sm" , rootClasses = "mb-2 pt-1 dark:bg-slate-700 items-center text-sm"
} }

View File

@ -97,7 +97,7 @@ itemData texts flags model shareId itemId =
"mb-4 sm:mb-6" "mb-4 sm:mb-6"
headerStyle = headerStyle =
"py-2 bg-blue-50 hover:bg-blue-100 dark:bg-bluegray-700 dark:hover:bg-opacity-100 dark:hover:bg-bluegray-600 text-lg font-medium rounded-lg" "py-2 bg-blue-50 hover:bg-blue-100 dark:bg-slate-700 dark:hover:bg-opacity-100 dark:hover:bg-slate-600 text-lg font-medium rounded-lg"
showTag tag = showTag tag =
div div
@ -200,9 +200,9 @@ itemPreview texts flags settings model =
Maybe.withDefault (texts.noName ++ ".pdf") attach.name Maybe.withDefault (texts.noName ++ ".pdf") attach.name
in in
div div
[ class "flex flex-grow flex-col h-full border-t dark:border-bluegray-600" [ class "flex flex-grow flex-col h-full border-t dark:border-slate-600"
] ]
[ div [ class "flex flex-col sm:flex-row items-center py-1 px-1 border-l border-r dark:border-bluegray-600" ] [ div [ class "flex flex-col sm:flex-row items-center py-1 px-1 border-l border-r dark:border-slate-600" ]
[ div [ class "text-base font-bold flex-grow w-full text-center sm:text-left break-all" ] [ div [ class "text-base font-bold flex-grow w-full text-center sm:text-left break-all" ]
[ text attachName [ text attachName
, text " (" , text " ("
@ -242,7 +242,7 @@ itemPreview texts flags settings model =
] ]
, attachmentSelect texts model , attachmentSelect texts model
, div , div
[ class "flex w-full h-full mb-4 border-b border-l border-r dark:border-bluegray-600" [ class "flex w-full h-full mb-4 border-b border-l border-r dark:border-slate-600"
, style "min-height" "500px" , style "min-height" "500px"
] ]
[ embed [ embed
@ -299,7 +299,7 @@ passwordContent texts flags versionInfo model =
attachmentSelect : Texts -> Model -> Html Msg attachmentSelect : Texts -> Model -> Html Msg
attachmentSelect texts model = attachmentSelect texts model =
div div
[ class "flex flex-row border-l border-t border-r px-2 py-2 dark:border-bluegray-600 " [ class "flex flex-row border-l border-t border-r px-2 py-2 dark:border-slate-600 "
, class "overflow-x-auto overflow-y-none" , class "overflow-x-auto overflow-y-none"
, classList , classList
[ ( "hidden", not model.attachMenuOpen ) [ ( "hidden", not model.attachMenuOpen )
@ -319,11 +319,11 @@ menuItem texts model pos attach =
in in
a a
[ classList <| [ classList <|
[ ( "border-blue-500 dark:border-lightblue-500", pos == 0 ) [ ( "border-blue-500 dark:border-sky-500", pos == 0 )
, ( "dark:border-bluegray-600", pos /= 0 ) , ( "dark:border-slate-600", pos /= 0 )
] ]
, class "flex flex-col relative border rounded px-1 py-1 mr-2" , class "flex flex-col relative border rounded px-1 py-1 mr-2"
, class " hover:shadow dark:hover:border-bluegray-500" , class " hover:shadow dark:hover:border-slate-500"
, href "#" , href "#"
, onClick (SelectActiveAttachment pos) , onClick (SelectActiveAttachment pos)
] ]
@ -331,7 +331,7 @@ menuItem texts model pos attach =
[ classList [ classList
[ ( "hidden", not visible ) [ ( "hidden", not visible )
] ]
, class "absolute right-1 top-1 text-blue-400 dark:text-lightblue-400 text-xl" , class "absolute right-1 top-1 text-blue-400 dark:text-sky-400 text-xl"
] ]
[ i [ class iconClass ] [] [ i [ class iconClass ] []
] ]

View File

@ -17,12 +17,12 @@ sidebar =
sidebarBg : String sidebarBg : String
sidebarBg = sidebarBg =
" bg-blue-50 dark:bg-bluegray-700 " " bg-blue-50 dark:bg-slate-700 "
sidebarMenuItemActive : String sidebarMenuItemActive : String
sidebarMenuItemActive = sidebarMenuItemActive =
"bg-blue-100 dark:bg-bluegray-600" "bg-blue-100 dark:bg-slate-600"
content : String content : String
@ -32,7 +32,7 @@ content =
sidebarLink : String sidebarLink : String
sidebarLink = sidebarLink =
" mb-2 px-4 py-3 flex flex-row hover:bg-blue-100 dark:hover:bg-bluegray-600 hover:font-bold rounded rounded-lg items-center " " mb-2 px-4 py-3 flex flex-row hover:bg-blue-100 dark:hover:bg-slate-600 hover:font-bold rounded rounded-lg items-center "
successMessage : String successMessage : String
@ -67,7 +67,7 @@ warnMessageColors =
infoMessageBase : String infoMessageBase : String
infoMessageBase = infoMessageBase =
" border border-blue-800 bg-blue-100 text-blue-800 dark:border-lightblue-200 dark:bg-lightblue-800 dark:text-lightblue-200 dark:bg-opacity-25 " " border border-blue-800 bg-blue-100 text-blue-800 dark:border-sky-200 dark:bg-sky-800 dark:text-sky-200 dark:bg-opacity-25 "
infoMessage : String infoMessage : String
@ -78,7 +78,7 @@ infoMessage =
message : String message : String
message = message =
" border border-gray-600 bg-gray-50 text-gray-600 " " border border-gray-600 bg-gray-50 text-gray-600 "
++ "dark:border-bluegray-400 dark:bg-bluegray-600 dark:bg-opacity-80 dark:text-bluegray-400 " ++ "dark:border-slate-400 dark:bg-slate-600 dark:bg-opacity-80 dark:text-slate-400 "
++ "px-4 py-2 rounded " ++ "px-4 py-2 rounded "
@ -104,12 +104,12 @@ redBasicLabel =
basicLabel : String basicLabel : String
basicLabel = basicLabel =
" label border-gray-600 text-gray-600 dark:border-bluegray-300 dark:text-bluegray-300 " " label border-gray-600 text-gray-600 dark:border-slate-300 dark:text-slate-300 "
blueBasicLabel : String blueBasicLabel : String
blueBasicLabel = blueBasicLabel =
" label border-blue-500 text-blue-500 dark:border-lightblue-200 dark:text-lightblue-200 " " label border-blue-500 text-blue-500 dark:border-sky-200 dark:text-sky-200 "
@ -128,12 +128,12 @@ primaryButtonPlain =
primaryButtonMain : String primaryButtonMain : String
primaryButtonMain = primaryButtonMain =
" my-auto whitespace-nowrap bg-blue-500 dark:bg-lightblue-800 text-white text-center px-4 py-2 shadow-md focus:outline-none focus:ring focus:ring-opacity-75 " " my-auto whitespace-nowrap bg-blue-500 dark:bg-sky-800 text-white text-center px-4 py-2 shadow-md focus:outline-none focus:ring focus:ring-opacity-75 "
primaryButtonHover : String primaryButtonHover : String
primaryButtonHover = primaryButtonHover =
" hover:bg-blue-600 dark:hover:bg-lightblue-700 " " hover:bg-blue-600 dark:hover:bg-sky-700 "
primaryButtonRounded : String primaryButtonRounded : String
@ -152,12 +152,12 @@ primaryBasicButton =
primaryBasicButtonMain : String primaryBasicButtonMain : String
primaryBasicButtonMain = primaryBasicButtonMain =
" rounded my-auto whitespace-nowrap border border-blue-500 dark:border-lightblue-500 text-blue-500 dark:text-lightblue-500 text-center px-4 py-2 shadow-md focus:outline-none focus:ring focus:ring-opacity-75 " " rounded my-auto whitespace-nowrap border border-blue-500 dark:border-sky-500 text-blue-500 dark:text-sky-500 text-center px-4 py-2 shadow-md focus:outline-none focus:ring focus:ring-opacity-75 "
primaryBasicButtonHover : String primaryBasicButtonHover : String
primaryBasicButtonHover = primaryBasicButtonHover =
" hover:bg-blue-600 hover:text-white dark:hover:text-white dark:hover:bg-lightblue-500 " " hover:bg-blue-600 hover:text-white dark:hover:text-white dark:hover:bg-sky-500 "
@ -171,12 +171,12 @@ secondaryButton =
secondaryButtonMain : String secondaryButtonMain : String
secondaryButtonMain = secondaryButtonMain =
" rounded my-auto whitespace-nowrap bg-gray-300 dark:bg-bluegray-400 text-center px-4 py-2 shadow-md focus:outline-none focus:ring focus:ring-opacity-75 dark:text-gray-800 text-gray-800" " rounded my-auto whitespace-nowrap bg-gray-300 dark:bg-slate-400 text-center px-4 py-2 shadow-md focus:outline-none focus:ring focus:ring-opacity-75 dark:text-gray-800 text-gray-800"
secondaryButtonHover : String secondaryButtonHover : String
secondaryButtonHover = secondaryButtonHover =
" hover:bg-gray-400 dark:hover:bg-bluegray-300 " " hover:bg-gray-400 dark:hover:bg-slate-300 "
secondaryBasicButton : String secondaryBasicButton : String
@ -200,12 +200,12 @@ secondaryBasicButtonRounded =
secondaryBasicButtonMain : String secondaryBasicButtonMain : String
secondaryBasicButtonMain = secondaryBasicButtonMain =
" my-auto whitespace-nowrap border-gray-500 dark:border-bluegray-500 text-gray-500 dark:text-bluegray-400 text-center shadow-none focus:outline-none focus:ring focus:ring-opacity-75 " " my-auto whitespace-nowrap border-gray-500 dark:border-slate-500 text-gray-500 dark:text-slate-400 text-center shadow-none focus:outline-none focus:ring focus:ring-opacity-75 "
secondaryBasicButtonHover : String secondaryBasicButtonHover : String
secondaryBasicButtonHover = secondaryBasicButtonHover =
" hover:bg-gray-600 hover:text-white dark:hover:text-white dark:hover:bg-bluegray-500 dark:hover:text-bluegray-100 " " hover:bg-gray-600 hover:text-white dark:hover:text-white dark:hover:bg-slate-500 dark:hover:text-slate-100 "
@ -224,17 +224,17 @@ deleteButtonMain =
deleteButtonHover : String deleteButtonHover : String
deleteButtonHover = deleteButtonHover =
" hover:bg-red-600 hover:text-white dark:hover:bg-orange-500 dark:hover:text-bluegray-900 " " hover:bg-red-600 hover:text-white dark:hover:bg-orange-500 dark:hover:text-slate-900 "
undeleteButton : String undeleteButton : String
undeleteButton = undeleteButton =
" rounded my-auto whitespace-nowrap border border-green-500 dark:border-lightgreen-500 text-green-500 dark:text-lightgreen-500 text-center px-4 py-2 shadow-none focus:outline-none focus:ring focus:ring-opacity-75 hover:bg-green-600 hover:text-white dark:hover:text-white dark:hover:bg-lightgreen-500 dark:hover:text-bluegray-900 " " rounded my-auto whitespace-nowrap border border-green-500 dark:border-lightgreen-500 text-green-500 dark:text-lightgreen-500 text-center px-4 py-2 shadow-none focus:outline-none focus:ring focus:ring-opacity-75 hover:bg-green-600 hover:text-white dark:hover:text-white dark:hover:bg-lightgreen-500 dark:hover:text-slate-900 "
deleteLabel : String deleteLabel : String
deleteLabel = deleteLabel =
"label my-auto whitespace-nowrap border border-red-500 dark:border-lightred-500 text-red-500 dark:text-orange-500 text-center focus:outline-none focus:ring focus:ring-opacity-75 hover:bg-red-600 hover:text-white dark:hover:text-white dark:hover:bg-orange-500 dark:hover:text-bluegray-900" "label my-auto whitespace-nowrap border border-red-500 dark:border-lightred-500 text-red-500 dark:text-orange-500 text-center focus:outline-none focus:ring focus:ring-opacity-75 hover:bg-red-600 hover:text-white dark:hover:text-white dark:hover:bg-orange-500 dark:hover:text-slate-900"
@ -243,7 +243,7 @@ deleteLabel =
link : String link : String
link = link =
" text-blue-400 hover:text-blue-500 dark:text-lightblue-200 dark:hover:text-lightblue-100 cursor-pointer " " text-blue-400 hover:text-blue-500 dark:text-sky-200 dark:hover:text-sky-100 cursor-pointer "
inputErrorBorder : String inputErrorBorder : String
@ -258,12 +258,12 @@ inputLabel =
textInput : String textInput : String
textInput = textInput =
" placeholder-gray-400 w-full dark:text-bluegray-200 dark:bg-bluegray-800 dark:border-bluegray-500 border-gray-400 rounded " ++ formFocusRing " placeholder-gray-400 w-full dark:text-slate-200 dark:bg-slate-800 dark:border-slate-500 border-gray-400 rounded " ++ formFocusRing
textInputSidebar : String textInputSidebar : String
textInputSidebar = textInputSidebar =
" w-full placeholder-gray-400 border-gray-400 bg-blue-50 dark:text-bluegray-200 dark:bg-bluegray-700 dark:border-bluegray-500 rounded " ++ formFocusRing " w-full placeholder-gray-400 border-gray-400 bg-blue-50 dark:text-slate-200 dark:bg-slate-700 dark:border-slate-500 rounded " ++ formFocusRing
textAreaInput : String textAreaInput : String
@ -273,46 +273,46 @@ textAreaInput =
inputIcon : String inputIcon : String
inputIcon = inputIcon =
"absolute left-3 top-2 w-10 text-gray-400 dark:text-bluegray-400 " "absolute left-3 top-2 w-10 text-gray-400 dark:text-slate-400 "
dateInputIcon : String dateInputIcon : String
dateInputIcon = dateInputIcon =
"absolute left-3 top-3 w-10 text-gray-400 dark:text-bluegray-400 " "absolute left-3 top-3 w-10 text-gray-400 dark:text-slate-400 "
inputLeftIconLink : String inputLeftIconLink : String
inputLeftIconLink = inputLeftIconLink =
"inline-flex items-center justify-center absolute right-0 top-0 h-full w-10 rounded-r cursor-pointer " "inline-flex items-center justify-center absolute right-0 top-0 h-full w-10 rounded-r cursor-pointer "
++ "text-gray-400 dark:text-bluegray-400 " ++ "text-gray-400 dark:text-slate-400 "
++ "bg-gray-300 dark:bg-bluegray-700 " ++ "bg-gray-300 dark:bg-slate-700 "
++ "dark:border-bluegray-500 border-0 border-r border-t border-b border-gray-500 " ++ "dark:border-slate-500 border-0 border-r border-t border-b border-gray-500 "
++ "hover:bg-gray-400 hover:text-gray-700 dark:hover:bg-bluegray-600" ++ "hover:bg-gray-400 hover:text-gray-700 dark:hover:bg-slate-600"
inputLeftIconLinkSidebar : String inputLeftIconLinkSidebar : String
inputLeftIconLinkSidebar = inputLeftIconLinkSidebar =
"inline-flex items-center justify-center absolute right-0 top-0 h-full w-10 rounded-r cursor-pointer " "inline-flex items-center justify-center absolute right-0 top-0 h-full w-10 rounded-r cursor-pointer "
++ "text-gray-400 dark:text-bluegray-400 " ++ "text-gray-400 dark:text-slate-400 "
++ "bg-gray-300 dark:bg-bluegray-600 " ++ "bg-gray-300 dark:bg-slate-600 "
++ "dark:border-bluegray-500 border-0 border-r border-t border-b border-gray-500 " ++ "dark:border-slate-500 border-0 border-r border-t border-b border-gray-500 "
++ "hover:bg-gray-400 hover:text-gray-700 dark:hover:bg-bluegray-500" ++ "hover:bg-gray-400 hover:text-gray-700 dark:hover:bg-slate-500"
inputLeftIconOnly : String inputLeftIconOnly : String
inputLeftIconOnly = inputLeftIconOnly =
"inline-flex items-center justify-center absolute right-0 top-0 h-full w-10 rounded-r " "inline-flex items-center justify-center absolute right-0 top-0 h-full w-10 rounded-r "
++ "dark:border-bluegray-500 border-0 border-r border-t border-b border-gray-500 " ++ "dark:border-slate-500 border-0 border-r border-t border-b border-gray-500 "
checkboxInput : String checkboxInput : String
checkboxInput = checkboxInput =
" checkbox w-5 h-5 md:w-4 md:h-4 text-black dark:text-bluegray-600 dark:bg-bluegray-600 dark:border-bluegray-700" ++ formFocusRing " checkbox w-5 h-5 md:w-4 md:h-4 text-black dark:text-slate-600 dark:bg-slate-600 dark:border-slate-700" ++ formFocusRing
formFocusRing : String formFocusRing : String
formFocusRing = formFocusRing =
" focus:ring focus:ring-black focus:ring-opacity-50 focus:ring-offset-0 dark:focus:ring-bluegray-400 " " focus:ring focus:ring-black focus:ring-opacity-50 focus:ring-offset-0 dark:focus:ring-slate-400 "
radioInput : String radioInput : String
@ -322,17 +322,17 @@ radioInput =
box : String box : String
box = box =
" border dark:border-bluegray-500 bg-white dark:bg-bluegray-800 shadow-md " " border dark:border-slate-500 bg-white dark:bg-slate-800 shadow-md "
border : String border : String
border = border =
" border dark:border-bluegray-600 " " border dark:border-slate-600 "
border2 : String border2 : String
border2 = border2 =
" border-2 dark:border-bluegray-600 " " border-2 dark:border-slate-600 "
header1 : String header1 : String
@ -352,7 +352,7 @@ header3 =
formHeader : String formHeader : String
formHeader = formHeader =
header3 ++ " text-xl mb-4 font-medium tracking-wide border-b dark:border-bluegray-300 border-gray-800" header3 ++ " text-xl mb-4 font-medium tracking-wide border-b dark:border-slate-300 border-gray-800"
editLinkTableCellStyle : String editLinkTableCellStyle : String
@ -362,22 +362,22 @@ editLinkTableCellStyle =
dimmer : String dimmer : String
dimmer = dimmer =
" absolute top-0 left-0 w-full h-full bg-black bg-opacity-90 dark:bg-bluegray-900 dark:bg-opacity-90 z-50 flex flex-col items-center justify-center px-4 md:px-8 py-2 " " absolute top-0 left-0 w-full h-full bg-black bg-opacity-90 dark:bg-slate-900 dark:bg-opacity-90 z-50 flex flex-col items-center justify-center px-4 md:px-8 py-2 "
dimmerLight : String dimmerLight : String
dimmerLight = dimmerLight =
" absolute top-0 left-0 w-full h-full bg-black bg-opacity-60 dark:bg-bluegray-900 dark:bg-opacity-60 z-30 flex flex-col items-center justify-center px-4 py-2 " " absolute top-0 left-0 w-full h-full bg-black bg-opacity-60 dark:bg-slate-900 dark:bg-opacity-60 z-30 flex flex-col items-center justify-center px-4 py-2 "
dimmerCard : String dimmerCard : String
dimmerCard = dimmerCard =
" absolute top-0 left-0 w-full h-full bg-black bg-opacity-60 dark:bg-lightblue-900 dark:bg-opacity-60 z-30 flex flex-col items-center justify-center px-4 py-2 " " absolute top-0 left-0 w-full h-full bg-black bg-opacity-60 dark:bg-sky-900 dark:bg-opacity-60 z-30 flex flex-col items-center justify-center px-4 py-2 "
dimmerRow : String dimmerRow : String
dimmerRow = dimmerRow =
" absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 dark:bg-lightblue-900 dark:bg-opacity-50 z-30 flex flex-row items-center px-1 py-2 " " absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 dark:bg-sky-900 dark:bg-opacity-50 z-30 flex flex-row items-center px-1 py-2 "
tableMain : String tableMain : String
@ -387,9 +387,9 @@ tableMain =
tableRow : String tableRow : String
tableRow = tableRow =
"border-t dark:border-bluegray-600" "border-t dark:border-slate-600"
qrCode : String qrCode : String
qrCode = qrCode =
"max-w-min dark:bg-bluegray-400 bg-gray-50 mx-auto md:mx-0" "max-w-min dark:bg-slate-400 bg-gray-50 mx-auto md:mx-0"

View File

@ -0,0 +1,99 @@
@layer components {
.label {
@apply flex flex-row items-center px-2 py-0.5 rounded border ;
}
.ds-item-card.current {
@apply shadow-lg dark:border-sky-600;
}
.ds-item-row.current {
@apply bg-gray-200 bg-opacity-50 dark:bg-sky-600 dark:bg-opacity-10;
}
.elm-datepicker--input {
@apply pl-10 rounded w-full placeholder-gray-400 dark:text-slate-200 dark:border-slate-500;
}
#sidebar .elm-datepicker--input {
@apply dark:bg-slate-700 border-gray-500 bg-blue-50;
}
#content .elm-datepicker--input {
@apply dark:bg-slate-800 border-gray-400;
}
#item-card-list .elm-datepicker--input {
@apply dark:bg-slate-800 border-gray-400;
}
.elm-datepicker--container {
@apply w-full;
}
.elm-datepicker--picker {
@apply absolute top-11 z-50 bg-white dark:bg-slate-800 w-full flex flex-col border border-gray-300 dark:border-slate-500 shadow-lg;
}
.elm-datepicker--picker-header {
@apply flex flex-row items-center py-2 bg-blue-50 dark:bg-slate-700;
}
.elm-datepicker--prev-container {
@apply flex-none px-2;
}
.elm-datepicker--prev {
@apply fa fa-chevron-left inline-flex block px-2 py-2 focus:outline-none hover:opacity-75;
}
.elm-datepicker--month-container {
@apply flex-grow px-2 flex flex-col space-y-1 items-center;
}
.elm-datepicker--next-container {
@apply px-2;
}
.elm-datepicker--next {
@apply fa fa-chevron-right inline-flex block px-2 py-2 focus:outline-none hover:opacity-75;
}
.elm-datepicker--year-menu {
@apply dark:text-slate-200 dark:bg-slate-600 dark:border-slate-400 rounded text-sm py-1 focus:ring focus:ring-black focus:ring-opacity-50 focus:ring-offset-0 dark:focus:ring-slate-400;
}
.elm-datepicker--table {
@apply border-collapse w-full text-lg;
}
.elm-datepicker--weekdays {
@apply font-semibold text-sm border-0 border-b dark:border-slate-500;
}
.elm-datepicker--year {
@apply h-8;
}
.elm-datepicker--dow {
@apply px-1 py-1 text-center;
}
.elm-datepicker--day {
@apply cursor-pointer text-center hover:underline;
}
.elm-datepicker--day.elm-datepicker--other-month {
@apply opacity-50;
}
.elm-datepicker--day.elm-datepicker--today {
@apply border-2 rounded-full border-blue-500 dark:border-sky-500 h-5/6 w-5/6 flex items-center justify-center ;
}
.markdown-preview h3,h4,h5,h6 {
@apply text-lg font-semibold mb-2;
}
.markdown-preview h2 {
@apply text-xl font-semibold mb-2;
}
.markdown-preview h1 {
@apply text-2xl font-semibold mb-2;
}
.markdown-preview ul {
@apply list-disc py-2 ml-4;
}
.markdown-preview ol {
@apply list-decimal py-2 ml-4;
}
.markdown-preview p {
@apply py-2;
}
.markdown-preview a {
@apply text-blue-400 hover:text-blue-500 dark:text-sky-200 dark:hover:text-sky-100 cursor-pointer;
}
}

View File

@ -0,0 +1,86 @@
@layer utilities {
.disabled {
@apply opacity-50 cursor-not-allowed;
}
.h-screen-10 {
height: calc(100vh - 2.5rem);
}
.h-screen-11 {
height: calc(100vh - 2.75rem);
}
.h-screen-12 {
height: calc(100vh - 3rem);
}
.h-full-10 {
height: calc(100% - 2.5rem);
}
.h-full-11 {
height: calc(100% - 2.75rem);
}
.h-full-12 {
height: calc(100% - 3rem);
}
.z-35 {
z-index: 35;
}
@variants responsive {
.min-h-7 {
min-height: 1.75rem;
}
}
.scrollbar-none {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
/* Chrome, Safari and Opera */
.scrollbar-none::-webkit-scrollbar {
display: none;
}
.scrollbar-thin {
scrollbar-width: thin;
}
.scrollbar-thin::-webkit-scrollbar {
width: 8px;
}
@variants dark {
.scrollbar-dark-sidebar {
scrollbar-color: rgba(15,23,42,0.9) rgba(15,23,42,0.3);
}
.scrollbar-light-sidebar {
scrollbar-color: rgba(219, 234, 254, 1.0) rgba(219, 234, 254,0.3);
}
.scrollbar-main {
scrollbar-color: rgba(156, 163, 175,0.9) rgba(156, 163, 175,0.3);
}
.scrollbar-dark-sidebar::-webkit-scrollbar {
background-color: rgba(15,23,42,0.3);
}
.scrollbar-dark-sidebar::-webkit-scrollbar-thumb {
background: rgba(15,23,42,0.9);
}
.scrollbar-light-sidebar::-webkit-scrollbar {
background-color: rgba(219, 234, 254, 0.3);
}
.scrollbar-light-sidebar::-webkit-scrollbar-thumb {
background: rgba(219, 234, 254, 1.0);
}
.scrollbar-main::-webkit-scrollbar {
background-color: rgba(156, 163, 175, 0.3);
}
.scrollbar-main::-webkit-scrollbar-thumb {
background: rgba(156, 163, 175, 0.9);
}
}
.ds-card-search-hl strong {
@apply bg-lime-200 dark:bg-sky-700 italic font-bold px-1 bg-opacity-60 dark:bg-opacity-60;
}
}

View File

@ -1,196 +1,9 @@
@import "@fortawesome/fontawesome-free/css/all"; @import "@fortawesome/fontawesome-free/css/all";
@import "flag-icon-css/css/flag-icon.min"; @import "flag-icon-css/css/flag-icon.min";
/* all @import must be above this line */ @import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
@tailwind base; @import "./custom-components.css";
@tailwind components; @import "./custom-utilities.css";
@tailwind utilities;
@layer components {
.label {
@apply flex flex-row items-center px-2 py-0.5 rounded border ;
}
.ds-item-card.current {
@apply shadow-lg dark:border-lightblue-600;
}
.ds-item-row.current {
@apply bg-gray-200 bg-opacity-50 dark:bg-lightblue-600 dark:bg-opacity-10;
}
.elm-datepicker--input {
@apply pl-10 rounded w-full placeholder-gray-400 dark:text-bluegray-200 dark:border-bluegray-500;
}
#sidebar .elm-datepicker--input {
@apply dark:bg-bluegray-700 border-gray-500 bg-blue-50;
}
#content .elm-datepicker--input {
@apply dark:bg-bluegray-800 border-gray-400;
}
#item-card-list .elm-datepicker--input {
@apply dark:bg-bluegray-800 border-gray-400;
}
.elm-datepicker--container {
@apply w-full;
}
.elm-datepicker--picker {
@apply absolute top-11 z-50 bg-white dark:bg-bluegray-800 w-full flex flex-col border border-gray-300 dark:border-bluegray-500 shadow-lg;
}
.elm-datepicker--picker-header {
@apply flex flex-row items-center py-2 bg-blue-50 dark:bg-bluegray-700;
}
.elm-datepicker--prev-container {
@apply flex-none px-2;
}
.elm-datepicker--prev {
@apply fa fa-chevron-left inline-flex block px-2 py-2 focus:outline-none hover:opacity-75;
}
.elm-datepicker--month-container {
@apply flex-grow px-2 flex flex-col space-y-1 items-center;
}
.elm-datepicker--next-container {
@apply px-2;
}
.elm-datepicker--next {
@apply fa fa-chevron-right inline-flex block px-2 py-2 focus:outline-none hover:opacity-75;
}
.elm-datepicker--year-menu {
@apply dark:text-bluegray-200 dark:bg-bluegray-600 dark:border-bluegray-400 rounded text-sm py-1 focus:ring focus:ring-black focus:ring-opacity-50 focus:ring-offset-0 dark:focus:ring-bluegray-400;
}
.elm-datepicker--table {
@apply border-collapse w-full text-lg;
}
.elm-datepicker--weekdays {
@apply font-semibold text-sm border-0 border-b dark:border-bluegray-500;
}
.elm-datepicker--year {
@apply h-8;
}
.elm-datepicker--dow {
@apply px-1 py-1 text-center;
}
.elm-datepicker--day {
@apply cursor-pointer text-center hover:underline;
}
.elm-datepicker--day.elm-datepicker--other-month {
@apply opacity-50;
}
.elm-datepicker--day.elm-datepicker--today {
@apply border-2 rounded-full border-blue-500 dark:border-lightblue-500 h-5/6 w-5/6 flex items-center justify-center ;
}
.markdown-preview h3,h4,h5,h6 {
@apply text-lg font-semibold mb-2;
}
.markdown-preview h2 {
@apply text-xl font-semibold mb-2;
}
.markdown-preview h1 {
@apply text-2xl font-semibold mb-2;
}
.markdown-preview ul {
@apply list-disc py-2 ml-4;
}
.markdown-preview ol {
@apply list-decimal py-2 ml-4;
}
.markdown-preview p {
@apply py-2;
}
.markdown-preview a {
@apply text-blue-400 hover:text-blue-500 dark:text-lightblue-200 dark:hover:text-lightblue-100 cursor-pointer;
}
}
@layer utilities {
.disabled {
@apply opacity-50 cursor-not-allowed;
}
.h-screen-10 {
height: calc(100vh - 2.5rem);
}
.h-screen-11 {
height: calc(100vh - 2.75rem);
}
.h-screen-12 {
height: calc(100vh - 3rem);
}
.h-full-10 {
height: calc(100% - 2.5rem);
}
.h-full-11 {
height: calc(100% - 2.75rem);
}
.h-full-12 {
height: calc(100% - 3rem);
}
.z-35 {
z-index: 35;
}
@variants responsive {
.min-h-7 {
min-height: 1.75rem;
}
}
.scrollbar-none {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
/* Chrome, Safari and Opera */
.scrollbar-none::-webkit-scrollbar {
display: none;
}
.scrollbar-thin {
scrollbar-width: thin;
}
.scrollbar-thin::-webkit-scrollbar {
width: 8px;
}
@variants dark {
.scrollbar-dark-sidebar {
scrollbar-color: rgba(15,23,42,0.9) rgba(15,23,42,0.3);
}
.scrollbar-light-sidebar {
scrollbar-color: rgba(219, 234, 254, 1.0) rgba(219, 234, 254,0.3);
}
.scrollbar-main {
scrollbar-color: rgba(156, 163, 175,0.9) rgba(156, 163, 175,0.3);
}
.scrollbar-dark-sidebar::-webkit-scrollbar {
background-color: rgba(15,23,42,0.3);
}
.scrollbar-dark-sidebar::-webkit-scrollbar-thumb {
background: rgba(15,23,42,0.9);
}
.scrollbar-light-sidebar::-webkit-scrollbar {
background-color: rgba(219, 234, 254, 0.3);
}
.scrollbar-light-sidebar::-webkit-scrollbar-thumb {
background: rgba(219, 234, 254, 1.0);
}
.scrollbar-main::-webkit-scrollbar {
background-color: rgba(156, 163, 175, 0.3);
}
.scrollbar-main::-webkit-scrollbar-thumb {
background: rgba(156, 163, 175, 0.9);
}
}
.ds-card-search-hl strong {
@apply bg-lime-200 dark:bg-lightblue-700 italic font-bold px-1 bg-opacity-60 dark:bg-opacity-60;
}
}

View File

@ -31,10 +31,10 @@ elmApp.ports.internalSetUiTheme.subscribe(function(themeName) {
var bodyClasses = body[0].classList; var bodyClasses = body[0].classList;
// seems that body attributes cannot be set from inside Elm. // seems that body attributes cannot be set from inside Elm.
if (themeName && themeName.toLowerCase() === 'dark') { if (themeName && themeName.toLowerCase() === 'dark') {
bodyClasses.add("bg-bluegray-800"); bodyClasses.add("bg-slate-800");
bodyClasses.add("dark"); bodyClasses.add("dark");
} else { } else {
bodyClasses.remove("bg-bluegray-800"); bodyClasses.remove("bg-slate-800");
bodyClasses.remove("dark"); bodyClasses.remove("dark");
} }
} }

View File

@ -3,26 +3,17 @@
const colors = require('tailwindcss/colors') const colors = require('tailwindcss/colors')
module.exports = { module.exports = {
darkMode: 'class', // or 'media' or 'class'
content: [ "./src/main/elm/**/*.elm",
"./src/main/styles/keep.txt",
"../restserver/src/main/templates/*.html"
],
variants: { variants: {
extend: { extend: {
backgroundOpacity: ['dark'] backgroundOpacity: ['dark']
} }
}, },
purge: false, purge: false,
darkMode: 'class', // or 'media' or 'class'
theme: {
extend: {
colors: {
bluegray: colors.blueGray,
warmgray: colors.warmGray,
amber: colors.amber,
orange: colors.orange,
teal: colors.teal,
lime: colors.lime,
lightblue: colors.sky
}
}
},
plugins: [ plugins: [
require('@tailwindcss/forms') require('@tailwindcss/forms')
] ]

View File

@ -96,7 +96,7 @@ object StylesPlugin extends AutoPlugin {
Seq( Seq(
npx, npx,
"postcss", "postcss",
s"$inDir/*.css", s"$inDir/index.css",
"-o", "-o",
target.absolutePath, target.absolutePath,
"--env", "--env",

View File

@ -23,12 +23,35 @@ compile_css() {
echo "Building css …" echo "Building css …"
local srcs="$wdir/modules/webapp/src/main/styles/index.css" local srcs="$wdir/modules/webapp/src/main/styles/index.css"
local target="$targetbase/css/styles.css" local target="$targetbase/css/styles.css"
cd $wdir/modules/webapp && npx postcss "$srcs" -o "$target" --env development && cd - cd $wdir/modules/webapp && npx tailwindcss --input "$srcs" -o "$target" --config ./tailwind.config.js --postcss ./postcss.config.js --env development && cd -
cat "$target" | gzip > "$targetbase/css/styles.css.gz" cat "$target" | gzip > "$targetbase/css/styles.css.gz"
cp "$targetbase/css/styles.css" "$resourcebase/css/" cp "$targetbase/css/styles.css" "$resourcebase/css/"
cp "$targetbase/css/styles.css.gz" "$resourcebase/css/" cp "$targetbase/css/styles.css.gz" "$resourcebase/css/"
} }
watch_js() {
echo "Watching for elm sources. C-c to quit."
inotifywait -r --format '%w%f' \
-e close_write -m \
"$wdir/modules/webapp/src/main/elm" |
while read pathfile; do
compile_js
echo "Done."
done
}
watch_css() {
echo "Watching css …"
rm -f "$targetbase/css"/*.css
rm -f "$resourcebase/css"/*.css
local srcs="$wdir/modules/webapp/src/main/styles/index.css"
local target="$targetbase/css/styles.css"
cd $wdir/modules/webapp && \
npx tailwindcss --input "$srcs" \
-o "$target" -m \
--config ./tailwind.config.js \
--postcss ./postcss.config.js --watch
}
watch_both() { watch_both() {
echo "Watching css and elm sources. C-c to quit." echo "Watching css and elm sources. C-c to quit."
@ -39,6 +62,7 @@ watch_both() {
while read pathfile; do while read pathfile; do
if [[ "$pathfile" == *".elm" ]]; then if [[ "$pathfile" == *".elm" ]]; then
compile_js compile_js
compile_css
echo "Done." echo "Done."
elif [[ "$pathfile" == *".css" ]]; then elif [[ "$pathfile" == *".css" ]]; then
compile_css compile_css
@ -49,7 +73,8 @@ watch_both() {
} }
cd "$wdir/modules/webapp" cd "$wdir/modules/webapp"
case "$1" in arg=${1:-_}
case "$arg" in
all) all)
compile_js compile_js
compile_css compile_css
@ -66,14 +91,18 @@ case "$1" in
echo "Done." echo "Done."
;; ;;
watch) watch-js)
set +e set +e
compile_js compile_js
compile_css watch_js
watch_both ;;
watch-css)
set +e
watch_css
;; ;;
*) *)
echo "Need one of: all, js, css, watch" echo "Need one of: all, js, css, watch, watch-js, watch-css"
exit 1 exit 1
esac esac

View File

@ -125,32 +125,38 @@ just left as is. Only the new compiled webapp must be made available
to the running server. For this, a script is provided in the to the running server. For this, a script is provided in the
`project/` folder. `project/` folder.
Now open another terminal and `cd` into the docspell folder as before Now open two more terminals and `cd` into the docspell folder as before
and run the following: and run the following in one:
``` bash ``` bash
./project/dev-ui-build.sh watch ./project/dev-ui-build.sh watch-js
Compile elm to js … Compile elm to js …
Success! Success!
Main ───> /tmp/docspell/modules/webapp/target/scala-2.13/classes/META-INF/resources/webjars/docspell-webapp/0.22.0-SNAPSHOT/docspell-app.js Main ───> /tmp/docspell/modules/webapp/target/scala-2.13/classes/META-INF/resources/webjars/docspell-webapp/0.22.0-SNAPSHOT/docspell-app.js
Building css … Watching elm sources. C-c to quit.
/tmp/docspell
Watching css and elm sources. C-c to quit.
Setting up watches. Beware: since -r was given, this may take a while! Setting up watches. Beware: since -r was given, this may take a while!
Watches established. Watches established.
``` ```
Once you see this, you're all set. The docspell application is running And in the other run this:
and changes to elm files are detected, the webapp is compiled and the
resulting javascript file is copied to the correct location. To see ``` bash
your changes, a refresh in the browser is necessary. ./project/dev-ui-build.sh watch-css
Watching css …
```
Once you have this, you're all set. The docspell application is
running and changes to elm and css files are detected, the webapp is
compiled and the resulting javascript and css file is copied to the
correct location. To see your changes, a refresh in the browser is
necessary.
If this script is not working, install inotify-tools. The If this script is not working, install inotify-tools. The
`inotifywait` command is required. `inotifywait` command is required.
You'll notice that compiling elm files is very fast! You'll notice that compiling elm and css is very fast.
## Find the webapp sources ## Find the webapp sources