diff --git a/.babelrc b/.babelrc
index 1320b9a3272..78a9bf9ff5b 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,3 +1,27 @@
{
- "presets": ["@babel/preset-env"]
+ "presets": [
+ "@babel/preset-typescript",
+ [
+ "@babel/preset-react",
+ {
+ "runtime": "automatic",
+ "importSource": "preact"
+ }
+ ],
+ "@babel/preset-env"
+ ],
+ "env": {
+ "development": {
+ "presets": [
+ [
+ "@babel/preset-react",
+ {
+ "development": true,
+ "runtime": "automatic",
+ "importSource": "preact"
+ }
+ ]
+ ]
+ }
+ }
}
diff --git a/gulpfile.js b/gulpfile.js
index 48ae0354d71..0f74177ce08 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -10,24 +10,30 @@ import changed from 'gulp-changed';
import gulpIf from 'gulp-if';
import svgmin from 'gulp-svgmin';
+import tailwindConfig from './tailwind.config.js';
+
const IS_PRODUCTION_BUILD = process.env.NODE_ENV === 'production';
gulp.task('build-js', () => buildJS('./rollup.config.js'));
gulp.task('watch-js', () => watchJS('./rollup.config.js'));
gulp.task('build-css', () =>
- buildCSS([
- './node_modules/bootstrap/dist/css/bootstrap.css',
- './h/static/styles/admin.scss',
- './h/static/styles/help-page.scss',
- './h/static/styles/site.scss',
- './h/static/styles/vendor/icomoon.css',
- ]),
+ buildCSS(
+ [
+ './node_modules/bootstrap/dist/css/bootstrap.css',
+ './h/static/styles/admin.scss',
+ './h/static/styles/help-page.scss',
+ './h/static/styles/site.scss',
+ './h/static/styles/vendor/icomoon.css',
+ './h/static/styles/new_group.css',
+ ],
+ { tailwindConfig },
+ ),
);
gulp.task('watch-css', () => {
gulp.watch(
- 'h/static/styles/**/*.scss',
+ ['h/static/styles/**/*.{css,scss}', 'h/static/scripts/**/*.{js,ts,tsx}'],
{ ignoreInitial: false },
gulp.series('build-css'),
);
diff --git a/h/assets.ini b/h/assets.ini
index 49d717ffd3f..f516aa7d962 100644
--- a/h/assets.ini
+++ b/h/assets.ini
@@ -24,3 +24,9 @@ site_css =
help_page_css =
styles/icomoon.css
styles/help-page.css
+
+new_group_css =
+ styles/new_group.css
+
+new_group_js =
+ scripts/new_group.bundle.js
diff --git a/h/static/scripts/new_group/components/NewGroupApp.tsx b/h/static/scripts/new_group/components/NewGroupApp.tsx
new file mode 100644
index 00000000000..4d888716c5b
--- /dev/null
+++ b/h/static/scripts/new_group/components/NewGroupApp.tsx
@@ -0,0 +1,12 @@
+import { Spinner } from '@hypothesis/frontend-shared';
+
+export default function NewGroupApp() {
+ return (
+ <>
+
+
+ Hello Tailwind!
+
+ >
+ );
+}
diff --git a/h/static/scripts/new_group/index.tsx b/h/static/scripts/new_group/index.tsx
new file mode 100644
index 00000000000..8705c165af8
--- /dev/null
+++ b/h/static/scripts/new_group/index.tsx
@@ -0,0 +1,11 @@
+import { render } from 'preact';
+
+import NewGroupApp from './components/NewGroupApp';
+
+export function init() {
+ const rootEl = document.querySelector('#app');
+
+ render(, rootEl);
+}
+
+init();
diff --git a/h/static/scripts/tsconfig.json b/h/static/scripts/tsconfig.json
new file mode 100644
index 00000000000..33fd708ba04
--- /dev/null
+++ b/h/static/scripts/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "allowJs": true,
+ "allowSyntheticDefaultImports": true,
+ "checkJs": true,
+ "lib": ["es2018", "dom"],
+ "jsx": "react-jsx",
+ "jsxImportSource": "preact",
+ "module": "commonjs",
+ "noEmit": true,
+ "strict": true,
+ "target": "ES2020",
+ "useUnknownInCatchVariables": false
+ },
+ "include": ["**/*.js", "**/*.ts", "**/*.tsx"],
+ "exclude": [
+ // Tests and test infrastructure
+ "**/test/*.js",
+ "bootstrap.js",
+ "karma.config.cjs"
+ ]
+}
diff --git a/h/static/styles/new_group.css b/h/static/styles/new_group.css
new file mode 100644
index 00000000000..490f75b7d17
--- /dev/null
+++ b/h/static/styles/new_group.css
@@ -0,0 +1,5 @@
+/* CSS entry point for the 'new group' app. */
+
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
diff --git a/h/templates/groups/create.html.jinja2 b/h/templates/groups/create.html.jinja2
index d72433619f0..f8432e54650 100644
--- a/h/templates/groups/create.html.jinja2
+++ b/h/templates/groups/create.html.jinja2
@@ -1,20 +1,18 @@
-{% extends "h:templates/layouts/group.html.jinja2" %}
+
+
+
+
+
+ Create a new private group
+ {% for url in asset_urls("new_group_css") %}
+
+ {% endfor %}
+
+
+
-{% set page_title = 'Create a new private group' %}
-
-{% block page_content %}
-
- {{ form }}
-
-
-{% endblock page_content %}
+ {% for url in asset_urls("new_group_js") %}
+
+ {% endfor %}
+
+
diff --git a/package.json b/package.json
index 32a17efa421..ab1d3db3efb 100644
--- a/package.json
+++ b/package.json
@@ -6,21 +6,25 @@
"description": "The Internet, peer reviewed.",
"scripts": {
"build": "gulp build",
- "checkformatting": "prettier --check *.js h/static/scripts",
- "format": "prettier --list-different --write *.js h/static/scripts",
+ "checkformatting": "prettier --check *.{js,ts,tsx} h/static/scripts",
+ "format": "prettier --list-different --write *{.js,ts,tsx} h/static/scripts",
"lint": "eslint h/static/scripts",
"test": "gulp test"
},
"dependencies": {
"@babel/core": "^7.24.7",
"@babel/preset-env": "^7.24.6",
+ "@babel/preset-react": "^7.18.6",
+ "@babel/preset-typescript": "^7.21.4",
"@hypothesis/frontend-build": "^3.0.0",
+ "@hypothesis/frontend-shared": "^7.10.0",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^25.0.8",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",
"autoprefixer": "^10.4.19",
"bootstrap": "^4.6.2",
+ "classnames": "^2.5.1",
"escape-html": "^1.0.3",
"gulp": "^5.0.0",
"gulp-changed": "^5.0.2",
@@ -31,10 +35,12 @@
"normalize.css": "^8.0.0",
"popper.js": "^1.16.1",
"postcss": "^8.4.39",
+ "preact": "^10.13.2",
"raven-js": "^3.7.0",
"rollup": "^4.18.0",
"sass": "^1.77.6",
- "scroll-into-view": "^1.16.2"
+ "scroll-into-view": "^1.16.2",
+ "tailwindcss": "^3.4.0"
},
"devDependencies": {
"babel-plugin-mockable-imports": "^2.0.1",
@@ -54,7 +60,8 @@
"mocha": "^10.5.2",
"prettier": "^3.2.5",
"sinon": "^18.0.0",
- "syn": "^0.2.2"
+ "syn": "^0.2.2",
+ "typescript": "^5.0.4"
},
"engines": {
"node": ">=6"
diff --git a/rollup.config.js b/rollup.config.js
index 45117d2fb66..d14f416db92 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -24,8 +24,11 @@ function bundleConfig(name, entryFile) {
babel({
babelHelpers: 'bundled',
exclude: 'node_modules/**',
+ extensions: ['.js', '.ts', '.tsx'],
+ }),
+ nodeResolve({
+ extensions: ['.js', '.ts', '.tsx'],
}),
- nodeResolve(),
commonjs(),
...prodPlugins,
],
@@ -33,8 +36,10 @@ function bundleConfig(name, entryFile) {
}
export default [
- // Public-facing website
+ // Legacy (pre-Preact) public-facing website pages.
bundleConfig('site', 'h/static/scripts/site.js'),
+ // Preact app for creating new private groups.
+ bundleConfig('new_group', 'h/static/scripts/new_group/index.tsx'),
// Admin areas of the site
bundleConfig('admin-site', 'h/static/scripts/admin-site.js'),
// Header script inserted inline at the top of the page
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 00000000000..86773245c59
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,63 @@
+import tailwindConfig from '@hypothesis/frontend-shared/lib/tailwind.preset.js';
+
+export default {
+ presets: [tailwindConfig],
+ content: [
+ './h/static/scripts/**/*.{js,ts,tsx}',
+ './node_modules/@hypothesis/frontend-shared/lib/**/*.js',
+ ],
+ theme: {
+ extend: {
+ animation: {
+ 'fade-in': 'fade-in 0.3s forwards',
+ 'fade-out': 'fade-out 0.3s forwards',
+ 'slide-in-from-right': 'slide-in-from-right 0.3s forwards ease-in-out',
+ },
+ fontFamily: {
+ sans: [
+ '"Helvetica Neue"',
+ 'Helvetica',
+ 'Arial',
+ '"Lucida Grande"',
+ 'sans-serif',
+ ],
+ },
+ boxShadow: {
+ // Similar to tailwind's default `shadow-inner` but coming from the
+ // right edge instead of the left
+ 'r-inner': 'inset -2px 0 4px 0 rgb(0,0,0,.05)',
+ },
+ keyframes: {
+ 'fade-in': {
+ '0%': {
+ opacity: '0',
+ },
+ '100%': {
+ opacity: '1',
+ },
+ },
+ 'fade-out': {
+ '0%': {
+ opacity: '1',
+ },
+ '100%': {
+ opacity: '0',
+ },
+ },
+ 'slide-in-from-right': {
+ '0%': {
+ opacity: '0',
+ left: '100%',
+ },
+ '80%': {
+ left: '-10px',
+ },
+ '100%': {
+ left: '0',
+ opacity: '1',
+ },
+ },
+ },
+ },
+ },
+};
diff --git a/yarn.lock b/yarn.lock
index 70ca2b498ea..e28718d7048 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -12,6 +12,13 @@ __metadata:
languageName: node
linkType: hard
+"@alloc/quick-lru@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "@alloc/quick-lru@npm:5.2.0"
+ checksum: bdc35758b552bcf045733ac047fb7f9a07c4678b944c641adfbd41f798b4b91fffd0fdc0df2578d9b0afc7b4d636aa6e110ead5d6281a2adc1ab90efd7f057f8
+ languageName: node
+ linkType: hard
+
"@ampproject/remapping@npm:^2.2.0":
version: 2.2.0
resolution: "@ampproject/remapping@npm:2.2.0"
@@ -182,6 +189,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-annotate-as-pure@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-annotate-as-pure@npm:7.24.7"
+ dependencies:
+ "@babel/types": ^7.24.7
+ checksum: 6178566099a6a0657db7a7fa601a54fb4731ca0b8614fbdccfd8e523c210c13963649bc8fdfd53ce7dd14d05e3dda2fb22dea5b30113c488b9eb1a906d60212e
+ languageName: node
+ linkType: hard
+
"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.6"
@@ -251,6 +267,25 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-create-class-features-plugin@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.24.7
+ "@babel/helper-environment-visitor": ^7.24.7
+ "@babel/helper-function-name": ^7.24.7
+ "@babel/helper-member-expression-to-functions": ^7.24.7
+ "@babel/helper-optimise-call-expression": ^7.24.7
+ "@babel/helper-replace-supers": ^7.24.7
+ "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7
+ "@babel/helper-split-export-declaration": ^7.24.7
+ semver: ^6.3.1
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 371a181a1717a9b0cebc97727c8ea9ca6afa34029476a684b6030f9d1ad94dcdafd7de175da10b63ae3ba79e4e82404db8ed968ebf264b768f097e5d64faab71
+ languageName: node
+ linkType: hard
+
"@babel/helper-create-regexp-features-plugin@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-create-regexp-features-plugin@npm:7.18.6"
@@ -387,6 +422,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-member-expression-to-functions@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7"
+ dependencies:
+ "@babel/traverse": ^7.24.7
+ "@babel/types": ^7.24.7
+ checksum: 9fecf412f85fa23b7cf55d19eb69de39f8240426a028b141c9df2aed8cfedf20b3ec3318d40312eb7a3dec9eea792828ce0d590e0ff62da3da532482f537192c
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-imports@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-module-imports@npm:7.18.6"
@@ -478,6 +523,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-optimise-call-expression@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-optimise-call-expression@npm:7.24.7"
+ dependencies:
+ "@babel/types": ^7.24.7
+ checksum: 280654eaf90e92bf383d7eed49019573fb35a98c9e992668f701ad099957246721044be2068cf6840cb2299e0ad393705a1981c88c23a1048096a8d59e5f79a3
+ languageName: node
+ linkType: hard
+
"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
version: 7.22.5
resolution: "@babel/helper-plugin-utils@npm:7.22.5"
@@ -492,6 +546,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-plugin-utils@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-plugin-utils@npm:7.24.7"
+ checksum: 81f2a15751d892e4a8fce25390f973363a5b27596167861d2d6eab0f61856eb2ba389b031a9f19f669c0bd4dd601185828d3cebafd25431be7a1696f2ce3ef68
+ languageName: node
+ linkType: hard
+
"@babel/helper-remap-async-to-generator@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/helper-remap-async-to-generator@npm:7.24.6"
@@ -518,6 +579,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-replace-supers@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-replace-supers@npm:7.24.7"
+ dependencies:
+ "@babel/helper-environment-visitor": ^7.24.7
+ "@babel/helper-member-expression-to-functions": ^7.24.7
+ "@babel/helper-optimise-call-expression": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 2bf0d113355c60d86a04e930812d36f5691f26c82d4ec1739e5ec0a4c982c9113dad3167f7c74f888a96328bd5e696372232406d8200e5979e6e0dc2af5e7c76
+ languageName: node
+ linkType: hard
+
"@babel/helper-simple-access@npm:^7.22.5":
version: 7.22.5
resolution: "@babel/helper-simple-access@npm:7.22.5"
@@ -555,6 +629,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7"
+ dependencies:
+ "@babel/traverse": ^7.24.7
+ "@babel/types": ^7.24.7
+ checksum: 11b28fe534ce2b1a67c4d8e51a7b5711a2a0a0cae802f74614eee54cca58c744d9a62f6f60103c41759e81c537d270bfd665bf368a6bea214c6052f2094f8407
+ languageName: node
+ linkType: hard
+
"@babel/helper-split-export-declaration@npm:^7.22.6":
version: 7.22.6
resolution: "@babel/helper-split-export-declaration@npm:7.22.6"
@@ -922,6 +1006,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-jsx@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-syntax-jsx@npm:7.24.7"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 7a5ca629d8ca1e1ee78705a78e58c12920d07ed8006d7e7232b31296a384ff5e41d7b649bde5561196041037bbb9f9715be1d1c20975df87ca204f34ad15b965
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4":
version: 7.10.4
resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4"
@@ -1010,6 +1105,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-typescript@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-syntax-typescript@npm:7.24.7"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 56fe84f3044ecbf038977281648db6b63bd1301f2fff6595820dc10ee276c1d1586919d48d52a8d497ecae32c958be38f42c1c8d174dc58aad856c516dc5b35a
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6"
@@ -1303,6 +1409,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-modules-commonjs@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7"
+ dependencies:
+ "@babel/helper-module-transforms": ^7.24.7
+ "@babel/helper-plugin-utils": ^7.24.7
+ "@babel/helper-simple-access": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: bfda2a0297197ed342e2a02e5f9847a489a3ae40a4a7d7f00f4aeb8544a85e9006e0c5271c8f61f39bc97975ef2717b5594cf9486694377a53433162909d64c1
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-modules-systemjs@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.6"
@@ -1475,6 +1594,55 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-react-display-name@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: a05bf83bf5e7b31f7a3b56da1bf8e2eeec76ef52ae44435ceff66363a1717fcda45b7b4b931a2c115982175f481fc3f2d0fab23f0a43c44e6d983afc396858f0
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx-development@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7"
+ dependencies:
+ "@babel/plugin-transform-react-jsx": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 653d32ea5accb12d016e324ec5a584b60a8f39e60c6a5101194b73553fdefbfa3c3f06ec2410216ec2033fddae181a2f146a1d6ed59f075c488fc4570cad2e7b
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-transform-react-jsx@npm:7.24.7"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.24.7
+ "@babel/helper-module-imports": ^7.24.7
+ "@babel/helper-plugin-utils": ^7.24.7
+ "@babel/plugin-syntax-jsx": ^7.24.7
+ "@babel/types": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: ddfe494eb4b6ad567ebf0c029246df55d006512b1eb4beead73427b83af2e7e91b6d6e6954e275a92c81a5111d1e6e1fb4a62fdfc6f77c847cc7581650a7c452
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.7"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.24.7
+ "@babel/helper-plugin-utils": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d859ada3cbeb829fa3d9978a29b2d36657fcc9dcc1e4c3c3af84ec5a044a8f8db26ada406baa309e5d4d512aca53d07c520d991b891ff943bec7d8f01aae0419
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-regenerator@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/plugin-transform-regenerator@npm:7.24.6"
@@ -1554,6 +1722,20 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-typescript@npm:^7.24.7":
+ version: 7.24.7
+ resolution: "@babel/plugin-transform-typescript@npm:7.24.7"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.24.7
+ "@babel/helper-create-class-features-plugin": ^7.24.7
+ "@babel/helper-plugin-utils": ^7.24.7
+ "@babel/plugin-syntax-typescript": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 6b367d1e3d6bdbe438878a76436fc6903e2b4fd7c31fa036d43865570d282679ec3f7c0306399851f2866a9b36686a0ea8c343df3750f70d427f1fe20ca54310
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-unicode-escapes@npm:^7.24.6":
version: 7.24.6
resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.6"
@@ -1705,6 +1887,37 @@ __metadata:
languageName: node
linkType: hard
+"@babel/preset-react@npm:^7.18.6":
+ version: 7.24.7
+ resolution: "@babel/preset-react@npm:7.24.7"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.24.7
+ "@babel/helper-validator-option": ^7.24.7
+ "@babel/plugin-transform-react-display-name": ^7.24.7
+ "@babel/plugin-transform-react-jsx": ^7.24.7
+ "@babel/plugin-transform-react-jsx-development": ^7.24.7
+ "@babel/plugin-transform-react-pure-annotations": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 76d0365b6bca808be65c4ccb3f3384c0792084add15eb537f16b3e44184216b82fa37f945339b732ceee6f06e09ba1f39f75c45e69b9811ddcc479f05555ea9c
+ languageName: node
+ linkType: hard
+
+"@babel/preset-typescript@npm:^7.21.4":
+ version: 7.24.7
+ resolution: "@babel/preset-typescript@npm:7.24.7"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.24.7
+ "@babel/helper-validator-option": ^7.24.7
+ "@babel/plugin-syntax-jsx": ^7.24.7
+ "@babel/plugin-transform-modules-commonjs": ^7.24.7
+ "@babel/plugin-transform-typescript": ^7.24.7
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 12929b24757f3bd6548103475f86478eda4c872bc7cefd920b29591eee8f4a4f350561d888e133d632d0c9402b8615fdcec9138e5127a6567dcb22f804ff207f
+ languageName: node
+ linkType: hard
+
"@babel/regjsgen@npm:^0.8.0":
version: 0.8.0
resolution: "@babel/regjsgen@npm:0.8.0"
@@ -1956,6 +2169,18 @@ __metadata:
languageName: node
linkType: hard
+"@hypothesis/frontend-shared@npm:^7.10.0":
+ version: 7.11.2
+ resolution: "@hypothesis/frontend-shared@npm:7.11.2"
+ dependencies:
+ highlight.js: ^11.6.0
+ wouter-preact: ^3.0.0
+ peerDependencies:
+ preact: ^10.4.0
+ checksum: 62e48a1e2463cf1ff9174453a83cff7413000c5fa8513ca6b5397a587c9d1ded9c3113557e68a3983b3f5d8e84ebc3ae29fccea98f39c75d4a4e93361099185a
+ languageName: node
+ linkType: hard
+
"@isaacs/cliui@npm:^8.0.2":
version: 8.0.2
resolution: "@isaacs/cliui@npm:8.0.2"
@@ -2105,14 +2330,14 @@ __metadata:
languageName: node
linkType: hard
-"@nodelib/fs.stat@npm:2.0.5":
+"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
version: 2.0.5
resolution: "@nodelib/fs.stat@npm:2.0.5"
checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0
languageName: node
linkType: hard
-"@nodelib/fs.walk@npm:^1.2.8":
+"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8":
version: 1.2.8
resolution: "@nodelib/fs.walk@npm:1.2.8"
dependencies:
@@ -2651,6 +2876,13 @@ __metadata:
languageName: node
linkType: hard
+"any-promise@npm:^1.0.0":
+ version: 1.3.0
+ resolution: "any-promise@npm:1.3.0"
+ checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de
+ languageName: node
+ linkType: hard
+
"anymatch@npm:^3.1.3":
version: 3.1.3
resolution: "anymatch@npm:3.1.3"
@@ -2688,6 +2920,13 @@ __metadata:
languageName: node
linkType: hard
+"arg@npm:^5.0.2":
+ version: 5.0.2
+ resolution: "arg@npm:5.0.2"
+ checksum: 6c69ada1a9943d332d9e5382393e897c500908d91d5cb735a01120d5f71daf1b339b7b8980cbeaba8fd1afc68e658a739746179e4315a26e8a28951ff9930078
+ languageName: node
+ linkType: hard
+
"argparse@npm:^2.0.1":
version: 2.0.1
resolution: "argparse@npm:2.0.1"
@@ -3074,7 +3313,7 @@ __metadata:
languageName: node
linkType: hard
-"braces@npm:^3.0.2, braces@npm:~3.0.2":
+"braces@npm:^3.0.2, braces@npm:^3.0.3, braces@npm:~3.0.2":
version: 3.0.3
resolution: "braces@npm:3.0.3"
dependencies:
@@ -3224,6 +3463,13 @@ __metadata:
languageName: node
linkType: hard
+"camelcase-css@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "camelcase-css@npm:2.0.1"
+ checksum: 1cec2b3b3dcb5026688a470b00299a8db7d904c4802845c353dbd12d9d248d3346949a814d83bfd988d4d2e5b9904c07efe76fecd195a1d4f05b543e7c0b56b1
+ languageName: node
+ linkType: hard
+
"camelcase@npm:^6.0.0":
version: 6.2.0
resolution: "camelcase@npm:6.2.0"
@@ -3352,6 +3598,13 @@ __metadata:
languageName: node
linkType: hard
+"classnames@npm:^2.5.1":
+ version: 2.5.1
+ resolution: "classnames@npm:2.5.1"
+ checksum: da424a8a6f3a96a2e87d01a432ba19315503294ac7e025f9fece656db6b6a0f7b5003bb1fbb51cbb0d9624d964f1b9bb35a51c73af9b2434c7b292c42231c1e5
+ languageName: node
+ linkType: hard
+
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0"
@@ -3439,6 +3692,13 @@ __metadata:
languageName: node
linkType: hard
+"commander@npm:^4.0.0":
+ version: 4.1.1
+ resolution: "commander@npm:4.1.1"
+ checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977
+ languageName: node
+ linkType: hard
+
"commander@npm:^7.2.0":
version: 7.2.0
resolution: "commander@npm:7.2.0"
@@ -3595,6 +3855,15 @@ __metadata:
languageName: node
linkType: hard
+"cssesc@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "cssesc@npm:3.0.0"
+ bin:
+ cssesc: bin/cssesc
+ checksum: f8c4ababffbc5e2ddf2fa9957dda1ee4af6048e22aeda1869d0d00843223c1b13ad3f5d88b51caa46c994225eacb636b764eb807a8883e2fb6f99b4f4e8c48b2
+ languageName: node
+ linkType: hard
+
"csso@npm:^4.2.0":
version: 4.2.0
resolution: "csso@npm:4.2.0"
@@ -3787,6 +4056,13 @@ __metadata:
languageName: node
linkType: hard
+"didyoumean@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "didyoumean@npm:1.2.2"
+ checksum: d5d98719d58b3c2fa59663c4c42ba9716f1fd01245c31d5fce31915bd3aa26e6aac149788e007358f778ebbd68a2256eb5973e8ca6f221df221ba060115acf2e
+ languageName: node
+ linkType: hard
+
"diff@npm:5.0.0":
version: 5.0.0
resolution: "diff@npm:5.0.0"
@@ -3801,6 +4077,13 @@ __metadata:
languageName: node
linkType: hard
+"dlv@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "dlv@npm:1.1.3"
+ checksum: d7381bca22ed11933a1ccf376db7a94bee2c57aa61e490f680124fa2d1cd27e94eba641d9f45be57caab4f9a6579de0983466f620a2cd6230d7ec93312105ae7
+ languageName: node
+ linkType: hard
+
"doctrine@npm:^2.1.0":
version: 2.1.0
resolution: "doctrine@npm:2.1.0"
@@ -4661,6 +4944,19 @@ __metadata:
languageName: node
linkType: hard
+"fast-glob@npm:^3.3.0":
+ version: 3.3.2
+ resolution: "fast-glob@npm:3.3.2"
+ dependencies:
+ "@nodelib/fs.stat": ^2.0.2
+ "@nodelib/fs.walk": ^1.2.3
+ glob-parent: ^5.1.2
+ merge2: ^1.3.0
+ micromatch: ^4.0.4
+ checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1
+ languageName: node
+ linkType: hard
+
"fast-json-stable-stringify@npm:^2.0.0":
version: 2.1.0
resolution: "fast-json-stable-stringify@npm:2.1.0"
@@ -5107,6 +5403,15 @@ __metadata:
languageName: node
linkType: hard
+"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2":
+ version: 5.1.2
+ resolution: "glob-parent@npm:5.1.2"
+ dependencies:
+ is-glob: ^4.0.1
+ checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e
+ languageName: node
+ linkType: hard
+
"glob-parent@npm:^6.0.2":
version: 6.0.2
resolution: "glob-parent@npm:6.0.2"
@@ -5116,15 +5421,6 @@ __metadata:
languageName: node
linkType: hard
-"glob-parent@npm:~5.1.2":
- version: 5.1.2
- resolution: "glob-parent@npm:5.1.2"
- dependencies:
- is-glob: ^4.0.1
- checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e
- languageName: node
- linkType: hard
-
"glob-stream@npm:^8.0.0":
version: 8.0.1
resolution: "glob-stream@npm:8.0.1"
@@ -5202,6 +5498,22 @@ __metadata:
languageName: node
linkType: hard
+"glob@npm:^10.3.10":
+ version: 10.4.2
+ resolution: "glob@npm:10.4.2"
+ dependencies:
+ foreground-child: ^3.1.0
+ jackspeak: ^3.1.2
+ minimatch: ^9.0.4
+ minipass: ^7.1.2
+ package-json-from-dist: ^1.0.0
+ path-scurry: ^1.11.1
+ bin:
+ glob: dist/esm/bin.mjs
+ checksum: bd7c0e30701136e936f414e5f6f82c7f04503f01df77408f177aa584927412f0bde0338e6ec541618cd21eacc57dde33e7b3c6c0a779cc1c6e6a0e14f3d15d9b
+ languageName: node
+ linkType: hard
+
"glob@npm:^7.1.3, glob@npm:^7.1.7":
version: 7.2.0
resolution: "glob@npm:7.2.0"
@@ -5449,7 +5761,10 @@ __metadata:
dependencies:
"@babel/core": ^7.24.7
"@babel/preset-env": ^7.24.6
+ "@babel/preset-react": ^7.18.6
+ "@babel/preset-typescript": ^7.21.4
"@hypothesis/frontend-build": ^3.0.0
+ "@hypothesis/frontend-shared": ^7.10.0
"@rollup/plugin-babel": ^6.0.4
"@rollup/plugin-commonjs": ^25.0.8
"@rollup/plugin-node-resolve": ^15.2.3
@@ -5458,6 +5773,7 @@ __metadata:
babel-plugin-mockable-imports: ^2.0.1
bootstrap: ^4.6.2
chai: ^5.1.1
+ classnames: ^2.5.1
diff: ^5.2.0
escape-html: ^1.0.3
eslint: ^8.57.0
@@ -5481,6 +5797,7 @@ __metadata:
normalize.css: ^8.0.0
popper.js: ^1.16.1
postcss: ^8.4.39
+ preact: ^10.13.2
prettier: ^3.2.5
raven-js: ^3.7.0
rollup: ^4.18.0
@@ -5488,6 +5805,8 @@ __metadata:
scroll-into-view: ^1.16.2
sinon: ^18.0.0
syn: ^0.2.2
+ tailwindcss: ^3.4.0
+ typescript: ^5.0.4
languageName: unknown
linkType: soft
@@ -5626,6 +5945,13 @@ __metadata:
languageName: node
linkType: hard
+"highlight.js@npm:^11.6.0":
+ version: 11.9.0
+ resolution: "highlight.js@npm:11.9.0"
+ checksum: 4043d31c5de9d27d13387d9a9e5e1939557254b7b85f0fab85d9cae0e420e131a3456ebf6148552020a1d8a216d671d583f2433d6c4de6179b8a66487a8325cb
+ languageName: node
+ linkType: hard
+
"homedir-polyfill@npm:^1.0.1":
version: 1.0.3
resolution: "homedir-polyfill@npm:1.0.3"
@@ -6331,6 +6657,28 @@ __metadata:
languageName: node
linkType: hard
+"jackspeak@npm:^3.1.2":
+ version: 3.4.0
+ resolution: "jackspeak@npm:3.4.0"
+ dependencies:
+ "@isaacs/cliui": ^8.0.2
+ "@pkgjs/parseargs": ^0.11.0
+ dependenciesMeta:
+ "@pkgjs/parseargs":
+ optional: true
+ checksum: 350f6f311018bb175ffbe736b19c26ac0b134bb5a17a638169e89594eb0c24ab1c658ab3a2fda24ff63b3b19292e1a5ec19d2255bc526df704e8168d392bef85
+ languageName: node
+ linkType: hard
+
+"jiti@npm:^1.21.0":
+ version: 1.21.6
+ resolution: "jiti@npm:1.21.6"
+ bin:
+ jiti: bin/jiti.js
+ checksum: 9ea4a70a7bb950794824683ed1c632e2ede26949fbd348e2ba5ec8dc5efa54dc42022d85ae229cadaa60d4b95012e80ea07d625797199b688cc22ab0e8891d32
+ languageName: node
+ linkType: hard
+
"jquery@npm:^3.7.1":
version: 3.7.1
resolution: "jquery@npm:3.7.1"
@@ -6540,6 +6888,27 @@ __metadata:
languageName: node
linkType: hard
+"lilconfig@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "lilconfig@npm:2.1.0"
+ checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117
+ languageName: node
+ linkType: hard
+
+"lilconfig@npm:^3.0.0":
+ version: 3.1.2
+ resolution: "lilconfig@npm:3.1.2"
+ checksum: 4e8b83ddd1d0ad722600994e6ba5d858ddca14f0587aa6b9c8185e17548149b5e13d4d583d811e9e9323157fa8c6a527e827739794c7502b59243c58e210b8c3
+ languageName: node
+ linkType: hard
+
+"lines-and-columns@npm:^1.1.6":
+ version: 1.2.4
+ resolution: "lines-and-columns@npm:1.2.4"
+ checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5
+ languageName: node
+ linkType: hard
+
"locate-path@npm:^6.0.0":
version: 6.0.0
resolution: "locate-path@npm:6.0.0"
@@ -6650,6 +7019,13 @@ __metadata:
languageName: node
linkType: hard
+"lru-cache@npm:^10.2.0":
+ version: 10.3.0
+ resolution: "lru-cache@npm:10.3.0"
+ checksum: f2289639bd94cf3c87bfd8a77ac991f9afe3af004ddca3548c3dae63ead1c73bba449a60a4e270992e16cf3261b3d4130943234d52ca3a4d4de2fc074a3cc7b5
+ languageName: node
+ linkType: hard
+
"lru-cache@npm:^5.1.1":
version: 5.1.1
resolution: "lru-cache@npm:5.1.1"
@@ -6742,6 +7118,13 @@ __metadata:
languageName: node
linkType: hard
+"merge2@npm:^1.3.0":
+ version: 1.4.1
+ resolution: "merge2@npm:1.4.1"
+ checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2
+ languageName: node
+ linkType: hard
+
"micromatch@npm:^4.0.4":
version: 4.0.5
resolution: "micromatch@npm:4.0.5"
@@ -6752,6 +7135,16 @@ __metadata:
languageName: node
linkType: hard
+"micromatch@npm:^4.0.5":
+ version: 4.0.7
+ resolution: "micromatch@npm:4.0.7"
+ dependencies:
+ braces: ^3.0.3
+ picomatch: ^2.3.1
+ checksum: 3cde047d70ad80cf60c787b77198d680db3b8c25b23feb01de5e2652205d9c19f43bd81882f69a0fd1f0cde6a7a122d774998aad3271ddb1b8accf8a0f480cf7
+ languageName: node
+ linkType: hard
+
"mime-db@npm:1.50.0":
version: 1.50.0
resolution: "mime-db@npm:1.50.0"
@@ -6829,6 +7222,15 @@ __metadata:
languageName: node
linkType: hard
+"minimatch@npm:^9.0.4":
+ version: 9.0.5
+ resolution: "minimatch@npm:9.0.5"
+ dependencies:
+ brace-expansion: ^2.0.1
+ checksum: 2c035575eda1e50623c731ec6c14f65a85296268f749b9337005210bb2b34e2705f8ef1a358b188f69892286ab99dc42c8fb98a57bde55c8d81b3023c19cea28
+ languageName: node
+ linkType: hard
+
"minimist@npm:^1.2.3, minimist@npm:^1.2.5":
version: 1.2.6
resolution: "minimist@npm:1.2.6"
@@ -6910,6 +7312,13 @@ __metadata:
languageName: node
linkType: hard
+"minipass@npm:^7.1.2":
+ version: 7.1.2
+ resolution: "minipass@npm:7.1.2"
+ checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3
+ languageName: node
+ linkType: hard
+
"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
version: 2.1.2
resolution: "minizlib@npm:2.1.2"
@@ -6920,6 +7329,13 @@ __metadata:
languageName: node
linkType: hard
+"mitt@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "mitt@npm:3.0.1"
+ checksum: b55a489ac9c2949ab166b7f060601d3b6d893a852515ae9eca4e11df01c013876df777ea109317622b5c1c60e8aae252558e33c8c94e14124db38f64a39614b1
+ languageName: node
+ linkType: hard
+
"mkdirp@npm:^0.5.5":
version: 0.5.5
resolution: "mkdirp@npm:0.5.5"
@@ -6999,6 +7415,17 @@ __metadata:
languageName: node
linkType: hard
+"mz@npm:^2.7.0":
+ version: 2.7.0
+ resolution: "mz@npm:2.7.0"
+ dependencies:
+ any-promise: ^1.0.0
+ object-assign: ^4.0.1
+ thenify-all: ^1.0.0
+ checksum: 8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87
+ languageName: node
+ linkType: hard
+
"nanocolors@npm:^0.1.12":
version: 0.1.12
resolution: "nanocolors@npm:0.1.12"
@@ -7150,13 +7577,20 @@ __metadata:
languageName: node
linkType: hard
-"object-assign@npm:^4, object-assign@npm:^4.1.1":
+"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1":
version: 4.1.1
resolution: "object-assign@npm:4.1.1"
checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f
languageName: node
linkType: hard
+"object-hash@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "object-hash@npm:3.0.0"
+ checksum: 80b4904bb3857c52cc1bfd0b52c0352532ca12ed3b8a6ff06a90cd209dfda1b95cee059a7625eb9da29537027f68ac4619363491eedb2f5d3dddbba97494fd6c
+ languageName: node
+ linkType: hard
+
"object-inspect@npm:^1.11.0, object-inspect@npm:^1.9.0":
version: 1.11.0
resolution: "object-inspect@npm:1.11.0"
@@ -7346,6 +7780,13 @@ __metadata:
languageName: node
linkType: hard
+"package-json-from-dist@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "package-json-from-dist@npm:1.0.0"
+ checksum: ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea
+ languageName: node
+ linkType: hard
+
"parent-module@npm:^1.0.0":
version: 1.0.1
resolution: "parent-module@npm:1.0.1"
@@ -7434,6 +7875,16 @@ __metadata:
languageName: node
linkType: hard
+"path-scurry@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "path-scurry@npm:1.11.1"
+ dependencies:
+ lru-cache: ^10.2.0
+ minipass: ^5.0.0 || ^6.0.2 || ^7.0.0
+ checksum: 890d5abcd593a7912dcce7cf7c6bf7a0b5648e3dee6caf0712c126ca0a65c7f3d7b9d769072a4d1baf370f61ce493ab5b038d59988688e0c5f3f646ee3c69023
+ languageName: node
+ linkType: hard
+
"path-to-regexp@npm:^2.2.1":
version: 2.4.0
resolution: "path-to-regexp@npm:2.4.0"
@@ -7483,6 +7934,20 @@ __metadata:
languageName: node
linkType: hard
+"pify@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "pify@npm:2.3.0"
+ checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba
+ languageName: node
+ linkType: hard
+
+"pirates@npm:^4.0.1":
+ version: 4.0.6
+ resolution: "pirates@npm:4.0.6"
+ checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6
+ languageName: node
+ linkType: hard
+
"plugin-error@npm:^1.0.1":
version: 1.0.1
resolution: "plugin-error@npm:1.0.1"
@@ -7509,14 +7974,77 @@ __metadata:
languageName: node
linkType: hard
-"postcss-value-parser@npm:^4.2.0":
+"postcss-import@npm:^15.1.0":
+ version: 15.1.0
+ resolution: "postcss-import@npm:15.1.0"
+ dependencies:
+ postcss-value-parser: ^4.0.0
+ read-cache: ^1.0.0
+ resolve: ^1.1.7
+ peerDependencies:
+ postcss: ^8.0.0
+ checksum: 7bd04bd8f0235429009d0022cbf00faebc885de1d017f6d12ccb1b021265882efc9302006ba700af6cab24c46bfa2f3bc590be3f9aee89d064944f171b04e2a3
+ languageName: node
+ linkType: hard
+
+"postcss-js@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "postcss-js@npm:4.0.1"
+ dependencies:
+ camelcase-css: ^2.0.1
+ peerDependencies:
+ postcss: ^8.4.21
+ checksum: 5c1e83efeabeb5a42676193f4357aa9c88f4dc1b3c4a0332c132fe88932b33ea58848186db117cf473049fc233a980356f67db490bd0a7832ccba9d0b3fd3491
+ languageName: node
+ linkType: hard
+
+"postcss-load-config@npm:^4.0.1":
+ version: 4.0.2
+ resolution: "postcss-load-config@npm:4.0.2"
+ dependencies:
+ lilconfig: ^3.0.0
+ yaml: ^2.3.4
+ peerDependencies:
+ postcss: ">=8.0.9"
+ ts-node: ">=9.0.0"
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ checksum: 7c27dd3801db4eae207a5116fed2db6b1ebb780b40c3dd62a3e57e087093a8e6a14ee17ada729fee903152d6ef4826c6339eb135bee6208e0f3140d7e8090185
+ languageName: node
+ linkType: hard
+
+"postcss-nested@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "postcss-nested@npm:6.0.1"
+ dependencies:
+ postcss-selector-parser: ^6.0.11
+ peerDependencies:
+ postcss: ^8.2.14
+ checksum: 7ddb0364cd797de01e38f644879189e0caeb7ea3f78628c933d91cc24f327c56d31269384454fc02ecaf503b44bfa8e08870a7c4cc56b23bc15640e1894523fa
+ languageName: node
+ linkType: hard
+
+"postcss-selector-parser@npm:^6.0.11":
+ version: 6.1.0
+ resolution: "postcss-selector-parser@npm:6.1.0"
+ dependencies:
+ cssesc: ^3.0.0
+ util-deprecate: ^1.0.2
+ checksum: 449f614e6706421be307d8638183c61ba45bc3b460fe3815df8971dbb4d59c4087181940d879daee4a7a2daf3d86e915db1cce0c006dd68ca75b4087079273bd
+ languageName: node
+ linkType: hard
+
+"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0":
version: 4.2.0
resolution: "postcss-value-parser@npm:4.2.0"
checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f
languageName: node
linkType: hard
-"postcss@npm:^8.4.39":
+"postcss@npm:^8.4.23, postcss@npm:^8.4.39":
version: 8.4.39
resolution: "postcss@npm:8.4.39"
dependencies:
@@ -7527,6 +8055,13 @@ __metadata:
languageName: node
linkType: hard
+"preact@npm:^10.13.2":
+ version: 10.22.1
+ resolution: "preact@npm:10.22.1"
+ checksum: 8762645766b1c057eaf9a58ff904b6659ffa7a7d33eb94dc2b96ff1ba08743855c3ade913dfbe9e8da994777aa9f4f5e9f23d39886340f23eaebcd98f5e107e5
+ languageName: node
+ linkType: hard
+
"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
@@ -7655,6 +8190,15 @@ __metadata:
languageName: node
linkType: hard
+"read-cache@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "read-cache@npm:1.0.0"
+ dependencies:
+ pify: ^2.3.0
+ checksum: cffc728b9ede1e0667399903f9ecaf3789888b041c46ca53382fa3a06303e5132774dc0a96d0c16aa702dbac1ea0833d5a868d414f5ab2af1e1438e19e6657c6
+ languageName: node
+ linkType: hard
+
"readable-stream@npm:2 || 3, readable-stream@npm:^3.1.1":
version: 3.6.0
resolution: "readable-stream@npm:3.6.0"
@@ -7784,6 +8328,13 @@ __metadata:
languageName: node
linkType: hard
+"regexparam@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "regexparam@npm:3.0.0"
+ checksum: c8649af1538ccc12b5c5d250525f61bd370227dce41f4fb908433a9651e18b7be21dd8f8518c322dd9ebd75f7caaaea4921e374c39a469c11d4f9d0c738043e0
+ languageName: node
+ linkType: hard
+
"regexpu-core@npm:^5.1.0":
version: 5.1.0
resolution: "regexpu-core@npm:5.1.0"
@@ -7902,29 +8453,29 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.14.2, resolve@npm:^1.22.1":
- version: 1.22.1
- resolution: "resolve@npm:1.22.1"
+"resolve@npm:^1.1.7, resolve@npm:^1.20.0, resolve@npm:^1.22.2":
+ version: 1.22.8
+ resolution: "resolve@npm:1.22.8"
dependencies:
- is-core-module: ^2.9.0
+ is-core-module: ^2.13.0
path-parse: ^1.0.7
supports-preserve-symlinks-flag: ^1.0.0
bin:
resolve: bin/resolve
- checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e
+ checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c
languageName: node
linkType: hard
-"resolve@npm:^1.20.0":
- version: 1.22.8
- resolution: "resolve@npm:1.22.8"
+"resolve@npm:^1.14.2, resolve@npm:^1.22.1":
+ version: 1.22.1
+ resolution: "resolve@npm:1.22.1"
dependencies:
- is-core-module: ^2.13.0
+ is-core-module: ^2.9.0
path-parse: ^1.0.7
supports-preserve-symlinks-flag: ^1.0.0
bin:
resolve: bin/resolve
- checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c
+ checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e
languageName: node
linkType: hard
@@ -7941,29 +8492,29 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.22.1#~builtin":
- version: 1.22.1
- resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d"
+"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.2#~builtin":
+ version: 1.22.8
+ resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d"
dependencies:
- is-core-module: ^2.9.0
+ is-core-module: ^2.13.0
path-parse: ^1.0.7
supports-preserve-symlinks-flag: ^1.0.0
bin:
resolve: bin/resolve
- checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b
+ checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847
languageName: node
linkType: hard
-"resolve@patch:resolve@^1.20.0#~builtin":
- version: 1.22.8
- resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d"
+"resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.22.1#~builtin":
+ version: 1.22.1
+ resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d"
dependencies:
- is-core-module: ^2.13.0
+ is-core-module: ^2.9.0
path-parse: ^1.0.7
supports-preserve-symlinks-flag: ^1.0.0
bin:
resolve: bin/resolve
- checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847
+ checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b
languageName: node
linkType: hard
@@ -8721,6 +9272,24 @@ __metadata:
languageName: node
linkType: hard
+"sucrase@npm:^3.32.0":
+ version: 3.35.0
+ resolution: "sucrase@npm:3.35.0"
+ dependencies:
+ "@jridgewell/gen-mapping": ^0.3.2
+ commander: ^4.0.0
+ glob: ^10.3.10
+ lines-and-columns: ^1.1.6
+ mz: ^2.7.0
+ pirates: ^4.0.1
+ ts-interface-checker: ^0.1.9
+ bin:
+ sucrase: bin/sucrase
+ sucrase-node: bin/sucrase-node
+ checksum: 9fc5792a9ab8a14dcf9c47dcb704431d35c1cdff1d17d55d382a31c2e8e3063870ad32ce120a80915498486246d612e30cda44f1624d9d9a10423e1a43487ad1
+ languageName: node
+ linkType: hard
+
"supports-color@npm:8.1.1":
version: 8.1.1
resolution: "supports-color@npm:8.1.1"
@@ -8791,6 +9360,39 @@ __metadata:
languageName: node
linkType: hard
+"tailwindcss@npm:^3.4.0":
+ version: 3.4.4
+ resolution: "tailwindcss@npm:3.4.4"
+ dependencies:
+ "@alloc/quick-lru": ^5.2.0
+ arg: ^5.0.2
+ chokidar: ^3.5.3
+ didyoumean: ^1.2.2
+ dlv: ^1.1.3
+ fast-glob: ^3.3.0
+ glob-parent: ^6.0.2
+ is-glob: ^4.0.3
+ jiti: ^1.21.0
+ lilconfig: ^2.1.0
+ micromatch: ^4.0.5
+ normalize-path: ^3.0.0
+ object-hash: ^3.0.0
+ picocolors: ^1.0.0
+ postcss: ^8.4.23
+ postcss-import: ^15.1.0
+ postcss-js: ^4.0.1
+ postcss-load-config: ^4.0.1
+ postcss-nested: ^6.0.1
+ postcss-selector-parser: ^6.0.11
+ resolve: ^1.22.2
+ sucrase: ^3.32.0
+ bin:
+ tailwind: lib/cli.js
+ tailwindcss: lib/cli.js
+ checksum: 743639b6a5c827b6f91ad8cff22ad296e25f4478202200a6f41ae49fbb28c4c6f8120e742a85e09987e33352fbc52c6a34c4ed33ce000b3810d4edf632142bac
+ languageName: node
+ linkType: hard
+
"tar@npm:^6.1.11, tar@npm:^6.1.2":
version: 6.2.1
resolution: "tar@npm:6.2.1"
@@ -8847,6 +9449,24 @@ __metadata:
languageName: node
linkType: hard
+"thenify-all@npm:^1.0.0":
+ version: 1.6.0
+ resolution: "thenify-all@npm:1.6.0"
+ dependencies:
+ thenify: ">= 3.1.0 < 4"
+ checksum: dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e
+ languageName: node
+ linkType: hard
+
+"thenify@npm:>= 3.1.0 < 4":
+ version: 3.3.1
+ resolution: "thenify@npm:3.3.1"
+ dependencies:
+ any-promise: ^1.0.0
+ checksum: 84e1b804bfec49f3531215f17b4a6e50fd4397b5f7c1bccc427b9c656e1ecfb13ea79d899930184f78bc2f57285c54d9a50a590c8868f4f0cef5c1d9f898b05e
+ languageName: node
+ linkType: hard
+
"through2@npm:^3.0.1":
version: 3.0.2
resolution: "through2@npm:3.0.2"
@@ -8918,6 +9538,13 @@ __metadata:
languageName: node
linkType: hard
+"ts-interface-checker@npm:^0.1.9":
+ version: 0.1.13
+ resolution: "ts-interface-checker@npm:0.1.13"
+ checksum: 20c29189c2dd6067a8775e07823ddf8d59a33e2ffc47a1bd59a5cb28bb0121a2969a816d5e77eda2ed85b18171aa5d1c4005a6b88ae8499ec7cc49f78571cb5e
+ languageName: node
+ linkType: hard
+
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"
@@ -9050,6 +9677,26 @@ __metadata:
languageName: node
linkType: hard
+"typescript@npm:^5.0.4":
+ version: 5.5.3
+ resolution: "typescript@npm:5.5.3"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 4b4f14313484d5c86064d04ba892544801fa551f5cf72719b540b498056fec7fc192d0bbdb2ba1448e759b1548769956da9e43e7c16781e8d8856787b0575004
+ languageName: node
+ linkType: hard
+
+"typescript@patch:typescript@^5.0.4#~builtin":
+ version: 5.5.3
+ resolution: "typescript@patch:typescript@npm%3A5.5.3#~builtin::version=5.5.3&hash=14eedb"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 6853be4607706cc1ad2f16047cf1cd72d39f79acd5f9716e1d23bc0e462c7f59be7458fe58a21665e7657a05433d7ab8419d093a5a4bd5f3a33f879b35d2769b
+ languageName: node
+ linkType: hard
+
"ua-parser-js@npm:^0.7.30":
version: 0.7.33
resolution: "ua-parser-js@npm:0.7.33"
@@ -9221,7 +9868,7 @@ __metadata:
languageName: node
linkType: hard
-"util-deprecate@npm:^1.0.1":
+"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2
@@ -9449,6 +10096,18 @@ __metadata:
languageName: node
linkType: hard
+"wouter-preact@npm:^3.0.0":
+ version: 3.3.0
+ resolution: "wouter-preact@npm:3.3.0"
+ dependencies:
+ mitt: ^3.0.1
+ regexparam: ^3.0.0
+ peerDependencies:
+ preact: ^10.0.0
+ checksum: e23804152a953b89bdda3f04f31f60d2d5a3934e951da3a50a81fdd3aa2fd1de338778e99b249c2f80cd951c2cc9eb278afa5b650678f4a87a9f02a0310e2dc2
+ languageName: node
+ linkType: hard
+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
version: 7.0.0
resolution: "wrap-ansi@npm:7.0.0"
@@ -9514,6 +10173,15 @@ __metadata:
languageName: node
linkType: hard
+"yaml@npm:^2.3.4":
+ version: 2.4.5
+ resolution: "yaml@npm:2.4.5"
+ bin:
+ yaml: bin.mjs
+ checksum: f8efd407c07e095f00f3031108c9960b2b12971d10162b1ec19007200f6c987d2e28f73283f4731119aa610f177a3ea03d4a8fcf640600a25de1b74d00c69b3d
+ languageName: node
+ linkType: hard
+
"yargs-parser@npm:20.2.4":
version: 20.2.4
resolution: "yargs-parser@npm:20.2.4"