@thestarweb/ui 1.4.0 → 1.5.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 (66) hide show
  1. package/build-ts/main.js +26 -4
  2. package/dist/star-ui.common.js +24800 -2754
  3. package/dist/star-ui.common.js.map +1 -1
  4. package/dist/star-ui.umd.js +24800 -2754
  5. package/dist/star-ui.umd.js.map +1 -1
  6. package/dist/star-ui.umd.min.js +280 -3
  7. package/dist/star-ui.umd.min.js.map +1 -1
  8. package/package.json +3 -2
  9. package/readme.md +2 -2
  10. package/src/components/button.vue +3 -3
  11. package/src/components/calendar.vue +193 -47
  12. package/src/components/call-render.tsx +22 -0
  13. package/src/components/card.vue +4 -4
  14. package/src/components/content/index.ts +1 -0
  15. package/src/components/content/page.vue +117 -0
  16. package/src/components/input.vue +5 -5
  17. package/src/components/layout-h.vue +3 -4
  18. package/src/components/layout-main.vue +3 -2
  19. package/src/components/layout-v.vue +3 -2
  20. package/src/components/line-h.vue +9 -8
  21. package/src/components/line-v.vue +9 -8
  22. package/src/components/menu/index.ts +1 -0
  23. package/src/components/menu/index.vue +83 -0
  24. package/src/components/menu/menu-h/index.vue +66 -0
  25. package/src/components/menu/menu-h/menu-h-child.vue +74 -0
  26. package/src/components/menu/menu-h/menu-h-item.vue +65 -0
  27. package/src/components/menu/menu-v/index.vue +56 -0
  28. package/src/components/select.vue +3 -3
  29. package/src/components/slider.vue +33 -8
  30. package/src/components/switch.vue +43 -43
  31. package/src/components/table.vue +3 -3
  32. package/src/components/tree/index.vue +3 -3
  33. package/src/components/tree/tree-item.vue +5 -4
  34. package/src/components/view-control.vue +3 -4
  35. package/src/directives/is-focus.ts +10 -0
  36. package/src/global-style.css +3 -0
  37. package/src/icon-font/iconfont.css +17 -7
  38. package/src/icon-font/iconfont.json +22 -1
  39. package/src/icon-font/iconfont.ttf +0 -0
  40. package/src/icon-font/iconfont.woff +0 -0
  41. package/src/icon-font/iconfont.woff2 +0 -0
  42. package/src/main.ts +36 -25
  43. package/src/reg.ts +26 -6
  44. package/src/types.d.ts +6 -0
  45. package/src/utils.ts +1 -1
  46. package/types/components/button.vue.d.ts +1 -1
  47. package/types/components/calendar.vue.d.ts +20 -4
  48. package/types/components/call-render.d.ts +6 -0
  49. package/types/components/content/index.d.ts +1 -0
  50. package/types/components/content/page.vue.d.ts +10 -0
  51. package/types/components/layout-h.vue.d.ts +1 -1
  52. package/types/components/layout-main.vue.d.ts +1 -1
  53. package/types/components/layout-v.vue.d.ts +1 -1
  54. package/types/components/line-h.vue.d.ts +1 -1
  55. package/types/components/line-v.vue.d.ts +1 -1
  56. package/types/components/menu/index.d.ts +1 -0
  57. package/types/components/menu/index.vue.d.ts +12 -0
  58. package/types/components/menu/menu-h/index.vue.d.ts +8 -0
  59. package/types/components/menu/menu-h/menu-h-child.vue.d.ts +7 -0
  60. package/types/components/menu/menu-h/menu-h-item.vue.d.ts +8 -0
  61. package/types/components/menu/menu-v/index.vue.d.ts +9 -0
  62. package/types/components/slider.vue.d.ts +2 -0
  63. package/types/directives/is-focus.d.ts +4 -0
  64. package/types/main.d.ts +68 -6
  65. package/types/reg.d.ts +18 -5
  66. package/dist/img/iconfont.ff1d7f50.svg +0 -62
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@thestarweb/ui",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "A UI lib",
5
5
  "scripts": {
6
6
  "build": "vue-cli-service build --target lib --name star-ui --dest dist/ src/main.ts",
7
- "tsc": "node ./build-ts/main.js&&tsc ./out/main.ts -declaration -declarationDir ./types -lib DOM,ES2020,DOM.Iterable,ScriptHost --target ES5 --experimentalDecorators"
7
+ "tsc": "node ./build-ts/main.js&&tsc --p ./tsdconfig.json"
8
8
  },
