gaesup-world 0.0.1

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 (146) hide show
  1. package/README.md +51 -0
  2. package/index.html +13 -0
  3. package/package.json +82 -0
  4. package/src/gaesup/animation/actions.ts +123 -0
  5. package/src/gaesup/camera/cameraCollisionDetecter.tsx +53 -0
  6. package/src/gaesup/camera/control/map.ts +10 -0
  7. package/src/gaesup/camera/control/normal copy.ts +19 -0
  8. package/src/gaesup/camera/control/normal.ts +15 -0
  9. package/src/gaesup/camera/control/orbit.ts +31 -0
  10. package/src/gaesup/camera/index.tsx +102 -0
  11. package/src/gaesup/camera/type.ts +17 -0
  12. package/src/gaesup/component/Airplane.tsx +46 -0
  13. package/src/gaesup/component/Character.tsx +48 -0
  14. package/src/gaesup/component/Vehicle.tsx +40 -0
  15. package/src/gaesup/component/gltf/AirplaneGltf.tsx +31 -0
  16. package/src/gaesup/component/gltf/CharacterGltf.tsx +81 -0
  17. package/src/gaesup/component/gltf/VehicleGltf.tsx +31 -0
  18. package/src/gaesup/component/gltf/WheelJoint.tsx +39 -0
  19. package/src/gaesup/component/gltf/type.ts +6 -0
  20. package/src/gaesup/component/ref/airplane.tsx +83 -0
  21. package/src/gaesup/component/ref/character.tsx +132 -0
  22. package/src/gaesup/component/ref/vehicle.tsx +145 -0
  23. package/src/gaesup/controller/index.tsx +103 -0
  24. package/src/gaesup/controller/type.ts +139 -0
  25. package/src/gaesup/gaesupProps/index.tsx +66 -0
  26. package/src/gaesup/initial/callback/index.ts +73 -0
  27. package/src/gaesup/initial/callback/type.ts +45 -0
  28. package/src/gaesup/initial/controller/index.ts +143 -0
  29. package/src/gaesup/initial/controller/initDebug.ts +102 -0
  30. package/src/gaesup/initial/gaesupWorld/collider/airplane.ts +26 -0
  31. package/src/gaesup/initial/gaesupWorld/collider/character.ts +32 -0
  32. package/src/gaesup/initial/gaesupWorld/collider/gltf.ts +91 -0
  33. package/src/gaesup/initial/gaesupWorld/collider/index.ts +26 -0
  34. package/src/gaesup/initial/gaesupWorld/collider/vehicle.ts +43 -0
  35. package/src/gaesup/initial/gaesupWorld/index.ts +82 -0
  36. package/src/gaesup/initial/gaesupWorld/type.ts +37 -0
  37. package/src/gaesup/physics/airplane/currentSetting.ts +20 -0
  38. package/src/gaesup/physics/airplane/damping.ts +8 -0
  39. package/src/gaesup/physics/airplane/direction.ts +70 -0
  40. package/src/gaesup/physics/airplane/gravity.ts +11 -0
  41. package/src/gaesup/physics/airplane/impulse.ts +22 -0
  42. package/src/gaesup/physics/airplane/index.tsx +16 -0
  43. package/src/gaesup/physics/airplane/turn.ts +12 -0
  44. package/src/gaesup/physics/airplane copy/currentSetting.ts +20 -0
  45. package/src/gaesup/physics/airplane copy/direction.ts +52 -0
  46. package/src/gaesup/physics/airplane copy/gravity.ts +6 -0
  47. package/src/gaesup/physics/airplane copy/impulse.ts +28 -0
  48. package/src/gaesup/physics/airplane copy/index.tsx +14 -0
  49. package/src/gaesup/physics/airplane copy/turn.ts +9 -0
  50. package/src/gaesup/physics/character/accelaration.ts +14 -0
  51. package/src/gaesup/physics/character/currentSetting.ts +20 -0
  52. package/src/gaesup/physics/character/damping.ts +6 -0
  53. package/src/gaesup/physics/character/direction.ts +104 -0
  54. package/src/gaesup/physics/character/impulse.ts +24 -0
  55. package/src/gaesup/physics/character/index.tsx +20 -0
  56. package/src/gaesup/physics/character/jump.ts +21 -0
  57. package/src/gaesup/physics/character/stabilizing.ts +6 -0
  58. package/src/gaesup/physics/character/turn.ts +17 -0
  59. package/src/gaesup/physics/check/ground.ts +19 -0
  60. package/src/gaesup/physics/check/index.ts +12 -0
  61. package/src/gaesup/physics/check/moving.ts +21 -0
  62. package/src/gaesup/physics/check/rotate.ts +13 -0
  63. package/src/gaesup/physics/check/slope.ts +50 -0
  64. package/src/gaesup/physics/index.ts +50 -0
  65. package/src/gaesup/physics/type.ts +35 -0
  66. package/src/gaesup/physics/vehicle/currentSetting.ts +20 -0
  67. package/src/gaesup/physics/vehicle/damping.ts +8 -0
  68. package/src/gaesup/physics/vehicle/direction.ts +27 -0
  69. package/src/gaesup/physics/vehicle/impulse.ts +22 -0
  70. package/src/gaesup/physics/vehicle/index.tsx +14 -0
  71. package/src/gaesup/physics/vehicle/turn.ts +11 -0
  72. package/src/gaesup/stores/active/index.ts +19 -0
  73. package/src/gaesup/stores/active/type.ts +16 -0
  74. package/src/gaesup/stores/airplane/index.ts +6 -0
  75. package/src/gaesup/stores/airplane/type.ts +4 -0
  76. package/src/gaesup/stores/animation/index.ts +18 -0
  77. package/src/gaesup/stores/animation/type.ts +9 -0
  78. package/src/gaesup/stores/collider/index.ts +55 -0
  79. package/src/gaesup/stores/context/controller/index.ts +36 -0
  80. package/src/gaesup/stores/context/controller/reducer.ts +18 -0
  81. package/src/gaesup/stores/context/controller/type.ts +38 -0
  82. package/src/gaesup/stores/context/gaesupworld/index.ts +11 -0
  83. package/src/gaesup/stores/context/gaesupworld/reducer.ts +21 -0
  84. package/src/gaesup/stores/context/gaesupworld/type.ts +66 -0
  85. package/src/gaesup/stores/control/index.ts +33 -0
  86. package/src/gaesup/stores/control/type.ts +11 -0
  87. package/src/gaesup/stores/joystick/index.ts +72 -0
  88. package/src/gaesup/stores/joystick/type.ts +23 -0
  89. package/src/gaesup/stores/minimap/index.ts +5 -0
  90. package/src/gaesup/stores/minimap/type.ts +22 -0
  91. package/src/gaesup/stores/point/type.ts +6 -0
  92. package/src/gaesup/stores/states/index.tsx +10 -0
  93. package/src/gaesup/stores/states/type.ts +10 -0
  94. package/src/gaesup/stores/url/index.ts +6 -0
  95. package/src/gaesup/stores/url/type.ts +6 -0
  96. package/src/gaesup/styles.css.ts +26 -0
  97. package/src/gaesup/tools/gameboy/GameBoyButton.tsx +38 -0
  98. package/src/gaesup/tools/gameboy/index.tsx +36 -0
  99. package/src/gaesup/tools/gameboy/style.css.ts +78 -0
  100. package/src/gaesup/tools/gamepad/GamePadButton.tsx +31 -0
  101. package/src/gaesup/tools/gamepad/index.tsx +55 -0
  102. package/src/gaesup/tools/gamepad/style.css.ts +16 -0
  103. package/src/gaesup/tools/index.tsx +61 -0
  104. package/src/gaesup/tools/joystick/index.tsx +145 -0
  105. package/src/gaesup/tools/joystick/style.css.ts +40 -0
  106. package/src/gaesup/tools/jumpPoint/index.tsx +27 -0
  107. package/src/gaesup/tools/jumpPoint/style.css.ts +33 -0
  108. package/src/gaesup/tools/keyBoardToolTip/constant.ts +144 -0
  109. package/src/gaesup/tools/keyBoardToolTip/index.tsx +85 -0
  110. package/src/gaesup/tools/keyBoardToolTip/style.css.ts +49 -0
  111. package/src/gaesup/tools/minimap/index.tsx +47 -0
  112. package/src/gaesup/tools/minimap/style.css.ts +144 -0
  113. package/src/gaesup/tools/style.css.ts +34 -0
  114. package/src/gaesup/utils/constant.ts +1 -0
  115. package/src/gaesup/utils/ray.ts +23 -0
  116. package/src/gaesup/utils/ref.ts +17 -0
  117. package/src/gaesup/utils/vector.ts +40 -0
  118. package/src/gaesup/world/index.tsx +17 -0
  119. package/src/gaesup/world/type.ts +10 -0
  120. package/src/styles/constants/boxshadow.css.ts +499 -0
  121. package/src/styles/constants/constant.css.ts +81 -0
  122. package/src/styles/constants/direction.css.ts +168 -0
  123. package/src/styles/constants/flex.css.ts +68 -0
  124. package/src/styles/constants/gradient.css.ts +10 -0
  125. package/src/styles/constants/grid.css.ts +37 -0
  126. package/src/styles/constants/palette.css.ts +324 -0
  127. package/src/styles/constants/translate.css.ts +129 -0
  128. package/src/styles/global.css.ts +91 -0
  129. package/src/styles/recipe/base.css.ts +31 -0
  130. package/src/styles/recipe/button.css.ts +109 -0
  131. package/src/styles/recipe/index.css.ts +134 -0
  132. package/src/styles/recipe/input.css.ts +33 -0
  133. package/src/styles/sprinkles/color.css.ts +62 -0
  134. package/src/styles/sprinkles/direction.css.ts +26 -0
  135. package/src/styles/sprinkles/display.css.ts +25 -0
  136. package/src/styles/sprinkles/fontSize.css.ts +25 -0
  137. package/src/styles/sprinkles/grid.css.ts +25 -0
  138. package/src/styles/sprinkles/index.css.ts +22 -0
  139. package/src/styles/sprinkles/margin.css.ts +30 -0
  140. package/src/styles/sprinkles/padding.css.ts +30 -0
  141. package/src/styles/sprinkles/position.css.ts +14 -0
  142. package/src/styles/sprinkles/size.css.ts +23 -0
  143. package/src/styles/theme.css.ts +98 -0
  144. package/tsconfig.json +27 -0
  145. package/tsconfig.node.json +10 -0
  146. package/vite.config.ts +9 -0
