@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.
Files changed (270) hide show
  1. package/.github/workflows/compile-deploy-publish.yml +65 -0
  2. package/README.md +1 -1
  3. package/assets/nano-ui-dark.svg +19 -0
  4. package/assets/nano-ui-light.svg +19 -0
  5. package/assets/pico-js-dark.svg +19 -0
  6. package/assets/pico-js-light.svg +19 -0
  7. package/demos/form.html +462 -0
  8. package/demos/overview.html +97 -45
  9. package/docs/_sidebar.md +11 -10
  10. package/docs/files/form/button.md +10 -1
  11. package/docs/files/form/switch.md +6 -0
  12. package/docs/files/others/config.md +261 -8
  13. package/docs/files/others/drawer.md +32 -0
  14. package/docs/files/others/map.md +32 -0
  15. package/docs/index.template.html +76 -0
  16. package/docs/src/js/backup.js +128 -0
  17. package/docs/src/js/helper/item-helper.js +0 -0
  18. package/docs/src/js/index.js +21 -0
  19. package/docs/src/js/plugin/title-plugin.js +0 -0
  20. package/docs/src/js/plugin/vue-demo-plugin.js +97 -0
  21. package/docs/src/js/theme/basic.js +31 -0
  22. package/docs/src/js/theme/docsify.js +11 -0
  23. package/docs/src/scss/index-dark.scss +3 -0
  24. package/docs/src/scss/index-light.scss +3 -0
  25. package/docs/src/scss/index.scss +10 -443
  26. package/docs/src/scss/mixins/grid.scss +12 -11
  27. package/docs/src/scss/mixins/media.scss +2 -1
  28. package/docs/src/scss/root/vars-dark.scss +15 -0
  29. package/docs/src/scss/root/vars-light.scss +15 -0
  30. package/docs/src/scss/root/vars.scss +110 -0
  31. package/docs/src/scss/theme/default.scss +123 -0
  32. package/docs/src/scss/theme/header.scss +147 -0
  33. package/docs/src/scss/theme/layout.scss +186 -0
  34. package/docs/src/scss/theme/loader.scss +63 -0
  35. package/docs/src/scss/theme/markdown.scss +79 -0
  36. package/docs/src/scss/theme/navigation.scss +58 -0
  37. package/docs/src/scss/theme/progress.scss +9 -0
  38. package/docs/src/scss/theme/search.scss +119 -0
  39. package/docs/src/scss/{docsify → theme}/syntax.scss +18 -15
  40. package/docs/src/scss/theme/table.scss +63 -0
  41. package/favicon/apple-touch-icon.png +0 -0
  42. package/favicon/favicon-96x96.png +0 -0
  43. package/favicon/favicon.ico +0 -0
  44. package/favicon/favicon.svg +3 -0
  45. package/favicon/site.webmanifest +21 -0
  46. package/favicon/web-app-manifest-192x192.png +0 -0
  47. package/favicon/web-app-manifest-512x512.png +0 -0
  48. package/package.json +19 -12
  49. package/postcss.config.js +1 -1
  50. package/src/alert/src/alert/alert.scss +5 -4
  51. package/src/button/src/button/button.scss +5 -5
  52. package/src/button/src/button-group/button-group.scss +5 -4
  53. package/src/cascader/src/cascader/cascader.scss +5 -4
  54. package/src/cascader/src/cascader-panel/cascader-panel.scss +5 -4
  55. package/src/checkbox/src/checkbox/checkbox.scss +5 -4
  56. package/src/checkbox/src/checkbox-group/checkbox-group.scss +5 -4
  57. package/src/collapse/src/collapse/collapse.scss +5 -4
  58. package/src/collapse/src/collapse-item/collapse-item.scss +5 -4
  59. package/src/config/src/builder/builder.scss +17 -13
  60. package/src/config/src/reference-panel/reference-panel.scss +7 -4
  61. package/src/confirm/src/confirm/confirm.scss +5 -4
  62. package/src/datepicker/src/datepicker/datepicker.scss +5 -4
  63. package/src/datepicker/src/datepicker-panel/datepicker-panel.scss +5 -4
  64. package/src/datetimepicker/src/datetimepicker/datetimepicker.js +0 -4
  65. package/src/datetimepicker/src/datetimepicker/datetimepicker.scss +5 -4
  66. package/src/draggable/src/draggrid/draggrid.scss +5 -4
  67. package/src/draggable/src/draggrid-item/draggrid-item.scss +5 -4
  68. package/src/draggable/src/draglist/draglist.scss +5 -4
  69. package/src/draggable/src/draglist-item/draglist-item.scss +5 -4
  70. package/src/draggable/src/dropzone/dropzone.scss +5 -4
  71. package/src/drawer/index.js +5 -0
  72. package/src/drawer/index.scss +1 -0
  73. package/src/drawer/src/drawer/drawer.js +431 -0
  74. package/src/drawer/src/drawer/drawer.scss +136 -0
  75. package/src/durationpicker/src/durationpicker/durationpicker.scss +5 -4
  76. package/src/empty/src/empty-icon/empty-icon.scss +5 -4
  77. package/src/form/index.js +6 -0
  78. package/src/form/index.scss +2 -0
  79. package/src/form/src/form/form.js +11 -1
  80. package/src/form/src/form-frame/form-frame.js +42 -0
  81. package/src/form/src/form-frame/form-frame.scss +28 -0
  82. package/src/form/src/form-frame-item/form-frame-item.js +114 -0
  83. package/src/form/src/form-group/form-group.js +33 -1
  84. package/src/form/src/form-group/form-group.scss +5 -4
  85. package/src/form/src/form-item/form-item.scss +5 -4
  86. package/src/form/src/form-menu/form-menu.js +89 -0
  87. package/src/form/src/form-menu/form-menu.scss +9 -0
  88. package/src/index.js +1 -0
  89. package/src/index.scss +1 -0
  90. package/src/info/src/info/info.scss +5 -4
  91. package/src/info/src/info-column/info-column.scss +7 -4
  92. package/src/input/src/input/input.scss +5 -4
  93. package/src/input-number/src/input-number/input-number.scss +5 -4
  94. package/src/loader/src/loader/loader.scss +5 -4
  95. package/src/modal/src/modal/modal.scss +5 -4
  96. package/src/notification/src/notification/notification.scss +5 -4
  97. package/src/paginator/src/paginator/paginator.scss +5 -4
  98. package/src/popover/src/popover/popover.scss +5 -4
  99. package/src/radio/src/radio/radio.scss +5 -4
  100. package/src/radio/src/radio-group/radio-group.scss +5 -4
  101. package/src/rating/src/rating/rating.scss +5 -4
  102. package/src/root/vars.scss +84 -81
  103. package/src/select/src/select/select.scss +5 -4
  104. package/src/slider/src/slider/slider.scss +5 -4
  105. package/src/switch/src/switch/switch.scss +6 -4
  106. package/src/table/src/table/table.scss +15 -0
  107. package/src/table/src/table-cell/table-cell.scss +5 -4
  108. package/src/tabs/src/tabs/tabs.scss +5 -4
  109. package/src/tabs/src/tabs-item/tabs-item.scss +5 -4
  110. package/src/tags/src/tags-item/tags-item.scss +5 -4
  111. package/src/textarea/src/textarea/textarea.scss +5 -4
  112. package/src/timepicker/src/timepicker/timepicker.scss +5 -4
  113. package/src/timepicker/src/timepicker-panel/timepicker-panel.scss +5 -4
  114. package/src/transfer/src/transfer/transfer.scss +5 -4
  115. package/themes/macos/alert/src/alert/alert.scss +4 -3
  116. package/themes/macos/button/src/button/button.scss +8 -3
  117. package/themes/macos/cascader/src/cascader/cascader.scss +5 -4
  118. package/themes/macos/checkbox/src/checkbox/checkbox.scss +5 -4
  119. package/themes/macos/collapse/src/collapse/collapse.scss +4 -3
  120. package/themes/macos/collapse/src/collapse-item/collapse-item.scss +4 -3
  121. package/themes/macos/confirm/src/confirm/confirm.scss +4 -3
  122. package/themes/macos/datepicker/src/datepicker/datepicker.scss +5 -4
  123. package/themes/macos/datepicker/src/datepicker-panel/datepicker-panel.scss +4 -3
  124. package/themes/macos/datetimepicker/src/datetimepicker/datetimepicker.scss +14 -12
  125. package/themes/macos/draggable/src/draggrid/draggrid.scss +4 -3
  126. package/themes/macos/draggable/src/draggrid-item/draggrid-item.scss +4 -3
  127. package/themes/macos/draggable/src/draglist/draglist.scss +4 -3
  128. package/themes/macos/draggable/src/draglist-item/draglist-item.scss +6 -5
  129. package/themes/macos/draggable/src/dropzone/dropzone.scss +4 -3
  130. package/themes/macos/drawer/index.scss +1 -0
  131. package/themes/macos/drawer/src/drawer/drawer.scss +35 -0
  132. package/themes/macos/durationpicker/src/durationpicker/durationpicker.scss +5 -4
  133. package/themes/macos/file/src/file/file.scss +4 -3
  134. package/themes/macos/form/src/form-group/form-group.scss +4 -3
  135. package/themes/macos/index-dark.scss +1 -39
  136. package/themes/macos/index-light.scss +1 -39
  137. package/themes/macos/index.scss +1 -2
  138. package/themes/macos/input/src/input/input.scss +6 -5
  139. package/themes/macos/input-number/src/input-number/input-number.scss +6 -5
  140. package/themes/macos/loader/src/loader/loader.scss +4 -3
  141. package/themes/macos/modal/src/modal/modal.scss +6 -5
  142. package/themes/macos/notification/src/notification/notification.scss +4 -3
  143. package/themes/macos/popover/src/popover/popover.scss +9 -8
  144. package/themes/macos/radio/src/radio/radio.scss +5 -4
  145. package/themes/macos/rating/src/rating/rating.scss +4 -3
  146. package/themes/macos/root/vars-dark.scss +87 -74
  147. package/themes/macos/root/vars-light.scss +87 -74
  148. package/themes/macos/root/vars.scss +88 -74
  149. package/themes/macos/select/src/select/select.scss +5 -4
  150. package/themes/macos/switch/src/switch/switch.scss +6 -4
  151. package/themes/macos/table/src/table/table.scss +3 -3
  152. package/themes/macos/table/src/table-cell/table-cell.scss +5 -4
  153. package/themes/macos/tabs/src/tabs/tabs.scss +4 -3
  154. package/themes/macos/tabs/src/tabs-item/tabs-item.scss +4 -3
  155. package/themes/macos/tags/src/tags-item/tags-item.scss +6 -4
  156. package/themes/macos/textarea/src/textarea/textarea.scss +5 -4
  157. package/themes/macos/timepicker/src/timepicker/timepicker.scss +5 -4
  158. package/themes/macos/timepicker/src/timepicker-panel/timepicker-panel.scss +4 -3
  159. package/webpack.config.js +81 -13
  160. package/bun.lockb +0 -0
  161. package/dist/nano-ui.css +0 -2
  162. package/dist/nano-ui.js +0 -4
  163. package/dist/nano-ui.js.map +0 -1
  164. package/dist/themes/dark.css +0 -2
  165. package/dist/themes/light.css +0 -2
  166. package/docs/dist/docs.css +0 -2
  167. package/docs/index.html +0 -176
  168. package/docs/src/scss/docsify/basic/_coverpage.sass +0 -95
  169. package/docs/src/scss/docsify/basic/_layout.sass +0 -472
  170. package/docs/src/scss/docsify/vue.sass +0 -250
  171. package/nano.svg +0 -52
  172. package/themes/light/alert/index.scss +0 -1
  173. package/themes/light/alert/src/alert/alert.scss +0 -26
  174. package/themes/light/button/index.scss +0 -2
  175. package/themes/light/button/src/button/button.scss +0 -46
  176. package/themes/light/button/src/button-group/button-group.scss +0 -1
  177. package/themes/light/cascader/index.scss +0 -2
  178. package/themes/light/cascader/src/cascader/cascader.scss +0 -45
  179. package/themes/light/cascader/src/cascader-panel/cascader-panel.scss +0 -13
  180. package/themes/light/checkbox/index.scss +0 -2
  181. package/themes/light/checkbox/src/checkbox/checkbox.scss +0 -44
  182. package/themes/light/checkbox/src/checkbox-group/checkbox-group.scss +0 -1
  183. package/themes/light/collapse/index.scss +0 -2
  184. package/themes/light/collapse/src/collapse/collapse.scss +0 -21
  185. package/themes/light/collapse/src/collapse-item/collapse-item.scss +0 -21
  186. package/themes/light/confirm/index.scss +0 -1
  187. package/themes/light/confirm/src/confirm/confirm.scss +0 -13
  188. package/themes/light/datepicker/index.scss +0 -2
  189. package/themes/light/datepicker/src/datepicker/datepicker.scss +0 -49
  190. package/themes/light/datepicker/src/datepicker-panel/datepicker-panel.scss +0 -43
  191. package/themes/light/datetimepicker/index.scss +0 -1
  192. package/themes/light/datetimepicker/src/datetimepicker/datetimepicker.scss +0 -49
  193. package/themes/light/demo/index.scss +0 -1
  194. package/themes/light/demo/src/demo/demo.scss +0 -11
  195. package/themes/light/draggable/index.scss +0 -9
  196. package/themes/light/draggable/src/draggrid/draggrid.scss +0 -13
  197. package/themes/light/draggable/src/draggrid-item/draggrid-item.scss +0 -65
  198. package/themes/light/draggable/src/draghandler/draghandler.scss +0 -15
  199. package/themes/light/draggable/src/draglist/draglist.scss +0 -13
  200. package/themes/light/draggable/src/draglist-item/draglist-item.scss +0 -72
  201. package/themes/light/draggable/src/dropzone/dropzone.scss +0 -13
  202. package/themes/light/durationpicker/index.scss +0 -1
  203. package/themes/light/durationpicker/src/durationpicker/durationpicker.scss +0 -49
  204. package/themes/light/empty/index.scss +0 -1
  205. package/themes/light/empty/src/empty-icon/empty-icon.scss +0 -13
  206. package/themes/light/file/index.scss +0 -1
  207. package/themes/light/file/src/file/file.scss +0 -38
  208. package/themes/light/form/index.scss +0 -3
  209. package/themes/light/form/src/form/form.scss +0 -1
  210. package/themes/light/form/src/form-group/form-group.scss +0 -17
  211. package/themes/light/form/src/form-item/form-item.scss +0 -29
  212. package/themes/light/index.scss +0 -38
  213. package/themes/light/info/index.scss +0 -3
  214. package/themes/light/info/src/info/info.scss +0 -5
  215. package/themes/light/info/src/info-column/info-column.scss +0 -5
  216. package/themes/light/info/src/info-field/info-field.scss +0 -5
  217. package/themes/light/input/index.scss +0 -1
  218. package/themes/light/input/src/input/input.scss +0 -37
  219. package/themes/light/input-number/index.scss +0 -1
  220. package/themes/light/input-number/src/input-number/input-number.scss +0 -46
  221. package/themes/light/loader/index.scss +0 -1
  222. package/themes/light/loader/src/loader/loader.scss +0 -21
  223. package/themes/light/map/index.scss +0 -1
  224. package/themes/light/map/src/map/map.scss +0 -1
  225. package/themes/light/modal/index.scss +0 -1
  226. package/themes/light/modal/src/modal/modal.scss +0 -51
  227. package/themes/light/notification/index.scss +0 -1
  228. package/themes/light/notification/src/notification/notification.scss +0 -24
  229. package/themes/light/paginator/index.scss +0 -1
  230. package/themes/light/paginator/src/paginator/paginator.scss +0 -5
  231. package/themes/light/popover/index.scss +0 -1
  232. package/themes/light/popover/src/popover/popover.scss +0 -100
  233. package/themes/light/radio/index.scss +0 -2
  234. package/themes/light/radio/src/radio/radio.scss +0 -44
  235. package/themes/light/radio/src/radio-group/radio-group.scss +0 -1
  236. package/themes/light/rating/index.scss +0 -1
  237. package/themes/light/rating/src/rating/rating.scss +0 -18
  238. package/themes/light/resizer/index.scss +0 -1
  239. package/themes/light/resizer/src/resizer/resizer.scss +0 -5
  240. package/themes/light/root/vars.scss +0 -183
  241. package/themes/light/scrollbar/index.scss +0 -1
  242. package/themes/light/scrollbar/src/scrollbar/scrollbar.scss +0 -6
  243. package/themes/light/select/index.scss +0 -2
  244. package/themes/light/select/src/select/select.scss +0 -46
  245. package/themes/light/select/src/select-option/select-option.scss +0 -1
  246. package/themes/light/switch/index.scss +0 -1
  247. package/themes/light/switch/src/switch/switch.scss +0 -28
  248. package/themes/light/table/index.scss +0 -4
  249. package/themes/light/table/src/table/table.scss +0 -14
  250. package/themes/light/table/src/table-cell/table-cell.scss +0 -50
  251. package/themes/light/table/src/table-column/table-column.scss +0 -32
  252. package/themes/light/table/src/table-filter/table-filter.scss +0 -1
  253. package/themes/light/tabs/index.scss +0 -2
  254. package/themes/light/tabs/src/tabs/tabs.scss +0 -21
  255. package/themes/light/tabs/src/tabs-item/tabs-item.scss +0 -18
  256. package/themes/light/tags/index.scss +0 -2
  257. package/themes/light/tags/src/tags/tags.scss +0 -1
  258. package/themes/light/tags/src/tags-item/tags-item.scss +0 -28
  259. package/themes/light/textarea/index.scss +0 -1
  260. package/themes/light/textarea/src/textarea/textarea.scss +0 -29
  261. package/themes/light/timepicker/index.scss +0 -2
  262. package/themes/light/timepicker/src/timepicker/timepicker.scss +0 -49
  263. package/themes/light/timepicker/src/timepicker-panel/timepicker-panel.scss +0 -26
  264. package/themes/light/transfer/index.scss +0 -1
  265. package/themes/light/transfer/src/transfer/transfer.scss +0 -17
  266. package/themes/light/virtualscroller/index.scss +0 -1
  267. package/themes/light/virtualscroller/src/virtualscroller/virtualscroller.scss +0 -1
  268. /package/{themes/light → src}/root/image/empty-default.svg +0 -0
  269. /package/{themes/light → src}/root/image/empty-space.svg +0 -0
  270. /package/{themes/light → src}/root/image/star-default.svg +0 -0
