@timus-networks/theme 2.0.0 → 2.0.2

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 (214) hide show
  1. package/README.md +113 -0
  2. package/dist/module.cjs +5 -0
  3. package/dist/module.d.mts +11 -0
  4. package/dist/module.d.ts +11 -0
  5. package/dist/module.json +9 -0
  6. package/dist/module.mjs +181 -0
  7. package/dist/runtime/components/development/example.alert.vue +29 -0
  8. package/dist/runtime/components/development/example.avatar.vue +85 -0
  9. package/dist/runtime/components/development/example.badge.vue +93 -0
  10. package/dist/runtime/components/development/example.breadcrumb.vue +54 -0
  11. package/dist/runtime/components/development/example.button.vue +235 -0
  12. package/dist/runtime/components/development/example.button.vue.d.ts +11 -0
  13. package/dist/runtime/components/development/example.card.vue +68 -0
  14. package/dist/runtime/components/development/example.checkbox.vue +176 -0
  15. package/dist/runtime/components/development/example.checkbox.vue.d.ts +24 -0
  16. package/dist/runtime/components/development/example.collapse.vue +38 -0
  17. package/dist/runtime/components/development/example.datepicker.vue +193 -0
  18. package/dist/runtime/components/development/example.description.vue +94 -0
  19. package/dist/runtime/components/development/example.dialog.vue +79 -0
  20. package/dist/runtime/components/development/example.dropdown.vue +166 -0
  21. package/dist/runtime/components/development/example.form.vue +488 -0
  22. package/dist/runtime/components/development/example.input.vue +270 -0
  23. package/dist/runtime/components/development/example.input.vue.d.ts +23 -0
  24. package/dist/runtime/components/development/example.link.vue +68 -0
  25. package/dist/runtime/components/development/example.message.vue +64 -0
  26. package/dist/runtime/components/development/example.notification.vue +75 -0
  27. package/dist/runtime/components/development/example.number.vue +70 -0
  28. package/dist/runtime/components/development/example.pagination.vue +89 -0
  29. package/dist/runtime/components/development/example.popover.vue +151 -0
  30. package/dist/runtime/components/development/example.radio.vue +163 -0
  31. package/dist/runtime/components/development/example.radio.vue.d.ts +25 -0
  32. package/dist/runtime/components/development/example.select.vue +588 -0
  33. package/dist/runtime/components/development/example.select.vue.d.ts +70 -0
  34. package/dist/runtime/components/development/example.sidebar.vue +101 -0
  35. package/dist/runtime/components/development/example.static.vue +50 -0
  36. package/dist/runtime/components/development/example.switch.vue +101 -0
  37. package/dist/runtime/components/development/example.table.vue +112 -0
  38. package/dist/runtime/components/development/example.tag.vue +255 -0
  39. package/dist/runtime/components/development/example.timepicker.vue +89 -0
  40. package/dist/runtime/components/development/example.tooltip.vue +104 -0
  41. package/dist/runtime/components/development/example.upload.vue +84 -0
  42. package/dist/runtime/components/production/html-encode.vue +96 -0
  43. package/dist/runtime/components/production/timus-breadcrumb.d.ts +36 -0
  44. package/dist/runtime/components/production/timus-breadcrumb.js +224 -0
  45. package/dist/runtime/components/production/timus-breadcrumb.mjs +224 -0
  46. package/dist/runtime/components/production/timus-breadcrumb.vue +83 -0
  47. package/dist/runtime/components/production/timus-breadcrumb.vue.d.ts +340 -0
  48. package/dist/runtime/composables/useBreadcrumb.d.ts +8 -0
  49. package/dist/runtime/composables/useBreadcrumb.js +53 -0
  50. package/dist/runtime/composables/useBreadcrumb.mjs +53 -0
  51. package/dist/runtime/pages/theme.vue +61 -0
  52. package/dist/runtime/plugins/disable-warnings-plugin.d.ts +2 -0
  53. package/dist/runtime/plugins/disable-warnings-plugin.js +18 -0
  54. package/dist/runtime/plugins/disable-warnings-plugin.mjs +18 -0
  55. package/dist/runtime/plugins/sample-plugin.d.ts +20 -0
  56. package/dist/runtime/plugins/sample-plugin.js +5 -0
  57. package/dist/runtime/plugins/sample-plugin.mjs +5 -0
  58. package/dist/runtime/plugins/theme-provider-plugin.d.ts +30 -0
  59. package/dist/runtime/plugins/theme-provider-plugin.js +46 -0
  60. package/dist/runtime/plugins/theme-provider-plugin.mjs +46 -0
  61. package/dist/runtime/public/scss/element-plus/affix.css +305 -0
  62. package/dist/runtime/public/scss/element-plus/alert.css +516 -0
  63. package/dist/runtime/public/scss/element-plus/anchor-link.css +332 -0
  64. package/dist/runtime/public/scss/element-plus/anchor.css +376 -0
  65. package/dist/runtime/public/scss/element-plus/aside.css +308 -0
  66. package/dist/runtime/public/scss/element-plus/autocomplete.css +411 -0
  67. package/dist/runtime/public/scss/element-plus/avatar.css +370 -0
  68. package/dist/runtime/public/scss/element-plus/backtop.css +326 -0
  69. package/dist/runtime/public/scss/element-plus/badge.css +376 -0
  70. package/dist/runtime/public/scss/element-plus/base.css +550 -0
  71. package/dist/runtime/public/scss/element-plus/breadcrumb-item.css +0 -0
  72. package/dist/runtime/public/scss/element-plus/breadcrumb.css +370 -0
  73. package/dist/runtime/public/scss/element-plus/button-group.css +535 -0
  74. package/dist/runtime/public/scss/element-plus/button.css +1089 -0
  75. package/dist/runtime/public/scss/element-plus/calendar.css +370 -0
  76. package/dist/runtime/public/scss/element-plus/card.css +347 -0
  77. package/dist/runtime/public/scss/element-plus/carousel-item.css +350 -0
  78. package/dist/runtime/public/scss/element-plus/carousel.css +475 -0
  79. package/dist/runtime/public/scss/element-plus/cascader-panel.css +428 -0
  80. package/dist/runtime/public/scss/element-plus/cascader.css +560 -0
  81. package/dist/runtime/public/scss/element-plus/check-tag.css +386 -0
  82. package/dist/runtime/public/scss/element-plus/checkbox-button.css +451 -0
  83. package/dist/runtime/public/scss/element-plus/checkbox-group.css +307 -0
  84. package/dist/runtime/public/scss/element-plus/checkbox.css +588 -0
  85. package/dist/runtime/public/scss/element-plus/col.css +3270 -0
  86. package/dist/runtime/public/scss/element-plus/collapse-item.css +0 -0
  87. package/dist/runtime/public/scss/element-plus/collapse-transition.css +0 -0
  88. package/dist/runtime/public/scss/element-plus/collapse.css +490 -0
  89. package/dist/runtime/public/scss/element-plus/color/index.css +0 -0
  90. package/dist/runtime/public/scss/element-plus/color-picker.css +650 -0
  91. package/dist/runtime/public/scss/element-plus/common/popup.css +338 -0
  92. package/dist/runtime/public/scss/element-plus/common/transition.css +420 -0
  93. package/dist/runtime/public/scss/element-plus/common/var.css +302 -0
  94. package/dist/runtime/public/scss/element-plus/config-provider.css +0 -0
  95. package/dist/runtime/public/scss/element-plus/container.css +313 -0
  96. package/dist/runtime/public/scss/element-plus/dark/css-vars.css +353 -0
  97. package/dist/runtime/public/scss/element-plus/dark/var.css +302 -0
  98. package/dist/runtime/public/scss/element-plus/date-picker/date-picker.css +558 -0
  99. package/dist/runtime/public/scss/element-plus/date-picker/date-range-picker.css +410 -0
  100. package/dist/runtime/public/scss/element-plus/date-picker/date-table.css +426 -0
  101. package/dist/runtime/public/scss/element-plus/date-picker/month-table.css +388 -0
  102. package/dist/runtime/public/scss/element-plus/date-picker/picker-panel.css +454 -0
  103. package/dist/runtime/public/scss/element-plus/date-picker/picker.css +662 -0
  104. package/dist/runtime/public/scss/element-plus/date-picker/time-picker.css +384 -0
  105. package/dist/runtime/public/scss/element-plus/date-picker/time-range-picker.css +338 -0
  106. package/dist/runtime/public/scss/element-plus/date-picker/time-spinner.css +389 -0
  107. package/dist/runtime/public/scss/element-plus/date-picker/year-table.css +384 -0
  108. package/dist/runtime/public/scss/element-plus/date-picker.css +1531 -0
  109. package/dist/runtime/public/scss/element-plus/descriptions-item.css +347 -0
  110. package/dist/runtime/public/scss/element-plus/descriptions.css +435 -0
  111. package/dist/runtime/public/scss/element-plus/dialog.css +512 -0
  112. package/dist/runtime/public/scss/element-plus/display.css +357 -0
  113. package/dist/runtime/public/scss/element-plus/divider.css +345 -0
  114. package/dist/runtime/public/scss/element-plus/drawer.css +419 -0
  115. package/dist/runtime/public/scss/element-plus/dropdown-item.css +0 -0
  116. package/dist/runtime/public/scss/element-plus/dropdown-menu.css +0 -0
  117. package/dist/runtime/public/scss/element-plus/dropdown.css +495 -0
  118. package/dist/runtime/public/scss/element-plus/empty.css +355 -0
  119. package/dist/runtime/public/scss/element-plus/footer.css +310 -0
  120. package/dist/runtime/public/scss/element-plus/form-item.css +0 -0
  121. package/dist/runtime/public/scss/element-plus/form.css +527 -0
  122. package/dist/runtime/public/scss/element-plus/header.css +310 -0
  123. package/dist/runtime/public/scss/element-plus/icon.css +343 -0
  124. package/dist/runtime/public/scss/element-plus/image-viewer.css +439 -0
  125. package/dist/runtime/public/scss/element-plus/image.css +343 -0
  126. package/dist/runtime/public/scss/element-plus/index.css +17293 -0
  127. package/dist/runtime/public/scss/element-plus/infinite-scroll.css +0 -0
  128. package/dist/runtime/public/scss/element-plus/input-number.css +494 -0
  129. package/dist/runtime/public/scss/element-plus/input.css +770 -0
  130. package/dist/runtime/public/scss/element-plus/link.css +453 -0
  131. package/dist/runtime/public/scss/element-plus/loading.css +391 -0
  132. package/dist/runtime/public/scss/element-plus/main.css +311 -0
  133. package/dist/runtime/public/scss/element-plus/mention.css +413 -0
  134. package/dist/runtime/public/scss/element-plus/menu-item-group.css +0 -0
  135. package/dist/runtime/public/scss/element-plus/menu-item.css +0 -0
  136. package/dist/runtime/public/scss/element-plus/menu.css +737 -0
  137. package/dist/runtime/public/scss/element-plus/message-box.css +533 -0
  138. package/dist/runtime/public/scss/element-plus/message.css +528 -0
  139. package/dist/runtime/public/scss/element-plus/mixins/config.css +0 -0
  140. package/dist/runtime/public/scss/element-plus/mixins/function.css +0 -0
  141. package/dist/runtime/public/scss/element-plus/mixins/mixins.css +302 -0
  142. package/dist/runtime/public/scss/element-plus/mixins/utils.css +0 -0
  143. package/dist/runtime/public/scss/element-plus/notification.css +413 -0
  144. package/dist/runtime/public/scss/element-plus/option-group.css +331 -0
  145. package/dist/runtime/public/scss/element-plus/option.css +354 -0
  146. package/dist/runtime/public/scss/element-plus/overlay.css +317 -0
  147. package/dist/runtime/public/scss/element-plus/page-header.css +351 -0
  148. package/dist/runtime/public/scss/element-plus/pagination.css +586 -0
  149. package/dist/runtime/public/scss/element-plus/popconfirm.css +315 -0
  150. package/dist/runtime/public/scss/element-plus/popover.css +352 -0
  151. package/dist/runtime/public/scss/element-plus/popper.css +400 -0
  152. package/dist/runtime/public/scss/element-plus/progress.css +449 -0
  153. package/dist/runtime/public/scss/element-plus/radio-button.css +436 -0
  154. package/dist/runtime/public/scss/element-plus/radio-group.css +308 -0
  155. package/dist/runtime/public/scss/element-plus/radio.css +561 -0
  156. package/dist/runtime/public/scss/element-plus/rate.css +384 -0
  157. package/dist/runtime/public/scss/element-plus/reset.css +399 -0
  158. package/dist/runtime/public/scss/element-plus/result.css +381 -0
  159. package/dist/runtime/public/scss/element-plus/row.css +339 -0
  160. package/dist/runtime/public/scss/element-plus/scrollbar.css +373 -0
  161. package/dist/runtime/public/scss/element-plus/segmented.css +460 -0
  162. package/dist/runtime/public/scss/element-plus/select-dropdown-v2.css +351 -0
  163. package/dist/runtime/public/scss/element-plus/select-dropdown.css +351 -0
  164. package/dist/runtime/public/scss/element-plus/select-v2.css +765 -0
  165. package/dist/runtime/public/scss/element-plus/select.css +765 -0
  166. package/dist/runtime/public/scss/element-plus/skeleton-item.css +372 -0
  167. package/dist/runtime/public/scss/element-plus/skeleton.css +335 -0
  168. package/dist/runtime/public/scss/element-plus/slider.css +480 -0
  169. package/dist/runtime/public/scss/element-plus/space.css +317 -0
  170. package/dist/runtime/public/scss/element-plus/spinner.css +342 -0
  171. package/dist/runtime/public/scss/element-plus/statistic.css +336 -0
  172. package/dist/runtime/public/scss/element-plus/step.css +586 -0
  173. package/dist/runtime/public/scss/element-plus/steps.css +319 -0
  174. package/dist/runtime/public/scss/element-plus/sub-menu.css +0 -0
  175. package/dist/runtime/public/scss/element-plus/switch.css +594 -0
  176. package/dist/runtime/public/scss/element-plus/tab-pane.css +0 -0
  177. package/dist/runtime/public/scss/element-plus/table-column.css +382 -0
  178. package/dist/runtime/public/scss/element-plus/table-v2.css +520 -0
  179. package/dist/runtime/public/scss/element-plus/table.css +893 -0
  180. package/dist/runtime/public/scss/element-plus/tabs.css +892 -0
  181. package/dist/runtime/public/scss/element-plus/tag.css +624 -0
  182. package/dist/runtime/public/scss/element-plus/text.css +378 -0
  183. package/dist/runtime/public/scss/element-plus/time-picker.css +1023 -0
  184. package/dist/runtime/public/scss/element-plus/time-select.css +946 -0
  185. package/dist/runtime/public/scss/element-plus/timeline-item.css +415 -0
  186. package/dist/runtime/public/scss/element-plus/timeline.css +334 -0
  187. package/dist/runtime/public/scss/element-plus/tooltip-v2.css +410 -0
  188. package/dist/runtime/public/scss/element-plus/tooltip.css +0 -0
  189. package/dist/runtime/public/scss/element-plus/tour.css +461 -0
  190. package/dist/runtime/public/scss/element-plus/transfer.css +497 -0
  191. package/dist/runtime/public/scss/element-plus/tree-select.css +325 -0
  192. package/dist/runtime/public/scss/element-plus/tree.css +538 -0
  193. package/dist/runtime/public/scss/element-plus/upload.css +862 -0
  194. package/dist/runtime/public/scss/element-plus/var.css +389 -0
  195. package/dist/runtime/public/scss/element-plus/virtual-list.css +330 -0
  196. package/dist/runtime/public/scss/theme.css +1268 -0
  197. package/dist/runtime/server/tsconfig.json +6 -0
  198. package/dist/runtime/types.d.ts +31 -0
  199. package/dist/types.d.mts +7 -0
  200. package/dist/types.d.ts +7 -0
  201. package/package.json +29 -12
  202. package/components/TimusIcons.vue +0 -54
  203. package/generate-icon.js +0 -22
  204. package/module.ts +0 -84
  205. package/pages/icons.vue +0 -46
  206. package/plugins/sample-plugin.ts +0 -5
  207. package/public/isax/fonts/iconsax.svg +0 -927
  208. package/public/isax/fonts/iconsax.ttf +0 -0
  209. package/public/isax/fonts/iconsax.woff +0 -0
  210. package/public/isax/icons.json +0 -899
  211. package/public/isax/selection.json +0 -1
  212. package/public/isax/style.css +0 -1
  213. package/public/isax/style.scss +0 -5435
  214. package/public/isax/variables.scss +0 -900