@@ -0,0 +1,129 @@
1
+ export const translate = {
2
+ center: {
3
+ transform: "translate(-50%, -50%)",
4
+ },
5
+ left: {
6
+ transform: "translate(-100%, -50%)",
7
+ },
8
+ right: {
9
+ transform: "translate(0, -50%)",
10
+ },
11
+ top: {
12
+ transform: "translate(-50%, -100%)",
13
+ },
14
+ bottom: {
15
+ transform: "translate(-50%, 0)",
16
+ },
17
+ top_left: {
18
+ transform: "translate(-100%, -100%)",
19
+ },
20
+ top_right: {
21
+ transform: "translate(0, -100%)",
22
+ },
23
+ bottom_left: {
24
+ transform: "translate(-100%, 0)",
25
+ },
26
+ bottom_right: {
27
+ transform: "translate(0, 0)",
28
+ },
29
+ };
30
+
31
+ export const translateX = {
32
+ left: { transform: "translateX(-100%)" },
33
+ right: { transform: "translateX(100%)" },
34
+ zero: { transform: "translateX(0)" },
35
+ left_10: { transform: "translateX(-10%)" },
36
+ right_10: { transform: "translateX(10%)" },
37
+ left_20: { transform: "translateX(-20%)" },
38
+ right_20: { transform: "translateX(20%)" },
39
+ left_30: { transform: "translateX(-30%)" },
40
+ right_30: { transform: "translateX(30%)" },
41
+ left_40: { transform: "translateX(-40%)" },
42
+ right_40: { transform: "translateX(40%)" },
43
+ left_50: { transform: "translateX(-50%)" },
44
+ right_50: { transform: "translateX(50%)" },
45
+ left_60: { transform: "translateX(-60%)" },
46
+ right_60: { transform: "translateX(60%)" },
47
+ left_70: { transform: "translateX(-70%)" },
48
+ right_70: { transform: "translateX(70%)" },
49
+ left_80: { transform: "translateX(-80%)" },
50
+ right_80: { transform: "translateX(80%)" },
51
+ left_90: { transform: "translateX(-90%)" },
52
+ right_90: { transform: "translateX(90%)" },
53
+ left_100: { transform: "translateX(-100%)" },
54
+ right_100: { transform: "translateX(100%)" },
55
+ left_1rem: { transform: "translateX(-1rem)" },
56
+
57
+ right_1rem: { transform: "translateX(1rem)" },
58
+ left_2rem: { transform: "translateX(-2rem)" },
59
+ right_2rem: { transform: "translateX(2rem)" },
60
+ left_3rem: { transform: "translateX(-3rem)" },
61
+ right_3rem: { transform: "translateX(3rem)" },
62
+ left_4rem: { transform: "translateX(-4rem)" },
63
+ right_4rem: { transform: "translateX(4rem)" },
64
+ left_5rem: { transform: "translateX(-5rem)" },
65
+ right_5rem: { transform: "translateX(5rem)" },
66
+ left_6rem: { transform: "translateX(-6rem)" },
67
+ right_6rem: { transform: "translateX(6rem)" },
68
+ left_7rem: { transform: "translateX(-7rem)" },
69
+ right_7rem: { transform: "translateX(7rem)" },
70
+ left_8rem: { transform: "translateX(-8rem)" },
71
+ right_8rem: { transform: "translateX(8rem)" },
72
+ left_9rem: { transform: "translateX(-9rem)" },
73
+ right_9rem: { transform: "translateX(9rem)" },
74
+ left_10rem: { transform: "translateX(-10rem)" },
75
+ right_10rem: { transform: "translateX(10rem)" },
76
+ };
77
+
78
+ export const translateY = {
79
+ top: { transform: "translateY(-100%)" },
80
+ bottom: { transform: "translateY(100%)" },
81
+ zero: { transform: "translateY(0)" },
82
+ top_10: { transform: "translateY(-10%)" },
83
+ bottom_10: { transform: "translateY(10%)" },
84
+ top_20: { transform: "translateY(-20%)" },
85
+ bottom_20: { transform: "translateY(20%)" },
86
+ top_30: { transform: "translateY(-30%)" },
87
+ bottom_30: { transform: "translateY(30%)" },
88
+ top_40: { transform: "translateY(-40%)" },
89
+ bottom_40: { transform: "translateY(40%)" },
90
+ top_50: { transform: "translateY(-50%)" },
91
+ bottom_50: { transform: "translateY(50%)" },
92
+ top_60: { transform: "translateY(-60%)" },
93
+ bottom_60: { transform: "translateY(60%)" },
94
+ top_70: { transform: "translateY(-70%)" },
95
+ bottom_70: { transform: "translateY(70%)" },
96
+ top_80: { transform: "translateY(-80%)" },
97
+ bottom_80: { transform: "translateY(80%)" },
98
+ top_90: { transform: "translateY(-90%)" },
99
+ bottom_90: { transform: "translateY(90%)" },
100
+ top_100: { transform: "translateY(-100%)" },
101
+ bottom_100: { transform: "translateY(100%)" },
102
+
103
+ top_1rem: { transform: "translateY(-1rem)" },
104
+ bottom_1rem: { transform: "translateY(1rem)" },
105
+ top_2rem: { transform: "translateY(-2rem)" },
106
+ bottom_2rem: { transform: "translateY(2rem)" },
107
+ top_3rem: { transform: "translateY(-3rem)" },
108
+ bottom_3rem: { transform: "translateY(3rem)" },
109
+ top_4rem: { transform: "translateY(-4rem)" },
110
+ bottom_4rem: { transform: "translateY(4rem)" },
111
+ top_5rem: { transform: "translateY(-5rem)" },
112
+ bottom_5rem: { transform: "translateY(5rem)" },
113
+ top_6rem: { transform: "translateY(-6rem)" },
114
+ bottom_6rem: { transform: "translateY(6rem)" },
115
+ top_7rem: { transform: "translateY(-7rem)" },
116
+ bottom_7rem: { transform: "translateY(7rem)" },
117
+ top_8rem: { transform: "translateY(-8rem)" },
118
+ bottom_8rem: { transform: "translateY(8rem)" },
119
+ top_9rem: { transform: "translateY(-9rem)" },
120
+ bottom_9rem: { transform: "translateY(9rem)" },
121
+ top_10rem: { transform: "translateY(-10rem)" },
122
+ bottom_10rem: { transform: "translateY(10rem)" },
123
+ };
124
+
125
+ export const translateAll = {
126
+ ...translate,
127
+ ...translateX,
128
+ ...translateY,
129
+ };
@@ -0,0 +1,91 @@
1
+ import { globalStyle } from "@vanilla-extract/css";
2
+ import { vars } from "./theme.css";
3
+
4
+ globalStyle(":root", {
5
+ background: vars.themes.background,
6
+ color: vars.themes.text.normal,
7
+ });
8
+
9
+ globalStyle("html", {
10
+ boxSizing: "border-box",
11
+ fontSize: "62.5%",
12
+ overflowX: "hidden",
13
+ padding: 0,
14
+ });
15
+
16
+ globalStyle("body", {
17
+ position: "relative",
18
+ margin: 0,
19
+ });
20
+
21
+ globalStyle("*, *::before, *::after", {
22
+ boxSizing: "border-box",
23
+ });
24
+
25
+ globalStyle("a", {
26
+ cursor: "pointer",
27
+ textDecoration: "none",
28
+ color: "inherit",
29
+ });
30
+
31
+ globalStyle("input, input:focus", {
32
+ border: "none",
33
+ borderRight: "0px",
34
+ borderTop: "0px",
35
+ borderLeft: "0px",
36
+ borderBottom: "0px",
37
+ outline: "none",
38
+ WebkitAppearance: "none",
39
+ MozAppearance: "none",
40
+ appearance: "none",
41
+ });
42
+
43
+ globalStyle("button, button:focus", {
44
+ border: "none",
45
+ outline: "none",
46
+ });
47
+
48
+ globalStyle("input::-ms-clear", {
49
+ display: "none",
50
+ });
51
+
52
+ globalStyle(
53
+ 'input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button',
54
+ {
55
+ WebkitAppearance: "none",
56
+ MozAppearance: "none",
57
+ appearance: "none",
58
+ }
59
+ );
60
+
61
+ globalStyle(
62
+ 'input[type="password"]::-ms-reveal, input[type="password"]::-ms-clear',
63
+ {
64
+ display: "none",
65
+ }
66
+ );
67
+ // 스크롤
68
+
69
+ globalStyle("::-webkit-scrollbar", {
70
+ width: "1.8rem",
71
+ });
72
+
73
+ globalStyle("::-webkit-scrollbar-thumb", {
74
+ background: vars.gradient.purple,
75
+ borderRadius: "1rem",
76
+ border: "0.4rem solid transparent",
77
+ backgroundClip: "padding-box",
78
+ });
79
+
80
+ globalStyle("::-webkit-scrollbar-track", {
81
+ WebkitBackdropFilter: "blur(10px)",
82
+ backdropFilter: "blur(10px)",
83
+ });
84
+
85
+ globalStyle(
86
+ "input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active",
87
+ {
88
+ transition: "background-color 10000s",
89
+ WebkitTextFillColor: "black !important",
90
+ }
91
+ );
@@ -0,0 +1,31 @@
1
+ export const flex_base: {
2
+ display: 'flex';
3
+ alignItems: 'center';
4
+ justifyContent: 'center';
5
+ textAlign: 'center';
6
+ } = {
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ justifyContent: 'center',
10
+ textAlign: 'center'
11
+ };
12
+ // grid base
13
+ export const grid_base: {
14
+ display: 'grid';
15
+ } = {
16
+ display: 'grid'
17
+ };
18
+ // relative base
19
+ export const relative_base: { position: 'relative' } = { position: 'relative' };
20
+ // absolute base
21
+ export const absolute_base: { position: 'absolute' } = { position: 'absolute' };
22
+ // fixed base
23
+ export const fixed_base: { position: 'fixed' } = { position: 'fixed' };
24
+ // glass base
25
+ export const glass_base: {
26
+ backdropFilter: 'blur(2rem)';
27
+ WebkitBackdropFilter: 'blur(2rem)';
28
+ } = {
29
+ backdropFilter: 'blur(2rem)',
30
+ WebkitBackdropFilter: 'blur(2rem)'
31
+ };
@@ -0,0 +1,109 @@
1
+ import { recipe } from "@vanilla-extract/recipes";
2
+ import { boxShadowHover } from "../constants/boxshadow.css";
3
+ import { palette } from "../constants/palette.css";
4
+ import { sprinkles } from "../sprinkles/index.css";
5
+ import { vars } from "../theme.css";
6
+ import { flex_relative } from "./index.css";
7
+
8
+ export const button = recipe({
9
+ base: [
10
+ flex_relative({}),
11
+ {
12
+ color: "white",
13
+ textAlign: "center",
14
+ borderRadius: "1rem",
15
+ margin: "0.5rem",
16
+ width: "100%",
17
+ transition: "all 0.3s ease-in",
18
+ cursor: "pointer",
19
+ },
20
+ ],
21
+ variants: {
22
+ purple: {
23
+ true: {
24
+ background: vars.gradient.purple,
25
+ boxShadow: palette.purple800,
26
+ ":hover": {
27
+ boxShadow: boxShadowHover.purple800_hover,
28
+ },
29
+ },
30
+ },
31
+ gray: {
32
+ true: {
33
+ background: palette.gray800,
34
+ boxShadow: palette.gray800,
35
+ ":hover": {
36
+ boxShadow: boxShadowHover.slate700_hover,
37
+ },
38
+ },
39
+ },
40
+ glass: {
41
+ true: {
42
+ color: vars.themes.text.normal,
43
+ background: vars.themes.glass.normal,
44
+ boxShadow: `0 0 5px ${vars.themes.glass.normal}`,
45
+ ":hover": {
46
+ boxShadow: `0 0 10px ${vars.themes.glass.normal}`,
47
+ },
48
+ },
49
+ },
50
+ black: {
51
+ false: {
52
+ background: palette.gray200,
53
+ },
54
+ true: {
55
+ background: palette.gray900,
56
+ color: palette.gray200,
57
+ },
58
+ },
59
+ },
60
+ compoundVariants: [
61
+ {
62
+ variants: {
63
+ gray: true,
64
+ },
65
+ style: sprinkles({
66
+ bs: { default: "gray900", hover: "slate700_hover" },
67
+ }),
68
+ },
69
+ ],
70
+ });
71
+
72
+ export const mobileButton = recipe({
73
+ base: [
74
+ {
75
+ width: "7.5rem",
76
+ height: "4rem",
77
+ borderRadius: "1rem",
78
+ fontSize: "1rem",
79
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
80
+ color: "white",
81
+ boxShadow: "0 0 0.5rem rgba(0, 0, 0, 0.5)",
82
+ cursor: "pointer",
83
+ transition: "all 0.3s ease-in",
84
+ margin: "0.5rem",
85
+ },
86
+ ],
87
+ variants: {
88
+ character: {
89
+ true: {
90
+ background: vars.gradient.lightGreen,
91
+ boxShadow: "0 0 1rem rgba(5,222,250,1)",
92
+ color: "black",
93
+ ":hover": {
94
+ boxShadow: "0 0 2rem rgba(5,222,250,1)",
95
+ },
96
+ },
97
+ },
98
+ control: {
99
+ true: {
100
+ background: vars.gradient.red,
101
+ boxShadow: "0 0 1rem rgba(245,177,97,1)",
102
+ color: "black",
103
+ ":hover": {
104
+ boxShadow: "0 0 2rem rrgba(245,177,97,1)",
105
+ },
106
+ },
107
+ },
108
+ },
109
+ });
@@ -0,0 +1,134 @@
1
+ import { recipe } from "@vanilla-extract/recipes";
2
+ import { fraction, repeat } from "../constants/constant.css";
3
+ import { clock, direction } from "../constants/direction.css";
4
+ import { aligns } from "../constants/flex.css";
5
+ import { gridTemplateAll } from "../constants/grid.css";
6
+ import {
7
+ absolute_base,
8
+ fixed_base,
9
+ flex_base,
10
+ glass_base,
11
+ grid_base,
12
+ relative_base,
13
+ } from "./base.css";
14
+
15
+ export const glass = recipe({
16
+ base: [glass_base],
17
+ });
18
+
19
+ export const baseVarients = {
20
+ ...direction,
21
+ ...clock,
22
+ ...aligns,
23
+ fullXY: {
24
+ width: "full",
25
+ height: "full",
26
+ },
27
+ };
28
+
29
+ export const gridVarient = {
30
+ ...repeat,
31
+ ...gridTemplateAll,
32
+ };
33
+
34
+ export const gridVarients = {
35
+ gridTemplateRows: gridVarient,
36
+ gridTemplateColumns: gridVarient,
37
+ gtr: gridVarient,
38
+ gtc: gridVarient,
39
+ gr: fraction,
40
+ gc: fraction,
41
+ };
42
+
43
+ export const gridBaseVarients = {
44
+ ...baseVarients,
45
+ ...gridVarients,
46
+ };
47
+
48
+ // relative
49
+ export const relative = recipe({
50
+ base: [relative_base],
51
+ variants: gridBaseVarients,
52
+ });
53
+ // absolute
54
+ export const absolute = recipe({
55
+ base: [absolute_base],
56
+ variants: {
57
+ ...gridBaseVarients,
58
+ center: {
59
+ true: {
60
+ top: "50%",
61
+ left: "50%",
62
+ transform: "translate(-50%, -50%)",
63
+ },
64
+ },
65
+ },
66
+ });
67
+ // fixed 모음
68
+ export const fixed = recipe({
69
+ base: [fixed_base],
70
+ variants: baseVarients,
71
+ });
72
+
73
+ export const flex = recipe({
74
+ base: [flex_base],
75
+ variants: { ...baseVarients, ...gridVarients },
76
+ });
77
+
78
+ export const grid = recipe({
79
+ base: [grid_base],
80
+ variants: gridBaseVarients,
81
+ });
82
+ // flex_relative 합치기
83
+ export const flex_relative = recipe({
84
+ base: [flex_base, relative_base],
85
+ variants: gridBaseVarients,
86
+ });
87
+ // flex_absolute 합치기
88
+ export const flex_absolute = recipe({
89
+ base: [flex_base, absolute_base],
90
+ variants: {
91
+ ...gridBaseVarients,
92
+ center: {
93
+ true: {
94
+ top: "50%",
95
+ left: "50%",
96
+ transform: "translate(-50%, -50%)",
97
+ },
98
+ },
99
+ },
100
+ });
101
+ // flex_fixed 합치기
102
+ export const flex_fixed = recipe({
103
+ base: [flex_base, fixed_base],
104
+ variants: gridBaseVarients,
105
+ });
106
+ // grid_relative 합치기
107
+ export const grid_relative = recipe({
108
+ base: [grid_base, relative_base],
109
+ variants: gridBaseVarients,
110
+ });
111
+ // grid_absolute 합치기
112
+ export const grid_absolute = recipe({
113
+ base: [grid_base, absolute_base],
114
+ variants: gridBaseVarients,
115
+ });
116
+ // grid_fixed 합치기
117
+ export const grid_fixed = recipe({
118
+ base: [grid_base, fixed_base],
119
+ variants: gridBaseVarients,
120
+ });
121
+
122
+ // 그라디언트 모음
123
+ export const gradient = recipe({
124
+ base: {
125
+ background:
126
+ "linear-gradient(45deg, #000000, #000000) padding-box,linear-gradient(45deg, #8e2de2, #4a00e0) border-box;",
127
+ },
128
+ variants: {
129
+ purple: {
130
+ background:
131
+ "linear-gradient(45deg, #000000, #000000) padding-box,linear-gradient(45deg, #8e2de2, #4a00e0) border-box;",
132
+ },
133
+ },
134
+ });
@@ -0,0 +1,33 @@
1
+ import { recipe } from "@vanilla-extract/recipes";
2
+ import { palette } from "../constants/palette.css";
3
+
4
+ export const input = recipe({
5
+ base: {
6
+ width: "100%",
7
+ "::-webkit-input-placeholder": {
8
+ color: palette.gray200,
9
+ },
10
+ },
11
+ variants: {
12
+ //glass
13
+ glass: {
14
+ true: {
15
+ backdropFilter: "blur(2rem)",
16
+ WebkitBackdropFilter: "blur(2rem)",
17
+ borderRadius: "1rem",
18
+ },
19
+ },
20
+ white: {
21
+ true: {
22
+ borderRadius: "1rem",
23
+ background: "rgba(255, 255, 255, 0.2)",
24
+ boxShadow: "0 0 10px rgba(255, 255, 255, 0.2)",
25
+ },
26
+ },
27
+ transparent: {
28
+ true: {
29
+ background: "transparent",
30
+ },
31
+ },
32
+ },
33
+ });
@@ -0,0 +1,62 @@
1
+ import { defineProperties } from "@vanilla-extract/sprinkles";
2
+ import { boxShadow, boxShadowHover } from "../constants/boxshadow.css";
3
+ import {
4
+ gradient,
5
+ palette,
6
+ rgba,
7
+ theme,
8
+ themeShadow,
9
+ themeShadowHover,
10
+ } from "../constants/palette.css";
11
+
12
+ const paletteTheme = { ...palette, ...theme, ...rgba };
13
+ const paletteThemeGradient = { ...palette, ...theme, ...gradient, ...rgba };
14
+ const boxShadows = {
15
+ ...boxShadow,
16
+ ...boxShadowHover,
17
+ ...themeShadow,
18
+ ...themeShadowHover,
19
+ };
20
+
21
+ export const colorProperties = defineProperties({
22
+ conditions: {
23
+ default: {},
24
+ hover: { selector: "&:hover" },
25
+ active: { selector: "&:active" },
26
+ focus: { selector: "&:focus" },
27
+ },
28
+ defaultCondition: "default",
29
+ properties: {
30
+ color: paletteTheme,
31
+ backgroundColor: paletteThemeGradient,
32
+ background: paletteThemeGradient,
33
+ boxShadow: boxShadows,
34
+ tranCursor: {
35
+ true: {
36
+ transition: "all 0.3s ease-in",
37
+ cursor: "pointer",
38
+ },
39
+ },
40
+ opacity: [
41
+ "0",
42
+ "0.1",
43
+ "0.2",
44
+ "0.3",
45
+ "0.4",
46
+ "0.5",
47
+ "0.6",
48
+ "0.7",
49
+ "0.8",
50
+ "0.9",
51
+ "1",
52
+ ],
53
+ },
54
+ shorthands: {
55
+ bg: ["background"],
56
+ bgc: ["backgroundColor"],
57
+ c: ["color"],
58
+ bs: ["boxShadow"],
59
+ tc: ["tranCursor"],
60
+ op: ["opacity"],
61
+ },
62
+ });
@@ -0,0 +1,26 @@
1
+ import { defineProperties } from "@vanilla-extract/sprinkles";
2
+ import { persent, size } from "../constants/constant.css";
3
+
4
+ const properties = { ...persent, ...size };
5
+
6
+ export const directionProperties = defineProperties({
7
+ conditions: {
8
+ mobile: {},
9
+ tablet: { "@media": "(min-width: 768px)" },
10
+ laptop: { "@media": "(min-width: 1024px)" },
11
+ desktop: { "@media": "(min-width: 1440px)" },
12
+ },
13
+ defaultCondition: "mobile",
14
+ properties: {
15
+ top: properties,
16
+ left: properties,
17
+ right: properties,
18
+ bottom: properties,
19
+ },
20
+ shorthands: {
21
+ t: ["top"],
22
+ l: ["left"],
23
+ r: ["right"],
24
+ b: ["bottom"],
25
+ },
26
+ });
@@ -0,0 +1,25 @@
1
+ import { defineProperties } from "@vanilla-extract/sprinkles";
2
+
3
+ export const displayProperties = defineProperties({
4
+ conditions: {
5
+ mobile: {},
6
+ tablet: { "@media": "(min-width: 768px)" },
7
+ laptop: { "@media": "(min-width: 1024px)" },
8
+ desktop: { "@media": "(min-width: 1440px)" },
9
+ },
10
+ defaultCondition: "mobile",
11
+ properties: {
12
+ display: ["none", "flex", "block", "inline", "grid"],
13
+ flexDirection: ["row", "column"],
14
+ justifyContent: [
15
+ "stretch",
16
+ "flex-start",
17
+ "center",
18
+ "flex-end",
19
+ "space-around",
20
+ "space-between",
21
+ ],
22
+ alignItems: ["stretch", "flex-start", "center", "flex-end"],
23
+ textAlign: ["left", "center", "right"],
24
+ },
25
+ });
@@ -0,0 +1,25 @@
1
+ import { defineProperties } from "@vanilla-extract/sprinkles";
2
+ import { persent, size } from "../constants/constant.css";
3
+
4
+ const persentSizeRem = {
5
+ ...persent,
6
+ ...size,
7
+ };
8
+
9
+ export const fontSizeProperties = defineProperties({
10
+ conditions: {
11
+ mobile: {},
12
+ tablet: { "@media": "(min-width: 768px)" },
13
+ laptop: { "@media": "(min-width: 1024px)" },
14
+ desktop: { "@media": "(min-width: 1440px)" },
15
+ },
16
+ defaultCondition: "mobile",
17
+ properties: {
18
+ fontSize: persentSizeRem,
19
+ lineHeight: persentSizeRem,
20
+ },
21
+ shorthands: {
22
+ fs: ["fontSize"],
23
+ lh: ["lineHeight"],
24
+ },
25
+ });
@@ -0,0 +1,25 @@
1
+ import { defineProperties } from "@vanilla-extract/sprinkles";
2
+ import { fraction } from "../constants/constant.css";
3
+ import { gridTemplateColumns, gridTemplateRows } from "../constants/grid.css";
4
+
5
+ export const gridProperties = defineProperties({
6
+ conditions: {
7
+ mobile: {},
8
+ tablet: { "@media": "(min-width: 768px)" },
9
+ laptop: { "@media": "(min-width: 1024px)" },
10
+ desktop: { "@media": "(min-width: 1440px)" },
11
+ },
12
+ defaultCondition: "mobile",
13
+ properties: {
14
+ gridTemplateColumns: gridTemplateColumns,
15
+ gridTemplateRows: gridTemplateRows,
16
+ gridColumn: fraction,
17
+ gridRow: fraction,
18
+ },
19
+ shorthands: {
20
+ gtc: ["gridTemplateColumns"],
21
+ gtr: ["gridTemplateRows"],
22
+ gc: ["gridColumn"],
23
+ gr: ["gridRow"],
24
+ },
25
+ });