jeawin-astro 2.2.1 → 3.0.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.
Files changed (36) hide show
  1. package/package.json +16 -12
  2. package/src/components/blocks/block10.astro +8 -8
  3. package/src/components/button.astro +1 -1
  4. package/src/components/cards/news_grid_card5.astro +1 -0
  5. package/src/components/children_categories_list.astro +1 -1
  6. package/src/components/cta/cta6.astro +2 -2
  7. package/src/components/downloads/download2.astro +2 -2
  8. package/src/components/features/feature3.astro +2 -2
  9. package/src/components/features/feature4.astro +1 -1
  10. package/src/components/features/feature5.astro +1 -1
  11. package/src/components/footer/footer1.astro +3 -3
  12. package/src/components/formitem/searchinput.astro +1 -1
  13. package/src/components/hero/hero10.astro +2 -2
  14. package/src/components/hero/hero5.astro +1 -1
  15. package/src/components/hero/hero6.astro +2 -2
  16. package/src/components/hero/hero7.astro +2 -2
  17. package/src/components/hero/hero8.astro +1 -1
  18. package/src/components/hero/hero9.astro +2 -2
  19. package/src/components/newsletters/newsletter2.astro +1 -1
  20. package/src/components/newsletters/newsletter3.astro +1 -1
  21. package/src/components/newsletters/newsletter4.astro +1 -1
  22. package/src/components/newsletters/newsletter5.astro +1 -1
  23. package/src/components/newsletters/newsletter6.astro +1 -1
  24. package/src/components/pagination.astro +4 -4
  25. package/src/components/prevnext.astro +8 -17
  26. package/src/components/prevnext_simple.astro +2 -2
  27. package/src/components/pricings/pricing1.astro +2 -2
  28. package/src/components/pricings/pricing8.astro +1 -1
  29. package/src/components/teams/team10.astro +1 -1
  30. package/src/components/teams/team11.astro +1 -1
  31. package/src/components/teams/team9.astro +1 -1
  32. package/src/components/testimonials/testimonial2.astro +1 -1
  33. package/src/components/testimonials/testimonial9.astro +1 -1
  34. package/src/layouts/Footer.astro +2 -2
  35. package/src/layouts/Layout.astro +1 -0
  36. package/src/styles/global.css +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jeawin-astro",
3
- "version": "2.2.1",
3
+ "version": "3.0.2",
4
4
  "author": "chaegumi <chaegumi@qq.com>",
5
5
  "description": "",
6
6
  "license": "MIT",
@@ -25,8 +25,8 @@
25
25
  "test": "mocha test"
26
26
  },
27
27
  "devDependencies": {
28
- "@babel/core": "^7.26.0",
29
- "@babel/preset-env": "^7.26.0",
28
+ "@babel/core": "^7.26.7",
29
+ "@babel/preset-env": "^7.26.7",
30
30
  "@rollup/plugin-babel": "^6.0.4",
31
31
  "@rollup/plugin-commonjs": "^28.0.2",
32
32
  "@rollup/plugin-json": "^6.1.0",
@@ -35,34 +35,36 @@
35
35
  "@rollup/plugin-strip": "^3.0.4",
36
36
  "@rollup/plugin-terser": "^0.4.4",
37
37
  "@rollup/plugin-typescript": "^12.1.2",
38
- "@types/lodash": "^4.17.14",
38
+ "@types/lodash": "^4.17.15",
39
39
  "@types/sprintf-js": "^1.1.4",
40
40
  "autoprefixer": "^10.4.20",
41
41
  "chai": "^5.1.2",
42
42
  "mocha": "^10.8.2",
43
- "postcss": "^8.4.49",
44
- "rollup": "^4.30.1",
43
+ "postcss": "^8.5.1",
44
+ "rollup": "^4.34.2",
45
45
  "rollup-plugin-node-externals": "^7.1.3",
46
46
  "rollup-plugin-postcss": "^4.0.2",
47
47
  "typescript": "^5.7.3"
48
48
  },
