diff --git a/packages/map2tree/test/map2tree.spec.ts b/packages/map2tree/test/map2tree.spec.ts index 6cd6a10d..415c1e6d 100644 --- a/packages/map2tree/test/map2tree.spec.ts +++ b/packages/map2tree/test/map2tree.spec.ts @@ -1,4 +1,4 @@ -import { map2tree, Node } from '../src'; +import { map2tree, Node } from '../src/index.js'; import * as immutable from 'immutable'; test('# rootNodeKey', () => { diff --git a/packages/react-base16-styling/.eslintrc.js b/packages/react-base16-styling/.eslintrc.cjs similarity index 100% rename from packages/react-base16-styling/.eslintrc.js rename to packages/react-base16-styling/.eslintrc.cjs diff --git a/packages/react-base16-styling/babel.config.esm.json b/packages/react-base16-styling/babel.config.esm.json deleted file mode 100644 index 1c02687e..00000000 --- a/packages/react-base16-styling/babel.config.esm.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults", "modules": false }], - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-base16-styling/babel.config.json b/packages/react-base16-styling/babel.config.json deleted file mode 100644 index 5ed95986..00000000 --- a/packages/react-base16-styling/babel.config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults" }], - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-base16-styling/jest.config.cjs b/packages/react-base16-styling/jest.config.cjs new file mode 100644 index 00000000..648065e7 --- /dev/null +++ b/packages/react-base16-styling/jest.config.cjs @@ -0,0 +1,10 @@ +module.exports = { + testEnvironment: 'jsdom', + extensionsToTreatAsEsm: ['.ts'], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, + transform: { + '^.+\\.ts$': ['ts-jest', { tsconfig: 'tsconfig.test.json', useESM: true }], + }, +}; diff --git a/packages/react-base16-styling/jest.config.js b/packages/react-base16-styling/jest.config.js deleted file mode 100644 index dcef0803..00000000 --- a/packages/react-base16-styling/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'jsdom', - transform: { - '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], - }, -}; diff --git a/packages/react-base16-styling/package.json b/packages/react-base16-styling/package.json index a2f797a3..669526c9 100644 --- a/packages/react-base16-styling/package.json +++ b/packages/react-base16-styling/package.json @@ -18,45 +18,33 @@ "lib", "src" ], - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/types/index.d.ts", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "type": "module", "sideEffects": false, "repository": { "type": "git", "url": "git+https://github.com/reduxjs/redux-devtools.git" }, "scripts": { - "build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:types", - "build:cjs": "babel src --extensions \".ts\" --out-dir lib/cjs", - "build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts\" --out-dir lib/esm", - "build:types": "tsc --emitDeclarationOnly", + "build": "tsc", "clean": "rimraf lib", - "test": "jest", + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", "lint": "eslint . --ext .ts", "type-check": "tsc --noEmit", "prepack": "pnpm run clean && pnpm run build", - "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" + "prepublish": "pnpm run lint && pnpm run test" }, "dependencies": { - "@babel/runtime": "^7.24.1", - "@types/base16": "^1.0.5", "@types/lodash": "^4.17.0", - "base16": "^1.0.0", "color": "^4.2.3", "csstype": "^3.1.3", - "lodash.curry": "^4.1.1" + "lodash-es": "^4.17.21" }, "devDependencies": { - "@babel/cli": "^7.24.1", - "@babel/core": "^7.24.3", - "@babel/eslint-parser": "^7.24.1", - "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.3", - "@babel/preset-typescript": "^7.24.1", "@types/color": "^3.0.6", "@types/jest": "^29.5.12", - "@types/lodash.curry": "^4.1.9", + "@types/lodash-es": "^4.17.12", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", "eslint": "^8.57.0", diff --git a/packages/react-base16-styling/src/index.ts b/packages/react-base16-styling/src/index.ts index 3ec5b257..f962b9bc 100644 --- a/packages/react-base16-styling/src/index.ts +++ b/packages/react-base16-styling/src/index.ts @@ -1,10 +1,9 @@ -import * as base16 from 'base16'; import { Base16Theme } from 'base16'; import Color from 'color'; import * as CSS from 'csstype'; -import curry from 'lodash.curry'; +import { curry } from 'lodash-es'; import type { CurriedFunction3 } from 'lodash'; -import { Color as ColorTuple, yuv2rgb, rgb2yuv } from './colorConverters'; +import { Color as ColorTuple, yuv2rgb, rgb2yuv } from './colorConverters.js'; import { Styling, StylingConfig, @@ -12,7 +11,8 @@ import { StylingValue, StylingValueFunction, Theme, -} from './types'; +} from './types.js'; +import { base16Themes as base16 } from './themes/index.js'; const DEFAULT_BASE16 = base16.default; @@ -272,7 +272,7 @@ export const getBase16Theme = ( if (base16Themes) { theme = base16Themes[themeName]; } else { - theme = base16[themeName as keyof typeof base16]; + theme = base16[themeName as keyof typeof base16] as Base16Theme; } if (modifier === 'inverted') { theme = invertBase16Theme(theme); @@ -308,4 +308,5 @@ export const invertTheme = (theme: Theme | undefined): Theme | undefined => { }; export type { Base16Theme }; -export * from './types'; +export { base16 as base16Themes }; +export * from './types.js'; diff --git a/packages/react-base16-styling/src/themes/apathy.ts b/packages/react-base16-styling/src/themes/apathy.ts new file mode 100644 index 00000000..e020afdd --- /dev/null +++ b/packages/react-base16-styling/src/themes/apathy.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'apathy', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#031A16', + base01: '#0B342D', + base02: '#184E45', + base03: '#2B685E', + base04: '#5F9C92', + base05: '#81B5AC', + base06: '#A7CEC8', + base07: '#D2E7E4', + base08: '#3E9688', + base09: '#3E7996', + base0A: '#3E4C96', + base0B: '#883E96', + base0C: '#963E4C', + base0D: '#96883E', + base0E: '#4C963E', + base0F: '#3E965B' +}; diff --git a/packages/react-base16-styling/src/themes/ashes.ts b/packages/react-base16-styling/src/themes/ashes.ts new file mode 100644 index 00000000..e297377c --- /dev/null +++ b/packages/react-base16-styling/src/themes/ashes.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'ashes', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#1C2023', + base01: '#393F45', + base02: '#565E65', + base03: '#747C84', + base04: '#ADB3BA', + base05: '#C7CCD1', + base06: '#DFE2E5', + base07: '#F3F4F5', + base08: '#C7AE95', + base09: '#C7C795', + base0A: '#AEC795', + base0B: '#95C7AE', + base0C: '#95AEC7', + base0D: '#AE95C7', + base0E: '#C795AE', + base0F: '#C79595' +}; diff --git a/packages/react-base16-styling/src/themes/atelier-dune.ts b/packages/react-base16-styling/src/themes/atelier-dune.ts new file mode 100644 index 00000000..0ab20e7e --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-dune.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'atelier dune', + author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)', + base00: '#20201d', + base01: '#292824', + base02: '#6e6b5e', + base03: '#7d7a68', + base04: '#999580', + base05: '#a6a28c', + base06: '#e8e4cf', + base07: '#fefbec', + base08: '#d73737', + base09: '#b65611', + base0A: '#cfb017', + base0B: '#60ac39', + base0C: '#1fad83', + base0D: '#6684e1', + base0E: '#b854d4', + base0F: '#d43552' +}; diff --git a/packages/react-base16-styling/src/themes/atelier-forest.ts b/packages/react-base16-styling/src/themes/atelier-forest.ts new file mode 100644 index 00000000..50ea1369 --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-forest.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'atelier forest', + author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest)', + base00: '#1b1918', + base01: '#2c2421', + base02: '#68615e', + base03: '#766e6b', + base04: '#9c9491', + base05: '#a8a19f', + base06: '#e6e2e0', + base07: '#f1efee', + base08: '#f22c40', + base09: '#df5320', + base0A: '#d5911a', + base0B: '#5ab738', + base0C: '#00ad9c', + base0D: '#407ee7', + base0E: '#6666ea', + base0F: '#c33ff3' +}; diff --git a/packages/react-base16-styling/src/themes/atelier-heath.ts b/packages/react-base16-styling/src/themes/atelier-heath.ts new file mode 100644 index 00000000..1faabf7f --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-heath.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'atelier heath', + author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath)', + base00: '#1b181b', + base01: '#292329', + base02: '#695d69', + base03: '#776977', + base04: '#9e8f9e', + base05: '#ab9bab', + base06: '#d8cad8', + base07: '#f7f3f7', + base08: '#ca402b', + base09: '#a65926', + base0A: '#bb8a35', + base0B: '#379a37', + base0C: '#159393', + base0D: '#516aec', + base0E: '#7b59c0', + base0F: '#cc33cc' +}; diff --git a/packages/react-base16-styling/src/themes/atelier-lakeside.ts b/packages/react-base16-styling/src/themes/atelier-lakeside.ts new file mode 100644 index 00000000..66185731 --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-lakeside.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'atelier lakeside', + author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/)', + base00: '#161b1d', + base01: '#1f292e', + base02: '#516d7b', + base03: '#5a7b8c', + base04: '#7195a8', + base05: '#7ea2b4', + base06: '#c1e4f6', + base07: '#ebf8ff', + base08: '#d22d72', + base09: '#935c25', + base0A: '#8a8a0f', + base0B: '#568c3b', + base0C: '#2d8f6f', + base0D: '#257fad', + base0E: '#5d5db1', + base0F: '#b72dd2' +}; diff --git a/packages/react-base16-styling/src/themes/atelier-seaside.ts b/packages/react-base16-styling/src/themes/atelier-seaside.ts new file mode 100644 index 00000000..b789a499 --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-seaside.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'atelier seaside', + author: 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/)', + base00: '#131513', + base01: '#242924', + base02: '#5e6e5e', + base03: '#687d68', + base04: '#809980', + base05: '#8ca68c', + base06: '#cfe8cf', + base07: '#f0fff0', + base08: '#e6193c', + base09: '#87711d', + base0A: '#c3c322', + base0B: '#29a329', + base0C: '#1999b3', + base0D: '#3d62f5', + base0E: '#ad2bee', + base0F: '#e619c3' +}; diff --git a/packages/react-base16-styling/src/themes/bespin.ts b/packages/react-base16-styling/src/themes/bespin.ts new file mode 100644 index 00000000..bfb7a6bc --- /dev/null +++ b/packages/react-base16-styling/src/themes/bespin.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'bespin', + author: 'jan t. sott', + base00: '#28211c', + base01: '#36312e', + base02: '#5e5d5c', + base03: '#666666', + base04: '#797977', + base05: '#8a8986', + base06: '#9d9b97', + base07: '#baae9e', + base08: '#cf6a4c', + base09: '#cf7d34', + base0A: '#f9ee98', + base0B: '#54be0d', + base0C: '#afc4db', + base0D: '#5ea6ea', + base0E: '#9b859d', + base0F: '#937121' +}; diff --git a/packages/react-base16-styling/src/themes/brewer.ts b/packages/react-base16-styling/src/themes/brewer.ts new file mode 100644 index 00000000..53c17391 --- /dev/null +++ b/packages/react-base16-styling/src/themes/brewer.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'brewer', + author: 'timothée poisot (http://github.com/tpoisot)', + base00: '#0c0d0e', + base01: '#2e2f30', + base02: '#515253', + base03: '#737475', + base04: '#959697', + base05: '#b7b8b9', + base06: '#dadbdc', + base07: '#fcfdfe', + base08: '#e31a1c', + base09: '#e6550d', + base0A: '#dca060', + base0B: '#31a354', + base0C: '#80b1d3', + base0D: '#3182bd', + base0E: '#756bb1', + base0F: '#b15928' +}; diff --git a/packages/react-base16-styling/src/themes/bright.ts b/packages/react-base16-styling/src/themes/bright.ts new file mode 100644 index 00000000..2b76fabd --- /dev/null +++ b/packages/react-base16-styling/src/themes/bright.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'bright', + author: 'chris kempson (http://chriskempson.com)', + base00: '#000000', + base01: '#303030', + base02: '#505050', + base03: '#b0b0b0', + base04: '#d0d0d0', + base05: '#e0e0e0', + base06: '#f5f5f5', + base07: '#ffffff', + base08: '#fb0120', + base09: '#fc6d24', + base0A: '#fda331', + base0B: '#a1c659', + base0C: '#76c7b7', + base0D: '#6fb3d2', + base0E: '#d381c3', + base0F: '#be643c' +}; diff --git a/packages/react-base16-styling/src/themes/chalk.ts b/packages/react-base16-styling/src/themes/chalk.ts new file mode 100644 index 00000000..3d4359bb --- /dev/null +++ b/packages/react-base16-styling/src/themes/chalk.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'chalk', + author: 'chris kempson (http://chriskempson.com)', + base00: '#151515', + base01: '#202020', + base02: '#303030', + base03: '#505050', + base04: '#b0b0b0', + base05: '#d0d0d0', + base06: '#e0e0e0', + base07: '#f5f5f5', + base08: '#fb9fb1', + base09: '#eda987', + base0A: '#ddb26f', + base0B: '#acc267', + base0C: '#12cfc0', + base0D: '#6fc2ef', + base0E: '#e1a3ee', + base0F: '#deaf8f' +}; diff --git a/packages/react-base16-styling/src/themes/codeschool.ts b/packages/react-base16-styling/src/themes/codeschool.ts new file mode 100644 index 00000000..4911e9e8 --- /dev/null +++ b/packages/react-base16-styling/src/themes/codeschool.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'codeschool', + author: 'brettof86', + base00: '#232c31', + base01: '#1c3657', + base02: '#2a343a', + base03: '#3f4944', + base04: '#84898c', + base05: '#9ea7a6', + base06: '#a7cfa3', + base07: '#b5d8f6', + base08: '#2a5491', + base09: '#43820d', + base0A: '#a03b1e', + base0B: '#237986', + base0C: '#b02f30', + base0D: '#484d79', + base0E: '#c59820', + base0F: '#c98344' +}; diff --git a/packages/react-base16-styling/src/themes/colors.ts b/packages/react-base16-styling/src/themes/colors.ts new file mode 100644 index 00000000..17e96fee --- /dev/null +++ b/packages/react-base16-styling/src/themes/colors.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'colors', + author: 'mrmrs (http://clrs.cc)', + base00: '#111111', + base01: '#333333', + base02: '#555555', + base03: '#777777', + base04: '#999999', + base05: '#bbbbbb', + base06: '#dddddd', + base07: '#ffffff', + base08: '#ff4136', + base09: '#ff851b', + base0A: '#ffdc00', + base0B: '#2ecc40', + base0C: '#7fdbff', + base0D: '#0074d9', + base0E: '#b10dc9', + base0F: '#85144b' +}; diff --git a/packages/react-base16-styling/src/themes/default.ts b/packages/react-base16-styling/src/themes/default.ts new file mode 100644 index 00000000..c8831510 --- /dev/null +++ b/packages/react-base16-styling/src/themes/default.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'default', + author: 'chris kempson (http://chriskempson.com)', + base00: '#181818', + base01: '#282828', + base02: '#383838', + base03: '#585858', + base04: '#b8b8b8', + base05: '#d8d8d8', + base06: '#e8e8e8', + base07: '#f8f8f8', + base08: '#ab4642', + base09: '#dc9656', + base0A: '#f7ca88', + base0B: '#a1b56c', + base0C: '#86c1b9', + base0D: '#7cafc2', + base0E: '#ba8baf', + base0F: '#a16946' +}; diff --git a/packages/react-base16-styling/src/themes/eighties.ts b/packages/react-base16-styling/src/themes/eighties.ts new file mode 100644 index 00000000..0dfc3a7d --- /dev/null +++ b/packages/react-base16-styling/src/themes/eighties.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'eighties', + author: 'chris kempson (http://chriskempson.com)', + base00: '#2d2d2d', + base01: '#393939', + base02: '#515151', + base03: '#747369', + base04: '#a09f93', + base05: '#d3d0c8', + base06: '#e8e6df', + base07: '#f2f0ec', + base08: '#f2777a', + base09: '#f99157', + base0A: '#ffcc66', + base0B: '#99cc99', + base0C: '#66cccc', + base0D: '#6699cc', + base0E: '#cc99cc', + base0F: '#d27b53' +}; diff --git a/packages/react-base16-styling/src/themes/embers.ts b/packages/react-base16-styling/src/themes/embers.ts new file mode 100644 index 00000000..14398a09 --- /dev/null +++ b/packages/react-base16-styling/src/themes/embers.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'embers', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#16130F', + base01: '#2C2620', + base02: '#433B32', + base03: '#5A5047', + base04: '#8A8075', + base05: '#A39A90', + base06: '#BEB6AE', + base07: '#DBD6D1', + base08: '#826D57', + base09: '#828257', + base0A: '#6D8257', + base0B: '#57826D', + base0C: '#576D82', + base0D: '#6D5782', + base0E: '#82576D', + base0F: '#825757' +}; diff --git a/packages/react-base16-styling/src/themes/flat.ts b/packages/react-base16-styling/src/themes/flat.ts new file mode 100644 index 00000000..333e8a48 --- /dev/null +++ b/packages/react-base16-styling/src/themes/flat.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'flat', + author: 'chris kempson (http://chriskempson.com)', + base00: '#2C3E50', + base01: '#34495E', + base02: '#7F8C8D', + base03: '#95A5A6', + base04: '#BDC3C7', + base05: '#e0e0e0', + base06: '#f5f5f5', + base07: '#ECF0F1', + base08: '#E74C3C', + base09: '#E67E22', + base0A: '#F1C40F', + base0B: '#2ECC71', + base0C: '#1ABC9C', + base0D: '#3498DB', + base0E: '#9B59B6', + base0F: '#be643c' +}; diff --git a/packages/react-base16-styling/src/themes/google.ts b/packages/react-base16-styling/src/themes/google.ts new file mode 100644 index 00000000..c2f1d57a --- /dev/null +++ b/packages/react-base16-styling/src/themes/google.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'google', + author: 'seth wright (http://sethawright.com)', + base00: '#1d1f21', + base01: '#282a2e', + base02: '#373b41', + base03: '#969896', + base04: '#b4b7b4', + base05: '#c5c8c6', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#CC342B', + base09: '#F96A38', + base0A: '#FBA922', + base0B: '#198844', + base0C: '#3971ED', + base0D: '#3971ED', + base0E: '#A36AC7', + base0F: '#3971ED' +}; diff --git a/packages/react-base16-styling/src/themes/grayscale.ts b/packages/react-base16-styling/src/themes/grayscale.ts new file mode 100644 index 00000000..2aeec11d --- /dev/null +++ b/packages/react-base16-styling/src/themes/grayscale.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'grayscale', + author: 'alexandre gavioli (https://github.com/alexx2/)', + base00: '#101010', + base01: '#252525', + base02: '#464646', + base03: '#525252', + base04: '#ababab', + base05: '#b9b9b9', + base06: '#e3e3e3', + base07: '#f7f7f7', + base08: '#7c7c7c', + base09: '#999999', + base0A: '#a0a0a0', + base0B: '#8e8e8e', + base0C: '#868686', + base0D: '#686868', + base0E: '#747474', + base0F: '#5e5e5e' +}; diff --git a/packages/react-base16-styling/src/themes/greenscreen.ts b/packages/react-base16-styling/src/themes/greenscreen.ts new file mode 100644 index 00000000..75e2430e --- /dev/null +++ b/packages/react-base16-styling/src/themes/greenscreen.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'green screen', + author: 'chris kempson (http://chriskempson.com)', + base00: '#001100', + base01: '#003300', + base02: '#005500', + base03: '#007700', + base04: '#009900', + base05: '#00bb00', + base06: '#00dd00', + base07: '#00ff00', + base08: '#007700', + base09: '#009900', + base0A: '#007700', + base0B: '#00bb00', + base0C: '#005500', + base0D: '#009900', + base0E: '#00bb00', + base0F: '#005500' +}; diff --git a/packages/react-base16-styling/src/themes/harmonic.ts b/packages/react-base16-styling/src/themes/harmonic.ts new file mode 100644 index 00000000..665d0476 --- /dev/null +++ b/packages/react-base16-styling/src/themes/harmonic.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'harmonic16', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#0b1c2c', + base01: '#223b54', + base02: '#405c79', + base03: '#627e99', + base04: '#aabcce', + base05: '#cbd6e2', + base06: '#e5ebf1', + base07: '#f7f9fb', + base08: '#bf8b56', + base09: '#bfbf56', + base0A: '#8bbf56', + base0B: '#56bf8b', + base0C: '#568bbf', + base0D: '#8b56bf', + base0E: '#bf568b', + base0F: '#bf5656' +}; diff --git a/packages/react-base16-styling/src/themes/hopscotch.ts b/packages/react-base16-styling/src/themes/hopscotch.ts new file mode 100644 index 00000000..4eca7b8c --- /dev/null +++ b/packages/react-base16-styling/src/themes/hopscotch.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'hopscotch', + author: 'jan t. sott', + base00: '#322931', + base01: '#433b42', + base02: '#5c545b', + base03: '#797379', + base04: '#989498', + base05: '#b9b5b8', + base06: '#d5d3d5', + base07: '#ffffff', + base08: '#dd464c', + base09: '#fd8b19', + base0A: '#fdcc59', + base0B: '#8fc13e', + base0C: '#149b93', + base0D: '#1290bf', + base0E: '#c85e7c', + base0F: '#b33508' +}; diff --git a/packages/react-base16-styling/src/themes/index.ts b/packages/react-base16-styling/src/themes/index.ts new file mode 100644 index 00000000..8b8950ed --- /dev/null +++ b/packages/react-base16-styling/src/themes/index.ts @@ -0,0 +1,98 @@ +import { default as threezerotwofour } from './threezerotwofour.js'; +import { default as apathy } from './apathy.js'; +import { default as ashes } from './ashes.js'; +import { default as atelierDune } from './atelier-dune.js'; +import { default as atelierForest } from './atelier-forest.js'; +import { default as atelierHeath } from './atelier-heath.js'; +import { default as atelierLakeside } from './atelier-lakeside.js'; +import { default as atelierSeaside } from './atelier-seaside.js'; +import { default as bespin } from './bespin.js'; +import { default as brewer } from './brewer.js'; +import { default as bright } from './bright.js'; +import { default as chalk } from './chalk.js'; +import { default as codeschool } from './codeschool.js'; +import { default as colors } from './colors.js'; +import { default as defaultTheme } from './default.js'; +import { default as eighties } from './eighties.js'; +import { default as embers } from './embers.js'; +import { default as flat } from './flat.js'; +import { default as google } from './google.js'; +import { default as grayscale } from './grayscale.js'; +import { default as greenscreen } from './greenscreen.js'; +import { default as harmonic } from './harmonic.js'; +import { default as hopscotch } from './hopscotch.js'; +import { default as isotope } from './isotope.js'; +import { default as marrakesh } from './marrakesh.js'; +import { default as mocha } from './mocha.js'; +import { default as monokai } from './monokai.js'; +import { default as ocean } from './ocean.js'; +import { default as paraiso } from './paraiso.js'; +import { default as pop } from './pop.js'; +import { default as railscasts } from './railscasts.js'; +import { default as shapeshifter } from './shapeshifter.js'; +import { default as solarized } from './solarized.js'; +import { default as summerfruit } from './summerfruit.js'; +import { default as tomorrow } from './tomorrow.js'; +import { default as tube } from './tube.js'; +import { default as twilight } from './twilight.js'; + +export interface Base16Theme { + scheme: string; + author: string; + base00: string; + base01: string; + base02: string; + base03: string; + base04: string; + base05: string; + base06: string; + base07: string; + base08: string; + base09: string; + base0A: string; + base0B: string; + base0C: string; + base0D: string; + base0E: string; + base0F: string; +} + +export const base16Themes = { + threezerotwofour, + apathy, + ashes, + atelierDune, + atelierForest, + atelierHeath, + atelierLakeside, + atelierSeaside, + bespin, + brewer, + bright, + chalk, + codeschool, + colors, + default: defaultTheme, + eighties, + embers, + flat, + google, + grayscale, + greenscreen, + harmonic, + hopscotch, + isotope, + marrakesh, + mocha, + monokai, + ocean, + paraiso, + pop, + railscasts, + shapeshifter, + solarized, + summerfruit, + tomorrow, + tube, + twilight, +}; diff --git a/packages/react-base16-styling/src/themes/isotope.ts b/packages/react-base16-styling/src/themes/isotope.ts new file mode 100644 index 00000000..484524f0 --- /dev/null +++ b/packages/react-base16-styling/src/themes/isotope.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'isotope', + author: 'jan t. sott', + base00: '#000000', + base01: '#404040', + base02: '#606060', + base03: '#808080', + base04: '#c0c0c0', + base05: '#d0d0d0', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#ff0000', + base09: '#ff9900', + base0A: '#ff0099', + base0B: '#33ff00', + base0C: '#00ffff', + base0D: '#0066ff', + base0E: '#cc00ff', + base0F: '#3300ff' +}; diff --git a/packages/react-base16-styling/src/themes/marrakesh.ts b/packages/react-base16-styling/src/themes/marrakesh.ts new file mode 100644 index 00000000..ca2ef0df --- /dev/null +++ b/packages/react-base16-styling/src/themes/marrakesh.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'marrakesh', + author: 'alexandre gavioli (http://github.com/alexx2/)', + base00: '#201602', + base01: '#302e00', + base02: '#5f5b17', + base03: '#6c6823', + base04: '#86813b', + base05: '#948e48', + base06: '#ccc37a', + base07: '#faf0a5', + base08: '#c35359', + base09: '#b36144', + base0A: '#a88339', + base0B: '#18974e', + base0C: '#75a738', + base0D: '#477ca1', + base0E: '#8868b3', + base0F: '#b3588e' +}; diff --git a/packages/react-base16-styling/src/themes/mocha.ts b/packages/react-base16-styling/src/themes/mocha.ts new file mode 100644 index 00000000..9c86e910 --- /dev/null +++ b/packages/react-base16-styling/src/themes/mocha.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'mocha', + author: 'chris kempson (http://chriskempson.com)', + base00: '#3B3228', + base01: '#534636', + base02: '#645240', + base03: '#7e705a', + base04: '#b8afad', + base05: '#d0c8c6', + base06: '#e9e1dd', + base07: '#f5eeeb', + base08: '#cb6077', + base09: '#d28b71', + base0A: '#f4bc87', + base0B: '#beb55b', + base0C: '#7bbda4', + base0D: '#8ab3b5', + base0E: '#a89bb9', + base0F: '#bb9584' +}; diff --git a/packages/react-base16-styling/src/themes/monokai.ts b/packages/react-base16-styling/src/themes/monokai.ts new file mode 100644 index 00000000..298fc861 --- /dev/null +++ b/packages/react-base16-styling/src/themes/monokai.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'monokai', + author: 'wimer hazenberg (http://www.monokai.nl)', + base00: '#272822', + base01: '#383830', + base02: '#49483e', + base03: '#75715e', + base04: '#a59f85', + base05: '#f8f8f2', + base06: '#f5f4f1', + base07: '#f9f8f5', + base08: '#f92672', + base09: '#fd971f', + base0A: '#f4bf75', + base0B: '#a6e22e', + base0C: '#a1efe4', + base0D: '#66d9ef', + base0E: '#ae81ff', + base0F: '#cc6633' +}; diff --git a/packages/react-base16-styling/src/themes/ocean.ts b/packages/react-base16-styling/src/themes/ocean.ts new file mode 100644 index 00000000..d3143b29 --- /dev/null +++ b/packages/react-base16-styling/src/themes/ocean.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'ocean', + author: 'chris kempson (http://chriskempson.com)', + base00: '#2b303b', + base01: '#343d46', + base02: '#4f5b66', + base03: '#65737e', + base04: '#a7adba', + base05: '#c0c5ce', + base06: '#dfe1e8', + base07: '#eff1f5', + base08: '#bf616a', + base09: '#d08770', + base0A: '#ebcb8b', + base0B: '#a3be8c', + base0C: '#96b5b4', + base0D: '#8fa1b3', + base0E: '#b48ead', + base0F: '#ab7967' +}; diff --git a/packages/react-base16-styling/src/themes/paraiso.ts b/packages/react-base16-styling/src/themes/paraiso.ts new file mode 100644 index 00000000..4d89e01a --- /dev/null +++ b/packages/react-base16-styling/src/themes/paraiso.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'paraiso', + author: 'jan t. sott', + base00: '#2f1e2e', + base01: '#41323f', + base02: '#4f424c', + base03: '#776e71', + base04: '#8d8687', + base05: '#a39e9b', + base06: '#b9b6b0', + base07: '#e7e9db', + base08: '#ef6155', + base09: '#f99b15', + base0A: '#fec418', + base0B: '#48b685', + base0C: '#5bc4bf', + base0D: '#06b6ef', + base0E: '#815ba4', + base0F: '#e96ba8' +}; diff --git a/packages/react-base16-styling/src/themes/pop.ts b/packages/react-base16-styling/src/themes/pop.ts new file mode 100644 index 00000000..29daefeb --- /dev/null +++ b/packages/react-base16-styling/src/themes/pop.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'pop', + author: 'chris kempson (http://chriskempson.com)', + base00: '#000000', + base01: '#202020', + base02: '#303030', + base03: '#505050', + base04: '#b0b0b0', + base05: '#d0d0d0', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#eb008a', + base09: '#f29333', + base0A: '#f8ca12', + base0B: '#37b349', + base0C: '#00aabb', + base0D: '#0e5a94', + base0E: '#b31e8d', + base0F: '#7a2d00' +}; diff --git a/packages/react-base16-styling/src/themes/railscasts.ts b/packages/react-base16-styling/src/themes/railscasts.ts new file mode 100644 index 00000000..2f914042 --- /dev/null +++ b/packages/react-base16-styling/src/themes/railscasts.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'railscasts', + author: 'ryan bates (http://railscasts.com)', + base00: '#2b2b2b', + base01: '#272935', + base02: '#3a4055', + base03: '#5a647e', + base04: '#d4cfc9', + base05: '#e6e1dc', + base06: '#f4f1ed', + base07: '#f9f7f3', + base08: '#da4939', + base09: '#cc7833', + base0A: '#ffc66d', + base0B: '#a5c261', + base0C: '#519f50', + base0D: '#6d9cbe', + base0E: '#b6b3eb', + base0F: '#bc9458' +}; diff --git a/packages/react-base16-styling/src/themes/shapeshifter.ts b/packages/react-base16-styling/src/themes/shapeshifter.ts new file mode 100644 index 00000000..f6d99e02 --- /dev/null +++ b/packages/react-base16-styling/src/themes/shapeshifter.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'shapeshifter', + author: 'tyler benziger (http://tybenz.com)', + base00: '#000000', + base01: '#040404', + base02: '#102015', + base03: '#343434', + base04: '#555555', + base05: '#ababab', + base06: '#e0e0e0', + base07: '#f9f9f9', + base08: '#e92f2f', + base09: '#e09448', + base0A: '#dddd13', + base0B: '#0ed839', + base0C: '#23edda', + base0D: '#3b48e3', + base0E: '#f996e2', + base0F: '#69542d' +}; diff --git a/packages/react-base16-styling/src/themes/solarized.ts b/packages/react-base16-styling/src/themes/solarized.ts new file mode 100644 index 00000000..b601e859 --- /dev/null +++ b/packages/react-base16-styling/src/themes/solarized.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'solarized', + author: 'ethan schoonover (http://ethanschoonover.com/solarized)', + base00: '#002b36', + base01: '#073642', + base02: '#586e75', + base03: '#657b83', + base04: '#839496', + base05: '#93a1a1', + base06: '#eee8d5', + base07: '#fdf6e3', + base08: '#dc322f', + base09: '#cb4b16', + base0A: '#b58900', + base0B: '#859900', + base0C: '#2aa198', + base0D: '#268bd2', + base0E: '#6c71c4', + base0F: '#d33682' +}; diff --git a/packages/react-base16-styling/src/themes/summerfruit.ts b/packages/react-base16-styling/src/themes/summerfruit.ts new file mode 100644 index 00000000..ff9fe944 --- /dev/null +++ b/packages/react-base16-styling/src/themes/summerfruit.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'summerfruit', + author: 'christopher corley (http://cscorley.github.io/)', + base00: '#151515', + base01: '#202020', + base02: '#303030', + base03: '#505050', + base04: '#B0B0B0', + base05: '#D0D0D0', + base06: '#E0E0E0', + base07: '#FFFFFF', + base08: '#FF0086', + base09: '#FD8900', + base0A: '#ABA800', + base0B: '#00C918', + base0C: '#1faaaa', + base0D: '#3777E6', + base0E: '#AD00A1', + base0F: '#cc6633' +}; diff --git a/packages/react-base16-styling/src/themes/threezerotwofour.ts b/packages/react-base16-styling/src/themes/threezerotwofour.ts new file mode 100644 index 00000000..f0c7de32 --- /dev/null +++ b/packages/react-base16-styling/src/themes/threezerotwofour.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'threezerotwofour', + author: 'jan t. sott (http://github.com/idleberg)', + base00: '#090300', + base01: '#3a3432', + base02: '#4a4543', + base03: '#5c5855', + base04: '#807d7c', + base05: '#a5a2a2', + base06: '#d6d5d4', + base07: '#f7f7f7', + base08: '#db2d20', + base09: '#e8bbd0', + base0A: '#fded02', + base0B: '#01a252', + base0C: '#b5e4f4', + base0D: '#01a0e4', + base0E: '#a16a94', + base0F: '#cdab53' +}; diff --git a/packages/react-base16-styling/src/themes/tomorrow.ts b/packages/react-base16-styling/src/themes/tomorrow.ts new file mode 100644 index 00000000..9dd69015 --- /dev/null +++ b/packages/react-base16-styling/src/themes/tomorrow.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'tomorrow', + author: 'chris kempson (http://chriskempson.com)', + base00: '#1d1f21', + base01: '#282a2e', + base02: '#373b41', + base03: '#969896', + base04: '#b4b7b4', + base05: '#c5c8c6', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#cc6666', + base09: '#de935f', + base0A: '#f0c674', + base0B: '#b5bd68', + base0C: '#8abeb7', + base0D: '#81a2be', + base0E: '#b294bb', + base0F: '#a3685a' +}; diff --git a/packages/react-base16-styling/src/themes/tube.ts b/packages/react-base16-styling/src/themes/tube.ts new file mode 100644 index 00000000..d0bfe87c --- /dev/null +++ b/packages/react-base16-styling/src/themes/tube.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'london tube', + author: 'jan t. sott', + base00: '#231f20', + base01: '#1c3f95', + base02: '#5a5758', + base03: '#737171', + base04: '#959ca1', + base05: '#d9d8d8', + base06: '#e7e7e8', + base07: '#ffffff', + base08: '#ee2e24', + base09: '#f386a1', + base0A: '#ffd204', + base0B: '#00853e', + base0C: '#85cebc', + base0D: '#009ddc', + base0E: '#98005d', + base0F: '#b06110' +}; diff --git a/packages/react-base16-styling/src/themes/twilight.ts b/packages/react-base16-styling/src/themes/twilight.ts new file mode 100644 index 00000000..d0423a2c --- /dev/null +++ b/packages/react-base16-styling/src/themes/twilight.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'twilight', + author: 'david hart (http://hart-dev.com)', + base00: '#1e1e1e', + base01: '#323537', + base02: '#464b50', + base03: '#5f5a60', + base04: '#838184', + base05: '#a7a7a7', + base06: '#c3c3c3', + base07: '#ffffff', + base08: '#cf6a4c', + base09: '#cda869', + base0A: '#f9ee98', + base0B: '#8f9d6a', + base0C: '#afc4db', + base0D: '#7587a6', + base0E: '#9b859d', + base0F: '#9b703f' +}; diff --git a/packages/react-base16-styling/test/index.test.ts b/packages/react-base16-styling/test/index.test.ts index 734b6f68..0a58cea9 100644 --- a/packages/react-base16-styling/test/index.test.ts +++ b/packages/react-base16-styling/test/index.test.ts @@ -1,6 +1,10 @@ -import { createStyling, invertBase16Theme, getBase16Theme } from '../src'; -import { apathy, Base16Theme } from 'base16'; -import { Styling, StylingConfig } from '../src/types'; +import { + createStyling, + invertBase16Theme, + getBase16Theme, +} from '../src/index.js'; +import { base16Themes, Base16Theme } from '../src/themes/index.js'; +import { Styling, StylingConfig } from '../src/types.js'; const base16Theme = { scheme: 'myscheme', @@ -94,34 +98,34 @@ test('invertTheme', () => { }); test('getBase16Theme', () => { - expect(getBase16Theme('apathy')).toEqual(apathy); - expect(getBase16Theme({ extend: 'apathy' })).toEqual(apathy); + expect(getBase16Theme('apathy')).toEqual(base16Themes.apathy); + expect(getBase16Theme({ extend: 'apathy' })).toEqual(base16Themes.apathy); expect(getBase16Theme('apathy:inverted')).toEqual(apathyInverted); expect(getBase16Theme({})).toBeUndefined(); }); test('createStyling (default)', () => { const styling = createStyling(getStylingFromBase16, { - defaultBase16: apathy, + defaultBase16: base16Themes.apathy, }); const defaultStyling = styling(undefined); expect(defaultStyling('testClass')).toEqual({ className: 'testClass' }); expect(defaultStyling('testStyle')).toEqual({ - style: { color: apathy.base00 }, + style: { color: base16Themes.apathy.base00 }, }); expect(defaultStyling('testFunc', 'mod')).toEqual({ className: 'testClass--mod', style: { width: 0, - color: apathy.base00, + color: base16Themes.apathy.base00, }, }); }); test('createStyling (custom)', () => { const styling = createStyling(getStylingFromBase16, { - defaultBase16: apathy, + defaultBase16: base16Themes.apathy, }); let customStyling = styling({ testClass: 'customClass', @@ -146,13 +150,13 @@ test('createStyling (custom)', () => { className: 'testClass customClass', }); expect(customStyling('testStyle')).toEqual({ - style: { color: apathy.base00, height: 0 }, + style: { color: base16Themes.apathy.base00, height: 0 }, }); expect(customStyling('testFunc', 'mod')).toEqual({ className: 'testClass--mod customClass--mod', style: { width: 0, - color: apathy.base00, + color: base16Themes.apathy.base00, border: 0, }, }); @@ -180,7 +184,7 @@ test('createStyling (custom)', () => { test('createStyling (multiple)', () => { const styling = createStyling(getStylingFromBase16, { - defaultBase16: apathy, + defaultBase16: base16Themes.apathy, }); let customStyling = styling({ baseStyle: ({ style }) => ({ style: { ...style, color: 'blue' } }), diff --git a/packages/react-base16-styling/tsconfig.json b/packages/react-base16-styling/tsconfig.json index 19e4e718..e3160ce3 100644 --- a/packages/react-base16-styling/tsconfig.json +++ b/packages/react-base16-styling/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { - "outDir": "lib/types" + "outDir": "lib" }, "include": ["src"] } diff --git a/packages/react-base16-styling/tsconfig.test.json b/packages/react-base16-styling/tsconfig.test.json index d0d15f67..52e69314 100644 --- a/packages/react-base16-styling/tsconfig.test.json +++ b/packages/react-base16-styling/tsconfig.test.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { "types": ["jest"] }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca5acdba..6cb936a2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -399,55 +399,28 @@ importers: packages/react-base16-styling: dependencies: - '@babel/runtime': - specifier: ^7.24.1 - version: 7.24.1 - '@types/base16': - specifier: ^1.0.5 - version: 1.0.5 '@types/lodash': specifier: ^4.17.0 version: 4.17.0 - base16: - specifier: ^1.0.0 - version: 1.0.0 color: specifier: ^4.2.3 version: 4.2.3 csstype: specifier: ^3.1.3 version: 3.1.3 - lodash.curry: - specifier: ^4.1.1 - version: 4.1.1 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 devDependencies: - '@babel/cli': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@babel/core': - specifier: ^7.24.3 - version: 7.24.3 - '@babel/eslint-parser': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3)(eslint@8.57.0) - '@babel/plugin-transform-runtime': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-env': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-typescript': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) '@types/color': specifier: ^3.0.6 version: 3.0.6 '@types/jest': specifier: ^29.5.12 version: 29.5.12 - '@types/lodash.curry': - specifier: ^4.1.9 - version: 4.1.9 + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 '@typescript-eslint/eslint-plugin': specifier: ^7.4.0 version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.3.3) @@ -9477,12 +9450,6 @@ packages: '@types/lodash': 4.17.0 dev: true - /@types/lodash.curry@4.1.9: - resolution: {integrity: sha512-QV967vSflHEza0d0IMTK7fwbl+baPBXZjcESeAHrA5eSE+EHetaggZjPpkzX1NJh4qa8DLOLScwUR+f7FN85Zg==} - dependencies: - '@types/lodash': 4.17.0 - dev: true - /@types/lodash.debounce@4.0.9: resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} dependencies: @@ -16073,10 +16040,6 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - /lodash.curry@4.1.1: - resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} - dev: false - /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}