jianghu-ui 1.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 (112) hide show
  1. package/README.md +376 -0
  2. package/dist/jianghu-ui.css +2318 -0
  3. package/dist/jianghu-ui.js +2 -0
  4. package/dist/jianghu-ui.js.LICENSE.txt +1 -0
  5. package/package.json +56 -0
  6. package/src/Design.stories.mdx +195 -0
  7. package/src/Introduction.stories.mdx +148 -0
  8. package/src/components/JhAddressSelect/JhAddressSelect.md +250 -0
  9. package/src/components/JhAddressSelect/JhAddressSelect.stories.js +282 -0
  10. package/src/components/JhAddressSelect/JhAddressSelect.vue +261 -0
  11. package/src/components/JhCard/JhCard.md +246 -0
  12. package/src/components/JhCard/JhCard.stories.js +688 -0
  13. package/src/components/JhCard/JhCard.vue +604 -0
  14. package/src/components/JhCheckCard/JhCheckCard.md +245 -0
  15. package/src/components/JhCheckCard/JhCheckCard.stories.js +750 -0
  16. package/src/components/JhCheckCard/JhCheckCard.vue +476 -0
  17. package/src/components/JhConfirmDialog/JhConfirmDialog.md +70 -0
  18. package/src/components/JhConfirmDialog/JhConfirmDialog.stories.js +550 -0
  19. package/src/components/JhConfirmDialog/JhConfirmDialog.vue +181 -0
  20. package/src/components/JhDateRangePicker/JhDateRangePicker.md +56 -0
  21. package/src/components/JhDateRangePicker/JhDateRangePicker.stories.js +320 -0
  22. package/src/components/JhDateRangePicker/JhDateRangePicker.vue +307 -0
  23. package/src/components/JhDescriptions/JhDescriptions.md +724 -0
  24. package/src/components/JhDescriptions/JhDescriptions.stories.js +858 -0
  25. package/src/components/JhDescriptions/JhDescriptions.vue +933 -0
  26. package/src/components/JhDraggable/JhDraggable.md +66 -0
  27. package/src/components/JhDraggable/JhDraggable.stories.js +161 -0
  28. package/src/components/JhDraggable/JhDraggable.vue +254 -0
  29. package/src/components/JhDrawer/JhDrawer.md +68 -0
  30. package/src/components/JhDrawer/JhDrawer.stories.js +478 -0
  31. package/src/components/JhDrawer/JhDrawer.vue +281 -0
  32. package/src/components/JhDrawerForm/JhDrawerForm.md +69 -0
  33. package/src/components/JhDrawerForm/JhDrawerForm.stories.js +492 -0
  34. package/src/components/JhDrawerForm/JhDrawerForm.vue +297 -0
  35. package/src/components/JhEditableTable/JhEditableTable.md +507 -0
  36. package/src/components/JhEditableTable/JhEditableTable.stories.js +615 -0
  37. package/src/components/JhEditableTable/JhEditableTable.vue +685 -0
  38. package/src/components/JhFileInput/JhFileInput.md +56 -0
  39. package/src/components/JhFileInput/JhFileInput.stories.js +103 -0
  40. package/src/components/JhFileInput/JhFileInput.vue +253 -0
  41. package/src/components/JhForm/JhForm.md +676 -0
  42. package/src/components/JhForm/JhForm.stories.js +1375 -0
  43. package/src/components/JhForm/JhForm.vue +657 -0
  44. package/src/components/JhFormField/JhFormField.stories.js +217 -0
  45. package/src/components/JhFormField/JhFormField.vue +439 -0
  46. package/src/components/JhFormFields/JhFormFields.md +647 -0
  47. package/src/components/JhFormFields/JhFormFields.stories.js +922 -0
  48. package/src/components/JhFormFields/JhFormFields.vue +998 -0
  49. package/src/components/JhFormList/JhFormList.md +303 -0
  50. package/src/components/JhFormList/JhFormList.stories.js +661 -0
  51. package/src/components/JhFormList/JhFormList.vue +1127 -0
  52. package/src/components/JhJsonEditor/JhJsonEditor.md +54 -0
  53. package/src/components/JhJsonEditor/JhJsonEditor.stories.js +157 -0
  54. package/src/components/JhJsonEditor/JhJsonEditor.vue +178 -0
  55. package/src/components/JhLayout/JhLayout.md +580 -0
  56. package/src/components/JhLayout/JhLayout.stories.js +414 -0
  57. package/src/components/JhLayout/JhLayout.vue +387 -0
  58. package/src/components/JhList/JhList.md +441 -0
  59. package/src/components/JhList/JhList.stories.js +524 -0
  60. package/src/components/JhList/JhList.vue +571 -0
  61. package/src/components/JhMarkdownEditor/JhMarkdownEditor.md +56 -0
  62. package/src/components/JhMarkdownEditor/JhMarkdownEditor.stories.js +191 -0
  63. package/src/components/JhMarkdownEditor/JhMarkdownEditor.vue +188 -0
  64. package/src/components/JhMask/JhMask.md +62 -0
  65. package/src/components/JhMask/JhMask.stories.js +270 -0
  66. package/src/components/JhMask/JhMask.vue +123 -0
  67. package/src/components/JhMenu/JhMenu.md +85 -0
  68. package/src/components/JhMenu/JhMenu.stories.js +384 -0
  69. package/src/components/JhMenu/JhMenu.vue +545 -0
  70. package/src/components/JhModal/JhModal.md +68 -0
  71. package/src/components/JhModal/JhModal.stories.js +562 -0
  72. package/src/components/JhModal/JhModal.vue +235 -0
  73. package/src/components/JhModalForm/JhModalForm.md +69 -0
  74. package/src/components/JhModalForm/JhModalForm.stories.js +592 -0
  75. package/src/components/JhModalForm/JhModalForm.vue +298 -0
  76. package/src/components/JhPageContainer/JhPageContainer.md +409 -0
  77. package/src/components/JhPageContainer/JhPageContainer.stories.js +209 -0
  78. package/src/components/JhPageContainer/JhPageContainer.vue +72 -0
  79. package/src/components/JhQueryFilter/JhQueryFilter.md +77 -0
  80. package/src/components/JhQueryFilter/JhQueryFilter.stories.js +684 -0
  81. package/src/components/JhQueryFilter/JhQueryFilter.vue +429 -0
  82. package/src/components/JhScene/JhScene.md +64 -0
  83. package/src/components/JhScene/JhScene.stories.js +317 -0
  84. package/src/components/JhScene/JhScene.vue +376 -0
  85. package/src/components/JhStatisticCard/JhStatisticCard.md +363 -0
  86. package/src/components/JhStatisticCard/JhStatisticCard.stories.js +847 -0
  87. package/src/components/JhStatisticCard/JhStatisticCard.vue +459 -0
  88. package/src/components/JhStepsForm/JhStepsForm.md +666 -0
  89. package/src/components/JhStepsForm/JhStepsForm.stories.js +1224 -0
  90. package/src/components/JhStepsForm/JhStepsForm.vue +749 -0
  91. package/src/components/JhTable/JhTable.md +730 -0
  92. package/src/components/JhTable/JhTable.stories.js +1444 -0
  93. package/src/components/JhTable/JhTable.vue +2298 -0
  94. package/src/components/JhTableAttachment/JhTableAttachment.md +70 -0
  95. package/src/components/JhTableAttachment/JhTableAttachment.stories.js +198 -0
  96. package/src/components/JhTableAttachment/JhTableAttachment.vue +264 -0
  97. package/src/components/JhToast/JhToast.md +67 -0
  98. package/src/components/JhToast/JhToast.stories.js +386 -0
  99. package/src/components/JhToast/JhToast.vue +239 -0
  100. package/src/components/JhTreeSelect/JhTreeSelect.md +82 -0
  101. package/src/components/JhTreeSelect/JhTreeSelect.stories.js +391 -0
  102. package/src/components/JhTreeSelect/JhTreeSelect.vue +727 -0
  103. package/src/components/JhWaterMark/JhWaterMark.md +190 -0
  104. package/src/components/JhWaterMark/JhWaterMark.stories.js +675 -0
  105. package/src/components/JhWaterMark/JhWaterMark.vue +351 -0
  106. package/src/components/README.md +52 -0
  107. package/src/index.js +135 -0
  108. package/src/style/globalCSSJHV4.css +348 -0
  109. package/src/style/globalCSSVuetifyV4.css +637 -0
  110. package/src/style/storybook.css +4 -0
  111. package/src/tailwind.css +3 -0
  112. package/src/utils/vuetify.js +31 -0
