@kizmann/nano-ui 0.9.10 → 1.0.0
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/.github/workflows/compile-deploy-publish.yml +65 -0
- package/README.md +1 -1
- package/assets/nano-ui-dark.svg +19 -0
- package/assets/nano-ui-light.svg +19 -0
- package/assets/pico-js-dark.svg +19 -0
- package/assets/pico-js-light.svg +19 -0
- package/demos/form.html +462 -0
- package/demos/overview.html +97 -45
- package/docs/_sidebar.md +11 -10
- package/docs/files/form/button.md +10 -1
- package/docs/files/form/switch.md +6 -0
- package/docs/files/others/config.md +261 -8
- package/docs/files/others/drawer.md +32 -0
- package/docs/files/others/map.md +32 -0
- package/docs/index.template.html +76 -0
- package/docs/src/js/backup.js +128 -0
- package/docs/src/js/helper/item-helper.js +0 -0
- package/docs/src/js/index.js +21 -0
- package/docs/src/js/plugin/title-plugin.js +0 -0
- package/docs/src/js/plugin/vue-demo-plugin.js +97 -0
- package/docs/src/js/theme/basic.js +31 -0
- package/docs/src/js/theme/docsify.js +11 -0
- package/docs/src/scss/index-dark.scss +3 -0
- package/docs/src/scss/index-light.scss +3 -0
- package/docs/src/scss/index.scss +10 -443
- package/docs/src/scss/mixins/grid.scss +12 -11
- package/docs/src/scss/mixins/media.scss +2 -1
- package/docs/src/scss/root/vars-dark.scss +15 -0
- package/docs/src/scss/root/vars-light.scss +15 -0
- package/docs/src/scss/root/vars.scss +110 -0
- package/docs/src/scss/theme/default.scss +123 -0
- package/docs/src/scss/theme/header.scss +147 -0
- package/docs/src/scss/theme/layout.scss +186 -0
- package/docs/src/scss/theme/loader.scss +63 -0
- package/docs/src/scss/theme/markdown.scss +79 -0
- package/docs/src/scss/theme/navigation.scss +58 -0
- package/docs/src/scss/theme/progress.scss +9 -0
- package/docs/src/scss/theme/search.scss +119 -0
- package/docs/src/scss/{docsify → theme}/syntax.scss +18 -15
- package/docs/src/scss/theme/table.scss +63 -0
- package/favicon/apple-touch-icon.png +0 -0
- package/favicon/favicon-96x96.png +0 -0
- package/favicon/favicon.ico +0 -0
- package/favicon/favicon.svg +3 -0
- package/favicon/site.webmanifest +21 -0
- package/favicon/web-app-manifest-192x192.png +0 -0
- package/favicon/web-app-manifest-512x512.png +0 -0
- package/package.json +19 -12
- package/postcss.config.js +1 -1
- package/src/alert/src/alert/alert.scss +5 -4
- package/src/button/src/button/button.scss +5 -5
- package/src/button/src/button-group/button-group.scss +5 -4
- package/src/cascader/src/cascader/cascader.scss +5 -4
- package/src/cascader/src/cascader-panel/cascader-panel.scss +5 -4
- package/src/checkbox/src/checkbox/checkbox.scss +5 -4
- package/src/checkbox/src/checkbox-group/checkbox-group.scss +5 -4
- package/src/collapse/src/collapse/collapse.scss +5 -4
- package/src/collapse/src/collapse-item/collapse-item.scss +5 -4
- package/src/config/src/builder/builder.scss +17 -13
- package/src/config/src/reference-panel/reference-panel.scss +7 -4
- package/src/confirm/src/confirm/confirm.scss +5 -4
- package/src/datepicker/src/datepicker/datepicker.scss +5 -4
- package/src/datepicker/src/datepicker-panel/datepicker-panel.scss +5 -4
- package/src/datetimepicker/src/datetimepicker/datetimepicker.js +0 -4
- package/src/datetimepicker/src/datetimepicker/datetimepicker.scss +5 -4
- package/src/draggable/src/draggrid/draggrid.scss +5 -4
- package/src/draggable/src/draggrid-item/draggrid-item.scss +5 -4
- package/src/draggable/src/draglist/draglist.scss +5 -4
- package/src/draggable/src/draglist-item/draglist-item.scss +5 -4
- package/src/draggable/src/dropzone/dropzone.scss +5 -4
- package/src/drawer/index.js +5 -0
- package/src/drawer/index.scss +1 -0
- package/src/drawer/src/drawer/drawer.js +431 -0
- package/src/drawer/src/drawer/drawer.scss +136 -0
- package/src/durationpicker/src/durationpicker/durationpicker.scss +5 -4
- package/src/empty/src/empty-icon/empty-icon.scss +5 -4
- package/src/form/index.js +6 -0
- package/src/form/index.scss +2 -0
- package/src/form/src/form/form.js +11 -1
- package/src/form/src/form-frame/form-frame.js +42 -0
- package/src/form/src/form-frame/form-frame.scss +28 -0
- package/src/form/src/form-frame-item/form-frame-item.js +114 -0
- package/src/form/src/form-group/form-group.js +33 -1
- package/src/form/src/form-group/form-group.scss +5 -4
- package/src/form/src/form-item/form-item.scss +5 -4
- package/src/form/src/form-menu/form-menu.js +89 -0
- package/src/form/src/form-menu/form-menu.scss +9 -0
- package/src/index.js +1 -0
- package/src/index.scss +1 -0
- package/src/info/src/info/info.scss +5 -4
- package/src/info/src/info-column/info-column.scss +7 -4
- package/src/input/src/input/input.scss +5 -4
- package/src/input-number/src/input-number/input-number.scss +5 -4
- package/src/loader/src/loader/loader.scss +5 -4
- package/src/modal/src/modal/modal.scss +5 -4
- package/src/notification/src/notification/notification.scss +5 -4
- package/src/paginator/src/paginator/paginator.scss +5 -4
- package/src/popover/src/popover/popover.scss +5 -4
- package/src/radio/src/radio/radio.scss +5 -4
- package/src/radio/src/radio-group/radio-group.scss +5 -4
- package/src/rating/src/rating/rating.scss +5 -4
- package/src/root/vars.scss +84 -81
- package/src/select/src/select/select.scss +5 -4
- package/src/slider/src/slider/slider.scss +5 -4
- package/src/switch/src/switch/switch.scss +6 -4
- package/src/table/src/table/table.scss +15 -0
- package/src/table/src/table-cell/table-cell.scss +5 -4
- package/src/tabs/src/tabs/tabs.scss +5 -4
- package/src/tabs/src/tabs-item/tabs-item.scss +5 -4
- package/src/tags/src/tags-item/tags-item.scss +5 -4
- package/src/textarea/src/textarea/textarea.scss +5 -4
- package/src/timepicker/src/timepicker/timepicker.scss +5 -4
- package/src/timepicker/src/timepicker-panel/timepicker-panel.scss +5 -4
- package/src/transfer/src/transfer/transfer.scss +5 -4
- package/themes/macos/alert/src/alert/alert.scss +4 -3
- package/themes/macos/button/src/button/button.scss +8 -3
- package/themes/macos/cascader/src/cascader/cascader.scss +5 -4
- package/themes/macos/checkbox/src/checkbox/checkbox.scss +5 -4
- package/themes/macos/collapse/src/collapse/collapse.scss +4 -3
- package/themes/macos/collapse/src/collapse-item/collapse-item.scss +4 -3
- package/themes/macos/confirm/src/confirm/confirm.scss +4 -3
- package/themes/macos/datepicker/src/datepicker/datepicker.scss +5 -4
- package/themes/macos/datepicker/src/datepicker-panel/datepicker-panel.scss +4 -3
- package/themes/macos/datetimepicker/src/datetimepicker/datetimepicker.scss +14 -12
- package/themes/macos/draggable/src/draggrid/draggrid.scss +4 -3
- package/themes/macos/draggable/src/draggrid-item/draggrid-item.scss +4 -3
- package/themes/macos/draggable/src/draglist/draglist.scss +4 -3
- package/themes/macos/draggable/src/draglist-item/draglist-item.scss +6 -5
- package/themes/macos/draggable/src/dropzone/dropzone.scss +4 -3
- package/themes/macos/drawer/index.scss +1 -0
- package/themes/macos/drawer/src/drawer/drawer.scss +35 -0
- package/themes/macos/durationpicker/src/durationpicker/durationpicker.scss +5 -4
- package/themes/macos/file/src/file/file.scss +4 -3
- package/themes/macos/form/src/form-group/form-group.scss +4 -3
- package/themes/macos/index-dark.scss +1 -39
- package/themes/macos/index-light.scss +1 -39
- package/themes/macos/index.scss +1 -2
- package/themes/macos/input/src/input/input.scss +6 -5
- package/themes/macos/input-number/src/input-number/input-number.scss +6 -5
- package/themes/macos/loader/src/loader/loader.scss +4 -3
- package/themes/macos/modal/src/modal/modal.scss +6 -5
- package/themes/macos/notification/src/notification/notification.scss +4 -3
- package/themes/macos/popover/src/popover/popover.scss +9 -8
- package/themes/macos/radio/src/radio/radio.scss +5 -4
- package/themes/macos/rating/src/rating/rating.scss +4 -3
- package/themes/macos/root/vars-dark.scss +87 -74
- package/themes/macos/root/vars-light.scss +87 -74
- package/themes/macos/root/vars.scss +88 -74
- package/themes/macos/select/src/select/select.scss +5 -4
- package/themes/macos/switch/src/switch/switch.scss +6 -4
- package/themes/macos/table/src/table/table.scss +3 -3
- package/themes/macos/table/src/table-cell/table-cell.scss +5 -4
- package/themes/macos/tabs/src/tabs/tabs.scss +4 -3
- package/themes/macos/tabs/src/tabs-item/tabs-item.scss +4 -3
- package/themes/macos/tags/src/tags-item/tags-item.scss +6 -4
- package/themes/macos/textarea/src/textarea/textarea.scss +5 -4
- package/themes/macos/timepicker/src/timepicker/timepicker.scss +5 -4
- package/themes/macos/timepicker/src/timepicker-panel/timepicker-panel.scss +4 -3
- package/webpack.config.js +81 -13
- package/bun.lockb +0 -0
- package/dist/nano-ui.css +0 -2
- package/dist/nano-ui.js +0 -4
- package/dist/nano-ui.js.map +0 -1
- package/dist/themes/dark.css +0 -2
- package/dist/themes/light.css +0 -2
- package/docs/dist/docs.css +0 -2
- package/docs/index.html +0 -176
- package/docs/src/scss/docsify/basic/_coverpage.sass +0 -95
- package/docs/src/scss/docsify/basic/_layout.sass +0 -472
- package/docs/src/scss/docsify/vue.sass +0 -250
- package/nano.svg +0 -52
- package/themes/light/alert/index.scss +0 -1
- package/themes/light/alert/src/alert/alert.scss +0 -26
- package/themes/light/button/index.scss +0 -2
- package/themes/light/button/src/button/button.scss +0 -46
- package/themes/light/button/src/button-group/button-group.scss +0 -1
- package/themes/light/cascader/index.scss +0 -2
- package/themes/light/cascader/src/cascader/cascader.scss +0 -45
- package/themes/light/cascader/src/cascader-panel/cascader-panel.scss +0 -13
- package/themes/light/checkbox/index.scss +0 -2
- package/themes/light/checkbox/src/checkbox/checkbox.scss +0 -44
- package/themes/light/checkbox/src/checkbox-group/checkbox-group.scss +0 -1
- package/themes/light/collapse/index.scss +0 -2
- package/themes/light/collapse/src/collapse/collapse.scss +0 -21
- package/themes/light/collapse/src/collapse-item/collapse-item.scss +0 -21
- package/themes/light/confirm/index.scss +0 -1
- package/themes/light/confirm/src/confirm/confirm.scss +0 -13
- package/themes/light/datepicker/index.scss +0 -2
- package/themes/light/datepicker/src/datepicker/datepicker.scss +0 -49
- package/themes/light/datepicker/src/datepicker-panel/datepicker-panel.scss +0 -43
- package/themes/light/datetimepicker/index.scss +0 -1
- package/themes/light/datetimepicker/src/datetimepicker/datetimepicker.scss +0 -49
- package/themes/light/demo/index.scss +0 -1
- package/themes/light/demo/src/demo/demo.scss +0 -11
- package/themes/light/draggable/index.scss +0 -9
- package/themes/light/draggable/src/draggrid/draggrid.scss +0 -13
- package/themes/light/draggable/src/draggrid-item/draggrid-item.scss +0 -65
- package/themes/light/draggable/src/draghandler/draghandler.scss +0 -15
- package/themes/light/draggable/src/draglist/draglist.scss +0 -13
- package/themes/light/draggable/src/draglist-item/draglist-item.scss +0 -72
- package/themes/light/draggable/src/dropzone/dropzone.scss +0 -13
- package/themes/light/durationpicker/index.scss +0 -1
- package/themes/light/durationpicker/src/durationpicker/durationpicker.scss +0 -49
- package/themes/light/empty/index.scss +0 -1
- package/themes/light/empty/src/empty-icon/empty-icon.scss +0 -13
- package/themes/light/file/index.scss +0 -1
- package/themes/light/file/src/file/file.scss +0 -38
- package/themes/light/form/index.scss +0 -3
- package/themes/light/form/src/form/form.scss +0 -1
- package/themes/light/form/src/form-group/form-group.scss +0 -17
- package/themes/light/form/src/form-item/form-item.scss +0 -29
- package/themes/light/index.scss +0 -38
- package/themes/light/info/index.scss +0 -3
- package/themes/light/info/src/info/info.scss +0 -5
- package/themes/light/info/src/info-column/info-column.scss +0 -5
- package/themes/light/info/src/info-field/info-field.scss +0 -5
- package/themes/light/input/index.scss +0 -1
- package/themes/light/input/src/input/input.scss +0 -37
- package/themes/light/input-number/index.scss +0 -1
- package/themes/light/input-number/src/input-number/input-number.scss +0 -46
- package/themes/light/loader/index.scss +0 -1
- package/themes/light/loader/src/loader/loader.scss +0 -21
- package/themes/light/map/index.scss +0 -1
- package/themes/light/map/src/map/map.scss +0 -1
- package/themes/light/modal/index.scss +0 -1
- package/themes/light/modal/src/modal/modal.scss +0 -51
- package/themes/light/notification/index.scss +0 -1
- package/themes/light/notification/src/notification/notification.scss +0 -24
- package/themes/light/paginator/index.scss +0 -1
- package/themes/light/paginator/src/paginator/paginator.scss +0 -5
- package/themes/light/popover/index.scss +0 -1
- package/themes/light/popover/src/popover/popover.scss +0 -100
- package/themes/light/radio/index.scss +0 -2
- package/themes/light/radio/src/radio/radio.scss +0 -44
- package/themes/light/radio/src/radio-group/radio-group.scss +0 -1
- package/themes/light/rating/index.scss +0 -1
- package/themes/light/rating/src/rating/rating.scss +0 -18
- package/themes/light/resizer/index.scss +0 -1
- package/themes/light/resizer/src/resizer/resizer.scss +0 -5
- package/themes/light/root/vars.scss +0 -183
- package/themes/light/scrollbar/index.scss +0 -1
- package/themes/light/scrollbar/src/scrollbar/scrollbar.scss +0 -6
- package/themes/light/select/index.scss +0 -2
- package/themes/light/select/src/select/select.scss +0 -46
- package/themes/light/select/src/select-option/select-option.scss +0 -1
- package/themes/light/switch/index.scss +0 -1
- package/themes/light/switch/src/switch/switch.scss +0 -28
- package/themes/light/table/index.scss +0 -4
- package/themes/light/table/src/table/table.scss +0 -14
- package/themes/light/table/src/table-cell/table-cell.scss +0 -50
- package/themes/light/table/src/table-column/table-column.scss +0 -32
- package/themes/light/table/src/table-filter/table-filter.scss +0 -1
- package/themes/light/tabs/index.scss +0 -2
- package/themes/light/tabs/src/tabs/tabs.scss +0 -21
- package/themes/light/tabs/src/tabs-item/tabs-item.scss +0 -18
- package/themes/light/tags/index.scss +0 -2
- package/themes/light/tags/src/tags/tags.scss +0 -1
- package/themes/light/tags/src/tags-item/tags-item.scss +0 -28
- package/themes/light/textarea/index.scss +0 -1
- package/themes/light/textarea/src/textarea/textarea.scss +0 -29
- package/themes/light/timepicker/index.scss +0 -2
- package/themes/light/timepicker/src/timepicker/timepicker.scss +0 -49
- package/themes/light/timepicker/src/timepicker-panel/timepicker-panel.scss +0 -26
- package/themes/light/transfer/index.scss +0 -1
- package/themes/light/transfer/src/transfer/transfer.scss +0 -17
- package/themes/light/virtualscroller/index.scss +0 -1
- package/themes/light/virtualscroller/src/virtualscroller/virtualscroller.scss +0 -1
- /package/{themes/light → src}/root/image/empty-default.svg +0 -0
- /package/{themes/light → src}/root/image/empty-space.svg +0 -0
- /package/{themes/light → src}/root/image/star-default.svg +0 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title>nano.ui</title>
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
7
|
+
<meta name="description" content="Description">
|
8
|
+
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
9
|
+
|
10
|
+
<link rel="icon" type="image/png" href="<%= htmlWebpackPlugin.options.base %>/favicon/favicon-96x96.png" sizes="96x96" />
|
11
|
+
<link rel="icon" type="image/svg+xml" href="<%= htmlWebpackPlugin.options.base %>/favicon/favicon.svg" />
|
12
|
+
<link rel="shortcut icon" href="<%= htmlWebpackPlugin.options.base %>/favicon/favicon.ico" />
|
13
|
+
<link rel="apple-touch-icon" sizes="180x180" href="<%= htmlWebpackPlugin.options.base %>/favicon/apple-touch-icon.png" />
|
14
|
+
<meta name="apple-mobile-web-app-title" content="nano.ui" />
|
15
|
+
<link rel="manifest" href="<%= htmlWebpackPlugin.options.base %>/favicon/site.webmanifest" />
|
16
|
+
|
17
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
18
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
19
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,700&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap" rel="stylesheet">
|
20
|
+
|
21
|
+
<link rel="stylesheet" href="//unpkg.com/backpack.css@2.0.0/lib/backpack.css">
|
22
|
+
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/all.min.css">
|
23
|
+
<link rel="stylesheet" href="<%= htmlWebpackPlugin.options.base %>/dist/nano-ui.css">
|
24
|
+
<link rel="stylesheet" data-theme-href="<%= htmlWebpackPlugin.options.base %>/dist/themes/{theme}.css">
|
25
|
+
<link rel="stylesheet" data-theme-href="<%= htmlWebpackPlugin.options.base %>/docs/dist/{theme}.css">
|
26
|
+
|
27
|
+
<style>
|
28
|
+
<%= htmlWebpackPlugin.options.loaderCss %>
|
29
|
+
</style>
|
30
|
+
</head>
|
31
|
+
<body>
|
32
|
+
<header>
|
33
|
+
<div class="wrapper">
|
34
|
+
<div class="logo">
|
35
|
+
<a href="<%= htmlWebpackPlugin.options.base %>/docs/#/README">
|
36
|
+
<img data-theme-src="<%= htmlWebpackPlugin.options.base %>/assets/nano-ui-{theme}.svg" alt="nano.ui">
|
37
|
+
</a>
|
38
|
+
</div>
|
39
|
+
<div class="logo logo-alt">
|
40
|
+
<a href="https://pico-js.vanki.de" target="_blank">
|
41
|
+
<img data-theme-src="<%= htmlWebpackPlugin.options.base %>/assets/pico-js-{theme}.svg" alt="pico.js">
|
42
|
+
</a>
|
43
|
+
</div>
|
44
|
+
<div class="spacer">
|
45
|
+
<!-- SPACER -->
|
46
|
+
</div>
|
47
|
+
<div class="theme">
|
48
|
+
<a href="javascript:void(0)" data-theme-light>Light</a>
|
49
|
+
</div>
|
50
|
+
<div class="theme last">
|
51
|
+
<a href="javascript:void(0)" data-theme-dark>Dark</a>
|
52
|
+
</div>
|
53
|
+
<div class="social black">
|
54
|
+
<a href="https://www.paypal.com/paypalme/vankizmann" target="_blank">
|
55
|
+
<i class="fab fa-paypal"></i> <span>Support</span>
|
56
|
+
</a>
|
57
|
+
</div>
|
58
|
+
<div class="social blue">
|
59
|
+
<a href="https://github.com/vankizmann/nano-ui" target="_blank">
|
60
|
+
<i class="fab fa-github"></i> <span>Github</span>
|
61
|
+
</a>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
</header>
|
65
|
+
<div id="app">
|
66
|
+
<!-- Docs -->
|
67
|
+
</div>
|
68
|
+
<div class="loader">
|
69
|
+
<span>
|
70
|
+
<%= htmlWebpackPlugin.options.logoSvg %>
|
71
|
+
</span>
|
72
|
+
</div>
|
73
|
+
|
74
|
+
<script src="<%= htmlWebpackPlugin.options.base %>/docs/dist/docs.js" defer></script>
|
75
|
+
</body>
|
76
|
+
</html>
|
@@ -0,0 +1,128 @@
|
|
1
|
+
|
2
|
+
var GenerateItems = function (count, loop) {
|
3
|
+
return pi.Arr.each(pi.Arr.make(count), (index) => {
|
4
|
+
|
5
|
+
var item = {
|
6
|
+
id: 'item-' + pi.UUID(), label: 'Item ' + index, image: 'https://picsum.photos/260/160.jpg?' + pi.UUID(), date: new Date,
|
7
|
+
}
|
8
|
+
|
9
|
+
if ( loop > 1 ) {
|
10
|
+
item.children = GenerateItems(10, loop-1)
|
11
|
+
}
|
12
|
+
|
13
|
+
return item;
|
14
|
+
});
|
15
|
+
};
|
16
|
+
|
17
|
+
let DemoPlugin = function (hook, vm) {
|
18
|
+
|
19
|
+
// Global vue data
|
20
|
+
window.VueData = window.DefaultVueData = {
|
21
|
+
itemsMini: GenerateItems(50, 1),
|
22
|
+
itemsMidi: GenerateItems(500, 1),
|
23
|
+
itemsMaxi: GenerateItems(1000, 2),
|
24
|
+
};
|
25
|
+
|
26
|
+
window.DefaultVueData.types = {
|
27
|
+
'primary': 'Primary',
|
28
|
+
'secondary': 'Secondary',
|
29
|
+
'success': 'Success',
|
30
|
+
'warning': 'Warning',
|
31
|
+
'danger': 'Danger',
|
32
|
+
'info': 'Info',
|
33
|
+
};
|
34
|
+
|
35
|
+
window.DefaultVueData.sizes = {
|
36
|
+
'xs': 'Mini',
|
37
|
+
'sm': 'Small',
|
38
|
+
'md': 'Medium',
|
39
|
+
'lg': 'Large'
|
40
|
+
};
|
41
|
+
|
42
|
+
window.DefaultVueData.icons = {
|
43
|
+
'fa fa-search': 'Search',
|
44
|
+
'fa fa-star': 'Star',
|
45
|
+
'fa fa-check': 'Check',
|
46
|
+
'fa fa-trash': 'Trash'
|
47
|
+
},
|
48
|
+
|
49
|
+
// Remote vue app
|
50
|
+
window.VueRemote = null;
|
51
|
+
|
52
|
+
hook.beforeEach(function (markdown) {
|
53
|
+
|
54
|
+
pi.Dom.find('#temp-script').each(function (el) {
|
55
|
+
el.remove();
|
56
|
+
});
|
57
|
+
|
58
|
+
if ( ! pi.Any.isEmpty(window.VueData) ) {
|
59
|
+
window.VueData = pi.Obj.assign({}, window.DefaultVueData);
|
60
|
+
}
|
61
|
+
|
62
|
+
if ( ! pi.Any.isEmpty(window.VueRemote) ) {
|
63
|
+
window.VueRemote.unmount();
|
64
|
+
}
|
65
|
+
|
66
|
+
let pattern = /```js\s\[demo]([^`]*)```/gm;
|
67
|
+
|
68
|
+
let globaljs = pi.Arr.each(markdown.match(pattern) || [], (text) => {
|
69
|
+
return text.replace(pattern, "$1");
|
70
|
+
});
|
71
|
+
|
72
|
+
pi.Dom.make('script', { id: "temp-script", innerHTML: globaljs.join("\n")})
|
73
|
+
.appendTo(document.body)
|
74
|
+
|
75
|
+
markdown = markdown.replace(/```html\s\[demo]([^`]*)```/gm,
|
76
|
+
'<div class="demo-wrapper">$1</div>');
|
77
|
+
|
78
|
+
return markdown.replace(/```[a-z]+\s\[demo][^`]*```/gm, '');
|
79
|
+
});
|
80
|
+
|
81
|
+
hook.afterEach(function (html) {
|
82
|
+
|
83
|
+
html = html.replace(/<code>(Mixed|Any|String|Boolean|Array|Object)<\/code>/gm,
|
84
|
+
'<code data-type="$1">$1</code>');
|
85
|
+
|
86
|
+
return '<div id="vue-remote">' + html + '</div>';
|
87
|
+
});
|
88
|
+
|
89
|
+
hook.doneEach(function () {
|
90
|
+
|
91
|
+
let options = {
|
92
|
+
data: function () {
|
93
|
+
return window.VueData;
|
94
|
+
}
|
95
|
+
};
|
96
|
+
|
97
|
+
// Create vue instance
|
98
|
+
window.VueRemote = window.Vue
|
99
|
+
.createApp(options);
|
100
|
+
|
101
|
+
window.VueRemote
|
102
|
+
.use(window.nano.Install);
|
103
|
+
|
104
|
+
window.VueRemote.mount('#main');
|
105
|
+
});
|
106
|
+
|
107
|
+
console.log('DemoPlugin done!');
|
108
|
+
}
|
109
|
+
|
110
|
+
let options = {
|
111
|
+
name: 'nano.ui', loadSidebar: true, search: 'auto', depth: 1, subMaxLevel: 1, topMargin: 90
|
112
|
+
};
|
113
|
+
|
114
|
+
let PagetitlePlugin = function(hook, vm) {
|
115
|
+
hook.doneEach(function() {
|
116
|
+
document.title += ' | nano.ui';
|
117
|
+
});
|
118
|
+
}
|
119
|
+
|
120
|
+
options.plugins = [
|
121
|
+
DemoPlugin, PagetitlePlugin
|
122
|
+
];
|
123
|
+
|
124
|
+
if ( pi.Any.isEmpty(options) ) {
|
125
|
+
options.repo = 'https://github.com/vankizmann/nano-ui'
|
126
|
+
}
|
127
|
+
|
128
|
+
window.$docsify = options;
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
import * as Vue from "vue/dist/vue.esm-bundler";
|
3
|
+
window.Vue = Vue;
|
4
|
+
|
5
|
+
// docsify.js
|
6
|
+
window.$docsify = require('docsify')
|
7
|
+
|
8
|
+
// moment.js
|
9
|
+
window.moment = require('moment');
|
10
|
+
|
11
|
+
// pico.js
|
12
|
+
window.pi = require('@kizmann/pico-js');
|
13
|
+
|
14
|
+
|
15
|
+
window.pi.Dom.ready(() => {
|
16
|
+
require('./theme/basic.js');
|
17
|
+
require('./theme/docsify.js');
|
18
|
+
|
19
|
+
// docsify.js search plugin
|
20
|
+
require('docsify/lib/plugins/search');
|
21
|
+
});
|
File without changes
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import { Dom, Obj, Arr, Any } from '@kizmann/pico-js';
|
2
|
+
import { Install as NanoInstall } from '../../../../src/index.js';
|
3
|
+
|
4
|
+
export const VueDemoPlugin = function (hook, vm) {
|
5
|
+
|
6
|
+
// Global vue data
|
7
|
+
window.VueData = window.DefaultVueData = {
|
8
|
+
// itemsMini: GenerateItems(50, 1),
|
9
|
+
// itemsMidi: GenerateItems(500, 1),
|
10
|
+
// itemsMaxi: GenerateItems(1000, 2),
|
11
|
+
};
|
12
|
+
|
13
|
+
window.DefaultVueData.types = {
|
14
|
+
'primary': 'Primary',
|
15
|
+
'secondary': 'Secondary',
|
16
|
+
'success': 'Success',
|
17
|
+
'warning': 'Warning',
|
18
|
+
'danger': 'Danger',
|
19
|
+
'info': 'Info',
|
20
|
+
};
|
21
|
+
|
22
|
+
window.DefaultVueData.sizes = {
|
23
|
+
'xs': 'Mini',
|
24
|
+
'sm': 'Small',
|
25
|
+
'md': 'Medium',
|
26
|
+
'lg': 'Large'
|
27
|
+
};
|
28
|
+
|
29
|
+
window.DefaultVueData.icons = {
|
30
|
+
'fa fa-search': 'Search',
|
31
|
+
'fa fa-star': 'Star',
|
32
|
+
'fa fa-check': 'Check',
|
33
|
+
'fa fa-trash': 'Trash'
|
34
|
+
},
|
35
|
+
|
36
|
+
// Remote vue app
|
37
|
+
window.VueRemote = null;
|
38
|
+
|
39
|
+
hook.beforeEach(function (markdown) {
|
40
|
+
|
41
|
+
Dom.find('#temp-script').each(function (el) {
|
42
|
+
el.remove();
|
43
|
+
});
|
44
|
+
|
45
|
+
if ( ! Any.isEmpty(window.VueData) ) {
|
46
|
+
window.VueData = Obj.assign({}, window.DefaultVueData);
|
47
|
+
}
|
48
|
+
|
49
|
+
if ( ! Any.isEmpty(window.VueRemote) ) {
|
50
|
+
window.VueRemote.unmount();
|
51
|
+
}
|
52
|
+
|
53
|
+
let pattern = /```js\s\[demo]([^`]*)```/gm;
|
54
|
+
|
55
|
+
let globaljs = Arr.each(markdown.match(pattern) || [], (text) => {
|
56
|
+
return text.replace(pattern, "$1");
|
57
|
+
});
|
58
|
+
|
59
|
+
Dom.make('script', { id: "temp-script", innerHTML: globaljs.join("\n")})
|
60
|
+
.appendTo(document.body)
|
61
|
+
|
62
|
+
markdown = markdown.replace(/```html\s\[demo]([^`]*)```/gm,
|
63
|
+
'<div class="demo-wrapper">$1</div>');
|
64
|
+
|
65
|
+
return markdown.replace(/```[a-z]+\s\[demo][^`]*```/gm, '');
|
66
|
+
});
|
67
|
+
|
68
|
+
hook.afterEach(function (html) {
|
69
|
+
|
70
|
+
html = html.replace(/<code>(Mixed|Any|String|Boolean|Array|Object)<\/code>/gm,
|
71
|
+
'<code data-type="$1">$1</code>');
|
72
|
+
|
73
|
+
return '<div id="vue-remote">' + html + '</div>';
|
74
|
+
});
|
75
|
+
|
76
|
+
hook.doneEach(function () {
|
77
|
+
|
78
|
+
let options = {
|
79
|
+
data: function () {
|
80
|
+
return Obj.clone(window.VueData);
|
81
|
+
}
|
82
|
+
};
|
83
|
+
|
84
|
+
// Create vue instance
|
85
|
+
window.VueRemote = window.Vue.createApp(options);
|
86
|
+
|
87
|
+
window.VueRemote.use((app) => {
|
88
|
+
NanoInstall(app)
|
89
|
+
});
|
90
|
+
|
91
|
+
window.VueRemote.mount('#main');
|
92
|
+
});
|
93
|
+
|
94
|
+
console.log('DemoPlugin done!');
|
95
|
+
}
|
96
|
+
|
97
|
+
export default VueDemoPlugin;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Dom, Cookie } from "@kizmann/pico-js";
|
2
|
+
|
3
|
+
const theme = Cookie.get('theme', 'dark');
|
4
|
+
|
5
|
+
Dom.find('[data-theme-' + theme + ']').addClass('active');
|
6
|
+
|
7
|
+
Dom.find('[data-theme-light]').on('click', () => {
|
8
|
+
Cookie.set('theme', 'light'); window.location.reload();
|
9
|
+
});
|
10
|
+
|
11
|
+
Dom.find('[data-theme-dark]').on('click', () => {
|
12
|
+
Cookie.set('theme', 'dark'); window.location.reload();
|
13
|
+
});
|
14
|
+
|
15
|
+
Dom.find('[data-theme-src]').each((el) => {
|
16
|
+
el.src = Dom.find(el).attr('data-theme-src').replace('{theme}', theme);
|
17
|
+
});
|
18
|
+
|
19
|
+
Dom.find('[data-theme-href]').each((el) => {
|
20
|
+
el.href = Dom.find(el).attr('data-theme-href').replace('{theme}', theme);
|
21
|
+
});
|
22
|
+
|
23
|
+
Dom.find(document.body).live('click', '.matching-post', () => {
|
24
|
+
Dom.find('input[type="search"]').value('').fire('input');
|
25
|
+
});
|
26
|
+
|
27
|
+
Dom.find(document.body).on('keydown', (e) => {
|
28
|
+
if ( e.keyCode === 27 ) {
|
29
|
+
Dom.find('input[type="search"]').value('').fire('input');
|
30
|
+
}
|
31
|
+
});
|