@mixd-id/web-scaffold 0.1.2207220538 → 0.1.2301231313

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 (90) hide show
  1. package/.env +1 -0
  2. package/index.html +22 -0
  3. package/package.json +11 -11
  4. package/postcss.config.js +6 -0
  5. package/public/images/mixd-logo2.png +0 -0
  6. package/server.js +122 -0
  7. package/src/App.vue +17 -0
  8. package/src/UI.vue +864 -0
  9. package/src/api/feed.js +29 -0
  10. package/src/api/inbox/index.js +33 -0
  11. package/src/api/inbox/message/comment.js +33 -0
  12. package/src/api/inbox/message/index.js +34 -0
  13. package/src/api/index.js +7 -0
  14. package/src/components/Ahref.vue +208 -0
  15. package/src/components/Alert.vue +162 -0
  16. package/src/components/Button.vue +236 -0
  17. package/src/components/ButtonGroup.vue +101 -0
  18. package/src/components/Carousel.vue +295 -0
  19. package/src/components/ChatTyping.vue +69 -0
  20. package/src/components/Checkbox.vue +152 -0
  21. package/src/components/ContextMenu.vue +191 -0
  22. package/src/components/CopyToClipboard.vue +59 -0
  23. package/src/components/Datepicker.vue +312 -0
  24. package/src/components/Dropdown.vue +192 -0
  25. package/src/components/ErrorText.vue +36 -0
  26. package/src/components/Feed.vue +118 -0
  27. package/src/components/Grid.vue +29 -0
  28. package/src/components/GridColumn.vue +31 -0
  29. package/src/components/HTMLEditor.vue +169 -0
  30. package/src/components/Image.vue +158 -0
  31. package/src/components/ImageFullScreen.vue +101 -0
  32. package/src/components/ListItem.vue +147 -0
  33. package/src/components/ListPage1.vue +422 -0
  34. package/src/components/ListPage1Filter.vue +188 -0
  35. package/src/components/ListPage2.vue +459 -0
  36. package/src/components/Modal.vue +239 -0
  37. package/src/components/OTPField.vue +126 -0
  38. package/src/components/Radio.vue +134 -0
  39. package/src/components/SearchButton.vue +57 -0
  40. package/src/components/Slider.vue +285 -0
  41. package/src/components/SplitPane.vue +129 -0
  42. package/src/components/Switch.vue +89 -0
  43. package/src/components/TabView.vue +106 -0
  44. package/src/components/TableView.vue +201 -0
  45. package/src/components/TableViewHead.vue +159 -0
  46. package/src/components/Tabs.vue +68 -0
  47. package/src/components/Textarea.vue +184 -0
  48. package/src/components/Textbox.vue +188 -0
  49. package/src/components/Timepicker.vue +108 -0
  50. package/src/components/Toast.vue +93 -0
  51. package/src/components/VirtualScroll.vue +215 -0
  52. package/src/components/VirtualTable.vue +465 -0
  53. package/src/entry-client.js +27 -0
  54. package/src/entry-server.js +73 -0
  55. package/src/helper.js +109 -0
  56. package/src/helpers.mjs +31 -0
  57. package/src/index.css +3 -0
  58. package/src/index.js +89 -0
  59. package/src/main.js +38 -0
  60. package/src/pages/Home.vue +3 -0
  61. package/src/pages/Inbox.vue +129 -0
  62. package/src/pages/Message.vue +258 -0
  63. package/src/pages/Playground.vue +237 -0
  64. package/src/pages/Test.vue +455 -0
  65. package/src/pages/playground/Ahref.vue +73 -0
  66. package/src/pages/playground/Alert.vue +80 -0
  67. package/src/pages/playground/Button.vue +77 -0
  68. package/src/pages/playground/Carousel.vue +67 -0
  69. package/src/pages/playground/ContextMenu.vue +77 -0
  70. package/src/pages/playground/Datepicker.vue +69 -0
  71. package/src/pages/playground/Dropdown.vue +71 -0
  72. package/src/pages/playground/Image.vue +67 -0
  73. package/src/pages/playground/ListItem.vue +109 -0
  74. package/src/pages/playground/Modal.vue +118 -0
  75. package/src/pages/playground/Slider.vue +68 -0
  76. package/src/pages/playground/Switch.vue +57 -0
  77. package/src/pages/playground/Textarea.vue +78 -0
  78. package/src/pages/playground/Textbox.vue +80 -0
  79. package/src/pages/playground/Toast.vue +80 -0
  80. package/src/pages/playground/components/Preview.vue +15 -0
  81. package/src/pages/playground/components/PropertyTable.vue +38 -0
  82. package/src/pages/playground/components/SourceCode.vue +71 -0
  83. package/src/router.js +57 -0
  84. package/src/stores/components.js +193 -0
  85. package/src/themes/default/index.js +200 -0
  86. package/tailwind.config.js +11 -0
  87. package/vite.config.js +31 -0
  88. package/dist/style.css +0 -1
  89. package/dist/webfxfy.es.js +0 -7935
  90. package/dist/webfxfy.umd.js +0 -40
