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.
Files changed (119) hide show
  1. jac_client/examples/all-in-one/{src/button.jac → button.jac} +4 -3
  2. jac_client/examples/all-in-one/components/CategoryFilter.jac +47 -0
  3. jac_client/examples/all-in-one/components/Header.jac +17 -0
  4. jac_client/examples/all-in-one/components/ProfitOverview.jac +64 -0
  5. jac_client/examples/all-in-one/components/Summary.jac +76 -0
  6. jac_client/examples/all-in-one/components/TransactionForm.jac +188 -0
  7. jac_client/examples/all-in-one/components/TransactionItem.jac +62 -0
  8. jac_client/examples/all-in-one/components/TransactionList.jac +44 -0
  9. jac_client/examples/all-in-one/components/button.jac +8 -0
  10. jac_client/examples/all-in-one/components/navigation.jac +126 -0
  11. jac_client/examples/all-in-one/constants/categories.jac +36 -0
  12. jac_client/examples/all-in-one/constants/clients.jac +12 -0
  13. jac_client/examples/all-in-one/context/BudgetContext.jac +31 -0
  14. jac_client/examples/all-in-one/hooks/useBudget.jac +122 -0
  15. jac_client/examples/all-in-one/hooks/useLocalStorage.jac +37 -0
  16. jac_client/examples/all-in-one/main.jac +542 -0
  17. jac_client/examples/all-in-one/pages/BudgetPlanner.jac +140 -0
  18. jac_client/examples/all-in-one/pages/FeaturesTest.jac +157 -0
  19. jac_client/examples/all-in-one/pages/LandingPage.jac +124 -0
  20. jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac +65 -0
  21. jac_client/examples/all-in-one/pages/features_test_ui.cl.jac +675 -0
  22. jac_client/examples/all-in-one/pages/loginPage.jac +127 -0
  23. jac_client/examples/all-in-one/pages/nestedDemo.jac +54 -0
  24. jac_client/examples/all-in-one/pages/notFound.jac +18 -0
  25. jac_client/examples/all-in-one/pages/signupPage.jac +127 -0
  26. jac_client/examples/all-in-one/utils/formatters.jac +49 -0
  27. jac_client/examples/asset-serving/css-with-image/main.jac +92 -0
  28. jac_client/examples/asset-serving/image-asset/main.jac +56 -0
  29. jac_client/examples/asset-serving/import-alias/main.jac +109 -0
  30. jac_client/examples/basic/main.jac +23 -0
  31. jac_client/examples/basic-auth/main.jac +363 -0
  32. jac_client/examples/basic-auth-with-router/main.jac +451 -0
  33. jac_client/examples/basic-full-stack/main.jac +362 -0
  34. jac_client/examples/css-styling/js-styling/main.jac +63 -0
  35. jac_client/examples/css-styling/material-ui/main.jac +122 -0
  36. jac_client/examples/css-styling/pure-css/main.jac +55 -0
  37. jac_client/examples/css-styling/sass-example/main.jac +55 -0
  38. jac_client/examples/css-styling/styled-components/main.jac +62 -0
  39. jac_client/examples/css-styling/tailwind-example/main.jac +74 -0
  40. jac_client/examples/full-stack-with-auth/main.jac +696 -0
  41. jac_client/examples/little-x/main.jac +681 -0
  42. jac_client/examples/little-x/src/submit-button.jac +15 -14
  43. jac_client/examples/nested-folders/nested-advance/main.jac +26 -0
  44. jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac +4 -6
  45. jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac +9 -13
  46. jac_client/examples/nested-folders/nested-advance/src/level1/Card.jac +29 -32
  47. jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac +12 -18
  48. jac_client/examples/nested-folders/nested-basic/{src/app.jac → main.jac} +7 -5
  49. jac_client/examples/nested-folders/nested-basic/src/button.jac +4 -3
  50. jac_client/examples/nested-folders/nested-basic/src/components/button.jac +4 -3
  51. jac_client/examples/ts-support/main.jac +35 -0
  52. jac_client/examples/with-router/main.jac +286 -0
  53. jac_client/plugin/cli.jac +507 -470
  54. jac_client/plugin/client.jac +30 -12
  55. jac_client/plugin/client_runtime.cl.jac +25 -15
  56. jac_client/plugin/impl/client.impl.jac +126 -26
  57. jac_client/plugin/impl/client_runtime.impl.jac +182 -10
  58. jac_client/plugin/plugin_config.jac +216 -34
  59. jac_client/plugin/src/__init__.jac +0 -2
  60. jac_client/plugin/src/compiler.jac +2 -2
  61. jac_client/plugin/src/config_loader.jac +1 -0
  62. jac_client/plugin/src/desktop_config.jac +31 -0
  63. jac_client/plugin/src/impl/compiler.impl.jac +99 -30
  64. jac_client/plugin/src/impl/config_loader.impl.jac +8 -0
  65. jac_client/plugin/src/impl/desktop_config.impl.jac +191 -0
  66. jac_client/plugin/src/impl/jac_to_js.impl.jac +5 -1
  67. jac_client/plugin/src/impl/package_installer.impl.jac +20 -20
  68. jac_client/plugin/src/impl/vite_bundler.impl.jac +384 -144
  69. jac_client/plugin/src/package_installer.jac +1 -1
  70. jac_client/plugin/src/targets/desktop/sidecar/main.py +144 -0
  71. jac_client/plugin/src/targets/desktop_target.jac +37 -0
  72. jac_client/plugin/src/targets/impl/desktop_target.impl.jac +2347 -0
  73. jac_client/plugin/src/targets/impl/registry.impl.jac +64 -0
  74. jac_client/plugin/src/targets/impl/web_target.impl.jac +157 -0
  75. jac_client/plugin/src/targets/register.jac +21 -0
  76. jac_client/plugin/src/targets/registry.jac +87 -0
  77. jac_client/plugin/src/targets/web_target.jac +35 -0
  78. jac_client/plugin/src/vite_bundler.jac +15 -1
  79. jac_client/plugin/utils/__init__.jac +3 -0
  80. jac_client/plugin/utils/bun_installer.jac +16 -0
  81. jac_client/plugin/utils/impl/bun_installer.impl.jac +99 -0
  82. jac_client/templates/client.jacpack +72 -0
  83. jac_client/templates/fullstack.jacpack +61 -0
  84. jac_client/tests/conftest.py +110 -52
  85. jac_client/tests/fixtures/spawn_test/app.jac +64 -70
  86. jac_client/tests/fixtures/with-ts/app.jac +28 -28
  87. jac_client/tests/test_cli.py +280 -113
  88. jac_client/tests/test_e2e.py +232 -0
  89. jac_client/tests/test_helpers.py +58 -0
  90. jac_client/tests/test_it.py +325 -154
  91. jac_client/tests/test_it_desktop.py +891 -0
  92. {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/METADATA +20 -11
  93. jac_client-0.2.11.dist-info/RECORD +113 -0
  94. {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/WHEEL +1 -1
  95. jac_client/examples/all-in-one/src/app.jac +0 -841
  96. jac_client/examples/all-in-one/src/components/button.jac +0 -7
  97. jac_client/examples/asset-serving/css-with-image/src/app.jac +0 -88
  98. jac_client/examples/asset-serving/image-asset/src/app.jac +0 -55
  99. jac_client/examples/asset-serving/import-alias/src/app.jac +0 -111
  100. jac_client/examples/basic/src/app.jac +0 -21
  101. jac_client/examples/basic-auth/src/app.jac +0 -377
  102. jac_client/examples/basic-auth-with-router/src/app.jac +0 -464
  103. jac_client/examples/basic-full-stack/src/app.jac +0 -365
  104. jac_client/examples/css-styling/js-styling/src/app.jac +0 -84
  105. jac_client/examples/css-styling/material-ui/src/app.jac +0 -122
  106. jac_client/examples/css-styling/pure-css/src/app.jac +0 -64
  107. jac_client/examples/css-styling/sass-example/src/app.jac +0 -64
  108. jac_client/examples/css-styling/styled-components/src/app.jac +0 -71
  109. jac_client/examples/css-styling/tailwind-example/src/app.jac +0 -63
  110. jac_client/examples/full-stack-with-auth/src/app.jac +0 -722
  111. jac_client/examples/little-x/src/app.jac +0 -719
  112. jac_client/examples/nested-folders/nested-advance/src/app.jac +0 -35
  113. jac_client/examples/ts-support/src/app.jac +0 -35
  114. jac_client/examples/with-router/src/app.jac +0 -323
  115. jac_client/plugin/src/babel_processor.jac +0 -18
  116. jac_client/plugin/src/impl/babel_processor.impl.jac +0 -84
  117. jac_client-0.2.6.dist-info/RECORD +0 -74
  118. {jac_client-0.2.6.dist-info → jac_client-0.2.11.dist-info}/entry_points.txt +0 -0
  119. {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
- }