create-qwik 1.1.5 → 1.2.0
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/index.cjs +63 -62
- package/package.json +1 -1
- package/starters/apps/base/.eslintrc.cjs +23 -22
- package/starters/apps/base/.vscode/settings.json +3 -0
- package/starters/apps/base/README.md +5 -5
- package/starters/apps/base/gitignore +3 -1
- package/starters/apps/base/package.json +9 -9
- package/starters/apps/base/src/entry.dev.tsx +2 -2
- package/starters/apps/base/src/entry.preview.tsx +3 -3
- package/starters/apps/base/src/entry.ssr.tsx +7 -4
- package/starters/apps/base/src/global.css +3 -3
- package/starters/apps/base/src/routes/service-worker.ts +3 -4
- package/starters/apps/base/tsconfig.json +1 -1
- package/starters/apps/base/vite.config.ts +5 -5
- package/starters/apps/basic/src/components/router-head/router-head.tsx +2 -2
- package/starters/apps/basic/src/components/starter/counter/counter.tsx +12 -6
- package/starters/apps/basic/src/components/starter/footer/footer.tsx +3 -3
- package/starters/apps/basic/src/components/starter/gauge/index.tsx +9 -3
- package/starters/apps/basic/src/components/starter/header/header.tsx +16 -7
- package/starters/apps/basic/src/components/starter/hero/hero.module.css +10 -0
- package/starters/apps/basic/src/components/starter/hero/hero.tsx +16 -9
- package/starters/apps/basic/src/components/starter/icons/qwik.tsx +7 -1
- package/starters/apps/basic/src/components/starter/infobox/infobox.tsx +2 -2
- package/starters/apps/basic/src/components/starter/next-steps/next-steps.tsx +25 -15
- package/starters/apps/basic/src/global.css +3 -3
- package/starters/apps/basic/src/media/thunder.png +0 -0
- package/starters/apps/basic/src/root.tsx +10 -6
- package/starters/apps/basic/src/routes/demo/flower/flower.css +3 -1
- package/starters/apps/basic/src/routes/demo/flower/index.tsx +12 -7
- package/starters/apps/basic/src/routes/demo/todolist/index.tsx +12 -8
- package/starters/apps/basic/src/routes/index.tsx +10 -10
- package/starters/apps/basic/src/routes/layout.tsx +6 -6
- package/starters/apps/basic/src/routes/service-worker.ts +3 -3
- package/starters/apps/basic/src/routes/styles.css +4 -4
- package/starters/apps/empty/src/components/router-head/router-head.tsx +2 -2
- package/starters/apps/empty/src/root.tsx +9 -5
- package/starters/apps/empty/src/routes/index.tsx +5 -5
- package/starters/apps/empty/src/routes/layout.tsx +2 -2
- package/starters/apps/empty/src/routes/service-worker.ts +3 -3
- package/starters/apps/library/.eslintrc.cjs +21 -21
- package/starters/apps/library/package.json +7 -7
- package/starters/apps/library/src/components/counter/counter.tsx +1 -1
- package/starters/apps/library/src/components/logo/logo.tsx +1 -1
- package/starters/apps/library/src/entry.dev.tsx +2 -2
- package/starters/apps/library/src/entry.ssr.tsx +6 -3
- package/starters/apps/library/src/index.ts +2 -2
- package/starters/apps/library/src/root.tsx +2 -2
- package/starters/apps/library/vite.config.ts +6 -6
- package/starters/apps/site-with-visual-cms/README.md +15 -0
- package/starters/apps/site-with-visual-cms/package.json +2 -2
- package/starters/apps/site-with-visual-cms/src/components/builder-registry.ts +15 -5
- package/starters/apps/site-with-visual-cms/src/components/counter/counter.module.css +0 -1
- package/starters/apps/site-with-visual-cms/src/components/counter/counter.tsx +7 -7
- package/starters/apps/site-with-visual-cms/src/components/footer/footer.tsx +2 -2
- package/starters/apps/site-with-visual-cms/src/components/gauge/index.tsx +9 -3
- package/starters/apps/site-with-visual-cms/src/components/header/header.tsx +15 -6
- package/starters/apps/site-with-visual-cms/src/components/icons/qwik.tsx +7 -1
- package/starters/apps/site-with-visual-cms/src/components/router-head/router-head.tsx +2 -2
- package/starters/apps/site-with-visual-cms/src/entry.dev.tsx +2 -2
- package/starters/apps/site-with-visual-cms/src/entry.preview.tsx +3 -3
- package/starters/apps/site-with-visual-cms/src/entry.ssr.tsx +7 -4
- package/starters/apps/site-with-visual-cms/src/global.css +3 -3
- package/starters/apps/site-with-visual-cms/src/root.tsx +10 -6
- package/starters/apps/site-with-visual-cms/src/routes/[...index]/index.tsx +11 -7
- package/starters/apps/site-with-visual-cms/src/routes/layout.tsx +3 -3
- package/starters/apps/site-with-visual-cms/src/routes/service-worker.ts +3 -3
- package/starters/apps/site-with-visual-cms/vite.config.ts +4 -4
- package/starters/apps/site-with-visual-cms/builder-integration.ts +0 -853
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import type { DocumentHead } from
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import type { DocumentHead } from "@builder.io/qwik-city";
|
|
3
3
|
|
|
4
|
-
import Counter from
|
|
5
|
-
import Hero from
|
|
6
|
-
import Infobox from
|
|
7
|
-
import Starter from
|
|
4
|
+
import Counter from "~/components/starter/counter/counter";
|
|
5
|
+
import Hero from "~/components/starter/hero/hero";
|
|
6
|
+
import Infobox from "~/components/starter/infobox/infobox";
|
|
7
|
+
import Starter from "~/components/starter/next-steps/next-steps";
|
|
8
8
|
|
|
9
9
|
export default component$(() => {
|
|
10
10
|
return (
|
|
@@ -58,7 +58,7 @@ export default component$(() => {
|
|
|
58
58
|
Example Apps
|
|
59
59
|
</div>
|
|
60
60
|
<p>
|
|
61
|
-
Have a look at the <a href="/demo/flower">Flower App</a> or the{
|
|
61
|
+
Have a look at the <a href="/demo/flower">Flower App</a> or the{" "}
|
|
62
62
|
<a href="/demo/todolist">Todo App</a>.
|
|
63
63
|
</p>
|
|
64
64
|
</Infobox>
|
|
@@ -102,11 +102,11 @@ export default component$(() => {
|
|
|
102
102
|
});
|
|
103
103
|
|
|
104
104
|
export const head: DocumentHead = {
|
|
105
|
-
title:
|
|
105
|
+
title: "Welcome to Qwik",
|
|
106
106
|
meta: [
|
|
107
107
|
{
|
|
108
|
-
name:
|
|
109
|
-
content:
|
|
108
|
+
name: "description",
|
|
109
|
+
content: "Qwik site description",
|
|
110
110
|
},
|
|
111
111
|
],
|
|
112
112
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { component$, Slot, useStyles$ } from
|
|
2
|
-
import { routeLoader$ } from
|
|
3
|
-
import type { RequestHandler } from
|
|
1
|
+
import { component$, Slot, useStyles$ } from "@builder.io/qwik";
|
|
2
|
+
import { routeLoader$ } from "@builder.io/qwik-city";
|
|
3
|
+
import type { RequestHandler } from "@builder.io/qwik-city";
|
|
4
4
|
|
|
5
|
-
import Header from
|
|
6
|
-
import Footer from
|
|
5
|
+
import Header from "~/components/starter/header/header";
|
|
6
|
+
import Footer from "~/components/starter/footer/footer";
|
|
7
7
|
|
|
8
|
-
import styles from
|
|
8
|
+
import styles from "./styles.css?inline";
|
|
9
9
|
|
|
10
10
|
export const onGet: RequestHandler = async ({ cacheControl }) => {
|
|
11
11
|
// Control caching for this request for best performance and to reduce hosting costs:
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
* Qwik uses a service worker to speed up your site and reduce latency, ie, not used in the traditional way of offline.
|
|
8
8
|
* You can also use this file to add more functionality that runs in the service worker.
|
|
9
9
|
*/
|
|
10
|
-
import { setupServiceWorker } from
|
|
10
|
+
import { setupServiceWorker } from "@builder.io/qwik-city/service-worker";
|
|
11
11
|
|
|
12
12
|
setupServiceWorker();
|
|
13
13
|
|
|
14
|
-
addEventListener(
|
|
14
|
+
addEventListener("install", () => self.skipWaiting());
|
|
15
15
|
|
|
16
|
-
addEventListener(
|
|
16
|
+
addEventListener("activate", () => self.clients.claim());
|
|
17
17
|
|
|
18
18
|
declare const self: ServiceWorkerGlobalScope;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
/* SHELL ---------------------------------------- */
|
|
4
4
|
html {
|
|
5
|
-
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
6
|
+
"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
|
|
7
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
body {
|
|
@@ -182,7 +182,7 @@ button.button-small {
|
|
|
182
182
|
.icon:before {
|
|
183
183
|
width: 18px;
|
|
184
184
|
height: 18px;
|
|
185
|
-
content:
|
|
185
|
+
content: "";
|
|
186
186
|
display: inline-block;
|
|
187
187
|
margin-right: 20px;
|
|
188
188
|
position: relative;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import { useDocumentHead, useLocation } from
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import { useDocumentHead, useLocation } from "@builder.io/qwik-city";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The RouterHead component is placed inside of the document `<head>` element.
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import {
|
|
3
|
+
QwikCityProvider,
|
|
4
|
+
RouterOutlet,
|
|
5
|
+
ServiceWorkerRegister,
|
|
6
|
+
} from "@builder.io/qwik-city";
|
|
7
|
+
import { RouterHead } from "./components/router-head/router-head";
|
|
4
8
|
|
|
5
|
-
import
|
|
9
|
+
import "./global.css";
|
|
6
10
|
|
|
7
11
|
export default component$(() => {
|
|
8
12
|
/**
|
|
9
13
|
* The root of a QwikCity site always start with the <QwikCityProvider> component,
|
|
10
14
|
* immediately followed by the document's <head> and <body>.
|
|
11
15
|
*
|
|
12
|
-
*
|
|
16
|
+
* Don't remove the `<head>` and `<body>` elements.
|
|
13
17
|
*/
|
|
14
18
|
|
|
15
19
|
return (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import type { DocumentHead } from
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import type { DocumentHead } from "@builder.io/qwik-city";
|
|
3
3
|
|
|
4
4
|
export default component$(() => {
|
|
5
5
|
return (
|
|
@@ -15,11 +15,11 @@ export default component$(() => {
|
|
|
15
15
|
});
|
|
16
16
|
|
|
17
17
|
export const head: DocumentHead = {
|
|
18
|
-
title:
|
|
18
|
+
title: "Welcome to Qwik",
|
|
19
19
|
meta: [
|
|
20
20
|
{
|
|
21
|
-
name:
|
|
22
|
-
content:
|
|
21
|
+
name: "description",
|
|
22
|
+
content: "Qwik site description",
|
|
23
23
|
},
|
|
24
24
|
],
|
|
25
25
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { component$, Slot } from
|
|
2
|
-
import type { RequestHandler } from
|
|
1
|
+
import { component$, Slot } from "@builder.io/qwik";
|
|
2
|
+
import type { RequestHandler } from "@builder.io/qwik-city";
|
|
3
3
|
|
|
4
4
|
export const onGet: RequestHandler = async ({ cacheControl }) => {
|
|
5
5
|
// Control caching for this request for best performance and to reduce hosting costs:
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
* Qwik uses a service worker to speed up your site and reduce latency, ie, not used in the traditional way of offline.
|
|
8
8
|
* You can also use this file to add more functionality that runs in the service worker.
|
|
9
9
|
*/
|
|
10
|
-
import { setupServiceWorker } from
|
|
10
|
+
import { setupServiceWorker } from "@builder.io/qwik-city/service-worker";
|
|
11
11
|
|
|
12
12
|
setupServiceWorker();
|
|
13
13
|
|
|
14
|
-
addEventListener(
|
|
14
|
+
addEventListener("install", () => self.skipWaiting());
|
|
15
15
|
|
|
16
|
-
addEventListener(
|
|
16
|
+
addEventListener("activate", () => self.clients.claim());
|
|
17
17
|
|
|
18
18
|
declare const self: ServiceWorkerGlobalScope;
|
|
@@ -6,35 +6,35 @@ module.exports = {
|
|
|
6
6
|
node: true,
|
|
7
7
|
},
|
|
8
8
|
extends: [
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
"eslint:recommended",
|
|
10
|
+
"plugin:@typescript-eslint/recommended",
|
|
11
|
+
"plugin:qwik/recommended",
|
|
12
12
|
],
|
|
13
|
-
parser:
|
|
13
|
+
parser: "@typescript-eslint/parser",
|
|
14
14
|
parserOptions: {
|
|
15
15
|
tsconfigRootDir: __dirname,
|
|
16
|
-
project: [
|
|
16
|
+
project: ["./tsconfig.json"],
|
|
17
17
|
ecmaVersion: 2021,
|
|
18
|
-
sourceType:
|
|
18
|
+
sourceType: "module",
|
|
19
19
|
ecmaFeatures: {
|
|
20
20
|
jsx: true,
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
|
-
plugins: [
|
|
23
|
+
plugins: ["@typescript-eslint"],
|
|
24
24
|
rules: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
25
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
26
|
+
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
27
|
+
"@typescript-eslint/no-inferrable-types": "off",
|
|
28
|
+
"@typescript-eslint/no-non-null-assertion": "off",
|
|
29
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
30
|
+
"@typescript-eslint/no-namespace": "off",
|
|
31
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
32
|
+
"@typescript-eslint/no-this-alias": "off",
|
|
33
|
+
"@typescript-eslint/ban-types": "off",
|
|
34
|
+
"@typescript-eslint/ban-ts-comment": "off",
|
|
35
|
+
"prefer-spread": "off",
|
|
36
|
+
"no-case-declarations": "off",
|
|
37
|
+
"no-console": "off",
|
|
38
|
+
"@typescript-eslint/no-unused-vars": ["error"],
|
|
39
39
|
},
|
|
40
40
|
};
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"release": "np"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@builder.io/qwik": "1.
|
|
36
|
-
"@types/eslint": "8.40.
|
|
37
|
-
"@types/node": "^20.
|
|
38
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
39
|
-
"@typescript-eslint/parser": "5.
|
|
35
|
+
"@builder.io/qwik": "1.2.0",
|
|
36
|
+
"@types/eslint": "8.40.2",
|
|
37
|
+
"@types/node": "^20.3.1",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "5.60.0",
|
|
39
|
+
"@typescript-eslint/parser": "5.60.0",
|
|
40
40
|
"eslint-plugin-qwik": "latest",
|
|
41
|
-
"eslint": "8.
|
|
41
|
+
"eslint": "8.43.0",
|
|
42
42
|
"undici": "5.22.1",
|
|
43
43
|
"np": "7.6.1",
|
|
44
44
|
"prettier": "2.8.8",
|
|
45
|
-
"typescript": "5.
|
|
45
|
+
"typescript": "5.1.3",
|
|
46
46
|
"vite": "4.3.9"
|
|
47
47
|
},
|
|
48
48
|
"__qwik__": {
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* - More code is transferred to the browser than in SSR mode.
|
|
10
10
|
* - Optimizer/Serialization/Deserialization code is not exercised!
|
|
11
11
|
*/
|
|
12
|
-
import { render, type RenderOptions } from
|
|
13
|
-
import Root from
|
|
12
|
+
import { render, type RenderOptions } from "@builder.io/qwik";
|
|
13
|
+
import Root from "./root";
|
|
14
14
|
|
|
15
15
|
export default function (opts: RenderOptions) {
|
|
16
16
|
return render(document, <Root />, opts);
|
|
@@ -10,9 +10,12 @@
|
|
|
10
10
|
* - npm run build
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
import {
|
|
14
|
+
renderToStream,
|
|
15
|
+
type RenderToStreamOptions,
|
|
16
|
+
} from "@builder.io/qwik/server";
|
|
17
|
+
import { manifest } from "@qwik-client-manifest";
|
|
18
|
+
import Root from "./root";
|
|
16
19
|
|
|
17
20
|
export default function (opts: RenderToStreamOptions) {
|
|
18
21
|
return renderToStream(<Root />, {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Logo } from
|
|
2
|
-
export { Counter } from
|
|
1
|
+
export { Logo } from "./components/logo/logo";
|
|
2
|
+
export { Counter } from "./components/counter/counter";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineConfig } from
|
|
2
|
-
import { qwikVite } from
|
|
1
|
+
import { defineConfig } from "vite";
|
|
2
|
+
import { qwikVite } from "@builder.io/qwik/optimizer";
|
|
3
3
|
|
|
4
4
|
export default defineConfig(() => {
|
|
5
5
|
return {
|
|
6
6
|
build: {
|
|
7
|
-
target:
|
|
7
|
+
target: "es2020",
|
|
8
8
|
lib: {
|
|
9
|
-
entry:
|
|
10
|
-
formats: [
|
|
11
|
-
fileName: (format) => `index.qwik.${format ===
|
|
9
|
+
entry: "./src/index.ts",
|
|
10
|
+
formats: ["es", "cjs"],
|
|
11
|
+
fileName: (format) => `index.qwik.${format === "es" ? "mjs" : "cjs"}`,
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
plugins: [qwikVite()],
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## Builder.io + Qwik
|
|
2
|
+
|
|
3
|
+
An example of using [Builder.io's](https://www.builder.io/) visual editor with Qwik.
|
|
4
|
+
|
|
5
|
+
See the catchall route at [src/routes/[...index]/index.tsx](src/routes/[...index]/index.tsx) for the integration code.
|
|
6
|
+
|
|
7
|
+
Registered components can be found in [src/components/builder-registry.ts](src/components/builder-registry.ts)
|
|
8
|
+
|
|
9
|
+
### Docs
|
|
10
|
+
|
|
11
|
+
See our full integration guides [here](https://www.builder.io/c/docs/developers)
|
|
12
|
+
|
|
13
|
+
Also, when you push your integration to production, go back and update your preview URL to your production URL so now anyone on your team can visuall create content in your Qwik app!
|
|
14
|
+
|
|
15
|
+
Also, to integrate structured data, see [this guide](https://www.builder.io/c/docs/integrate-cms-data)
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"name": "qwik-site-with-visual-cms",
|
|
3
3
|
"description": "Site integrated with Builder.io for visual editing",
|
|
4
4
|
"devDependencies": {
|
|
5
|
-
"@builder.io/dev-tools": "^0.0.
|
|
6
|
-
"@builder.io/sdk-qwik": "^0.
|
|
5
|
+
"@builder.io/dev-tools": "^0.0.7",
|
|
6
|
+
"@builder.io/sdk-qwik": "^0.4.1"
|
|
7
7
|
},
|
|
8
8
|
"type": "module",
|
|
9
9
|
"__qwik__": {
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import type { RegisteredComponent } from
|
|
2
|
-
import Counter from
|
|
1
|
+
import type { RegisteredComponent } from "@builder.io/sdk-qwik";
|
|
2
|
+
import Counter from "./counter/counter";
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* This array is used to integrate custom components within Builder.
|
|
6
|
+
* https://www.builder.io/c/docs/custom-components-intro
|
|
7
|
+
*
|
|
8
|
+
* These components will be found the "Custom Components"
|
|
9
|
+
* section of Builder's visual editor.
|
|
10
|
+
* You can also turn on "components only mode" to limit
|
|
11
|
+
* editing to only these components.
|
|
12
|
+
* https://www.builder.io/c/docs/guides/components-only-mode
|
|
13
|
+
*/
|
|
4
14
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
5
15
|
{
|
|
6
16
|
component: Counter,
|
|
7
|
-
name:
|
|
17
|
+
name: "Counter",
|
|
8
18
|
inputs: [
|
|
9
19
|
{
|
|
10
|
-
name:
|
|
11
|
-
type:
|
|
20
|
+
name: "initialValue",
|
|
21
|
+
type: "number",
|
|
12
22
|
},
|
|
13
23
|
],
|
|
14
24
|
},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { component$, useSignal, $ } from
|
|
2
|
-
import styles from
|
|
3
|
-
import Gauge from
|
|
1
|
+
import { component$, useSignal, $ } from "@builder.io/qwik";
|
|
2
|
+
import styles from "./counter.module.css";
|
|
3
|
+
import Gauge from "../gauge";
|
|
4
4
|
|
|
5
5
|
export default component$((props: { initialValue: number }) => {
|
|
6
|
-
const count = useSignal(props.initialValue);
|
|
6
|
+
const count = useSignal(props.initialValue || 99);
|
|
7
7
|
|
|
8
8
|
const setCount = $((newValue: number) => {
|
|
9
9
|
if (newValue >= 0 && newValue <= 100) {
|
|
@@ -35,7 +35,7 @@ export const celebrate = $(async () => {
|
|
|
35
35
|
gravity: 0,
|
|
36
36
|
decay: 0.95,
|
|
37
37
|
startVelocity: 30,
|
|
38
|
-
colors: [
|
|
38
|
+
colors: ["006ce9", "ac7ff4", "18b6f6", "713fc2", "ffffff"],
|
|
39
39
|
origin: {
|
|
40
40
|
x: 0.5,
|
|
41
41
|
y: 0.35,
|
|
@@ -47,9 +47,9 @@ export const celebrate = $(async () => {
|
|
|
47
47
|
if ((globalThis as any).confetti) {
|
|
48
48
|
return resolve((globalThis as any).confetti as any);
|
|
49
49
|
}
|
|
50
|
-
const script = document.createElement(
|
|
50
|
+
const script = document.createElement("script");
|
|
51
51
|
script.src =
|
|
52
|
-
|
|
52
|
+
"https://cdn.jsdelivr.net/npm/canvas-confetti@1.5.1/dist/confetti.browser.min.js";
|
|
53
53
|
script.onload = () => resolve((globalThis as any).confetti as any);
|
|
54
54
|
script.onerror = reject;
|
|
55
55
|
document.head.appendChild(script);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import styles from
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import styles from "./gauge.module.css";
|
|
3
3
|
|
|
4
4
|
export default component$(({ value = 50 }: { value?: number }) => {
|
|
5
5
|
const safeValue = value < 0 || value > 100 ? 50 : value;
|
|
@@ -13,7 +13,13 @@ export default component$(({ value = 50 }: { value?: number }) => {
|
|
|
13
13
|
<stop offset="1000%" stop-color="#AC7FF4" />
|
|
14
14
|
</linearGradient>
|
|
15
15
|
</defs>
|
|
16
|
-
<circle
|
|
16
|
+
<circle
|
|
17
|
+
r="56"
|
|
18
|
+
cx="60"
|
|
19
|
+
cy="60"
|
|
20
|
+
stroke-width="8"
|
|
21
|
+
style="fill: #000; stroke: #0000"
|
|
22
|
+
/>
|
|
17
23
|
<circle
|
|
18
24
|
r="56"
|
|
19
25
|
cx="60"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import { QwikLogo } from
|
|
3
|
-
import styles from
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import { QwikLogo } from "../icons/qwik";
|
|
3
|
+
import styles from "./header.module.css";
|
|
4
4
|
|
|
5
5
|
export default component$(() => {
|
|
6
6
|
return (
|
|
@@ -13,17 +13,26 @@ export default component$(() => {
|
|
|
13
13
|
</div>
|
|
14
14
|
<ul>
|
|
15
15
|
<li>
|
|
16
|
-
<a
|
|
16
|
+
<a
|
|
17
|
+
href="https://qwik.builder.io/docs/components/overview/"
|
|
18
|
+
target="_blank"
|
|
19
|
+
>
|
|
17
20
|
Docs
|
|
18
21
|
</a>
|
|
19
22
|
</li>
|
|
20
23
|
<li>
|
|
21
|
-
<a
|
|
24
|
+
<a
|
|
25
|
+
href="https://qwik.builder.io/examples/introduction/hello-world/"
|
|
26
|
+
target="_blank"
|
|
27
|
+
>
|
|
22
28
|
Examples
|
|
23
29
|
</a>
|
|
24
30
|
</li>
|
|
25
31
|
<li>
|
|
26
|
-
<a
|
|
32
|
+
<a
|
|
33
|
+
href="https://qwik.builder.io/tutorial/welcome/overview/"
|
|
34
|
+
target="_blank"
|
|
35
|
+
>
|
|
27
36
|
Tutorials
|
|
28
37
|
</a>
|
|
29
38
|
</li>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { component$ } from
|
|
2
|
-
import { useDocumentHead, useLocation } from
|
|
1
|
+
import { component$ } from "@builder.io/qwik";
|
|
2
|
+
import { useDocumentHead, useLocation } from "@builder.io/qwik-city";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The RouterHead component is placed inside of the document `<head>` element.
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* - More code is transferred to the browser than in SSR mode.
|
|
10
10
|
* - Optimizer/Serialization/Deserialization code is not exercised!
|
|
11
11
|
*/
|
|
12
|
-
import { render, type RenderOptions } from
|
|
13
|
-
import Root from
|
|
12
|
+
import { render, type RenderOptions } from "@builder.io/qwik";
|
|
13
|
+
import Root from "./root";
|
|
14
14
|
|
|
15
15
|
export default function (opts: RenderOptions) {
|
|
16
16
|
return render(document, <Root />, opts);
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
* - https://vitejs.dev/config/preview-options.html#preview-options
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
|
-
import { createQwikCity } from
|
|
14
|
-
import qwikCityPlan from
|
|
15
|
-
import render from
|
|
13
|
+
import { createQwikCity } from "@builder.io/qwik-city/middleware/node";
|
|
14
|
+
import qwikCityPlan from "@qwik-city-plan";
|
|
15
|
+
import render from "./entry.ssr";
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* The default export is the QwikCity adapter used by Vite preview.
|
|
@@ -10,9 +10,12 @@
|
|
|
10
10
|
* - npm run build
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
import {
|
|
14
|
+
renderToStream,
|
|
15
|
+
type RenderToStreamOptions,
|
|
16
|
+
} from "@builder.io/qwik/server";
|
|
17
|
+
import { manifest } from "@qwik-client-manifest";
|
|
18
|
+
import Root from "./root";
|
|
16
19
|
|
|
17
20
|
export default function (opts: RenderToStreamOptions) {
|
|
18
21
|
return renderToStream(<Root />, {
|
|
@@ -20,7 +23,7 @@ export default function (opts: RenderToStreamOptions) {
|
|
|
20
23
|
...opts,
|
|
21
24
|
// Use container attributes to set attributes on the html tag.
|
|
22
25
|
containerAttributes: {
|
|
23
|
-
lang:
|
|
26
|
+
lang: "en-us",
|
|
24
27
|
...opts.containerAttributes,
|
|
25
28
|
},
|
|
26
29
|
});
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
|
|
22
22
|
/* SHELL ---------------------------------------- */
|
|
23
23
|
html {
|
|
24
|
-
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
25
|
+
"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
|
|
26
|
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
27
27
|
background: var(--footer-background);
|
|
28
28
|
}
|
|
29
29
|
|