@@ -0,0 +1,193 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">DatePicker</h1>
4
+ <p>Use Date Picker for date input.</p>
5
+
6
+ <el-card>
7
+ <template #header>Enter Date</template>
8
+ <div class="flex flex-col gap-7.5">
9
+ <p>
10
+ Basic date picker measured by 'day'. The measurement is determined by the <el-text tag="mark">type</el-text> attribute. You can enable quick options via
11
+ <el-text tag="mark">shortcuts</el-text> property. The disabled date is set by <el-text tag="mark">disabledDate</el-text>, which is a function.
12
+ </p>
13
+ <div class="flex gap-7.5">
14
+ <el-form label-position="top" size="mini">
15
+ <div class="el-form-items">
16
+ <el-form-item label="Sizes">
17
+ <el-radio-group v-model="size" aria-label="size control" size="mini">
18
+ <el-radio-button v-for="item of sizes" :key="item" :value="item">{{ item }}</el-radio-button>
19
+ </el-radio-group>
20
+ </el-form-item>
21
+ <el-form-item label="Date Type">
22
+ <el-radio-group v-model="type" aria-label="size control" size="mini">
23
+ <el-radio-button value="date">Date</el-radio-button>
24
+ <el-radio-button value="datetime">DateTime</el-radio-button>
25
+ </el-radio-group>
26
+ </el-form-item>
27
+ </div>
28
+ </el-form>
29
+ </div>
30
+ <section class="flex flex-col gap-4">
31
+ <div class="flex gap-7.5">
32
+ <el-date-picker v-model="value" :type="type" placeholder="Pick a day" :size="size" />
33
+ <el-date-picker v-model="value" :type="type" placeholder="Pick a day" :disabled-date="disabledDate" :shortcuts="shortcuts" :size="size" />
34
+ </div>
35
+ </section>
36
+ </div>
37
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
38
+ </el-card>
39
+
40
+ <el-card>
41
+ <template #header>Other measurements</template>
42
+ <div class="flex flex-col gap-7.5">
43
+ <p>You can choose week, month, year or multiple dates by extending the standard date picker component.</p>
44
+ <section class="flex flex-col gap-4">
45
+ <el-form label-position="top">
46
+ <div class="el-form-items">
47
+ <el-form-item label="Dates">
48
+ <el-date-picker v-model="multiple_value" type="dates" placeholder="Pick one or more dates" />
49
+ </el-form-item>
50
+ <el-form-item label="Month">
51
+ <el-date-picker v-model="value" type="month" placeholder="Pick a month" />
52
+ </el-form-item>
53
+ <el-form-item label="Year">
54
+ <el-date-picker v-model="value" type="year" placeholder="Pick a year" />
55
+ </el-form-item>
56
+ </div>
57
+ <div class="el-form-items">
58
+ <el-form-item label="Week">
59
+ <el-date-picker v-model="value" type="week" format="[Week] ww" placeholder="Pick a week" />
60
+ </el-form-item>
61
+ <el-form-item label="Months">
62
+ <el-date-picker v-model="multiple_value" type="months" placeholder="Pick one or more months" />
63
+ </el-form-item>
64
+ <el-form-item label="Years">
65
+ <el-date-picker v-model="multiple_value" type="years" placeholder="Pick one or more years" />
66
+ </el-form-item>
67
+ </div>
68
+ </el-form>
69
+ </section>
70
+ </div>
71
+ <template #footer> <html-encode :tag="snippets.types" /> </template>
72
+ </el-card>
73
+
74
+ <el-card>
75
+ <template #header>Range Picker</template>
76
+ <div class="flex flex-col gap-7.5">
77
+ <p>
78
+ Picking a date range is supported. When in range mode, the left and right panels are linked by default. If you want the two panels to switch current months independently,
79
+ you can use the <el-text tag="mark">unlink-panels</el-text> attribute. You can set <el-text tag="mark">daterange, monthrange</el-text> or
80
+ <el-text tag="mark">yearrange</el-text> to range picker.
81
+ </p>
82
+ <el-form label-position="top" size="mini">
83
+ <div class="el-form-items">
84
+ <el-form-item label="Sizes">
85
+ <el-radio-group v-model="size" aria-label="size control" size="mini">
86
+ <el-radio-button v-for="item of sizes" :key="item" :value="item">{{ item }}</el-radio-button>
87
+ </el-radio-group>
88
+ </el-form-item>
89
+ <el-form-item label="Date Type">
90
+ <el-radio-group v-model="range_type" aria-label="size control" size="mini">
91
+ <el-radio-button value="daterange">Date</el-radio-button>
92
+ <el-radio-button value="datetimerange">DateTime</el-radio-button>
93
+ </el-radio-group>
94
+ </el-form-item>
95
+ </div>
96
+ </el-form>
97
+ <section class="flex flex-col gap-4">
98
+ <div class="flex flex-col gap-7.5">
99
+ <el-form label-position="top" class="grid grid-cols-2">
100
+ <el-form-item label="Date Range">
101
+ <el-date-picker v-model="range_value" :type="range_type" range-separator="To" start-placeholder="Start date" end-placeholder="End date" :size="size" />
102
+ </el-form-item>
103
+ <el-form-item label="Date Range With Links">
104
+ <el-date-picker
105
+ v-model="range_value"
106
+ :type="range_type"
107
+ range-separator="To"
108
+ start-placeholder="Start date"
109
+ end-placeholder="End date"
110
+ :size="size"
111
+ :shortcuts="shortcuts"
112
+ unlink-panels
113
+ />
114
+ </el-form-item>
115
+ <el-form-item label="Month Range">
116
+ <el-date-picker
117
+ v-model="range_value"
118
+ type="monthrange"
119
+ range-separator="To"
120
+ start-placeholder="Start date"
121
+ end-placeholder="End date"
122
+ :size="size"
123
+ :shortcuts="shortcuts"
124
+ unlink-panels
125
+ />
126
+ </el-form-item>
127
+ <el-form-item label="Year Range">
128
+ <el-date-picker
129
+ v-model="range_value"
130
+ type="yearrange"
131
+ range-separator="To"
132
+ start-placeholder="Start date"
133
+ end-placeholder="End date"
134
+ :size="size"
135
+ :shortcuts="shortcuts"
136
+ unlink-panels
137
+ />
138
+ </el-form-item>
139
+ </el-form>
140
+ </div>
141
+ </section>
142
+ </div>
143
+ <template #footer>
144
+ <el-scrollbar><html-encode :tag="snippets.ranges" /></el-scrollbar>
145
+ </template>
146
+ </el-card>
147
+ </div>
148
+ </template>
149
+
150
+ <script lang="ts" setup>
151
+ import { ref } from 'vue';
152
+
153
+ const size = ref('medium');
154
+ const type = ref<'date' | 'datetime'>('date');
155
+ const range_type = ref<'daterange' | 'datetimerage'>('daterange');
156
+ const multiple_value = ref([]);
157
+ const range_value = ref([]);
158
+ const value = ref('');
159
+ const sizes = ref<Array<'default' | 'large' | 'medium' | 'small' | 'mini'>>(['default', 'large', 'medium', 'small', 'mini']);
160
+ const shortcuts = [
161
+ {
162
+ text: 'Today',
163
+ value: new Date(),
164
+ },
165
+ {
166
+ text: 'Yesterday',
167
+ value: () => {
168
+ const date = new Date();
169
+
170
+ date.setTime(date.getTime() - 3600 * 1000 * 24);
171
+
172
+ return date;
173
+ },
174
+ },
175
+ {
176
+ text: 'A week ago',
177
+ value: () => {
178
+ const date = new Date();
179
+
180
+ date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
181
+
182
+ return date;
183
+ },
184
+ },
185
+ ];
186
+ const disabledDate = (time: Date) => time.getTime() > Date.now();
187
+ const snippets = ref({
188
+ basic: `<el-date-picker v-model="value" type="date" placeholder="Pick a day" size="large" />`,
189
+ types: `<el-date-picker v-model="value" type="month" placeholder="Pick a month" />`,
190
+ ranges: `<el-date-picker v-model="range_value" type="daterange" range-separator="To" start-placeholder="Start date" end-placeholder="End date" />
191
+ `,
192
+ });
193
+ </script>
@@ -0,0 +1,94 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Description - (Coding Not Started)</h1>
4
+ <p>Display multiple fields in list form.</p>
5
+
6
+ <el-card>
7
+ <template #header>Basic usage</template>
8
+ <div class="flex flex-col gap-7.5">
9
+ <p>
10
+ This element displays information in a label-value combination format. By default, it has three columns, with both the label and value shown in the same
11
+ <span class="comment">&lt;td&gt;</span> element. We will use this format on the
12
+ <el-link href="https://manage-st01-us-01.timusnetworks.com/devices/VDct5ZEBmELnuk3BPsBt" target="_blank">Device Page</el-link> and
13
+ <el-link href="https://manage-st01-us-01.timusnetworks.com/sites/1988">Site Information Page</el-link>.
14
+ </p>
15
+ <div class="flex gap-7.5">
16
+ <el-radio-group v-model="size" size="mini">
17
+ <el-radio-button plain value="default">Default</el-radio-button>
18
+ <el-radio-button plain value="large">Large</el-radio-button>
19
+ <el-radio-button plain value="medium">Medium</el-radio-button>
20
+ <el-radio-button plain value="small">Small</el-radio-button>
21
+ <el-radio-button plain value="mini">Mini</el-radio-button>
22
+ </el-radio-group>
23
+ <el-select v-model="column_count" class="!w-32" size="mini">
24
+ <el-option v-for="index of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]" :key="index" :value="index" />
25
+ </el-select>
26
+ </div>
27
+ <section class="flex gap-7.5">
28
+ <el-descriptions :size="size" :column="column_count">
29
+ <el-descriptions-item label="Username:">kooriookami</el-descriptions-item>
30
+ <el-descriptions-item label="Telephone:">18100000000</el-descriptions-item>
31
+ <el-descriptions-item label="Place:">Suzhou</el-descriptions-item>
32
+ <el-descriptions-item label="Remarks:"> <el-tag size="small">School</el-tag> </el-descriptions-item>
33
+ <el-descriptions-item label="Address"> No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province </el-descriptions-item>
34
+ </el-descriptions>
35
+ </section>
36
+ </div>
37
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
38
+ </el-card>
39
+
40
+ <el-card>
41
+ <template #header>Seperated Columns</template>
42
+ <div class="flex flex-col gap-7.5">
43
+ <p>
44
+ When added border tag to code, it will splits labels and values each other. So this way all items has their own <span class="comment">&lt;td&gt;</span> tag. We will use
45
+ this format on the <el-link href="https://manage-st01-us-01.timusnetworks.com/devices/VDct5ZEBmELnuk3BPsBt" target="_blank">Device Page</el-link> and
46
+ <el-link href="https://manage-st01-us-01.timusnetworks.com/sites/1988">Site Information Page</el-link>.
47
+ </p>
48
+ <div class="flex gap-7.5">
49
+ <el-radio-group v-model="size" size="mini">
50
+ <el-radio-button plain value="default">Default</el-radio-button>
51
+ <el-radio-button plain value="large">Large</el-radio-button>
52
+ <el-radio-button plain value="medium">Medium</el-radio-button>
53
+ <el-radio-button plain value="small">Small</el-radio-button>
54
+ <el-radio-button plain value="mini">Mini</el-radio-button>
55
+ </el-radio-group>
56
+ <el-select v-model="column_count" class="!w-32" size="mini">
57
+ <el-option v-for="index of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]" :key="index" :value="index" />
58
+ </el-select>
59
+ </div>
60
+ <section class="flex gap-7.5">
61
+ <el-descriptions title="Seperated Columns" border :size="size" :column="column_count">
62
+ <el-descriptions-item label="Username:">kooriookami</el-descriptions-item>
63
+ <el-descriptions-item label="Telephone:">18100000000</el-descriptions-item>
64
+ <el-descriptions-item label="Place:">Suzhou</el-descriptions-item>
65
+ <el-descriptions-item label="Remarks:">
66
+ <el-tag size="small">School</el-tag>
67
+ </el-descriptions-item>
68
+ <el-descriptions-item label="Address"> No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu Province </el-descriptions-item>
69
+ </el-descriptions>
70
+ </section>
71
+ </div>
72
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
73
+ </el-card>
74
+ </div>
75
+ </template>
76
+
77
+ <script lang="ts" setup>
78
+ import { ref } from 'vue';
79
+
80
+ const size = ref('default');
81
+ const column_count = ref(3);
82
+ const snippets = ref({
83
+ basic: `
84
+ <el-tooltip class="box-item" effect="dark" content="Left Bottom prompts info" placement="left-end">
85
+ <el-button>left-end</el-button>
86
+ </el-tooltip>`,
87
+ content: `
88
+ <el-tooltip placement="top">
89
+ <template #content> multiple lines<br />second line </template>
90
+ <el-button>Top center</el-button>
91
+ </el-tooltip>
92
+ `,
93
+ });
94
+ </script>
@@ -0,0 +1,79 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Dialog</h1>
4
+ <p>Informs users while preserving the current page state.</p>
5
+
6
+ <el-card>
7
+ <template #header> Basic usage </template>
8
+ <div class="flex flex-col gap-3 items-start">
9
+ <p>
10
+ Dialog pops up a dialog box, and it's quite customizable. Set <el-text tag="mark">model-value / v-model</el-text> attribute with a Boolean, and Dialog shows when it is
11
+ true. The Dialog has two parts: <el-text tag="mark">body</el-text> and <el-text tag="mark">footer</el-text>, and the latter requires a
12
+ <el-text tag="mark">slot</el-text> named <el-text tag="mark">footer</el-text>. The optional <el-text tag="mark">title</el-text> attribute (empty by default) is for
13
+ defining a title. Finally, this example demonstrates how <el-text tag="mark">before-close</el-text> is used.
14
+ </p>
15
+ <div class="flex gap-2">
16
+ <el-button plain @click="dialogVisible = true"> Click to open the Dialog </el-button>
17
+ <el-dialog v-model="dialogVisible" title="Tips" :before-close="handleClose">
18
+ <span>
19
+ When enabled, all connections will be terminated and new requests will be denied until lockdown mode is disabled. Are you sure you want to enable the lockdown mode?
20
+ </span>
21
+ <template #footer>
22
+ <el-button plain @click="dialogVisible = false">Cancel</el-button>
23
+ <el-button type="primary" @click="dialogVisible = false"> Confirm </el-button>
24
+ </template>
25
+ </el-dialog>
26
+ </div>
27
+ </div>
28
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
29
+ </el-card>
30
+ </div>
31
+ </template>
32
+
33
+ <script lang="ts" setup>
34
+ import { useZIndex } from 'element-plus';
35
+ import { ElMessageBox } from 'element-plus';
36
+ import { ref } from 'vue';
37
+
38
+ const c = ref(22);
39
+
40
+ useZIndex(c);
41
+
42
+ const dialogVisible = ref(false);
43
+ const handleClose = (done: () => void) => {
44
+ ElMessageBox.confirm('Are you sure to close this dialog?')
45
+ .then(() => {
46
+ done();
47
+ })
48
+ .catch(() => {
49
+ // catch error
50
+ });
51
+ };
52
+ const snippets = ref({
53
+ basic: `
54
+ <el-button plain @click="dialogVisible = true"> Click to open the Dialog </el-button>
55
+
56
+ <el-dialog v-model="dialogVisible" title="Tips" width="500" :before-close="handleClose">
57
+ <template #header="{ close, titleId, titleClass }">
58
+ <div class="my-header">
59
+ <h4 :id="titleId" :class="titleClass">This is a custom header!</h4>
60
+ <el-button type="danger" @click="close">
61
+ <el-icon class="el-icon--left"><CircleCloseFilled /></el-icon>
62
+ Close
63
+ </el-button>
64
+ </div>
65
+ </template>
66
+ <span>This is a message</span>
67
+ <template #footer>
68
+ <div class="dialog-footer">
69
+ <el-button @click="dialogVisible = false">Cancel</el-button>
70
+ <el-button type="primary" @click="dialogVisible = false"> Confirm </el-button>
71
+ </div>
72
+ </template>
73
+ </el-dialog>
74
+ `,
75
+ disabled: `<el-link type="secondary" disabled>default</el-link>`,
76
+ underline: `<el-link :underline="false">Without Underline</el-link>`,
77
+ icon: `<el-link class="isax-add icon-right">Check</el-link>`,
78
+ });
79
+ </script>
@@ -0,0 +1,166 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Dropdown</h1>
4
+ <p>Toggleable menu for displaying lists of links and actions.</p>
5
+
6
+ <el-card>
7
+ <template #header> Basic </template>
8
+ <div class="flex flex-col gap-3 items-start">
9
+ <p>
10
+ Hover on the dropdown menu to unfold it for more actions. The triggering element is rendered by the default <el-text tag="mark">slot</el-text>, and the
11
+ <el-text tag="mark">dropdown</el-text> part is rendered by the slot named dropdown. By default, dropdown list shows when you hover on the triggering element without
12
+ having to click it.
13
+ </p>
14
+ <div class="flex gap-2">
15
+ <el-dropdown>
16
+ <span class="el-dropdown-link">
17
+ Dropdown List
18
+ <el-icon class="el-icon--right">
19
+ <ElIconArrowDown />
20
+ </el-icon>
21
+ </span>
22
+ <template #dropdown>
23
+ <el-dropdown-menu>
24
+ <el-dropdown-item v-for="item of [1, 2, 3, 4, 5]" :key="item" :disabled="item === 4" :divided="item === 5">Action {{ item }}</el-dropdown-item>
25
+ </el-dropdown-menu>
26
+ </template>
27
+ </el-dropdown>
28
+ </div>
29
+ </div>
30
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
31
+ </el-card>
32
+
33
+ <el-card>
34
+ <template #header>
35
+ <div class="flex flex-col gap-3 items-start">
36
+ <h2>Placement</h2>
37
+ <p>Support 6 placements. Set <el-text tag="mark">placement</el-text> property to make dropdown appear in different locations.</p>
38
+ </div>
39
+ </template>
40
+ <div class="flex flex-col gap-7.5">
41
+ <el-radio-group v-model="placement_selected" size="mini">
42
+ <el-radio-button v-for="place of placement_list" :key="place" :value="place">{{ place }}</el-radio-button>
43
+ </el-radio-group>
44
+ <el-dropdown :placement="placement_selected">
45
+ <span class="el-dropdown-link">
46
+ Dropdown List
47
+ <el-icon class="el-icon--right">
48
+ <ElIconArrowDown />
49
+ </el-icon>
50
+ </span>
51
+ <template #dropdown>
52
+ <el-dropdown-menu>
53
+ <el-dropdown-item v-for="item of [1, 2, 3, 4, 5]" :key="item" :disabled="item === 4" :divided="item === 5">Action {{ item }}</el-dropdown-item>
54
+ </el-dropdown-menu>
55
+ </template>
56
+ </el-dropdown>
57
+ </div>
58
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
59
+ </el-card>
60
+
61
+ <el-card>
62
+ <template #header>
63
+ <div class="flex flex-col gap-3 items-start">
64
+ <h2>Triggering element</h2>
65
+ <p>
66
+ Use the button to trigger the dropdown list. Use split-button to split the triggering element into a button group with the left button being a normal button and right
67
+ one the actual triggering target. If you wanna insert a separator line between item three and item four, just add a class divider to item four.
68
+ </p>
69
+ </div>
70
+ </template>
71
+ <div class="flex gap-7.5">
72
+ <el-dropdown>
73
+ <el-button type="primary">
74
+ Dropdown List<el-icon class="el-icon--right"><el-icon-arrow-down /></el-icon>
75
+ </el-button>
76
+ <template #dropdown>
77
+ <el-dropdown-menu>
78
+ <el-dropdown-item v-for="item of [1, 2, 3, 4, 5]" :key="item" :disabled="item === 4" :divided="item === 5">Action {{ item }}</el-dropdown-item>
79
+ </el-dropdown-menu>
80
+ </template>
81
+ </el-dropdown>
82
+
83
+ <el-dropdown split-button @click="handleClick">
84
+ <span class="el-dropdown-link"> Dropdown List </span>
85
+ <template #dropdown>
86
+ <el-dropdown-menu>
87
+ <el-dropdown-item v-for="item of [1, 2, 3, 4, 5]" :key="item" :disabled="item === 4" :divided="item === 5">Action {{ item }}</el-dropdown-item>
88
+ </el-dropdown-menu>
89
+ </template>
90
+ </el-dropdown>
91
+ </div>
92
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
93
+ </el-card>
94
+
95
+ <el-card>
96
+ <template #header>
97
+ <div class="flex flex-col gap-3 items-start">
98
+ <h2>How to trigger</h2>
99
+ <p>Click the triggering element or hover on it. Use the attribute <el-text tag="mark">trigger</el-text>. By default, it is <el-text tag="mark">hover</el-text>.</p>
100
+ </div>
101
+ </template>
102
+ <div class="flex flex-col gap-7.5">
103
+ <el-radio-group v-model="trigger_selected" size="mini">
104
+ <el-radio-button v-for="trigger of trigger_list" :key="trigger" :value="trigger">{{ trigger }}</el-radio-button>
105
+ </el-radio-group>
106
+ <el-dropdown :trigger="trigger_selected">
107
+ <el-button type="primary">
108
+ Dropdown List<el-icon class="el-icon--right"><el-icon-arrow-down /></el-icon>
109
+ </el-button>
110
+ <template #dropdown>
111
+ <el-dropdown-menu>
112
+ <el-dropdown-item v-for="item of [1, 2, 3, 4, 5]" :key="item" :disabled="item === 4" :divided="item === 5">Action {{ item }}</el-dropdown-item>
113
+ </el-dropdown-menu>
114
+ </template>
115
+ </el-dropdown>
116
+ </div>
117
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
118
+ </el-card>
119
+
120
+ <el-card>
121
+ <template #header>
122
+ <div class="flex flex-col gap-3 items-start">
123
+ <h2>Sizes</h2>
124
+ <p>
125
+ Besides default size, Dropdown component provides three additional sizes for you to choose among different scenarios. Use attribute size to set additional sizes with
126
+ large, default or small.
127
+ </p>
128
+ </div>
129
+ </template>
130
+ <div class="flex flex-col gap-7.5">
131
+ <el-radio-group v-model="size_selected" size="mini">
132
+ <el-radio-button v-for="size of size_list" :key="size" :value="size">{{ size }}</el-radio-button>
133
+ </el-radio-group>
134
+ <el-dropdown :size="size_selected" split-button type="primary" trigger="click">
135
+ {{ size_selected }}
136
+ <template #dropdown>
137
+ <el-dropdown-menu>
138
+ <el-dropdown-item v-for="item of [1, 2, 3, 4, 5]" :key="item" :disabled="item === 4" :divided="item === 5">Action {{ item }}</el-dropdown-item>
139
+ </el-dropdown-menu>
140
+ </template>
141
+ </el-dropdown>
142
+ </div>
143
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
144
+ </el-card>
145
+ </div>
146
+ </template>
147
+
148
+ <script lang="ts" setup>
149
+ import { ElIcon } from 'element-plus';
150
+
151
+ const placement_list = ref(['top-start', 'top', 'top-end', 'bottom-start', 'bottom', 'bottom-end']);
152
+ const placement_selected = ref('top-start');
153
+ const trigger_list = ref(['hover', 'click', 'contextmenu']);
154
+ const trigger_selected = ref('click');
155
+ const size_list = ref(['default', 'large', 'medium', 'small', 'mini']);
156
+ const size_selected = ref('default');
157
+ const snippets = ref({
158
+ basic: `<el-link href="https://element-plus.org" target="_blank" type="secondary">default</el-link>`,
159
+ disabled: `<el-link type="secondary" disabled>default</el-link>`,
160
+ underline: `<el-link :underline="false">Without Underline</el-link>`,
161
+ icon: `<el-link class="isax-add icon-right">Check</el-link>`,
162
+ });
163
+ const handleClick = () => {
164
+ alert('button click');
165
+ };
166
+ </script>