From 5aabc9b5fb42ca8914ff1ddf151bea189ea04beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bahad=C4=B1r=20Sofuo=C4=9Flu?= Date: Fri, 4 Nov 2022 12:10:41 +0300 Subject: [PATCH] Pages added --- package-lock.json | 14 + package.json | 1 + src/assets/demo/styles/documentation.scss | 54 ++ src/layout/AppCodeHighlight.js | 16 + src/main.js | 3 + src/router/index.js | 78 +- src/views/demo/Chart.vue | 357 --------- src/views/pages/Landing.vue | 425 +++++++++++ src/views/pages/auth/Access.vue | 25 + src/views/pages/auth/Error.vue | 25 + src/views/pages/auth/Login.vue | 62 ++ src/views/{demo => uikit}/Button.vue | 0 src/views/uikit/Chart.vue | 349 +++++++++ src/views/{demo => uikit}/File.vue | 0 src/views/{demo => uikit}/FloatLabel.vue | 0 src/views/{demo => uikit}/FormLayout.vue | 0 src/views/{demo => uikit}/Icons.vue | 0 src/views/{demo => uikit}/Input.vue | 0 src/views/{demo => uikit}/InvalidState.vue | 0 src/views/{demo => uikit}/List.vue | 0 src/views/{demo => uikit}/Media.vue | 0 src/views/{demo => uikit}/Menu.vue | 0 src/views/{demo => uikit}/Messages.vue | 0 src/views/{demo => uikit}/Misc.vue | 0 src/views/{demo => uikit}/Overlay.vue | 0 src/views/{demo => uikit}/Panels.vue | 0 src/views/{demo => uikit}/Table.vue | 0 src/views/{demo => uikit}/Tree.vue | 0 src/views/utilities/Blocks.vue | 804 +++++++++++++++++++++ src/views/utilities/Icons.vue | 137 ++++ 30 files changed, 1964 insertions(+), 386 deletions(-) create mode 100644 src/assets/demo/styles/documentation.scss create mode 100644 src/layout/AppCodeHighlight.js delete mode 100644 src/views/demo/Chart.vue create mode 100644 src/views/pages/Landing.vue create mode 100644 src/views/pages/auth/Access.vue create mode 100644 src/views/pages/auth/Error.vue create mode 100644 src/views/pages/auth/Login.vue rename src/views/{demo => uikit}/Button.vue (100%) create mode 100644 src/views/uikit/Chart.vue rename src/views/{demo => uikit}/File.vue (100%) rename src/views/{demo => uikit}/FloatLabel.vue (100%) rename src/views/{demo => uikit}/FormLayout.vue (100%) rename src/views/{demo => uikit}/Icons.vue (100%) rename src/views/{demo => uikit}/Input.vue (100%) rename src/views/{demo => uikit}/InvalidState.vue (100%) rename src/views/{demo => uikit}/List.vue (100%) rename src/views/{demo => uikit}/Media.vue (100%) rename src/views/{demo => uikit}/Menu.vue (100%) rename src/views/{demo => uikit}/Messages.vue (100%) rename src/views/{demo => uikit}/Misc.vue (100%) rename src/views/{demo => uikit}/Overlay.vue (100%) rename src/views/{demo => uikit}/Panels.vue (100%) rename src/views/{demo => uikit}/Table.vue (100%) rename src/views/{demo => uikit}/Tree.vue (100%) create mode 100644 src/views/utilities/Blocks.vue create mode 100644 src/views/utilities/Icons.vue diff --git a/package-lock.json b/package-lock.json index dd4e397..2936256 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "primeflex": "^3.2.1", "primeicons": "^6.0.1", "primevue": "^3.18.1", + "prismjs": "^1.29.0", "vue": "^3.2.41", "vue-router": "^4.1.5" }, @@ -1846,6 +1847,14 @@ "vue": "^3.0.0" } }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -3576,6 +3585,11 @@ "integrity": "sha512-5UYNooA6Qqx0iGaRxPUYLPamxRn6eQKMNU3wbqGyxWhoc944rMaOiT9mVQWhavPlKCgs7FY8SNhsDzqV4aRCxA==", "requires": {} }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", diff --git a/package.json b/package.json index 7f46791..709cbef 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "primeflex": "^3.2.1", "primeicons": "^6.0.1", "primevue": "^3.18.1", + "prismjs": "^1.29.0", "vue": "^3.2.41", "vue-router": "^4.1.5" }, diff --git a/src/assets/demo/styles/documentation.scss b/src/assets/demo/styles/documentation.scss new file mode 100644 index 0000000..199c250 --- /dev/null +++ b/src/assets/demo/styles/documentation.scss @@ -0,0 +1,54 @@ +pre[class*='language-'] { + &:before, + &:after { + display: none !important; + } + + code { + border-left: 6px solid var(--surface-border) !important; + box-shadow: none !important; + background: var(--surface-ground) !important; + margin: 1em 0; + color: var(--text-color); + font-size: 14px; + } + + .token { + &.tag, + &.keyword { + color: #2196f3 !important; + } + + &.attr-name, + &.attr-string { + color: #2196f3 !important; + } + + &.attr-value { + color: #4caf50 !important; + } + + &.punctuation { + color: var(--text-color); + } + + &.operator, + &.string { + background: transparent; + } + } +} + +i:not([class~='pi']) { + background-color: transparent; + color: #2196f3; + font-family: Monaco, courier, monospace; + font-style: normal; + font-size: 12px; + font-weight: 500; + padding: 0 4px; + letter-spacing: 0.5px; + font-weight: 600; + margin: 0 2px; + display: inline-flex; +} diff --git a/src/layout/AppCodeHighlight.js b/src/layout/AppCodeHighlight.js new file mode 100644 index 0000000..efec602 --- /dev/null +++ b/src/layout/AppCodeHighlight.js @@ -0,0 +1,16 @@ +import Prism from 'prismjs'; + +const CodeHighlight = { + beforeMount (el, binding) { + const modifiers = binding.modifiers; + const value = binding.value; + + if (modifiers.script || value === 'script') el.className = 'language-javascript'; + else if (modifiers.css || value === 'css') el.className = 'language-css'; + else el.className = 'language-markup'; + + Prism.highlightElement(el.children[0]); + } +}; + +export default CodeHighlight; diff --git a/src/main.js b/src/main.js index ea5eba6..8ecc591 100644 --- a/src/main.js +++ b/src/main.js @@ -100,6 +100,8 @@ import TreeTable from 'primevue/treetable'; import TriStateCheckbox from 'primevue/tristatecheckbox'; import VirtualScroller from 'primevue/virtualscroller'; +import CodeHighlight from '@/layout/AppCodeHighlight'; + import '@/assets/styles.scss'; const app = createApp(App); @@ -114,6 +116,7 @@ app.directive('tooltip', Tooltip); app.directive('badge', BadgeDirective); app.directive('ripple', Ripple); app.directive('styleclass', StyleClass); +app.directive('code', CodeHighlight); app.component('Accordion', Accordion); app.component('AccordionTab', AccordionTab); diff --git a/src/router/index.js b/src/router/index.js index 378614a..20a758a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -16,95 +16,115 @@ const router = createRouter({ { path: '/uikit/formlayout', name: 'formlayout', - component: () => import('@/views/demo/FormLayout.vue') + component: () => import('@/views/uikit/FormLayout.vue') }, { path: '/uikit/input', name: 'input', - component: () => import('@/views/demo/Input.vue') + component: () => import('@/views/uikit/Input.vue') }, { path: '/uikit/floatlabel', name: 'floatlabel', - component: () => import('@/views/demo/FloatLabel.vue') + component: () => import('@/views/uikit/FloatLabel.vue') }, { path: '/uikit/invalidstate', name: 'invalidstate', - component: () => import('@/views/demo/InvalidState.vue') + component: () => import('@/views/uikit/InvalidState.vue') }, { path: '/uikit/button', name: 'button', - component: () => import('@/views/demo/Button.vue') + component: () => import('@/views/uikit/Button.vue') }, { path: '/uikit/table', name: 'table', - component: () => import('@/views/demo/Table.vue') + component: () => import('@/views/uikit/Table.vue') }, { path: '/uikit/list', name: 'list', - component: () => import('@/views/demo/List.vue') + component: () => import('@/views/uikit/List.vue') }, { path: '/uikit/tree', name: 'tree', - component: () => import('@/views/demo/Tree.vue') + component: () => import('@/views/uikit/Tree.vue') }, { path: '/uikit/panel', name: 'panel', - component: () => import('@/views/demo/Panels.vue') + component: () => import('@/views/uikit/Panels.vue') }, { path: '/uikit/overlay', name: 'overlay', - component: () => import('@/views/demo/Overlay.vue') + component: () => import('@/views/uikit/Overlay.vue') }, { path: '/uikit/media', name: 'media', - component: () => import('@/views/demo/Media.vue') + component: () => import('@/views/uikit/Media.vue') }, { path: '/uikit/menu', name: 'menu', - component: () => import('@/views/demo/Menu.vue') + component: () => import('@/views/uikit/Menu.vue') }, { path: '/uikit/message', name: 'message', - component: () => import('@/views/demo/Messages.vue') + component: () => import('@/views/uikit/Messages.vue') }, { path: '/uikit/file', name: 'file', - component: () => import('@/views/demo/File.vue') + component: () => import('@/views/uikit/File.vue') + }, + { + path: '/uikit/charts', + name: 'charts', + component: () => import('@/views/uikit/Chart.vue') }, { path: '/uikit/misc', name: 'misc', - component: () => import('@/views/demo/Misc.vue') - } - /* - - - - - { - path: '/uikit/overlay', - name: 'overlay', - component: () => import('./components/OverlayDemo.vue') + component: () => import('@/views/uikit/Misc.vue') }, { - path: '/uikit/media', - name: 'media', - component: () => import('./components/MediaDemo.vue') - } */ + path: '/utilities/blocks', + name: 'blocks', + component: () => import('@/views/utilities/Blocks.vue') + }, + { + path: '/utilities/icons', + name: 'icons', + component: () => import('@/views/utilities/Icons.vue') + } ] + }, + { + path: '/landing', + name: 'landing', + component: () => import('@/views/pages/Landing.vue') + }, + { + path: '/auth/login', + name: 'login', + component: () => import('@/views/pages/Landing.vue') + }, + { + path: '/auth/access', + name: 'accessDenied', + component: () => import('@/views/pages/auth/Access.vue') + }, + { + path: '/auth/error', + name: 'error', + component: () => import('@/views/pages/Error.vue') } ] }); diff --git a/src/views/demo/Chart.vue b/src/views/demo/Chart.vue deleted file mode 100644 index db0cb8c..0000000 --- a/src/views/demo/Chart.vue +++ /dev/null @@ -1,357 +0,0 @@ - - - diff --git a/src/views/pages/Landing.vue b/src/views/pages/Landing.vue new file mode 100644 index 0000000..a6d86f9 --- /dev/null +++ b/src/views/pages/Landing.vue @@ -0,0 +1,425 @@ + + + + + diff --git a/src/views/pages/auth/Access.vue b/src/views/pages/auth/Access.vue new file mode 100644 index 0000000..4107ffb --- /dev/null +++ b/src/views/pages/auth/Access.vue @@ -0,0 +1,25 @@ + diff --git a/src/views/pages/auth/Error.vue b/src/views/pages/auth/Error.vue new file mode 100644 index 0000000..2ab3a66 --- /dev/null +++ b/src/views/pages/auth/Error.vue @@ -0,0 +1,25 @@ + diff --git a/src/views/pages/auth/Login.vue b/src/views/pages/auth/Login.vue new file mode 100644 index 0000000..628114f --- /dev/null +++ b/src/views/pages/auth/Login.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/views/demo/Button.vue b/src/views/uikit/Button.vue similarity index 100% rename from src/views/demo/Button.vue rename to src/views/uikit/Button.vue diff --git a/src/views/uikit/Chart.vue b/src/views/uikit/Chart.vue new file mode 100644 index 0000000..d78d601 --- /dev/null +++ b/src/views/uikit/Chart.vue @@ -0,0 +1,349 @@ + + + diff --git a/src/views/demo/File.vue b/src/views/uikit/File.vue similarity index 100% rename from src/views/demo/File.vue rename to src/views/uikit/File.vue diff --git a/src/views/demo/FloatLabel.vue b/src/views/uikit/FloatLabel.vue similarity index 100% rename from src/views/demo/FloatLabel.vue rename to src/views/uikit/FloatLabel.vue diff --git a/src/views/demo/FormLayout.vue b/src/views/uikit/FormLayout.vue similarity index 100% rename from src/views/demo/FormLayout.vue rename to src/views/uikit/FormLayout.vue diff --git a/src/views/demo/Icons.vue b/src/views/uikit/Icons.vue similarity index 100% rename from src/views/demo/Icons.vue rename to src/views/uikit/Icons.vue diff --git a/src/views/demo/Input.vue b/src/views/uikit/Input.vue similarity index 100% rename from src/views/demo/Input.vue rename to src/views/uikit/Input.vue diff --git a/src/views/demo/InvalidState.vue b/src/views/uikit/InvalidState.vue similarity index 100% rename from src/views/demo/InvalidState.vue rename to src/views/uikit/InvalidState.vue diff --git a/src/views/demo/List.vue b/src/views/uikit/List.vue similarity index 100% rename from src/views/demo/List.vue rename to src/views/uikit/List.vue diff --git a/src/views/demo/Media.vue b/src/views/uikit/Media.vue similarity index 100% rename from src/views/demo/Media.vue rename to src/views/uikit/Media.vue diff --git a/src/views/demo/Menu.vue b/src/views/uikit/Menu.vue similarity index 100% rename from src/views/demo/Menu.vue rename to src/views/uikit/Menu.vue diff --git a/src/views/demo/Messages.vue b/src/views/uikit/Messages.vue similarity index 100% rename from src/views/demo/Messages.vue rename to src/views/uikit/Messages.vue diff --git a/src/views/demo/Misc.vue b/src/views/uikit/Misc.vue similarity index 100% rename from src/views/demo/Misc.vue rename to src/views/uikit/Misc.vue diff --git a/src/views/demo/Overlay.vue b/src/views/uikit/Overlay.vue similarity index 100% rename from src/views/demo/Overlay.vue rename to src/views/uikit/Overlay.vue diff --git a/src/views/demo/Panels.vue b/src/views/uikit/Panels.vue similarity index 100% rename from src/views/demo/Panels.vue rename to src/views/uikit/Panels.vue diff --git a/src/views/demo/Table.vue b/src/views/uikit/Table.vue similarity index 100% rename from src/views/demo/Table.vue rename to src/views/uikit/Table.vue diff --git a/src/views/demo/Tree.vue b/src/views/uikit/Tree.vue similarity index 100% rename from src/views/demo/Tree.vue rename to src/views/uikit/Tree.vue diff --git a/src/views/utilities/Blocks.vue b/src/views/utilities/Blocks.vue new file mode 100644 index 0000000..d179779 --- /dev/null +++ b/src/views/utilities/Blocks.vue @@ -0,0 +1,804 @@ + + + diff --git a/src/views/utilities/Icons.vue b/src/views/utilities/Icons.vue new file mode 100644 index 0000000..24d6631 --- /dev/null +++ b/src/views/utilities/Icons.vue @@ -0,0 +1,137 @@ + + + + +