49
49
  "dependencies": {
50
- "@astrojs/alpinejs": "^0.4.1",
50
+ "@astrojs/alpinejs": "^0.4.3",
51
51
  "@astrojs/check": "^0.9.4",
52
- "@astrojs/cloudflare": "^12.1.0",
52
+ "@astrojs/cloudflare": "^12.2.1",
53
53
  "@astrojs/rss": "^4.0.11",
54
54
  "@astrojs/sitemap": "3.2.1",
55
- "@astrojs/tailwind": "^5.1.4",
56
55
  "@astrojs/ts-plugin": "^1.10.4",
57
- "@astrojs/vue": "^5.0.4",
56
+ "@astrojs/vue": "^5.0.6",
58
57
  "@iconify-json/fa6-brands": "^1.2.5",
59
58
  "@iconify-json/fa6-solid": "^1.2.3",
60
59
  "@iconify/tools": "^4.1.1",
61
60
  "@keyv/compress-brotli": "^2.0.3",
61
+ "@tailwindcss/forms": "^0.5.10",
62
+ "@tailwindcss/typography": "^0.5.16",
63
+ "@tailwindcss/vite": "^4.0.3",
62
64
  "@types/alpinejs": "^3.13.11",
63
65
  "alpinejs": "^3.14.8",
64
66
  "aos": "3.0.0-beta.6",
65
- "astro": "^5.1.5",
67
+ "astro": "^5.2.5",
66
68
  "astro-color-scheme": "^1.1.5",
67
69
  "astro-embed": "^0.9.0",
68
70
  "astro-icon": "^1.1.5",
@@ -79,7 +81,9 @@
79
81
  "smartmenus": "2.0.0-alpha.1",
80
82
  "sprintf-js": "^1.1.3",
81
83
  "string-strip-html": "^13.4.8",
82
- "swiper": "^11.2.1",
84
+ "swiper": "^11.2.2",
85
+ "tailwind-scrollbar": "^4.0.0",
86
+ "tailwindcss": "^4.0.3",
83
87
  "tslib": "^2.8.1"
84
88
  }
85
89
  }
@@ -66,14 +66,14 @@ function splitHtml(content: any) {
66
66
  <a
67
67
  href={render_value(block, "linkurl11")}
68
68
  target="_blank"
69
- class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] text-white"
69
+ class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] !text-white"
70
70
  title={`${render_value(block, "title1")}${DetailLang}`}
71
71
  rel="nofollow"
72
72
  >{DetailLang}</a>
73
73
  <a
74
74
  href={render_value(block, "linkurl1")}
75
75
  target="_blank"
76
- class="inline-block mx-auto px-2 py-1 bg-[#3498db] text-white"
76
+ class="inline-block mx-auto px-2 py-1 bg-[#3498db] !text-white"
77
77
  title={ContactLang}
78
78
  rel="nofollow"
79
79
  >{ContactLang}</a>
@@ -96,14 +96,14 @@ function splitHtml(content: any) {
96
96
  <a
97
97
  href={render_value(block, "linkurl11")}
98
98
  target="_blank"
99
- class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] text-white"
99
+ class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] !text-white"
100
100
  title={`${render_value(block, "title1")}${DetailLang}`}
101
101
  rel="nofollow"
102
102
  >{DetailLang}</a>
103
103
  <a
104
104
  href={render_value(block, "linkurl1")}
105
105
  target="_blank"
106
- class="inline-block mx-auto px-2 py-1 bg-[#3498db] text-white"
106
+ class="inline-block mx-auto px-2 py-1 bg-[#3498db] !text-white"
107
107
  title={ContactLang}
108
108
  rel="nofollow"
109
109
  >{ContactLang}</a>
@@ -126,14 +126,14 @@ function splitHtml(content: any) {
126
126
  <a
127
127
  href={render_value(block, "linkurl11")}
128
128
  target="_blank"
129
- class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] text-white"
129
+ class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] !text-white"
130
130
  title={`${render_value(block, "title1")}${DetailLang}`}
131
131
  rel="nofollow"
132
132
  >{DetailLang}</a>
133
133
  <a
134
134
  href={render_value(block, "linkurl1")}
135
135
  target="_blank"
136
- class="inline-block mx-auto px-2 py-1 bg-[#3498db] text-white"
136
+ class="inline-block mx-auto px-2 py-1 bg-[#3498db] !text-white"
137
137
  title={ContactLang}
138
138
  rel="nofollow"
139
139
  >{ContactLang}</a>
@@ -156,14 +156,14 @@ function splitHtml(content: any) {
156
156
  <a
157
157
  href={render_value(block, "linkurl11")}
158
158
  target="_blank"
159
- class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] text-white"
159
+ class="inline-block mx-auto px-2 py-1 bg-[var(--themeColor)] !text-white"
160
160
  title={`${render_value(block, "title1")}${DetailLang}`}
161
161
  rel="nofollow"
162
162
  >{DetailLang}</a>
163
163
  <a
164
164
  href={render_value(block, "linkurl1")}
165
165
  target="_blank"
166
- class="inline-block mx-auto px-2 py-1 bg-[#3498db] text-white"
166
+ class="inline-block mx-auto px-2 py-1 bg-[#3498db] !text-white"
167
167
  title={ContactLang}
168
168
  rel="nofollow"
169
169
  >{ContactLang}</a>
@@ -24,7 +24,7 @@ let class1 = [
24
24
  "leading-5",
25
25
  "rounded-full",
26
26
  "font-semibold",
27
- "text-white",
27
+ "!text-white",
28
28
  "whitespace-nowrap",
29
29
  ];
