Compare commits

..

No commits in common. "master" and "gh-pages" have entirely different histories.

1845 changed files with 14632 additions and 54020 deletions

2
.gitattributes vendored

@ -1,2 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto

@ -1,17 +0,0 @@
name: "Prepare Java"
description: "Install Java and cache Maven dependencies"
runs:
using: "composite"
steps:
- name: Build | Setup OpenJDK
uses: actions/setup-java@v1
with:
java-version: 17
- name: Build | Cache Maven dependencies
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

@ -1,17 +0,0 @@
name: docs
on:
push:
paths:
- docs/**
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: |
pip install mkdocs-material==8.5.11 mkdocs-redirects
cd docs
mkdocs gh-deploy --force

@ -1,83 +0,0 @@
name: Tagged Release
on:
push:
tags:
- 'v*'
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest ]
runs-on: ${{ matrix.os }}
continue-on-error: true
steps:
- name: Prepare | Checkout
uses: actions/checkout@v2
- name: Prepare | Java
uses: ./.github/actions/prepare-java
- name: Extract release notes
id: extract-release-notes
uses: ffurrer2/extract-release-notes@v1
with:
release_notes_file: RELEASE_NOTES.md
- name: Build | Package styles
run: mvn clean install -B --file styles/pom.xml
- name: Build | Package other modules (Unix)
# some tests won't start without X11
run: xvfb-run mvn clean install -B -pl '!styles' --file pom.xml
if: matrix.os == 'ubuntu-latest'
- name: Build | Package other modules (Windows)
run: mvn clean install -B -pl '!styles' --file pom.xml
if: matrix.os == 'windows-latest'
- name: Build | List artifacts (Unix)
shell: sh
run: ls -l ./sampler/target/release
if: matrix.os == 'ubuntu-latest'
- name: Build | List artifacts (Windows)
shell: pwsh
run: ls sampler\target\release
if: matrix.os == 'windows-latest'
- name: Build | Upload binaries
uses: actions/upload-artifact@v2
with:
name: binaries
path: ./sampler/target/release/*
retention-days: 1
- name: Build | Upload resources
uses: actions/upload-artifact@v2
with:
name: resources
path: |
./styles/**/*-themes.zip
RELEASE_NOTES.md
retention-days: 1
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Release | Download files
uses: actions/download-artifact@v2
- name: Release | List content
run: ls -R
- name: Release | Publish to Github
uses: softprops/action-gh-release@v1
with:
files: |
binaries/*
resources/**/*-themes.zip
body_path: resources/RELEASE_NOTES.md

382
.gitignore vendored

