Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
c87cff2
migrate less files to scss
rsek Dec 19, 2022
103db27
migrate components w/o variables
rsek Dec 19, 2022
7c79213
migrate SFCs with LESS vars to SCSS
rsek Dec 19, 2022
cd6c21c
migrate to scss
rsek Dec 19, 2022
dd974b6
fix mixin syntax
rsek Dec 19, 2022
9a269ac
point at new files
rsek Dec 20, 2022
34e6325
point at new files
rsek Dec 20, 2022
6548089
migrate animation mixins
rsek Dec 20, 2022
680d59e
trim empty <style>
rsek Dec 20, 2022
971cd70
stylelint + plugins
rsek Dec 20, 2022
66b7a82
lint scss (not 100% passing yet)
rsek Dec 20, 2022
d4cbf66
apply some stylelint rules
rsek Dec 20, 2022
8323ead
wip: style conventions, custom sass plugin, alias
rsek Dec 20, 2022
29e546a
migrate icon function
rsek Dec 20, 2022
d9a252d
migration fixes. adjustments to custom plugin
rsek Dec 21, 2022
58aeec7
reorder to appease linter
rsek Dec 21, 2022
7733d94
TIL how to load these like LESS would
rsek Dec 21, 2022
5b741c1
fix sloppy search + replace
rsek Dec 21, 2022
c8a07f9
WIP: bug hunting. alias sass to embedded sass
rsek Dec 21, 2022
1cdf3a1
mostly working palettize. reorg color mixins
rsek Dec 21, 2022
2c76ed4
fix margins, inputs, adjust palettize
rsek Dec 21, 2022
145261f
fix inverted midtone generation
rsek Dec 21, 2022
b6249c0
adjust animation duration
rsek Dec 21, 2022
384be01
Merge remote-tracking branch 'upstream/main' into sass-migration
rsek Dec 21, 2022
312b915
ditch unused importer
rsek Dec 22, 2022
726c020
patch for chroma-js 2.4
rsek Dec 22, 2022
90d369a
extract gamutize as its own function
rsek Dec 22, 2022
6c2622c
xp track hover with theme-agnostic colors
rsek Dec 22, 2022
2a1c7df
fix collapsible spacing
rsek Dec 22, 2022
018b6f4
fix tab panel transition duration
rsek Dec 22, 2022
331617f
cleanup imports
rsek Dec 22, 2022
bde44aa
rename 'std-animation' to 'ironsworn-transition'
rsek Dec 22, 2022
68007c5
annotate xp-track styles
rsek Dec 22, 2022
521c008
simplify color normalizer
rsek Dec 22, 2022
2a9937a
adjust muted default color
rsek Dec 22, 2022
afe0e39
fix movesheet button colors
rsek Dec 22, 2022
a298f96
add'l linter rules
rsek Dec 22, 2022
8a1400b
add stylelint ignore
rsek Dec 22, 2022
1c53903
Merge branch 'main' into sass-migration
rsek Dec 28, 2022
fd4f67e
Merge branch 'main' into sass-migration
rsek Dec 29, 2022
07d96e6
Merge branch 'main' into sass-migration
rsek Jan 8, 2023
c03303d
migrate some LESS components post-merge
rsek Jan 8, 2023
b44660f
extract box styling as its own file
rsek Jan 8, 2023
3ac463a
boxgroup: fix actor select
rsek Jan 8, 2023
b8c340b
fixes for compact sheet boxes
rsek Jan 8, 2023
61220da
set bodyClass as optional
rsek Jan 8, 2023
98ce044
improve box border consistency
rsek Jan 8, 2023
a288a1e
extract pip styling + fix journal rank pips
rsek Jan 8, 2023
2cbdc5c
replace .icon-button class styling
rsek Jan 8, 2023
4af16bf
fixes to dialog buttons + titles
rsek Jan 9, 2023
e279478
fix highlight overlay mixin
rsek Jan 9, 2023
28f6b27
adjust borders and spacing on tabs
rsek Jan 9, 2023
b2de48b
standard css var names. clean up pip styling
rsek Jan 9, 2023
392b571
standardize css var names
rsek Jan 9, 2023
d0ec624
localize aria label
rsek Jan 9, 2023
fa91520
localize label, aria-* values
rsek Jan 9, 2023
6a07405
css var for pip size
rsek Jan 9, 2023
a58bd9a
fix progress track animation
rsek Jan 9, 2023
501bfdf
move SCSS use to top
rsek Jan 9, 2023
f6a573c
adjust fg-muted
rsek Jan 9, 2023
cd0ae5e
recolor footer for dark theme
rsek Jan 9, 2023
17abd56
consistent styling for scene controls
rsek Jan 9, 2023
df69561
adjust spacing, add 'block-icon' class
rsek Jan 9, 2023
cf53d33
make xp box numbering more intuitive + expose data
rsek Jan 9, 2023
8c452b9
add some aria annotation to xp track
rsek Jan 9, 2023
f4b07f1
minor style adjustments for dark theme journal
rsek Jan 9, 2023
eef44bc
adjust colour of hover edit button
rsek Jan 9, 2023
1f5bf34
Fix snapping transition when expanding a move
ben Jan 9, 2023
e318484
Merge branch 'main' into sass-migration
rsek Jan 9, 2023
ff5fb73
Merge branch 'main' into sass-migration
rsek Jan 9, 2023
a1ec973
reapply patch
rsek Jan 9, 2023
f260208
more concise stylelint ignore
rsek Jan 9, 2023
9466b60
provide links to config info. simpler ignoreValues
rsek Jan 9, 2023
b1bd22d
--list-block-* => --ironsworn-list-block-*
rsek Jan 9, 2023
53fd0bf
harmonize config across PRs
rsek Jan 9, 2023
df7f54a
stylelint --fix
rsek Jan 9, 2023
d0ad502
pragma for fvtt styled tooltips for now
rsek Jan 9, 2023
4227fbd
add ironsworn prefix to css var
rsek Jan 9, 2023
de75190
prefix for css var
rsek Jan 9, 2023
18f335d
prefix css var
rsek Jan 9, 2023
ddd5411
disable css custom properties rule for now
rsek Jan 9, 2023
c93d22f
disable number max precision for now
rsek Jan 9, 2023
dc4a686
disable rules for empty block, longhand
rsek Jan 9, 2023
b398cb3
stylelint --fix
rsek Jan 9, 2023
46094db
tweaks to stylelint config
rsek Jan 9, 2023
6516f3f
Merge branch 'more-css-variables' into sass-migration
rsek Jan 12, 2023
d059f64
point at vanilla css var
rsek Jan 12, 2023
f670404
replace scss vars with vanilla css vars
rsek Jan 12, 2023
5d55150
add pragma
rsek Jan 12, 2023
cde6264
fix spaces
rsek Jan 12, 2023
0ddbb4a
fix regex pattern
rsek Jan 12, 2023
b66f196
pragma to skip stuff plugin can't parse
rsek Jan 12, 2023
1972bcb
linter appeasement
rsek Jan 12, 2023
2f3f3af
migrate file to scss
rsek Jan 12, 2023
6a08aa2
replace static value with variable
rsek Jan 12, 2023
8c745c2
replace SCSS vars with vanilla CSS vars
rsek Jan 12, 2023
e8d28fe
replace with variable
rsek Jan 12, 2023
fa26701
exclude SCSS string interpolation
rsek Jan 12, 2023
22b3ffb
add size variable
rsek Jan 12, 2023
4dfda0a
replace scss vars with vanilla css
rsek Jan 12, 2023
96a4ee8
replace with css vars
rsek Jan 12, 2023
ff57aa8
normalize module class casing
rsek Jan 12, 2023
3612d72
standardize absolute import paths
rsek Jan 12, 2023
f01a565
adjust disabled button opacity
rsek Jan 12, 2023
8928429
lazily fix typeErrors
rsek Jan 13, 2023
6a9a840
adjust typings
rsek Jan 13, 2023
868fbc9
add explanatory comment
rsek Jan 13, 2023
cc7337b
simplify dice glow styling
rsek Jan 13, 2023
a21ef69
extract fvtt restyle mixin. ditch some sass vars
rsek Jan 13, 2023
7161f1f
replace some static values with css vars
rsek Jan 13, 2023
d57123b
move hexagon path to shared custom properties
rsek Jan 13, 2023
1837508
allow dollar vars with pragma
rsek Jan 13, 2023
6ef7598
prohibit dollar variables for now
rsek Jan 13, 2023
eac98b6
add pragma
rsek Jan 13, 2023
7ee6a84
simplify css vars
rsek Jan 13, 2023
0c323ec
use css var for mixin
rsek Jan 13, 2023
9cf6228
more css vars
rsek Jan 13, 2023
b6994e6
set missing typography variables
rsek Jan 13, 2023
01db058
reorganize mixins in their own directory
rsek Jan 13, 2023
7fd74a2
more lazy type fixes
rsek Jan 13, 2023
d33e275
modular mixin files, smarter aliases
rsek Jan 13, 2023
5ace863
Merge branch 'main' into sass-migration
rsek Jan 13, 2023
457d965
Merge branch 'main' into sass-migration
rsek Jan 20, 2023
f81c8e1
Merge branch 'main' into sass-migration
rsek Jan 23, 2023
95ba6e9
fix bad merge
rsek Jan 23, 2023
816ce57
fixes to stroke color on moves,
rsek Jan 23, 2023
01be463
adjust icon size for certain canvas buttons
rsek Jan 23, 2023
8734a0d
update changelog
rsek Jan 23, 2023
a2bb35c
fix bad hyperlink
rsek Jan 23, 2023
fe34bfd
tweak changelog entry
rsek Jan 23, 2023
b519595
Merge branch 'main' into sass-migration
rsek Jan 25, 2023
c9895bf
Merge branch 'main' into sass-migration
rsek Mar 5, 2023
ef488cb
adjust padding to reflect main
rsek Mar 5, 2023
02d0d79
rm obsolete patch
rsek Mar 5, 2023
1b22d31
add extensions to @use
rsek Mar 5, 2023
4cc0150
Merge branch 'main' into sass-migration
rsek Mar 9, 2023
c225d7d
bump sass version
rsek Mar 9, 2023
2cdee91
type import
rsek Mar 9, 2023
cc242f8
adjust imports so tsc stops complaining
rsek Mar 9, 2023
5df42fb
cleanup, explicit dep ver
rsek Mar 9, 2023
ebd73d2
styleint --fix
rsek Mar 9, 2023
48294e7
bump chroma, minor fixes so it builds
rsek Mar 9, 2023
c6dcc56
adjustments for package to lint with ES6 project
rsek Mar 9, 2023
2cee9ba
don't format artifacts
rsek Mar 9, 2023
da5c80a
leave variable unnamed
rsek Mar 9, 2023
bb101a2
adjust aliases
rsek Mar 9, 2023
d3d4aaa
reveal extension recommendations
rsek Mar 9, 2023
d2b795c
rm spurious file
rsek Mar 9, 2023
36eb41d
adjust mixin naming convention
rsek Mar 9, 2023
886586b
fix casing for remaining mixins
rsek Mar 9, 2023
c5353e3
replace autoprefixer with postcss-prefix-env
rsek Mar 9, 2023
137c626
add note on color functions
rsek Mar 9, 2023
754df88
Fix type errors
ben Mar 9, 2023
ba99672
Allow location sheet to load
ben Mar 9, 2023
bbaff30
Wups unscrew it
ben Mar 9, 2023
6bc5dea
fix variable name
rsek Mar 10, 2023
026b46d
split off font icon mixin
rsek Mar 10, 2023
5684da4
new helper function
rsek Mar 10, 2023
e0fba65
checkbox component; asset ability component
rsek Mar 10, 2023
ccae886
cleanup
rsek Mar 10, 2023
edde2bb
Merge branch 'lodash-es' into sass-migration
rsek Mar 10, 2023
583e653
Merge branch 'lodash-es' into sass-migration
rsek Mar 10, 2023
a0046c7
migrate tour i18n script
rsek Mar 10, 2023
dc5ae83
Merge branch 'lodash-es' into sass-migration
rsek Mar 10, 2023
7ca24d6
Merge branch 'lodash-es' into sass-migration
rsek Mar 11, 2023
f2a8dba
Merge branch 'lint-all-styles' into sass-migration
rsek Mar 11, 2023
92e570e
Merge branch 'lint-all-styles' into sass-migration
rsek Mar 11, 2023
ce4b2a6
use sparse names to take advantage of namespacing
rsek Mar 11, 2023
953742b
standardize timings. fix icon regression
rsek Mar 11, 2023
c8e3200
fix extensions to reflect script renames
rsek Mar 11, 2023
e920542
fix type import
rsek Mar 11, 2023
8d942f7
minify, trim CSS prefixes
rsek Mar 11, 2023
830f4c1
Merge branch 'main' into sass-migration
rsek Mar 11, 2023
97b9bd7
Merge branch 'main' into sass-migration
rsek Mar 11, 2023
57000c5
Merge branch 'css-pruning-and-name-gen' into sass-migration
rsek Mar 11, 2023
744c2f2
revert to fractional seconds
rsek Mar 11, 2023
04ee94a
Merge branch 'css-pruning-and-name-gen' into sass-migration
rsek Mar 11, 2023
d39091d
SASS plugin to generate icon CSS automatically
rsek Mar 11, 2023
7aa6340
move row: rm defunct styles, round internal corner
rsek Mar 11, 2023
72336e4
fix bad border radius var name
rsek Mar 11, 2023
5800993
better transition scoping
rsek Mar 11, 2023
335d460
adjust some internal corners
rsek Mar 11, 2023
5fb2c31
Merge branch 'main' into sass-migration
rsek Mar 12, 2023
97587dd
remove attr-box file, apply in components instead
rsek Mar 12, 2023
8d24114
Merge branch 'rm-old-asset-sheet' into sass-migration
rsek Mar 12, 2023
cfde97d
new asset components
rsek Mar 12, 2023
f7cfb9d
rename component
rsek Mar 12, 2023
c252208
unified player asset list
rsek Mar 12, 2023
bc0e668
fix var name
rsek Mar 12, 2023
460e090
rm unused code
rsek Mar 12, 2023
874ee69
component renames
rsek Mar 12, 2023
8175bc3
dedicated list item component
rsek Mar 12, 2023
e2cdebb
generic list component
rsek Mar 12, 2023
f19b851
rename component since it's not just items
rsek Mar 12, 2023
c1037bd
revise progress list component
rsek Mar 12, 2023
568ca13
fix some missing class pointers
rsek Mar 12, 2023
61dc697
Merge branch 'main' into sass-migration
rsek Mar 12, 2023
f39dabb
mv to progress directory
rsek Mar 13, 2023
352506b
mv progress list components
rsek Mar 13, 2023
b7f5872
reorganize item/progress lists
rsek Mar 13, 2023
bcaac49
rm defunct prop
rsek Mar 14, 2023
6ce7b59
add formatter/linter configs and run autofix
rsek Mar 14, 2023
6b2ce45
add vue config to eslint
rsek Mar 14, 2023
08fe245
tidy config a bit
rsek Mar 14, 2023
3bc1eb2
run eslint --fix on vue sfc
rsek Mar 14, 2023
8a1fa95
add missing `key` to `v-for`s
rsek Mar 14, 2023
b878953
(mostly) standard-typescript
rsek Mar 14, 2023
799b12b
fix typings for mitt
rsek Mar 14, 2023
df4325a
stricter types
rsek Mar 14, 2023
cb1e2bf
type fixes
rsek Mar 14, 2023
b2261bb
fix some eslint parser complaints
rsek Mar 14, 2023
4d040b6
prettier -w
rsek Mar 14, 2023
0faa016
update eslintrc to match branch
rsek Mar 14, 2023
2e25339
lint + autofix vue files
rsek Mar 14, 2023
545b373
Merge branch 'eslint-vue' into sass-migration
rsek Mar 14, 2023
1e8b1d0
adjust ignoreValues
rsek Mar 14, 2023
41050d0
fix bad merge
rsek Mar 14, 2023
6d4b043
rm unused import
rsek Mar 14, 2023
5dfbbfc
replace missing aliases
rsek Mar 14, 2023
26b477a
prettier -w
rsek Mar 14, 2023
110d75b
misc fixes. better keying
rsek Mar 14, 2023
e31475f
rm unused params
rsek Mar 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 49 additions & 39 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,42 +1,52 @@
/** @type {import('eslint').Linter.Config & typeof import('@typescript-eslint/eslint-plugin')} */
module.exports = {
root: true,
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'prettier',
],
parser: '@typescript-eslint/parser',
/** @type {import('@typescript-eslint/parser').ParserOptions} */
parserOptions: {
ecmaVersion: 11,
sourceType: 'module',
},
env: {
browser: true,
es2020: true,
node: true,
},
plugins: ['@typescript-eslint'],
rules: {
'@typescript-eslint/no-unused-vars': [1, { argsIgnorePattern: '^_' }],
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-empty-interface': 'off',
'@typescript-eslint/consistent-type-imports': [
'warn',
{ prefer: 'type-imports' },
],
},
overrides: [
{
files: ['*.js', '*.cjs'],
rules: {
'@typescript-eslint/no-var-requires': 'off',
// so it doesn't complain about imported jsdoc type annotations
'@typescript-eslint/consistent-type-imports': 'off',
},
},
],
root: true,
extends: [
'eslint:recommended',
'standard-with-typescript',
'plugin:@typescript-eslint/recommended',
'plugin:vue/vue3-recommended',
'prettier'
],
parser: 'vue-eslint-parser',
ignorePatterns: ['.eslintrc.cjs'],
parserOptions: {
parser: '@typescript-eslint/parser',
ecmaVersion: 11,
sourceType: 'module'
},
env: {
browser: true,
es2020: true,
node: true
},
plugins: ['@typescript-eslint'],
rules: {
'@typescript-eslint/no-unused-vars': [1, { argsIgnorePattern: '^_' }],
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-empty-interface': 'off',
'@typescript-eslint/consistent-type-imports': [
'warn',
{ prefer: 'type-imports' }
],

// FIXME: part of standard-ts. not an awful idea, but it's not doable via autofix, so it's disabled for now
'@typescript-eslint/explicit-function-return-type': 'off'
},
overrides: [
{
files: ['*.ts', '*.js', '*.cjs'],
parserOptions: { project: './tsconfig.json' }
},
{
files: ['*.js', '*.cjs'],
rules: {
'@typescript-eslint/no-var-requires': 'off',
// so it doesn't complain about imported jsdoc type annotations
'@typescript-eslint/consistent-type-imports': 'off'
}
}
]
}
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# IDE
.idea/
.vs/
.vscode/
.vscode/*
# allow extension recommendations
!/.vscode/extensions.json

# Node Modules
node_modules/
Expand Down
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
.github/pull_request_template.md
.github/pull_request_template.md
dist
11 changes: 5 additions & 6 deletions .prettierrc.cjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
const prettier = require('prettier-config-standard')

/** @type {import('prettier').Config} */
module.exports = {
trailingComma: 'es5',
tabWidth: 2,
semi: false,
singleQuote: true,
endOfLine: 'lf',
printWidth: 80,
...prettier,
// spaces are crappy for accessibility: https://adamtuttle.codes/blog/2021/tabs-vs-spaces-its-an-accessibility-issue/
useTabs: true
}
2 changes: 2 additions & 0 deletions .stylelintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
*.*
!src/styles/**/*.less
!src/styles/**/*.scss
!src/styles/**/*.pcss
!src/module/vue/**/*.vue
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodejs 16.19.1
16 changes: 16 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp

// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"stylelint.vscode-stylelint",
"vue.volar",
"vunguyentuan.vscode-css-variables",
"mrmlnc.vscode-scss"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## Next Release

- Under the hood: Major styling refactor to replace LESS preprocessor with SCSS/SASS, which supports more robust tooling, including much better support from Stylelint ([#567](https://github.com/ben/foundry-ironsworn/issues/567), [#568](https://github.com/ben/foundry-ironsworn/pull/568))
- Adds opinionated Stylelint rules for property ordering, variable usage, class naming, etc. We have a _lot_ of styling to manage, and hopefully this will make it a bit easier to maintain.
- Much of what `palettize.less` did is now written in Typescript for use as a custom SASS plugin. This lets us use `chroma.js` for better colour mixing, and lays the groundwork for generating color themes on the fly.
- Replace the delve theme/domain sheet with a vue implementation ([#677](https://github.com/ben/foundry-ironsworn/pull/677))
- Disable chat-message copy buttons (and add a tooltip) if access to the clipboard is restricted ([#678](https://github.com/ben/foundry-ironsworn/pull/678))

Expand Down
Loading