neo.mjs 4.2.7 → 4.3.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.
- package/apps/realworld/view/HomeComponent.mjs +3 -6
- package/apps/realworld/view/article/CommentComponent.mjs +3 -6
- package/apps/realworld/view/article/Component.mjs +4 -7
- package/apps/realworld/view/article/CreateCommentComponent.mjs +3 -6
- package/apps/realworld/view/article/CreateComponent.mjs +3 -6
- package/apps/realworld/view/article/PreviewComponent.mjs +2 -5
- package/apps/realworld/view/article/TagListComponent.mjs +2 -5
- package/apps/realworld/view/user/ProfileComponent.mjs +3 -6
- package/apps/realworld/view/user/SettingsComponent.mjs +3 -6
- package/apps/realworld/view/user/SignUpComponent.mjs +2 -5
- package/apps/realworld2/view/article/PreviewComponent.mjs +2 -5
- package/apps/realworld2/view/article/TagListComponent.mjs +2 -5
- package/examples/ConfigurationViewport.mjs +1 -1
- package/examples/button/base/MainContainer.mjs +75 -12
- package/examples/tab/container/MainContainer.mjs +3 -3
- package/examples/todoList/version1/MainComponent.mjs +3 -6
- package/package.json +1 -1
- package/resources/scss/src/button/Base.scss +41 -3
- package/resources/scss/src/tab/Container.scss +1 -3
- package/resources/scss/src/tab/header/Button.scss +6 -1
- package/resources/scss/src/table/header/Button.scss +21 -1
- package/resources/scss/theme-dark/button/Base.scss +7 -1
- package/resources/scss/theme-dark/table/header/Button.scss +11 -9
- package/resources/scss/theme-light/button/Base.scss +7 -1
- package/resources/scss/theme-light/table/header/Button.scss +11 -9
- package/src/button/Base.mjs +151 -43
- package/src/calendar/view/YearComponent.mjs +3 -6
- package/src/calendar/view/month/Component.mjs +3 -6
- package/src/calendar/view/week/Component.mjs +3 -6
- package/src/calendar/view/week/plugin/DragDrop.mjs +6 -9
- package/src/component/Base.mjs +16 -0
- package/src/component/Carousel.mjs +5 -17
- package/src/component/Chip.mjs +2 -7
- package/src/component/Circle.mjs +4 -7
- package/src/component/DateSelector.mjs +5 -8
- package/src/component/Gallery.mjs +4 -7
- package/src/component/Helix.mjs +2 -5
- package/src/component/Splitter.mjs +3 -6
- package/src/component/mwc/Button.mjs +4 -7
- package/src/component/mwc/TextField.mjs +2 -5
- package/src/draggable/DropZone.mjs +3 -7
- package/src/draggable/list/DragZone.mjs +6 -9
- package/src/draggable/toolbar/DragZone.mjs +5 -8
- package/src/form/Fieldset.mjs +3 -6
- package/src/form/field/CheckBox.mjs +2 -5
- package/src/form/field/Range.mjs +3 -6
- package/src/form/field/Text.mjs +2 -5
- package/src/form/field/trigger/Base.mjs +4 -12
- package/src/grid/header/Button.mjs +3 -6
- package/src/list/Base.mjs +4 -6
- package/src/plugin/Resizable.mjs +3 -6
- package/src/selection/grid/CellModel.mjs +3 -6
- package/src/selection/grid/ColumnModel.mjs +3 -6
- package/src/selection/grid/RowModel.mjs +3 -6
- package/src/selection/table/CellModel.mjs +3 -6
- package/src/selection/table/ColumnModel.mjs +3 -6
- package/src/selection/table/RowModel.mjs +3 -6
- package/src/sitemap/Component.mjs +3 -6
- package/src/tab/header/Button.mjs +13 -2
- package/src/table/header/Button.mjs +9 -5
- package/src/tooltip/Base.mjs +5 -15
- package/src/util/KeyNavigation.mjs +8 -13
@@ -95,15 +95,12 @@ class HomeComponent extends Component {
|
|
95
95
|
cls : 'prevent-click'
|
96
96
|
});
|
97
97
|
|
98
|
-
let me
|
99
|
-
domListeners = me.domListeners;
|
98
|
+
let me = this;
|
100
99
|
|
101
|
-
|
100
|
+
me.addDomListeners([
|
102
101
|
{click: {fn: me.onNavLinkClick, delegate: '.nav-link', scope: me}},
|
103
102
|
{click: {fn: me.onPageNavLinkClick, delegate: '.page-link', scope: me}}
|
104
|
-
);
|
105
|
-
|
106
|
-
me.domListeners = domListeners;
|
103
|
+
]);
|
107
104
|
|
108
105
|
me.getController().on({
|
109
106
|
afterSetCurrentUser: me.onCurrentUserChange,
|
@@ -66,15 +66,12 @@ class CommentComponent extends Component {
|
|
66
66
|
construct(config) {
|
67
67
|
super.construct(config);
|
68
68
|
|
69
|
-
let me
|
70
|
-
domListeners = me.domListeners;
|
69
|
+
let me = this;
|
71
70
|
|
72
|
-
|
71
|
+
me.addDomListeners([
|
73
72
|
{click: {fn: me.onDeleteButtonClick, delegate: '.ion-trash-a', scope: me}}
|
74
73
|
/*{click: {fn: me.onEditButtonClick, delegate: '.ion-edit', scope: me}*/
|
75
|
-
);
|
76
|
-
|
77
|
-
me.domListeners = domListeners;
|
74
|
+
]);
|
78
75
|
|
79
76
|
me.getController().on({
|
80
77
|
afterSetCurrentUser: me.onCurrentUserChange,
|
@@ -144,17 +144,14 @@ class Component extends BaseComponent {
|
|
144
144
|
construct(config) {
|
145
145
|
super.construct(config);
|
146
146
|
|
147
|
-
let me
|
148
|
-
domListeners = me.domListeners;
|
147
|
+
let me = this;
|
149
148
|
|
150
|
-
|
149
|
+
me.addDomListeners([
|
151
150
|
{click: {fn: me.onDeleteButtonClick, delegate: '.delete-button', scope: me}},
|
152
151
|
{click: {fn: me.onEditButtonClick, delegate: '.edit-button', scope: me}},
|
153
152
|
{click: {fn: me.onFavoriteButtonClick, delegate: '.favorite-button', scope: me}},
|
154
|
-
{click: {fn: me.onFollowButtonClick, delegate: '.follow-button', scope: me}
|
155
|
-
|
156
|
-
|
157
|
-
me.domListeners = domListeners;
|
153
|
+
{click: {fn: me.onFollowButtonClick, delegate: '.follow-button', scope: me}}
|
154
|
+
]);
|
158
155
|
|
159
156
|
me.getController().on({
|
160
157
|
afterSetCurrentUser: me.onCurrentUserChange,
|
@@ -46,11 +46,10 @@ class CreateCommentComponent extends Component {
|
|
46
46
|
construct(config) {
|
47
47
|
super.construct(config);
|
48
48
|
|
49
|
-
let me
|
50
|
-
|
51
|
-
vdom = me.vdom;
|
49
|
+
let me = this,
|
50
|
+
vdom = me.vdom;
|
52
51
|
|
53
|
-
|
52
|
+
me.addDomListeners({
|
54
53
|
click: {
|
55
54
|
fn : me.onSubmitButtonClick,
|
56
55
|
delegate: '.btn-primary',
|
@@ -58,8 +57,6 @@ class CreateCommentComponent extends Component {
|
|
58
57
|
}
|
59
58
|
});
|
60
59
|
|
61
|
-
me.domListeners = domListeners;
|
62
|
-
|
63
60
|
vdom.cn[0].cn[0].id = me.getInputElId();
|
64
61
|
me.vdom = vdom;
|
65
62
|
|
@@ -82,16 +82,13 @@ class CreateComponent extends Component {
|
|
82
82
|
construct(config) {
|
83
83
|
super.construct(config);
|
84
84
|
|
85
|
-
let me
|
86
|
-
domListeners = me.domListeners;
|
85
|
+
let me = this;
|
87
86
|
|
88
|
-
|
87
|
+
me.addDomListeners([
|
89
88
|
{click : {fn: me.onSubmitButtonClick, delegate: '.btn-primary', scope: me}},
|
90
89
|
{click : {fn: me.onTagClose, delegate: '.ion-close-round', scope: me}},
|
91
90
|
{keydown: {fn: me.onFieldTagsKeyDown, delegate: '.field-tags', scope: me}}
|
92
|
-
);
|
93
|
-
|
94
|
-
me.domListeners = domListeners;
|
91
|
+
]);
|
95
92
|
}
|
96
93
|
|
97
94
|
/**
|
@@ -84,18 +84,15 @@ class PreviewComponent extends Component {
|
|
84
84
|
construct(config) {
|
85
85
|
super.construct(config);
|
86
86
|
|
87
|
-
let me
|
88
|
-
domListeners = me.domListeners;
|
87
|
+
let me = this;
|
89
88
|
|
90
|
-
|
89
|
+
me.addDomListeners({
|
91
90
|
click: {
|
92
91
|
fn : me.onFavoriteButtonClick,
|
93
92
|
delegate: '.pull-xs-right',
|
94
93
|
scope : me
|
95
94
|
}
|
96
95
|
});
|
97
|
-
|
98
|
-
me.domListeners = domListeners;
|
99
96
|
}
|
100
97
|
|
101
98
|
/**
|
@@ -55,18 +55,15 @@ class TagListComponent extends Component {
|
|
55
55
|
cls : 'tag-pill'
|
56
56
|
});
|
57
57
|
|
58
|
-
let me
|
59
|
-
domListeners = me.domListeners;
|
58
|
+
let me = this;
|
60
59
|
|
61
|
-
|
60
|
+
me.addDomListeners({
|
62
61
|
click: {
|
63
62
|
fn : me.onTagLinkClick,
|
64
63
|
delegate: '.tag-pill',
|
65
64
|
scope : me
|
66
65
|
}
|
67
66
|
});
|
68
|
-
|
69
|
-
me.domListeners = domListeners;
|
70
67
|
}
|
71
68
|
|
72
69
|
/**
|
@@ -105,15 +105,12 @@ class ProfileComponent extends Component {
|
|
105
105
|
cls : 'prevent-click'
|
106
106
|
});
|
107
107
|
|
108
|
-
let me
|
109
|
-
domListeners = me.domListeners;
|
108
|
+
let me = this;
|
110
109
|
|
111
|
-
|
110
|
+
me.addDomListeners([
|
112
111
|
{click: {fn: me.onFollowButtonClick, delegate: '.follow-button', scope: me}},
|
113
112
|
{click: {fn: me.onNavLinkClick, delegate: '.nav-link', scope: me}}
|
114
|
-
);
|
115
|
-
|
116
|
-
me.domListeners = domListeners;
|
113
|
+
]);
|
117
114
|
|
118
115
|
me.getController().on({
|
119
116
|
afterSetCurrentUser: me.onCurrentUserChange,
|
@@ -80,15 +80,12 @@ class SettingsComponent extends Component {
|
|
80
80
|
construct(config) {
|
81
81
|
super.construct(config);
|
82
82
|
|
83
|
-
let me
|
84
|
-
domListeners = me.domListeners;
|
83
|
+
let me = this;
|
85
84
|
|
86
|
-
|
85
|
+
me.addDomListeners([
|
87
86
|
{click: {fn: me.onLogoutButtonClick, delegate: '.btn-outline-danger', scope: me}},
|
88
87
|
{click: {fn: me.onSubmitButtonClick, delegate: '.btn-primary', scope: me}}
|
89
|
-
);
|
90
|
-
|
91
|
-
me.domListeners = domListeners;
|
88
|
+
]);
|
92
89
|
|
93
90
|
me.getController().on({
|
94
91
|
afterSetCurrentUser: me.onCurrentUserChange,
|
@@ -67,18 +67,15 @@ class SignUpComponent extends Component {
|
|
67
67
|
construct(config) {
|
68
68
|
super.construct(config);
|
69
69
|
|
70
|
-
let me
|
71
|
-
domListeners = me.domListeners;
|
70
|
+
let me = this;
|
72
71
|
|
73
|
-
|
72
|
+
me.addDomListeners({
|
74
73
|
click: {
|
75
74
|
fn : me.onSubmitButtonClick,
|
76
75
|
delegate: '.btn-primary',
|
77
76
|
scope : me
|
78
77
|
}
|
79
78
|
});
|
80
|
-
|
81
|
-
me.domListeners = domListeners;
|
82
79
|
}
|
83
80
|
|
84
81
|
/**
|
@@ -97,18 +97,15 @@ class PreviewComponent extends Component {
|
|
97
97
|
construct(config) {
|
98
98
|
super.construct(config);
|
99
99
|
|
100
|
-
let me
|
101
|
-
domListeners = me.domListeners;
|
100
|
+
let me = this;
|
102
101
|
|
103
|
-
|
102
|
+
me.addDomListeners({
|
104
103
|
click: {
|
105
104
|
fn : me.onFavoriteButtonClick,
|
106
105
|
delegate: '.pull-xs-right',
|
107
106
|
scope : me
|
108
107
|
}
|
109
108
|
});
|
110
|
-
|
111
|
-
me.domListeners = domListeners;
|
112
109
|
}
|
113
110
|
|
114
111
|
/**
|
@@ -59,18 +59,15 @@ class TagListComponent extends Component {
|
|
59
59
|
cls : 'tag-pill'
|
60
60
|
});
|
61
61
|
|
62
|
-
let me
|
63
|
-
domListeners = me.domListeners;
|
62
|
+
let me = this;
|
64
63
|
|
65
|
-
|
64
|
+
me.addDomListeners({
|
66
65
|
click: {
|
67
66
|
fn : me.onTagLinkClick,
|
68
67
|
delegate: '.tag-pill',
|
69
68
|
scope : me
|
70
69
|
}
|
71
70
|
});
|
72
|
-
|
73
|
-
me.domListeners = domListeners;
|
74
71
|
}
|
75
72
|
|
76
73
|
/**
|
@@ -74,7 +74,7 @@ class ConfigurationViewport extends Viewport {
|
|
74
74
|
module: Panel,
|
75
75
|
cls : ['neo-panel', 'neo-container', 'neo-configuration-panel'],
|
76
76
|
flex : me.configPanelFlex,
|
77
|
-
style : {margin: '20px'},
|
77
|
+
style : {margin: '20px', minWidth: '350px'},
|
78
78
|
|
79
79
|
containerConfig: {
|
80
80
|
style: {overflowY: 'scroll'}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import Button from '../../../src/button/Base.mjs';
|
2
|
+
import CheckBox from '../../../src/form/field/CheckBox.mjs';
|
2
3
|
import ConfigurationViewport from '../../ConfigurationViewport.mjs';
|
3
4
|
import Radio from '../../../src/form/field/Radio.mjs';
|
4
5
|
import NumberField from '../../../src/form/field/Number.mjs';
|
@@ -12,8 +13,8 @@ class MainContainer extends ConfigurationViewport {
|
|
12
13
|
static getConfig() {return {
|
13
14
|
className : 'Neo.examples.button.base.MainContainer',
|
14
15
|
autoMount : true,
|
15
|
-
configItemLabelWidth:
|
16
|
-
configItemWidth :
|
16
|
+
configItemLabelWidth: 160,
|
17
|
+
configItemWidth : 280,
|
17
18
|
layout : {ntype: 'hbox', align: 'stretch'}
|
18
19
|
}}
|
19
20
|
|
@@ -21,6 +22,50 @@ class MainContainer extends ConfigurationViewport {
|
|
21
22
|
let me = this;
|
22
23
|
|
23
24
|
return [{
|
25
|
+
module : Radio,
|
26
|
+
checked : me.exampleComponent.badgePosition === 'bottom-left',
|
27
|
+
hideValueLabel: false,
|
28
|
+
labelText : 'badgePosition',
|
29
|
+
listeners : {change: me.onRadioChange.bind(me, 'badgePosition', 'bottom-left')},
|
30
|
+
name : 'badgePosition',
|
31
|
+
valueLabelText: 'bottom-left'
|
32
|
+
}, {
|
33
|
+
module : Radio,
|
34
|
+
checked : me.exampleComponent.badgePosition === 'bottom-right',
|
35
|
+
hideValueLabel: false,
|
36
|
+
labelText : '',
|
37
|
+
listeners : {change: me.onRadioChange.bind(me, 'badgePosition', 'bottom-right')},
|
38
|
+
name : 'badgePosition',
|
39
|
+
valueLabelText: 'bottom-right'
|
40
|
+
}, {
|
41
|
+
module : Radio,
|
42
|
+
checked : me.exampleComponent.badgePosition === 'top-left',
|
43
|
+
hideValueLabel: false,
|
44
|
+
labelText : '',
|
45
|
+
listeners : {change: me.onRadioChange.bind(me, 'badgePosition', 'top-left')},
|
46
|
+
name : 'badgePosition',
|
47
|
+
valueLabelText: 'top-left'
|
48
|
+
}, {
|
49
|
+
module : Radio,
|
50
|
+
checked : me.exampleComponent.badgePosition === 'top-right',
|
51
|
+
hideValueLabel: false,
|
52
|
+
labelText : '',
|
53
|
+
listeners : {change: me.onRadioChange.bind(me, 'badgePosition', 'top-right')},
|
54
|
+
name : 'badgePosition',
|
55
|
+
valueLabelText: 'top-right'
|
56
|
+
}, {
|
57
|
+
module : TextField,
|
58
|
+
labelText : 'badgeText',
|
59
|
+
listeners : {change: me.onConfigChange.bind(me, 'badgeText')},
|
60
|
+
style : {marginTop: '10px'},
|
61
|
+
value : me.exampleComponent.badgeText
|
62
|
+
}, {
|
63
|
+
module : CheckBox,
|
64
|
+
checked : me.exampleComponent.disabled,
|
65
|
+
labelText: 'disabled',
|
66
|
+
listeners: {change: me.onConfigChange.bind(me, 'disabled')},
|
67
|
+
style : {marginTop: '10px'}
|
68
|
+
}, {
|
24
69
|
module : NumberField,
|
25
70
|
clearable : true,
|
26
71
|
labelText : 'height',
|
@@ -28,6 +73,7 @@ class MainContainer extends ConfigurationViewport {
|
|
28
73
|
maxValue : 300,
|
29
74
|
minValue : 30,
|
30
75
|
stepSize : 5,
|
76
|
+
style : {marginTop: '10px'},
|
31
77
|
value : me.exampleComponent.height
|
32
78
|
}, {
|
33
79
|
module : TextField, // todo: selectField with options
|
@@ -48,7 +94,7 @@ class MainContainer extends ConfigurationViewport {
|
|
48
94
|
listeners : {change: me.onRadioChange.bind(me, 'iconPosition', 'top')},
|
49
95
|
name : 'iconPosition',
|
50
96
|
style : {marginTop: '10px'},
|
51
|
-
valueLabelText: '
|
97
|
+
valueLabelText: 'top'
|
52
98
|
}, {
|
53
99
|
module : Radio,
|
54
100
|
checked : me.exampleComponent.iconPosition === 'right',
|
@@ -56,7 +102,7 @@ class MainContainer extends ConfigurationViewport {
|
|
56
102
|
labelText : '',
|
57
103
|
listeners : {change: me.onRadioChange.bind(me, 'iconPosition', 'right')},
|
58
104
|
name : 'iconPosition',
|
59
|
-
valueLabelText: '
|
105
|
+
valueLabelText: 'right'
|
60
106
|
}, {
|
61
107
|
module : Radio,
|
62
108
|
checked : me.exampleComponent.iconPosition === 'bottom',
|
@@ -64,7 +110,7 @@ class MainContainer extends ConfigurationViewport {
|
|
64
110
|
labelText : '',
|
65
111
|
listeners : {change: me.onRadioChange.bind(me, 'iconPosition', 'bottom')},
|
66
112
|
name : 'iconPosition',
|
67
|
-
valueLabelText: '
|
113
|
+
valueLabelText: 'bottom'
|
68
114
|
}, {
|
69
115
|
module : Radio,
|
70
116
|
checked : me.exampleComponent.iconPosition === 'left',
|
@@ -72,7 +118,17 @@ class MainContainer extends ConfigurationViewport {
|
|
72
118
|
labelText : '',
|
73
119
|
listeners : {change: me.onRadioChange.bind(me, 'iconPosition', 'left')},
|
74
120
|
name : 'iconPosition',
|
75
|
-
valueLabelText: '
|
121
|
+
valueLabelText: 'left'
|
122
|
+
}, {
|
123
|
+
module : NumberField,
|
124
|
+
clearable : true,
|
125
|
+
labelText : 'rippleEffectDuration',
|
126
|
+
listeners : {change: me.onConfigChange.bind(me, 'rippleEffectDuration')},
|
127
|
+
maxValue : 5000,
|
128
|
+
minValue : 100,
|
129
|
+
stepSize : 100,
|
130
|
+
style : {marginTop: '10px'},
|
131
|
+
value : me.exampleComponent.rippleEffectDuration
|
76
132
|
}, {
|
77
133
|
module : TextField,
|
78
134
|
clearable : true,
|
@@ -80,6 +136,12 @@ class MainContainer extends ConfigurationViewport {
|
|
80
136
|
listeners : {change: me.onConfigChange.bind(me, 'text')},
|
81
137
|
style : {marginTop: '10px'},
|
82
138
|
value : me.exampleComponent.text
|
139
|
+
}, {
|
140
|
+
module : CheckBox,
|
141
|
+
checked : me.exampleComponent.useRippleEffect,
|
142
|
+
labelText: 'useRippleEffect',
|
143
|
+
listeners: {change: me.onConfigChange.bind(me, 'useRippleEffect')},
|
144
|
+
style : {marginTop: '10px'}
|
83
145
|
}, {
|
84
146
|
module : NumberField,
|
85
147
|
clearable : true,
|
@@ -88,18 +150,19 @@ class MainContainer extends ConfigurationViewport {
|
|
88
150
|
maxValue : 300,
|
89
151
|
minValue : 100,
|
90
152
|
stepSize : 5,
|
153
|
+
style : {marginTop: '10px'},
|
91
154
|
value : me.exampleComponent.width
|
92
155
|
}];
|
93
156
|
}
|
94
157
|
|
95
158
|
createExampleComponent() {
|
96
159
|
return Neo.create({
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
width
|
160
|
+
module : Button,
|
161
|
+
badgeText: 'Badge',
|
162
|
+
height : 50,
|
163
|
+
iconCls : 'fa fa-home',
|
164
|
+
text : 'Hello World',
|
165
|
+
width : 150,
|
103
166
|
|
104
167
|
handler: (data) => {
|
105
168
|
console.log('button click =>', data.component.id);
|
@@ -140,13 +140,13 @@ class MainContainer extends ConfigurationViewport {
|
|
140
140
|
},
|
141
141
|
|
142
142
|
items: [{
|
143
|
-
tabButtonConfig: {iconCls: 'fa fa-home', text
|
143
|
+
tabButtonConfig: {iconCls: 'fa fa-home', text: 'Tab 1'},
|
144
144
|
vdom : {innerHTML: 'Tab 1 Content'}
|
145
145
|
}, {
|
146
|
-
tabButtonConfig: {iconCls: 'fa fa-play-circle', text
|
146
|
+
tabButtonConfig: {iconCls: 'fa fa-play-circle', text: 'Tab 2'},
|
147
147
|
vdom : {innerHTML: 'Tab 2 Content'}
|
148
148
|
}, {
|
149
|
-
tabButtonConfig: {iconCls: 'fa fa-user', text
|
149
|
+
tabButtonConfig: {iconCls: 'fa fa-user', text: 'Tab 3', badgeText: 'hello'},
|
150
150
|
vdom : {innerHTML: 'Tab 3 Content'}
|
151
151
|
}],
|
152
152
|
|
@@ -43,16 +43,13 @@ class MainComponent extends Component {
|
|
43
43
|
construct(config) {
|
44
44
|
super.construct(config);
|
45
45
|
|
46
|
-
let me
|
47
|
-
domListeners = me.domListeners || [];
|
46
|
+
let me = this;
|
48
47
|
|
49
|
-
|
48
|
+
me.addDomListeners([
|
50
49
|
{click: me.onAddButtonClick, delegate: 'todo-add-button'},
|
51
50
|
{click: me.onCheckIconClick, delegate: 'todo-item'},
|
52
51
|
{input: me.onInputFieldChange, delegate: 'todo-input'}
|
53
|
-
);
|
54
|
-
|
55
|
-
me.domListeners = domListeners;
|
52
|
+
]);
|
56
53
|
|
57
54
|
me.createItems(me.data || []);
|
58
55
|
}
|
package/package.json
CHANGED
@@ -27,7 +27,6 @@
|
|
27
27
|
flex-direction : row;
|
28
28
|
justify-content : center;
|
29
29
|
margin : v(button-margin);
|
30
|
-
overflow : hidden;
|
31
30
|
padding : v(button-padding);
|
32
31
|
position : relative;
|
33
32
|
text-decoration : none; // for url buttons => links
|
@@ -59,22 +58,60 @@
|
|
59
58
|
border-color: v(button-pressed-border-color);
|
60
59
|
}
|
61
60
|
|
61
|
+
.neo-button-badge {
|
62
|
+
background-color: v(button-badge-background-color);
|
63
|
+
border-radius : 5px;
|
64
|
+
color : v(button-badge-color);
|
65
|
+
margin-left : auto;
|
66
|
+
padding : 3px;
|
67
|
+
position : absolute;
|
68
|
+
z-index : 2;
|
69
|
+
|
70
|
+
&.neo-bottom-left {
|
71
|
+
bottom: -10px;
|
72
|
+
left : -10px;
|
73
|
+
}
|
74
|
+
|
75
|
+
&.neo-bottom-right {
|
76
|
+
bottom: -10px;
|
77
|
+
right : -10px;
|
78
|
+
}
|
79
|
+
|
80
|
+
&.neo-top-left {
|
81
|
+
left: -10px;
|
82
|
+
top : -10px;
|
83
|
+
}
|
84
|
+
|
85
|
+
&.neo-top-right {
|
86
|
+
right: -10px;
|
87
|
+
top : -10px;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
62
91
|
.neo-button-glyph {
|
63
92
|
color : v(button-glyph-color);
|
64
93
|
font-size : 12px;
|
65
94
|
margin : 0 6px 0 0;
|
66
95
|
pointer-events: none;
|
96
|
+
z-index : 2;
|
67
97
|
}
|
68
98
|
|
69
99
|
.neo-button-ripple {
|
70
|
-
background-color:
|
100
|
+
background-color: v(button-ripple-background-color);
|
71
101
|
border-radius : 50%;
|
72
102
|
opacity : 0;
|
73
|
-
pointer-events : none;
|
74
103
|
position : absolute;
|
75
104
|
transform : scale(4);
|
76
105
|
}
|
77
106
|
|
107
|
+
.neo-button-ripple-wrapper {
|
108
|
+
height : 100%;
|
109
|
+
overflow : hidden;
|
110
|
+
pointer-events: none;
|
111
|
+
position : absolute;
|
112
|
+
width : 100%;
|
113
|
+
}
|
114
|
+
|
78
115
|
.neo-button-text {
|
79
116
|
color : v(button-text-color);
|
80
117
|
font-family : v(button-text-font-family);
|
@@ -83,6 +120,7 @@
|
|
83
120
|
line-height : v(button-text-line-height);
|
84
121
|
pointer-events: none;
|
85
122
|
text-transform: v(button-text-transform);
|
123
|
+
z-index : 2;
|
86
124
|
}
|
87
125
|
|
88
126
|
&:focus {
|
@@ -59,9 +59,29 @@
|
|
59
59
|
pointer-events: none;
|
60
60
|
transition : opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
|
61
61
|
will-change : opacity, transform;
|
62
|
+
z-index : 2;
|
63
|
+
}
|
64
|
+
|
65
|
+
.neo-button-ripple {
|
66
|
+
background-color: v(table-header-button-ripple-background-color);
|
67
|
+
border-radius : 50%;
|
68
|
+
opacity : 0;
|
69
|
+
position : absolute;
|
70
|
+
transform : scale(4);
|
71
|
+
}
|
72
|
+
|
73
|
+
.neo-button-ripple-wrapper {
|
74
|
+
height : 100%;
|
75
|
+
left : 0;
|
76
|
+
overflow : hidden;
|
77
|
+
pointer-events: none;
|
78
|
+
position : absolute;
|
79
|
+
top : 0;
|
80
|
+
width : 100%;
|
62
81
|
}
|
63
82
|
|
64
83
|
.neo-button-text {
|
65
84
|
pointer-events: none;
|
85
|
+
z-index : 2;
|
66
86
|
}
|
67
|
-
}
|
87
|
+
}
|
@@ -6,6 +6,8 @@ $neoMap: map-merge($neoMap, (
|
|
6
6
|
'button-background-image' : linear-gradient(#434749, #323536),
|
7
7
|
'button-background-gradient-end' : #323536,
|
8
8
|
'button-background-gradient-start': #434749,
|
9
|
+
'button-badge-background-color' : #64b5f6,
|
10
|
+
'button-badge-color' : #282828,
|
9
11
|
'button-border' : 1px solid #2b2b2b,
|
10
12
|
'button-border-radius' : 0,
|
11
13
|
'button-glyph-color' : #bbb,
|
@@ -15,6 +17,7 @@ $neoMap: map-merge($neoMap, (
|
|
15
17
|
'button-margin' : 2px,
|
16
18
|
'button-padding' : 5px 12px 5px 12px,
|
17
19
|
'button-pressed-border-color' : #5d83a7,
|
20
|
+
'button-ripple-background-color' : darken(#5d83a7, 10%),
|
18
21
|
'button-text-color' : #bbb,
|
19
22
|
'button-text-font-family' : #{neo(neo-font-family)},
|
20
23
|
'button-text-font-size' : 11px,
|
@@ -33,6 +36,8 @@ $neoMap: map-merge($neoMap, (
|
|
33
36
|
--button-background-image : #{neo(button-background-image)};
|
34
37
|
--button-background-gradient-end : #{neo(button-background-gradient-end)};
|
35
38
|
--button-background-gradient-start: #{neo(button-background-gradient-start)};
|
39
|
+
--button-badge-background-color : #{neo(button-badge-background-color)};
|
40
|
+
--button-badge-color : #{neo(button-badge-color)};
|
36
41
|
--button-border : #{neo(button-border)};
|
37
42
|
--button-border-radius : #{neo(button-border-radius)};
|
38
43
|
--button-glyph-color : #{neo(button-glyph-color)};
|
@@ -42,6 +47,7 @@ $neoMap: map-merge($neoMap, (
|
|
42
47
|
--button-margin : #{neo(button-margin)};
|
43
48
|
--button-padding : #{neo(button-padding)};
|
44
49
|
--button-pressed-border-color : #{neo(button-pressed-border-color)};
|
50
|
+
--button-ripple-background-color : #{neo(button-ripple-background-color)};
|
45
51
|
--button-text-color : #{neo(button-text-color)};
|
46
52
|
--button-text-font-family : #{neo(button-text-font-family)};
|
47
53
|
--button-text-font-size : #{neo(button-text-font-size)};
|
@@ -50,4 +56,4 @@ $neoMap: map-merge($neoMap, (
|
|
50
56
|
--button-text-transform : #{neo(button-text-transform)};
|
51
57
|
--button-use-gradients : #{neo(button-use-gradients)};
|
52
58
|
}
|
53
|
-
}
|
59
|
+
}
|