create-fesd-app 1.0.15 → 1.0.17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-fesd-app",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@tailwindcss/postcss": "^4.1.10",
26
26
  "@tailwindcss/vite": "^4.1.10",
27
- "@xwadex/fesd": "0.0.38",
27
+ "@xwadex/fesd": "0.0.40",
28
28
  "ansi-colors": "^4.1.3",
29
29
  "chalk": "^5.3.0",
30
30
  "clsx": "^2.1.1",
@@ -1,5 +1,5 @@
1
1
  .cookie-check,
2
- .cookie-settingBlock
2
+ .cookie-setting
3
3
  .button-group
4
4
  display: flex
5
5
  .cookie-btn
@@ -92,7 +92,7 @@
92
92
  display: flex
93
93
  align-items: center
94
94
  gap: 10px
95
- .cookie-settingBtn
95
+ .cookie-setting-btn
96
96
  margin-left: auto
97
97
  display: flex
98
98
  align-items: center
@@ -115,20 +115,20 @@
115
115
  .cookie-container
116
116
  .button-group
117
117
  flex-direction: column
118
- .cookie-settingBtn
118
+ .cookie-setting-btn
119
119
  margin-top: 30px
120
120
  margin-right: auto
121
121
 
122
- [data-step]
123
- opacity: 0
124
- display: none
125
- transition: all .5s
126
- &.show
127
- opacity: 1
128
- &.active
129
- display: block
122
+ // [t4-id]
123
+ // opacity: 0
124
+ // display: none
125
+ // transition: all .5s
126
+ // &.show
127
+ // opacity: 1
128
+ // &.active
129
+ // display: block
130
130
 
131
- .cookie-settingBlock
131
+ .cookie-setting
132
132
  display: flex
133
133
  justify-content: center
134
134
  align-items: center
@@ -336,7 +336,7 @@
336
336
  box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1)
337
337
 
338
338
  .setting-container
339
- &[data-step="2"]
339
+ &[t4-id='step2']
340
340
  .back
341
341
  display: flex
342
342
  align-items: center
@@ -77,10 +77,6 @@ $typeFull-padding_rwd: 30px 20px
77
77
  $typeFull-content-padding: 85px 75px 100px
78
78
  $typeFull-content-padding_rwd: 20px
79
79
 
80
- // swiper pagination
81
- $pagination-TB-gap: 20px
82
- $pagination-TB-gap_rwd: 10px
83
-
84
80
  // 表格與其他物件上下間的距離
85
81
  $table-TB-gap: 20px
86
82
  $table-TB-gap_rwd: 20px
@@ -341,28 +337,31 @@ $quote-TB-gap: 20px
341
337
  // @extend %table_border_rows
342
338
  // @extend %table_border_full
343
339
  @extend %table_solidSingle_borderColumn
340
+
341
+ &[data-table-markdown="on"]
342
+ table p
343
+ white-space: pre-wrap
344
+
344
345
  table
345
346
  th, td
346
347
  text-align: left
347
348
  background: #fff
349
+ span
350
+ display: block
351
+ ol,ul
352
+ &:not(:first-child)
353
+ margin-top: 10px
348
354
  thead
349
355
  th
350
356
  // 以下可修改
351
357
  font-size: 16px
352
358
  line-height: 1.2
353
359
  font-weight: 600
354
- span
355
- display: block
356
360
  tbody
357
361
  td
358
362
  // 以下可修改
359
363
  font-size: 16px
360
364
  line-height: 1.2
361
- span
362
- display: block
363
- ol,ul
364
- &:not(:first-child)
365
- margin-top: 10px
366
365
 
367
366
  %table_tipText
368
367
  // 以下可修改
@@ -581,8 +580,6 @@ $quote-TB-gap: 20px
581
580
  line-height: 1.2
582
581
  &:not(:first-child)
583
582
  margin-top: 10px
584
- p
585
- white-space: pre-wrap
586
583
  em
587
584
  font-style: italic
588
585
  a