@ -1,382 +0,0 @@
# Conveyor
output
signed.conveyor.conf
self-signed.conveyor.conf
ms-store-creds.conf
# Created by https://www.toptal.com/developers/gitignore/api/maven,linux,eclipse,windows,intellij+all,grunt,node
# Edit at https://www.toptal.com/developers/gitignore?templates=maven,linux,eclipse,windows,intellij+all,grunt,node
### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
### Eclipse Patch ###
# Spring Boot Tooling
.sts4-cache/
### grunt ###
# Grunt usually compiles files inside this directory
dist/
# Grunt usually preprocesses files such as coffeescript, compass... inside the .tmp directory
.tmp/
### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.
.idea/*
!.idea/codeStyles
!.idea/runConfigurations
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
# Eclipse m2e generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
### Node Patch ###
# Serverless Webpack directories
.webpack/
# Optional stylelint cache
# SvelteKit build / generate output
.svelte-kit
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/maven,linux,eclipse,windows,intellij+all,grunt,node
/node
/node_modules
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
# ignore folders generated by Bundler
/docs/.bundle/
/docs/vendor/

@ -1,18 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar

0
.nojekyll Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

438
404.html Normal file

@ -0,0 +1,438 @@
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="/assets/atlantafx.png">
<meta name="generator" content="mkdocs-1.4.3, mkdocs-material-8.5.10">
<title>AtlantaFX</title>
<link rel="stylesheet" href="/assets/stylesheets/main.975780f9.min.css">
<link rel="stylesheet" href="/assets/stylesheets/palette.2505c338.min.css">
<meta name="theme-color" content="#2094f3">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("/",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="blue" data-md-color-accent="">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="/." title="AtlantaFX" class="md-header__button md-logo" aria-label="AtlantaFX" data-md-component="logo">
<img src="/assets/atlantafx.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
AtlantaFX
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/mkpaz/atlantafx" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="/." title="AtlantaFX" class="md-nav__button md-logo" aria-label="AtlantaFX" data-md-component="logo">
<img src="/assets/atlantafx.png" alt="logo">
</a>
AtlantaFX
</label>
<div class="md-nav__source">
<a href="https://github.com/mkpaz/atlantafx" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="/." class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="/getting-started/" class="md-nav__link">
Getting Started
</a>
</li>
<li class="md-nav__item">
<a href="/build/" class="md-nav__link">
Build
</a>
</li>
<li class="md-nav__item">
<a href="/theming/" class="md-nav__link">
Theming
</a>
</li>
<li class="md-nav__item">
<a href="/fxml/" class="md-nav__link">
FXML
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_6">
Reference
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Reference" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Reference
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="/apidocs/" class="md-nav__link">
API
</a>
</li>
<li class="md-nav__item">
<a href="/reference/global-colors/" class="md-nav__link">
Global Colors
</a>
</li>
<li class="md-nav__item">
<a href="/reference/typography/" class="md-nav__link">
Typography
</a>
</li>
<li class="md-nav__item">
<a href="/reference/controls/" class="md-nav__link">
Controls
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>404 - Not found</h1>
</article>
</div>
</div>
<a href="#" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
Back to top
</a>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "/", "features": ["navigation.sections", "navigation.expand", "navigation.path", "navigation.top"], "search": "/assets/javascripts/workers/search.16e2a7d4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script>
<script src="/assets/javascripts/bundle.5a2dcb6a.min.js"></script>
</body>
</html>

@ -1,135 +0,0 @@
# Changelog
## [Unreleased]
## [2.0.1] - 2023-06-18
### Fixed
- (Base) Incorrect Notification text width.
- (CSS) Increased overlay contrast of ModalPane.
- (Sampler) SceneBuilder installer classpath #42 (thanks to **ennerf**).
- (Sampler) Music player can't load demo files from jrt.
- (Sampler) Contrast checker bg color.
## [2.0.0] - 2023-06-02
### Breaking changes
- The `InlineDatePicker` control was renamed to `Calendar`.
### Added
- (Base) 🚀 [BBCode](https://ru.wikipedia.org/wiki/BBCode) markup support.
- (Base) 🚀 `DeckPane` layout with support for swipe and slide transitions.
- (Base) 🚀 `MaskTextField` (and `MaskTextFormatter`) control to support masked text input.
- (Base) 🚀 `Message` control for displaying banners or alerts.
- (Base) 🚀 `ModalPane` and `ModalBox` controls to display modal dialogs on the top of the current scene.
- (Base) 🚀 `Notification` control for displaying notifications.
- (Base) 🚀 The `Card` and `Tile` controls, which are both versatile containers that can be used in various contexts.
- (Base) All themes are now additionally available in the BSS format.
- (Base) Animations library.
- (Base) `InputGroup` layout to simplify creating, well, input groups.
- (Base) `PasswordTextField` control to simplify `PasswordTextFormatter` usage.
- (Base) `ToggleGroup` support for the `ToggleSwitch`
- (Base) `ToggleSwitch` property to control the label position (left or right).
- (Base) New utility methods in `Styles` class.
- (CSS) 🚀 MacOS-like Cupertino theme in light and dark variants.
- (CSS) 🚀 [Dracula](https://ui.draculatheme.com/) theme.
- (CSS) Classic `TabPane` style. There are three styles supported: default, floating and classic.
- (CSS) Regular outlined buttons. There was only colored option before.
- (CSS) `.no-header` tweak support for the `TableView` and `TreeTableView`.
- (CSS) `.edge-to-edge` tweak support for the `TextInput` and `Calendar`.
- (CSS) Intent pseudo-classes (`success`, `danger`) support for the `ToggleSwitch`.
- (CSS) An utility CSS classes for setting background colors.
- (CSS) Distinctive background color for the readonly text input state.
- (CSS) Breadcrumbs support for the `Toolbar`.
- (CSS) `Button` shadow effect support (`-color-button-shadow`). Only for themes compiled with the `button.$use-shadow` flag enabled.
- (Sampler) 🚀 The Sampler app is completely rewritten to give it a more modern look and feel.
- (Sampler) 🚀 SceneBuilder integration. AtlantaFX themes can be installed (or updated, or uninstalled) directly from the Sampler app.
### Improved
- (Build) JavaFX version bump to 20 (March 2023).
- (Base) A proper [Javadoc](https://mkpaz.github.io/atlantafx/apidocs/atlantafx.base/module-summary.html) for all controls.
- (Base) All controls are now more FXML-friendly.
- (CSS) Looked-up color variables for `Separator` and the selected `TabPane` tab..
- (CSS) Border radius and shadow effect to popup menu for `ComboBox` and all `ComboBox`-based controls.
- (CSS) `TextFieldTableCell` is highlighted when in the editable state thanks to the new `:focus-within` state support.
- (CSS) Icon buttons are now use `-fx-content-display: graphic-only` as the default.
- (CSS) Better `TreeView` alt icon. It's chevron character instead of `+/-`.
- (CSS) Better toolbar buttons styling.
- (CSS) Baseline-left is the default alignment for virtualized controls, because center-left sometimes lags on scrolling in large tables.
### Fixed
- (Base) Incorrect `Slider` progress track length calculation.
- (Base) NPE when the Popover owner is not added to the scene.
- (CSS) `Popover` arrow background color.
- (CSS) `ListView` with `.bordered` class displays borders on empty cells.
- (CSS) Baseline-left is now the default alignment for virtualized controls. This change was made because center-left alignment can lead to scrolling lags in large tables.
- (CSS) Tooltip inherits font properties from parent node.
- (CSS) Double-opacity in disabled `ChoiceBox`.
## [1.2.0] - 2023-02-11
This is a bugfix/maintenance release that also contains a few style improvements.
### Added
- (Build) ErrorProne plugin.
- (Build) Checkstyle plugin.
- (Build) SceneBuilder theme pack generation (#28) (thanks to **ennerf**).
- (CSS) Pseudo-classes to set the `Label` color.
- (CSS) Intent classes to set `FontIcon` color.
### Improved
- (Build) JavaFX version bump to 19 (September 2022).
- (CSS) Inner border radius to input controls (#24) (thanks to **mimoguz**).
- (CSS) Hover effect for `CheckBox` and `RadioButton`.
- (CSS) Hover effect for `TabPane` close button.
- (CSS) Increased `Menu`/`Menubar` paddings.
### Fixed
- (Base) Remove `ToggleSwitch` left padding when text is empty.
- (Base) `PasswordTextFormatter` garbled input.
- (CSS) `Tooltip` text not showing for circular buttons.
- (CSS) Prevent context menu from inheriting text input font properties.
- (CSS) Invalid text inputs borders color (#21).
- (CSS) Invalid `DatePicker` cell size.
## [1.1.0] - 2022-10-10
### Added
- (Sampler) 🚀 External themes support. Sampler can now be used to develop custom themes.
- (Sampler) 🚀 Brand new improved user interface.
- (Sampler) Widget page that aims to provide examples of some well-known components.
- (Base) `RingProgressIndicator` control. Like `ProgressIndicator`, but fully customizable and uses arc instead of fill to indicate the progress value.
- (Base) `ProgressSliderSkin` skin. A slider with color track.
- (Base) `Breadcrumbs` API to provide more control customization:
- Anything that extends `ButtonBase` can be used as `Breadcrumbs` item.
- Divider is now customizable via corresponding factory.
- (Base) `PasswordTextFormatter` utility. An alternative to the `PasswordField`, the formatter that masks or unmasks `TextField` content based on boolean property.
- (Base) Properties for setting the top and bottom node for `DatePicker`. E.g. those can be a clock widget or event list.
- (CSS) Size style support for the `TextField`, `Button`, `Slider`.
- (CSS) Rounded style support for the`TextField`, `Button`.
- (CSS) Dense style support for the `TabPane`, `TitledPane`, `Accordion`.
- (CSS) `.alt-icon` tweak support for the `TreeView`, `TitledPane`, `Accordion`.
- (CSS) Input group support for the `Label`. `Label` graphic property can be used to add arbitrary node to the input group.
- (CSS) Utility classes for muted and subtle text style.
- (CSS) Utility classes for box elevation effect: `.elevated-[1-4]`.
- (CSS) New global looked-up color variable `-color-shadow-default` for creating shadow effects.
-
### Improved
- (CSS) 🚀 Nord light and dark themes rewamp with better color contrast and improved design.
- (CSS) Refactoring and improved control design for the `Button`, `DatePicker`, `Slider`.
- (CSS) Looked-up color variables support for the `Hyperlink`, `TextField`, `TextArea`, `ProgressBar`.
- (CSS) Shadow effect for popup controls.
## [1.0.0] - 2022-09-06
Initial release.

21
LICENSE

@ -1,21 +0,0 @@
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.

123
README.md

@ -1,123 +0,0 @@
<h3 align="center">
<img src="https://raw.githubusercontent.com/mkpaz/atlantafx/master/sampler/icons/icon-rounded-64.png" alt="Logo"/><br/>
AtlantaFX
</h3>
<p align="center">
<a href="https://github.com/mkpaz/atlantafx/stargazers"><img src="https://img.shields.io/github/license/mkpaz/atlantafx?style=for-the-badge" alt="License"></a>
<a href="https://github.com/mkpaz/atlantafx/releases"><img src="https://img.shields.io/github/v/release/mkpaz/atlantafx?5&style=for-the-badge" alt="Latest Version"></a>
<a href="https://github.com/mkpaz/atlantafx/issues"><img src="https://img.shields.io/github/issues/mkpaz/atlantafx?style=for-the-badge" alt="Open Issues"></a>
<a href="https://github.com/mkpaz/atlantafx/contributors"><img src="https://img.shields.io/github/contributors/mkpaz/atlantafx?5&style=for-the-badge" alt="Contributors"></a>
</p>
<p align="center">
Modern JavaFX CSS theme collection with additional controls.
</p>
<p align="center"><b>
See the <a href="https://mkpaz.github.io/atlantafx/">docs</a> for more info.
</b></p>
<p align="center">
<img src="https://raw.githubusercontent.com/mkpaz/atlantafx/master/.screenshots/titlepage/blueprints_primer-light.png" alt="blueprints"/><br/>
<img src="https://raw.githubusercontent.com/mkpaz/atlantafx/master/.screenshots/titlepage/overview_primer-dark.png" alt="overview"/><br/>
<img src="https://raw.githubusercontent.com/mkpaz/atlantafx/master/.screenshots/titlepage/toolbar_dracula.png" alt="page"/><br/>
<img src="https://raw.githubusercontent.com/mkpaz/atlantafx/master/.screenshots/titlepage/notifications_cupertino-dark.png" alt="page"/><br/>
</p>
* Flat interface inspired by the variety of Web component frameworks.
* CSS first! It works with existing JavaFX controls.
* Two themes in both light and dark variants.
* Simple and intuitive color system based on the [GitHub Primer guidelines](https://primer.style/design/foundations/color).
* Fully customizable. Easily change global accent (brand) color or individual control via looked-up color variables.
* Written in modular [SASS](https://sass-lang.com/). No more digging in 3,500 lines of CSS code.
* [Custom themes support](https://github.com/mkpaz/atlantafx-sample-theme). Compile your own theme from existing SASS sources.
* Additional controls that essential for modern GUI development.
* Beautiful demo app:
* Preview all supported themes.
* Test every feature of each existing control and check source code directly in the app to learn how to implement it.
* Check color palette and modify theme color contrast.
* Hot reload. Play with control styles without restarting the whole app.
* Showcases to demonstrate real-world project usage.
## Try it out
Grab a **[self-updating download of the Sampler app](https://downloads.hydraulic.dev/atlantafx/sampler/download.html)** for Windows, macOS and Linux, packaged with [Conveyor](https://www.hydraulic.software).
Or download the latest build on the [releases page](https://github.com/mkpaz/atlantafx/releases).
## Getting started
**Requirements:** JavaFX 17+ (because of `data-url` support).
Maven:
```xml
<dependency>
<groupId>io.github.mkpaz</groupId>
<artifactId>atlantafx-base</artifactId>
<version>2.0.1</version>
</dependency>
```
Gradle:
```groovy
repositories {
mavenCentral()
}
dependencies {
implementation 'io.github.mkpaz:atlantafx-base:2.0.1'
}
```
Set a theme:
```java
public class Launcher extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
// find more themes in 'atlantafx.base.theme' package
Application.setUserAgentStylesheet(new PrimerLight().getUserAgentStylesheet());
Application.setUserAgentStylesheet(new PrimerDark().getUserAgentStylesheet());
// the rest of the code ...
}
}
```
### Local Installation
If you don't want to use additional dependencies, you can download compiled CSS themes from the [GitHub Releases](https://github.com/mkpaz/atlantafx/releases). Unpack `AtlantaFX-*-themes.zip` and place it to your project's classpath.
Set CSS theme:
```java
Application.setUserAgentStylesheet(/* path to the CSS file */);
```
Or use Java property:
```text
-Djavafx.userAgentStylesheetUrl=[URL]
```
## Contributing
Contributions are always welcome! Contributing can mean many things such as participating in discussion or proposing changes. Feel free to open an issue if you've found a bug or want to raise a question, or discuss a possible feature.
Please, note that AtlantaFX is primarily CSS theme library. Controls and skins support will probably grow over time, but creating yet another control's library is not a main goal.
Here are some areas, where you can help the project:
1. Fixing or reporting bugs. Please, check [OpenJFX bug tracker](https://bugs.openjdk.org/browse/JDK-8294722?jql=project%20%3D%20JDK%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20javafx%20%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC) first if the bug you're experiencing isn't related to CSS or custom AtlantaFX control.
2. Adding or improving control samples, which helps people to learn more about existing controls and we can also test how controls look and work with different themes.
3. Adding or improving widget samples, which provides basic examples of how to implement some conventional UI components.
4. Adding or improving app showcases, which demonstrates how AtlantaFX looks in real-world that helps to find more areas for improvement.
5. Improving docs, because good docs is the face of the project.
6. Advertising the project.

Some files were not shown because too many files have changed in this diff Show More