jky-component-lib 0.0.49 → 0.0.53
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.
- package/dist/es/code-mirror-editor/CodeMirrorEditor.test.d.ts +1 -0
- package/dist/es/code-mirror-editor/CodeMirrorEditor.vue.d.ts +25 -0
- package/dist/es/code-mirror-editor/CodeMirrorEditor.vue.js +178 -0
- package/dist/es/code-mirror-editor/CodeMirrorEditor.vue3.js +5 -0
- package/dist/es/code-mirror-editor/index.d.ts +4 -0
- package/dist/es/code-mirror-editor/index.js +8 -0
- package/dist/es/code-mirror-editor/style.css +44 -0
- package/dist/es/components.d.ts +1 -0
- package/dist/es/components.js +4 -1
- package/dist/es/form/FormItem.vue.js +245 -94
- package/dist/es/index.js +2 -0
- package/dist/es/node_modules/@element-plus/icons-vue/dist/index.js +84 -0
- package/dist/es/package.json.js +2 -2
- package/dist/es/page-header/PopoverMenu.vue.d.ts +1 -1
- package/dist/es/style.css +125 -4
- package/dist/es/styles.css +1 -1
- package/dist/lib/button/Button.vue.js +10 -10
- package/dist/lib/button-nav/ButtonNav.vue.js +4 -4
- package/dist/lib/code-mirror-editor/CodeMirrorEditor.test.d.ts +1 -0
- package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue.d.ts +25 -0
- package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue.js +178 -0
- package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue3.js +5 -0
- package/dist/lib/code-mirror-editor/index.d.ts +4 -0
- package/dist/lib/code-mirror-editor/index.js +8 -0
- package/dist/lib/code-mirror-editor/style.css +44 -0
- package/dist/lib/components.d.ts +1 -0
- package/dist/lib/components.js +15 -12
- package/dist/lib/form/Form.vue.js +6 -6
- package/dist/lib/form/FormItem.vue.js +248 -97
- package/dist/lib/index.js +10 -8
- package/dist/lib/menu/Aside.vue.js +2 -2
- package/dist/lib/menu/Menu.vue.js +2 -2
- package/dist/lib/node_modules/@element-plus/icons-vue/dist/index.js +84 -0
- package/dist/lib/package.json.js +2 -2
- package/dist/lib/page-header/PageHeader.vue.js +2 -2
- package/dist/lib/page-header/PopoverMenu.vue.d.ts +1 -1
- package/dist/lib/page-header/PopoverMenu.vue.js +12 -12
- package/dist/lib/style.css +125 -4
- package/dist/lib/styles.css +1 -1
- package/dist/umd/index.js +626 -104
- package/dist/umd/styles.css +1 -1
- package/package.json +6 -1
package/dist/es/style.css
CHANGED
|
@@ -77,6 +77,8 @@
|
|
|
77
77
|
--color-gray-600: oklch(44.6% .03 256.802);
|
|
78
78
|
--color-white: #fff;
|
|
79
79
|
--spacing: .25rem;
|
|
80
|
+
--text-xs: .75rem;
|
|
81
|
+
--text-xs--line-height: calc(1 / .75);
|
|
80
82
|
--text-sm: .875rem;
|
|
81
83
|
--text-sm--line-height: calc(1.25 / .875);
|
|
82
84
|
--text-base: 1rem;
|
|
@@ -365,6 +367,10 @@
|
|
|
365
367
|
position: relative;
|
|
366
368
|
}
|
|
367
369
|
|
|
370
|
+
.static {
|
|
371
|
+
position: static;
|
|
372
|
+
}
|
|
373
|
+
|
|
368
374
|
.sticky {
|
|
369
375
|
position: sticky;
|
|
370
376
|
}
|
|
@@ -373,6 +379,10 @@
|
|
|
373
379
|
inset-inline-start: var(--spacing);
|
|
374
380
|
}
|
|
375
381
|
|
|
382
|
+
.end {
|
|
383
|
+
inset-inline-end: var(--spacing);
|
|
384
|
+
}
|
|
385
|
+
|
|
376
386
|
.top-0 {
|
|
377
387
|
top: calc(var(--spacing) * 0);
|
|
378
388
|
}
|
|
@@ -417,6 +427,40 @@
|
|
|
417
427
|
grid-column: span 24 / span 24;
|
|
418
428
|
}
|
|
419
429
|
|
|
430
|
+
.container {
|
|
431
|
+
width: 100%;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
@media (min-width: 40rem) {
|
|
435
|
+
.container {
|
|
436
|
+
max-width: 40rem;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
@media (min-width: 48rem) {
|
|
441
|
+
.container {
|
|
442
|
+
max-width: 48rem;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
@media (min-width: 64rem) {
|
|
447
|
+
.container {
|
|
448
|
+
max-width: 64rem;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@media (min-width: 80rem) {
|
|
453
|
+
.container {
|
|
454
|
+
max-width: 80rem;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
@media (min-width: 96rem) {
|
|
459
|
+
.container {
|
|
460
|
+
max-width: 96rem;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
|
|
420
464
|
.mt-1 {
|
|
421
465
|
margin-top: calc(var(--spacing) * 1);
|
|
422
466
|
}
|
|
@@ -1001,6 +1045,10 @@
|
|
|
1001
1045
|
width: calc(var(--spacing) * 20);
|
|
1002
1046
|
}
|
|
1003
1047
|
|
|
1048
|
+
.w-100 {
|
|
1049
|
+
width: calc(var(--spacing) * 100);
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1004
1052
|
.w-fit {
|
|
1005
1053
|
width: fit-content;
|
|
1006
1054
|
}
|
|
@@ -1013,6 +1061,10 @@
|
|
|
1013
1061
|
width: 100%;
|
|
1014
1062
|
}
|
|
1015
1063
|
|
|
1064
|
+
.w-full\! {
|
|
1065
|
+
width: 100% !important;
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1016
1068
|
.flex-1 {
|
|
1017
1069
|
flex: 1;
|
|
1018
1070
|
}
|
|
@@ -1086,6 +1138,10 @@
|
|
|
1086
1138
|
align-self: center;
|
|
1087
1139
|
}
|
|
1088
1140
|
|
|
1141
|
+
.rounded {
|
|
1142
|
+
border-radius: .25rem;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1089
1145
|
.rounded-full {
|
|
1090
1146
|
border-radius: 3.40282e38px;
|
|
1091
1147
|
}
|
|
@@ -1121,6 +1177,26 @@
|
|
|
1121
1177
|
border-left-color: var(--el-color-primary);
|
|
1122
1178
|
}
|
|
1123
1179
|
|
|
1180
|
+
.bg-\(--el-color-error\)\/10 {
|
|
1181
|
+
background-color: var(--el-color-error);
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1185
|
+
.bg-\(--el-color-error\)\/10 {
|
|
1186
|
+
background-color: color-mix(in oklab, var(--el-color-error) 10%, transparent);
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
.bg-\(--el-color-info\)\/10 {
|
|
1191
|
+
background-color: var(--el-color-info);
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1195
|
+
.bg-\(--el-color-info\)\/10 {
|
|
1196
|
+
background-color: color-mix(in oklab, var(--el-color-info) 10%, transparent);
|
|
1197
|
+
}
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1124
1200
|
.bg-\(--el-color-primary\)\/50 {
|
|
1125
1201
|
background-color: var(--el-color-primary);
|
|
1126
1202
|
}
|
|
@@ -1131,6 +1207,26 @@
|
|
|
1131
1207
|
}
|
|
1132
1208
|
}
|
|
1133
1209
|
|
|
1210
|
+
.bg-\(--el-color-success\)\/10 {
|
|
1211
|
+
background-color: var(--el-color-success);
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1215
|
+
.bg-\(--el-color-success\)\/10 {
|
|
1216
|
+
background-color: color-mix(in oklab, var(--el-color-success) 10%, transparent);
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
.bg-\(--el-color-warning\)\/10 {
|
|
1221
|
+
background-color: var(--el-color-warning);
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1225
|
+
.bg-\(--el-color-warning\)\/10 {
|
|
1226
|
+
background-color: color-mix(in oklab, var(--el-color-warning) 10%, transparent);
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1134
1230
|
.bg-\(--my-var\), .bg-\[var\(--my-var\)\] {
|
|
1135
1231
|
background-color: var(--my-var);
|
|
1136
1232
|
}
|
|
@@ -1187,10 +1283,18 @@
|
|
|
1187
1283
|
padding: calc(var(--spacing) * 4);
|
|
1188
1284
|
}
|
|
1189
1285
|
|
|
1286
|
+
.px-2 {
|
|
1287
|
+
padding-inline: calc(var(--spacing) * 2);
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1190
1290
|
.px-4 {
|
|
1191
1291
|
padding-inline: calc(var(--spacing) * 4);
|
|
1192
1292
|
}
|
|
1193
1293
|
|
|
1294
|
+
.py-1\.5 {
|
|
1295
|
+
padding-block: calc(var(--spacing) * 1.5);
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1194
1298
|
.py-2 {
|
|
1195
1299
|
padding-block: calc(var(--spacing) * 2);
|
|
1196
1300
|
}
|
|
@@ -1203,10 +1307,6 @@
|
|
|
1203
1307
|
padding-bottom: calc(var(--spacing) * 0);
|
|
1204
1308
|
}
|
|
1205
1309
|
|
|
1206
|
-
.pl-1 {
|
|
1207
|
-
padding-left: calc(var(--spacing) * 1);
|
|
1208
|
-
}
|
|
1209
|
-
|
|
1210
1310
|
.pl-1\.5 {
|
|
1211
1311
|
padding-left: calc(var(--spacing) * 1.5);
|
|
1212
1312
|
}
|
|
@@ -1240,6 +1340,11 @@
|
|
|
1240
1340
|
line-height: var(--tw-leading, var(--text-xl--line-height));
|
|
1241
1341
|
}
|
|
1242
1342
|
|
|
1343
|
+
.text-xs {
|
|
1344
|
+
font-size: var(--text-xs);
|
|
1345
|
+
line-height: var(--tw-leading, var(--text-xs--line-height));
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1243
1348
|
.font-bold {
|
|
1244
1349
|
--tw-font-weight: var(--font-weight-bold);
|
|
1245
1350
|
font-weight: var(--font-weight-bold);
|
|
@@ -1255,6 +1360,22 @@
|
|
|
1255
1360
|
font-weight: var(--font-weight-semibold);
|
|
1256
1361
|
}
|
|
1257
1362
|
|
|
1363
|
+
.text-\(--el-color-error\) {
|
|
1364
|
+
color: var(--el-color-error);
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
.text-\(--el-color-info\) {
|
|
1368
|
+
color: var(--el-color-info);
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
.text-\(--el-color-success\) {
|
|
1372
|
+
color: var(--el-color-success);
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
.text-\(--el-color-warning\) {
|
|
1376
|
+
color: var(--el-color-warning);
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1258
1379
|
.text-\[white\] {
|
|
1259
1380
|
color: #fff;
|
|
1260
1381
|
}
|
package/dist/es/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5)}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}.jky-menu-item__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:var(--jky-menu-icon-size);height:var(--jky-menu-icon-size);justify-content:center;margin-right:var(--jky-menu-icon-margin);width:var(--jky-menu-icon-size)}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *))
|
|
1
|
+
:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border:1px solid var(--j-code-mirror-border-color);border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#f5f7fa;border-right:1px solid #e4e7ed;color:#909399}html.dark .j-code-mirror-editor{border-color:#4c4d4f}html.dark .code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5)}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}.jky-menu-item__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:var(--jky-menu-icon-size);height:var(--jky-menu-icon-size);justify-content:center;margin-right:var(--jky-menu-icon-margin);width:var(--jky-menu-icon-size)}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *))
|
|
@@ -20,20 +20,20 @@ var __spreadValues = (a, b) => {
|
|
|
20
20
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
21
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
22
22
|
const vue = require("vue");
|
|
23
|
-
const _hoisted_1
|
|
24
|
-
const _hoisted_2
|
|
23
|
+
const _hoisted_1 = ["disabled"];
|
|
24
|
+
const _hoisted_2 = {
|
|
25
25
|
key: 0,
|
|
26
26
|
class: "jky-button__loading"
|
|
27
27
|
};
|
|
28
|
-
const _hoisted_3
|
|
28
|
+
const _hoisted_3 = {
|
|
29
29
|
key: 0,
|
|
30
30
|
class: "jky-button__icon"
|
|
31
31
|
};
|
|
32
|
-
const _hoisted_4
|
|
32
|
+
const _hoisted_4 = {
|
|
33
33
|
key: 1,
|
|
34
34
|
class: "jky-button__icon"
|
|
35
35
|
};
|
|
36
|
-
const _sfc_main
|
|
36
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
|
|
37
37
|
name: "JkyButton"
|
|
38
38
|
}), {
|
|
39
39
|
__name: "Button",
|
|
@@ -66,7 +66,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
66
66
|
disabled: __props.disabled || __props.loading,
|
|
67
67
|
onClick: handleClick
|
|
68
68
|
}, [
|
|
69
|
-
__props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2
|
|
69
|
+
__props.loading ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, [..._cache[0] || (_cache[0] = [
|
|
70
70
|
vue.createElementVNode("svg", {
|
|
71
71
|
class: "loading-spinner",
|
|
72
72
|
viewBox: "0 0 50 50"
|
|
@@ -92,7 +92,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
92
92
|
])
|
|
93
93
|
], -1)
|
|
94
94
|
])])) : __props.icon ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
95
|
-
__props.iconPosition === "prefix" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3
|
|
95
|
+
__props.iconPosition === "prefix" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, [
|
|
96
96
|
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
97
97
|
vue.createElementVNode("span", {
|
|
98
98
|
class: vue.normalizeClass(__props.icon)
|
|
@@ -100,7 +100,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
100
100
|
])
|
|
101
101
|
])) : vue.createCommentVNode("", true),
|
|
102
102
|
vue.renderSlot(_ctx.$slots, "default"),
|
|
103
|
-
__props.iconPosition === "suffix" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4
|
|
103
|
+
__props.iconPosition === "suffix" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, [
|
|
104
104
|
vue.renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
105
105
|
vue.createElementVNode("span", {
|
|
106
106
|
class: vue.normalizeClass(__props.icon)
|
|
@@ -111,8 +111,8 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
111
111
|
vue.renderSlot(_ctx.$slots, "icon"),
|
|
112
112
|
vue.renderSlot(_ctx.$slots, "default")
|
|
113
113
|
], 64))
|
|
114
|
-
], 10, _hoisted_1
|
|
114
|
+
], 10, _hoisted_1);
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
}));
|
|
118
|
-
exports.default = _sfc_main
|
|
118
|
+
exports.default = _sfc_main;
|
|
@@ -21,8 +21,8 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
21
21
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
22
22
|
const vue = require("vue");
|
|
23
23
|
const ElementPlus = require("element-plus");
|
|
24
|
-
const _hoisted_1
|
|
25
|
-
const _sfc_main
|
|
24
|
+
const _hoisted_1 = { class: "jky-button-nav flex flex-wrap items-center gap-2" };
|
|
25
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
|
|
26
26
|
name: "JkyButtonNav"
|
|
27
27
|
}), {
|
|
28
28
|
__name: "ButtonNav",
|
|
@@ -63,7 +63,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
return (_ctx, _cache) => {
|
|
66
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1
|
|
66
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
67
67
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item) => {
|
|
68
68
|
return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElButton), {
|
|
69
69
|
key: item.value,
|
|
@@ -143,4 +143,4 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadVa
|
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
145
|
}));
|
|
146
|
-
exports.default = _sfc_main
|
|
146
|
+
exports.default = _sfc_main;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CodeMirrorEditorProps } from './types';
|
|
2
|
+
import { EditorView } from '@codemirror/view';
|
|
3
|
+
declare const _default: import('vue').DefineComponent<CodeMirrorEditorProps, {
|
|
4
|
+
getEditor: () => EditorView | null;
|
|
5
|
+
getContent: () => string;
|
|
6
|
+
setContent: (content: string) => void;
|
|
7
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
8
|
+
change: (value: string) => any;
|
|
9
|
+
"update:modelValue": (value: string) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<CodeMirrorEditorProps> & Readonly<{
|
|
11
|
+
onChange?: ((value: string) => any) | undefined;
|
|
12
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
13
|
+
}>, {
|
|
14
|
+
disabled: boolean;
|
|
15
|
+
modelValue: string;
|
|
16
|
+
height: string;
|
|
17
|
+
readonly: boolean;
|
|
18
|
+
language: "javascript" | "typescript" | "json" | "css";
|
|
19
|
+
theme: "oneDark" | "default";
|
|
20
|
+
lineNumbers: boolean;
|
|
21
|
+
lineWrapping: boolean;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
23
|
+
editorRef: HTMLDivElement;
|
|
24
|
+
}, HTMLDivElement>;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
22
|
+
const vue = require("vue");
|
|
23
|
+
const langCss = require("@codemirror/lang-css");
|
|
24
|
+
const langJavascript = require("@codemirror/lang-javascript");
|
|
25
|
+
const langJson = require("@codemirror/lang-json");
|
|
26
|
+
const state = require("@codemirror/state");
|
|
27
|
+
const themeOneDark = require("@codemirror/theme-one-dark");
|
|
28
|
+
const view = require("@codemirror/view");
|
|
29
|
+
const codemirror = require("codemirror");
|
|
30
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
|
|
31
|
+
name: "JkyCodeMirrorEditor"
|
|
32
|
+
}), {
|
|
33
|
+
__name: "CodeMirrorEditor",
|
|
34
|
+
props: {
|
|
35
|
+
modelValue: { default: "" },
|
|
36
|
+
height: { default: "400px" },
|
|
37
|
+
disabled: { type: Boolean, default: false },
|
|
38
|
+
readonly: { type: Boolean, default: false },
|
|
39
|
+
language: { default: "javascript" },
|
|
40
|
+
theme: { default: "oneDark" },
|
|
41
|
+
lineNumbers: { type: Boolean, default: true },
|
|
42
|
+
lineWrapping: { type: Boolean, default: false }
|
|
43
|
+
},
|
|
44
|
+
emits: ["update:modelValue", "change"],
|
|
45
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
46
|
+
var _a;
|
|
47
|
+
const props = __props;
|
|
48
|
+
const emit = __emit;
|
|
49
|
+
const editorRef = vue.ref();
|
|
50
|
+
let editorView = null;
|
|
51
|
+
let innerValue = (_a = props.modelValue) != null ? _a : "";
|
|
52
|
+
function getLanguageExtension(language) {
|
|
53
|
+
switch (language) {
|
|
54
|
+
case "typescript":
|
|
55
|
+
case "javascript":
|
|
56
|
+
return langJavascript.javascript({
|
|
57
|
+
jsx: true,
|
|
58
|
+
typescript: language === "typescript"
|
|
59
|
+
});
|
|
60
|
+
case "json":
|
|
61
|
+
return langJson.json();
|
|
62
|
+
case "css":
|
|
63
|
+
return langCss.css();
|
|
64
|
+
default:
|
|
65
|
+
return langJavascript.javascript();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function initializeEditor() {
|
|
69
|
+
if (!editorRef.value)
|
|
70
|
+
return;
|
|
71
|
+
const extensions = [
|
|
72
|
+
codemirror.basicSetup,
|
|
73
|
+
getLanguageExtension(props.language),
|
|
74
|
+
view.EditorView.updateListener.of((update) => {
|
|
75
|
+
if (update.docChanged) {
|
|
76
|
+
const newValue = update.state.doc.toString();
|
|
77
|
+
innerValue = newValue;
|
|
78
|
+
emit("change", newValue);
|
|
79
|
+
emit("update:modelValue", newValue);
|
|
80
|
+
}
|
|
81
|
+
}),
|
|
82
|
+
view.EditorView.editable.of(!props.disabled && !props.readonly),
|
|
83
|
+
state.EditorState.readOnly.of(props.readonly)
|
|
84
|
+
];
|
|
85
|
+
if (props.theme === "oneDark") {
|
|
86
|
+
extensions.push(themeOneDark.oneDark);
|
|
87
|
+
}
|
|
88
|
+
if (!props.lineNumbers) {
|
|
89
|
+
extensions.push(view.lineNumbers());
|
|
90
|
+
}
|
|
91
|
+
if (props.lineWrapping) {
|
|
92
|
+
extensions.push(view.EditorView.lineWrapping);
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
editorView = new view.EditorView({
|
|
96
|
+
state: state.EditorState.create({
|
|
97
|
+
doc: innerValue,
|
|
98
|
+
extensions
|
|
99
|
+
}),
|
|
100
|
+
parent: editorRef.value
|
|
101
|
+
});
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.error("Failed to initialize CodeMirror Editor:", error);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
vue.watch(() => props.modelValue, (newValue) => {
|
|
107
|
+
if (newValue !== innerValue && editorView) {
|
|
108
|
+
const currentContent = editorView.state.doc.toString();
|
|
109
|
+
if (currentContent !== newValue) {
|
|
110
|
+
editorView.dispatch({
|
|
111
|
+
changes: {
|
|
112
|
+
from: 0,
|
|
113
|
+
to: currentContent.length,
|
|
114
|
+
insert: newValue
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
innerValue = newValue;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
vue.watch(() => props.language, () => {
|
|
122
|
+
if (editorView) {
|
|
123
|
+
const currentValue = editorView.state.doc.toString();
|
|
124
|
+
editorView.destroy();
|
|
125
|
+
innerValue = currentValue;
|
|
126
|
+
initializeEditor();
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
vue.watch([() => props.disabled, () => props.readonly], () => {
|
|
130
|
+
if (editorView) {
|
|
131
|
+
const currentValue = editorView.state.doc.toString();
|
|
132
|
+
editorView.destroy();
|
|
133
|
+
innerValue = currentValue;
|
|
134
|
+
initializeEditor();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
vue.onMounted(() => {
|
|
138
|
+
initializeEditor();
|
|
139
|
+
});
|
|
140
|
+
vue.onUnmounted(() => {
|
|
141
|
+
if (editorView) {
|
|
142
|
+
editorView.destroy();
|
|
143
|
+
editorView = null;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
__expose({
|
|
147
|
+
getEditor: () => editorView,
|
|
148
|
+
getContent: () => {
|
|
149
|
+
var _a2;
|
|
150
|
+
return (_a2 = editorView == null ? void 0 : editorView.state.doc.toString()) != null ? _a2 : "";
|
|
151
|
+
},
|
|
152
|
+
setContent: (content) => {
|
|
153
|
+
if (editorView) {
|
|
154
|
+
editorView.dispatch({
|
|
155
|
+
changes: {
|
|
156
|
+
from: 0,
|
|
157
|
+
to: editorView.state.doc.length,
|
|
158
|
+
insert: content
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return (_ctx, _cache) => {
|
|
165
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
166
|
+
class: "j-code-mirror-editor",
|
|
167
|
+
style: vue.normalizeStyle({ height: __props.height })
|
|
168
|
+
}, [
|
|
169
|
+
vue.createElementVNode("div", {
|
|
170
|
+
ref_key: "editorRef",
|
|
171
|
+
ref: editorRef,
|
|
172
|
+
class: "code-mirror-container"
|
|
173
|
+
}, null, 512)
|
|
174
|
+
], 4);
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
}));
|
|
178
|
+
exports.default = _sfc_main;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const CodeMirrorEditor_vue_vue_type_script_setup_true_lang = require("./CodeMirrorEditor.vue.js");
|
|
4
|
+
;/* empty css */
|
|
5
|
+
exports.default = CodeMirrorEditor_vue_vue_type_script_setup_true_lang.default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const CodeMirrorEditor_vue_vue_type_script_setup_true_lang = require("./CodeMirrorEditor.vue.js");
|
|
4
|
+
;/* empty css */
|
|
5
|
+
const withInstall = require("../utils/with-install.js");
|
|
6
|
+
const JkyCodeMirrorEditor = withInstall.installWithSFC(CodeMirrorEditor_vue_vue_type_script_setup_true_lang.default);
|
|
7
|
+
exports.JkyCodeMirrorEditor = JkyCodeMirrorEditor;
|
|
8
|
+
exports.default = JkyCodeMirrorEditor;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* CodeMirror 编辑器基础样式变量 */
|
|
3
|
+
--j-code-mirror-border-color: #dcdfe6;
|
|
4
|
+
--j-code-mirror-border-radius: 4px;
|
|
5
|
+
--j-code-mirror-height: 400px;
|
|
6
|
+
}
|
|
7
|
+
.j-code-mirror-editor {
|
|
8
|
+
width: 100%;
|
|
9
|
+
height: var(--j-code-mirror-height);
|
|
10
|
+
border: 1px solid var(--j-code-mirror-border-color);
|
|
11
|
+
border-radius: var(--j-code-mirror-border-radius);
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
}
|
|
14
|
+
.code-mirror-container {
|
|
15
|
+
height: 100%;
|
|
16
|
+
width: 100%;
|
|
17
|
+
overflow: auto;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* CodeMirror 基础样式覆盖 */
|
|
21
|
+
.code-mirror-container .cm-editor {
|
|
22
|
+
height: 100%;
|
|
23
|
+
}
|
|
24
|
+
.code-mirror-container .cm-scroller {
|
|
25
|
+
overflow: auto;
|
|
26
|
+
font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
|
|
27
|
+
font-size: 14px;
|
|
28
|
+
line-height: 1.5;
|
|
29
|
+
}
|
|
30
|
+
.code-mirror-container .cm-gutters {
|
|
31
|
+
background-color: #f5f7fa;
|
|
32
|
+
border-right: 1px solid #e4e7ed;
|
|
33
|
+
color: #909399;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* 暗黑模式支持 */
|
|
37
|
+
html.dark .j-code-mirror-editor {
|
|
38
|
+
border-color: #4c4d4f;
|
|
39
|
+
}
|
|
40
|
+
html.dark .code-mirror-container .cm-gutters {
|
|
41
|
+
background-color: #2c2d2d;
|
|
42
|
+
border-color: #4c4d4f;
|
|
43
|
+
color: #909399;
|
|
44
|
+
}
|
package/dist/lib/components.d.ts
CHANGED
package/dist/lib/components.js
CHANGED
|
@@ -2,22 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const index = require("./button/index.js");
|
|
4
4
|
const index$1 = require("./button-nav/index.js");
|
|
5
|
-
const index$2 = require("./
|
|
6
|
-
const index$3 = require("./
|
|
7
|
-
const index$4 = require("./
|
|
8
|
-
const index$5 = require("./
|
|
5
|
+
const index$2 = require("./code-mirror-editor/index.js");
|
|
6
|
+
const index$3 = require("./form/index.js");
|
|
7
|
+
const index$4 = require("./menu/index.js");
|
|
8
|
+
const index$5 = require("./page-header/index.js");
|
|
9
|
+
const index$6 = require("./say-hello/index.js");
|
|
9
10
|
const components = [
|
|
10
|
-
index$
|
|
11
|
+
index$6.JkySayHello,
|
|
11
12
|
index.JkyButton,
|
|
12
13
|
index$1.JkyButtonNav,
|
|
13
|
-
index$
|
|
14
|
-
index$
|
|
15
|
-
index$
|
|
14
|
+
index$5.JkyPageHeader,
|
|
15
|
+
index$4.JkyMenu,
|
|
16
|
+
index$3.JkyForm,
|
|
17
|
+
index$2.JkyCodeMirrorEditor
|
|
16
18
|
];
|
|
17
19
|
exports.JkyButton = index.JkyButton;
|
|
18
20
|
exports.JkyButtonNav = index$1.JkyButtonNav;
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
21
|
+
exports.JkyCodeMirrorEditor = index$2.JkyCodeMirrorEditor;
|
|
22
|
+
exports.JkyForm = index$3.JkyForm;
|
|
23
|
+
exports.JkyMenu = index$4.JkyMenu;
|
|
24
|
+
exports.JkyPageHeader = index$5.JkyPageHeader;
|
|
25
|
+
exports.JkySayHello = index$6.JkySayHello;
|
|
23
26
|
exports.components = components;
|