@timus-networks/theme 2.0.0 → 2.0.1

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 (190) hide show
  1. package/README.md +128 -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 +159 -0
  7. package/dist/runtime/components/example.button.vue +237 -0
  8. package/dist/runtime/components/example.button.vue.d.ts +10 -0
  9. package/dist/runtime/components/example.checkbox.vue +190 -0
  10. package/dist/runtime/components/example.checkbox.vue.d.ts +24 -0
  11. package/dist/runtime/components/example.dialog.vue +82 -0
  12. package/dist/runtime/components/example.form.vue +494 -0
  13. package/dist/runtime/components/example.input.vue +286 -0
  14. package/dist/runtime/components/example.input.vue.d.ts +20 -0
  15. package/dist/runtime/components/example.popover.vue +161 -0
  16. package/dist/runtime/components/example.radio.vue +165 -0
  17. package/dist/runtime/components/example.radio.vue.d.ts +24 -0
  18. package/dist/runtime/components/example.select.vue +591 -0
  19. package/dist/runtime/components/example.select.vue.d.ts +69 -0
  20. package/dist/runtime/components/example.sidebar.vue +104 -0
  21. package/dist/runtime/components/example.table.vue +126 -0
  22. package/dist/runtime/components/example.tag.vue +279 -0
  23. package/dist/runtime/components/html-encode.vue +37 -0
  24. package/dist/runtime/pages/theme.vue +30 -0
  25. package/dist/runtime/plugins/element-extend-plugin.d.ts +38 -0
  26. package/dist/runtime/plugins/element-extend-plugin.js +39 -0
  27. package/dist/runtime/plugins/element-extend-plugin.mjs +39 -0
  28. package/dist/runtime/plugins/experimental-size-plugin.d.ts +2 -0
  29. package/dist/runtime/plugins/experimental-size-plugin.js +13 -0
  30. package/dist/runtime/plugins/experimental-size-plugin.mjs +13 -0
  31. package/dist/runtime/plugins/sample-plugin.d.ts +20 -0
  32. package/dist/runtime/plugins/sample-plugin.js +5 -0
  33. package/dist/runtime/plugins/sample-plugin.mjs +5 -0
  34. package/dist/runtime/plugins/theme-provider.d.ts +30 -0
  35. package/dist/runtime/plugins/theme-provider.js +46 -0
  36. package/dist/runtime/plugins/theme-provider.mjs +46 -0
  37. package/dist/runtime/public/scss/element-plus/affix.css +277 -0
  38. package/dist/runtime/public/scss/element-plus/alert.css +420 -0
  39. package/dist/runtime/public/scss/element-plus/anchor-link.css +304 -0
  40. package/dist/runtime/public/scss/element-plus/anchor.css +348 -0
  41. package/dist/runtime/public/scss/element-plus/aside.css +280 -0
  42. package/dist/runtime/public/scss/element-plus/autocomplete.css +383 -0
  43. package/dist/runtime/public/scss/element-plus/avatar.css +320 -0
  44. package/dist/runtime/public/scss/element-plus/backtop.css +298 -0
  45. package/dist/runtime/public/scss/element-plus/badge.css +348 -0
  46. package/dist/runtime/public/scss/element-plus/base.css +522 -0
  47. package/dist/runtime/public/scss/element-plus/breadcrumb-item.css +0 -0
  48. package/dist/runtime/public/scss/element-plus/breadcrumb.css +330 -0
  49. package/dist/runtime/public/scss/element-plus/button-group.css +413 -0
  50. package/dist/runtime/public/scss/element-plus/button.css +1043 -0
  51. package/dist/runtime/public/scss/element-plus/calendar.css +342 -0
  52. package/dist/runtime/public/scss/element-plus/card.css +312 -0
  53. package/dist/runtime/public/scss/element-plus/carousel-item.css +322 -0
  54. package/dist/runtime/public/scss/element-plus/carousel.css +447 -0
  55. package/dist/runtime/public/scss/element-plus/cascader-panel.css +400 -0
  56. package/dist/runtime/public/scss/element-plus/cascader.css +532 -0
  57. package/dist/runtime/public/scss/element-plus/check-tag.css +358 -0
  58. package/dist/runtime/public/scss/element-plus/checkbox-button.css +418 -0
  59. package/dist/runtime/public/scss/element-plus/checkbox-group.css +279 -0
  60. package/dist/runtime/public/scss/element-plus/checkbox.css +560 -0
  61. package/dist/runtime/public/scss/element-plus/col.css +3242 -0
  62. package/dist/runtime/public/scss/element-plus/collapse-item.css +0 -0
  63. package/dist/runtime/public/scss/element-plus/collapse-transition.css +0 -0
  64. package/dist/runtime/public/scss/element-plus/collapse.css +462 -0
  65. package/dist/runtime/public/scss/element-plus/color/index.css +0 -0
  66. package/dist/runtime/public/scss/element-plus/color-picker.css +622 -0
  67. package/dist/runtime/public/scss/element-plus/common/popup.css +310 -0
  68. package/dist/runtime/public/scss/element-plus/common/transition.css +392 -0
  69. package/dist/runtime/public/scss/element-plus/common/var.css +274 -0
  70. package/dist/runtime/public/scss/element-plus/config-provider.css +0 -0
  71. package/dist/runtime/public/scss/element-plus/container.css +285 -0
  72. package/dist/runtime/public/scss/element-plus/dark/css-vars.css +325 -0
  73. package/dist/runtime/public/scss/element-plus/dark/var.css +274 -0
  74. package/dist/runtime/public/scss/element-plus/date-picker/date-picker.css +496 -0
  75. package/dist/runtime/public/scss/element-plus/date-picker/date-range-picker.css +378 -0
  76. package/dist/runtime/public/scss/element-plus/date-picker/date-table.css +398 -0
  77. package/dist/runtime/public/scss/element-plus/date-picker/month-table.css +360 -0
  78. package/dist/runtime/public/scss/element-plus/date-picker/picker-panel.css +391 -0
  79. package/dist/runtime/public/scss/element-plus/date-picker/picker.css +634 -0
  80. package/dist/runtime/public/scss/element-plus/date-picker/time-picker.css +344 -0
  81. package/dist/runtime/public/scss/element-plus/date-picker/time-range-picker.css +303 -0
  82. package/dist/runtime/public/scss/element-plus/date-picker/time-spinner.css +362 -0
  83. package/dist/runtime/public/scss/element-plus/date-picker/year-table.css +356 -0
  84. package/dist/runtime/public/scss/element-plus/date-picker.css +1447 -0
  85. package/dist/runtime/public/scss/element-plus/descriptions-item.css +307 -0
  86. package/dist/runtime/public/scss/element-plus/descriptions.css +373 -0
  87. package/dist/runtime/public/scss/element-plus/dialog.css +484 -0
  88. package/dist/runtime/public/scss/element-plus/display.css +329 -0
  89. package/dist/runtime/public/scss/element-plus/divider.css +317 -0
  90. package/dist/runtime/public/scss/element-plus/drawer.css +391 -0
  91. package/dist/runtime/public/scss/element-plus/dropdown-item.css +0 -0
  92. package/dist/runtime/public/scss/element-plus/dropdown-menu.css +0 -0
  93. package/dist/runtime/public/scss/element-plus/dropdown.css +464 -0
  94. package/dist/runtime/public/scss/element-plus/empty.css +327 -0
  95. package/dist/runtime/public/scss/element-plus/footer.css +282 -0
  96. package/dist/runtime/public/scss/element-plus/form-item.css +0 -0
  97. package/dist/runtime/public/scss/element-plus/form.css +499 -0
  98. package/dist/runtime/public/scss/element-plus/header.css +282 -0
  99. package/dist/runtime/public/scss/element-plus/icon.css +315 -0
  100. package/dist/runtime/public/scss/element-plus/image-viewer.css +411 -0
  101. package/dist/runtime/public/scss/element-plus/image.css +315 -0
  102. package/dist/runtime/public/scss/element-plus/index.css +16702 -0
  103. package/dist/runtime/public/scss/element-plus/infinite-scroll.css +0 -0
  104. package/dist/runtime/public/scss/element-plus/input-number.css +450 -0
  105. package/dist/runtime/public/scss/element-plus/input.css +742 -0
  106. package/dist/runtime/public/scss/element-plus/link.css +422 -0
  107. package/dist/runtime/public/scss/element-plus/loading.css +363 -0
  108. package/dist/runtime/public/scss/element-plus/main.css +283 -0
  109. package/dist/runtime/public/scss/element-plus/mention.css +385 -0
  110. package/dist/runtime/public/scss/element-plus/menu-item-group.css +0 -0
  111. package/dist/runtime/public/scss/element-plus/menu-item.css +0 -0
  112. package/dist/runtime/public/scss/element-plus/menu.css +709 -0
  113. package/dist/runtime/public/scss/element-plus/message-box.css +501 -0
  114. package/dist/runtime/public/scss/element-plus/message.css +398 -0
  115. package/dist/runtime/public/scss/element-plus/mixins/config.css +0 -0
  116. package/dist/runtime/public/scss/element-plus/mixins/function.css +0 -0
  117. package/dist/runtime/public/scss/element-plus/mixins/mixins.css +274 -0
  118. package/dist/runtime/public/scss/element-plus/mixins/utils.css +0 -0
  119. package/dist/runtime/public/scss/element-plus/notification.css +381 -0
  120. package/dist/runtime/public/scss/element-plus/option-group.css +303 -0
  121. package/dist/runtime/public/scss/element-plus/option.css +325 -0
  122. package/dist/runtime/public/scss/element-plus/overlay.css +289 -0
  123. package/dist/runtime/public/scss/element-plus/page-header.css +323 -0
  124. package/dist/runtime/public/scss/element-plus/pagination.css +533 -0
  125. package/dist/runtime/public/scss/element-plus/popconfirm.css +287 -0
  126. package/dist/runtime/public/scss/element-plus/popover.css +324 -0
  127. package/dist/runtime/public/scss/element-plus/popper.css +372 -0
  128. package/dist/runtime/public/scss/element-plus/progress.css +421 -0
  129. package/dist/runtime/public/scss/element-plus/radio-button.css +402 -0
  130. package/dist/runtime/public/scss/element-plus/radio-group.css +280 -0
  131. package/dist/runtime/public/scss/element-plus/radio.css +533 -0
  132. package/dist/runtime/public/scss/element-plus/rate.css +356 -0
  133. package/dist/runtime/public/scss/element-plus/reset.css +371 -0
  134. package/dist/runtime/public/scss/element-plus/result.css +353 -0
  135. package/dist/runtime/public/scss/element-plus/row.css +311 -0
  136. package/dist/runtime/public/scss/element-plus/scrollbar.css +345 -0
  137. package/dist/runtime/public/scss/element-plus/segmented.css +432 -0
  138. package/dist/runtime/public/scss/element-plus/select-dropdown-v2.css +323 -0
  139. package/dist/runtime/public/scss/element-plus/select-dropdown.css +323 -0
  140. package/dist/runtime/public/scss/element-plus/select-v2.css +740 -0
  141. package/dist/runtime/public/scss/element-plus/select.css +740 -0
  142. package/dist/runtime/public/scss/element-plus/skeleton-item.css +344 -0
  143. package/dist/runtime/public/scss/element-plus/skeleton.css +307 -0
  144. package/dist/runtime/public/scss/element-plus/slider.css +452 -0
  145. package/dist/runtime/public/scss/element-plus/space.css +289 -0
  146. package/dist/runtime/public/scss/element-plus/spinner.css +314 -0
  147. package/dist/runtime/public/scss/element-plus/statistic.css +308 -0
  148. package/dist/runtime/public/scss/element-plus/step.css +558 -0
  149. package/dist/runtime/public/scss/element-plus/steps.css +291 -0
  150. package/dist/runtime/public/scss/element-plus/sub-menu.css +0 -0
  151. package/dist/runtime/public/scss/element-plus/switch.css +498 -0
  152. package/dist/runtime/public/scss/element-plus/tab-pane.css +0 -0
  153. package/dist/runtime/public/scss/element-plus/table-column.css +354 -0
  154. package/dist/runtime/public/scss/element-plus/table-v2.css +492 -0
  155. package/dist/runtime/public/scss/element-plus/table.css +865 -0
  156. package/dist/runtime/public/scss/element-plus/tabs.css +864 -0
  157. package/dist/runtime/public/scss/element-plus/tag.css +596 -0
  158. package/dist/runtime/public/scss/element-plus/text.css +344 -0
  159. package/dist/runtime/public/scss/element-plus/time-picker.css +942 -0
  160. package/dist/runtime/public/scss/element-plus/time-select.css +884 -0
  161. package/dist/runtime/public/scss/element-plus/timeline-item.css +387 -0
  162. package/dist/runtime/public/scss/element-plus/timeline.css +306 -0
  163. package/dist/runtime/public/scss/element-plus/tooltip-v2.css +382 -0
  164. package/dist/runtime/public/scss/element-plus/tooltip.css +0 -0
  165. package/dist/runtime/public/scss/element-plus/tour.css +433 -0
  166. package/dist/runtime/public/scss/element-plus/transfer.css +469 -0
  167. package/dist/runtime/public/scss/element-plus/tree-select.css +297 -0
  168. package/dist/runtime/public/scss/element-plus/tree.css +510 -0
  169. package/dist/runtime/public/scss/element-plus/upload.css +834 -0
  170. package/dist/runtime/public/scss/element-plus/var.css +361 -0
  171. package/dist/runtime/public/scss/element-plus/virtual-list.css +302 -0
  172. package/dist/runtime/public/scss/theme.css +1191 -0
  173. package/dist/runtime/server/tsconfig.json +6 -0
  174. package/dist/runtime/types.d.ts +40 -0
  175. package/dist/types.d.mts +7 -0
  176. package/dist/types.d.ts +7 -0
  177. package/package.json +29 -12
  178. package/components/TimusIcons.vue +0 -54
  179. package/generate-icon.js +0 -22
  180. package/module.ts +0 -84
  181. package/pages/icons.vue +0 -46
  182. package/plugins/sample-plugin.ts +0 -5
  183. package/public/isax/fonts/iconsax.svg +0 -927
  184. package/public/isax/fonts/iconsax.ttf +0 -0
  185. package/public/isax/fonts/iconsax.woff +0 -0
  186. package/public/isax/icons.json +0 -899
  187. package/public/isax/selection.json +0 -1
  188. package/public/isax/style.css +0 -1
  189. package/public/isax/style.scss +0 -5435
  190. package/public/isax/variables.scss +0 -900
