Initial commit
This commit is contained in:
commit
423f372d88
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/dist
|
||||||
|
/target
|
21
LICENSE
Executable file
21
LICENSE
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) [2022] [mkpaz]
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
10
README.md
Normal file
10
README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# AtlantaFX Sample Theme
|
||||||
|
|
||||||
|
This is an example of creating custom JavaFX CSS theme based on [AtlantaFX](https://github.com/mkpaz/atlantafx) stylesheet. Just clone the repository and use it as a starting point for creating your own theme.
|
||||||
|
|
||||||
|
Compile and grab resulting CSS from `dist/` directory:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# you can also (optionally) watch for changes
|
||||||
|
mvn compile [-Pwatch]
|
||||||
|
```
|
93
pom.xml
Executable file
93
pom.xml
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>io.github.mkpaz</groupId>
|
||||||
|
<artifactId>atlantafx-sample-theme</artifactId>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
||||||
|
<sass.version>1.54.4</sass.version>
|
||||||
|
<atlantafx.version>1.0.0</atlantafx.version>
|
||||||
|
|
||||||
|
<scss.inputDir>${project.basedir}/src</scss.inputDir>
|
||||||
|
<css.outputDir>${project.basedir}/dist</css.outputDir>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.github.mkpaz</groupId>
|
||||||
|
<artifactId>atlantafx-styles</artifactId>
|
||||||
|
<version>${atlantafx.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<!-- unpack SASS sources from atlantafx-styles jar -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>unpack</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>unpack</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<artifactItems>
|
||||||
|
<artifactItem>
|
||||||
|
<groupId>io.github.mkpaz</groupId>
|
||||||
|
<artifactId>atlantafx-styles</artifactId>
|
||||||
|
<version>${atlantafx.version}</version>
|
||||||
|
<type>jar</type>
|
||||||
|
<overWrite>true</overWrite>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
</artifactItem>
|
||||||
|
</artifactItems>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- build custom theme -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>us.hebi.sass</groupId>
|
||||||
|
<artifactId>sass-cli-maven-plugin</artifactId>
|
||||||
|
<version>1.0.1</version>
|
||||||
|
<configuration>
|
||||||
|
<args>
|
||||||
|
<arg>${scss.inputDir}/sample-theme.scss:${css.outputDir}/sample-theme.css</arg>
|
||||||
|
<arg>--no-source-map</arg>
|
||||||
|
</args>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>run-sass</id>
|
||||||
|
<phase>compile</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>run</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<id>watch</id>
|
||||||
|
<properties>
|
||||||
|
<sass.watch>true</sass.watch>
|
||||||
|
</properties>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
|
||||||
|
</project>
|
124
src/sample-theme.scss
Normal file
124
src/sample-theme.scss
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
@use "sass:color";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Based on Material color palette
|
||||||
|
*/
|
||||||
|
|
||||||
|
// modify color scale
|
||||||
|
@forward "../target/atlantafx/styles/settings/color-scale" with (
|
||||||
|
|
||||||
|
$dark: black,
|
||||||
|
$light: white,
|
||||||
|
|
||||||
|
$base-0: #fafafa,
|
||||||
|
$base-1: #f5f5f5,
|
||||||
|
$base-2: #eeeeee,
|
||||||
|
$base-3: #e0e0e0,
|
||||||
|
$base-4: #bdbdbd,
|
||||||
|
$base-5: #9e9e9e,
|
||||||
|
$base-6: #757575,
|
||||||
|
$base-7: #616161,
|
||||||
|
$base-8: #424242,
|
||||||
|
$base-9: #212121,
|
||||||
|
|
||||||
|
$accent-0: #e8eaf6,
|
||||||
|
$accent-1: #c5cae9,
|
||||||
|
$accent-2: #9fa8da,
|
||||||
|
$accent-3: #7986cb,
|
||||||
|
$accent-4: #5c6bc0,
|
||||||
|
$accent-5: #3f51b5,
|
||||||
|
$accent-6: #3949ab,
|
||||||
|
$accent-7: #303f9f,
|
||||||
|
$accent-8: #283593,
|
||||||
|
$accent-9: #1a237e,
|
||||||
|
|
||||||
|
$success-0: #e8f5e9,
|
||||||
|
$success-1: #c8e6c9,
|
||||||
|
$success-2: #a5d6a7,
|
||||||
|
$success-3: #b5cba3,
|
||||||
|
$success-4: #81c784,
|
||||||
|
$success-5: #66bb6a,
|
||||||
|
$success-6: #4caf50,
|
||||||
|
$success-7: #388e3c,
|
||||||
|
$success-8: #2e7d32,
|
||||||
|
$success-9: #1b5e20,
|
||||||
|
|
||||||
|
$warning-0: #fff8e1,
|
||||||
|
$warning-1: #ffecb3,
|
||||||
|
$warning-2: #ffe082,
|
||||||
|
$warning-3: #ffd54f,
|
||||||
|
$warning-4: #ffca28,
|
||||||
|
$warning-5: #ffc107,
|
||||||
|
$warning-6: #ffb300,
|
||||||
|
$warning-7: #ffa000,
|
||||||
|
$warning-8: #ff8f00,
|
||||||
|
$warning-9: #ff6f00,
|
||||||
|
|
||||||
|
$danger-0: #fbe9e7,
|
||||||
|
$danger-1: #ffccbc,
|
||||||
|
$danger-2: #ffab91,
|
||||||
|
$danger-3: #ff8a65,
|
||||||
|
$danger-4: #ff7043,
|
||||||
|
$danger-5: #ff5722,
|
||||||
|
$danger-6: #f4511e,
|
||||||
|
$danger-7: #e64a19,
|
||||||
|
$danger-8: #d84315,
|
||||||
|
$danger-9: #bf360c
|
||||||
|
);
|
||||||
|
@use "../target/atlantafx/styles/settings/color-scale" as scale;
|
||||||
|
|
||||||
|
// modify functional colors
|
||||||
|
@forward "../target/atlantafx/styles/settings/color-vars" with (
|
||||||
|
|
||||||
|
// TODO: NOT TESTED YET
|
||||||
|
|
||||||
|
$fg-default: scale.$base-0,
|
||||||
|
$fg-muted: scale.$base-2,
|
||||||
|
$fg-subtle: scale.$base-3,
|
||||||
|
$fg-onEmphasis: scale.$light,
|
||||||
|
|
||||||
|
$canvas-default: scale.$base-9,
|
||||||
|
$canvas-overlay: scale.$base-8,
|
||||||
|
$canvas-inset: scale.$dark,
|
||||||
|
$canvas-subtle: scale.$base-7,
|
||||||
|
|
||||||
|
$border-default: scale.$base-6,
|
||||||
|
$border-muted: scale.$base-7,
|
||||||
|
$border-subtle: scale.$base-8,
|
||||||
|
|
||||||
|
$neutral-emphasisPlus: scale.$base-6,
|
||||||
|
$neutral-emphasis: scale.$base-5,
|
||||||
|
$neutral-muted: color.change(scale.$base-4, $alpha: 0.4),
|
||||||
|
$neutral-subtle: color.change(scale.$base-4, $alpha: 0.1),
|
||||||
|
|
||||||
|
$accent-fg: scale.$accent-3,
|
||||||
|
$accent-emphasis: scale.$accent-5,
|
||||||
|
$accent-muted: color.change(scale.$accent-4, $alpha: 0.4),
|
||||||
|
$accent-subtle: color.change(scale.$accent-4, $alpha: 0.15),
|
||||||
|
|
||||||
|
$success-fg: scale.$success-3,
|
||||||
|
$success-emphasis: scale.$success-5,
|
||||||
|
$success-muted: color.change(scale.$success-4, $alpha: 0.35),
|
||||||
|
$success-subtle: color.change(scale.$success-4, $alpha: 0.15),
|
||||||
|
|
||||||
|
$warning-fg: scale.$warning-3,
|
||||||
|
$warning-emphasis: scale.$warning-5,
|
||||||
|
$warning-muted: color.change(scale.$warning-5, $alpha: 0.35),
|
||||||
|
$warning-subtle: color.change(scale.$warning-5, $alpha: 0.15),
|
||||||
|
|
||||||
|
$danger-fg: scale.$danger-3,
|
||||||
|
$danger-emphasis: scale.$danger-5,
|
||||||
|
$danger-muted: color.change(scale.$danger-4, $alpha: 0.35),
|
||||||
|
$danger-subtle: color.change(scale.$danger-4, $alpha: 0.15)
|
||||||
|
);
|
||||||
|
|
||||||
|
// modify global config
|
||||||
|
// @forward "settings/config" with (
|
||||||
|
// don't forget to signal whether it light or dark theme
|
||||||
|
// $darkMode: true
|
||||||
|
// );
|
||||||
|
|
||||||
|
@use "../target/atlantafx/styles/general";
|
||||||
|
|
||||||
|
// modify individual control settings
|
||||||
|
@use "../target/atlantafx/styles/components";
|
Loading…
Reference in New Issue
Block a user