package/.env ADDED
@@ -0,0 +1 @@
1
+ NODE_ENV=local
package/index.html ADDED
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Untitled</title>
7
+ <script id="aHlj"><!--serialize-pinia--></script>
8
+ <script id="aHlk">window.__hydration = JSON.parse(document.getElementById('aHlj').innerText)</script>
9
+ <script>
10
+ document.querySelector('html').setAttribute('data-theme', localStorage.getItem('theme') ?? '')
11
+ </script>
12
+ <!--preload-links-->
13
+ </head>
14
+ <body>
15
+ <div><!--app-html--></div>
16
+ <div class="bW9k"><!--modal-overlay--></div>
17
+ <div class="Y29u"><!--context-overlay--></div>
18
+ <div class="YWxl"><!--alert-overlay--></div>
19
+ <div class="dG9h"><!--toast-overlay--></div>
20
+ <script type="module" src="/src/entry-client.js"></script>
21
+ </body>
22
+ </html>
package/package.json CHANGED
@@ -1,37 +1,38 @@
1
1
  {
2
2
  "name": "@mixd-id/web-scaffold",
3
3
  "private": false,
4
- "version": "0.1.2207220538",
4
+ "version": "0.1.2301231313",
5
5
  "scripts": {
6
6
  "dev": "vite serve",
7
7
  "build": "vite build",
8
8
  "start": "node server.js"
9
9
  },
10
- "main": "./dist/webfxfy.umd.js",
10
+ "main": "./src/index.js",
11
11
  "exports": {
12
- ".": {
13
- "import": "./dist/webfxfy.es.js",
14
- "require": "./dist/webfxfy.umd.js"
15
- },
16
- "./style.css": "./dist/style.css"
12
+ ".": "./src/index.js",
13
+ "./themes/default": "./src/themes/default/index.js",
14
+ "./themes/kliknss": "./src/themes/kliknss/index.js",
15
+ "./UI.vue": "./src/UI.vue",
16
+ "./helpers.mjs": "./src/helpers.mjs"
17
17
  },
18
- "files": [
19
- "dist"
20
- ],
21
18
  "dependencies": {
22
19
  "@faker-js/faker": "^7.3.0",
23
20
  "@tailwindcss/line-clamp": "^0.4.0",
21
+ "@vueuse/core": "^9.0.2",
22
+ "axios": "^0.27.2",
24
23
  "compression": "^1.7.4",
25
24
  "cookie-parser": "^1.4.6",
26
25
  "cors": "^2.8.5",
27
26
  "daisyui": "^2.19.0",
28
27
  "dayjs": "^1.11.2",
29
28
  "express": "^4.18.1",
29
+ "glob": "^8.0.3",
30
30
  "lodash": "^4.17.21",
31
31
  "nprogress": "^0.2.0",
32
32
  "pinia": "^2.0.14",
33
33
  "prismjs": "^1.28.0",
34
34
  "serve-static": "^1.15.0",
35
+ "tailwindcss": "^3.2.4",
35
36
  "vue": "^3.2.25",
36
37
  "vue-router": "^4.0.14"
37
38
  },
@@ -39,7 +40,6 @@
39
40
  "@vitejs/plugin-vue": "^2.2.0",
40
41
  "autoprefixer": "^10.4.4",
41
42
  "postcss": "^8.4.12",
42
- "tailwindcss": "^3.0.23",
43
43
  "vite": "^2.8.0"
44
44
  },