30
30
 
@@ -97,6 +97,7 @@ const final_content = truncate(content, {
97
97
  </div>
98
98
  </div>
99
99
  <style>
100
+ @reference "tailwindcss";
100
101
  .card {
101
102
  @apply relative h-full rounded-xl bg-white p-2 md:py-8 md:px-4 bg-white rounded-lg shadow-lg transition-transform duration-300 hover:-translate-y-[5px];
102
103
  }
@@ -39,7 +39,7 @@ const ProductCountLang = render_value(all_langs, "product");
39
39
  <a
40
40
  href={render_url(category.category_url, base)}
41
41
  title={category.category_name}
42
- class="group border text-center py-8 px-4 bg-white rounded-lg shadow-lg hover:no-underline transition-transform duration-300 hover:-translate-y-[5px]"
42
+ class="group border border-gray-200 text-center py-8 px-4 bg-white rounded-lg shadow-lg hover:no-underline transition-transform duration-300 hover:-translate-y-[5px]"
43
43
  >
44
44
  {category.category_picurl_html ? (
45
45
  <Fragment>
@@ -37,12 +37,12 @@ const {
37
37
  <a
38
38
  href={btn1_link}
39
39
  title={btn1_text}
40
- class="inline-block py-2 px-4 text-white font-medium bg-gray-800 duration-150 hover:bg-gray-700 active:bg-gray-900 rounded-lg shadow-md hover:shadow-none"
40
+ class="inline-block py-2 px-4 !text-white font-medium bg-gray-800 duration-150 hover:bg-gray-700 active:bg-gray-900 rounded-lg shadow-md hover:shadow-none"
41
41
  >{btn1_text}</a>
42
42
  <a
43
43
  href={btn2_link}
44
44
  title={btn2_text}
45
- class="inline-block py-2 px-4 text-gray-800 font-medium duration-150 border hover:bg-gray-50 active:bg-gray-100 rounded-lg"
45
+ class="inline-block py-2 px-4 !text-gray-800 font-medium duration-150 border border-gray-200 hover:bg-gray-50 active:bg-gray-100 rounded-lg"
46
46
  >{btn2_text}</a>
47
47
  </div>
48
48
  </div>
@@ -13,7 +13,7 @@ const downbtntext = render_value(all_langs, "Download");
13
13
  <div class="flex flex-col gap-5">
14
14
  {
15
15
  nodes.map((node: any, idx: number) => (
16
- <div class="flex flex-col md:flex-row gap-4 border rounded-lg py-8 px-4 shadow-lg transition-transform duration-300 hover:-translate-y-[5px]">
16
+ <div class="flex flex-col md:flex-row gap-4 border border-gray-200 rounded-lg py-8 px-4 shadow-lg transition-transform duration-300 hover:-translate-y-[5px]">
17
17
  <div class="md:w-1/5">
18
18
  <Icon
19
19
  name="fa6-solid:file-pdf"
@@ -42,7 +42,7 @@ const downbtntext = render_value(all_langs, "Download");
42
42
  href={node.fileurl}
43
43
  target="_blank"
44
44
  title={downbtntext}
45
- class="mx-auto px-4 py-2 bg-[var(--themeColor)] hover:bg-[var(--themeColor600)] text-white font-medium rounded-full inline-flex gap-2 items-center"
45
+ class="mx-auto px-4 py-2 bg-[var(--themeColor)] hover:bg-[var(--themeColor600)] !text-white font-medium rounded-full inline-flex gap-2 items-center"
46
46
  ><Icon name="fa6-solid:download" />{downbtntext}</a>
47
47
  </div>
48
48
  </div>
@@ -47,7 +47,7 @@ const {
47
47
  <ul class="grid gap-8 sm:grid-cols-2 lg:grid-cols-3">
48
48
  {
49
49
  features.map((feature: any) => (
50
- <li class="bg-white space-y-3 p-4 border rounded-lg">
50
+ <li class="bg-white space-y-3 p-4 border border-gray-200 rounded-lg">
51
51
  <div class="flex items-center mb-4 text-[var(--themeColor600)]">
52
52
  <Fragment set:html={feature.icon} />
53
53
  </div>
@@ -61,7 +61,7 @@ const {
61
61
  <a
62
62
  href={feature.link_url}
63
63
  title={feature.title}
64
- class="text-sm text-[var(--themeColor600)] duration-150 hover:text-[var(--themeColor400)] font-medium inline-flex items-center gap-x-1"
64
+ class="text-sm !text-[var(--themeColor600)] duration-150 hover:text-[var(--themeColor400)] font-medium inline-flex items-center gap-x-1"
65
65
  >{feature.link_text}<Icon name="fa6-solid:arrow-right" /></a>
66
66
  ) : null}
67
67
  </li>
@@ -44,7 +44,7 @@ const {
44
44
  {
45
45
  features.map((feature: any) => (
46
46
  <li class="space-y-3">
47
- <div class="w-12 h-12 border text-[var(--themeColor600)] rounded-lg flex items-center justify-center">
47
+ <div class="w-12 h-12 border border-gray-200 text-[var(--themeColor600)] rounded-lg flex items-center justify-center">
48
48
  <Fragment set:html={feature.icon} />
49
49
  </div>
50
50
  <div class="text-lg text-gray-800 font-semibold">
@@ -52,7 +52,7 @@ const arr1 = _.chunk(features, 3);
52
52
  <ul class="grid gap-x-12 divide-y mb-8 [&>.feature-1]:pl-0 sm:grid-cols-2 sm:gap-y-8 sm:divide-y-0 lg:divide-x lg:grid-cols-3 lg:gap-x-0">
53
53
  {a.map((feature: any, idx: number) => (
54
54
  <li class={`feature-${idx + 1} space-y-3 py-8 lg:px-12 sm:py-0`}>
55
- <div class="w-12 h-12 border text-[var(--themeColor600)] rounded-full flex items-center justify-center">
55
+ <div class="w-12 h-12 border border-gray-200 text-[var(--themeColor600)] rounded-full flex items-center justify-center">
56
56
  <Fragment set:html={feature.icon} />
57
57
  </div>
58
58
  <div class="text-lg text-gray-800 font-semibold">
@@ -46,7 +46,7 @@ const { categoryuriarr, nodeuriarr, menuuriarr, all_langs,base } = Astro.locals;
46
46
  {block.menu1_items ? (
47
47
  <ul>
48
48
  {block.menu1_items_array.map((itm: any) => (
49
- <li class="py-2 text-sm">
49
+ <li class="py-2">
50
50
  <a
51
51
  href={render_url(
52
52
  render_value(categoryuriarr, itm.id), base
@@ -64,7 +64,7 @@ const { categoryuriarr, nodeuriarr, menuuriarr, all_langs,base } = Astro.locals;
64
64
  {block.menu2_items ? (
65
65
  <ul>
66
66
  {block.menu2_items_array.map((itm: any) => (
67
- <li class="py-2 text-sm">
67
+ <li class="py-2">
68
68
  <a
69
69
  href={render_url(
70
70
  render_value(categoryuriarr, itm.id), base
@@ -82,7 +82,7 @@ const { categoryuriarr, nodeuriarr, menuuriarr, all_langs,base } = Astro.locals;
82
82
  {block.menu3_items ? (
83
83
  <ul>
84
84
  {block.menu3_items_array.map((itm: any) => (
85
- <li class="py-2 text-sm">
85
+ <li class="py-2">
86
86
  <a
87
87
  href={render_url(render_value(menuuriarr, itm.id), base)}
88
88
  title={itm.link_title}
@@ -18,7 +18,7 @@ import { Icon } from "astro-icon/components";
18
18
  <div class="relative">
19
19
  <input
20
20
  name="q"
21
- class="block w-full appearance-none border rounded-md bg-transparent pl-4 pr-12 text-base text-slate-900 placeholder:text-slate-600 focus:outline-none sm:text-sm sm:leading-6"
21
+ class="block w-full appearance-none border border-gray-200 rounded-md bg-transparent pl-4 pr-12 text-base text-slate-900 placeholder:text-slate-600 focus:outline-none sm:text-sm sm:leading-6"
22
22
  placeholder="Find anything..."
23
23
  aria-label="Search components"
24
24
  type="text"
@@ -62,12 +62,12 @@ const {base} = Astro.locals;
62
62
  <a
63
63
  href={render_url(btn1_link,base)}
64
64
  title={btn1_text}
65
- class="block py-2 px-4 text-white font-medium bg-indigo-600 duration-150 hover:bg-indigo-500 active:bg-indigo-700 rounded-lg shadow-lg hover:shadow-none"
65
+ class="block py-2 px-4 !text-white font-medium bg-indigo-600 duration-150 hover:bg-indigo-500 active:bg-indigo-700 rounded-lg shadow-lg hover:shadow-none"
66
66
  >{btn1_text}</a>
67
67
  <a
68
68
  href={render_url(btn2_link,base)}
69
69
  title={btn2_text}
70
- class="block py-2 px-4 text-gray-700 hover:text-gray-500 font-medium duration-150 active:bg-gray-100 border rounded-lg"
70
+ class="block py-2 px-4 !text-gray-700 hover:text-gray-500 font-medium duration-150 active:bg-gray-100 border border-gray-200 rounded-lg"
71
71
  >{btn2_text}</a>
72
72
  </div>
73
73
  </div>
@@ -67,7 +67,7 @@ const BlockTitleTag = block_title_tag;
67
67
  name="email"
68
68
  placeholder={render_value(all_langs, "Enter your email")}
69
69
  required="required"
70
- class="text-gray-500 border outline-none p-3 rounded-md w-full sm:w-72"
70
+ class="text-gray-500 border border-gray-200 outline-none p-3 rounded-md w-full sm:w-72"
71
71
  />
72
72
  <button
73
73
  type="submit"
@@ -48,12 +48,12 @@ const {base} = Astro.locals;
48
48
  <a
49
49
  href={render_url(btn1_link,base)}
50
50
  title={btn1_text}
51
- class="px-10 py-3.5 w-full bg-indigo-600 text-white text-center rounded-md shadow-md block sm:w-auto"
51
+ class="px-10 py-3.5 w-full bg-indigo-600 !text-white text-center rounded-md shadow-md block sm:w-auto"
52
52
  >{btn1_text}</a>
53
53
  <a
54
54
  href={render_url(btn2_link,base)}
55
55
  title={btn2_text}
56
- class="px-10 py-3.5 w-full text-gray-500 text-center border rounded-md duration-300 hover:text-indigo-600 hover:shadow block sm:w-auto"
56
+ class="px-10 py-3.5 w-full !text-gray-500 text-center border border-gray-200 rounded-md duration-300 hover:text-indigo-600 hover:shadow block sm:w-auto"
57
57
  >{btn2_text}</a>
58
58
  </div>
59
59
  </SectionContainer>
@@ -79,12 +79,12 @@ const {base} = Astro.locals;
79
79
  <a
80
80
  href={render_url(btn1_link, base)}
81
81
  title={btn1_text}
82
- class="block py-2 px-4 text-center text-white font-medium bg-indigo-600 duration-150 hover:bg-indigo-500 active:bg-indigo-700 rounded-lg shadow-lg hover:shadow-none"
82
+ class="block py-2 px-4 text-center !text-white font-medium bg-indigo-600 duration-150 hover:bg-indigo-500 active:bg-indigo-700 rounded-lg shadow-lg hover:shadow-none"
83
83
  >{btn1_text}</a>
84
84
  <a
85
85
  href={render_url(btn2_link, base)}
86
86
  title={btn2_text}
87
- class="flex items-center justify-center gap-x-2 py-2 px-4 text-gray-700 hover:text-gray-500 font-medium duration-150 active:bg-gray-100 border rounded-lg md:inline-flex"
87
+ class="flex items-center justify-center gap-x-2 py-2 px-4 !text-gray-700 hover:text-gray-500 font-medium duration-150 active:bg-gray-100 border border-gray-200 rounded-lg md:inline-flex"
88
88
  >{btn2_text}<Icon name="fa6-solid:arrow-right" class="w-5 h-5" />
89
89
  </a>
90
90
  </div>
@@ -60,7 +60,7 @@ const {base} = Astro.locals;
60
60
  <a
61
61
  title={top_title}
62
62
  href={render_url(top_title_link, base)}
63
- class="inline-flex gap-x-6 items-center rounded-full p-1 pr-6 border text-sm font-medium duration-150 hover:bg-white"
63
+ class="inline-flex gap-x-6 items-center rounded-full p-1 pr-6 border border-gray-200 text-sm font-medium duration-150 hover:bg-white"
64
64
  >
65
65
  <span
66
66
  class="inline-block rounded-full px-3 py-1 bg-indigo-600 text-white"
@@ -83,12 +83,12 @@ const {base} = Astro.locals;
83
83
  <a
84
84
  href={render_url(btn1_link,base)}
85
85
  title={btn1_text}
86
- class="flex items-center justify-center gap-x-2 py-2 px-4 text-white font-medium bg-gray-800 duration-150 hover:bg-gray-700 active:bg-gray-900 rounded-lg md:inline-flex"
86
+ class="flex items-center justify-center gap-x-2 py-2 px-4 !text-white font-medium bg-gray-800 duration-150 hover:bg-gray-700 active:bg-gray-900 rounded-lg md:inline-flex"
87
87
  >{btn1_text}<Icon name="fa6-solid:arrow-right" class="w-5 h-5" /></a>
88
88
  <a
89
89
  href={render_url(btn2_link,base)}
90
90
  title={btn2_text}
91
- class="flex items-center justify-center gap-x-2 py-2 px-4 text-gray-700 hover:text-gray-500 font-medium duration-150 active:bg-gray-100 border rounded-lg md:inline-flex"
91
+ class="flex items-center justify-center gap-x-2 py-2 px-4 !text-gray-700 hover:text-gray-500 font-medium duration-150 active:bg-gray-100 border border-gray-200 rounded-lg md:inline-flex"
92
92
  >{btn2_text}<Icon name="fa6-solid:arrow-right" class="w-5 h-5" /></a>
93
93
  </div>
94
94
  </div>
@@ -54,7 +54,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
54
54
  name="email"
55
55
  required="required"
56
56
  placeholder={render_value(all_langs, "Enter your email")}
57
- class="text-gray-500 w-full p-3 rounded-md border outline-none focus:border-[var(--themeColor600)]"
57
+ class="text-gray-500 w-full p-3 rounded-md border border-gray-200 outline-none focus:border-[var(--themeColor600)]"
58
58
  />
59
59
  <button
60
60
  type="submit"
@@ -68,7 +68,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
68
68
  name="email"
69
69
  required
70
70
  placeholder={render_value(all_langs, "Enter your email")}
71
- class="w-full pl-12 pr-3 py-2 text-gray-500 bg-transparent outline-none border focus:border-[var(--themeColor600)] shadow-sm rounded-lg sm:max-w-xs"
71
+ class="w-full pl-12 pr-3 py-2 text-gray-500 bg-transparent outline-none border border-gray-200 focus:border-[var(--themeColor600)] shadow-sm rounded-lg sm:max-w-xs"
72
72
  />
73
73
  </div>
74
74
  <button
@@ -66,7 +66,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
66
66
  name="email"
67
67
  required
68
68
  placeholder={render_value(all_langs, "Enter your email")}
69
- class="w-full pl-12 pr-3 py-2 text-gray-500 bg-white outline-none border focus:border-[var(--themeColor600)] shadow-sm rounded-lg"
69
+ class="w-full pl-12 pr-3 py-2 text-gray-500 bg-white outline-none border border-gray-200 focus:border-[var(--themeColor600)] shadow-sm rounded-lg"
70
70
  />
71
71
  </div>
72
72
  <button
@@ -61,7 +61,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
61
61
  name="email"
62
62
  required
63
63
  placeholder={render_value(all_langs, "Enter your email")}
64
- class="w-full pl-12 pr-3 py-2 text-gray-500 bg-white outline-none border focus:border-[var(--themeColor600)] shadow-sm rounded-lg"
64
+ class="w-full pl-12 pr-3 py-2 text-gray-500 bg-white outline-none border border-gray-200 focus:border-[var(--themeColor600)] shadow-sm rounded-lg"
65
65
  />
66
66
  </div>
67
67
  <button
@@ -68,7 +68,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
68
68
  name="email"
69
69
  required
70
70
  placeholder={render_value(all_langs, "Enter your email")}
71
- class="text-gray-500 w-full p-3 rounded-md border outline-none focus:border-[var(--themeColor600)]"
71
+ class="text-gray-500 w-full p-3 rounded-md border border-gray-200 outline-none focus:border-[var(--themeColor600)]"
72
72
  />
73
73
  <button
74
74
  class="break-keep w-full mt-3 px-5 py-3 rounded-md text-white bg-[var(--themeColor600)] hover:bg-[var(--themeColor500)] active:bg-[var(--themeColor700)] duration-150 outline-none shadow-md focus:shadow-none focus:ring-2 ring-offset-2 ring-[var(--themeColor600)] sm:mt-0 sm:ml-3 sm:w-auto"
@@ -56,20 +56,20 @@ let more_right =
56
56
  let nav_wrapper_class = "isolate inline-flex -space-x-px rounded-md shadow-sm";
57
57
 
58
58
  let btn_class =
59
- "relative inline-flex items-center px-4 py-2 text-gray-400 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-20 focus:outline-offset-0".split(
59
+ "relative inline-flex items-center px-4 py-2 !text-gray-400 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-20 focus:outline-offset-0".split(
60
60
  " "
61
61
  );
62
62
  let btn_active_class =
63
- `relative z-10 inline-flex items-center bg-[var(--themeColor)] px-4 py-2 text-sm font-semibold text-white focus:z-20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--themeColor)]`.split(
63
+ `relative z-10 inline-flex items-center bg-[var(--themeColor)] px-4 py-2 text-sm font-semibold !text-white focus:z-20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--themeColor)]`.split(
64
64
  " "
65
65
  );
66
66
 
67
67
  let simple_btn =
68
- "relative inline-flex items-center rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50".split(
68
+ "relative inline-flex items-center rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium !text-gray-700 hover:bg-gray-50".split(
69
69
  " "
70
70
  );
71
71
  let simple_btn_disable =
72
- "relative inline-flex items-center rounded-md border border-gray-100 bg-white px-4 py-2 text-sm text-gray-500 hover:bg-gray-50".split(
72
+ "relative inline-flex items-center rounded-md border border-gray-100 bg-white px-4 py-2 text-sm !text-gray-500 hover:bg-gray-50".split(
73
73
  " "
74
74
  );
75
75
  ---
@@ -70,25 +70,20 @@ if (Number(nodeinfo.category_id)) {
70
70
  // console.log(nodeinfo);
71
71
  ---
72
72
 
73
- <hr class="my-7" />
73
+ <hr class="my-7 border-gray-200" />
74
74
  <div
75
- class="my-7 mx-auto px-4 sm:px-6 lg:px-8 grid items-center grid-cols-[1fr,auto,1fr] gap-4"
75
+ class="my-7 mx-auto px-4 sm:px-6 lg:px-8 flex items-center flex-nowrap justify-between gap-4"
76
76
  data-aos="fade-up"
77
77
  data-aos-once="false"
78
78
  >
79
79
  <div class="text-center">
80
- <div class="leading-6 font-semibold text-sky-500">
81
- {nodeinfo.channel_name}
82
- </div>
80
+ <div class="leading-6 font-semibold text-sky-500">{nodeinfo.channel_name}</div>
83
81
  <div
84
82
  class="mt-1 text-xl leading-8 tracking-tight font-semibold text-slate-900"
85
- >
86
- {nodeinfo.category_name}
87
- </div>
83
+ >{nodeinfo.category_name}</div>
88
84
  <div>
89
- <div x-data="{}" class="cursor-pointer text-[var(--themeColor)] hover:underline" x-on:click={`window.location.href='${render_url(backtolisturl, base)}'`}>
90
- {render_value(all_langs, 'Back to List')}
91
- </div>
85
+ <div x-data="{}" class="cursor-pointer text-[var(--themeColor)] hover:underline"
86
+ x-on:click={`window.location.href='${render_url(backtolisturl, base)}'`}>{render_value(all_langs, 'Back to List')}</div>
92
87
  </div>
93
88
 
94
89
  </div>
@@ -105,9 +100,7 @@ if (Number(nodeinfo.category_id)) {
105
100
  <span aria-hidden="true">←</span>
106
101
  {previousLang}
107
102
  </div>
108
- <div class="hidden md:block mt-2 text-sm leading-6 font-semibold text-slate-900">
109
- {prevnode.node_title}
110
- </div>
103
+ <div class="hidden md:block mt-2 text-sm leading-6 font-semibold text-slate-900">{prevnode.node_title}</div>
111
104
  <div class="absolute -inset-1 md:hidden" />
112
105
  <svg
113
106
  class="md:hidden w-6 h-6 stroke-slate-900"
@@ -138,9 +131,7 @@ if (Number(nodeinfo.category_id)) {
138
131
  {nextLang}
139
132
  <span aria-hidden="true"> →</span>
140
133
  </div>
141
- <div class="hidden md:block mt-2 text-sm leading-6 font-semibold text-slate-900">
142
- {nextnode.node_title}
143
- </div>
134
+ <div class="hidden md:block mt-2 text-sm leading-6 font-semibold text-slate-900">{nextnode.node_title}</div>
144
135
  <div class="absolute -inset-1 md:hidden" />
145
136
  <svg
146
137
  class="md:hidden w-6 h-6 stroke-slate-900"
@@ -69,7 +69,7 @@ if (Number(nodeinfo.category_id)) {
69
69
  <a
70
70
  href={render_url(prevnodeurl, base)}
71
71
  title={`${previousLang}: ${prevnode.node_title}`}
72
- class="flex items-center justify-center border size-10 rounded-full"
72
+ class="flex items-center justify-center border border-gray-200 size-10 rounded-full"
73
73
  >
74
74
  <Icon name="fa6-solid:angle-left" class="size-4" />
75
75
  </a>
@@ -81,7 +81,7 @@ if (Number(nodeinfo.category_id)) {
81
81
  <a
82
82
  href={render_url(nextnodeurl, base)}
83
83
  title={`${nextLang}: ${nextnode.node_title}`}
84
- class="flex items-center justify-center border size-10 rounded-full"
84
+ class="flex items-center justify-center border border-gray-200 size-10 rounded-full"
85
85
  >
86
86
  <Icon name="fa6-solid:angle-right" class="size-4" />
87
87
  </a>
@@ -35,7 +35,7 @@ const { all_langs,base } = Astro.locals;
35
35
  >
36
36
  {
37
37
  plans.map((plan: any) => (
38
- <div class="border rounded-md p-6">
38
+ <div class="border border-gray-200 rounded-md p-6">
39
39
  <div class="text-gray-800 text-xl font-semibold mb-2">
40
40
  {plan.name}{" "}
41
41
  {plan.isMostPop ? (
@@ -83,7 +83,7 @@ const { all_langs,base } = Astro.locals;
83
83
  href={render_url(plan.btn_link,base)}
84
84
  title={plan.btn_text}
85
85
  rel="nofollow"
86
- class="inline-block w-full text-center mt-6 px-5 py-2.5 text-sm text-white bg-[var(--themeColor500)] hover:bg-[var(--themeColor600)] rounded-md"
86
+ class="inline-block w-full text-center mt-6 px-5 py-2.5 text-sm !text-white bg-[var(--themeColor500)] hover:bg-[var(--themeColor600)] rounded-md"
87
87
  >{plan.btn_text}</a>
88
88
  </div>
89
89
  </div>
@@ -45,7 +45,7 @@ const { all_langs,base } = Astro.locals;
45
45
  ]}
46
46
  >
47
47
  {plan.isMostPop ? (
48
- <div class="w-32 absolute -top-5 left-0 right-0 mx-auto px-3 py-2 rounded-full border shadow-md bg-white text-center text-gray-700 text-sm font-semibold">
48
+ <div class="w-32 absolute -top-5 left-0 right-0 mx-auto px-3 py-2 rounded-full border border-gray-200 shadow-md bg-white text-center text-gray-700 text-sm font-semibold">
49
49
  {most_popular_text}
50
50
  </div>
51
51
  ) : null}
@@ -34,7 +34,7 @@ const {
34
34
  >
35
35
  {
36
36
  block_items.map((itm: any) => (
37
- <div class="border rounded-md overflow-hidden max-md:max-w-[300px] transition-transform duration-300 hover:-translate-y-[5px]">
37
+ <div class="border border-gray-200 rounded-md overflow-hidden max-md:max-w-[300px] transition-transform duration-300 hover:-translate-y-[5px]">
38
38
  {itm.img_html ? (
39
39
  <JeawinImage
40
40
  img_html={itm.img_html}
@@ -34,7 +34,7 @@ const {
34
34
  >
35
35
  {
36
36
  block_items.map((itm: any) => (
37
- <div class="border rounded-lg overflow-hidden transition-transform duration-300 hover:-translate-y-[5px]">
37
+ <div class="border border-gray-200 rounded-lg overflow-hidden transition-transform duration-300 hover:-translate-y-[5px]">
38
38
  {itm.img_html ? (
39
39
  <JeawinImage
40
40
  img_html={itm.img_html}
@@ -31,7 +31,7 @@ const {
31
31
  >
32
32
  {
33
33
  block_items.map((itm: any) => (
34
- <div class="bg-gray-800 p-4 border rounded-lg transition-transform duration-300 hover:-translate-y-[5px]">
34
+ <div class="bg-gray-800 p-4 border border-gray-200 rounded-lg transition-transform duration-300 hover:-translate-y-[5px]">
35
35
  {itm.img_html ? (
36
36
  <JeawinImage
37
37
  img_html={itm.img_html}
@@ -58,7 +58,7 @@ const {
58
58
  <div>
59
59
  <h4 class="text-base font-semibold text-gray-800">{name}</h4>
60
60
  <p class="text-xs text-gray-500 mt-0.5">
61
- <a href={`mailto:${email}`} title="" rel="nofollow">{email}</a>
61
+ <a href={`mailto:${email}`} title="e-mail" rel="nofollow">{email}</a>
62
62
  </p>
63
63
  </div>
64
64
 
@@ -44,7 +44,7 @@ const {
44
44
  <ul class="grid items-center gap-4 sm:grid-cols-2 lg:grid-cols-3">
45
45
  {
46
46
  testimonials.map((itm: any) => (
47
- <li class="bg-white rounded-xl border shadow-md">
47
+ <li class="bg-white rounded-xl border border-gray-200 shadow-md">
48
48
  <div class="p-4">
49
49
  <svg
50
50
  xmlns="http://www.w3.org/2000/svg"
@@ -83,7 +83,7 @@ const menus = await jeawinapi.get_menus({
83
83
  {block.block_list ? (
84
84
  <ul>
85
85
  {block.block_list.map((node: any) => (
86
- <li class="py-2 text-sm">
86
+ <li class="py-2">
87
87
  <a
88
88
  href={render_url(node.node_url, base)}
89
89
  title={node.node_title}
@@ -113,7 +113,7 @@ const menus = await jeawinapi.get_menus({
113
113
  <ul>
114
114
  {
115
115
  menus.map((menu: any) => (
116
- <li class="py-2 text-sm">
116
+ <li class="py-2">
117
117
  <a
118
118
  href={render_url(menu.link_url, base)}
119
119
  title={menu.link_title}
@@ -8,6 +8,7 @@
8
8
  * @email chaegumi@jeawin.com
9
9
  * @filesource
10
10
  */
11
+ import '../styles/global.css';
11
12
  import _ from "lodash";
12
13
  import dayjs from "dayjs";
13
14
  import Header from "./Header.astro";
@@ -0,0 +1,4 @@
1
+ @import "tailwindcss";
2
+ @plugin "@tailwindcss/forms";
3
+ @plugin "@tailwindcss/typography";
4
+ @plugin "tailwind-scrollbar";