diff --git a/public/demo/images/dock/appstore.svg b/public/demo/images/dock/appstore.svg new file mode 100644 index 0000000000..fc51264657 --- /dev/null +++ b/public/demo/images/dock/appstore.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/demo/images/dock/finder.svg b/public/demo/images/dock/finder.svg new file mode 100644 index 0000000000..601eb187a3 --- /dev/null +++ b/public/demo/images/dock/finder.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/demo/images/dock/github.svg b/public/demo/images/dock/github.svg new file mode 100644 index 0000000000..837467db96 --- /dev/null +++ b/public/demo/images/dock/github.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/demo/images/dock/photos.svg b/public/demo/images/dock/photos.svg new file mode 100644 index 0000000000..e13afbb1cb --- /dev/null +++ b/public/demo/images/dock/photos.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/demo/images/dock/preview.png b/public/demo/images/dock/preview.png new file mode 100644 index 0000000000..9edf5d2701 Binary files /dev/null and b/public/demo/images/dock/preview.png differ diff --git a/public/demo/images/dock/safari.svg b/public/demo/images/dock/safari.svg new file mode 100644 index 0000000000..c2d94d38b6 --- /dev/null +++ b/public/demo/images/dock/safari.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/demo/images/dock/settings.png b/public/demo/images/dock/settings.png new file mode 100644 index 0000000000..9701b7587e Binary files /dev/null and b/public/demo/images/dock/settings.png differ diff --git a/public/demo/images/dock/terminal.svg b/public/demo/images/dock/terminal.svg new file mode 100644 index 0000000000..c4d526965c --- /dev/null +++ b/public/demo/images/dock/terminal.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/demo/images/dock/trash.png b/public/demo/images/dock/trash.png new file mode 100644 index 0000000000..b76ead7f19 Binary files /dev/null and b/public/demo/images/dock/trash.png differ diff --git a/src/assets/images/dock/window.jpg b/src/assets/images/dock/window.jpg new file mode 100644 index 0000000000..8372ed942c Binary files /dev/null and b/src/assets/images/dock/window.jpg differ diff --git a/src/assets/menu/menu.json b/src/assets/menu/menu.json index a56f052e1b..0656175c7d 100644 --- a/src/assets/menu/menu.json +++ b/src/assets/menu/menu.json @@ -672,6 +672,11 @@ { "name": "TieredMenu", "to": "/tieredmenu" + }, + { + "name": "Dock", + "to": "/dock", + "badge": "New" } ] }, diff --git a/src/components/dock/Dock.d.ts b/src/components/dock/Dock.d.ts new file mode 100644 index 0000000000..7686ba1975 --- /dev/null +++ b/src/components/dock/Dock.d.ts @@ -0,0 +1,17 @@ +import { VNode } from 'vue'; + +interface DockProps { + position?: string; + model?: any[]; + class?: string; + style?: any; +} + +declare class Dock { + $props: DockProps; + $slots: { + 'item': VNode[]; + } +} + +export default Dock; diff --git a/src/components/dock/Dock.vue b/src/components/dock/Dock.vue new file mode 100644 index 0000000000..e1f01b6752 --- /dev/null +++ b/src/components/dock/Dock.vue @@ -0,0 +1,163 @@ + + + + + \ No newline at end of file diff --git a/src/components/dock/DockSub.vue b/src/components/dock/DockSub.vue new file mode 100644 index 0000000000..f0c6ecce76 --- /dev/null +++ b/src/components/dock/DockSub.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/components/dock/package.json b/src/components/dock/package.json new file mode 100644 index 0000000000..a60167bef2 --- /dev/null +++ b/src/components/dock/package.json @@ -0,0 +1,9 @@ +{ + "main": "./dock.cjs.js", + "module": "./dock.esm.js", + "unpkg": "./dock.min.js", + "types": "./Dock.d.ts", + "browser": { + "./sfc": "./Dock.vue" + } + } \ No newline at end of file diff --git a/src/main.js b/src/main.js index 7e9272f471..067414f6c9 100644 --- a/src/main.js +++ b/src/main.js @@ -34,6 +34,7 @@ import DataViewLayoutOptions from './components/dataviewlayoutoptions/DataViewLa import DeferredContent from './components/deferredcontent/DeferredContent'; import Dialog from './components/dialog/Dialog'; import Divider from './components/divider/Divider'; +import Dock from './components/dock/Dock'; import Dropdown from './components/dropdown/Dropdown'; import Editor from './components/editor/Editor'; import Fieldset from './components/fieldset/Fieldset'; @@ -155,6 +156,7 @@ app.component('DataViewLayoutOptions', DataViewLayoutOptions); app.component('DeferredContent', DeferredContent); app.component('Dialog', Dialog); app.component('Divider', Divider); +app.component('Dock', Dock); app.component('Dropdown', Dropdown); app.component('Editor', Editor); app.component('Fieldset', Fieldset); diff --git a/src/router/index.js b/src/router/index.js index 0fd79f8471..9481439426 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -332,6 +332,11 @@ const routes = [ name: 'divider', component: () => import('../views/divider/DividerDemo.vue') }, + { + path: '/dock', + name: 'dock', + component: () => import('../views/dock/DockDemo.vue') + }, { path: '/dropdown', name: 'dropdown',