@@ -0,0 +1,190 @@
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>
8
+ <div class="flex flex-col gap-3 items-start">
9
+ <h2>Sizes</h2>
10
+ <p>
11
+ Default size is Large. Checkbox component provides {{ sizes.length }} additional sizes for you to choose among different scenarios. Use attribute size to set additional
12
+ sizes <el-text tag="mark">{{ sizes.join(', ') }}</el-text>
13
+ </p>
14
+ </div>
15
+ </template>
16
+ <div class="flex gap-4 items-start">
17
+ <el-checkbox v-for="(size, index) of sizes" :key="index" v-model="value" :label="`${capitalize(size)}`" :size="size" />
18
+ </div>
19
+ <template #footer>
20
+ <html-encode :tag="snippets.sizes" />
21
+ </template>
22
+ </el-card>
23
+
24
+ <el-card>
25
+ <template #header>
26
+ <div class="flex flex-col gap-3 items-start">
27
+ <h2>Disabled</h2>
28
+ <p>Disabled state for checkbox. Set the <el-text tag="mark">disabled</el-text> attribute.</p>
29
+ </div>
30
+ </template>
31
+ <div class="flex gap-4 items-start">
32
+ <el-checkbox v-model="value">Not Disabled Default</el-checkbox>
33
+ <el-checkbox v-model="value" disabled>Disabled Default</el-checkbox>
34
+ </div>
35
+ <template #footer>
36
+ <html-encode :tag="snippets.disabled" />
37
+ </template>
38
+ </el-card>
39
+
40
+ <el-card>
41
+ <template #header>
42
+ <div class="flex flex-col gap-3 items-start">
43
+ <h2>Checkbox group</h2>
44
+ <p>
45
+ 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.
46
+ <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
47
+ <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
48
+ 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
49
+ array, and vice versa.
50
+ </p>
51
+ </div>
52
+ </template>
53
+ <div class="flex flex-col gap-4 items-start">
54
+ <el-checkbox-group v-model="checkList" class="flex gap-3">
55
+ <el-checkbox label="Option A" value="Value A" />
56
+ <el-checkbox label="Option B" value="Value B" />
57
+ <el-checkbox label="Option C" value="Value C" />
58
+ <el-checkbox label="disabled" value="Value disabled" disabled />
59
+ <el-checkbox label="selected and disabled" value="Value selected and disabled" disabled />
60
+ </el-checkbox-group>
61
+ Model: {{ checkList }}
62
+ </div>
63
+ <template #footer>
64
+ <html-encode :tag="snippets.group" />
65
+ </template>
66
+ </el-card>
67
+
68
+ <el-card>
69
+ <template #header>
70
+ <div class="flex flex-col gap-3 items-start">
71
+ <h2>Indeterminate</h2>
72
+ <p>The <el-text tag="mark">indeterminate</el-text> property can help you to achieve a 'check all' effect.</p>
73
+ </div>
74
+ </template>
75
+ <div class="flex flex-col gap-4 items-start">
76
+ <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" disabled @change="handleCheckAllChange"> Check all </el-checkbox>
77
+ <el-checkbox-group v-model="checkedCities" class="flex gap-3" @change="handleCheckedCitiesChange">
78
+ <el-checkbox v-for="city in cities" :key="city" :label="city" :value="city">
79
+ {{ city }}
80
+ </el-checkbox>
81
+ </el-checkbox-group>
82
+ </div>
83
+ <template #footer>
84
+ <html-encode :tag="snippets.indeterminate" />
85
+ </template>
86
+ </el-card>
87
+
88
+ <el-card>
89
+ <template #header>
90
+ <div class="flex flex-col gap-3 items-start">
91
+ <h2>Minimum / Maximum items checked</h2>
92
+ <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>
93
+ </div>
94
+ </template>
95
+ <div class="flex flex-col gap-4 items-start">
96
+ <el-checkbox-group v-model="checkedCities" :min="1" :max="2" class="gap-3">
97
+ <el-checkbox v-for="city in cities" :key="city" :label="city" :value="city">
98
+ {{ city }}
99
+ </el-checkbox>
100
+ </el-checkbox-group>
101
+ </div>
102
+ <template #footer>
103
+ <html-encode :tag="snippets.indeterminate" />
104
+ </template>
105
+ </el-card>
106
+
107
+ <el-card>
108
+ <template #header>
109
+ <div class="flex flex-col gap-3 items-start">
110
+ <h2>Button style</h2>
111
+ <p>
112
+ 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.
113
+ </p>
114
+ </div>
115
+ </template>
116
+ <div class="flex flex-col gap-4 items-start">
117
+ <el-checkbox-group v-for="(size, index) of sizes" :key="index" v-model="checkedCities" :size="size">
118
+ <el-checkbox-button v-for="(city, i) in cities" :key="city" :value="city" :disabled="[0, 1, 3].includes(i)">
119
+ {{ city }}
120
+ </el-checkbox-button>
121
+ </el-checkbox-group>
122
+ </div>
123
+ <template #footer>
124
+ <html-encode :tag="snippets.indeterminate" />
125
+ </template>
126
+ </el-card>
127
+
128
+ <el-card>
129
+ <template #header>
130
+ <div class="flex flex-col gap-3 items-start">
131
+ <h2>With borders</h2>
132
+ <p>The border attribute adds a border to Checkboxes.</p>
133
+ </div>
134
+ </template>
135
+ <div class="flex flex-col gap-4 items-start">
136
+ <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)" />
137
+ </div>
138
+ <template #footer>
139
+ <html-encode :tag="snippets.indeterminate" />
140
+ </template>
141
+ </el-card>
142
+ </div>
143
+ </template>
144
+
145
+ <script>
146
+ import { defineComponent } from "vue";
147
+ export default defineComponent({
148
+ name: "TimusCheckbox",
149
+ data() {
150
+ return {
151
+ sizes: ["default", "large", "medium", "small", "mini"],
152
+ colors: ["primary", "secondary", "neutral", "success", "warning", "info", "danger"],
153
+ value: "",
154
+ disabled: true,
155
+ snippets: {
156
+ sizes: `<el-checkbox v-model="value" label="Option label" size="large" />`,
157
+ disabled: `<el-checkbox v-model="value" label="Option label" disabled />`,
158
+ group: `
159
+ <el-checkbox-group v-model="checkList" class="flex gap-3">
160
+ <el-checkbox label="Option A" value="Value A" />
161
+ <el-checkbox label="Option B" value="Value B" />
162
+ </el-checkbox-group>
163
+ `,
164
+ indeterminate: ` <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange"> Check all </el-checkbox> `,
165
+ min_max: ``
166
+ },
167
+ checkAll: false,
168
+ checkList: ["Value selected and disabled", "Value A"],
169
+ isIndeterminate: true,
170
+ checkedCities: ["Shanghai", "Beijing"],
171
+ cities: ["Shanghai", "Beijing", "Guangzhou", "Shenzhen"]
172
+ };
173
+ },
174
+ methods: {
175
+ capitalize(value) {
176
+ const text = String(value);
177
+ return text.charAt(0).toUpperCase() + text.slice(1);
178
+ },
179
+ handleCheckedCitiesChange(value) {
180
+ const checkedCount = value.length;
181
+ this.checkAll = checkedCount === this.cities.length;
182
+ this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
183
+ },
184
+ handleCheckAllChange(val) {
185
+ this.checkedCities = val ? this.cities : [];
186
+ this.isIndeterminate = false;
187
+ }
188
+ }
189
+ });
190
+ </script>
@@ -0,0 +1,24 @@
1
+ import type { CheckboxValueType } from '@timus-networks/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<import("vue").ExtractPropTypes<{}>>, {}, {}>;
24
+ export default _default;
@@ -0,0 +1,82 @@
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>
8
+ <div class="flex flex-col gap-3 items-start">
9
+ <h2>Basic usage</h2>
10
+ <p>
11
+ 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
12
+ 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
13
+ <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
14
+ defining a title. Finally, this example demonstrates how <el-text tag="mark">before-close</el-text> is used.
15
+ </p>
16
+ </div>
17
+ </template>
18
+ <div class="flex gap-2">
19
+ <el-button plain @click="dialogVisible = true"> Click to open the Dialog </el-button>
20
+
21
+ <el-dialog v-model="dialogVisible" title="Tips" :before-close="handleClose">
22
+ <span>
23
+ 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?
24
+ </span>
25
+ <template #footer>
26
+ <el-button plain @click="dialogVisible = false">Cancel</el-button>
27
+ <el-button type="primary" @click="dialogVisible = false"> Confirm </el-button>
28
+ </template>
29
+ </el-dialog>
30
+ </div>
31
+ <template #footer> <html-encode :tag="snippets.basic" /> </template>
32
+ </el-card>
33
+ </div>
34
+ </template>
35
+
36
+ <script lang="ts" setup>
37
+ import { useZIndex } from '@timus-networks/element-plus';
38
+ import { ElMessageBox } from '@timus-networks/element-plus';
39
+ import { ref } from 'vue';
40
+
41
+ const c = ref(22);
42
+
43
+ useZIndex(c);
44
+
45
+ const dialogVisible = ref(false);
46
+ const handleClose = (done: () => void) => {
47
+ ElMessageBox.confirm('Are you sure to close this dialog?')
48
+ .then(() => {
49
+ done();
50
+ })
51
+ .catch(() => {
52
+ // catch error
53
+ });
54
+ };
55
+ const snippets = ref({
56
+ basic: `
57
+ <el-button plain @click="dialogVisible = true"> Click to open the Dialog </el-button>
58
+
59
+ <el-dialog v-model="dialogVisible" title="Tips" width="500" :before-close="handleClose">
60
+ <template #header="{ close, titleId, titleClass }">
61
+ <div class="my-header">
62
+ <h4 :id="titleId" :class="titleClass">This is a custom header!</h4>
63
+ <el-button type="danger" @click="close">
64
+ <el-icon class="el-icon--left"><CircleCloseFilled /></el-icon>
65
+ Close
66
+ </el-button>
67
+ </div>
68
+ </template>
69
+ <span>This is a message</span>
70
+ <template #footer>
71
+ <div class="dialog-footer">
72
+ <el-button @click="dialogVisible = false">Cancel</el-button>
73
+ <el-button type="primary" @click="dialogVisible = false"> Confirm </el-button>
74
+ </div>
75
+ </template>
76
+ </el-dialog>
77
+ `,
78
+ disabled: `<el-link type="secondary" disabled>default</el-link>`,
79
+ underline: `<el-link :underline="false">Without Underline</el-link>`,
80
+ icon: `<el-link class="isax-add icon-right">Check</el-link>`,
81
+ });
82
+ </script>