plain-design 1.0.0-beta.34 → 1.0.0-beta.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. package/package.json +3 -2
  2. package/src/pages/data/address.json +0 -39317
  3. package/src/pages/data/data-1.json +0 -754
  4. package/src/pages/data/data-2.json +0 -3006
  5. package/src/pages/data/data-200.json +0 -5206
  6. package/src/pages/data/data-2000.json +0 -51954
  7. package/src/pages/data/data-50.json +0 -2075
  8. package/src/pages/data/data.json +0 -30002
  9. package/src/pages/data/demo.json +0 -1702
  10. package/src/pages/data/mock.database.js +0 -43
  11. package/src/pages/data/mock.js +0 -141
  12. package/src/pages/data/tree.data.json +0 -87
  13. package/src/pages/env/config/local.js +0 -3
  14. package/src/pages/env/config/prod.js +0 -3
  15. package/src/pages/env/config/undefined.js +0 -1
  16. package/src/pages/env/env.d.ts +0 -4
  17. package/src/pages/env/index.ts +0 -1
  18. package/src/pages/history/createHistory.ts +0 -94
  19. package/src/pages/history/history.utils.ts +0 -64
  20. package/src/pages/index/App.tsx +0 -17
  21. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  22. package/src/pages/index/Demo/DemoRow.scss +0 -131
  23. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  24. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  25. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  26. package/src/pages/index/Demo/index.ts +0 -8
  27. package/src/pages/index/app.scss +0 -197
  28. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -56
  29. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  30. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  31. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  32. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  33. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  34. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  35. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  36. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  37. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  38. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  39. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  40. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  41. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  42. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  43. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  44. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  45. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  46. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  47. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  48. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  49. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  50. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  51. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  52. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  53. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  54. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  55. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  56. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  57. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  58. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  59. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  60. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  61. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  62. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  63. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  64. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -230
  65. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  66. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  67. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  68. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  69. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  70. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  71. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  72. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  73. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  74. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -464
  75. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  76. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  77. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  78. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  79. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  80. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  81. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  82. package/src/pages/index/components/normal/DemoLayout.tsx +0 -144
  83. package/src/pages/index/components/normal/DemoList.scss +0 -15
  84. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  85. package/src/pages/index/components/normal/DemoLoading.tsx +0 -86
  86. package/src/pages/index/components/normal/DemoNumber.tsx +0 -269
  87. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  88. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  89. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  90. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  91. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  92. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  93. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  94. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  95. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  96. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  97. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  98. package/src/pages/index/components/normal/DemoSortList.tsx +0 -70
  99. package/src/pages/index/components/normal/DemoStackCard.tsx +0 -356
  100. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  101. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  102. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  103. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  104. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  105. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  106. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  107. package/src/pages/index/components/normal/DemoTree.tsx +0 -1183
  108. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  109. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -464
  110. package/src/pages/index/components/service/DemoDialogService.tsx +0 -249
  111. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  112. package/src/pages/index/components/service/DemoImagePreviewer.tsx +0 -185
  113. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  114. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  115. package/src/pages/index/components/service/DemoPopupService.tsx +0 -325
  116. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  117. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  118. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  119. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  120. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  121. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  122. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  123. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -203
  124. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  125. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  126. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  127. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  128. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  129. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  130. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  131. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  132. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  133. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  134. package/src/pages/index/home/AppContent.tsx +0 -69
  135. package/src/pages/index/home/AppHead.tsx +0 -18
  136. package/src/pages/index/home/AppHome.tsx +0 -31
  137. package/src/pages/index/home/AppMenu.tsx +0 -38
  138. package/src/pages/index/home/menus.tsx +0 -220
  139. package/src/pages/index/home/plain-design.png +0 -0
  140. package/src/pages/index/main.tsx +0 -23
  141. package/src/pages/index/nav/$nav.ts +0 -41
  142. package/src/pages/index/pages.d.ts +0 -6
  143. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  144. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  145. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  146. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  147. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  148. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  149. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  150. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  151. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  152. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  153. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  154. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  155. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  156. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  157. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  158. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  159. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  160. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  161. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  162. package/src/pages/module/address.ts +0 -27
  163. package/src/pages/module/http.ts +0 -24
  164. package/src/pages/module/index.ts +0 -19
  165. package/src/pages/module/object.ts +0 -5
  166. package/src/pages/module/ov.tsx +0 -13
  167. package/src/pages/module/upload.ts +0 -9
  168. package/src/pages/module/useTableOption.ts +0 -28