45
45
  "description": "This scaffold based on express vitejs vuejs",
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
Binary file
package/server.js ADDED
@@ -0,0 +1,122 @@
1
+ // @ts-check
2
+ const fs = require('fs')
3
+ const path = require('path')
4
+ const express = require('express')
5
+ const cors = require('cors')
6
+ const cookieParser = require('cookie-parser')
7
+ const apiModules = require("./src/api")
8
+
9
+ const isTest = process.env.NODE_ENV === 'test' || !!process.env.VITE_TEST_BUILD
10
+ const isProd = process.argv.includes('--prod')
11
+
12
+ const root = process.cwd()
13
+
14
+ const apiMiddleware = async(req, res, next) => {
15
+
16
+ if(req.originalUrl.indexOf('/api') >= 0){
17
+
18
+ const module = req.originalUrl.replace('/api', '').split('?')[0]
19
+ const method = req.method === 'POST' ? 'store' : 'index'
20
+
21
+ if(apiModules[module] && apiModules[module][method]){
22
+ const json = await apiModules[module][method](req, res)
23
+ if(json) res.send(json)
24
+ }
25
+ else{
26
+ console.warn(`API url not handled: ${req.originalUrl}, ${module}@${method}`)
27
+ }
28
+ res.end()
29
+ }
30
+ else{
31
+ next()
32
+ }
33
+ }
34
+
35
+ async function createServer() {
36
+ const resolve = (p) => path.resolve(__dirname, p)
37
+
38
+ const indexProd = ''
39
+
40
+ const manifest = {}
41
+
42
+ const app = express()
43
+ app.disable('x-powered-by')
44
+ app.use(cookieParser())
45
+
46
+ app.use(apiMiddleware)
47
+ app.use(express.json())
48
+ app.use(cors())
49
+
50
+ const http = require('http').createServer(app)
51
+
52
+ const vite = await require('vite').createServer({
53
+ root,
54
+ logLevel: isTest ? 'error' : 'info',
55
+ server: {
56
+ middlewareMode: 'ssr',
57
+ hmr: {
58
+ port: 24677
59
+ },
60
+ watch: {
61
+ usePolling: true,
62
+ interval: 100
63
+ }
64
+ }
65
+ })
66
+ app.use(vite.middlewares)
67
+
68
+ app.use('*', async (req, res, next) => {
69
+
70
+ if(req.originalUrl.indexOf('socket.io') >= 0){
71
+ return next()
72
+ }
73
+
74
+ try {
75
+ const url = req.originalUrl
76
+
77
+ let template, render
78
+ template = fs.readFileSync(resolve('index.html'), 'utf-8')
79
+ template = await vite.transformIndexHtml(url, template)
80
+ render = (await vite.ssrLoadModule('/src/entry-server.js')).render
81
+
82
+ const [appHtml, preloadLinks, serializePinia, redirect, cookie, modalOverlay, alertOverlay, contextOverlay ] = await render(req, manifest)
83
+
84
+ if(cookie.length > 0){
85
+ for(var i in cookie){
86
+ res.cookie(cookie[i][0], cookie[i][1])
87
+ }
88
+ }
89
+
90
+ if(typeof redirect !== 'undefined'){
91
+ res.redirect(redirect)
92
+ }
93
+ else{
94
+ const html = template
95
+ .replace(`<!--preload-links-->`, preloadLinks)
96
+ .replace(`<!--app-html-->`, appHtml)
97
+ .replace(`<!--serialize-pinia-->`, serializePinia)
98
+ .replace(`<!--context-overlay-->`, contextOverlay)
99
+ .replace(`<!--modal-overlay-->`, modalOverlay)
100
+ .replace(`<!--alert-overlay-->`, alertOverlay)
101
+
102
+ res.status(200).set({ 'Content-Type': 'text/html' }).end(html)
103
+ }
104
+ }
105
+ catch (e) {
106
+ vite && vite.ssrFixStacktrace(e)
107
+ console.log(e.stack)
108
+ res.status(500).end(e.stack)
109
+ }
110
+
111
+ })
112
+
113
+ return { http, app, vite }
114
+ }
115
+
116
+ createServer().then(({ http }) =>{
117
+
118
+ http.listen(3002, () => {
119
+ console.log('Listening on port ' + 3002)
120
+ })
121
+
122
+ })
package/src/App.vue ADDED
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <router-view></router-view>
3
+ </template>
4
+
5
+ <script>
6
+
7
+ </script>
8
+
9
+ <style>
10
+
11
+
12
+ </style>
13
+
14
+ <style module>
15
+
16
+
17
+ </style>