@timus-networks/theme 2.0.16 → 2.1.3

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 +187 -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 +35 -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 -37
  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,235 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Buttons</h1>
4
+ <p>Element Plus Button is a customizable and versatile UI component designed for creating interactive and visually appealing buttons in web applications.</p>
5
+ <el-card>
6
+ <template #header> Sizes </template>
7
+ <div class="flex flex-col gap-3 items-start">
8
+ <p>
9
+ Default size is Large. Button component provides {{ sizes.length }} additional sizes for you to choose among different scenarios. Use attribute size to set additional
10
+ sizes <el-text tag="mark">{{ sizes.join(', ') }}</el-text>
11
+ </p>
12
+ <div class="flex gap-4">
13
+ <el-button v-for="(size, index) of sizes" :key="size + index" :size="size">{{ capitalize(size) }}</el-button>
14
+ </div>
15
+ </div>
16
+ <template #footer>
17
+ <code class="flex flex-col gap-3 items-start">
18
+ <el-tag type="neutral">&lt;el-button :size=&quot;small&quot;&gt;small&lt;/el-button&gt;</el-tag>
19
+ </code>
20
+ </template>
21
+ </el-card>
22
+
23
+ <el-card>
24
+ <template #header> Rounded </template>
25
+ <div class="flex flex-col gap-3 items-start">
26
+ <p>
27
+ A rounded button in Element Plus features slightly curved corners, providing a softer and more modern appearance to your UI elements. To apply it add
28
+ <el-text tag="mark">round</el-text> to button
29
+ </p>
30
+ <div class="flex gap-4">
31
+ <el-button v-for="(size, index) of sizes" :key="size + index" :size="size" round>{{ capitalize(size) }}</el-button>
32
+ </div>
33
+ </div>
34
+ <template #footer>
35
+ <code class="flex flex-col gap-3 items-start">
36
+ <el-tag type="neutral">&lt;el-button round&gt;small&lt;/el-button&gt;</el-tag>
37
+ </code>
38
+ </template>
39
+ </el-card>
40
+
41
+ <el-card>
42
+ <template #header> Colors </template>
43
+ <div class="flex flex-col gap-3 items-start">
44
+ <p>
45
+ The type prop in Element Plus Button allows you to select from predefined styles such as
46
+ <el-text tag="mark">'primary', 'secondary', 'neutral', 'success', 'warning', 'info', and 'danger'</el-text> to visually distinguish buttons based on their purpose and
47
+ importance within your application.
48
+ </p>
49
+ <div class="flex gap-4 flex-wrap">
50
+ <el-button v-for="(color, index) of colors" :key="color + index" :type="color">{{ color }}</el-button>
51
+ </div>
52
+ </div>
53
+ <template #footer>
54
+ <code class="flex flex-col gap-3 items-start">
55
+ <el-tag type="neutral">&lt;el-button :type=&quot;success&quot;&gt;success&lt;/el-button&gt;</el-tag>
56
+ </code>
57
+ </template>
58
+ </el-card>
59
+
60
+ <el-card>
61
+ <template #header> Outline / Plain </template>
62
+ <div class="flex flex-col gap-3 items-start">
63
+ <p>
64
+ The plain prop in Element Plus Button creates a button with a transparent background, offering a subtle and minimalistic look. Add
65
+ <el-text tag="mark">plain</el-text> to the button to make it outlined."
66
+ </p>
67
+ <div class="flex gap-4 flex-wrap">
68
+ <el-button v-for="(color, index) of colors" :key="color + index" :type="color" plain>{{ color }}</el-button>
69
+ </div>
70
+ </div>
71
+ <template #footer>
72
+ <code class="flex flex-col gap-3 items-start">
73
+ <el-tag type="neutral">&lt;el-button plain&gt;success&lt;/el-button&gt;</el-tag>
74
+ </code>
75
+ </template>
76
+ </el-card>
77
+
78
+ <el-card>
79
+ <template #header> Ghost / Text </template>
80
+ <div class="flex flex-col gap-3 items-start">
81
+ <p>
82
+ The plain prop in Element Plus Button creates a button with a transparent background, offering a subtle and minimalistic look. Add <el-text tag="mark">text</el-text>
83
+ to the button to make it ghost."
84
+ </p>
85
+ <div class="flex gap-4 flex-wrap">
86
+ <el-button v-for="(color, index) of colors" :key="color + index" :type="color" text>{{ color }}</el-button>
87
+ </div>
88
+ </div>
89
+ <template #footer>
90
+ <code class="flex flex-col gap-3 items-start">
91
+ <el-tag type="neutral">&lt;el-button text&gt;success&lt;/el-button&gt;</el-tag>
92
+ </code>
93
+ </template>
94
+ </el-card>
95
+
96
+ <el-card>
97
+ <template #header>Disabled</template>
98
+ <div class="flex flex-col gap-3 items-start">
99
+ <p>
100
+ The <code><el-text tag="mark">disabled</el-text></code> attribute determines if the button is disabled. Use disabled attribute to determine whether a button is disabled.
101
+ It accepts a Boolean value.
102
+ </p>
103
+ <div class="flex flex-col gap-4">
104
+ <el-radio-group v-model="active_color" size="mini">
105
+ <el-radio-button v-for="color of colors" :key="color" :value="color">{{ color }}</el-radio-button>
106
+ </el-radio-group>
107
+ <div class="flex gap-4 flex-wrap">
108
+ <el-button v-for="(size, index) of sizes" :key="size + index" :size="size" disabled :type="active_color">{{ capitalize(size) }}</el-button>
109
+ </div>
110
+ <div class="flex gap-4 flex-wrap">
111
+ <el-button v-for="(size, index) of sizes" :key="size + index" :size="size" disabled plain :type="active_color">{{ capitalize(size) }}</el-button>
112
+ </div>
113
+ <div class="flex gap-4 flex-wrap">
114
+ <el-button v-for="(size, index) of sizes" :key="size + index" :size="size" disabled text :type="active_color">{{ capitalize(size) }}</el-button>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ <template #footer>
119
+ <code class="flex flex-col gap-3 items-start">
120
+ <el-tag type="neutral">&lt;el-button :size=&quot;small&quot;&gt;small&lt;/el-button&gt;</el-tag>
121
+ </code>
122
+ </template>
123
+ </el-card>
124
+
125
+ <el-card>
126
+ <template #header> Icon Button </template>
127
+ <div class="flex flex-col gap-3 items-start">
128
+ <p>
129
+ Use <el-text tag="mark">icons</el-text> to add more meaning to Button. You can use icon alone to save some space, or use it with text. Use the icon attribute to add icon.
130
+ You can find the icon list in Element Plus icon component. Adding icons to the right side of the text is achievable with an
131
+ <span class="font-medium">&lt;i &gt;</span> tag. Custom icons can be used as well.
132
+ </p>
133
+ <div class="flex gap-4">
134
+ <el-button :icon="ElIconEdit" />
135
+ <el-button :icon="ElIconShare" />
136
+ <el-button round :icon="ElIconShare" />
137
+ <el-button round plain :icon="ElIconShare" />
138
+ <el-button :icon="ElIconDelete" size="small" type="danger" />
139
+ <el-button :icon="ElIconDelete" size="mini" type="danger" />
140
+ <el-button :icon="ElIconSearch">Search</el-button>
141
+ <el-button>
142
+ Upload<el-icon class="el-icon--right"><ElIconUpload /></el-icon>
143
+ </el-button>
144
+ </div>
145
+ </div>
146
+ <template #footer>
147
+ <code class="flex flex-col gap-3 items-start">
148
+ <el-tag type="neutral">&lt;el-button :icon=&quot;ElIconShare&quot; /&gt;</el-tag>
149
+ <el-tag type="neutral"> &lt;el-button&gt;Upload&lt;el-icon class=&quot;el-icon--right&quot;&gt;&lt;ElIconUpload /&gt;&lt;/el-icon&gt;&lt;/el-button&gt; </el-tag>
150
+ </code>
151
+ </template>
152
+ </el-card>
153
+
154
+ <el-card>
155
+ <template #header> Button Group </template>
156
+ <div class="flex flex-col gap-3 items-start">
157
+ <p>
158
+ Displayed as a button group, can be used to group a series of similar operations. Use tag <el-text tag="mark">&lt;el-button-group&gt;</el-text> to group your buttons.
159
+ </p>
160
+ <div class="flex flex-col gap-7.5">
161
+ <el-radio-group v-model="active_color" size="mini">
162
+ <el-radio-button v-for="color of colors" :key="color" :value="color">{{ color }}</el-radio-button>
163
+ </el-radio-group>
164
+ <el-button-group>
165
+ <el-button disabled :type="active_color" :icon="ElIconArrowLeft">Previous Page</el-button>
166
+ <el-button disabled :type="active_color" :icon="ElIconArrowLeft">Previous Page</el-button>
167
+ <el-button disabled :type="active_color">
168
+ Next Page<el-icon class="el-icon--right"><ElIconArrowRight /></el-icon>
169
+ </el-button>
170
+ </el-button-group>
171
+ <el-button-group>
172
+ <el-button :type="active_color" :icon="ElIconArrowLeft">Previous Page</el-button>
173
+ <el-button :type="active_color" :icon="ElIconArrowLeft">Previous Page</el-button>
174
+ <el-button :type="active_color">
175
+ Next Page<el-icon class="el-icon--right"><ElIconArrowRight /></el-icon>
176
+ </el-button>
177
+ </el-button-group>
178
+ </div>
179
+ </div>
180
+
181
+ <template #footer>
182
+ <html-encode :tag="snippets.group" />
183
+ </template>
184
+ </el-card>
185
+
186
+ <el-card>
187
+ <template #header> Tag </template>
188
+ <div class="flex flex-col gap-3 items-start">
189
+ <p>You can custom element <el-text tag="mark">tag</el-text>, For example button, div, a, router-link, nuxt-link.</p>
190
+ <div class="flex gap-4">
191
+ <el-button type="" tag="div" role="button" tabindex="0">div</el-button>
192
+ <el-button type="primary" tag="a" href="https://github.com/element-plus/element-plus" target="_blank" rel="noopener noreferrer"> a </el-button>
193
+ </div>
194
+ </div>
195
+ <template #footer>
196
+ <code class="flex flex-col gap-3 items-start">
197
+ <el-tag type="neutral">&lt;el-button tag=&quot;div&quot; role=&quot;button&quot; tabindex=&quot;0&quot;&gt;div&lt;/el-button&gt;</el-tag>
198
+ <el-tag type="neutral">
199
+ &lt;el-button type=&quot;primary&quot; tag=&quot;a&quot; href=&quot;https://github.com/element-plus/element-plus&quot; target=&quot;_blank&quot; rel=&quot;noopener
200
+ noreferrer&quot; &gt; a &lt;/el-button&gt;
201
+ </el-tag>
202
+ </code>
203
+ </template>
204
+ </el-card>
205
+ </div>
206
+ </template>
207
+
208
+ <script>
209
+ import { defineComponent } from "vue";
210
+ export default defineComponent({
211
+ name: "TimusButton",
212
+ data() {
213
+ return {
214
+ sizes: ["default", "large", "medium", "small", "mini"],
215
+ colors: ["default", "primary", "secondary", "neutral", "success", "warning", "info", "danger"],
216
+ snippets: {
217
+ group: `
218
+ <el-button-group>
219
+ <el-button type="primary" :icon="ElIconArrowLeft">Previous Page</el-button>
220
+ <el-button type="primary">
221
+ Next Page<el-icon class="el-icon--right"><ElIconArrowRight /></el-icon>
222
+ </el-button>
223
+ </el-button-group>`
224
+ },
225
+ active_color: "default"
226
+ };
227
+ },
228
+ methods: {
229
+ capitalize(value) {
230
+ const text = String(value);
231
+ return text.charAt(0).toUpperCase() + text.slice(1);
232
+ }
233
+ }
234
+ });
235
+ </script>
@@ -0,0 +1,11 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {
2
+ sizes: string[];
3
+ colors: string[];
4
+ snippets: {
5
+ group: string;
6
+ };
7
+ active_color: string;
8
+ }, {}, {
9
+ capitalize(value: string): string;
10
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ export default _default;
@@ -0,0 +1,68 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Card - (Needs Acceptance)</h1>
4
+ <p>Integrate information in a card container.</p>
5
+
6
+ <el-card>
7
+ <template #header>
8
+ <h2>Basic usage</h2>
9
+ </template>
10
+ <section class="flex flex-col gap-7.5">
11
+ <p>
12
+ Card includes, content and operations. Card is made up of <el-text tag="mark">header</el-text>, <el-text tag="mark">body</el-text> and
13
+ <el-text tag="mark">footer</el-text>. header and footer are optional, and its content distribution depends on a named slot.
14
+ </p>
15
+ <el-card style="max-width: 480px">
16
+ <template #header>
17
+ <div class="card-header">
18
+ <span>Card name</span>
19
+ </div>
20
+ </template>
21
+ <p v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</p>
22
+ <template #footer>Footer content</template>
23
+ </el-card>
24
+ </section>
25
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
26
+ </el-card>
27
+
28
+ <el-card>
29
+ <template #header>
30
+ <h2>Shadow</h2>
31
+ </template>
32
+ <section class="flex flex-col gap-7.5">
33
+ <p>
34
+ You can define when to show the card shadows The shadow attribute determines when the card shadows are displayed. It can be <el-text tag="mark">always</el-text>,
35
+ <el-text tag="mark">hover</el-text> or <el-text tag="mark">never</el-text>.
36
+ </p>
37
+ <div class="flex gap-7.5">
38
+ <el-card style="width: 480px" shadow="always">Always</el-card>
39
+ <el-card style="width: 480px" shadow="hover">Hover</el-card>
40
+ <el-card style="width: 480px" shadow="never">Never</el-card>
41
+ </div>
42
+ </section>
43
+ <template #footer> <html-encode :tag="snippets.shadow" /> </template>
44
+ </el-card>
45
+ </div>
46
+ </template>
47
+
48
+ <script lang="ts" setup>
49
+ import { ref } from 'vue';
50
+
51
+ const snippets = ref({
52
+ basic: `
53
+ <el-card style="max-width: 480px">
54
+ <template #header>
55
+ <div class="card-header">
56
+ <span>Card name</span>
57
+ </div>
58
+ </template>
59
+ <p v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</p>
60
+ <template #footer>Footer content</template>
61
+ </el-card>`,
62
+ shadow: `
63
+ <el-card style="width: 480px" shadow="always">Always</el-card>
64
+ <el-card style="width: 480px" shadow="hover">Hover</el-card>
65
+ <el-card style="width: 480px" shadow="never">Never</el-card>
66
+ `,
67
+ });
68
+ </script>
@@ -0,0 +1,176 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Select</h1>
4
+ <p>When there are plenty of options, use a drop-down menu to display and select desired ones.</p>
5
+
6
+ <el-card>
7
+ <template #header> Sizes </template>
8
+ <div class="flex flex-col gap-3 items-start">
9
+ <p>
10
+ Default size is Large. Checkbox component provides {{ sizes.length }} additional sizes for you to choose among different scenarios. Use attribute size to set additional
11
+ sizes <el-text tag="mark">{{ sizes.join(', ') }}</el-text>
12
+ </p>
13
+ <div class="flex gap-4 items-start">
14
+ <el-checkbox v-for="(size, index) of sizes" :key="index" v-model="value" :label="`${capitalize(size)}`" :size="size" />
15
+ </div>
16
+ </div>
17
+ <template #footer>
18
+ <html-encode :tag="snippets.sizes" />
19
+ </template>
20
+ </el-card>
21
+
22
+ <el-card>
23
+ <template #header> Disabled </template>
24
+ <div class="flex flex-col gap-3 items-start">
25
+ <p>Disabled state for checkbox. Set the <el-text tag="mark">disabled</el-text> attribute.</p>
26
+ <div class="flex gap-4 items-start">
27
+ <el-checkbox v-model="value">Not Disabled Default</el-checkbox>
28
+ <el-checkbox v-model="value" disabled>Disabled Default</el-checkbox>
29
+ </div>
30
+ </div>
31
+ <template #footer>
32
+ <html-encode :tag="snippets.disabled" />
33
+ </template>
34
+ </el-card>
35
+
36
+ <el-card>
37
+ <template #header> Checkbox group </template>
38
+ <div class="flex flex-col gap-3 items-start">
39
+ <p>
40
+ It is used for multiple checkboxes which are bound in one group, and indicates whether one option is selected by checking if it is checked.
41
+ <el-text tag="mark">checkbox-group</el-text> element can manage multiple checkboxes in one group by using v-model which is bound as an
42
+ <el-text tag="mark">Array</el-text>. Inside the el-checkbox element, value is the value of the checkbox. If no content is nested in that tag, label will be rendered as
43
+ the description following the button of the checkbox. value also corresponds with the element values in the array. It is selected if the specified value exists in the
44
+ array, and vice versa.
45
+ </p>
46
+ <div class="flex flex-col gap-4 items-start">
47
+ <el-checkbox-group v-model="checkList" class="flex gap-3">
48
+ <el-checkbox label="Option A" value="Value A" />
49
+ <el-checkbox label="Option B" value="Value B" />
50
+ <el-checkbox label="Option C" value="Value C" />
51
+ <el-checkbox label="disabled" value="Value disabled" disabled />
52
+ <el-checkbox label="selected and disabled" value="Value selected and disabled" disabled />
53
+ </el-checkbox-group>
54
+ Model: {{ checkList }}
55
+ </div>
56
+ </div>
57
+ <template #footer>
58
+ <html-encode :tag="snippets.group" />
59
+ </template>
60
+ </el-card>
61
+
62
+ <el-card>
63
+ <template #header> Indeterminate </template>
64
+ <div class="flex flex-col gap-3 items-start">
65
+ <p>The <el-text tag="mark">indeterminate</el-text> property can help you to achieve a 'check all' effect.</p>
66
+ <div class="flex flex-col gap-4 items-start">
67
+ <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" disabled @change="handleCheckAllChange"> Check all </el-checkbox>
68
+ <el-checkbox-group v-model="checkedCities" class="flex gap-3" @change="handleCheckedCitiesChange">
69
+ <el-checkbox v-for="city in cities" :key="city" :label="city" :value="city">
70
+ {{ city }}
71
+ </el-checkbox>
72
+ </el-checkbox-group>
73
+ </div>
74
+ </div>
75
+ <template #footer>
76
+ <html-encode :tag="snippets.indeterminate" />
77
+ </template>
78
+ </el-card>
79
+
80
+ <el-card>
81
+ <template #header> Minimum / Maximum items checked </template>
82
+ <div class="flex flex-col gap-3 items-start">
83
+ <p>The <el-text tag="mark">min</el-text> and <el-text tag="mark">max</el-text> properties can help you to limit the number of checked items.</p>
84
+ <div class="flex flex-col gap-4 items-start">
85
+ <el-checkbox-group v-model="checkedCities" :min="1" :max="2" class="gap-3">
86
+ <el-checkbox v-for="city in cities" :key="city" :label="city" :value="city">
87
+ {{ city }}
88
+ </el-checkbox>
89
+ </el-checkbox-group>
90
+ </div>
91
+ </div>
92
+ <template #footer>
93
+ <html-encode :tag="snippets.indeterminate" />
94
+ </template>
95
+ </el-card>
96
+
97
+ <el-card>
98
+ <template #header> Button style </template>
99
+ <div class="flex flex-col gap-3 items-start">
100
+ <p>
101
+ Checkbox with button styles. You just need to change el-checkbox element into el-checkbox-button element. We also provide <el-text tag="mark">size</el-text> attribute.
102
+ </p>
103
+ <div class="flex flex-col gap-4 items-start">
104
+ <el-checkbox-group v-for="(size, index) of sizes" :key="index" v-model="checkedCities" :size="size">
105
+ <el-checkbox-button v-for="(city, i) in cities" :key="city" :value="city" :disabled="[0, 1, 3].includes(i)">
106
+ {{ city }}
107
+ </el-checkbox-button>
108
+ </el-checkbox-group>
109
+ </div>
110
+ </div>
111
+ <template #footer>
112
+ <html-encode :tag="snippets.indeterminate" />
113
+ </template>
114
+ </el-card>
115
+
116
+ <el-card>
117
+ <template #header> With borders </template>
118
+ <div class="flex flex-col gap-3 items-start">
119
+ <p>The border attribute adds a border to Checkboxes.</p>
120
+ <div class="flex flex-col gap-4 items-start">
121
+ <el-checkbox v-for="(size, index) of sizes" :key="index" v-model="value" border :label="`${capitalize(size)}`" :size="size" :disabled="[1, 2, 3].includes(index)" />
122
+ </div>
123
+ </div>
124
+ <template #footer>
125
+ <html-encode :tag="snippets.indeterminate" />
126
+ </template>
127
+ </el-card>
128
+ </div>
129
+ </template>
130
+
131
+ <script>
132
+ import { defineComponent } from "vue";
133
+ export default defineComponent({
134
+ name: "TimusCheckbox",
135
+ data() {
136
+ return {
137
+ sizes: ["default", "large", "medium", "small", "mini"],
138
+ colors: ["primary", "secondary", "neutral", "success", "warning", "info", "danger"],
139
+ value: "",
140
+ disabled: true,
141
+ snippets: {
142
+ sizes: `<el-checkbox v-model="value" label="Option label" size="large" />`,
143
+ disabled: `<el-checkbox v-model="value" label="Option label" disabled />`,
144
+ group: `
145
+ <el-checkbox-group v-model="checkList" class="flex gap-3">
146
+ <el-checkbox label="Option A" value="Value A" />
147
+ <el-checkbox label="Option B" value="Value B" />
148
+ </el-checkbox-group>
149
+ `,
150
+ indeterminate: ` <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange"> Check all </el-checkbox> `,
151
+ min_max: ``
152
+ },
153
+ checkAll: false,
154
+ checkList: ["Value selected and disabled", "Value A"],
155
+ isIndeterminate: true,
156
+ checkedCities: ["Shanghai", "Beijing"],
157
+ cities: ["Shanghai", "Beijing", "Guangzhou", "Shenzhen"]
158
+ };
159
+ },
160
+ methods: {
161
+ capitalize(value) {
162
+ const text = String(value);
163
+ return text.charAt(0).toUpperCase() + text.slice(1);
164
+ },
165
+ handleCheckedCitiesChange(value) {
166
+ const checkedCount = value.length;
167
+ this.checkAll = checkedCount === this.cities.length;
168
+ this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
169
+ },
170
+ handleCheckAllChange(val) {
171
+ this.checkedCities = val ? this.cities : [];
172
+ this.isIndeterminate = false;
173
+ }
174
+ }
175
+ });
176
+ </script>
@@ -0,0 +1,24 @@
1
+ import type { CheckboxValueType } from 'element-plus';
2
+ declare const _default: import("vue").DefineComponent<{}, {}, {
3
+ sizes: string[];
4
+ colors: string[];
5
+ value: string;
6
+ disabled: boolean;
7
+ snippets: {
8
+ sizes: string;
9
+ disabled: string;
10
+ group: string;
11
+ indeterminate: string;
12
+ min_max: string;
13
+ };
14
+ checkAll: boolean;
15
+ checkList: string[];
16
+ isIndeterminate: boolean;
17
+ checkedCities: string[];
18
+ cities: string[];
19
+ }, {}, {
20
+ capitalize(value: string): string;
21
+ handleCheckedCitiesChange(value: CheckboxValueType[]): void;
22
+ handleCheckAllChange(val: CheckboxValueType): void;
23
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
+ export default _default;
@@ -0,0 +1,38 @@
1
+ <template>
2
+ <div class="flex flex-col gap-8 mb-16">
3
+ <h1 class="">Collapse - (Coding Not Started)</h1>
4
+ <p>Display prompt information for mouse hover.</p>
5
+
6
+ <el-card>
7
+ <template #header>Basic usage</template>
8
+ <div class="flex flex-col gap-3">
9
+ <p>
10
+ Tooltip has 9 placements. Use attribute <el-text tag="mark">content</el-text> to set the display content when hover. The attribute
11
+ <el-text tag="mark"> placement </el-text> determines the position of the tooltip. Its value is <el-text tag="mark">[orientation]-[alignment]</el-text> with four
12
+ orientations <el-text tag="mark">top, left, right, bottom</el-text> and three alignments <el-text tag="mark">start, end, null, and the default</el-text> alignment is
13
+ null. Take <el-text tag="mark">placement="left-end"</el-text> for example, Tooltip will display on the left of the element which you are hovering and the bottom of the
14
+ tooltip aligns with the bottom of the element. attribute for display an image
15
+ </p>
16
+ <section class="flex gap-7.5">sss</section>
17
+ </div>
18
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
19
+ </el-card>
20
+ </div>
21
+ </template>
22
+
23
+ <script lang="ts" setup>
24
+ import { ref } from 'vue';
25
+
26
+ const snippets = ref({
27
+ basic: `
28
+ <el-tooltip class="box-item" effect="dark" content="Left Bottom prompts info" placement="left-end">
29
+ <el-button>left-end</el-button>
30
+ </el-tooltip>`,
31
+ content: `
32
+ <el-tooltip placement="top">
33
+ <template #content> multiple lines<br />second line </template>
34
+ <el-button>Top center</el-button>
35
+ </el-tooltip>
36
+ `,
37
+ });
38
+ </script>