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.
Files changed (42) hide show
  1. package/dist/es/code-mirror-editor/CodeMirrorEditor.test.d.ts +1 -0
  2. package/dist/es/code-mirror-editor/CodeMirrorEditor.vue.d.ts +25 -0
  3. package/dist/es/code-mirror-editor/CodeMirrorEditor.vue.js +178 -0
  4. package/dist/es/code-mirror-editor/CodeMirrorEditor.vue3.js +5 -0
  5. package/dist/es/code-mirror-editor/index.d.ts +4 -0
  6. package/dist/es/code-mirror-editor/index.js +8 -0
  7. package/dist/es/code-mirror-editor/style.css +44 -0
  8. package/dist/es/components.d.ts +1 -0
  9. package/dist/es/components.js +4 -1
  10. package/dist/es/form/FormItem.vue.js +245 -94
  11. package/dist/es/index.js +2 -0
  12. package/dist/es/node_modules/@element-plus/icons-vue/dist/index.js +84 -0
  13. package/dist/es/package.json.js +2 -2
  14. package/dist/es/page-header/PopoverMenu.vue.d.ts +1 -1
  15. package/dist/es/style.css +125 -4
  16. package/dist/es/styles.css +1 -1
  17. package/dist/lib/button/Button.vue.js +10 -10
  18. package/dist/lib/button-nav/ButtonNav.vue.js +4 -4
  19. package/dist/lib/code-mirror-editor/CodeMirrorEditor.test.d.ts +1 -0
  20. package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue.d.ts +25 -0
  21. package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue.js +178 -0
  22. package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue3.js +5 -0
  23. package/dist/lib/code-mirror-editor/index.d.ts +4 -0
  24. package/dist/lib/code-mirror-editor/index.js +8 -0
  25. package/dist/lib/code-mirror-editor/style.css +44 -0
  26. package/dist/lib/components.d.ts +1 -0
  27. package/dist/lib/components.js +15 -12
  28. package/dist/lib/form/Form.vue.js +6 -6
  29. package/dist/lib/form/FormItem.vue.js +248 -97
  30. package/dist/lib/index.js +10 -8
  31. package/dist/lib/menu/Aside.vue.js +2 -2
  32. package/dist/lib/menu/Menu.vue.js +2 -2
  33. package/dist/lib/node_modules/@element-plus/icons-vue/dist/index.js +84 -0
  34. package/dist/lib/package.json.js +2 -2
  35. package/dist/lib/page-header/PageHeader.vue.js +2 -2
  36. package/dist/lib/page-header/PopoverMenu.vue.d.ts +1 -1
  37. package/dist/lib/page-header/PopoverMenu.vue.js +12 -12
  38. package/dist/lib/style.css +125 -4
  39. package/dist/lib/styles.css +1 -1
  40. package/dist/umd/index.js +626 -104
  41. package/dist/umd/styles.css +1 -1
  42. 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
  }
@@ -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$5 = ["disabled"];
24
- const _hoisted_2$4 = {
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$3 = {
28
+ const _hoisted_3 = {
29
29
  key: 0,
30
30
  class: "jky-button__icon"
31
31
  };
32
- const _hoisted_4$3 = {
32
+ const _hoisted_4 = {
33
33
  key: 1,
34
34
  class: "jky-button__icon"
35
35
  };
36
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
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$4, [..._cache[0] || (_cache[0] = [
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$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$3, [
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$5);
114
+ ], 10, _hoisted_1);
115
115
  };
116
116
  }
117
117
  }));
118
- exports.default = _sfc_main$8;
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$4 = { class: "jky-button-nav flex flex-wrap items-center gap-2" };
25
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
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$4, [
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$7;
146
+ exports.default = _sfc_main;
@@ -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,4 @@
1
+ import { InstallWithSFC } from '../utils';
2
+ import { default as CodeMirrorEditor } from './CodeMirrorEditor.vue';
3
+ export declare const JkyCodeMirrorEditor: InstallWithSFC<typeof CodeMirrorEditor>;
4
+ export default JkyCodeMirrorEditor;
@@ -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
+ }
@@ -1,6 +1,7 @@
1
1
  import { Plugin } from 'vue';
2
2
  export * from './button';
3
3
  export * from './button-nav';
4
+ export * from './code-mirror-editor';
4
5
  export * from './form';
5
6
  export * from './menu';
6
7
  export * from './page-header';
@@ -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("./form/index.js");
6
- const index$3 = require("./menu/index.js");
7
- const index$4 = require("./page-header/index.js");
8
- const index$5 = require("./say-hello/index.js");
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$5.JkySayHello,
11
+ index$6.JkySayHello,
11
12
  index.JkyButton,
12
13
  index$1.JkyButtonNav,
13
- index$4.JkyPageHeader,
14
- index$3.JkyMenu,
15
- index$2.JkyForm
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.JkyForm = index$2.JkyForm;
20
- exports.JkyMenu = index$3.JkyMenu;
21
- exports.JkyPageHeader = index$4.JkyPageHeader;
22
- exports.JkySayHello = index$5.JkySayHello;
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;