@@ -1,695 +0,0 @@
1
- import {designComponent, designPage, getComponentCls, inject, onBeforeUnmount, onMounted, provide, reactive, useRefs} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$message, Button, ButtonGroup, Checkbox, Icon, Input, Popup} from "../../../../packages";
4
- import {DemoLine} from "../../Demo/DemoLine";
5
- import {iPopupAlign, iPopupDirection, iPopupTrigger} from "../../../../packages/components/usePopup/utils/popup.utils";
6
- import treeData from '../../../data/tree.data.json';
7
- import button from "../../../../packages/components/Button";
8
-
9
- export const demo1 = designPage(() => {
10
-
11
- return () => (
12
- <DemoRow title="基本用法">
13
- <Popup>
14
- {{
15
- default: () => <Button label="Button"/>,
16
- head: () => <span>Title</span>,
17
- popper: () => <>
18
- <div>popper content</div>
19
- </>
20
- }}
21
- </Popup>
22
-
23
- <Popup message="popper content" title="Title">
24
- <span>Span</span>
25
- </Popup>
26
- <Popup message="popper content" title="Title">
27
- <Icon icon="pi-search"/>
28
- </Popup>
29
-
30
- </DemoRow>
31
- );
32
- });
33
-
34
-
35
- export const demo2 = designPage(() => {
36
-
37
- const directions = ['top', 'bottom', 'left', 'right'] as iPopupDirection[];
38
- const aligns = ['start', 'center', 'end'] as iPopupAlign[];
39
-
40
- return () => (
41
- <DemoRow title="方向位置">
42
- {directions.map(direction => (
43
- <DemoLine key={direction}>
44
- <ButtonGroup>
45
- <Popup placement={direction} key="default">
46
- {{
47
- default: () => <Button label={direction}/>,
48
- popper: () => <>
49
- <div style={{ height: '100px' }}>popper content</div>
50
- </>
51
- }}
52
- </Popup>
53
- {aligns.map(align => (
54
- <Popup placement={`${direction}-${align}`} key={align}>
55
- {{
56
- default: () => <Button label={`${direction}-${align}`}/>,
57
- popper: () => <>
58
- <div style={{ height: '100px' }}>popper content</div>
59
- </>
60
- }}
61
- </Popup>
62
- ))}
63
- </ButtonGroup>
64
- </DemoLine>
65
- ))}
66
- </DemoRow>
67
- );
68
- });
69
-
70
-
71
- export const demo3 = designPage(() => {
72
-
73
- const state = reactive({
74
- manualValue: false,
75
- });
76
-
77
- return () => (
78
- <DemoRow title="触发动作">
79
- <Popup trigger="hover">
80
- {{
81
- default: () => <Button label="Hover"/>,
82
- popper: () => <div>popper content</div>
83
- }}
84
- </Popup>
85
- <Popup trigger="click">
86
- {{
87
- default: () => <Button label="Click"/>,
88
- popper: () => <div>popper content</div>
89
- }}
90
- </Popup>
91
- <Popup trigger="focus">
92
- {{
93
- default: () => <Button label="Focus"/>,
94
- popper: () => <div>popper content</div>
95
- }}
96
- </Popup>
97
- <Popup trigger="contextmenu">
98
- {{
99
- default: () => <Button label="Contextmenu"/>,
100
- popper: () => <div>popper content</div>
101
- }}
102
- </Popup>
103
- <Popup trigger="manual" v-model={state.manualValue}>
104
- {{
105
- default: () => <Button label="Manual(Click)" onClick={() => state.manualValue = !state.manualValue}/>,
106
- popper: () => <div>popper content</div>
107
- }}
108
- </Popup>
109
-
110
- </DemoRow>
111
- );
112
- });
113
-
114
-
115
- export const demoSize = designPage(() => {
116
-
117
- return () => (
118
- <DemoRow title="大小尺寸">
119
- <Popup popperSize="mini">
120
- {{
121
- default: () => <Button label="Mini" size="mini"/>,
122
- popper: () => <div>popper content</div>
123
- }}
124
- </Popup>
125
- <Popup popperSize="small">
126
- {{
127
- default: () => <Button label="Small" size="small"/>,
128
- popper: () => <div>popper content</div>
129
- }}
130
- </Popup>
131
- <Popup popperSize="normal">
132
- {{
133
- default: () => <Button label="Normal" size="normal"/>,
134
- popper: () => <div>popper content</div>
135
- }}
136
- </Popup>
137
- <Popup popperSize="large">
138
- {{
139
- default: () => <Button label="Large" size="large"/>,
140
- popper: () => <div>popper content</div>
141
- }}
142
- </Popup>
143
-
144
- </DemoRow>
145
- );
146
- });
147
-
148
- export const demo4 = designPage(() => {
149
-
150
- const { refs, onRef } = useRefs({ button: Button });
151
-
152
- return () => (
153
- <DemoRow title="外部Reference">
154
-
155
- <Button label="Outer reference" ref={onRef.button}/>
156
-
157
- <Popup reference={refs.button?.refs.el}>
158
- {{ popper: () => <div>popper content</div> }}
159
- </Popup>
160
- </DemoRow>
161
- );
162
- });
163
-
164
-
165
- export const demo5 = designPage(() => {
166
-
167
- return () => (
168
- <DemoRow title="SizeEqual">
169
-
170
- <Popup sizeEqual>
171
- {{
172
- default: () => <div style={{ height: '100px', width: '100px', backgroundColor: `var(--${getComponentCls('primary-6')})`, color: 'white', display: 'inline-flex', alignItems: 'center', justifyContent: 'center' }}>Vertical</div>,
173
- popper: () => <div>popper content</div>
174
- }}
175
- </Popup>
176
- <Popup placement="right" sizeEqual>
177
- {{
178
- default: () => <div style={{ height: '100px', width: '100px', backgroundColor: `var(--${getComponentCls('primary-6')})`, color: 'white', display: 'inline-flex', alignItems: 'center', justifyContent: 'center' }}>Horizontal</div>,
179
- popper: () => <div>popper content</div>
180
- }}
181
- </Popup>
182
- </DemoRow>
183
- );
184
- });
185
-
186
-
187
- export const demo6 = designPage(() => {
188
-
189
- return () => (
190
- <DemoRow title="过度动画">
191
-
192
- <p>fade动画一般用于Tooltip</p>
193
- <p>drop动画一般用于dropdown</p>
194
- <p>slide动画一般用于下拉表单组件</p>
195
- <p>scale一般用于提示信息</p>
196
- <p>direction-scale一般不用</p>
197
-
198
- <Popup animation="fade">
199
- {{
200
- default: () => <Button label="fade"/>,
201
- popper: () => <div>
202
- <div>桃花坞里桃花庵;</div>
203
- <div>桃花庵里桃花仙;</div>
204
- <div>桃花仙人种桃树;</div>
205
- <div>又摘桃花换酒钱;</div>
206
- </div>
207
- }}
208
- </Popup>
209
- <Popup animation="slide">
210
- {{
211
- default: () => <Button label="slide"/>,
212
- popper: () => <div>
213
- <div>桃花坞里桃花庵;</div>
214
- <div>桃花庵里桃花仙;</div>
215
- <div>桃花仙人种桃树;</div>
216
- <div>又摘桃花换酒钱;</div>
217
- </div>
218
- }}
219
- </Popup>
220
- <Popup animation="scale">
221
- {{
222
- default: () => <Button label="scale"/>,
223
- popper: () => <div>
224
- <div>桃花坞里桃花庵;</div>
225
- <div>桃花庵里桃花仙;</div>
226
- <div>桃花仙人种桃树;</div>
227
- <div>又摘桃花换酒钱;</div>
228
- </div>
229
- }}
230
- </Popup>
231
- <Popup animation="scale-y">
232
- {{
233
- default: () => <Button label="scale-y"/>,
234
- popper: () => <div>
235
- <div>桃花坞里桃花庵;</div>
236
- <div>桃花庵里桃花仙;</div>
237
- <div>桃花仙人种桃树;</div>
238
- <div>又摘桃花换酒钱;</div>
239
- </div>
240
- }}
241
- </Popup>
242
- <Popup animation="drop">
243
- {{
244
- default: () => <Button label="drop"/>,
245
- popper: () => <div>
246
- <div>桃花坞里桃花庵;</div>
247
- <div>桃花庵里桃花仙;</div>
248
- <div>桃花仙人种桃树;</div>
249
- <div>又摘桃花换酒钱;</div>
250
- </div>
251
- }}
252
- </Popup>
253
- </DemoRow>
254
- );
255
- });
256
-
257
-
258
- export const demo7 = designPage(() => {
259
-
260
- const state = reactive({
261
- show: false,
262
- open: false,
263
- });
264
-
265
- return () => (
266
- <DemoRow title="show & open">
267
- <Checkbox label="show" v-model={state.show}/>
268
- <Checkbox label="open" v-model={state.open}/>
269
-
270
- <Popup v-model={state.show} v-model:open={state.open}>
271
- {{
272
- default: () => <Button label="Button"/>,
273
- head: () => <span>Title</span>,
274
- popper: () => <>
275
- <div>popper content</div>
276
- </>
277
- }}
278
- </Popup>
279
- </DemoRow>
280
- );
281
- });
282
-
283
-
284
- export const demo8 = designPage(() => {
285
-
286
- const state = reactive({
287
- isShow: false,
288
- config: {
289
- direction: 'bottom' as any,
290
- align: 'start' as any,
291
- animation: 'drop' as any,
292
- showArrow: true,
293
- trigger: 'click' as any,
294
- }
295
- });
296
-
297
- const directions = ['top', 'bottom', 'left', 'right'];
298
- const aligns = ['start', 'center', 'end'];
299
- const animations = [
300
- 'fade',
301
- 'slide',
302
- 'drop',
303
- 'scale',
304
- 'scale-y',
305
- ];
306
-
307
- return () => (
308
- <DemoRow title="综合示例">
309
- <Popup
310
- placement={`${state.config.direction}-${state.config.align}` as any}
311
- trigger={state.config.trigger}
312
- animation={state.config.animation}
313
- arrowSize={state.config.showArrow ? undefined : 0}
314
- >
315
- {{
316
- default: () => <Button label="Button" onClick={() => {state.config.trigger === 'manual' && (state.isShow = !state.isShow);}}/>,
317
- head: () => <span>Title</span>,
318
- popper: () => <>
319
- <div>popper content</div>
320
- </>
321
- }}
322
- </Popup>
323
-
324
- <DemoLine title="directions">
325
- <ButtonGroup>
326
- {directions.map(direction => <Button label={direction} onClick={() => state.config.direction = direction} key={direction} mode={state.config.direction === direction ? 'fill' : undefined}/>)}
327
- </ButtonGroup>
328
- </DemoLine>
329
-
330
- <DemoLine title="aligns">
331
- <ButtonGroup>
332
- {aligns.map(align => <Button label={align} onClick={() => state.config.align = align} key={align} mode={state.config.align === align ? 'fill' : undefined}/>)}
333
- </ButtonGroup>
334
- </DemoLine>
335
-
336
- <DemoLine title="animations">
337
- <ButtonGroup>
338
- {animations.map(animation => <Button label={animation} onClick={() => state.config.animation = animation} key={animation} mode={state.config.animation === animation ? 'fill' : undefined}/>)}
339
- </ButtonGroup>
340
- </DemoLine>
341
-
342
- <DemoLine title="show arrow">
343
- <Checkbox label="arrow" v-model={state.config.showArrow}/>
344
- </DemoLine>
345
-
346
- </DemoRow>
347
- );
348
- });
349
-
350
-
351
- export const demo10 = designPage(() => {
352
-
353
- return () => (
354
- <DemoRow title="设置宽高">
355
- <p>只有设置高度的时候使用Scroll滚动条容器</p>
356
- <Popup height="100px" width="200px">
357
- {{
358
- default: () => <Button label="Button"/>,
359
- head: () => <span>Title</span>,
360
- popper: () => <>
361
- <div>桃花坞里桃花庵;</div>
362
- <div>桃花庵里桃花仙;</div>
363
- <div>桃花仙人种桃树;</div>
364
- <div>又摘桃花换酒钱;</div>
365
- ---
366
- <div>桃花坞里桃花庵;</div>
367
- <div>桃花庵里桃花仙;</div>
368
- <div>桃花仙人种桃树;</div>
369
- <div>又摘桃花换酒钱;</div>
370
- </>
371
- }}
372
- </Popup>
373
- </DemoRow>
374
- );
375
- });
376
-
377
-
378
- export const demo11 = designPage(() => {
379
-
380
- return () => (
381
- <DemoRow title="去掉默认内边距">
382
- <Popup noPadding>
383
- {{
384
- default: () => <Button label="Button"/>,
385
- head: () => <span>Title</span>,
386
- popper: () => <>
387
- <div>桃花坞里桃花庵;</div>
388
- <div>桃花庵里桃花仙;</div>
389
- <div>桃花仙人种桃树;</div>
390
- <div>又摘桃花换酒钱;</div>
391
- </>
392
- }}
393
- </Popup>
394
- </DemoRow>
395
- );
396
- });
397
-
398
-
399
- export const demo12 = designPage(() => {
400
-
401
- const state = reactive({
402
- disabled: false,
403
- });
404
-
405
- return () => (
406
- <DemoRow title="禁用">
407
- <Checkbox v-model={state.disabled} label="disabled"/>
408
- <Popup disabled={state.disabled}>
409
- {{
410
- default: () => <Button label="Button"/>,
411
- head: () => <span>Title</span>,
412
- popper: () => <>
413
- <div>桃花坞里桃花庵;</div>
414
- <div>桃花庵里桃花仙;</div>
415
- <div>桃花仙人种桃树;</div>
416
- <div>又摘桃花换酒钱;</div>
417
- </>
418
- }}
419
- </Popup>
420
- </DemoRow>
421
- );
422
- });
423
-
424
-
425
- export const demoDestroy = designPage(() => {
426
-
427
- const state = reactive({
428
- destroyOnClose: true,
429
- });
430
-
431
- return () => (
432
- <DemoRow title="关闭的时候销毁内容">
433
- <Checkbox label="destroyOnClose" v-model={state.destroyOnClose}/>
434
- <Popup key={String(state.destroyOnClose)} destroyOnClose={state.destroyOnClose} animation="slide" trigger="click">
435
- {{
436
- default: () => <Button label="Button"/>,
437
- head: () => <span>Title</span>,
438
- popper: () => <>
439
- <div>桃花坞里桃花庵;</div>
440
- <div>桃花庵里桃花仙;</div>
441
- <div>桃花仙人种桃树;</div>
442
- <div>又摘桃花换酒钱;</div>
443
- <Input style={{ margin: '16px 0' }}/>
444
- </>
445
- }}
446
- </Popup>
447
- {/*{directions.map(direction => (
448
- <DemoLine key={direction}>
449
- <ButtonGroup>
450
- <Popup placement={direction as any} key="default" destroyOnClose>
451
- {{
452
- default: () => <Button label={direction}/>,
453
- popper: () => <>
454
- <div style={{ height: '100px' }}>popper content</div>
455
- </>
456
- }}
457
- </Popup>
458
- {aligns.map(align => (
459
- <Popup placement={`${direction}-${align}` as any} key={align} destroyOnClose>
460
- {{
461
- default: () => <Button label={`${direction}-${align}`}/>,
462
- popper: () => <>
463
- <div style={{ height: '100px' }}>popper content</div>
464
- </>
465
- }}
466
- </Popup>
467
- ))}
468
- </ButtonGroup>
469
- </DemoLine>
470
- ))}*/}
471
- </DemoRow>
472
- );
473
- });
474
-
475
- export const demoContext = designPage(() => {
476
-
477
- const Parent = designComponent({
478
- slots: ['default'],
479
- setup({ slots }) {
480
- const state = reactive({ count: 100 });
481
- provide('demo_context', state);
482
- let timer: any;
483
- onMounted(() => {
484
- timer = setInterval(() => {state.count++;}, 1000);
485
- });
486
- onBeforeUnmount(() => {
487
- clearInterval(timer);
488
- });
489
- return () => slots.default();
490
- },
491
- });
492
-
493
- const Child = designComponent({
494
- setup() {
495
- const parentState = inject<null | { count: number }>('demo_context', null);
496
- return () => (
497
- <button>{parentState?.count || '无'}</button>
498
- );
499
- },
500
- });
501
-
502
- return () => (
503
- <DemoRow title="组件上下文">
504
- <Parent>
505
- <Popup>
506
- {{
507
- default: () => <Button label="Button"/>,
508
- popper: () => <>
509
- <Child/>
510
- <div>桃花坞里桃花庵;</div>
511
- <div>桃花庵里桃花仙;</div>
512
- <div>桃花仙人种桃树;</div>
513
- <div>又摘桃花换酒钱;</div>
514
- </>
515
- }}
516
- </Popup>
517
- </Parent>
518
- </DemoRow>
519
- );
520
- });
521
-
522
- interface iDemoTreeMeta {
523
- id: string,
524
- name: string,
525
- subs?: iDemoTreeMeta[]
526
- }
527
-
528
- export const demoCascade = designPage(() => {
529
-
530
- const state = reactive({
531
- showClickDemo: false,
532
- showHoverDemo: false,
533
- demo3: false,
534
- demo4: false,
535
- });
536
-
537
- const renderList = (list: iDemoTreeMeta[], trigger?: iPopupTrigger) => (
538
- list.map(item => (
539
- !!item.subs?.length ? (
540
- <Popup key={item.name} placement="right-start" arrowSize={0} offset={12} hideOnClickReference={false} trigger={trigger}>
541
- {{
542
- default: () => (
543
- <div
544
- style={{
545
- minWidth: '100px',
546
- display: 'flex',
547
- alignItems: 'center',
548
- justifyContent: 'space-between',
549
- padding: '4px 0',
550
- }}>
551
- <span>{item.name}</span>
552
- <Icon icon="pi-right"/>
553
- </div>
554
- ),
555
- popper: () => renderList(item.subs!)
556
- }}
557
- </Popup>
558
- )
559
- : (
560
- <div
561
- key={item.name}
562
- style={{
563
- minWidth: '100px',
564
- padding: '4px 0',
565
- }} onClick={() => handleClickItem(item)}>
566
- <span>{item.name}</span>
567
- </div>
568
- )
569
- ))
570
- );
571
-
572
- const handleClickItem = (item: iDemoTreeMeta) => {
573
- $message(item.name);
574
- state.showClickDemo = false;
575
- state.showHoverDemo = false;
576
- state.demo3 = false;
577
- state.demo4 = false;
578
- };
579
-
580
- return () => (
581
- <DemoRow title="父子级联">
582
- <Popup trigger="hover" v-model={state.showHoverDemo}>
583
- {{
584
- default: () => <Button label="Hover"/>,
585
- popper: () => renderList(treeData)
586
- }}
587
- </Popup>
588
- <Popup trigger="click" v-model={state.showClickDemo}>
589
- {{
590
- default: () => <Button label="Click"/>,
591
- popper: () => renderList(treeData)
592
- }}
593
- </Popup>
594
- <Popup trigger="click" v-model={state.demo3}>
595
- {{
596
- default: () => <Button label="ParentClick, ChildHover"/>,
597
- popper: () => renderList(treeData, "hover")
598
- }}
599
- </Popup>
600
- <Popup trigger="contextmenu" v-model={state.demo4}>
601
- {{
602
- default: () => <Button label="ParentContextmenu, ChildHover"/>,
603
- popper: () => renderList(treeData, "hover")
604
- }}
605
- </Popup>
606
- </DemoRow>
607
- );
608
- });
609
-
610
- export const demoMinWidth = designPage(() => {
611
- return () => (
612
- <DemoRow title="最小宽度">
613
- <Popup minHeight={150} placement="right-start">
614
- {{
615
- default: () => <Button label="Button"/>,
616
- head: () => <span>Title</span>,
617
- popper: () => <>
618
- <div>popper content</div>
619
- </>
620
- }}
621
- </Popup>
622
- </DemoRow>
623
- );
624
- });
625
-
626
- export const demoDark = designPage(() => {
627
- return () => (
628
- <DemoRow title="黑色主题">
629
- <Popup dark>
630
- {{
631
- default: () => <Button label="Button"/>,
632
- popper: () => <>
633
- <div>Ctrl + Shift + A</div>
634
- </>
635
- }}
636
- </Popup>
637
- </DemoRow>
638
- );
639
- });
640
-
641
-
642
- export const demoStatus = designPage(() => {
643
- return () => (
644
- <DemoRow title="状态">
645
- {(['primary', 'success', 'warn', 'error'] as const).map(status => (
646
- <Popup status={status} key={status}>
647
- {{
648
- default: () => <Button status={status} label={status}/>,
649
- popper: () => <>
650
- <div>输入有误,不是合法的表达式</div>
651
- </>
652
- }}
653
- </Popup>
654
- ))}
655
- </DemoRow>
656
- );
657
- });
658
-
659
- export const demoCover = designPage(() => {
660
- return () => (
661
- <DemoRow title="覆盖reference">
662
- <Popup cover modelValue trigger="manual">
663
- {{
664
- default: () => <div style={{ height: '100px', width: '100px', backgroundColor: `var(--${getComponentCls('primary-1')})`, display: 'inline-flex', alignItems: 'center', justifyContent: 'center' }}>REFERENCE</div>,
665
- popper: () => (
666
- <div style={{ height: '100%', width: '100%', boxSizing: 'border-box', border: `solid 1px var(--${getComponentCls('primary-6')})`, pointerEvents: 'none' }}>
667
- <div style={{ position: 'absolute', right: 0, bottom: 0, padding: '8px', pointerEvents: 'auto' }}>
668
- 1/6
669
- </div>
670
- </div>
671
- )
672
- }}
673
- </Popup>
674
- </DemoRow>
675
- );
676
- });
677
-
678
-
679
- export const demoNoBg = designPage(() => {
680
- return () => (
681
- <DemoRow title="取消背景色">
682
- <Popup noBackground>
683
- {{
684
- default: () => <Button label="Button"/>,
685
- popper: () => <>
686
- <div>桃花坞里桃花庵;</div>
687
- <div>桃花庵里桃花仙;</div>
688
- <div>桃花仙人种桃树;</div>
689
- <div>又摘桃花换酒钱;</div>
690
- </>
691
- }}
692
- </Popup>
693
- </DemoRow>
694
- );
695
- });