@@ -1,13 +1,15 @@
1
- // list 內細項若無帶 key 值, 就不會開啟 switch 開關; state 可以控制預設值
2
- // 基本上進階版細項開關不開, 有需求才開
1
+ // 此處為 demo 資料, 後端會用相同資料結構洗資料在 #_wcookie
2
+ // 給後端: 基本上進階版細項開關不開, 有需求才開; 若開啟進階版細項, 大分類的 close 開關預設會無效, 會以判斷細項是否有開啟 or 全關為主
3
+ // close: 0 -> 開啟; close: 1 -> 關閉
3
4
  export const cookieData = [
4
5
  {
6
+ multiType: true, // 進階版是否開啟個別選項設定
5
7
  title: "您的 Cookie 偏好設定",
6
8
  text: "我們使用不同類型的 Cookies 來優化您在我們的網站上的體驗,點擊下面類別以了解其目的與更多訊息。<br>您可以選擇允許的 Cookies 類型,也可以隨時更改您的偏好設定。<br>提醒您,停用 Cookies 可能會影響您在網站上的體驗,您可以瀏覽我們的隱私權政策,進一步了解我們如何使用 Cookie。",
7
9
  options: [
8
10
  {
9
11
  key: "required",
10
- state: true,
12
+ close: 0,
11
13
  disabled: true,
12
14
  title: "必要",
13
15
  text: "這些 Cookies 對於支持核心網站功能(例如提供安全登錄)至關重要。",
@@ -18,26 +20,26 @@ export const cookieData = [
18
20
  text: "第一方 cookies 由用戶訪問的網站(即主機域名)設置。網站通常使用第一方 cookies 用於跟踪訪客在網站上的行為並個性化他們在網站上的瀏覽體驗以及個性化他們的瀏覽體驗。",
19
21
  list: [
20
22
  {
21
- key: "",
22
- state: "",
23
+ key: "PHPSESSID",
24
+ close: 0,
23
25
  title: "PHPSESSID",
24
26
  text: "php用來辨識用戶的session id",
25
27
  },
26
28
  {
27
- key: "",
28
- state: "",
29
+ key: "XSRF-TOKEN",
30
+ close: 0,
29
31
  title: "XSRF-TOKEN",
30
32
  text: "網站防止 CSRF(Cross-Site Request Forgery,跨站請求偽造)攻擊 的 token",
31
33
  },
32
34
  {
33
- key: "",
34
- state: "",
35
+ key: "web_session",
36
+ close: 0,
35
37
  title: "web_session",
36
38
  text: "網站用來辨識用戶的session id",
37
39
  },
38
40
  {
39
- key: "",
40
- state: "",
41
+ key: "hubspot",
42
+ close: 0,
41
43
  title: "hubspot",
42
44
  text: "hubspot 使用了Cloudflare服務,區分真人訪客與惡意機器人",
43
45
  },
@@ -48,77 +50,57 @@ export const cookieData = [
48
50
  },
49
51
  {
50
52
  key: "analytics",
51
- state: false,
53
+ close: 1,
52
54
  disabled: false,
53
55
  title: "分析與自訂",
54
56
  text: "這些 Cookies 分析網站優化的使用情況。",
55
57
  notice: "我們將無法分析您的網站使用情況,以提供自定義內容",
56
58
  data: {
57
59
  items: [
58
- // {
59
- // main: "第一方 Cookie 提供商",
60
- // text: "第一方 cookies 由用戶訪問的網站(即主機域名)設置。網站通常使用第一方 cookies 用於跟踪訪客在網站上的行為並個性化他們在網站上的瀏覽體驗以及個性化他們的瀏覽體驗。",
61
- // list: [
62
- // {
63
- // title: "gtm",
64
- // key: "gtm",
65
- // state: "",
66
- // },
67
- // {
68
- // title: "ga",
69
- // key: "ga",
70
- // state: "",
71
- // detail: [
72
- // {
73
- // title: "_ga",
74
- // text: "用來區分不同使用者。每個使用者會被指派唯一的 ID",
75
- // typeTitle: "時間 / 類型",
76
- // typeDesc: "13 個月",
77
- // },
78
- // {
79
- // title: "_ga_<container-id>",
80
- // text: "追蹤單一屬性 (Property) 的資料。",
81
- // typeTitle: "時間 / 類型",
82
- // typeDesc: "13 個月",
83
- // },
84
- // ],
85
- // },
86
- // ],
87
- // },
88
60
  {
89
- main: "第三方 Cookie 提供商",
90
- text: "第三方 cookies 是由其他第三方實體放置在網站上,而不是網站本身,即使用者在地址欄中看到的網域以外的域名。第三方 cookies 通常跟踪訪客在網站之間的行為,通常用於針對性廣告目的。",
61
+ main: "第一方 Cookie 提供商",
62
+ text: "第一方 cookies 由用戶訪問的網站(即主機域名)設置。網站通常使用第一方 cookies 用於跟踪訪客在網站上的行為並個性化他們在網站上的瀏覽體驗以及個性化他們的瀏覽體驗。",
91
63
  list: [
92
- // {
93
- // title: "googlefont",
94
- // key: "",
95
- // state: "",
96
- // },
97
64
  {
98
- title: "Vimeo",
99
- text: "https://vimeo.com/",
100
- key: "",
101
- state: "",
65
+ key: "gtm",
66
+ close: 1,
67
+ title: "gtm",
68
+ },
69
+ {
70
+ key: "ga",
71
+ close: 1,
72
+ title: "ga",
102
73
  detail: [
103
74
  {
104
- title: "_cf_bm",
105
- text: "Cloudflare bot manager manages incoming traffic that matches the criteria associated with bots.",
75
+ title: "_ga",
76
+ text: "用來區分不同使用者。每個使用者會被指派唯一的 ID",
106
77
  typeTitle: "時間 / 類型",
107
- typeDesc: "30 ",
78
+ typeDesc: "13 個月",
108
79
  },
109
80
  {
110
- title: "_cfuvid",
111
- text: "Cloudflare cookie used to enforce rate-limiting rules.",
81
+ title: "_ga_<container-id>",
82
+ text: "追蹤單一屬性 (Property) 的資料。",
112
83
  typeTitle: "時間 / 類型",
113
- typeDesc: "session",
84
+ typeDesc: "13 個月",
114
85
  },
115
86
  ],
116
87
  },
88
+ ],
89
+ },
90
+ {
91
+ main: "第三方 Cookie 提供商",
92
+ text: "第三方 cookies 是由其他第三方實體放置在網站上,而不是網站本身,即使用者在地址欄中看到的網域以外的域名。第三方 cookies 通常跟踪訪客在網站之間的行為,通常用於針對性廣告目的。",
93
+ list: [
94
+ {
95
+ key: "googlefont",
96
+ close: 1,
97
+ title: "googlefont",
98
+ },
117
99
  {
100
+ key: "Youtube",
101
+ close: 1,
118
102
  title: "Youtube",
119
103
  text: "https://www.youtube.com/",
120
- key: "",
121
- state: "",
122
104
  detail: [
123
105
  {
124
106
  title: "YSC",
@@ -157,67 +139,86 @@ export const cookieData = [
157
139
  },
158
140
  ],
159
141
  },
160
-
161
- // {
162
- // title: "Tiktok",
163
- // text: "https://www.tiktok.com/zh-Hant-TW/",
164
- // key: "",
165
- // state: "",
166
- // detail: [
167
- // {
168
- // title: "_ttp",
169
- // text: "To measure and improve the performance of advertising campaigns and to personalize the customer experience (including ads) on TikTok.",
170
- // typeTitle: "時間 / 類型",
171
- // typeDesc: "13 個月",
172
- // },
173
- // {
174
- // title: "msToken",
175
- // text: "用於存儲用戶的會話令牌,確保用戶在瀏覽器會話期間保持登錄狀態。",
176
- // typeTitle: "時間 / 類型",
177
- // typeDesc: "10 天",
178
- // },
179
- // {
180
- // title: "passport_csrf_token",
181
- // text: "用於防止跨站請求偽造(CSRF)攻擊,確保請求的合法性。",
182
- // typeTitle: "時間 / 類型",
183
- // typeDesc: "60 天",
184
- // },
185
- // {
186
- // title: "ttwid",
187
- // text: "用於識別用戶的唯一 ID,協助 TikTok 進行用戶識別與防止機器人行為。",
188
- // typeTitle: "時間 / 類型",
189
- // typeDesc: "10 ",
190
- // },
191
- // ],
192
- // },
193
- // {
194
- // title: "instagram",
195
- // text: "https://www.instagram.com/",
196
- // key: "",
197
- // state: "",
198
- // detail: [
199
- // {
200
- // title: "mid",
201
- // text: "用於區分不同的用戶,協助 Instagram 提供個性化的內容推薦、廣告展示以及其他社交媒體功能。",
202
- // typeTitle: "時間 / 類型",
203
- // typeDesc: "13 個月",
204
- // },
205
- // ],
206
- // },
207
- // {
208
- // title: "meta",
209
- // text: "https://www.facebook.com/privacy/policy",
210
- // key: "",
211
- // state: "",
212
- // detail: [
213
- // {
214
- // title: "_fbp",
215
- // text: "用於辨識網站訪客,讓 Meta 可以顯示相關廣告(再行銷用途)。",
216
- // typeTitle: "時間 / 類型",
217
- // typeDesc: "90 天",
218
- // },
219
- // ],
220
- // },
142
+ {
143
+ key: "Vimeo",
144
+ close: 1,
145
+ title: "Vimeo",
146
+ text: "https://vimeo.com/",
147
+ detail: [
148
+ {
149
+ title: "_cf_bm",
150
+ text: "Cloudflare bot manager manages incoming traffic that matches the criteria associated with bots.",
151
+ typeTitle: "時間 / 類型",
152
+ typeDesc: "30 ",
153
+ },
154
+ {
155
+ title: "_cfuvid",
156
+ text: "Cloudflare cookie used to enforce rate-limiting rules.",
157
+ typeTitle: "時間 / 類型",
158
+ typeDesc: "session",
159
+ },
160
+ ],
161
+ },
162
+ {
163
+ key: "Tiktok",
164
+ close: 1,
165
+ title: "Tiktok",
166
+ text: "https://www.tiktok.com/zh-Hant-TW/",
167
+ detail: [
168
+ {
169
+ title: "_ttp",
170
+ text: "To measure and improve the performance of advertising campaigns and to personalize the customer experience (including ads) on TikTok.",
171
+ typeTitle: "時間 / 類型",
172
+ typeDesc: "13 個月",
173
+ },
174
+ {
175
+ title: "msToken",
176
+ text: "用於存儲用戶的會話令牌,確保用戶在瀏覽器會話期間保持登錄狀態。",
177
+ typeTitle: "時間 / 類型",
178
+ typeDesc: "10 天",
179
+ },
180
+ {
181
+ title: "passport_csrf_token",
182
+ text: "用於防止跨站請求偽造(CSRF)攻擊,確保請求的合法性。",
183
+ typeTitle: "時間 / 類型",
184
+ typeDesc: "60 ",
185
+ },
186
+ {
187
+ title: "ttwid",
188
+ text: "用於識別用戶的唯一 ID,協助 TikTok 進行用戶識別與防止機器人行為。",
189
+ typeTitle: "時間 / 類型",
190
+ typeDesc: "10 天",
191
+ },
192
+ ],
193
+ },
194
+ {
195
+ key: "instagram",
196
+ close: 1,
197
+ title: "instagram",
198
+ text: "https://www.instagram.com/",
199
+ detail: [
200
+ {
201
+ title: "mid",
202
+ text: "用於區分不同的用戶,協助 Instagram 提供個性化的內容推薦、廣告展示以及其他社交媒體功能。",
203
+ typeTitle: "時間 / 類型",
204
+ typeDesc: "13 個月",
205
+ },
206
+ ],
207
+ },
208
+ {
209
+ key: "meta",
210
+ close: 1,
211
+ title: "meta",
212
+ text: "https://www.facebook.com/privacy/policy",
213
+ detail: [
214
+ {
215
+ title: "_fbp",
216
+ text: "用於辨識網站訪客,讓 Meta 可以顯示相關廣告(再行銷用途)。",
217
+ typeTitle: "時間 / 類型",
218
+ typeDesc: "90 天",
219
+ },
220
+ ],
221
+ },
221
222
  ],
222
223
  },
223
224
  ]
@@ -225,14 +226,14 @@ export const cookieData = [
225
226
  },
226
227
  {
227
228
  key: "functionality",
228
- state: false,
229
+ close: 1,
229
230
  disabled: false,
230
231
  title: "性能與功能",
231
232
  text: "這些 Cookies 有助於測量和分析,以改善瀏覽體驗",
232
233
  },
233
234
  {
234
235
  key: "advertising",
235
- state: false,
236
+ close: 1,
236
237
  disabled: false,
237
238
  title: "廣告",
238
239
  text: "這些 Cookies 有助於提供與您相關的廣告內容",