create-gardener 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/template/build/backend/controllers/gardener/addPage.d.ts.map +1 -1
- package/template/build/backend/controllers/gardener/addPage.js +31 -21
- package/template/build/backend/controllers/gardener/addPage.js.map +1 -1
- package/template/build/backend/controllers/gardener/createStatic.d.ts.map +1 -1
- package/template/build/backend/controllers/gardener/createStatic.js +3 -1
- package/template/build/backend/controllers/gardener/createStatic.js.map +1 -1
- package/template/build/backend/libs/generateWebp.d.ts.map +1 -1
- package/template/build/backend/libs/generateWebp.js +0 -2
- package/template/build/backend/libs/generateWebp.js.map +1 -1
- package/template/build/backend/routes/gardener.route.js +5 -0
- package/template/build/backend/routes/gardener.route.js.map +1 -1
- package/template/build/frontend/static/bundle/bundle._.js +1 -0
- package/template/build/frontend/static/bundle/bundle._about.js +1 -0
- package/template/build/frontend/static/bundle/bundle._kartik.js +1 -0
- package/template/build/frontend/static/bundle/bundle._new.js +1 -0
- package/template/build/frontend/static/bundle/bundle._ritish.js +1 -0
- package/template/build/frontend/static/cache/gardener_100x100.webp +0 -0
- package/template/build/frontend/static/components/copybtn.js +16 -3
- package/template/build/frontend/static/components/footer.js +33 -0
- package/template/build/frontend/static/components/gardener/errorBox.js +47 -0
- package/template/build/frontend/static/components/gardener/hotReloadbtn.js +82 -0
- package/template/build/frontend/static/components/gardener/pageOverlayBtn.js +138 -0
- package/template/build/frontend/static/components/gardener/parserWindow.js +159 -0
- package/template/build/frontend/static/components/nonui/api.js +15 -2
- package/template/build/frontend/static/components/nonui/navigation.js +2 -2
- package/template/build/frontend/static/components/notification.js +1 -1
- package/template/build/frontend/static/gardener.js +129 -58
- package/template/build/frontend/static/gardenerConfig.js +1 -1
- package/template/build/frontend/static/gardenerDev.js +67 -401
- package/template/build/frontend/static/global.js +2 -2
- package/template/build/frontend/static/pages/pages._.js +7 -2
- package/template/build/frontend/static/pages/pages._about.js +2 -0
- package/template/build/frontend/static/pages/pages._kartik.js +2 -0
- package/template/build/frontend/static/pages/pages._new.js +2 -0
- package/template/build/frontend/static/pages/pages._ritish.js +2 -0
- package/template/build/frontend/static/style.css +1 -1
- package/template/build/frontend/static/style2.css +2 -2
- package/template/build/frontend/views/_.ejs +6 -2
- package/template/build/frontend/views/_about.ejs +126 -0
- package/template/build/frontend/views/_kartik.ejs +126 -0
- package/template/build/frontend/views/_new.ejs +126 -0
- package/template/build/frontend/views/_ritish.ejs +126 -0
- package/template/buildHelper.js +33 -2
- package/template/package.json +2 -1
- package/template/pnpm-lock.yaml +271 -0
- package/template/src/backend/controllers/gardener/addPage.ts +7 -1
- package/template/src/backend/controllers/gardener/createStatic.ts +94 -59
- package/template/src/backend/controllers/gardener/index.ts +0 -1
- package/template/src/backend/routes/gardener.route.ts +1 -2
- package/template/src/frontend/bundle/bundle._.js +2 -0
- package/template/src/frontend/bundle/bundle._about.js +1 -0
- package/template/src/frontend/bundle/bundle._kartik.js +1 -0
- package/template/src/frontend/bundle/bundle._new.js +1 -0
- package/template/src/frontend/bundle/bundle._ritish.js +1 -0
- package/template/src/frontend/static/components/nonui/navigation.js +2 -2
- package/template/src/frontend/static/components/notification.js +1 -1
- package/template/src/frontend/static/gardenerDev.js +2 -2
- package/template/src/frontend/static/global.js +1 -1
- package/template/src/frontend/static/pages/pages._.js +2 -2
- package/template/src/frontend/static/style.css +61 -31
- package/template/src/frontend/template/template._.ejs +5 -1
- package/template/src/frontend/views/_.ejs +6 -2
- package/template/build/frontend/static/gardener.test.js +0 -364
- package/template/build/frontend/static/zod.js +0 -8
- package/template/buildHelper.test.js +0 -78
- package/template/jest.config.js +0 -13
- package/template/src/frontend/static/gardener.test.js +0 -364
- package/template/src/frontend/static/zod.js +0 -8
|
@@ -1,85 +1,120 @@
|
|
|
1
|
-
import type { Request, Response } from "express";
|
|
2
1
|
import path from "path";
|
|
3
2
|
import fsp from "fs/promises";
|
|
4
3
|
import ejs from "ejs";
|
|
4
|
+
import { build } from "esbuild";
|
|
5
5
|
|
|
6
6
|
import { fileURLToPath } from "url";
|
|
7
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
8
8
|
const __dirname = path.dirname(__filename);
|
|
9
9
|
|
|
10
|
-
const frontendDir = path.resolve(__dirname,
|
|
10
|
+
const frontendDir = path.resolve(__dirname, "..", "..", "..", "frontend");
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const finalOut = path.resolve("src/frontendStatic");
|
|
12
|
+
async function generateStatic() {
|
|
13
|
+
const viewsDir = path.join(frontendDir, "views");
|
|
14
|
+
const outDir = path.resolve("src/tempfrontend");
|
|
15
|
+
const finalOut = path.resolve("src/frontendStatic");
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
await fsp.mkdir(outDir, { recursive: true });
|
|
18
|
+
await fsp.mkdir(finalOut, { recursive: true });
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
const entries = await fsp.readdir(viewsDir, { withFileTypes: true });
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
const rendered: string[] = [];
|
|
24
23
|
|
|
24
|
+
for (const entry of entries) {
|
|
25
|
+
if (!entry.isFile()) continue;
|
|
26
|
+
if (!entry.name.endsWith(".ejs")) continue;
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (!entry.name.endsWith(".ejs")) continue;
|
|
28
|
+
const inputPath = path.join(viewsDir, entry.name);
|
|
29
|
+
const outputName = entry.name.replace(/\.ejs$/, ".html");
|
|
30
|
+
const outputPath = path.join(outDir, outputName);
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
const html = await ejs.renderFile(
|
|
33
|
+
inputPath,
|
|
34
|
+
{
|
|
35
|
+
fileName: entry.name.slice(0, -4)
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
views: [viewsDir],
|
|
39
|
+
}
|
|
40
|
+
);
|
|
34
41
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
fileName: inputPath
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
// async: true,
|
|
42
|
-
views: [viewsDir], // needed for includes
|
|
43
|
-
}
|
|
44
|
-
);
|
|
42
|
+
await fsp.writeFile(outputPath, html, "utf8");
|
|
43
|
+
rendered.push(outputName);
|
|
44
|
+
}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
const entries3 = await fsp.readdir(outDir, { withFileTypes: true });
|
|
47
|
+
for (const entry of entries3) {
|
|
48
|
+
const parts = entry.name
|
|
49
|
+
.replace(/^_/, "")
|
|
50
|
+
.replace(/\.html$/, "")
|
|
51
|
+
.split("_");
|
|
49
52
|
|
|
50
|
-
const
|
|
51
|
-
|
|
53
|
+
const targetDir = path.join(finalOut, ...parts);
|
|
54
|
+
const targetFile = path.join(targetDir, "index.html");
|
|
52
55
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
.replace(/\.html$/, "")
|
|
57
|
-
.split("_");
|
|
56
|
+
await fsp.mkdir(targetDir, { recursive: true });
|
|
57
|
+
await fsp.copyFile(path.join(outDir, entry.name), targetFile);
|
|
58
|
+
}
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
const targetFile = path.join(targetDir, "index.html");
|
|
60
|
+
await fsp.rm(outDir, { recursive: true, force: true });
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
await fsp.mkdir(path.join(finalOut, "static"), { recursive: true });
|
|
63
|
+
|
|
64
|
+
await fsp.cp(
|
|
65
|
+
path.join(frontendDir, "static", 'cache'),
|
|
66
|
+
path.join(finalOut, "static", 'cache'),
|
|
67
|
+
{ recursive: true }
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
await fsp.cp(
|
|
71
|
+
path.join(frontendDir, "static", 'style.css'),
|
|
72
|
+
path.join(finalOut, "static", 'style.css'),
|
|
73
|
+
{ recursive: true }
|
|
74
|
+
);
|
|
67
75
|
|
|
68
|
-
}
|
|
69
|
-
await fsp.rm(outDir, { recursive: true, force: true });
|
|
70
|
-
await fsp.cp(
|
|
71
|
-
path.join(frontendDir, "static"),
|
|
72
|
-
path.join(finalOut, 'static'),
|
|
73
|
-
{ recursive: true }
|
|
74
|
-
);
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
await fsp.cp(
|
|
78
|
+
path.join(frontendDir, "static", 'style2.css'),
|
|
79
|
+
path.join(finalOut, "static", 'style2.css'),
|
|
80
|
+
{ recursive: true }
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
const srcBundleDir = path.join(frontendDir, "bundle");
|
|
84
|
+
const destBundleDir = path.join(finalOut, "static", "bundle");
|
|
85
|
+
|
|
86
|
+
try {
|
|
87
|
+
const bundleFiles = await fsp.readdir(srcBundleDir);
|
|
88
|
+
if (bundleFiles.length) {
|
|
89
|
+
await fsp.mkdir(destBundleDir, { recursive: true });
|
|
90
|
+
|
|
91
|
+
for (const file of bundleFiles) {
|
|
92
|
+
const srcFile = path.join(srcBundleDir, file);
|
|
93
|
+
const destFile = path.join(destBundleDir, file);
|
|
94
|
+
|
|
95
|
+
await build({
|
|
96
|
+
entryPoints: [srcFile],
|
|
97
|
+
bundle: true,
|
|
98
|
+
minify: true,
|
|
99
|
+
format: "esm",
|
|
100
|
+
outfile: destFile,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
81
104
|
} catch (err) {
|
|
82
|
-
|
|
83
|
-
|
|
105
|
+
const error = err as NodeJS.ErrnoException;
|
|
106
|
+
if (error.code !== "ENOENT") {
|
|
107
|
+
throw err;
|
|
108
|
+
}
|
|
84
109
|
}
|
|
110
|
+
|
|
111
|
+
console.log("Static pages generated:", rendered);
|
|
112
|
+
console.log("Output directory:", finalOut);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
116
|
+
generateStatic().catch((err) => {
|
|
117
|
+
console.error("Static build failed:", err);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
});
|
|
85
120
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
2
|
import { Router } from "express";
|
|
3
|
-
import { addComponent, addPage,
|
|
3
|
+
import { addComponent, addPage, imageOptimiser, saveTemplate } from "../controllers/gardener/index.js";
|
|
4
4
|
|
|
5
5
|
const router: Router = Router();
|
|
6
6
|
export default router;
|
|
@@ -11,7 +11,6 @@ export default router;
|
|
|
11
11
|
router.route("/static/cache/:name").get(imageOptimiser);
|
|
12
12
|
|
|
13
13
|
if (process.env.NODE_ENV !== 'production') {
|
|
14
|
-
router.route("/createstatic").get(createStatic);
|
|
15
14
|
router.route('/addcomponent').post(addComponent);
|
|
16
15
|
router.route('/addpage').post(addPage);
|
|
17
16
|
router.route('/savetemplate').post(saveTemplate);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../static/global.js'; import '../static/pages/pages._about.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../static/global.js'; import '../static/pages/pages._kartik.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../static/global.js'; import '../static/pages/pages._new.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../static/global.js'; import '../static/pages/pages._ritish.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { gardener, fetchElement, appendElement } from "
|
|
2
|
-
import { mode } from "
|
|
1
|
+
import { gardener, fetchElement, appendElement } from "../../gardener.js";
|
|
2
|
+
import { mode } from "../../gardenerConfig.js";
|
|
3
3
|
|
|
4
4
|
const body = fetchElement('#main');
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { mode } from '
|
|
2
|
-
import { gardener, appendElement, fetchElement } from '
|
|
1
|
+
import { mode } from './gardenerConfig.js'
|
|
2
|
+
import { gardener, appendElement, fetchElement } from './gardener.js'
|
|
3
3
|
import { addPagebtn } from './components/gardener/pageOverlayBtn.js';
|
|
4
4
|
import { parserWindow as parserWindowComponent } from './components/gardener/parserWindow.js';
|
|
5
5
|
import { hotReloadBtn, togglehotreload } from './components/gardener/hotReloadbtn.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { copybtn } from "../components/copybtn.js";
|
|
2
2
|
import { pageloader } from "../components/nonui/navigation.js";
|
|
3
3
|
import addNotification from "../components/notification.js";
|
|
4
|
-
import { gardener, fetchElement, replaceElement, appendElement } from "
|
|
5
|
-
import { log, parser, addEl, State } from "
|
|
4
|
+
import { gardener, fetchElement, replaceElement, appendElement } from "../gardener.js";
|
|
5
|
+
import { log, parser, addEl, State } from "../gardenerDev.js"
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
// pageloader();
|
|
@@ -247,18 +247,21 @@
|
|
|
247
247
|
.start {
|
|
248
248
|
inset-inline-start: var(--spacing);
|
|
249
249
|
}
|
|
250
|
-
.end {
|
|
251
|
-
inset-inline-end: var(--spacing);
|
|
252
|
-
}
|
|
253
250
|
.top-0 {
|
|
254
251
|
top: calc(var(--spacing) * 0);
|
|
255
252
|
}
|
|
253
|
+
.top-1 {
|
|
254
|
+
top: calc(var(--spacing) * 1);
|
|
255
|
+
}
|
|
256
256
|
.top-1\/2 {
|
|
257
257
|
top: calc(1 / 2 * 100%);
|
|
258
258
|
}
|
|
259
259
|
.top-1\/4 {
|
|
260
260
|
top: calc(1 / 4 * 100%);
|
|
261
261
|
}
|
|
262
|
+
.top-2 {
|
|
263
|
+
top: calc(var(--spacing) * 2);
|
|
264
|
+
}
|
|
262
265
|
.top-2\/5 {
|
|
263
266
|
top: calc(2 / 5 * 100%);
|
|
264
267
|
}
|
|
@@ -289,12 +292,18 @@
|
|
|
289
292
|
.left-0 {
|
|
290
293
|
left: calc(var(--spacing) * 0);
|
|
291
294
|
}
|
|
295
|
+
.left-1 {
|
|
296
|
+
left: calc(var(--spacing) * 1);
|
|
297
|
+
}
|
|
292
298
|
.left-1\/2 {
|
|
293
299
|
left: calc(1 / 2 * 100%);
|
|
294
300
|
}
|
|
295
301
|
.left-1\/4 {
|
|
296
302
|
left: calc(1 / 4 * 100%);
|
|
297
303
|
}
|
|
304
|
+
.left-2 {
|
|
305
|
+
left: calc(var(--spacing) * 2);
|
|
306
|
+
}
|
|
298
307
|
.left-2\/5 {
|
|
299
308
|
left: calc(2 / 5 * 100%);
|
|
300
309
|
}
|
|
@@ -316,24 +325,6 @@
|
|
|
316
325
|
.z-\[100\] {
|
|
317
326
|
z-index: 100;
|
|
318
327
|
}
|
|
319
|
-
.container {
|
|
320
|
-
width: 100%;
|
|
321
|
-
@media (width >= 40rem) {
|
|
322
|
-
max-width: 40rem;
|
|
323
|
-
}
|
|
324
|
-
@media (width >= 48rem) {
|
|
325
|
-
max-width: 48rem;
|
|
326
|
-
}
|
|
327
|
-
@media (width >= 64rem) {
|
|
328
|
-
max-width: 64rem;
|
|
329
|
-
}
|
|
330
|
-
@media (width >= 80rem) {
|
|
331
|
-
max-width: 80rem;
|
|
332
|
-
}
|
|
333
|
-
@media (width >= 96rem) {
|
|
334
|
-
max-width: 96rem;
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
328
|
.m-2 {
|
|
338
329
|
margin: calc(var(--spacing) * 2);
|
|
339
330
|
}
|
|
@@ -385,12 +376,15 @@
|
|
|
385
376
|
.hidden {
|
|
386
377
|
display: none;
|
|
387
378
|
}
|
|
388
|
-
.inline {
|
|
389
|
-
display: inline;
|
|
390
|
-
}
|
|
391
379
|
.inline-block {
|
|
392
380
|
display: inline-block;
|
|
393
381
|
}
|
|
382
|
+
.table {
|
|
383
|
+
display: table;
|
|
384
|
+
}
|
|
385
|
+
.h-2 {
|
|
386
|
+
height: calc(var(--spacing) * 2);
|
|
387
|
+
}
|
|
394
388
|
.h-2\/4 {
|
|
395
389
|
height: calc(2 / 4 * 100%);
|
|
396
390
|
}
|
|
@@ -409,15 +403,24 @@
|
|
|
409
403
|
.h-screen {
|
|
410
404
|
height: 100vh;
|
|
411
405
|
}
|
|
406
|
+
.w-1 {
|
|
407
|
+
width: calc(var(--spacing) * 1);
|
|
408
|
+
}
|
|
412
409
|
.w-1\/4 {
|
|
413
410
|
width: calc(1 / 4 * 100%);
|
|
414
411
|
}
|
|
412
|
+
.w-2 {
|
|
413
|
+
width: calc(var(--spacing) * 2);
|
|
414
|
+
}
|
|
415
415
|
.w-2\/4 {
|
|
416
416
|
width: calc(2 / 4 * 100%);
|
|
417
417
|
}
|
|
418
418
|
.w-5 {
|
|
419
419
|
width: calc(var(--spacing) * 5);
|
|
420
420
|
}
|
|
421
|
+
.w-11 {
|
|
422
|
+
width: calc(var(--spacing) * 11);
|
|
423
|
+
}
|
|
421
424
|
.w-11\/12 {
|
|
422
425
|
width: calc(11 / 12 * 100%);
|
|
423
426
|
}
|
|
@@ -454,10 +457,21 @@
|
|
|
454
457
|
.flex-1 {
|
|
455
458
|
flex: 1;
|
|
456
459
|
}
|
|
460
|
+
.border-collapse {
|
|
461
|
+
border-collapse: collapse;
|
|
462
|
+
}
|
|
463
|
+
.-translate-x-1 {
|
|
464
|
+
--tw-translate-x: calc(var(--spacing) * -1);
|
|
465
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
466
|
+
}
|
|
457
467
|
.-translate-x-1\/2 {
|
|
458
468
|
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
459
469
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
460
470
|
}
|
|
471
|
+
.-translate-y-1 {
|
|
472
|
+
--tw-translate-y: calc(var(--spacing) * -1);
|
|
473
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
474
|
+
}
|
|
461
475
|
.-translate-y-1\/2 {
|
|
462
476
|
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
463
477
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -468,6 +482,9 @@
|
|
|
468
482
|
.cursor-pointer {
|
|
469
483
|
cursor: pointer;
|
|
470
484
|
}
|
|
485
|
+
.resize {
|
|
486
|
+
resize: both;
|
|
487
|
+
}
|
|
471
488
|
.grid-cols-2 {
|
|
472
489
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
473
490
|
}
|
|
@@ -692,6 +709,9 @@
|
|
|
692
709
|
.py-20 {
|
|
693
710
|
padding-block: calc(var(--spacing) * 20);
|
|
694
711
|
}
|
|
712
|
+
.pb-1 {
|
|
713
|
+
padding-bottom: calc(var(--spacing) * 1);
|
|
714
|
+
}
|
|
695
715
|
.pb-1\.5 {
|
|
696
716
|
padding-bottom: calc(var(--spacing) * 1.5);
|
|
697
717
|
}
|
|
@@ -715,10 +735,6 @@
|
|
|
715
735
|
font-size: var(--text-3xl);
|
|
716
736
|
line-height: var(--tw-leading, var(--text-3xl--line-height));
|
|
717
737
|
}
|
|
718
|
-
.text-5xl {
|
|
719
|
-
font-size: var(--text-5xl);
|
|
720
|
-
line-height: var(--tw-leading, var(--text-5xl--line-height));
|
|
721
|
-
}
|
|
722
738
|
.text-6xl {
|
|
723
739
|
font-size: var(--text-6xl);
|
|
724
740
|
line-height: var(--tw-leading, var(--text-6xl--line-height));
|
|
@@ -808,15 +824,15 @@
|
|
|
808
824
|
.text-white {
|
|
809
825
|
color: var(--color-white);
|
|
810
826
|
}
|
|
811
|
-
.lowercase {
|
|
812
|
-
text-transform: lowercase;
|
|
813
|
-
}
|
|
814
827
|
.uppercase {
|
|
815
828
|
text-transform: uppercase;
|
|
816
829
|
}
|
|
817
830
|
.italic {
|
|
818
831
|
font-style: italic;
|
|
819
832
|
}
|
|
833
|
+
.underline {
|
|
834
|
+
text-decoration-line: underline;
|
|
835
|
+
}
|
|
820
836
|
.opacity-70 {
|
|
821
837
|
opacity: 70%;
|
|
822
838
|
}
|
|
@@ -836,11 +852,19 @@
|
|
|
836
852
|
--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
837
853
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
838
854
|
}
|
|
855
|
+
.outline {
|
|
856
|
+
outline-style: var(--tw-outline-style);
|
|
857
|
+
outline-width: 1px;
|
|
858
|
+
}
|
|
839
859
|
.backdrop-blur-md {
|
|
840
860
|
--tw-backdrop-blur: blur(var(--blur-md));
|
|
841
861
|
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
842
862
|
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
843
863
|
}
|
|
864
|
+
.backdrop-filter {
|
|
865
|
+
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
866
|
+
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
867
|
+
}
|
|
844
868
|
.transition {
|
|
845
869
|
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
|
|
846
870
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -1057,6 +1081,11 @@
|
|
|
1057
1081
|
inherits: false;
|
|
1058
1082
|
initial-value: 0 0 #0000;
|
|
1059
1083
|
}
|
|
1084
|
+
@property --tw-outline-style {
|
|
1085
|
+
syntax: "*";
|
|
1086
|
+
inherits: false;
|
|
1087
|
+
initial-value: solid;
|
|
1088
|
+
}
|
|
1060
1089
|
@property --tw-backdrop-blur {
|
|
1061
1090
|
syntax: "*";
|
|
1062
1091
|
inherits: false;
|
|
@@ -1141,6 +1170,7 @@
|
|
|
1141
1170
|
--tw-ring-offset-width: 0px;
|
|
1142
1171
|
--tw-ring-offset-color: #fff;
|
|
1143
1172
|
--tw-ring-offset-shadow: 0 0 #0000;
|
|
1173
|
+
--tw-outline-style: solid;
|
|
1144
1174
|
--tw-backdrop-blur: initial;
|
|
1145
1175
|
--tw-backdrop-brightness: initial;
|
|
1146
1176
|
--tw-backdrop-contrast: initial;
|
|
@@ -116,6 +116,10 @@ gardener({
|
|
|
116
116
|
</div>
|
|
117
117
|
|
|
118
118
|
</body>
|
|
119
|
-
|
|
119
|
+
<% if (process.env.NODE_ENV === 'production') { %>
|
|
120
|
+
<script type='module' src='/static/bundle/bundle.<%=fileName%>.js'></script>
|
|
121
|
+
<% } else { %>
|
|
122
|
+
<script type='module' src='/static/global.js'></script>
|
|
120
123
|
|
|
124
|
+
<% } %>
|
|
121
125
|
</html>
|
|
@@ -116,6 +116,10 @@ gardener({
|
|
|
116
116
|
</div>
|
|
117
117
|
|
|
118
118
|
</body>
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
<% if (process.env.NODE_ENV === 'production') { %>
|
|
120
|
+
<script type='module' src='/static/bundle/bundle.<%=fileName%>.js'></script>
|
|
121
|
+
<% } else { %>
|
|
122
|
+
<script type='module' src='/static/global.js'></script>
|
|
123
|
+
<script type='module' src='/static/pages/pages._.js'></script>
|
|
124
|
+
<% } %>
|
|
121
125
|
</html>
|