@@ -0,0 +1,65 @@
1
+ name: compile-deploy-publish
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ compile-deploy-publish:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v3
15
+
16
+ - name: Set up Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: '16'
20
+
21
+ - name: Install dependencies
22
+ run: yarn install
23
+
24
+ - name: Build package
25
+ run: yarn build
26
+
27
+ - name: Deploy to GitHub Pages
28
+ uses: peaceiris/actions-gh-pages@v3
29
+ with:
30
+ github_token: ${{ secrets.GITHUB_TOKEN }}
31
+
32
+ - name: Get current version
33
+ id: get_version
34
+ run: |
35
+ version=$(node -p "require('./package.json').version")
36
+ echo "PACKAGE_VERSION=$version" >> $GITHUB_ENV
37
+
38
+ - name: Fetch all tags
39
+ run: git fetch --tags
40
+
41
+ - name: Check if tag already exists
42
+ id: check_tag
43
+ run: |
44
+ if git rev-parse "v$PACKAGE_VERSION" >/dev/null 2>&1; then
45
+ echo "Tag v$PACKAGE_VERSION already exists."
46
+ echo "exists=true" >> $GITHUB_OUTPUT
47
+ else
48
+ echo "Tag v$PACKAGE_VERSION does not exist yet."
49
+ echo "exists=false" >> $GITHUB_OUTPUT
50
+ fi
51
+
52
+ - name: Create and push tag
53
+ if: steps.check_tag.outputs.exists == 'false'
54
+ run: |
55
+ git config user.name "github-actions[bot]"
56
+ git config user.email "github-actions[bot]@users.noreply.github.com"
57
+ git tag v$PACKAGE_VERSION
58
+ git push origin v$PACKAGE_VERSION
59
+
60
+ - name: Set up .npmrc
61
+ run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
62
+
63
+ - name: Create and push tag
64
+ if: steps.check_tag.outputs.exists == 'false'
65
+ run: yarn publish --new-version $(node -p "require('./package.json').version") --non-interactive
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <p align="center"><img width="170" src="https://github.com/vankizmann/nano-ui/blob/master/nano.svg?raw=true" alt="nano-ui"></p>
1
+ <p align="center"><img width="170" src="https://github.com/vankizmann/nano-ui/blob/master/assets/nano-ui-dark.svg?raw=true" alt="nano-ui"></p>
2
2
 