@@ -0,0 +1,348 @@
1
+
2
+ /* 表单 >>>>>> */
3
+ .jh-input-label {
4
+ color: var(--gray-800);
5
+ font-weight: 400;
6
+ font-size: 12px;
7
+ line-height: 32px;
8
+ }
9
+ .jh-input-label-group {
10
+ color: var(--cPrimaryColor);
11
+ padding-left: 10px;
12
+ font-size: 1rem !important;
13
+ line-height: 1.75rem;
14
+ letter-spacing: 0.009375em !important;
15
+ font-family: Roboto, sans-serif !important;
16
+ font-weight: 500 !important;
17
+ position: relative;
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ .jh-input-label-group::before {
22
+ content: "";
23
+ background-color: var(--cPrimaryColor);
24
+ position: absolute;
25
+ height: calc(100% - 12px); /* 高度为父元素高度减去3px */
26
+ width: 4px;
27
+ bottom: 6px;
28
+ left: 0;
29
+ }
30
+ .jh-no-data {
31
+ text-align: center;
32
+ max-width: calc(100vw - 64px);
33
+ }
34
+
35
+ .jh-v-input .v-input__slot {
36
+ margin: 0 !important;
37
+ }
38
+ .jh-v-input.bg-white .v-input__slot {
39
+ background-color: #fff !important;
40
+ }
41
+ .jh-v-input .v-messages-outer,
42
+ .jh-v-input .v-text-field__details {
43
+ position: absolute !important;
44
+ bottom: -23px !important;
45
+ left: -10px !important;
46
+ }
47
+ .jh-v-input .v-input__append-outer {
48
+ margin-top: 0 !important;
49
+ }
50
+ .jh-v-input .v-input__icon--append button {
51
+ font-size: 18px;
52
+ }
53
+ /* <<<<< 表单 */
54
+
55
+ /* header 菜单 >>>>>> */
56
+ .jh-page-header {
57
+ border-bottom: 1px solid #e6e6e6 !important;
58
+ }
59
+ .jh-header-tab {
60
+ border-radius: 5px;
61
+ margin: 8px 0;
62
+ text-transform: none;
63
+ font-weight: 400;
64
+ }
65
+ .jh-header-tab-active {
66
+ background: #f6f6f6;
67
+ font-weight: 500;
68
+ }
69
+
70
+ .jh-header-tab::before {
71
+ border-radius: 5px !important;
72
+ }
73
+
74
+ .jh-header-tab:hover::before {
75
+ border-radius: 5px !important;
76
+ opacity: 0.1 !important;
77
+ }
78
+ /* <<<<< header 菜单 */
79
+
80
+ /* tab >>>>>> */
81
+ .custom-tabs .v-tabs-bar {
82
+ height: 32px;
83
+ }
84
+ .custom-tabs.v-tabs .v-tab:before,
85
+ .custom-tabs.v-tabs .v-tab--active:before {
86
+ display: none;
87
+ }
88
+ .custom-tabs .v-tab {
89
+ min-width: auto;
90
+ padding: 0px;
91
+ margin-right: 30px;
92
+ font-size: 13px !important;
93
+ }
94
+ /* <<<<< tab */
95
+
96
+ /* 字体 >>>>>> */
97
+ .jh-font-size-10 {
98
+ font-size: 10px;
99
+ }
100
+ .jh-font-size-12,
101
+ .jh-font-size-2 {
102
+ font-size: 12px;
103
+ }
104
+ .jh-font-size-13,
105
+ .jh-font-size-3 {
106
+ font-size: 13px;
107
+ }
108
+ /* <<<<< 字体 */
109
+
110
+ /* dialog >>>>>> */
111
+ .jh-fixed-dialog-height {
112
+ min-height: 60%;
113
+ max-height: 80%;
114
+ background-color: #fff;
115
+ }
116
+ /* <<<<< dialog */
117
+
118
+ /* 抽屉关闭按钮 */
119
+ .drawer-close-float-btn {
120
+ top: 120px !important;
121
+ left: -40px !important;
122
+ }
123
+ /* 文档 */
124
+ .jh-page-doc-container {
125
+ height: calc(100vh - 130px);
126
+ }
127
+ /* 帮助icon */
128
+ .mdi-help-circle-outline {
129
+ transform: translateY(-1.5px) scale(1.1);
130
+ }
131
+ /* 分割线 */
132
+ .jh-divider {
133
+ border-color: rgba(0, 0, 0, 0.06) !important;
134
+ }
135
+ /* 抽屉 */
136
+ body .v-navigation-drawer.jh-drawer-level-2 {
137
+ z-index: 102 !important;
138
+ }
139
+ .cursor-pointer {
140
+ cursor: pointer;
141
+ }
142
+
143
+ .flex-1 {
144
+ flex: 1;
145
+ }
146
+
147
+ /* 边框 */
148
+ .jh-border {
149
+ border: 1px solid #eee;
150
+ }
151
+ .jh-border-b {
152
+ border-bottom: 1px solid #eee;
153
+ }
154
+ .jh-border-t {
155
+ border-top: 1px solid #eee;
156
+ }
157
+ .jh-border-r {
158
+ border-right: 1px solid #eee;
159
+ }
160
+ .jh-border-l {
161
+ border-left: 1px solid #eee;
162
+ }
163
+
164
+ .jh-page-second-bar span[role="button"] {
165
+ min-width: 40px;
166
+ }
167
+
168
+ /* 移动端table、搜索栏 */
169
+ .v-data-table.v-data-table--mobile
170
+ > .v-data-table__wrapper
171
+ > table
172
+ > tbody
173
+ > tr
174
+ > td:first-child,
175
+ .v-data-table.v-data-table--mobile
176
+ > .v-data-table__wrapper
177
+ > table
178
+ > tfoot
179
+ > tr
180
+ > td:first-child,
181
+ .v-data-table.v-data-table--mobile
182
+ > .v-data-table__wrapper
183
+ > table
184
+ > thead
185
+ > tr
186
+ > th:first-child {
187
+ padding-left: 15px !important;
188
+ }
189
+ @media (max-width: 600px) {
190
+ .v-data-table > .v-data-table__wrapper > table > tbody > tr > td,
191
+ .v-data-table > .v-data-table__wrapper > table > tbody > tr > th,
192
+ .v-data-table > .v-data-table__wrapper > table > tfoot > tr > td,
193
+ .v-data-table > .v-data-table__wrapper > table > tfoot > tr > th,
194
+ .v-data-table > .v-data-table__wrapper > table > thead > tr > td,
195
+ .v-data-table > .v-data-table__wrapper > table > thead > tr > th {
196
+ padding: 0 15px !important;
197
+ }
198
+ }
199
+ .v-data-table .v-data-table__mobile-table-row {
200
+ border-bottom: 5px solid rgb(243 244 246 / var(--tw-bg-opacity));
201
+ }
202
+ .v-data-table .v-data-table__mobile-table-row:last-child {
203
+ border-bottom: none;
204
+ }
205
+ .v-data-table-header.v-data-table-header-mobile {
206
+ display: none;
207
+ }
208
+
209
+ .jh-mobile-search-bar .v-menu__content {
210
+ background-color: rgba(0, 0, 0, 0.3);
211
+ height: calc(100vh - 88px);
212
+ box-shadow: none;
213
+ border-radius: 0;
214
+ }
215
+ .jh-safe-bottom {
216
+ padding-bottom: 0;
217
+ padding-bottom: calc(constant(safe-area-inset-bottom) / 5 * 3);
218
+ padding-bottom: calc(env(safe-area-inset-bottom) / 5 * 3);
219
+ }
220
+
221
+ /* 场景搜索 v-btn-toggle >>>>>> */
222
+ .jh-scene-toggle.v-btn-toggle .v-btn.v-btn {
223
+ background-color: #fff !important;
224
+ }
225
+ .jh-scene-toggle.v-btn-toggle .v-btn.v-btn:not(:last-child) {
226
+ border-right-color: #fff !important;
227
+ }
228
+ .jh-scene-toggle.v-btn-toggle .v-btn.v-btn.v-btn--active {
229
+ border-color: var(--cPrimaryColor) !important;
230
+ color: var(--cPrimaryColor) !important;
231
+ background-color: #fff !important;
232
+ border-right-color: var(--cPrimaryColor) !important;
233
+ }
234
+ /* <<<<< 场景搜索 v-btn-toggle */
235
+
236
+ /* 状态样式 >>>>>> */
237
+ .jh-status-tag-success,
238
+ .jh-status-tag-primary,
239
+ .jh-status-tag-green {
240
+ background-color: #59cb74 !important;
241
+ border-color: #59cb74 !important;
242
+ color: #ffffff !important;
243
+ caret-color: #ffffff !important;
244
+ }
245
+ .jh-status-tag-error,
246
+ .jh-status-tag-red {
247
+ background-color: #f4667c !important;
248
+ border-color: #f4667c !important;
249
+ color: #ffffff !important;
250
+ caret-color: #ffffff !important;
251
+ }
252
+ .jh-status-tag-default,
253
+ .jh-status-tag-grey {
254
+ background-color: #c2c2c2 !important;
255
+ border-color: #c2c2c2 !important;
256
+ color: #ffffff !important;
257
+ caret-color: #ffffff !important;
258
+ }
259
+ .jh-status-tag-info,
260
+ .jh-status-tag-blue {
261
+ background-color: #4fcccb !important;
262
+ border-color: #4fcccb !important;
263
+ color: #ffffff !important;
264
+ caret-color: #ffffff !important;
265
+ }
266
+ .jh-status-tag-warning,
267
+ .jh-status-tag-orange {
268
+ background-color: #fbd44b !important;
269
+ border-color: #fbd44b !important;
270
+ color: #ffffff !important;
271
+ caret-color: #ffffff !important;
272
+ }
273
+ .jh-status-tag-indigo {
274
+ background-color: #c5cae9 !important;
275
+ border-color: #c5cae9 !important;
276
+ color: #303f9f !important;
277
+ caret-color: #303f9f !important;
278
+ }
279
+ .jh-status-tag-teal {
280
+ background-color: #b2dfdb !important;
281
+ border-color: #b2dfdb !important;
282
+ color: #00796b !important;
283
+ caret-color: #00796b !important;
284
+ }
285
+ .jh-status-tag-brown {
286
+ background-color: #d7ccc8 !important;
287
+ border-color: #d7ccc8 !important;
288
+ color: #5d4037 !important;
289
+ caret-color: #5d4037 !important;
290
+ }
291
+ .jh-status-tag-pink {
292
+ background-color: #f8bbd0 !important;
293
+ border-color: #f8bbd0 !important;
294
+ color: #c2185b !important;
295
+ caret-color: #c2185b !important;
296
+ }
297
+ .jh-status-tag-purple {
298
+ background-color: #e1bee7 !important;
299
+ border-color: #e1bee7 !important;
300
+ color: #7b1fa2 !important;
301
+ caret-color: #7b1fa2 !important;
302
+ }
303
+
304
+ .jh-safe-bottom-1 {
305
+ padding-bottom: max(
306
+ 0.25rem,
307
+ env(safe-area-inset-bottom)
308
+ ) !important; /* Tailwind pb-1 */
309
+ }
310
+ .jh-safe-bottom-2 {
311
+ padding-bottom: max(
312
+ 0.5rem,
313
+ env(safe-area-inset-bottom)
314
+ ) !important; /* Tailwind pb-2 */
315
+ }
316
+ .jh-safe-bottom-3 {
317
+ padding-bottom: max(
318
+ 0.75rem,
319
+ env(safe-area-inset-bottom)
320
+ ) !important; /* Tailwind pb-3 */
321
+ }
322
+ .jh-safe-bottom-4 {
323
+ padding-bottom: max(
324
+ 1rem,
325
+ env(safe-area-inset-bottom)
326
+ ) !important; /* Tailwind pb-4 */
327
+ }
328
+ .jh-safe-bottom-5 {
329
+ padding-bottom: max(
330
+ 1.25rem,
331
+ env(safe-area-inset-bottom)
332
+ ) !important; /* Tailwind pb-5 */
333
+ }
334
+ .jh-safe-bottom-6 {
335
+ padding-bottom: max(
336
+ 1.5rem,
337
+ env(safe-area-inset-bottom)
338
+ ) !important; /* Tailwind pb-6 */
339
+ }
340
+ /* <<<<< 状态样式 */
341
+
342
+ .jh-form .v-input--selection-controls {
343
+ margin-top: 0;
344
+ }
345
+
346
+ .jh-field-input>.jh-v-input .v-input__slot {
347
+ border: 1px solid #DFDFDF!important;
348
+ }