superdesk-ui-framework 3.0.66 → 3.0.68
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/app/styles/components/_list-item.scss +22 -11
- package/app-typescript/components/Autocomplete.tsx +9 -3
- package/app-typescript/components/Badge.tsx +16 -2
- package/app-typescript/components/Dropdown.tsx +3 -1
- package/app-typescript/components/DropdownFirst.tsx +14 -2
- package/app-typescript/components/DurationInput.tsx +19 -4
- package/app-typescript/components/EmptyState.tsx +11 -2
- package/app-typescript/components/Layouts/Panel.tsx +12 -1
- package/app-typescript/components/Lists/ContentList.tsx +5 -1
- package/app-typescript/components/Modal.tsx +10 -1
- package/app-typescript/components/Navigation/BottomNav.tsx +9 -2
- package/app-typescript/components/Navigation/QuickNavBar.tsx +10 -2
- package/app-typescript/components/Navigation/SideBarMenu.tsx +9 -4
- package/app-typescript/components/SidebarMenu.tsx +8 -1
- package/app-typescript/components/TabList.tsx +5 -1
- package/app-typescript/components/TagInput.tsx +4 -1
- package/app-typescript/components/ThemeSelector.tsx +13 -2
- package/app-typescript/components/TreeMenu.tsx +127 -122
- package/app-typescript/components/TreeSelect/TreeSelect.tsx +157 -141
- package/app-typescript/components/WithPortal.tsx +49 -0
- package/app-typescript/components/avatar/avatar-image.tsx +2 -0
- package/app-typescript/components/avatar/avatar.tsx +2 -1
- package/dist/examples.bundle.js +1446 -1318
- package/dist/playgrounds/planning.html +121 -43
- package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +398 -385
- package/dist/playgrounds/react-playgrounds/EditorTest.tsx +359 -365
- package/dist/playgrounds/react-playgrounds/FirstPlayground.tsx +33 -33
- package/dist/playgrounds/react-playgrounds/Multiedit.tsx +227 -231
- package/dist/playgrounds/react-playgrounds/PageLayoutTest.tsx +41 -38
- package/dist/playgrounds/react-playgrounds/PersonalProfile.tsx +76 -96
- package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +73 -101
- package/dist/playgrounds/react-playgrounds/Rundowns.tsx +788 -729
- package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +35 -26
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +99 -128
- package/dist/playgrounds/react-playgrounds/UiPlayground.tsx +40 -25
- package/dist/playgrounds/react-playgrounds/components/GraphicButton.tsx +6 -5
- package/dist/playgrounds/react-playgrounds/components/Layout.tsx +0 -2
- package/dist/playgrounds/react-playgrounds/components/SearchBar.tsx +16 -9
- package/dist/playgrounds/react-playgrounds/tsconfig.json +4 -0
- package/dist/superdesk-ui.bundle.css +24 -14
- package/dist/superdesk-ui.bundle.js +830 -727
- package/dist/vendor.bundle.js +14 -14
- package/examples/pages/playgrounds/planning.html +121 -43
- package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +398 -385
- package/examples/pages/playgrounds/react-playgrounds/EditorTest.tsx +359 -365
- package/examples/pages/playgrounds/react-playgrounds/FirstPlayground.tsx +33 -33
- package/examples/pages/playgrounds/react-playgrounds/Multiedit.tsx +227 -231
- package/examples/pages/playgrounds/react-playgrounds/PageLayoutTest.tsx +41 -38
- package/examples/pages/playgrounds/react-playgrounds/PersonalProfile.tsx +76 -96
- package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +73 -101
- package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +788 -729
- package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +35 -26
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +99 -128
- package/examples/pages/playgrounds/react-playgrounds/UiPlayground.tsx +40 -25
- package/examples/pages/playgrounds/react-playgrounds/components/GraphicButton.tsx +6 -5
- package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +0 -2
- package/examples/pages/playgrounds/react-playgrounds/components/SearchBar.tsx +16 -9
- package/examples/pages/playgrounds/react-playgrounds/tsconfig.json +4 -0
- package/package.json +3 -2
- package/react/components/Autocomplete.js +2 -2
- package/react/components/Badge.js +1 -1
- package/react/components/Dropdown.js +3 -1
- package/react/components/DropdownFirst.js +6 -2
- package/react/components/DurationInput.js +5 -1
- package/react/components/EmptyState.js +2 -1
- package/react/components/Lists/ContentList.js +1 -1
- package/react/components/Navigation/BottomNav.js +4 -1
- package/react/components/Navigation/QuickNavBar.js +2 -1
- package/react/components/Navigation/SideBarMenu.js +3 -1
- package/react/components/TabList.js +2 -1
- package/react/components/TagInput.js +1 -1
- package/react/components/TreeSelect/TreeSelect.d.ts +3 -2
- package/react/components/TreeSelect/TreeSelect.js +81 -73
- package/react/components/WithPortal.d.ts +14 -0
- package/react/components/WithPortal.js +69 -0
- package/react/components/avatar/avatar.js +2 -1
- /package/dist/playgrounds/dummy-data/{items.js → items.ts} +0 -0
- /package/examples/pages/playgrounds/dummy-data/{items.js → items.ts} +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import * as Components from './components/Index';
|
3
|
-
import { ButtonGroup, Button, NavButton, SubNav, Dropdown,
|
3
|
+
import { ButtonGroup, Button, NavButton, SubNav, Dropdown, RadioButtonGroup, Input, Select, Option, Label, Icon, IconButton, Checkbox, GridList, Badge } from '../../../../app-typescript/index';
|
4
4
|
import * as GridElements from '../../../../app-typescript/components/GridItem';
|
5
5
|
|
6
6
|
import dummy_items from '../dummy-data/items';
|
@@ -77,7 +77,9 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
77
77
|
{ icon: 'spike', size: 'big' },
|
78
78
|
{ icon: 'personal', size: 'big' },
|
79
79
|
{ icon: 'global-search', size: 'big' },
|
80
|
-
{ icon: 'picture', size: 'big', active: true }
|
80
|
+
{ icon: 'picture', size: 'big', active: true }
|
81
|
+
]}
|
82
|
+
/>
|
81
83
|
|
82
84
|
<Components.LayoutContainer>
|
83
85
|
<Components.HeaderPanel>
|
@@ -93,7 +95,9 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
93
95
|
{ label: 'File archive', onSelect: () => this.setState({ dropDownState: 'File archive' }) },
|
94
96
|
{ label: 'AP images', onSelect: () => this.setState({ dropDownState: 'AP archive' }) },
|
95
97
|
]
|
96
|
-
}
|
98
|
+
}
|
99
|
+
]}
|
100
|
+
>
|
97
101
|
<NavButton text={this.state.dropDownState ? this.state.dropDownState : 'All Archives'} onClick={() => false} />
|
98
102
|
</Dropdown>
|
99
103
|
</ButtonGroup>
|
@@ -107,11 +111,16 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
107
111
|
<ButtonGroup align='inline'>
|
108
112
|
<NavButton icon='filter-large' onClick={this.handleFilter} />
|
109
113
|
</ButtonGroup>
|
110
|
-
<RadioButtonGroup
|
111
|
-
{
|
112
|
-
|
113
|
-
|
114
|
-
|
114
|
+
<RadioButtonGroup
|
115
|
+
options={[
|
116
|
+
{value:'test10', label:'Radio button with icon'},
|
117
|
+
{value:'test11', label:'I have an icon!'},
|
118
|
+
{value:'test12', label:'Yeah, me too!'},
|
119
|
+
]}
|
120
|
+
group={{padded:true}}
|
121
|
+
value={this.state.itemType}
|
122
|
+
onChange={(value) => this.setState({ itemType: value })}
|
123
|
+
/>
|
115
124
|
<ButtonGroup align='end' spaces='no-space'>
|
116
125
|
<Dropdown
|
117
126
|
items={[
|
@@ -123,7 +132,8 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
123
132
|
{ label: 'Accessible Light', icon: 'adjust', onSelect: () => this.handleTheme('accessible-light-ui')},
|
124
133
|
]
|
125
134
|
},
|
126
|
-
]}
|
135
|
+
]}
|
136
|
+
>
|
127
137
|
<NavButton type='default' icon='adjust' onClick={()=> false} />
|
128
138
|
</Dropdown>
|
129
139
|
<NavButton icon='th-list' onClick={() => false} />
|
@@ -145,8 +155,8 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
145
155
|
value='Title'
|
146
156
|
inlineLabel={false}
|
147
157
|
disabled={false}
|
148
|
-
|
149
|
-
|
158
|
+
onChange={() => false}
|
159
|
+
/>
|
150
160
|
</div>
|
151
161
|
</div>
|
152
162
|
<div className="form__group">
|
@@ -156,8 +166,8 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
156
166
|
error='This is error message'
|
157
167
|
inlineLabel={false}
|
158
168
|
disabled={false}
|
159
|
-
|
160
|
-
|
169
|
+
onChange={() => false}
|
170
|
+
>
|
161
171
|
<Option value="option-1">Select ingest source...</Option>
|
162
172
|
<Option value="option-2">Associated Press</Option>
|
163
173
|
<Option value="option-3">Reuters</Option>
|
@@ -173,8 +183,8 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
173
183
|
value='Keyword'
|
174
184
|
inlineLabel={false}
|
175
185
|
disabled={false}
|
176
|
-
|
177
|
-
|
186
|
+
onChange={() => false}
|
187
|
+
/>
|
178
188
|
</div>
|
179
189
|
</div>
|
180
190
|
|
@@ -186,8 +196,8 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
186
196
|
info='Dolor in hendrerit.'
|
187
197
|
inlineLabel={false}
|
188
198
|
disabled={false}
|
189
|
-
|
190
|
-
|
199
|
+
onChange={() => false}
|
200
|
+
>
|
191
201
|
<Option value="">--- Not selected ---</Option>
|
192
202
|
<Option value="single">Single usage</Option>
|
193
203
|
<Option value="time">Time restricted</Option>
|
@@ -206,16 +216,19 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
206
216
|
</Components.LeftPanel>
|
207
217
|
{/* FILTER PANEL*/}
|
208
218
|
|
209
|
-
<Components.MainPanel
|
210
|
-
|
219
|
+
<Components.MainPanel>
|
211
220
|
<GridList size="small" gap="medium" margin="3">
|
212
|
-
{dummy_items.map((item, index) =>
|
221
|
+
{dummy_items.map((item: any, index: any) =>
|
213
222
|
<GridElements.GridItem locked={item.locked} status={item.status} onClick={this.handlePreview} itemtype={item.type} key={index}>
|
214
223
|
<GridElements.GridItemCheckWrapper>
|
215
|
-
<Checkbox
|
216
|
-
item.selected
|
217
|
-
|
218
|
-
|
224
|
+
<Checkbox
|
225
|
+
checked={item.selected}
|
226
|
+
label={{text:''}}
|
227
|
+
onChange={(value) => {
|
228
|
+
item.selected = value;
|
229
|
+
this.changeStatus(item, 'selected');
|
230
|
+
}}
|
231
|
+
/>
|
219
232
|
</GridElements.GridItemCheckWrapper>
|
220
233
|
<GridElements.GridItemTopActions>
|
221
234
|
<IconButton icon='fullscreen' ariaValue='More actions' onClick={()=> false} />
|
@@ -265,7 +278,9 @@ export class UiPlayground extends React.Component<IProps, IState> {
|
|
265
278
|
{ label: 'Download', icon: 'download', onSelect: () => this.setState({ dropDownState: 'Download' }) },
|
266
279
|
{ label: 'Delete', icon: 'trash', onSelect: () => this.setState({ dropDownState: 'Delete' }) },
|
267
280
|
]
|
268
|
-
}
|
281
|
+
}
|
282
|
+
]}
|
283
|
+
>
|
269
284
|
<IconButton ariaValue='dropdown-more-options' icon='dots-vertical' onClick={() => false} />
|
270
285
|
</Dropdown>
|
271
286
|
</div>
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
import {Redirect} from 'react-router-dom';
|
3
2
|
|
4
3
|
interface IGraphicButton {
|
5
4
|
children?: never;
|
@@ -10,12 +9,14 @@ interface IGraphicButton {
|
|
10
9
|
}
|
11
10
|
|
12
11
|
export class GraphicButton extends React.PureComponent<IGraphicButton> {
|
13
|
-
constructor(props){
|
12
|
+
constructor(props: IGraphicButton){
|
14
13
|
super(props);
|
15
14
|
this.onSubmit=this.onSubmit.bind(this);
|
16
15
|
}
|
17
|
-
onSubmit=() =>{
|
18
|
-
|
16
|
+
onSubmit=() => {
|
17
|
+
if (this.props.link != null) {
|
18
|
+
window.location.href = this.props.link;
|
19
|
+
}
|
19
20
|
}
|
20
21
|
render() {
|
21
22
|
return (
|
@@ -30,4 +31,4 @@ export class GraphicButton extends React.PureComponent<IGraphicButton> {
|
|
30
31
|
</a>
|
31
32
|
);
|
32
33
|
}
|
33
|
-
}
|
34
|
+
}
|
@@ -20,7 +20,7 @@ interface IState {
|
|
20
20
|
|
21
21
|
export class SearchBar extends React.PureComponent<IProps, IState> {
|
22
22
|
private inputRef: any;
|
23
|
-
constructor(props) {
|
23
|
+
constructor(props: IProps) {
|
24
24
|
super(props);
|
25
25
|
this.state = {
|
26
26
|
inputValue: this.props.value ? this.props.value : '',
|
@@ -46,27 +46,34 @@ export class SearchBar extends React.PureComponent<IProps, IState> {
|
|
46
46
|
}
|
47
47
|
|
48
48
|
render() {
|
49
|
-
|
49
|
+
const classes = classNames('sd-searchbar', {
|
50
50
|
[`sd-searchbar--${this.state.type}`] : this.props.type,
|
51
51
|
'sd-searchbar--expanded': this.state.type === 'expanded' || this.props.type === undefined,
|
52
52
|
'sd-searchbar--focused' : this.state.focused,
|
53
53
|
'sd-searchbar--boxed': this.state.boxed,
|
54
54
|
});
|
55
|
+
|
55
56
|
return (
|
56
57
|
<div className={classes} ref={this.inputRef}>
|
57
58
|
<label className="sd-searchbar__icon"></label>
|
58
|
-
|
59
|
-
|
59
|
+
|
60
|
+
<input
|
61
|
+
id="search-input"
|
62
|
+
ref={(input: any) => (input && this.props.focused) && input.focus()}
|
60
63
|
className="sd-searchbar__input"
|
61
64
|
type="text"
|
62
65
|
placeholder={this.props.placeholder}
|
63
66
|
value={this.state.inputValue}
|
64
67
|
onChange={(e) => this.setState({inputValue: e.target.value})}
|
65
|
-
onFocus={() => this.setState({focused: true})}
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
68
|
+
onFocus={() => this.setState({focused: true})}
|
69
|
+
/>
|
70
|
+
|
71
|
+
{this.state.inputValue && (
|
72
|
+
<button className="sd-searchbar__cancel" onClick={() => this.setState({inputValue: ''})}>
|
73
|
+
<Icon name='remove-sign' />
|
74
|
+
</button>
|
75
|
+
)}
|
76
|
+
|
70
77
|
<button id="sd-searchbar__search-btn" className="sd-searchbar__search-btn" onSubmit={() => this.props.onSubmit}>
|
71
78
|
<Icon name='chevron-right-thin' />
|
72
79
|
</button>
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "superdesk-ui-framework",
|
3
|
-
"version": "3.0.
|
3
|
+
"version": "3.0.68",
|
4
4
|
"license": "AGPL-3.0",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -21,7 +21,8 @@
|
|
21
21
|
"server": "webpack --watch --config tasks/webpack.prod.js && tsc-watch",
|
22
22
|
"build": "webpack --config tasks/webpack.prod.js && tsc",
|
23
23
|
"build-ui": "webpack && tsc && npm run lint",
|
24
|
-
"lint": "
|
24
|
+
"playground-lint": "tsc -p examples/pages/playgrounds/react-playgrounds --noEmit",
|
25
|
+
"lint": "eslint --parser=@typescript-eslint/parser app && tslint -c tslint.json 'app-typescript/**/*.{ts,tsx}' && npm run playground-lint",
|
25
26
|
"lint-fix": "tsc -p tsconfig.json --noEmit && tslint --fix -c tslint.json 'app-typescript/**/*.{ts,tsx}'",
|
26
27
|
"prepublishOnly": "npm run build",
|
27
28
|
"unit-test": "mocha",
|
@@ -142,8 +142,8 @@ var Autocomplete = /** @class */ (function (_super) {
|
|
142
142
|
this.props.label && !this.props.isSearchField ? React.createElement("label", { className: 'sd-input__label', htmlFor: this.htmlId }, this.props.label) : null,
|
143
143
|
this.props.label && this.props.isSearchField ? React.createElement("label", { className: 'sd-searchbar__icon', htmlFor: this.htmlId, "aria-label": this.props.label }) : null,
|
144
144
|
React.createElement(autocomplete_1.AutoComplete, { id: this.htmlId, inputClassName: inputFieldClass, value: this.state.selectedItem, placeholder: this.props.placeholder, suggestions: this.state.filteredItems, completeMethod: this.searchItem, itemTemplate: this.props.listItemTemplate, field: this.props.keyValue, disabled: this.props.disabled, minLength: this.props.minLength ? this.props.minLength : 1, onFocus: function () { _this.setState({ focused: true }); }, onBlur: function () { _this.setState({ focused: false }); }, onChange: function (event) { return _this.handleChange(event); }, onSelect: function (event) { return _this.handleSelect(event); } }),
|
145
|
-
this.props.isSearchField && this.state.selectedItem
|
146
|
-
React.createElement("button", { className: "sd-searchbar__cancel", onClick: function () { return _this.handleInputClear(); } },
|
145
|
+
this.props.isSearchField && this.state.selectedItem
|
146
|
+
? React.createElement("button", { className: "sd-searchbar__cancel", onClick: function () { return _this.handleInputClear(); } },
|
147
147
|
React.createElement("i", { className: "icon-remove-sign", "aria-label": "remove-sign" }))
|
148
148
|
: null,
|
149
149
|
!this.props.isSearchField ?
|
@@ -62,7 +62,7 @@ var Badge = /** @class */ (function (_super) {
|
|
62
62
|
React.createElement("span", { className: classes, style: { backgroundColor: this.props.hexColor }, "data-test-id": "badge-content" }, this.props.text)));
|
63
63
|
}
|
64
64
|
else {
|
65
|
-
return React.createElement("span", { className: classes, style: { backgroundColor: this.props.hexColor }, "data-test-id": this.props['data-test-id'] }, this.props.text);
|
65
|
+
return (React.createElement("span", { className: classes, style: { backgroundColor: this.props.hexColor }, "data-test-id": this.props['data-test-id'] }, this.props.text));
|
66
66
|
}
|
67
67
|
};
|
68
68
|
return Badge;
|
@@ -174,7 +174,9 @@ var Dropdown = function (_a) {
|
|
174
174
|
(React.isValidElement(children) ?
|
175
175
|
React.createElement("div", { ref: buttonRef, style: { display: 'content' } }, (function () {
|
176
176
|
var attrs = {
|
177
|
-
className: children.props.className
|
177
|
+
className: children.props.className
|
178
|
+
? (children.props.className + ' dropdown__toggle dropdown-toggle')
|
179
|
+
: 'dropdown__toggle dropdown-toggle',
|
178
180
|
'aria-haspopup': "menu",
|
179
181
|
'aria-expanded': open,
|
180
182
|
onClick: toggleDisplay,
|
@@ -107,7 +107,9 @@ var DropdownFirst = function (_a) {
|
|
107
107
|
}
|
108
108
|
if (headerFooter) {
|
109
109
|
return (React.createElement("div", { className: classes },
|
110
|
-
React.createElement("button", { className: navDropdown
|
110
|
+
React.createElement("button", { className: navDropdown
|
111
|
+
? 'dropdown__toggle navbtn dropdown-toggle'
|
112
|
+
: 'dropdown__toggle nav-btn dropdown-toggle', onClick: isOpen }, icon ?
|
111
113
|
(React.createElement("i", { className: "icon-" + icon })) :
|
112
114
|
(React.createElement(React.Fragment, null,
|
113
115
|
name,
|
@@ -128,7 +130,9 @@ var DropdownFirst = function (_a) {
|
|
128
130
|
}
|
129
131
|
else {
|
130
132
|
return (React.createElement("div", { className: classes },
|
131
|
-
React.createElement("button", { className: navDropdown
|
133
|
+
React.createElement("button", { className: navDropdown
|
134
|
+
? 'dropdown__toggle navbtn dropdown-toggle'
|
135
|
+
: 'dropdown__toggle nav-btn dropdown-toggle', onClick: isOpen }, icon ?
|
132
136
|
(React.createElement("i", { className: "icon-" + icon })) :
|
133
137
|
(React.createElement(React.Fragment, null,
|
134
138
|
name,
|
@@ -286,7 +286,11 @@ var DurationInput = /** @class */ (function (_super) {
|
|
286
286
|
this.setState(stateClone);
|
287
287
|
};
|
288
288
|
DurationInput.prototype.handleFocusOnKeyUp = function (event, ref) {
|
289
|
-
if (event.key !== 'ArrowRight'
|
289
|
+
if (event.key !== 'ArrowRight'
|
290
|
+
&& event.key !== 'ArrowLeft'
|
291
|
+
&& event.key !== 'ArrowUp'
|
292
|
+
&& event.key !== 'ArrowDown'
|
293
|
+
&& event.key !== 'Backspace') {
|
290
294
|
if ((event.keyCode > 46 && event.keyCode < 58) || (event.keyCode > 95 && event.keyCode < 106)) {
|
291
295
|
var target = event.target;
|
292
296
|
if (target.value.length >= 2) {
|
@@ -57,7 +57,8 @@ var EmptyState = /** @class */ (function (_super) {
|
|
57
57
|
_a["content-state__image--".concat(this.props.size)] = this.props.size || this.props.size !== undefined,
|
58
58
|
_a));
|
59
59
|
var image = require("../../app/img/empty_states/empty-state--".concat(this.props.size ? this.props.size : 'small', "-").concat(this.props.illustration ? this.props.illustration : '1', ".svg"));
|
60
|
-
return (React.createElement("div", { className: 'content-state--empty-container'
|
60
|
+
return (React.createElement("div", { className: 'content-state--empty-container'
|
61
|
+
+ (this.props.absolutePositioned ? ' content-state__empty-container--absolute' : '') },
|
61
62
|
React.createElement("div", { className: 'content-state__empty-info' },
|
62
63
|
React.createElement("figure", { className: classes },
|
63
64
|
React.createElement("img", { src: image, alt: this.props.illustration })),
|
@@ -83,7 +83,7 @@ var ContentListItem = /** @class */ (function (_super) {
|
|
83
83
|
? React.createElement("div", { className: "sd-list-item__border sd-list-item__border--locked" })
|
84
84
|
: React.createElement("div", { className: "sd-list-item__border" }),
|
85
85
|
this.props.itemColum.map(function (item, index) {
|
86
|
-
return React.createElement("div", { className: "sd-list-item__column
|
86
|
+
return React.createElement("div", { className: "\n sd-list-item__column\n ".concat(item.fullwidth && 'sd-list-item__column--grow', "\n ").concat(!item.border && 'sd-list-item__column--no-border'), key: index }, item.itemRow.map(function (e, i) {
|
87
87
|
return (item.itemRow.length <= 1
|
88
88
|
? React.createElement(React.Fragment, { key: i }, e.content)
|
89
89
|
: React.createElement("div", { className: "sd-list-item__row", key: i }, e.content));
|
@@ -76,7 +76,10 @@ var BottomNav = /** @class */ (function (_super) {
|
|
76
76
|
BottomNav.prototype.render = function () {
|
77
77
|
var _this = this;
|
78
78
|
return (React.createElement("ul", { className: 'sd-bottom-nav-list' }, this.props.items.map(function (item, index) {
|
79
|
-
return (React.createElement("li", { key: index, className: 'sd-bottom-nav-list__item'
|
79
|
+
return (React.createElement("li", { key: index, className: 'sd-bottom-nav-list__item'
|
80
|
+
+ (item['active']
|
81
|
+
? ' sd-bottom-nav-list__item--active'
|
82
|
+
: (index === _this.state.index ? ' sd-bottom-nav-list__item--active' : '')) },
|
80
83
|
React.createElement("a", { className: 'sd-bottom-nav-list__item-title', onClick: function (event) {
|
81
84
|
_this.handleClick(index);
|
82
85
|
item.onClick(event);
|
@@ -111,7 +111,8 @@ var QuickNavBar = /** @class */ (function (_super) {
|
|
111
111
|
}
|
112
112
|
else {
|
113
113
|
return (React.createElement("li", { key: index, "data-sd-tooltip": item['tooltip'], "data-flow": 'right' },
|
114
|
-
React.createElement("a", { role: 'button', "aria-label": item['tooltip'], className: 'sd-quickbar__btn'
|
114
|
+
React.createElement("a", { role: 'button', "aria-label": item['tooltip'], className: 'sd-quickbar__btn'
|
115
|
+
+ (index === _this.state.index ? ' sd-quickbar__btn--active' : ''), onClick: function () { return _this.handleClick(item, index, event); } },
|
115
116
|
React.createElement(Icon_1.Icon, { size: 'small', name: item['icon'] }))));
|
116
117
|
}
|
117
118
|
}))));
|
@@ -80,7 +80,9 @@ var SideBarMenu = /** @class */ (function (_super) {
|
|
80
80
|
return (React.createElement("li", { key: index, "data-sd-tooltip": item['tooltip'], "data-flow": 'right', className: item.hover ? 'authoring-active__item' : '' },
|
81
81
|
React.createElement("a", { className: 'sd-sidebar-menu__btn'
|
82
82
|
+ (_this.state.hover ? ' sd-sidebar-menu__btn--closed ' : '')
|
83
|
-
+ (item['active']
|
83
|
+
+ (item['active']
|
84
|
+
? ' sd-sidebar-menu__btn--active'
|
85
|
+
: (index === _this.state.index ? ' sd-sidebar-menu__btn--active' : '')), onClick: function () {
|
84
86
|
_this.handleClick(index);
|
85
87
|
if (item.hover) {
|
86
88
|
_this.handleArrows();
|
@@ -86,7 +86,8 @@ var TabList = /** @class */ (function (_super) {
|
|
86
86
|
_a));
|
87
87
|
return (React.createElement(React.Fragment, null,
|
88
88
|
React.createElement("div", { className: classes, role: 'tablist' }, this.props.children.map(function (item, index) {
|
89
|
-
return React.createElement("button", { key: index, onClick: function () { return _this.handleChange(index); }, role: 'tab', "aria-selected": _this.state.index === index ? 'true' : 'false', className: 'sd-nav-tabs__tab'
|
89
|
+
return React.createElement("button", { key: index, onClick: function () { return _this.handleChange(index); }, role: 'tab', "aria-selected": _this.state.index === index ? 'true' : 'false', className: 'sd-nav-tabs__tab'
|
90
|
+
+ (_this.state.index === index ? ' sd-nav-tabs__tab--active' : '') },
|
90
91
|
React.createElement("span", null, item.props.label));
|
91
92
|
})),
|
92
93
|
React.createElement("div", { className: 'sd-nav-tabs__content' +
|
@@ -60,7 +60,7 @@ var TagInput = /** @class */ (function (_super) {
|
|
60
60
|
return (React.createElement(SelectPreview_1.SelectPreview, { kind: { mode: 'multi-select' }, items: this.props.value, getLabel: function (item) { return item; } }));
|
61
61
|
}
|
62
62
|
return (React.createElement(Form_1.InputWrapper, { label: this.props.label, error: this.props.error, invalid: this.props.error != null, required: this.props.required, disabled: this.props.disabled, info: this.props.info, inlineLabel: this.props.inlineLabel, labelHidden: this.props.labelHidden, htmlId: this.htmlId, tabindex: this.props.tabindex },
|
63
|
-
React.createElement(chips_1.Chips, { className: "tags-input--multi-select sd-input__input
|
63
|
+
React.createElement(chips_1.Chips, { className: "\n tags-input--multi-select sd-input__input\n ".concat(this.props.disabled ? ' tags-input__padding-disabled' : ''), allowDuplicate: false, separator: ",", onChange: function (event) { return onChange(event.value); }, value: value, placeholder: this.props.disabled ? undefined : placeholder, disabled: this.props.disabled })));
|
64
64
|
};
|
65
65
|
return TagInput;
|
66
66
|
}(React.Component));
|
@@ -18,7 +18,7 @@ interface IPropsBase<T> extends IInputWrapper {
|
|
18
18
|
value?: Array<T>;
|
19
19
|
selectBranchWithChildren?: boolean;
|
20
20
|
readOnly?: boolean;
|
21
|
-
|
21
|
+
width?: 'medium' | 'match-input';
|
22
22
|
inputWidth?: '100%';
|
23
23
|
allowMultiple?: boolean;
|
24
24
|
loading?: boolean;
|
@@ -26,6 +26,7 @@ interface IPropsBase<T> extends IInputWrapper {
|
|
26
26
|
placeholder?: string;
|
27
27
|
searchPlaceholder?: string;
|
28
28
|
zIndex?: number;
|
29
|
+
'data-test-id'?: string;
|
29
30
|
getLabel(item: T): string;
|
30
31
|
getId(item: T): string;
|
31
32
|
getBackgroundColor?(item: T): string;
|
@@ -33,7 +34,6 @@ interface IPropsBase<T> extends IInputWrapper {
|
|
33
34
|
optionTemplate?(item: T): React.ComponentType<T> | JSX.Element;
|
34
35
|
valueTemplate?(item: T, Wrapper: React.ElementType): React.ComponentType<T> | JSX.Element;
|
35
36
|
onChange(e: Array<T>): void;
|
36
|
-
'data-test-id'?: string;
|
37
37
|
}
|
38
38
|
interface IPropsSync<T> extends IPropsBase<T> {
|
39
39
|
kind: 'synchronous';
|
@@ -65,6 +65,7 @@ export declare class TreeSelect<T> extends React.Component<IProps<T>, IState<T>>
|
|
65
65
|
buttonFocus: () => void;
|
66
66
|
onMouseDown: (event: MouseEvent) => void;
|
67
67
|
onKeyDown: (e: KeyboardEvent) => void;
|
68
|
+
onPressEsc: (event: KeyboardEvent) => void;
|
68
69
|
componentDidMount: () => void;
|
69
70
|
componentWillUnmount(): void;
|
70
71
|
componentDidUpdate(prevProps: Readonly<IProps<T>>, prevState: Readonly<IState<T>>): void;
|