3
3
  <p align="center">
4
4
  <a href="https://www.npmjs.org/package/@kizmann/nano-ui">
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="a" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 140">
3
+ <defs>
4
+ <style>
5
+ .b {
6
+ fill: #ffffff;
7
+ }
8
+
9
+ .c {
10
+ fill: #d31f9d;
11
+ }
12
+ </style>
13
+ </defs>
14
+ <path class="b" d="M296.5034,107.1878c-19.0781,0-34.5996-15.8745-34.5996-35.3877s15.5215-35.387,34.5996-35.387,34.5989,15.8745,34.5989,35.387-15.5208,35.3877-34.5989,35.3877ZM296.5034,50.6632c-11.2207,0-20.3496,9.4819-20.3496,21.137s9.1289,21.1377,20.3496,21.1377,20.3489-9.4827,20.3489-21.1377-9.1282-21.137-20.3489-21.137Z"/>
15
+ <path class="b" d="M62.8857,36.4278c-9.9966,0-17.8507,3.4847-23.4836,8.8643l-2.7956-4.3571h-7.669v28.2469c-.0254.5649-.0399,1.1302-.0399,1.6953v34.7805h15v-34.7805c0-14.3555,10.229-19.4495,18.988-19.4495,10.5366,0,16.5798,7.0891,16.5798,19.4495v34.7805h15v-34.7805c0-20.6052-12.6907-34.4495-31.5798-34.4495Z"/>
16
+ <path class="b" d="M173.2802,40.9351h-7.669l-3.3257,5.1835c-6.2037-6.0084-14.5682-9.7054-23.7662-9.7054-19.0781,0-34.5989,15.8745-34.5989,35.387s15.5208,35.3877,34.5989,35.3877c8.9164,0,17.0548-3.4688,23.1961-9.1544l3.8958,6.0721h7.669v-63.1704ZM138.5193,92.9378c-11.2207,0-20.3489-9.4827-20.3489-21.1377s9.1282-21.137,20.3489-21.137,20.3496,9.4819,20.3496,21.137-9.1289,21.1377-20.3496,21.1377Z"/>
17
+ <path class="b" d="M221.4214,36.4278c-10.0105,0-17.8723,3.4943-23.5068,8.8863l-2.8096-4.3791h-7.669v29.783c-.0002.0531-.0034.1061-.0034.1592v33.2805h15v-33.2805c0-14.3555,10.229-19.4495,18.9888-19.4495,10.5359,0,16.5791,7.0891,16.5791,19.4495v33.2805h15v-33.2805c0-20.6052-12.6907-34.4495-31.5791-34.4495Z"/>
18
+ <rect class="c" x="276.3458" y="117.7933" width="40.8201" height="12"/>
19
+ </svg>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="a" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 140">
3
+ <defs>
4
+ <style>
5
+ .b {
6
+ fill: #111111;
7
+ }
8
+
9
+ .c {
10
+ fill: #d31f9d;
11
+ }
12
+ </style>
13
+ </defs>
14
+ <path class="b" d="M296.5034,107.1878c-19.0781,0-34.5996-15.8745-34.5996-35.3877s15.5215-35.387,34.5996-35.387,34.5989,15.8745,34.5989,35.387-15.5208,35.3877-34.5989,35.3877ZM296.5034,50.6632c-11.2207,0-20.3496,9.4819-20.3496,21.137s9.1289,21.1377,20.3496,21.1377,20.3489-9.4827,20.3489-21.1377-9.1282-21.137-20.3489-21.137Z"/>
15
+ <path class="b" d="M62.8857,36.4278c-9.9966,0-17.8507,3.4847-23.4836,8.8643l-2.7956-4.3571h-7.669v28.2469c-.0254.5649-.0399,1.1302-.0399,1.6953v34.7805h15v-34.7805c0-14.3555,10.229-19.4495,18.988-19.4495,10.5366,0,16.5798,7.0891,16.5798,19.4495v34.7805h15v-34.7805c0-20.6052-12.6907-34.4495-31.5798-34.4495Z"/>
16
+ <path class="b" d="M173.2802,40.9351h-7.669l-3.3257,5.1835c-6.2037-6.0084-14.5682-9.7054-23.7662-9.7054-19.0781,0-34.5989,15.8745-34.5989,35.387s15.5208,35.3877,34.5989,35.3877c8.9164,0,17.0548-3.4688,23.1961-9.1544l3.8958,6.0721h7.669v-63.1704ZM138.5193,92.9378c-11.2207,0-20.3489-9.4827-20.3489-21.1377s9.1282-21.137,20.3489-21.137,20.3496,9.4819,20.3496,21.137-9.1289,21.1377-20.3496,21.1377Z"/>
17
+ <path class="b" d="M221.4214,36.4278c-10.0105,0-17.8723,3.4943-23.5068,8.8863l-2.8096-4.3791h-7.669v29.783c-.0002.0531-.0034.1061-.0034.1592v33.2805h15v-33.2805c0-14.3555,10.229-19.4495,18.9888-19.4495,10.5359,0,16.5791,7.0891,16.5791,19.4495v33.2805h15v-33.2805c0-20.6052-12.6907-34.4495-31.5791-34.4495Z"/>
18
+ <rect class="c" x="276.3458" y="117.7933" width="40.8201" height="12"/>
19
+ </svg>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="a" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 140">
3
+ <defs>
4
+ <style>
5
+ .b {
6
+ fill: #ffffff;
7
+ }
8
+
9
+ .c {
10
+ fill: #ecd408;
11
+ }
12
+ </style>
13
+ </defs>
14
+ <path class="b" d="M271.224,106.9426c-19.0781,0-34.5996-15.8745-34.5996-35.3877s15.5215-35.387,34.5996-35.387,34.5989,15.8745,34.5989,35.387-15.5208,35.3877-34.5989,35.3877ZM271.224,50.4179c-11.2207,0-20.3496,9.4819-20.3496,21.137s9.1289,21.1377,20.3496,21.1377,20.3489-9.4827,20.3489-21.1377-9.1282-21.137-20.3489-21.137Z"/>
15
+ <path class="b" d="M54.1858,129.9574h14.25v-29.608c5.7433,4.3386,12.8305,6.9182,20.5022,6.9182,19.0781,0,34.5989-15.8745,34.5989-35.3877s-15.5208-35.387-34.5989-35.387c-9.1979,0-17.5625,3.697-23.7662,9.7054l-3.3257-5.1835h-7.669l.0087,88.9426ZM88.9381,93.0176c-11.2207,0-20.3496-9.4827-20.3496-21.1377s9.1289-21.137,20.3496-21.137,20.3489,9.4819,20.3489,21.137-9.1282,21.1377-20.3489,21.1377Z"/>
16
+ <path class="b" d="M216.8944,84.305c-3.7149,5.1465-9.6156,8.4975-16.2708,8.4975-11.2207,0-20.3496-9.4827-20.3496-21.1377s9.1289-21.137,20.3496-21.137c5.742,0,10.9258,2.4932,14.629,6.4798,3.3409-2.1117,8.2575-5.2152,12.1845-7.6765-6.3495-7.9596-16.0095-13.0533-26.8135-13.0533-19.0781,0-34.5996,15.8745-34.5996,35.387s15.5215,35.3877,34.5996,35.3877c11.3617,0,21.4601-5.6315,27.7716-14.3073l-11.5008-8.4402Z"/>
17
+ <polygon class="b" points="142.1523 36.8857 136.9992 42.7734 136.9992 105.8322 153.4992 105.8322 153.4992 36.8857 142.1523 36.8857"/>
18
+ <rect class="c" x="251.148" y="117.8746" width="40.8201" height="12"/>
19
+ </svg>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="a" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 140">
3
+ <defs>
4
+ <style>
5
+ .b {
6
+ fill: #111111;
7
+ }
8
+
9
+ .c {
10
+ fill: #ecd408;
11
+ }
12
+ </style>
13
+ </defs>
14
+ <path class="b" d="M271.224,106.9426c-19.0781,0-34.5996-15.8745-34.5996-35.3877s15.5215-35.387,34.5996-35.387,34.5989,15.8745,34.5989,35.387-15.5208,35.3877-34.5989,35.3877ZM271.224,50.4179c-11.2207,0-20.3496,9.4819-20.3496,21.137s9.1289,21.1377,20.3496,21.1377,20.3489-9.4827,20.3489-21.1377-9.1282-21.137-20.3489-21.137Z"/>
15
+ <path class="b" d="M54.1858,129.9574h14.25v-29.608c5.7433,4.3386,12.8305,6.9182,20.5022,6.9182,19.0781,0,34.5989-15.8745,34.5989-35.3877s-15.5208-35.387-34.5989-35.387c-9.1979,0-17.5625,3.697-23.7662,9.7054l-3.3257-5.1835h-7.669l.0087,88.9426ZM88.9381,93.0176c-11.2207,0-20.3496-9.4827-20.3496-21.1377s9.1289-21.137,20.3496-21.137,20.3489,9.4819,20.3489,21.137-9.1282,21.1377-20.3489,21.1377Z"/>
16
+ <path class="b" d="M216.8944,84.305c-3.7149,5.1465-9.6156,8.4975-16.2708,8.4975-11.2207,0-20.3496-9.4827-20.3496-21.1377s9.1289-21.137,20.3496-21.137c5.742,0,10.9258,2.4932,14.629,6.4798,3.3409-2.1117,8.2575-5.2152,12.1845-7.6765-6.3495-7.9596-16.0095-13.0533-26.8135-13.0533-19.0781,0-34.5996,15.8745-34.5996,35.387s15.5215,35.3877,34.5996,35.3877c11.3617,0,21.4601-5.6315,27.7716-14.3073l-11.5008-8.4402Z"/>
17
+ <polygon class="b" points="142.1523 36.8857 136.9992 42.7734 136.9992 105.8322 153.4992 105.8322 153.4992 36.8857 142.1523 36.8857"/>
18
+ <rect class="c" x="251.148" y="117.8746" width="40.8201" height="12"/>
19
+ </svg>
@@ -0,0 +1,462 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
6
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
+ <title>Nano UI</title>
8
+
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">
10
+ <link rel="stylesheet" href="https://unpkg.com/backpack.css@2.0.0/lib/backpack.css">
11
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css">
12
+ <link rel="stylesheet" href="../dist/nano-ui.css">
13
+ <link id="theme" rel="stylesheet" href="../dist/themes/light.css">
14
+
15
+ <link rel="stylesheet" href="../style.css">
16
+
17
+ <style>
18
+
19
+ div {
20
+ box-sizing: border-box;
21
+ }
22
+
23
+ body {
24
+ font-family: 'Inter', 'Helvetica', 'Arial', sans-serif;
25
+ font-size: 14px;
26
+ height: 100%;
27
+ overflow-x: hidden;
28
+ }
29
+
30
+ #app {
31
+ overflow-x: hidden;
32
+ }
33
+
34
+ .app-container {
35
+ max-width: 1440px;
36
+ margin: 0 auto;
37
+ padding: 20px 30px 40px 30px;
38
+ }
39
+
40
+ .app-options {
41
+ border-bottom: 1px solid rgba(110, 110, 110, 0.15);
42
+ margin-bottom: 20px;
43
+ }
44
+
45
+ h2 {
46
+ font-size: 32px;
47
+ font-weight: bold;
48
+ padding-bottom: 10px;
49
+ margin: 50px 0 15px;
50
+ border-bottom: 1px solid rgba(110, 110, 110, 0.15);
51
+ }
52
+
53
+ </style>
54
+
55
+ <script src="https://unpkg.com/moment"></script>
56
+ <script src="https://unpkg.com/vue@3.4.6"></script>
57
+ <script src="https://vankizmann.github.io/pico-js/dist/pico-js.js"></script>
58
+ <script src="../dist/nano-ui.js"></script>
59
+ <script src="https://unpkg.com/@google/markerclustererplus@4.0.1/dist/markerclustererplus.min.js"></script>
60
+ <script src="https://maps.googleapis.com/maps/api/js"></script>
61
+
62
+ </head>
63
+ <body class="n-demo">
64
+
65
+ <div id="app">
66
+ <div class="app-container">
67
+ <n-form>
68
+ <n-frame style="height: 90vh;">
69
+ <n-frame-item :resize="true" :width="200">
70
+ <n-form-menu></n-form-menu>
71
+ </n-frame-item>
72
+ <n-frameya-item :scrollbar="true">
73
+ <n-form-group label="foobar 1">
74
+ <n-form-item label="Test">
75
+ <n-input></n-input>
76
+ </n-form-item>
77
+ <n-form-item label="Test">
78
+ <n-input></n-input>
79
+ </n-form-item>
80
+ <n-form-item label="Test">
81
+ <n-input></n-input>
82
+ </n-form-item>
83
+ </n-form-group>
84
+ <n-form-group label="foobar 2">
85
+ <n-form-item label="Test">
86
+ <n-input></n-input>
87
+ </n-form-item>
88
+ <n-form-item label="Test">
89
+ <n-input></n-input>
90
+ </n-form-item>
91
+ <n-form-item label="Test">
92
+ <n-input></n-input>
93
+ </n-form-item>
94
+ </n-form-group>
95
+ <n-form-group label="foobar 3">
96
+ <n-form-item label="Test">
97
+ <n-input></n-input>
98
+ </n-form-item>
99
+ <n-form-item label="Test">
100
+ <n-input></n-input>
101
+ </n-form-item>
102
+ <n-form-item label="Test">
103
+ <n-input></n-input>
104
+ </n-form-item>
105
+ <n-form-item label="Test">
106
+ <n-input></n-input>
107
+ </n-form-item>
108
+ <n-form-item label="Test">
109
+ <n-input></n-input>
110
+ </n-form-item>
111
+ <n-form-item label="Test">
112
+ <n-input></n-input>
113
+ </n-form-item>
114
+ </n-form-group>
115
+ </n-frameya-item>
116
+ </n-frame>
117
+
118
+ </n-form>
119
+ </div>
120
+ </div>
121
+
122
+ <script>
123
+
124
+ (function (nano) {
125
+
126
+ 'use strict';
127
+
128
+ pi.Locale.set('URL', "URL2");
129
+ pi.Locale.set('URX', "URX2");
130
+
131
+ pi.Dom.ready(function () {
132
+
133
+ let data = {};
134
+
135
+ data.demoModel = {
136
+ test: true,
137
+ label: 'foobar',
138
+ option: {
139
+ url: 'http://', redirect: 'AHA'
140
+ }
141
+ };
142
+
143
+ data.demoScope = {
144
+ testme: () => {
145
+ console.log('abc');
146
+ }
147
+ }
148
+
149
+ data.sizes = {
150
+ xs: 'XS',
151
+ sm: 'SM',
152
+ md: 'MD',
153
+ lg: 'LG'
154
+ };
155
+
156
+ data.types = {
157
+ primary: 'Primary',
158
+ secondary: 'Secondary',
159
+ success: 'Success',
160
+ warning: 'Warning',
161
+ danger: 'Danger',
162
+ info: 'Info'
163
+ };
164
+
165
+ data.modals = {
166
+ default: 'Default',
167
+ preview: 'Preview',
168
+ };
169
+
170
+ pi.Obj.set(data, 'demoConfigNext.NFormGroup:root', {
171
+ vShow: [
172
+ '$model.test'
173
+ ],
174
+ props: {
175
+ label: '$model.label',
176
+ icon: 'fa fa-directions'
177
+ }
178
+ });
179
+
180
+ pi.Obj.set(data, 'demoConfigNext.NFormGroup:root.content.NFormItem:url', {
181
+ props: {
182
+ label: '\\@URX',
183
+ test: function() {
184
+ console.log(123);
185
+ }
186
+ },
187
+ content: {
188
+ 'NInput': {
189
+ binds: {
190
+ modelValue: '$model.option.url'
191
+ }
192
+ }
193
+ }
194
+ });
195
+
196
+ pi.Obj.set(data, 'demoConfigNext.NFormGroup:root.content.NFormItem:menu', {
197
+ props: {
198
+ label: pi.Locale.trans('Menu')
199
+ },
200
+ content: {
201
+ 'NSwitch': {
202
+ binds: {
203
+ modelValue: '$model.option.redirect'
204
+ },
205
+ props: {
206
+ "foo": "@bar"
207
+ },
208
+ content: [
209
+ "@123"
210
+ ]
211
+ }
212
+ }
213
+ });
214
+
215
+ data.demoConfig = {
216
+ 'NFormGroup:00': {
217
+ $props: {
218
+ label: pi.Locale.trans('Redirect'),
219
+ icon: 'fa fa-directions'
220
+ },
221
+ content: {
222
+ 'div:00': {
223
+ class: 'grid grid--row grid--wrap grid--30',
224
+ content: {
225
+ 'div:00': {
226
+ class: 'col--1-1 col--1-2@sm',
227
+ content: {
228
+ 'NFormItem:00': {
229
+ $props: {
230
+ label: pi.Locale.trans('URL')
231
+ },
232
+ content: {
233
+ 'NInput:00': {
234
+ model: {
235
+ path: 'option.url'
236
+ }
237
+ }
238
+ }
239
+ },
240
+ }
241
+ },
242
+ 'div:10': {
243
+ class: 'col--1-1 col--1-2@sm',
244
+ content: {
245
+ 'NFormItem:00': {
246
+ $props: {
247
+ label: pi.Locale.trans('Menu')
248
+ },
249
+ content: {
250
+ 'Nswitch:00': {
251
+ model: {
252
+ path: 'option.redirect'
253
+ },
254
+ content: [
255
+ pi.Locale.trans("foobar")
256
+ ]
257
+ }
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ }
264
+ }
265
+ },
266
+ };
267
+
268
+ data.configData = { label: 'asdasda' };
269
+
270
+ data.testData = [];
271
+
272
+ let itemGenerator = function (count = 100, index = 0) {
273
+ return pi.Arr.each(pi.Arr.make(count), function (value) {
274
+
275
+ let id = pi.UUID();
276
+
277
+ return {
278
+ id: id,
279
+ value: id,
280
+ matrix: 10,
281
+ label: `Item ${index++}`,
282
+ image: 'https://picsum.photos/300/300.jpg?' + id,
283
+ date: pi.Now.make('now').format('YYYY-MM-DD HH:mm:ss', true),
284
+ enabled: !! Math.floor(Math.random() * 2)
285
+ };
286
+ });
287
+ };
288
+
289
+
290
+ data.cascaderData = pi.Arr.each(itemGenerator(5), function (item) {
291
+
292
+ let children = pi.Arr.each(itemGenerator(5), function (item) {
293
+ return pi.Obj.assign(item, { children: itemGenerator(5) });
294
+ });
295
+
296
+ return pi.Obj.assign(item, { children: children });
297
+ });
298
+
299
+ data.virtualData = itemGenerator(10000);
300
+
301
+ data.virtualTree = pi.Arr.each(itemGenerator(100), function (item) {
302
+ return pi.Obj.assign(item, { children: itemGenerator(10) });
303
+ });
304
+
305
+
306
+ data.virtualItem = null;
307
+
308
+ data.treeSelect = null;
309
+ data.treeMatrix = [data.virtualTree[3]];
310
+
311
+ data.foobar = 'huhu';
312
+
313
+ data.n_theme = pi.Cookie.get('theme', 'light', 'string');
314
+
315
+ pi.Dom.find('#theme').attr('href', '../dist/themes/' +
316
+ data.n_theme + '.css');
317
+
318
+ data.n_form = {
319
+ size: 'md', conditional: true, modelValue: false
320
+ };
321
+
322
+ data.n_tags = {
323
+ size: 'md',
324
+ };
325
+
326
+ data.n_rating = {
327
+ size: 'md', choice: 'No stars|:value star|:value stars', disabled: false
328
+ };
329
+
330
+ data.n_button = {
331
+ icon: 'fa fa-ghost', size: 'md', square: false, link: false, disabled: false
332
+ };
333
+
334
+ data.n_textarea = {
335
+ size: 'md', placeholder: 'Placeholder', autoRows: false, disabled: false
336
+ };
337
+
338
+ data.n_input = {
339
+ value: 'Demo', icon: 'fa fa-ghost', size: 'md', placeholder: 'Placeholder', disabled: false
340
+ };
341
+
342
+ data.n_number = {
343
+ test: '', value: 3, size: 'md', placeholder: '', disabled: false, minValue: 0, maxValue: 10
344
+ };
345
+
346
+ data.n_select = {
347
+ size: 'md', allowCreate: false, clearable: true, disabled: false
348
+ };
349
+
350
+ data.n_cascader = {
351
+ size: 'md', type: 'primary', clearable: true, disabled: false
352
+ };
353
+
354
+ data.n_checkbox = {
355
+ size: 'md', type: 'primary', disabled: false
356
+ };
357
+
358
+ data.n_radio = {
359
+ size: 'md', type: 'primary', disabled: false
360
+ };
361
+
362
+ data.n_slider = {
363
+ size: 'md', disabled: false, temp_value: 30,
364
+ };
365
+
366
+ data.n_switch = {
367
+ size: 'md', disabled: false
368
+ };
369
+
370
+ data.n_datepicker = {
371
+ size: 'md', type: 'primary', clearable: true, disabled: false
372
+ };
373
+
374
+ data.n_timepicker = {
375
+ size: 'md', type: 'primary', clearable: true, disabled: false
376
+ };
377
+
378
+ data.n_datetimepicker = {
379
+ size: 'md', type: 'primary', clearable: true, disabled: false
380
+ };
381
+
382
+ data.n_durationpicker = {
383
+ size: 'md', type: 'primary', clearable: true, disabled: false, modelValue: 124521
384
+ };
385
+
386
+ data.n_transfer = {
387
+ size: 'md', type: 'primary', disabled: false
388
+ };
389
+
390
+ data.n_modal = {
391
+ size: 'md', type: 'default', disabled: false
392
+ };
393
+
394
+ data.n_confirm = {
395
+ size: 'md', type: 'primary', disabled: false
396
+ };
397
+
398
+ data.n_tabs = {
399
+ value: 'default', size: 'md', type: 'primary'
400
+ };
401
+
402
+ data.n_collapse = {
403
+ value: ['default'], size: 'md', type: 'primary', relative: false
404
+ };
405
+
406
+ data.n_paginator = {
407
+ size: 'md', type: 'primary'
408
+ };
409
+
410
+ data.n_draggable = {
411
+ count: 0
412
+ };
413
+
414
+ data.n_loader = {
415
+ size: 'md', type: 'primary', visible: true
416
+ };
417
+
418
+ data.n_map = {
419
+ lat: 53.55, lng: 9.99
420
+ };
421
+
422
+ data.n_preview = {
423
+ file: null
424
+ };
425
+
426
+ let methods = {};
427
+
428
+ var config = {
429
+ data: function () {
430
+
431
+ this.icons = pi.Obj.assign(nano.Icons, {
432
+ ghost: 'fa fa-ghost'
433
+ });
434
+
435
+ data.demoIcons = pi.Arr.reduce(pi.Obj.values(nano.Icons), function (merge, icon) {
436
+ return pi.Obj.assign(merge, { [icon]: icon });
437
+ }, {});
438
+
439
+ return data;
440
+ },
441
+ mounted: function () {
442
+ let self = this;
443
+ },
444
+ methods: methods
445
+ };
446
+
447
+ window.App = Vue.createApp(config);
448
+
449
+ window.App.config.devtools = true;
450
+
451
+ window.App.use(function (App) {
452
+ nano.Install(App);
453
+ });
454
+
455
+ window.App.mount('#app');
456
+ });
457
+
458
+ })(window.nano);
459
+ </script>
460
+
461
+ </body>
462
+ </html>