jac-client 0.2.6__py3-none-any.whl → 0.2.11__py3-none-any.whl
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.
- jac_client/examples/all-in-one/{src/button.jac → button.jac} +4 -3
- jac_client/examples/all-in-one/components/CategoryFilter.jac +47 -0
- jac_client/examples/all-in-one/components/Header.jac +17 -0
- jac_client/examples/all-in-one/components/ProfitOverview.jac +64 -0
- jac_client/examples/all-in-one/components/Summary.jac +76 -0
- jac_client/examples/all-in-one/components/TransactionForm.jac +188 -0
- jac_client/examples/all-in-one/components/TransactionItem.jac +62 -0
- jac_client/examples/all-in-one/components/TransactionList.jac +44 -0
- jac_client/examples/all-in-one/components/button.jac +8 -0
- jac_client/examples/all-in-one/components/navigation.jac +126 -0
- jac_client/examples/all-in-one/constants/categories.jac +36 -0
- jac_client/examples/all-in-one/constants/clients.jac +12 -0
- jac_client/examples/all-in-one/context/BudgetContext.jac +31 -0
- jac_client/examples/all-in-one/hooks/useBudget.jac +122 -0
- jac_client/examples/all-in-one/hooks/useLocalStorage.jac +37 -0
- jac_client/examples/all-in-one/main.jac +542 -0
- jac_client/examples/all-in-one/pages/BudgetPlanner.jac +140 -0
- jac_client/examples/all-in-one/pages/FeaturesTest.jac +157 -0
- jac_client/examples/all-in-one/pages/LandingPage.jac +124 -0
- jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac +65 -0
- jac_client/examples/all-in-one/pages/features_test_ui.cl.jac +675 -0
- jac_client/examples/all-in-one/pages/loginPage.jac +127 -0
- jac_client/examples/all-in-one/pages/nestedDemo.jac +54 -0
- jac_client/examples/all-in-one/pages/notFound.jac +18 -0
- jac_client/examples/all-in-one/pages/signupPage.jac +127 -0
- jac_client/examples/all-in-one/utils/formatters.jac +49 -0
- jac_client/examples/asset-serving/css-with-image/main.jac +92 -0
- jac_client/examples/asset-serving/image-asset/main.jac +56 -0
- jac_client/examples/asset-serving/import-alias/main.jac +109 -0
- jac_client/examples/basic/main.jac +23 -0
- jac_client/examples/basic-auth/main.jac +363 -0
- jac_client/examples/basic-auth-with-router/main.jac +451 -0
- jac_client/examples/basic-full-stack/main.jac +362 -0
- jac_client/examples/css-styling/js-styling/main.jac +63 -0
- jac_client/examples/css-styling/material-ui/main.jac +122 -0
- jac_client/examples/css-styling/pure-css/main.jac +55 -0
- jac_client/examples/css-styling/sass-example/main.jac +55 -0
- jac_client/examples/css-styling/styled-components/main.jac +62 -0
- jac_client/examples/css-styling/tailwind-example/main.jac +74 -0
- jac_client/examples/full-stack-with-auth/main.jac +696 -0
- jac_client/examples/little-x/main.jac +681 -0
- jac_client/examples/little-x/src/submit-button.jac +15 -14
- jac_client/examples/nested-folders/nested-advance/main.jac +26 -0
- jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac +4 -6
- jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac +9 -13
- jac_client/examples/nested-folders/nested-advance/src/level1/Card.jac +29 -32
- jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac +12 -18
- jac_client/examples/nested-folders/nested-basic/{src/app.jac → main.jac} +7 -5
- jac_client/examples/nested-folders/nested-basic/src/button.jac +4 -3
- jac_client/examples/nested-folders/nested-basic/src/components/button.jac +4 -3
- jac_client/examples/ts-support/main.jac +35 -0
- jac_client/examples/with-router/main.jac +286 -0
- jac_client/plugin/cli.jac +507 -470
- jac_client/plugin/client.jac +30 -12
- jac_client/plugin/client_runtime.cl.jac +25 -15
- jac_client/plugin/impl/client.impl.jac +126 -26
- jac_client/plugin/impl/client_runtime.impl.jac +182 -10
- jac_client/plugin/plugin_config.jac +216 -34
- jac_client/plugin/src/__init__.jac +0 -2
- jac_client/plugin/src/compiler.jac +2 -2
- jac_client/plugin/src/config_loader.jac +1 -0
- jac_client/plugin/src/desktop_config.jac +31 -0
- jac_client/plugin/src/impl/compiler.impl.jac +99 -30
- jac_client/plugin/src/impl/config_loader.impl.jac +8 -0
- jac_client/plugin/src/impl/desktop_config.impl.jac +191 -0
- jac_client/plugin/src/impl/jac_to_js.impl.jac +5 -1
- jac_client/plugin/src/impl/package_installer.impl.jac +20 -20
- jac_client/plugin/src/impl/vite_bundler.impl.jac +384 -144
- jac_client/plugin/src/package_installer.jac +1 -1
- jac_client/plugin/src/targets/desktop/sidecar/main.py +144 -0
- jac_client/plugin/src/targets/desktop_target.jac +37 -0
- jac_client/plugin/src/targets/impl/desktop_target.impl.jac +2347 -0
- jac_client/plugin/src/targets/impl/registry.impl.jac +64 -0
- jac_client/plugin/src/targets/impl/web_target.impl.jac +157 -0
- jac_client/plugin/src/targets/register.jac +21 -0
- jac_client/plugin/src/targets/registry.jac +87 -0
- jac_client/plugin/src/targets/web_target.jac +35 -0
- jac_client/plugin/src/vite_bundler.jac +15 -1
- jac_client/plugin/utils/__init__.jac +3 -0
- jac_client/plugin/utils/bun_installer.jac +16 -0
- jac_client/plugin/utils/impl/bun_installer.impl.jac +99 -0
- jac_client/templates/client.jacpack +72 -0
- jac_client/templates/fullstack.jacpack +61 -0
- jac_client/tests/conftest.py +110 -52
- jac_client/tests/fixtures/spawn_test/app.jac +64 -70
- jac_client/tests/fixtures/with-ts/app.jac +28 -28
- jac_client/tests/test_cli.py +280 -113
- jac_client/tests/test_e2e.py +232 -0
- jac_client/tests/test_helpers.py +58 -0
- jac_client/tests/test_it.py +325 -154
- jac_client/tests/test_it_desktop.py +891 -0
- {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/METADATA +20 -11
- jac_client-0.2.11.dist-info/RECORD +113 -0
- {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/WHEEL +1 -1
- jac_client/examples/all-in-one/src/app.jac +0 -841
- jac_client/examples/all-in-one/src/components/button.jac +0 -7
- jac_client/examples/asset-serving/css-with-image/src/app.jac +0 -88
- jac_client/examples/asset-serving/image-asset/src/app.jac +0 -55
- jac_client/examples/asset-serving/import-alias/src/app.jac +0 -111
- jac_client/examples/basic/src/app.jac +0 -21
- jac_client/examples/basic-auth/src/app.jac +0 -377
- jac_client/examples/basic-auth-with-router/src/app.jac +0 -464
- jac_client/examples/basic-full-stack/src/app.jac +0 -365
- jac_client/examples/css-styling/js-styling/src/app.jac +0 -84
- jac_client/examples/css-styling/material-ui/src/app.jac +0 -122
- jac_client/examples/css-styling/pure-css/src/app.jac +0 -64
- jac_client/examples/css-styling/sass-example/src/app.jac +0 -64
- jac_client/examples/css-styling/styled-components/src/app.jac +0 -71
- jac_client/examples/css-styling/tailwind-example/src/app.jac +0 -63
- jac_client/examples/full-stack-with-auth/src/app.jac +0 -722
- jac_client/examples/little-x/src/app.jac +0 -719
- jac_client/examples/nested-folders/nested-advance/src/app.jac +0 -35
- jac_client/examples/ts-support/src/app.jac +0 -35
- jac_client/examples/with-router/src/app.jac +0 -323
- jac_client/plugin/src/babel_processor.jac +0 -18
- jac_client/plugin/src/impl/babel_processor.impl.jac +0 -84
- jac_client-0.2.6.dist-info/RECORD +0 -74
- {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/entry_points.txt +0 -0
- {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/top_level.txt +0 -0
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Pages
|
|
2
|
-
cl import from react { useState, useEffect }
|
|
3
|
-
cl import ".styles.scss";
|
|
4
|
-
|
|
5
|
-
cl {
|
|
6
|
-
def:pub app -> any {
|
|
7
|
-
[count, setCount] = useState(0);
|
|
8
|
-
|
|
9
|
-
useEffect(lambda -> None{ console.log("Count changed: ", count);} , [count]);
|
|
10
|
-
|
|
11
|
-
handleIncrement = lambda e: any -> None{ setCount(count + 1);} ;
|
|
12
|
-
|
|
13
|
-
handleDecrement = lambda e: any -> None{ setCount(count - 1);} ;
|
|
14
|
-
|
|
15
|
-
handleReset = lambda e: any -> None{ setCount(0);} ;
|
|
16
|
-
|
|
17
|
-
countClass = "countDisplay " + (
|
|
18
|
-
"positive" if count > 0 else "negative" if count < 0 else "zero"
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
return <div className="container">
|
|
22
|
-
<div className="card">
|
|
23
|
-
<h1 className="title">
|
|
24
|
-
Counter Application
|
|
25
|
-
</h1>
|
|
26
|
-
<div className="divider"></div>
|
|
27
|
-
<div className="counterSection">
|
|
28
|
-
<div className="label">
|
|
29
|
-
Current Count
|
|
30
|
-
</div>
|
|
31
|
-
<div
|
|
32
|
-
className={countClass}
|
|
33
|
-
>
|
|
34
|
-
{count}
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
<div className="divider"></div>
|
|
38
|
-
<div className="buttonGroup">
|
|
39
|
-
<button
|
|
40
|
-
className="btn btnDecrement"
|
|
41
|
-
onClick={handleDecrement}
|
|
42
|
-
>
|
|
43
|
-
-
|
|
44
|
-
</button>
|
|
45
|
-
<button
|
|
46
|
-
className="btn btnReset"
|
|
47
|
-
onClick={handleReset}
|
|
48
|
-
>
|
|
49
|
-
↻
|
|
50
|
-
</button>
|
|
51
|
-
<button
|
|
52
|
-
className="btn btnIncrement"
|
|
53
|
-
onClick={handleIncrement}
|
|
54
|
-
>
|
|
55
|
-
+
|
|
56
|
-
</button>
|
|
57
|
-
</div>
|
|
58
|
-
<div className="hint">
|
|
59
|
-
Click the buttons to increment, decrement, or reset the counter
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</div>;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Pages
|
|
2
|
-
cl import from react { useState, useEffect }
|
|
3
|
-
cl import from .styled {
|
|
4
|
-
Container,
|
|
5
|
-
Card,
|
|
6
|
-
Title,
|
|
7
|
-
Divider,
|
|
8
|
-
CounterSection,
|
|
9
|
-
Label,
|
|
10
|
-
CountDisplay,
|
|
11
|
-
ButtonGroup,
|
|
12
|
-
Button,
|
|
13
|
-
Hint
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
cl {
|
|
17
|
-
def:pub app -> any {
|
|
18
|
-
[count, setCount] = useState(0);
|
|
19
|
-
|
|
20
|
-
useEffect(lambda -> None{ console.log("Count changed: ", count);} , [count]);
|
|
21
|
-
|
|
22
|
-
handleIncrement = lambda e: any -> None{ setCount(count + 1);} ;
|
|
23
|
-
|
|
24
|
-
handleDecrement = lambda e: any -> None{ setCount(count - 1);} ;
|
|
25
|
-
|
|
26
|
-
handleReset = lambda e: any -> None{ setCount(0);} ;
|
|
27
|
-
|
|
28
|
-
return <Container>
|
|
29
|
-
<Card>
|
|
30
|
-
<Title>
|
|
31
|
-
Counter Application
|
|
32
|
-
</Title>
|
|
33
|
-
<Divider></Divider>
|
|
34
|
-
<CounterSection>
|
|
35
|
-
<Label>
|
|
36
|
-
Current Count
|
|
37
|
-
</Label>
|
|
38
|
-
<CountDisplay
|
|
39
|
-
count={count}
|
|
40
|
-
>
|
|
41
|
-
{count}
|
|
42
|
-
</CountDisplay>
|
|
43
|
-
</CounterSection>
|
|
44
|
-
<Divider></Divider>
|
|
45
|
-
<ButtonGroup>
|
|
46
|
-
<Button
|
|
47
|
-
bgColor="#ef4444"
|
|
48
|
-
onClick={handleDecrement}
|
|
49
|
-
>
|
|
50
|
-
-
|
|
51
|
-
</Button>
|
|
52
|
-
<Button
|
|
53
|
-
bgColor="#6b7280"
|
|
54
|
-
onClick={handleReset}
|
|
55
|
-
>
|
|
56
|
-
↻
|
|
57
|
-
</Button>
|
|
58
|
-
<Button
|
|
59
|
-
bgColor="#22c55e"
|
|
60
|
-
onClick={handleIncrement}
|
|
61
|
-
>
|
|
62
|
-
+
|
|
63
|
-
</Button>
|
|
64
|
-
</ButtonGroup>
|
|
65
|
-
<Hint>
|
|
66
|
-
Click the buttons to increment, decrement, or reset the counter
|
|
67
|
-
</Hint>
|
|
68
|
-
</Card>
|
|
69
|
-
</Container>;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Pages
|
|
2
|
-
cl import from react { useState, useEffect }
|
|
3
|
-
cl import ".global.css";
|
|
4
|
-
cl {
|
|
5
|
-
def:pub app -> any {
|
|
6
|
-
[count, setCount] = useState(0);
|
|
7
|
-
|
|
8
|
-
useEffect(lambda -> None{ console.log("Count changed: ", count);} , [count]);
|
|
9
|
-
|
|
10
|
-
handleIncrement = lambda e: any -> None{ setCount(count + 1);} ;
|
|
11
|
-
|
|
12
|
-
handleDecrement = lambda e: any -> None{ setCount(count - 1);} ;
|
|
13
|
-
|
|
14
|
-
handleReset = lambda e: any -> None{ setCount(0);} ;
|
|
15
|
-
|
|
16
|
-
countColorClass = "text-gray-800"
|
|
17
|
-
if count == 0
|
|
18
|
-
else ("text-green-600" if count > 0 else "text-red-600");
|
|
19
|
-
|
|
20
|
-
return <div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100 flex items-center justify-center p-4">
|
|
21
|
-
<div className="bg-white rounded-2xl shadow-2xl p-8 max-w-md w-full">
|
|
22
|
-
<h1 className="text-3xl font-bold text-gray-800 text-center mb-6">
|
|
23
|
-
Counter Application
|
|
24
|
-
</h1>
|
|
25
|
-
<div className="h-px bg-gradient-to-r from-transparent via-gray-300 to-transparent mb-6"></div>
|
|
26
|
-
<div className="text-center mb-8">
|
|
27
|
-
<div className="text-sm font-semibold text-gray-600 mb-2 uppercase tracking-wide">
|
|
28
|
-
Current Count
|
|
29
|
-
</div>
|
|
30
|
-
<div
|
|
31
|
-
className={"text-6xl font-bold " + countColorClass + " transition-colors duration-300"}
|
|
32
|
-
>
|
|
33
|
-
{count}
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
<div className="h-px bg-gradient-to-r from-transparent via-gray-300 to-transparent mb-6"></div>
|
|
37
|
-
<div className="flex justify-center items-center gap-4 mb-6">
|
|
38
|
-
<button
|
|
39
|
-
className="bg-red-500 hover:bg-red-600 text-white font-bold py-3 px-6 rounded-lg shadow-lg transition-all duration-200 transform hover:scale-105 active:scale-95 text-xl"
|
|
40
|
-
onClick={handleDecrement}
|
|
41
|
-
>
|
|
42
|
-
-
|
|
43
|
-
</button>
|
|
44
|
-
<button
|
|
45
|
-
className="bg-gray-500 hover:bg-gray-600 text-white font-bold py-3 px-6 rounded-lg shadow-lg transition-all duration-200 transform hover:scale-105 active:scale-95 text-xl"
|
|
46
|
-
onClick={handleReset}
|
|
47
|
-
>
|
|
48
|
-
↻
|
|
49
|
-
</button>
|
|
50
|
-
<button
|
|
51
|
-
className="bg-green-500 hover:bg-green-600 text-white font-bold py-3 px-6 rounded-lg shadow-lg transition-all duration-200 transform hover:scale-105 active:scale-95 text-xl"
|
|
52
|
-
onClick={handleIncrement}
|
|
53
|
-
>
|
|
54
|
-
+
|
|
55
|
-
</button>
|
|
56
|
-
</div>
|
|
57
|
-
<div className="text-center text-sm text-gray-500 italic">
|
|
58
|
-
Click the buttons to increment, decrement, or reset the counter
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</div>;
|
|
62
|
-
}
|
|
63
|
-
}
|