9
9
  "author": "star_ss",
10
10
  "bugs": {
@@ -32,6 +32,7 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "core-js": "^3.15.2",
35
+ "moment": "^2.29.1",
35
36
  "vue-class-component": "^8.0.0-0"
36
37
  },
37
38
  "peerDependencies": {
package/readme.md CHANGED
@@ -8,8 +8,8 @@ npm i @thestarweb/ui
8
8
  ```
9
9
 
10
10
  ```typescript
11
- import { createApp } from 'vue'
12
- import App from './App.vue'
11
+ import { createApp } from "vue"
12
+ import App from "./App.vue"
13
13
  import StarUi from "@thestarweb/ui";
14
14
 
15
15
  createApp(App).use(StarUi).mount('#app');
@@ -5,12 +5,12 @@
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
- import { Options, Vue } from 'vue-class-component';
9
- import { Prop } from "../reg";
8
+ import { Vue } from "vue-class-component";
9
+ import { Register, Prop } from "@ui-root/reg";
10
10
 
11
11
  import "../global-style.css";
12
12
 
13
- @Options({
13
+ @Register({
14
14
  name:"su-button"
15
15
  })
16
16
  export default class SuButton extends Vue {
@@ -1,89 +1,190 @@
1
1
  <template>
2
- <table class="star-ui-calendar" cellspacing="0" cellpadding="0">
3
- <tr class="su-calendar--inner-head">
4
- <th class="" v-for="(name,index) in displayHead" :key="index">{{name}}</th>
5
- </tr>
6
- <tr v-for="(row,index) in displayData" :key="index">
7
- <td v-for="(day,index) in row" :key="index" class="su-calendar--inner-cell">{{day}}</td>
8
- </tr>
9
- </table>
2
+ <div class="star-ui star-ui-calendar">
3
+ <div class="star-ui-calendar--ctrl" :style="{opacity: showSelYear||showSelMonth?0:1}">
4
+ <div @click="dYear--">&lt;&lt;</div>
5
+ <div @click="dMonth--">&lt;</div>
6
+ <div class="star-ui-calendar--display-month">
7
+ <span @click="showSelYear=true">{{displayMonthDate.format("YYYY")}}</span>
8
+ -
9
+ <span @click="showSelMonth=true">{{displayMonthDate.format("MM")}}</span>
10
+ </div>
11
+ <div @click="dMonth++">&gt;</div>
12
+ <div @click="dYear++">&gt;&gt;</div>
13
+ </div>
14
+ <table cellspacing="0" cellpadding="0" :style="{opacity: showSelYear||showSelMonth?0:1}">
15
+ <tr class="su-calendar--inner-head">
16
+ <th :class="`su-calendar--${item.week}`" v-for="(item,index) in displayHead" :key="index">{{item.display}}</th>
17
+ </tr>
18
+ <tr v-for="(row,index) in displayData" :key="index">
19
+ <td v-for="(day,index) in row" :key="index" :class="['su-calendar--inner-cell',`su-calendar--${day.week}`,{'su-calendar--previous':day.isPrevious,'su-calendar--next':day.isNext}]" @clcik="dateClick(day)">
20
+
21
+ <slot v-if="$slots['default']" v-bind="day" />
22
+ <vnodes v-else-if="renderCell" :func="renderCell" :args="[day]" />
23
+ <template v-else>{{day.display}}</template>
24
+ </td>
25
+ </tr>
26
+ </table>
27
+ <div v-if="showSelYear" class="star-ui-calendar--select">
28
+ <div class="star-ui-calendar--select-ctrl">
29
+ <div @click="dShowSelYear--">&lt;&lt;</div>
30
+ <div></div>
31
+ <div @click="dShowSelYear++">&gt;&gt;</div>
32
+ </div>
33
+ <div class="star-ui-calendar--select-body">
34
+ <div v-for="i in 12" :key="i" :class="{'now-sel':i==6&&dShowSelYear==0}" @click="dYear+=i-6+dShowSelYear*12;showSelYear=false;dShowSelYear=0;">
35
+ {{displayMonthDate.year()+i-6+dShowSelYear*12}}
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div v-if="showSelMonth" class="star-ui-calendar--select">
40
+ <!-- <div class="star-ui-calendar--select-ctrl">
41
+ <div @click="dShowSelYear--">&lt;&lt;</div>
42
+ <div></div>
43
+ <div @click="dShowSelYear++">&gt;&gt;</div>
44
+ </div> -->
45
+ <div class="star-ui-calendar--select-body">
46
+ <div v-for="i in 12" :key="i" :class="{'now-sel':i==6&&dShowSelYear==0}" @click="showSelMonth=false;dShowSelYear=0;">
47
+ {{i}}
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
10
52
  </template>
11
53
 
12
54
  <script lang="ts">
13
- import { Options, Vue } from 'vue-class-component';
14
- import { Prop } from "../reg";
55
+ import { Vue } from "vue-class-component";
56
+ import { Register, Prop, Emit } from "@ui-root/reg";
57
+ import moment from "moment";
58
+ import CallRender from "./call-render";
59
+
15
60
 
16
61
  import "../global-style.css";
17
62
 
18
- @Options({
19
- name:"su-calendar"
63
+ const weekNames = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
64
+ interface DateBaseInfo{
65
+ display:number;
66
+ isPrevious:boolean;
67
+ isNext:boolean;
68
+ week:string;
69
+ date:moment.Moment;
70
+ }
71
+
72
+ @Register({
73
+ name:"su-calendar",
74
+ components:{
75
+ vnodes: CallRender,
76
+ }
20
77
  })
21
78
  export default class SuCalendar extends Vue {
22
79
  @Prop({
23
- type:Date,
80
+ type:[Date,String],
24
81
  default:()=>{
25
82
  return new Date();
26
83
  }
27
84
  })
28
- public readonly displayMonth!:Date;
29
- private get displayMonthStartDate():Date{
30
- let date=new Date(this.displayMonth);
31
- date.setMonth(-1);
32
- date.setDate(1);
85
+ public readonly displayMonth!:Date|string;
86
+ private dYear=0;
87
+ private dMonth=0;
88
+ private get displayMonthDate():moment.Moment{
89
+ let date=moment(this.displayMonth);
90
+ date.date(1);
91
+ date.add(this.dYear,"y").add(this.dMonth,"M");
33
92
  return date;
34
93
  }
35
94
  @Prop({
36
95
  type:Array,
37
96
  default:()=>{
38
- return ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
97
+ return weekNames;
39
98
  }
40
99
  })
41
100
  public readonly weekName!:string[];
42
101
 
43
- private get displayHead():string[]{
44
- return this.weekName;
45
- }
46
- private getMonthDate(month:number,year:number):number{
47
- if(month==2){
48
- if((year%100!=0&&year%4==0)||year%400==0) return 29;
49
- else return 28;
102
+ @Prop({
103
+ type:Number,
104
+ default:0,
105
+ validator: (input:number): boolean=>{
106
+ return input>=0&&input<7
50
107
  }
51
- //if([1,3,5,7,8,10,12].)
52
- let parity=month&1;
53
- if(month<8?parity==1:parity==0) return 31;
54
- return 30;
108
+ })
109
+ public weekOffect!:number;
110
+
111
+ private get displayHead():{
112
+ display:string;
113
+ week:string;
114
+ }[]{
115
+ const mList=this.weekName.map((item,index)=>({
116
+ display: item,
117
+ week:weekNames[index],
118
+ }))
119
+ return [
120
+ ...mList.slice(this.weekOffect),
121
+ ...mList.slice(0,this.weekOffect),
122
+ ];
55
123
  }
56
- private get displayData():number[][]{
57
- let res:number[][]=[[]];
124
+ private get displayData():DateBaseInfo[][]{
125
+ let res:DateBaseInfo[][]=[[]];
58
126
  let now=res[0];
59
- let month=this.displayMonthStartDate.getMonth();
60
- let year=this.displayMonthStartDate.getFullYear()
61
- let lastMonthDay=this.displayMonthStartDate.getDay();
62
- //计算上个月开始的位置
63
- let lastMonthStart=this.getMonthDate(month==1?12:month-1,year)-lastMonthDay;
64
- for(let i=0;i<lastMonthDay;i++){
65
- now.push(lastMonthStart+i);
66
- }
67
- const nowMonthDay=this.getMonthDate(month,year);
68
- for(let i=1;i<=nowMonthDay;i++){
127
+
128
+ const nowDay = moment(this.displayMonthDate);
129
+ nowDay.set('date',1);
130
+ let reqPreviousDays=nowDay.day()-this.weekOffect;
131
+ if(reqPreviousDays<0) reqPreviousDays+=7;
132
+ nowDay.add(-reqPreviousDays,'days');
133
+ let isNotNext=true;
134
+ while(isNotNext||now.length<7){
69
135
  if(now.length==7){
70
136
  now=[];
71
137
  res.push(now);
72
138
  }
73
- now.push(i);
74
- }
75
- let j=1;
76
- while(now.length<7){
77
- now.push(j++);
139
+ now.push({
140
+ display:nowDay.date(),
141
+ isPrevious:isNotNext&&this.displayMonthDate.month()!=nowDay.month(),
142
+ isNext:!isNotNext,
143
+ week:weekNames[nowDay.day()],
144
+ date:moment(nowDay),
145
+ });
146
+ nowDay.add(1,'days');
147
+ isNotNext=this.displayMonthDate.year()>=nowDay.year()&&this.displayMonthDate.month()>=nowDay.month();
78
148
  }
79
149
  return res;
80
150
  }
151
+ @Prop({
152
+ type:Function,
153
+ default:undefined
154
+ })
155
+ public readonly renderCell!:(arg:DateBaseInfo)=>unknown;
156
+
157
+ private showSelYear=false;
158
+ private dShowSelYear=0;
159
+ private showSelMonth=false;
160
+
161
+ @Emit()
162
+ private dateClick(data:DateBaseInfo):DateBaseInfo{
163
+ return data;
164
+ }
81
165
  }
82
166
  </script>
83
167
 
84
168
  <style>
85
169
  .star-ui-calendar{
86
170
  text-align: center;
171
+ display: inline-block;
172
+ border: 1px solid #e8eaec;
173
+ }
174
+ .star-ui-calendar--ctrl{
175
+ display: flex;
176
+ flex-direction: row;
177
+ }
178
+ .star-ui-calendar--ctrl>*{
179
+ padding: 5px;
180
+ cursor: pointer;
181
+ }
182
+ .star-ui-calendar--display-month{
183
+ flex: 1 0 auto;
184
+ cursor: default;
185
+ }
186
+ .star-ui-calendar--display-month>span{
187
+ cursor: pointer;
87
188
  }
88
189
  .star-ui-calendar th,.star-ui-calendar td{
89
190
  padding: 5px 0;
@@ -95,4 +196,49 @@ export default class SuCalendar extends Vue {
95
196
  border: 1px solid #e8eaec;
96
197
  width: 42px
97
198
  }
199
+ .su-calendar--inner-cell.su-calendar--Sat,.su-calendar--inner-cell.su-calendar--Sun{
200
+ color: #f00;
201
+ }
202
+ .su-calendar--inner-cell.su-calendar--previous,.su-calendar--inner-cell.su-calendar--next{
203
+ opacity: 0.5;
204
+ }
205
+
206
+ .star-ui-calendar--select{
207
+ position: absolute;
208
+ top:0;
209
+ left: 0;
210
+ width: 100%;
211
+ height: 100%;
212
+ display: flex;
213
+ flex-direction: column;
214
+ background-color: inherit;
215
+ }
216
+ .star-ui-calendar--select-body{
217
+ flex-grow: 1;
218
+ display: grid;
219
+ grid-template-rows: repeat(3, 1fr);
220
+ grid-template-columns: repeat(4, 1fr);
221
+ align-items: center;
222
+ }
223
+ .star-ui-calendar--select-body>*{
224
+ cursor: pointer;
225
+ }
226
+ .star-ui-calendar--select-body>*:hover{
227
+ color: var(--star-ui-base-color);
228
+ }
229
+ .star-ui-calendar--select-ctrl{
230
+ display: flex;
231
+ flex-direction: row;
232
+ justify-content:space-between;
233
+ height: 20%;
234
+ align-items: center;
235
+ }
236
+ .star-ui-calendar--select-ctrl>*{
237
+ padding: 0 15px;
238
+ cursor: pointer;
239
+ }
240
+ .star-ui-calendar .now-sel{
241
+ color: var(--star-ui-base-color);
242
+ font-weight: bold;
243
+ }
98
244
  </style>
@@ -0,0 +1,22 @@
1
+ import { Vue } from 'vue-class-component';
2
+ import { Prop, Register } from "../reg";
3
+
4
+ @Register({
5
+ name:'call-render',
6
+ internalOnly: true,
7
+ })
8
+ export default class CallRender extends Vue {
9
+ @Prop({
10
+ type:Function,
11
+ })
12
+ // eslint-disable-next-line
13
+ func!:(...arg:any[])=>any;
14
+ @Prop({
15
+ type:Array,
16
+ })
17
+ // eslint-disable-next-line
18
+ args!:any[];
19
+ render(){
20
+ return this.func(...this.args);
21
+ }
22
+ }
@@ -13,15 +13,15 @@
13
13
  </template>
14
14
 
15
15
  <script lang="ts">
16
- import { Options, Vue } from 'vue-class-component';
17
- import { Prop } from "../reg";
16
+ import { Vue } from 'vue-class-component';
17
+ import { Prop, Register } from "@ui-root/reg";
18
18
  import "../global-style.css";
19
19
  import VLayout from "./layout-v.vue";
20
20
  import HLayout from "./layout-h.vue";
21
21
  import SuMain from "./layout-main.vue";
22
22
 
23
23
 
24
- @Options({
24
+ @Register({
25
25
  name:"su-card",
26
26
  components:{
27
27
  VLayout,
@@ -30,7 +30,7 @@ import SuMain from "./layout-main.vue";
30
30
  }
31
31
  })
32
32
  export default class SuCard extends Vue {
33
- $refs!: {
33
+ declare $refs: {
34
34
  body:HTMLDivElement
35
35
  bodyInner:HTMLDivElement
36
36
  };
@@ -0,0 +1 @@
1
+ export { default as SuPage } from "./page.vue";
@@ -0,0 +1,117 @@
1
+ <template>
2
+ <div class="star-ui su-page">
3
+ <header class="su-ui su-page--header">
4
+ <span v-if="suControl.isMobile" class="star-ui-icon-font star-ui-icon-menu su-page--mobile-menu-open" @click="isOpenMenu=true" />
5
+ <h1 v-if="title">{{title}}</h1>
6
+ <img v-if="logo" :src="logo" alt="logo" />
7
+ <slot name="header"></slot>
8
+ <div v-if="!suControl.isMobile" class="su-page--menu-box">
9
+ <su-menu :menu="menu" direction="h"></su-menu>
10
+ </div>
11
+ </header>
12
+ <main class="su-ui su-page--main">
13
+ <slot></slot>
14
+ </main>
15
+ <div v-if="suControl.isMobile" :class="['su-ui', 'su-page--mobile-menu-box', isOpenMenu ? 'su-page--mobile-menu-box-open' : 'su-page--mobile-menu-close']" @click="isOpenMenu=false">
16
+ <su-menu :menu="menu" direction="v" @click.stop></su-menu>
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script lang="ts">
22
+ import { Vue } from "vue-class-component";
23
+ import { Inject } from "vue-property-decorator";
24
+ import { Prop, Register } from "@ui-root/reg";
25
+ import { SuViewControl } from "@ui-root/main";
26
+ import { SuMenu } from "@ui-root/components/menu";
27
+ import { MenuItem } from "@ui-root/types";
28
+ import { ViewCtrlInfo } from "@ui-root/types";
29
+ import "@ui-root/global-style.css";
30
+
31
+ @Register({
32
+ name:"su-page",
33
+ components: {
34
+ SuMenu,
35
+ }
36
+ })
37
+ export default class SuMain extends Vue {
38
+ @Inject({from:SuViewControl.injectSymbol,default:{}}) readonly suControl!: ViewCtrlInfo;
39
+ @Prop({
40
+ type: String,
41
+ default: '',
42
+ })
43
+ private title!:string;
44
+ @Prop({
45
+ type: String,
46
+ default: '',
47
+ })
48
+ private logo!:string;
49
+ @Prop({
50
+ type: Array,
51
+ default: '',
52
+ })
53
+ private menu!:MenuItem[];
54
+ private isOpenMenu = false;
55
+ }
56
+ </script>
57
+
58
+ <style>
59
+ .su-page{
60
+ margin: 0;
61
+ padding: 0;
62
+ width: 100%;
63
+ height: 100%;
64
+ display: flex;
65
+ flex-direction: column;
66
+ }
67
+ .su-page--header{
68
+ display: flex;
69
+ flex-direction: row;
70
+ background: #000;
71
+ color: #e6eaf0;
72
+ align-items: center;
73
+ }
74
+ .su-page--header>h1{
75
+ font-size: 20px;
76
+ line-height: 22px;
77
+ padding: 0 20px;
78
+ }
79
+ .su-page--menu-box{
80
+ flex: 1;
81
+ height: 100%;
82
+ }
83
+ .su-page--menu-box .star-ui-menu-h--chlild-box{
84
+ color: var(--star-ui-font-color);
85
+ }
86
+ .su-page--menu-box .su-menu{
87
+ height: 100%;
88
+ }
89
+ .su-page--mobile-menu-open{
90
+ margin-left: 15px;
91
+ font-size: 20px;
92
+ }
93
+ .su-page--mobile-menu-box{
94
+ position: absolute;
95
+ top: 0;
96
+ left: 0;
97
+ width: 100%;
98
+ height: 100%;
99
+ transition: opacity 0.5s;
100
+ background-color: rgba(128, 128, 128, 0.5);
101
+ }
102
+ .su-page--mobile-menu-close{
103
+ pointer-events: none;
104
+ opacity: 0;
105
+ }
106
+ .su-page--mobile-menu-box .star-ui-menu-v{
107
+ margin-left: 0;
108
+ transition: margin-left 0.5s;
109
+ background-color: var(--star-ui-backgorund-color);
110
+ width: 80%;
111
+ height: 100%;
112
+ border-right: solid 1px var(--star-ui-line-color);
113
+ }
114
+ .su-page--mobile-menu-close .star-ui-menu-v{
115
+ margin-left: -100%;
116
+ }
117
+ </style>
@@ -5,11 +5,11 @@
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
- import { Options, Vue } from 'vue-class-component';
9
- import { Prop, Emit } from "../reg";
8
+ import { Vue } from 'vue-class-component';
9
+ import { Register, Prop, Emit } from "@ui-root/reg";
10
10
  import "../global-style.css";
11
11
 
12
- @Options({
12
+ @Register({
13
13
  name:"su-input"
14
14
  })
15
15
  export default class SuInput extends Vue {
@@ -18,8 +18,8 @@ export default class SuInput extends Vue {
18
18
  default:""
19
19
  })
20
20
  modelValue!:string|number;
21
- $refs!:{
22
- input:HTMLInputElement
21
+ declare $refs:{
22
+ input:HTMLInputElement,
23
23
  };
24
24
  @Prop({
25
25
  type:String,
@@ -5,13 +5,12 @@
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
- import { Options, Vue } from 'vue-class-component';
8
+ import { Vue } from "vue-class-component";
9
+ import { Register } from "@ui-root/reg";
9
10
  import "../global-style.css";
10
11
 
11
- @Options({
12
+ @Register({
12
13
  name:"su-h-layout",
13
- props: {
14
- }
15
14
  })
16
15
  export default class SuHLayout extends Vue {
17
16
  }
@@ -5,10 +5,11 @@
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
- import { Options, Vue } from 'vue-class-component';
8
+ import { Vue } from "vue-class-component";
9
+ import { Register } from "@ui-root/reg";
9
10
  import "../global-style.css";
10
11
 
11
- @Options({
12
+ @Register({
12
13
  name:"su-main",
13
14
  props: {
14
15
  }
@@ -5,10 +5,11 @@
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
- import { Options, Vue } from 'vue-class-component';
8
+ import { Vue } from "vue-class-component";
9
+ import { Register } from "@ui-root/reg";
9
10
  import "../global-style.css";
10
11
 
11
- @Options({
12
+ @Register({
12
13
  name:"su-v-layout",
13
14
  props: {
14
15
  }
@@ -3,10 +3,11 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts">
6
- import { Options, Vue } from 'vue-class-component';
6
+ import { Vue } from "vue-class-component";
7
+ import { Register } from "@ui-root/reg";
7
8
  import "../global-style.css";
8
9
 
9
- @Options({
10
+ @Register({
10
11
  name:"su-h-line",
11
12
  props: {
12
13
  }
@@ -18,11 +19,11 @@ export default class SuHLine extends Vue {
18
19
  <style>
19
20
  .su-h-line{
20
21
  background-color:var(--star-ui-line-color);
21
- width:100%;
22
- height:var(--star-ui-line-width);
23
- min-height:var(--star-ui-line-width);
24
- max-height:var(--star-ui-line-width);
25
- flex:0 0 var(--star-ui-line-width);
26
- padding: 0;
22
+ width:100%;
23
+ height:var(--star-ui-line-width);
24
+ min-height:var(--star-ui-line-width);
25
+ max-height:var(--star-ui-line-width);
26
+ flex:0 0 var(--star-ui-line-width);
27
+ padding: 0;
27
28
  }
28
29
  </style>
@@ -3,10 +3,11 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts">
6
- import { Options, Vue } from 'vue-class-component';
6
+ import { Vue } from "vue-class-component";
7
+ import { Register } from "@ui-root/reg";
7
8
  import "../global-style.css";
8
9
 
9
- @Options({
10
+ @Register({
10
11
  name:"su-v-line",
11
12
  props: {
12
13
  }
@@ -18,11 +19,11 @@ export default class SuVLine extends Vue {
18
19
  <style>
19
20
  .su-v-line{
20
21
  background-color:var(--star-ui-line-color);
21
- /*height:100%;*/
22
- width:var(--star-ui-line-width);
23
- min-width:var(--star-ui-line-width);
24
- max-width:var(--star-ui-line-width);
25
- flex:0 0 var(--star-ui-line-width);
26
- padding: 0;
22
+ /*height:100%;*/
23
+ width:var(--star-ui-line-width);
24
+ min-width:var(--star-ui-line-width);
25
+ max-width:var(--star-ui-line-width);
26
+ flex:0 0 var(--star-ui-line-width);
27
+ padding: 0;
27
28
  }
28
29
  </style>
@@ -0,0 +1 @@
1
+ export {default as SuMenu} from "./index.vue";