@vtj/designer 0.7.0

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 (128) hide show
  1. package/LICENSE +21 -0
  2. package/dist/Editor-ctkAn2cu.js +67 -0
  3. package/dist/Editor-ragV9vX2.cjs +1 -0
  4. package/dist/index.cjs +44 -0
  5. package/dist/index.mjs +7433 -0
  6. package/dist/style.css +1 -0
  7. package/package.json +44 -0
  8. package/types/components/binders/event.d.ts +20 -0
  9. package/types/components/binders/index.d.ts +3 -0
  10. package/types/components/binders/variable.d.ts +19 -0
  11. package/types/components/editor/Editor.d.ts +65 -0
  12. package/types/components/editor/index.d.ts +86 -0
  13. package/types/components/hooks/index.d.ts +15 -0
  14. package/types/components/hooks/useAssets.d.ts +19 -0
  15. package/types/components/hooks/useBinder.d.ts +12 -0
  16. package/types/components/hooks/useBlocks.d.ts +7 -0
  17. package/types/components/hooks/useColSpan.d.ts +6 -0
  18. package/types/components/hooks/useCurrent.d.ts +10 -0
  19. package/types/components/hooks/useDataSources.d.ts +8 -0
  20. package/types/components/hooks/useDeps.d.ts +7 -0
  21. package/types/components/hooks/useDesigner.d.ts +33 -0
  22. package/types/components/hooks/useDirectives.d.ts +17 -0
  23. package/types/components/hooks/useHistory.d.ts +13 -0
  24. package/types/components/hooks/useNodeEvents.d.ts +17 -0
  25. package/types/components/hooks/useNodeProps.d.ts +13 -0
  26. package/types/components/hooks/useProject.d.ts +7 -0
  27. package/types/components/hooks/useRegion.d.ts +6 -0
  28. package/types/components/hooks/useSelected.d.ts +8 -0
  29. package/types/components/index.d.ts +9 -0
  30. package/types/components/regions/actions.d.ts +19 -0
  31. package/types/components/regions/apps.d.ts +35 -0
  32. package/types/components/regions/brand.d.ts +19 -0
  33. package/types/components/regions/empty.d.ts +15 -0
  34. package/types/components/regions/index.d.ts +147 -0
  35. package/types/components/regions/preview.d.ts +20 -0
  36. package/types/components/regions/settings.d.ts +19 -0
  37. package/types/components/regions/status.d.ts +19 -0
  38. package/types/components/regions/toolbar.d.ts +20 -0
  39. package/types/components/regions/workspace.d.ts +21 -0
  40. package/types/components/setter.d.ts +54 -0
  41. package/types/components/setters/boolean.d.ts +3 -0
  42. package/types/components/setters/color.d.ts +3 -0
  43. package/types/components/setters/expression.d.ts +30 -0
  44. package/types/components/setters/function.d.ts +40 -0
  45. package/types/components/setters/icon.d.ts +39 -0
  46. package/types/components/setters/index.d.ts +139 -0
  47. package/types/components/setters/json.d.ts +37 -0
  48. package/types/components/setters/number.d.ts +19 -0
  49. package/types/components/setters/select.d.ts +35 -0
  50. package/types/components/setters/string.d.ts +3 -0
  51. package/types/components/shared/Icon.d.ts +40 -0
  52. package/types/components/shared/binder.d.ts +45 -0
  53. package/types/components/shared/box.d.ts +29 -0
  54. package/types/components/shared/index.d.ts +11 -0
  55. package/types/components/shared/item.d.ts +98 -0
  56. package/types/components/shared/panel.d.ts +54 -0
  57. package/types/components/shared/slots.d.ts +36 -0
  58. package/types/components/shared/tabs.d.ts +49 -0
  59. package/types/components/shared/types.d.ts +1 -0
  60. package/types/components/shared/viewer.d.ts +22 -0
  61. package/types/components/shared/viewport.d.ts +38 -0
  62. package/types/components/skeleton.d.ts +55 -0
  63. package/types/components/widgets/actions/index.d.ts +31 -0
  64. package/types/components/widgets/apis/index.d.ts +3 -0
  65. package/types/components/widgets/blocks/index.d.ts +3 -0
  66. package/types/components/widgets/components/index.d.ts +3 -0
  67. package/types/components/widgets/css/index.d.ts +3 -0
  68. package/types/components/widgets/data-sources/form.d.ts +19 -0
  69. package/types/components/widgets/data-sources/index.d.ts +3 -0
  70. package/types/components/widgets/defined/events.d.ts +19 -0
  71. package/types/components/widgets/defined/index.d.ts +3 -0
  72. package/types/components/widgets/defined/injects.d.ts +19 -0
  73. package/types/components/widgets/defined/props.d.ts +19 -0
  74. package/types/components/widgets/defined/slots.d.ts +19 -0
  75. package/types/components/widgets/deps/index.d.ts +3 -0
  76. package/types/components/widgets/designer/actions.d.ts +36 -0
  77. package/types/components/widgets/designer/index.d.ts +7 -0
  78. package/types/components/widgets/directives/index.d.ts +3 -0
  79. package/types/components/widgets/docs/index.d.ts +29 -0
  80. package/types/components/widgets/empty/index.d.ts +3 -0
  81. package/types/components/widgets/events/index.d.ts +8 -0
  82. package/types/components/widgets/history/index.d.ts +3 -0
  83. package/types/components/widgets/index.d.ts +109 -0
  84. package/types/components/widgets/logo/index.d.ts +34 -0
  85. package/types/components/widgets/node-path/index.d.ts +3 -0
  86. package/types/components/widgets/outline/index.d.ts +19 -0
  87. package/types/components/widgets/pages/form.d.ts +17 -0
  88. package/types/components/widgets/pages/index.d.ts +3 -0
  89. package/types/components/widgets/previewer/index.d.ts +18 -0
  90. package/types/components/widgets/properties/index.d.ts +3 -0
  91. package/types/components/widgets/properties/setters.d.ts +28 -0
  92. package/types/components/widgets/raw/index.d.ts +3 -0
  93. package/types/components/widgets/schema/index.d.ts +3 -0
  94. package/types/components/widgets/scripts/computed.d.ts +18 -0
  95. package/types/components/widgets/scripts/group.d.ts +52 -0
  96. package/types/components/widgets/scripts/index.d.ts +3 -0
  97. package/types/components/widgets/scripts/lifeCycles.d.ts +18 -0
  98. package/types/components/widgets/scripts/methods.d.ts +18 -0
  99. package/types/components/widgets/scripts/state.d.ts +18 -0
  100. package/types/components/widgets/scripts/watch.d.ts +18 -0
  101. package/types/components/widgets/style/index.d.ts +3 -0
  102. package/types/components/widgets/switcher/index.d.ts +7 -0
  103. package/types/components/widgets/toolbar/index.d.ts +17 -0
  104. package/types/constants.d.ts +28 -0
  105. package/types/framework/assets.d.ts +22 -0
  106. package/types/framework/designer.d.ts +57 -0
  107. package/types/framework/engine.d.ts +51 -0
  108. package/types/framework/index.d.ts +6 -0
  109. package/types/framework/renderer.d.ts +21 -0
  110. package/types/framework/simulator.d.ts +39 -0
  111. package/types/framework/types.d.ts +119 -0
  112. package/types/index.d.ts +7 -0
  113. package/types/managers/built-in/deps.d.ts +2 -0
  114. package/types/managers/built-in/index.d.ts +4 -0
  115. package/types/managers/built-in/materials.d.ts +2 -0
  116. package/types/managers/built-in/setters.d.ts +3 -0
  117. package/types/managers/built-in/widgets.d.ts +2 -0
  118. package/types/managers/deps.d.ts +33 -0
  119. package/types/managers/index.d.ts +4 -0
  120. package/types/managers/setter.d.ts +29 -0
  121. package/types/managers/widget.d.ts +36 -0
  122. package/types/utils.d.ts +6 -0
  123. package/types/version.d.ts +8 -0
  124. package/types/wrappers/index.d.ts +4 -0
  125. package/types/wrappers/region.d.ts +15 -0
  126. package/types/wrappers/setter.d.ts +90 -0
  127. package/types/wrappers/skeleton.d.ts +78 -0
  128. package/types/wrappers/widget.d.ts +24 -0
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ ::-webkit-scrollbar{z-index:11;width:6px}::-webkit-scrollbar:horizontal{height:6px}::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#0000001a}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-track-piece{background:transparent;width:6px}html,body{height:100%;width:100%;padding:0;margin:0;background-color:var(--el-bg-color);font-size:14px;color:var(--el-text-color-primary)}.v-panel>.x-panel__header{padding:0 5px 0 10px!important}.v-panel .el-empty{--el-empty-padding: 10px 0;--el-empty-description-margin-top: 10px}.v-sub-panel>.x-panel__body{background-color:var(--el-bg-color)}.v-sub-panel .x-header__content{color:var(--el-text-color-regular)}.v-sub-panel .el-form-item{margin-bottom:10px}.v-sub-panel .el-form-item:last-child{margin-bottom:0!important}.v-sub-panel .v-sub-panel+.v-sub-panel{margin-top:10px}.v-sub-panel .v-sub-panel .x-header__content{font-weight:400}.v-tabs__header{display:flex;justify-content:space-between;align-items:center;height:30px!important}.v-tabs__tabs{flex-grow:1;flex-shrink:1;overflow:hidden;margin-bottom:0!important}.v-tabs__tabs .el-tabs__header .el-tabs__nav{border-radius:0!important;border-top:none!important;border-left:none!important}.v-tabs__tabs .el-tabs__item.is-active{background-color:var(--el-fill-color-lighter)!important;border-bottom-color:var(--el-fill-color-lighter)!important}.v-tabs__actions{padding-right:5px;padding-left:5px;border-bottom:1px solid var(--el-border-color-light);height:30px;display:flex;justify-content:center;align-items:center}.v-tabs__checked{opacity:0}.v-tabs__checked.is-checked{opacity:1}.v-tabs>.x-panel__body{background-color:var(--el-fill-color-lighter)}.v-item{padding:3px 5px;border-radius:4px;font-size:14px;margin-bottom:4px;min-height:28px;border:1px solid transparent;cursor:pointer}.v-item:hover{border:1px dashed var(--el-color-primary-light-7)!important;background-color:var(--el-color-primary-light-9)!important}.v-item .el-switch--small{height:16px}.v-item .x-action__inner:hover{background-color:var(--el-color-primary-light-7)}.v-item__switch{margin-left:5px}.v-item__index{font-size:12px;color:var(--el-text-color-secondary);display:inline-block;width:30px}.v-item__tag{margin-right:10px;zoom:.7}.v-item__title>.x-icon{margin-right:3px}.v-item__subtitle{margin-left:5px;font-style:italic;opacity:.5}.v-item.is-small{min-height:24px;height:24px}.v-item.is-active{background-color:var(--el-color-primary-light-9)!important;color:var(--el-color-primary)!important}.v-item.is-background{background-color:var(--el-fill-color-lighter)}.v-item.is-border{border:1px dashed var(--el-border-color-lighter)}.v-item.is-hover>.v-item__actions{display:none}.v-item.is-hover:hover>.v-item__actions{display:block}.v-box{position:relative;height:60px;overflow:hidden;background-color:var(--el-fill-color-lighter);border:1px dashed transparent;padding:10px;border-radius:4px;flex-wrap:1;flex-shrink:1;margin-bottom:5px}.v-box:hover{border:1px dashed var(--el-border-color-light)}.v-box:hover .v-box__footer{opacity:1}.v-box.is-active{background-color:var(--el-color-primary-light-9)}.v-box.is-draggable{cursor:move}.v-box__footer{position:absolute;opacity:0;width:100%;height:20px;bottom:0;left:0;background-color:#00000008;font-size:12px;padding:0 10px}.v-box__footer>.x-icon{cursor:pointer}.v-box__name{font-size:14px;color:var(--el-color-primary-light-3);line-height:1.5em}.v-box__label{font-size:12px;color:var(--el-text-color-regular);line-height:1.5em}.v-binder__tabs .x-panel__header{background-color:var(--el-bg-color)!important;padding:0!important}.v-binder__tabs .el-tabs__item{border-top:1px solid var(--el-border-color-light)!important}.v-binder__tab-content{background-color:var(--el-bg-color);border-radius:4px;overflow:auto}.v-binder__tab-content .el-divider__text{font-size:12px;color:var(--el-text-color-regular)}.v-binder__tab-content .el-divider--horizontal{margin:14px 0}.v-binder__form{width:100%}.v-context-viewer .el-tree{--el-tree-node-hover-bg-color: transparent}.v-context-viewer .el-tree .v-item{margin:0}.v-context-viewer .el-tree-node__content{height:28px}.v-slots-picker__content{padding:20px 0}.v-slots-picker__item{border:1px solid var(--el-border-color);padding:10px;border-radius:4px;text-align:center;cursor:pointer;position:relative;font-size:14px;min-width:120px}.v-slots-picker__item:hover{background-color:var(--el-color-primary-light-9)}.v-slots-picker__item.is-active{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary);border:1px solid var(--el-color-primary)}.v-slots-picker__sn{position:absolute;left:0;top:0;padding:10px;color:var(--el-text-color-placeholder)}.v-viewport{width:100%;height:100%;position:absolute;left:0;top:0;background-color:var(--el-fill-color-dark);overflow:hidden}.v-code-editor{overflow:hidden;width:100%}.v-code-editor.is-border{border:1px solid var(--el-border-color)}.v-skeleton{width:100%;height:100%;overflow:hidden;background-color:var(--el-bg-color);font-size:14px;color:var(--el-text-color-primary)}.v-skeleton__header{padding:0!important;display:flex;justify-content:space-between;align-items:center;padding:0 10px}.v-skeleton__main{border-left:1px solid var(--el-border-color);border-right:1px solid var(--el-border-color);padding:0!important}.v-skeleton__wrapper{border-top:1px solid var(--el-border-color);border-bottom:1px solid var(--el-border-color)}.v-skeleton__footer{padding:0!important;font-size:12px;align-items:center;display:flex}.v-skeleton__left.is-resizing{border-right:2px solid var(--el-color-primary)}.v-skeleton__left.is-collapsed{width:49px!important;overflow:hidden}.v-skeleton__right.is-resizing{border-left:2px solid var(--el-color-primary)}.v-brand-region{text-align:left;white-space:nowrap;display:flex;align-items:center;flex-grow:1;flex-shrink:1;width:30%}.v-toolbar-region{text-align:center;white-space:nowrap;flex-grow:0;display:flex;justify-content:center}.v-actions-region{flex-grow:1;flex-shrink:1;display:flex;justify-content:flex-end;width:30%;white-space:nowrap}.v-actions-region .el-badge__content{zoom:.9;top:3px!important;margin-right:2px}.v-apps-region{display:flex;height:100%;overflow:hidden}.v-apps-region__header{width:50px;height:100%;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--el-border-color);text-align:center;color:var(--el-text-color-primary);flex-shrink:0}.v-apps-region__icon{padding:8px 0;cursor:pointer;font-size:20px;border-left:2px solid transparent;border-top:1px solid transparent;border-bottom:1px solid transparent}.v-apps-region__icon:first-child{border-top:1px solid transparent}.v-apps-region__icon i{margin-left:-2px}.v-apps-region__icon:hover,.v-apps-region__icon.is-active{color:var(--el-color-primary)}.v-apps-region__icon.is-open{border-left:2px solid var(--el-color-primary);background-color:var(--el-bg-color);margin-right:-1px;border-top:1px solid var(--el-border-color);border-bottom:1px solid var(--el-border-color)}.v-apps-region__icon.is-open:first-child{border-top:1px solid transparent}.v-apps-region__icon.is-open i{margin-left:-3px}.v-apps-region__panels{flex-grow:1;overflow:hidden}.v-settings-region{overflow:hidden}.v-settings-region>.el-empty{height:100%}.v-settings-region__header{height:30px;padding:0 10px;border-bottom:1px solid var(--el-border-color)}.v-settings-region__title span{font-size:12px;padding-left:5px;color:var(--el-text-color-regular)}.v-settings-region__title span i{padding-left:5px;color:var(--el-text-color-secondary)}.v-logo-widget{font-size:18px;font-weight:700;color:var(--el-color-primary);width:50px;text-align:center;text-shadow:0 0 1px var(--el-border-color)}.v-logo-widget__icon{width:24px;height:24px;display:inline-block;vertical-align:bottom}.v-switcher-widget{padding-left:10px;color:var(--el-text-color-secondary);font-size:14px}.v-switcher-widget__back{margin-right:5px}.v-toolbar-widget{width:200px;text-align:center;white-space:nowrap}.v-toolbar-widget .el-radio-group{display:inline-block;vertical-align:middle;margin-right:5px;position:relative}.v-toolbar-widget .el-radio-group .el-radio-button__inner{padding:5px 10px 4px}.v-toolbar-widget .el-input-group{width:100px;line-height:24px;margin-right:20px}.v-toolbar-widget .el-input-group .el-button{height:24px;padding:6px}.v-toolbar-widget .el-input-group .el-input__inner{text-align:center}.v-toolbar-widget .el-input-group__append,.v-toolbar-widget .el-input-group__prepend{padding:0 15px}.v-actions-widget{padding:0 10px}.v-actions-widget .el-button+.el-button,.v-actions-widget .el-dropdown+.el-dropdown{margin-left:5px}.v-actions-widget .el-button:focus-visible{outline:none}.v-actions-widget .el-dropdown .el-dropdown__caret-button{width:20px}.v-actions-widget .el-button-group .el-button{margin-left:0!important}.v-designer{width:100%;height:100%;box-sizing:border-box;position:relative;overflow:auto}.v-designer iframe{width:100%;height:100%;border:none}.v-designer .el-empty{position:absolute;width:100%;height:100%;background-color:var(--el-bg-color)}.v-designer__hover{border:2px dashed var(--el-color-warning-dark-2);background-color:#e6a23c1a;position:absolute;left:0;top:0;pointer-events:none;border-radius:4px}.v-designer__hover>span{display:inline-block;color:var(--el-color-warning-dark-2);position:absolute;background-color:var(--el-color-warning-light-7);border-radius:4px;font-size:12px;padding:4px 8px;white-space:nowrap;box-shadow:var(--el-box-shadow-lighter);z-index:10}.v-designer__hover>span>i{color:var(--el-text-color-secondary)}.v-designer__hover>span.is-inner{left:4px;top:4px}.v-designer__hover>span.is-left-top{left:-2px;top:-4px;transform:translateY(-100%)}.v-designer__hover>span.is-left-bottom{left:-2px;bottom:-4px;transform:translateY(100%)}.v-designer__hover>span.is-right-top{right:0;top:-4px;transform:translateY(-100%)}.v-designer__hover>span.is-right-bottom{right:0;bottom:-4px;transform:translateY(100%)}.v-designer__dropping{border:4px solid var(--el-color-success-dark-2);border-radius:4px;background-color:#529b2e1a;position:absolute;pointer-events:none;z-index:20}.v-designer__dropping.is-inner{border:2px solid var(--el-color-success-dark-2)}.v-designer__selected{border:2px solid var(--el-color-primary-dark-2);border-radius:4px;background-color:#409eff1a;position:absolute;left:0;top:0;pointer-events:none;z-index:10}.v-designer__placeholder{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px;color:var(--el-text-color-placeholder);opacity:.6;pointer-events:none}.v-actions{position:absolute;pointer-events:initial;font-size:12px;white-space:nowrap;display:flex}.v-actions>.x-action,.v-actions>.x-action-bar{background-color:var(--el-color-primary-dark-2);border-radius:4px;padding:2px 5px;box-shadow:var(--el-box-shadow-lighter)}.v-actions>.x-action .x-action__inner,.v-actions>.x-action-bar .x-action__inner{color:var(--el-color-primary-light-9)}.v-actions>.x-action-bar{margin-left:5px}.v-actions .x-action:hover{background-color:var(--el-color-primary);border-radius:4px}.v-actions.is-inner{right:2px;top:2px}.v-actions.is-left-top{left:-2px;top:-4px;transform:translateY(-100%)}.v-actions.is-left-bottom{left:0;bottom:-4px;transform:translateY(100%)}.v-actions.is-right-top{right:0;top:-4px;transform:translateY(-100%)}.v-actions.is-right-bottom{right:-2px;bottom:-4px;transform:translateY(100%)}.v-components-widget__search{margin-bottom:10px}.v-components-widget__list .el-collapse{--el-collapse-header-height: 36px !important}.v-components-widget .x-tabs{flex-grow:1;flex-direction:column;display:flex;overflow:hidden;margin-bottom:0!important}.v-components-widget .el-tabs__content{overflow:auto;overflow-x:hidden;padding-top:15px}.v-outline-widget .el-tree{--el-tree-node-hover-bg-color: transparent}.v-outline-widget .el-tree .v-item{margin:0}.v-outline-widget .el-tree-node__content{height:28px}.v-outline-widget .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:transparent}.v-outline-widget .v-item__subtitle{font-size:12px}.v-outline-widget .v-item__title>.x-icon{color:var(--el-color-warning)}.v-outline-widget .is-drop-inner .is-drop-inner{background:var(--el-color-warning-light-8)}.v-outline-widget .is-drop-inner .is-drop-inner .v-item{opacity:.6}.v-outline-widget__item.is-dragging{background:var(--el-color-danger-light-8);opacity:.5}.v-outline-widget__item.is-locked{color:var(--el-color-warning)!important}.v-outline-widget__item.is-locked .v-item__title>.x-icon{color:var(--el-color-warning)}.v-outline-widget__item.is-invisible{color:var(--el-color-danger);cursor:not-allowed!important}.v-outline-widget__item.is-invisible:hover{background-color:var(--el-fill-color-lighter)!important}.v-outline-widget__item.is-invisible .v-item__title>.x-icon{color:var(--el-color-danger)}.v-drawer .el-drawer__header{margin-bottom:0}.v-pages-widget .el-tree{--el-tree-node-hover-bg-color: transparent}.v-pages-widget .el-tree .v-item{margin:0}.v-pages-widget .el-tree-node__content{height:28px}.v-pages-widget .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:transparent}.v-pages-widget .v-item__subtitle{font-size:12px}.v-pages-widget .is-drop-inner .is-drop-inner{background:var(--el-color-warning-light-8)}.v-pages-widget .is-drop-inner .is-drop-inner .v-item{opacity:.6}.v-previewer{width:100%;height:100%;position:relative}.v-previewer iframe{width:100%;height:100%}.v-nodepath-widget{font-size:12px;padding:0 20px}.v-nodepath-widget .el-breadcrumb__item{cursor:pointer;font-size:12px}.v-docs-widget{overflow:hidden}.v-docs-widget iframe{width:100%;height:100%;border:none;display:block}.v-setter .el-form-item__label .el-tooltip__trigger{border-bottom:1px dashed var(--el-color-primary);cursor:help}.v-setter .el-select{display:block}.v-setter__content{display:flex;flex-direction:row;justify-content:space-between;width:100%;align-items:center}.v-setter__input{flex-grow:1}.v-setter__action{font-size:14px;white-space:nowrap}.v-setter__action .el-dropdown.is-disabled{opacity:.6}.v-setter__action .el-dropdown.is-disabled i{cursor:not-allowed}.v-setter__action i{cursor:pointer;color:var(--el-text-color-secondary);background-color:var(--el-color-primary-light-9);margin-left:3px;padding:4px;border-radius:4px}.v-setter__action i:hover,.v-setter__action i.is-active{color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.v-setter-switch .is-placeholder{opacity:0}.v-expression-setter .el-input__inner{text-align:center}.v-icon-setter .el-input-group__prepend{background-color:var(--el-fill-color-blank)}.v-icon-setter__list{display:inline-block;flex-grow:1;height:1px;overflow:auto;position:relative;margin:10px 0}.v-icon-setter__list .x-icon{width:50px;height:50px;margin:5px;font-size:20px;border:1px dashed var(--el-border-color);border-radius:4px;text-align:center;line-height:48px}.v-icon-setter__list .x-icon:hover{border:1px solid #409eff;cursor:pointer}.v-icon-setter__list .x-icon.is-active{background-color:#409eff;color:#fff;border:none}.v-icon-setter__list .x-icon+.x-icon{margin-left:0}.v-icon-setter__content{height:100%;display:flex;flex-direction:column}.v-json-setter.is-active .el-input__suffix{color:var(--el-color-primary)}.v-number-setter{width:100%!important}.v-function-setter.is-active .el-input__suffix{color:var(--el-color-primary)}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@vtj/designer",
3
+ "private": false,
4
+ "version": "0.7.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "build": "vue-tsc && vite build",
8
+ "test": "vitest run",
9
+ "vitest": "vitest",
10
+ "coverage": "vitest run --coverage"
11
+ },
12
+ "dependencies": {
13
+ "@vtj/core": "^0.7.0",
14
+ "@vtj/icons": "^0.7.0",
15
+ "@vtj/renderer": "^0.7.0",
16
+ "@vtj/ui": "^0.7.0",
17
+ "@vtj/utils": "^0.7.0",
18
+ "monaco-editor": "~0.45.0"
19
+ },
20
+ "devDependencies": {
21
+ "@vtj/cli": "^0.7.0",
22
+ "vue": "~3.4.14",
23
+ "vue-router": "~4.2.5"
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "types"
28
+ ],
29
+ "main": "dist/index.cjs",
30
+ "module": "dist/index.mjs",
31
+ "types": "types/index.d.ts",
32
+ "exports": {
33
+ "./dist/style.css": "./dist/style.css",
34
+ ".": {
35
+ "types": "./types/index.d.ts",
36
+ "import": "./dist/index.mjs",
37
+ "require": "./dist/index.cjs"
38
+ }
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "gitHead": "b65d1b19322cbd0721173d094db1b5ece018d980"
44
+ }
@@ -0,0 +1,20 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { type Context } from '@vtj/renderer';
3
+ import { BlockModel, type NodeEvent } from '@vtj/core';
4
+ export interface Props {
5
+ context: Context | null;
6
+ current: BlockModel | null;
7
+ name: string;
8
+ event?: NodeEvent;
9
+ }
10
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
11
+ export default _default;
12
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
13
+ type __VLS_TypePropsToRuntimeProps<T> = {
14
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
15
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
16
+ } : {
17
+ type: PropType<T[K]>;
18
+ required: true;
19
+ };
20
+ };
@@ -0,0 +1,3 @@
1
+ import VariableBinder from "./variable";
2
+ import EventBinder from "./event";
3
+ export { VariableBinder, EventBinder };
@@ -0,0 +1,19 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { type Context } from '@vtj/renderer';
3
+ import { BlockModel } from '@vtj/core';
4
+ export interface Props {
5
+ context: Context | null;
6
+ current: BlockModel | null;
7
+ value?: string;
8
+ }
9
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToRuntimeProps<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +1,65 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { editor as monacoEditor } from 'monaco-editor';
3
+ export interface Props {
4
+ lang?: string;
5
+ modelValue?: string;
6
+ options?: monacoEditor.IEditorConstructionOptions;
7
+ height?: string;
8
+ readonly?: boolean;
9
+ dark?: boolean;
10
+ border?: boolean;
11
+ minimap?: boolean;
12
+ }
13
+ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
14
+ height: string;
15
+ lang: string;
16
+ modelValue: string;
17
+ readonly: boolean;
18
+ dark: boolean;
19
+ minimap: boolean;
20
+ options: () => {};
21
+ }>, {
22
+ getEditor: () => monacoEditor.IStandaloneCodeEditor | null;
23
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
24
+ change: (...args: any[]) => void;
25
+ blur: (...args: any[]) => void;
26
+ "update:modelValue": (...args: any[]) => void;
27
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
28
+ height: string;
29
+ lang: string;
30
+ modelValue: string;
31
+ readonly: boolean;
32
+ dark: boolean;
33
+ minimap: boolean;
34
+ options: () => {};
35
+ }>>> & {
36
+ onChange?: ((...args: any[]) => any) | undefined;
37
+ onBlur?: ((...args: any[]) => any) | undefined;
38
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
39
+ }, {
40
+ height: string;
41
+ lang: string;
42
+ modelValue: string;
43
+ options: monacoEditor.IEditorConstructionOptions;
44
+ readonly: boolean;
45
+ dark: boolean;
46
+ minimap: boolean;
47
+ }, {}>;
48
+ export default _default;
49
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
50
+ type __VLS_TypePropsToRuntimeProps<T> = {
51
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
52
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
53
+ } : {
54
+ type: PropType<T[K]>;
55
+ required: true;
56
+ };
57
+ };
58
+ type __VLS_WithDefaults<P, D> = {
59
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
60
+ default: D[K];
61
+ }> : P[K];
62
+ };
63
+ type __VLS_Prettify<T> = {
64
+ [K in keyof T]: T[K];
65
+ } & {};
@@ -0,0 +1,86 @@
1
+ import { editor } from 'monaco-editor';
2
+ import { DefineComponent, PropType, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
3
+ declare const _default: DefineComponent<{
4
+ height: {
5
+ type: PropType<string>;
6
+ default: string;
7
+ };
8
+ lang: {
9
+ type: PropType<string>;
10
+ default: string;
11
+ };
12
+ modelValue: {
13
+ type: PropType<string>;
14
+ default: string;
15
+ };
16
+ options: {
17
+ type: PropType<editor.IEditorConstructionOptions>;
18
+ default: () => {};
19
+ };
20
+ readonly: {
21
+ type: PropType<boolean>;
22
+ default: boolean;
23
+ };
24
+ dark: {
25
+ type: PropType<boolean>;
26
+ default: boolean;
27
+ };
28
+ border: {
29
+ type: PropType<boolean>;
30
+ };
31
+ minimap: {
32
+ type: PropType<boolean>;
33
+ default: boolean;
34
+ };
35
+ }, {
36
+ getEditor: () => editor.IStandaloneCodeEditor | null;
37
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
38
+ change: (...args: any[]) => void;
39
+ blur: (...args: any[]) => void;
40
+ "update:modelValue": (...args: any[]) => void;
41
+ }, string, PublicProps, Readonly<ExtractPropTypes<{
42
+ height: {
43
+ type: PropType<string>;
44
+ default: string;
45
+ };
46
+ lang: {
47
+ type: PropType<string>;
48
+ default: string;
49
+ };
50
+ modelValue: {
51
+ type: PropType<string>;
52
+ default: string;
53
+ };
54
+ options: {
55
+ type: PropType<editor.IEditorConstructionOptions>;
56
+ default: () => {};
57
+ };
58
+ readonly: {
59
+ type: PropType<boolean>;
60
+ default: boolean;
61
+ };
62
+ dark: {
63
+ type: PropType<boolean>;
64
+ default: boolean;
65
+ };
66
+ border: {
67
+ type: PropType<boolean>;
68
+ };
69
+ minimap: {
70
+ type: PropType<boolean>;
71
+ default: boolean;
72
+ };
73
+ }>> & {
74
+ onChange?: ((...args: any[]) => any) | undefined;
75
+ onBlur?: ((...args: any[]) => any) | undefined;
76
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
77
+ }, {
78
+ height: string;
79
+ lang: string;
80
+ modelValue: string;
81
+ options: editor.IEditorConstructionOptions;
82
+ readonly: boolean;
83
+ dark: boolean;
84
+ minimap: boolean;
85
+ }, {}>;
86
+ export default _default;
@@ -0,0 +1,15 @@
1
+ export * from './useDeps';
2
+ export * from './useRegion';
3
+ export * from './useColSpan';
4
+ export * from './useBlocks';
5
+ export * from './useAssets';
6
+ export * from './useCurrent';
7
+ export * from './useDesigner';
8
+ export * from './useSelected';
9
+ export * from './useBinder';
10
+ export * from './useNodeProps';
11
+ export * from './useHistory';
12
+ export * from './useProject';
13
+ export * from './useNodeEvents';
14
+ export * from './useDirectives';
15
+ export * from './useDataSources';
@@ -0,0 +1,19 @@
1
+ import { Ref, ComputedRef } from 'vue';
2
+ import { MaterialDescription } from '@vtj/core';
3
+ import { type AssetGroup } from '../../framework';
4
+ export declare function useAssets(): {
5
+ components: MaterialDescription[];
6
+ groups: Ref<AssetGroup[]>;
7
+ componentMap: Map<string, MaterialDescription>;
8
+ groupMap: ComputedRef<Record<string, AssetGroup>>;
9
+ tabs: ComputedRef<{
10
+ label: string;
11
+ name: string;
12
+ disabled: boolean;
13
+ }[]>;
14
+ model: Record<string, any>;
15
+ currentTab: Ref<string>;
16
+ currentGroup: ComputedRef<AssetGroup>;
17
+ searchKey: Ref<string>;
18
+ searchResult: ComputedRef<MaterialDescription[]>;
19
+ };
@@ -0,0 +1,12 @@
1
+ import { Ref, ComputedRef, type MaybeRef } from 'vue';
2
+ import { BlockModel } from '@vtj/core';
3
+ import { type Context } from '@vtj/renderer';
4
+ export interface BinderOption {
5
+ title: string;
6
+ items: string[];
7
+ }
8
+ export declare function useBinder(currentRef: MaybeRef<BlockModel | null>, contextRef: MaybeRef<Context | null>): {
9
+ keyword: Ref<string>;
10
+ options: ComputedRef<BinderOption[]>;
11
+ searchResult: ComputedRef<BinderOption[]>;
12
+ };
@@ -0,0 +1,7 @@
1
+ import { BlockFile } from '@vtj/core';
2
+ import { Engine } from '../../framework';
3
+ import { ShallowReactive, ComputedRef } from 'vue';
4
+ export declare function useBlocks(): {
5
+ engine: ShallowReactive<Engine>;
6
+ blocks: ComputedRef<BlockFile[]>;
7
+ };
@@ -0,0 +1,6 @@
1
+ import { Engine } from '../../framework';
2
+ import { ComputedRef, ShallowReactive } from 'vue';
3
+ export declare function useColSpan(): {
4
+ span: ComputedRef<number>;
5
+ engine: ShallowReactive<Engine>;
6
+ };
@@ -0,0 +1,10 @@
1
+ import { Context } from '@vtj/renderer';
2
+ import { BlockModel } from '@vtj/core';
3
+ import { Engine } from '../../framework';
4
+ import { ShallowReactive, ComputedRef } from 'vue';
5
+ export declare function useCurrent(): {
6
+ engine: ShallowReactive<Engine>;
7
+ current: ComputedRef<BlockModel | null>;
8
+ isEmpty: ComputedRef<boolean>;
9
+ context: ComputedRef<Context | null>;
10
+ };
@@ -0,0 +1,8 @@
1
+ import { ProjectModel, ApiSchema } from '@vtj/core';
2
+ import { Engine } from '../..';
3
+ import { ShallowReactive, ComputedRef } from 'vue';
4
+ export declare function useDataSources(): {
5
+ engine: ShallowReactive<Engine>;
6
+ project: ComputedRef<ProjectModel | null>;
7
+ apis: ComputedRef<ApiSchema[]>;
8
+ };
@@ -0,0 +1,7 @@
1
+ import { Dependencie } from '@vtj/core';
2
+ import { Engine } from '../../framework';
3
+ import { ShallowReactive, ComputedRef } from 'vue';
4
+ export declare function useDeps(): {
5
+ engine: ShallowReactive<Engine>;
6
+ dependencies: ComputedRef<Dependencie[]>;
7
+ };
@@ -0,0 +1,33 @@
1
+ import { Designer, VtjElement } from '../../framework';
2
+ import { ComputedRef, type Ref } from 'vue';
3
+ import { NodeModel, BlockModel, DropPosition, type Dependencie } from '@vtj/core';
4
+ export declare function useDesigner(iframe: Ref<HTMLIFrameElement | undefined>, dependencies: Ref<Dependencie[]>): {
5
+ designer: ComputedRef<Designer | null>;
6
+ dropping: ComputedRef<{
7
+ style: Record<string, any>;
8
+ position: string;
9
+ model: NodeModel | BlockModel;
10
+ el: VtjElement;
11
+ rect: DOMRect;
12
+ type?: DropPosition | undefined;
13
+ path?: (NodeModel | BlockModel)[] | undefined;
14
+ } | null>;
15
+ hover: ComputedRef<{
16
+ style: Record<string, any>;
17
+ position: string;
18
+ model: NodeModel | BlockModel;
19
+ el: VtjElement;
20
+ rect: DOMRect;
21
+ type?: DropPosition | undefined;
22
+ path?: (NodeModel | BlockModel)[] | undefined;
23
+ } | null>;
24
+ selected: ComputedRef<{
25
+ style: Record<string, any>;
26
+ position: string;
27
+ model: NodeModel | BlockModel;
28
+ el: VtjElement;
29
+ rect: DOMRect;
30
+ type?: DropPosition | undefined;
31
+ path?: (NodeModel | BlockModel)[] | undefined;
32
+ } | null>;
33
+ };
@@ -0,0 +1,17 @@
1
+ import { ShallowReactive, type ComputedRef } from 'vue';
2
+ import { NodeModel, DirectiveModel, type JSExpression, type NodeDirectiveIterator } from '@vtj/core';
3
+ import { Engine, type DesignHelper } from '../../framework';
4
+ export declare const createEmptyDirective: (name: string, iterator?: NodeDirectiveIterator) => DirectiveModel;
5
+ export declare const createModelDirective: (prop?: string) => DirectiveModel;
6
+ export declare function useDirectives(selected: ComputedRef<DesignHelper | null | undefined>): {
7
+ engine: ShallowReactive<Engine>;
8
+ node: ComputedRef<NodeModel | null>;
9
+ vIf: ComputedRef<DirectiveModel>;
10
+ vShow: ComputedRef<DirectiveModel>;
11
+ vBind: ComputedRef<DirectiveModel>;
12
+ vFor: ComputedRef<DirectiveModel>;
13
+ vModels: ComputedRef<DirectiveModel[]>;
14
+ onValueChange: (name: "vShow" | "vIf" | "vBind" | "vFor", value: JSExpression) => void;
15
+ onForChange: (name: string, value: any) => void;
16
+ onModelChange: (index: string, value: any) => void;
17
+ };
@@ -0,0 +1,13 @@
1
+ import { HistoryModel } from '@vtj/core';
2
+ import { Engine } from '../../framework';
3
+ import { ShallowReactive, ComputedRef } from 'vue';
4
+ export declare function useHistory(): {
5
+ engine: ShallowReactive<Engine>;
6
+ history: ComputedRef<HistoryModel | null>;
7
+ total: ComputedRef<number>;
8
+ forward: () => void;
9
+ backward: () => void;
10
+ load: (id: string) => void;
11
+ forwardDisabled: ComputedRef<boolean>;
12
+ backwardDisabled: ComputedRef<boolean>;
13
+ };
@@ -0,0 +1,17 @@
1
+ import { type ComputedRef } from 'vue';
2
+ import { type NodeEvent } from '@vtj/core';
3
+ import { type DesignHelper } from '../../framework';
4
+ export declare function useNodeEvents(selected: ComputedRef<DesignHelper | null | undefined>): {
5
+ mouseEventList: ComputedRef<{
6
+ name: string;
7
+ event: NodeEvent;
8
+ }[]>;
9
+ keyboardEventList: ComputedRef<{
10
+ name: string;
11
+ event: NodeEvent;
12
+ }[]>;
13
+ componentEventList: ComputedRef<{
14
+ name: string;
15
+ event: NodeEvent;
16
+ }[]>;
17
+ };
@@ -0,0 +1,13 @@
1
+ import { type ComputedRef } from 'vue';
2
+ import { NodeModel, type MaterialSetter, type MaterialProp } from '@vtj/core';
3
+ import { type DesignHelper } from '../../framework';
4
+ export declare function useNodeProps(selected: ComputedRef<DesignHelper | null | undefined>): {
5
+ commonProps: ComputedRef<MaterialSetter[]>;
6
+ componentProps: ComputedRef<MaterialProp[]>;
7
+ customProps: ComputedRef<MaterialProp[]>;
8
+ node: ComputedRef<NodeModel | null>;
9
+ change: (name: string, value: any) => void;
10
+ addCustom: (name: string) => void;
11
+ removeCustom: (name: string) => void;
12
+ isExist: (name: string) => boolean;
13
+ };
@@ -0,0 +1,7 @@
1
+ import { ProjectModel } from '@vtj/core';
2
+ import { Engine } from '../../framework';
3
+ import { ShallowReactive, ComputedRef } from 'vue';
4
+ export declare function useProject(): {
5
+ engine: ShallowReactive<Engine>;
6
+ project: ComputedRef<ProjectModel | null>;
7
+ };
@@ -0,0 +1,6 @@
1
+ import { ComputedRef, Ref, type MaybeRef } from 'vue';
2
+ import { Widget, RegionType } from '../../framework';
3
+ export declare function useRegion(region: MaybeRef<RegionType>, group?: MaybeRef<string>): {
4
+ widgets: ComputedRef<Widget[]>;
5
+ widgetsRef: Ref<any>;
6
+ };
@@ -0,0 +1,8 @@
1
+ import { ShallowReactive, ComputedRef } from 'vue';
2
+ import { Engine, DesignHelper, Designer } from '../../framework';
3
+ export declare function useSelected(): {
4
+ engine: ShallowReactive<Engine>;
5
+ designer: ComputedRef<Designer | null>;
6
+ selected: ComputedRef<DesignHelper | null | undefined>;
7
+ isSelectBlock: ComputedRef<boolean>;
8
+ };
@@ -0,0 +1,9 @@
1
+ import Skeleton from "./skeleton";
2
+ import SetterView from "./setter";
3
+ import Editor from './editor';
4
+ import { widgets } from './widgets';
5
+ import { regions } from './regions';
6
+ import { setters } from './setters';
7
+ export * from './shared';
8
+ export * from './binders';
9
+ export { Skeleton, SetterView, widgets, regions, setters, Editor };
@@ -0,0 +1,19 @@
1
+ import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { Widget, RegionType } from '../../framework';
3
+ export interface Props {
4
+ region: RegionType;
5
+ }
6
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {
7
+ widgets: ComputedRef<Widget[]>;
8
+ widgetsRef: Ref<any>;
9
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToRuntimeProps<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +1,35 @@
1
+ import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { Widget, RegionType } from '../../framework';
3
+ export interface Props {
4
+ region: RegionType;
5
+ index?: number;
6
+ }
7
+ declare const _default: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
8
+ index: number;
9
+ }>, {
10
+ widgets: ComputedRef<Widget[]>;
11
+ widgetsRef: Ref<any>;
12
+ setActive: (name: string) => void;
13
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
14
+ index: number;
15
+ }>>>, {
16
+ index: number;
17
+ }, {}>;
18
+ export default _default;
19
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
20
+ type __VLS_TypePropsToRuntimeProps<T> = {
21
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
22
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
23
+ } : {
24
+ type: PropType<T[K]>;
25
+ required: true;
26
+ };
27
+ };
28
+ type __VLS_WithDefaults<P, D> = {
29
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
30
+ default: D[K];
31
+ }> : P[K];
32
+ };
33
+ type __VLS_Prettify<T> = {
34
+ [K in keyof T]: T[K];
35
+ } & {};
@@ -0,0 +1,19 @@
1
+ import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ import { Widget, RegionType } from '../../framework';
3
+ export interface Props {
4
+ region: RegionType;
5
+ }
6
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {
7
+ widgets: ComputedRef<Widget[]>;
8
+ widgetsRef: Ref<any>;
9
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToRuntimeProps<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +1,15 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
2
+ export interface Props {
3
+ region: string;
4
+ }
5
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
6
+ export default _default;
7
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
8
+ type __VLS_TypePropsToRuntimeProps<T> = {
9
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
10
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
11
+ } : {
12
+ type: PropType<T[K]>;
13
+ required: true;
14
+ };
15
+ };