superdesk-ui-framework 3.0.1-beta.3 → 3.0.1-beta.4
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/_sd-tag-input.scss +201 -296
- package/app/styles/components/_list-item.scss +13 -1
- package/app/styles/components/_sd-photo-preview.scss +1 -1
- package/app/styles/design-tokens/_new-colors.scss +1 -1
- package/app/styles/form-elements/_forms-general.scss +22 -7
- package/app/styles/form-elements/_inputs.scss +131 -54
- package/app-typescript/components/Badge.tsx +3 -2
- package/app-typescript/components/DatePicker.tsx +40 -52
- package/app-typescript/components/DurationInput.tsx +306 -0
- package/app-typescript/components/Form/InputBase.tsx +85 -0
- package/app-typescript/components/Form/InputNew.tsx +105 -0
- package/app-typescript/components/Form/InputWrapper.tsx +79 -0
- package/app-typescript/components/Form/index.tsx +3 -0
- package/app-typescript/components/Input.tsx +28 -45
- package/app-typescript/components/Label.tsx +49 -10
- package/app-typescript/components/Layouts/Layout.tsx +1 -1
- package/app-typescript/components/Lists/ContentList.tsx +4 -4
- package/app-typescript/components/MultiSelect.tsx +37 -50
- package/app-typescript/components/Navigation/BottomNav.tsx +3 -2
- package/app-typescript/components/Select.tsx +23 -41
- package/app-typescript/components/SelectWithTemplate.tsx +32 -7
- package/app-typescript/components/TimePicker.tsx +48 -16
- package/app-typescript/components/TreeSelect.tsx +423 -195
- package/app-typescript/index.ts +3 -1
- package/dist/examples.bundle.js +16398 -15334
- package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +64 -54
- package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +24 -16
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +76 -1
- package/dist/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
- package/dist/react/Badges.tsx +18 -0
- package/dist/react/ContentList.tsx +15 -9
- package/dist/react/DatePicker.tsx +21 -1
- package/dist/react/DurationInput.tsx +104 -0
- package/dist/react/Index.tsx +5 -0
- package/dist/react/Inputs.tsx +153 -2
- package/dist/react/Labels.tsx +51 -1
- package/dist/react/MultiSelect.tsx +4 -1
- package/dist/react/SelectWithTemplate.tsx +6 -1
- package/dist/react/TableList.tsx +22 -44
- package/dist/react/TimePicker.tsx +16 -8
- package/dist/react/TreeSelect.tsx +301 -48
- package/dist/react/tree-select/TreeSelect.tsx +273 -0
- package/dist/react/tree-select/example-1.tsx +71 -0
- package/dist/react/tree-select/example-2.tsx +59 -0
- package/dist/superdesk-ui.bundle.css +411 -370
- package/dist/superdesk-ui.bundle.js +15554 -14493
- package/dist/vendor.bundle.js +27 -27
- package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +64 -54
- package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +24 -16
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +76 -1
- package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
- package/examples/pages/react/Badges.tsx +18 -0
- package/examples/pages/react/ContentList.tsx +15 -9
- package/examples/pages/react/DatePicker.tsx +21 -1
- package/examples/pages/react/DurationInput.tsx +104 -0
- package/examples/pages/react/Index.tsx +5 -0
- package/examples/pages/react/Inputs.tsx +153 -2
- package/examples/pages/react/Labels.tsx +51 -1
- package/examples/pages/react/MultiSelect.tsx +4 -1
- package/examples/pages/react/SelectWithTemplate.tsx +6 -1
- package/examples/pages/react/TableList.tsx +22 -44
- package/examples/pages/react/TimePicker.tsx +16 -8
- package/examples/pages/react/TreeSelect.tsx +301 -48
- package/examples/pages/react/tree-select/TreeSelect.tsx +273 -0
- package/examples/pages/react/tree-select/example-1.tsx +71 -0
- package/examples/pages/react/tree-select/example-2.tsx +59 -0
- package/package.json +2 -1
- package/react/components/Badge.d.ts +1 -0
- package/react/components/Badge.js +2 -2
- package/react/components/DatePicker.d.ts +1 -0
- package/react/components/DatePicker.js +6 -22
- package/react/components/DurationInput.d.ts +38 -0
- package/react/components/DurationInput.js +271 -0
- package/react/components/Form/InputBase.d.ts +42 -0
- package/react/components/Form/InputBase.js +72 -0
- package/react/components/Form/InputNew.d.ts +45 -0
- package/react/components/Form/InputNew.js +73 -0
- package/react/components/Form/InputWrapper.d.ts +28 -0
- package/react/components/Form/InputWrapper.js +91 -0
- package/react/components/Form/index.d.ts +3 -0
- package/react/components/Form/index.js +7 -1
- package/react/components/Input.js +5 -34
- package/react/components/Label.d.ts +1 -0
- package/react/components/Label.js +18 -2
- package/react/components/Layouts/Layout.js +1 -1
- package/react/components/Lists/ContentList.d.ts +45 -0
- package/react/components/Lists/ContentList.js +85 -0
- package/react/components/Navigation/BottomNav.d.ts +1 -0
- package/react/components/Navigation/BottomNav.js +2 -2
- package/react/components/Select.d.ts +1 -1
- package/react/components/Select.js +4 -26
- package/react/components/SelectWithTemplate.d.ts +11 -1
- package/react/components/SelectWithTemplate.js +19 -10
- package/react/components/TimePicker.d.ts +15 -2
- package/react/components/TimePicker.js +15 -4
- package/react/components/TreeSelect.d.ts +75 -0
- package/react/components/TreeSelect.js +448 -0
- package/react/index.d.ts +3 -0
- package/react/index.js +8 -3
package/dist/vendor.bundle.js
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
var a = typeof exports === 'object' ? factory(require("react"), require("react-dom")) : factory(root["react"], root["react-dom"]);
|
8
8
|
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
9
9
|
}
|
10
|
-
})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__,
|
10
|
+
})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_9__) {
|
11
11
|
return /******/ (function(modules) { // webpackBootstrap
|
12
12
|
/******/ // The module cache
|
13
13
|
/******/ var installedModules = {};
|
@@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|
70
70
|
/******/ __webpack_require__.p = "";
|
71
71
|
/******/
|
72
72
|
/******/ // Load entry module and return exports
|
73
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
73
|
+
/******/ return __webpack_require__(__webpack_require__.s = 488);
|
74
74
|
/******/ })
|
75
75
|
/************************************************************************/
|
76
76
|
/******/ ({
|
@@ -82,7 +82,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
|
|
82
82
|
|
83
83
|
/***/ }),
|
84
84
|
|
85
|
-
/***/
|
85
|
+
/***/ 33:
|
86
86
|
/***/ (function(module, exports, __webpack_require__) {
|
87
87
|
|
88
88
|
/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
@@ -17296,11 +17296,11 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
|
|
17296
17296
|
}
|
17297
17297
|
}.call(this));
|
17298
17298
|
|
17299
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(
|
17299
|
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(39), __webpack_require__(47)(module)))
|
17300
17300
|
|
17301
17301
|
/***/ }),
|
17302
17302
|
|
17303
|
-
/***/
|
17303
|
+
/***/ 39:
|
17304
17304
|
/***/ (function(module, exports) {
|
17305
17305
|
|
17306
17306
|
var g;
|
@@ -17328,7 +17328,7 @@ module.exports = g;
|
|
17328
17328
|
|
17329
17329
|
/***/ }),
|
17330
17330
|
|
17331
|
-
/***/
|
17331
|
+
/***/ 40:
|
17332
17332
|
/***/ (function(module, exports, __webpack_require__) {
|
17333
17333
|
|
17334
17334
|
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
@@ -28217,7 +28217,7 @@ return jQuery;
|
|
28217
28217
|
|
28218
28218
|
/***/ }),
|
28219
28219
|
|
28220
|
-
/***/
|
28220
|
+
/***/ 47:
|
28221
28221
|
/***/ (function(module, exports) {
|
28222
28222
|
|
28223
28223
|
module.exports = function(module) {
|
@@ -28246,29 +28246,29 @@ module.exports = function(module) {
|
|
28246
28246
|
|
28247
28247
|
/***/ }),
|
28248
28248
|
|
28249
|
-
/***/
|
28249
|
+
/***/ 488:
|
28250
28250
|
/***/ (function(module, exports, __webpack_require__) {
|
28251
28251
|
|
28252
28252
|
"use strict";
|
28253
28253
|
|
28254
28254
|
|
28255
|
-
__webpack_require__(
|
28255
|
+
__webpack_require__(33);
|
28256
28256
|
|
28257
|
-
__webpack_require__(
|
28257
|
+
__webpack_require__(40);
|
28258
28258
|
|
28259
|
-
__webpack_require__(
|
28259
|
+
__webpack_require__(489);
|
28260
28260
|
|
28261
|
-
__webpack_require__(
|
28261
|
+
__webpack_require__(491);
|
28262
28262
|
|
28263
|
-
__webpack_require__(
|
28263
|
+
__webpack_require__(493);
|
28264
28264
|
|
28265
28265
|
__webpack_require__(0);
|
28266
28266
|
|
28267
|
-
__webpack_require__(
|
28267
|
+
__webpack_require__(9);
|
28268
28268
|
|
28269
28269
|
/***/ }),
|
28270
28270
|
|
28271
|
-
/***/
|
28271
|
+
/***/ 489:
|
28272
28272
|
/***/ (function(module, exports, __webpack_require__) {
|
28273
28273
|
|
28274
28274
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
@@ -28292,7 +28292,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
28292
28292
|
if ( true ) {
|
28293
28293
|
|
28294
28294
|
// AMD. Register as an anonymous module.
|
28295
|
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(
|
28295
|
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(40), __webpack_require__(490) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
28296
28296
|
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
28297
28297
|
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
28298
28298
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
@@ -29030,7 +29030,7 @@ return $.widget;
|
|
29030
29030
|
|
29031
29031
|
/***/ }),
|
29032
29032
|
|
29033
|
-
/***/
|
29033
|
+
/***/ 490:
|
29034
29034
|
/***/ (function(module, exports, __webpack_require__) {
|
29035
29035
|
|
29036
29036
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
|
@@ -29039,7 +29039,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
29039
29039
|
if ( true ) {
|
29040
29040
|
|
29041
29041
|
// AMD. Register as an anonymous module.
|
29042
|
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(
|
29042
|
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(40) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
29043
29043
|
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
29044
29044
|
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
29045
29045
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
@@ -29060,16 +29060,16 @@ return $.ui.version = "1.13.0";
|
|
29060
29060
|
|
29061
29061
|
/***/ }),
|
29062
29062
|
|
29063
|
-
/***/
|
29063
|
+
/***/ 491:
|
29064
29064
|
/***/ (function(module, exports, __webpack_require__) {
|
29065
29065
|
|
29066
|
-
__webpack_require__(
|
29066
|
+
__webpack_require__(492);
|
29067
29067
|
module.exports = angular;
|
29068
29068
|
|
29069
29069
|
|
29070
29070
|
/***/ }),
|
29071
29071
|
|
29072
|
-
/***/
|
29072
|
+
/***/ 492:
|
29073
29073
|
/***/ (function(module, exports, __webpack_require__) {
|
29074
29074
|
|
29075
29075
|
/* WEBPACK VAR INJECTION */(function(__webpack_provided_window_dot_jQuery) {/**
|
@@ -65672,20 +65672,20 @@ $provide.value("$locale", {
|
|
65672
65672
|
})(window);
|
65673
65673
|
|
65674
65674
|
!window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend(window.angular.element('<style>').text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}'));
|
65675
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(
|
65675
|
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(40)))
|
65676
65676
|
|
65677
65677
|
/***/ }),
|
65678
65678
|
|
65679
|
-
/***/
|
65679
|
+
/***/ 493:
|
65680
65680
|
/***/ (function(module, exports, __webpack_require__) {
|
65681
65681
|
|
65682
|
-
__webpack_require__(
|
65682
|
+
__webpack_require__(494);
|
65683
65683
|
module.exports = 'ngAnimate';
|
65684
65684
|
|
65685
65685
|
|
65686
65686
|
/***/ }),
|
65687
65687
|
|
65688
|
-
/***/
|
65688
|
+
/***/ 494:
|
65689
65689
|
/***/ (function(module, exports) {
|
65690
65690
|
|
65691
65691
|
/**
|
@@ -69964,10 +69964,10 @@ angular.module('ngAnimate', [], function initAngularHelpers() {
|
|
69964
69964
|
|
69965
69965
|
/***/ }),
|
69966
69966
|
|
69967
|
-
/***/
|
69967
|
+
/***/ 9:
|
69968
69968
|
/***/ (function(module, exports) {
|
69969
69969
|
|
69970
|
-
module.exports =
|
69970
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE_9__;
|
69971
69971
|
|
69972
69972
|
/***/ })
|
69973
69973
|
|
@@ -5,6 +5,7 @@ import * as Layout from '../../../../app-typescript/components/Layouts';
|
|
5
5
|
import * as Form from '../../../../app-typescript/components/Form';
|
6
6
|
import * as Nav from '../../../../app-typescript/components/Navigation';
|
7
7
|
import { BottomNav } from '../../../../app-typescript/components/Navigation/BottomNav';
|
8
|
+
import { clone } from 'lodash';
|
8
9
|
|
9
10
|
interface IProps {
|
10
11
|
children?: React.ReactNode;
|
@@ -19,6 +20,7 @@ interface IState {
|
|
19
20
|
theme: 'dark' | 'light' | string;
|
20
21
|
mainMenuOpen: boolean;
|
21
22
|
notificationsOpen: boolean;
|
23
|
+
botNavArray: any;
|
22
24
|
}
|
23
25
|
|
24
26
|
export class CoreLayout extends React.Component<IProps, IState> {
|
@@ -28,9 +30,16 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
28
30
|
theme: 'light',
|
29
31
|
mainMenuOpen: false,
|
30
32
|
notificationsOpen: false,
|
33
|
+
botNavArray: [
|
34
|
+
{ icon:'photo', title: 'Sed posuere consectetur est at lobortis.', onClick: () => false, onRemove: (e) => this.handleDelete(e) },
|
35
|
+
{ title: 'Nullam id dolor id nibh ultricies.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
|
36
|
+
{ icon:'video', title: 'Nulla vitae elit libero, a pharetra augue.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
|
37
|
+
{ title: 'Donec sed odio dui.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
|
38
|
+
]
|
31
39
|
}
|
32
40
|
this.handleMainMenu = this.handleMainMenu.bind(this);
|
33
41
|
this.handleNotifications = this.handleNotifications.bind(this);
|
42
|
+
this.handleDelete = this.handleDelete.bind(this);
|
34
43
|
}
|
35
44
|
|
36
45
|
handleMainMenu() {
|
@@ -38,56 +47,64 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
38
47
|
mainMenuOpen: !state.mainMenuOpen,
|
39
48
|
}));
|
40
49
|
}
|
50
|
+
|
41
51
|
handleNotifications() {
|
42
52
|
this.setState((state) => ({
|
43
53
|
notificationsOpen: !state.notificationsOpen,
|
44
54
|
}));
|
45
55
|
}
|
56
|
+
|
57
|
+
handleDelete(indexNumber: number) {
|
58
|
+
const newItems = clone(this.state.botNavArray);
|
59
|
+
newItems.splice(indexNumber, 1);
|
46
60
|
|
61
|
+
this.setState({
|
62
|
+
botNavArray: newItems,
|
63
|
+
});
|
64
|
+
}
|
47
65
|
|
48
66
|
render() {
|
49
67
|
return (
|
50
68
|
<Layout.CoreLayout
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
</Layout.MainMenu>
|
69
|
+
heading='Core Layout'
|
70
|
+
menuOpen={this.state.mainMenuOpen}
|
71
|
+
onClick={this.handleMainMenu}
|
72
|
+
active={this.state.mainMenuOpen}
|
73
|
+
ariaControls='main-menu'
|
74
|
+
menuId='main-menu'
|
75
|
+
slideInMenu={(
|
76
|
+
<Layout.MainMenu
|
77
|
+
headerTitle='Main Menu'
|
78
|
+
poweredBy='Powered by Superdesk technology'
|
79
|
+
header={(null)}
|
80
|
+
footerContent={true}
|
81
|
+
footer={(
|
82
|
+
<p>Menu footer testing</p>
|
83
|
+
)}>
|
84
|
+
<LeftMenu
|
85
|
+
style='blanc'
|
86
|
+
reverseItemBorder={true}
|
87
|
+
size='large'
|
88
|
+
ariaLabel={'Left navigation'}
|
89
|
+
activeItemId='1'
|
90
|
+
groups={[
|
91
|
+
{ label: 'MAIN SECTIONS', items: [
|
92
|
+
{ id: '1', label: 'Section 1', ref:'section1'},
|
93
|
+
{ id: '2', label: 'Section 2', ref: 'section2' },
|
94
|
+
{ id: '3', label: 'Section 3', ref: 'section3' },
|
95
|
+
|
96
|
+
]},
|
97
|
+
{ label:'OTHER SECTIONS', items: [
|
98
|
+
{ id: '4', label: 'Section 4', ref: 'section4' },
|
99
|
+
{ id: '5', label: 'Section 5', ref: 'section5' },
|
100
|
+
]},
|
101
|
+
{ label:'OTHER SECTIONS', items: [
|
102
|
+
{ id: '6', label: 'Section 6', ref: 'section6' },
|
103
|
+
{ id: '7', label: 'Section 7', ref: 'section7' },
|
104
|
+
]}
|
105
|
+
]}
|
106
|
+
onSelect={() => false} />
|
107
|
+
</Layout.MainMenu>
|
91
108
|
)}
|
92
109
|
topMenu={(
|
93
110
|
<NavButton badgeValue='6' icon='bell' text='Show notifications' onClick={this.handleNotifications} />
|
@@ -96,22 +113,16 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
96
113
|
<>
|
97
114
|
<Layout.BottomBarAction onClick={()=> false} />
|
98
115
|
<BottomNav
|
99
|
-
items={
|
100
|
-
{ icon:'photo', title: 'Sed posuere consectetur est at lobortis.', onClick: () => console.log('test1') },
|
101
|
-
{ title: 'Nullam id dolor id nibh ultricies.', onClick: () => console.log('test2')},
|
102
|
-
{ icon:'video', title: 'Nulla vitae elit libero, a pharetra augue.', onClick: () => false},
|
103
|
-
{ title: 'Donec sed odio dui.', onClick: () => false},
|
104
|
-
]} />
|
116
|
+
items={this.state.botNavArray} />
|
105
117
|
</>
|
106
118
|
)}
|
107
119
|
overlay={(
|
108
120
|
<Layout.NotificationPanel
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
>
|
121
|
+
header={(null)}
|
122
|
+
headerTitle='Notifications'
|
123
|
+
open={this.state.notificationsOpen}
|
124
|
+
onClick={this.handleNotifications}
|
125
|
+
theme='dark'>
|
115
126
|
<BoxedList>
|
116
127
|
<BoxedListItem unread={true}>
|
117
128
|
<Time datetime='29.06.2022'>29.06.2022</Time>
|
@@ -137,8 +148,7 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
137
148
|
</BoxedList>
|
138
149
|
|
139
150
|
</Layout.NotificationPanel>
|
140
|
-
)}
|
141
|
-
>
|
151
|
+
)}>
|
142
152
|
</Layout.CoreLayout>
|
143
153
|
);
|
144
154
|
}
|
@@ -27,6 +27,7 @@ interface IState {
|
|
27
27
|
rightPanelPinned: boolean;
|
28
28
|
sideOverlayOpen: boolean;
|
29
29
|
array: any;
|
30
|
+
inputValue: string;
|
30
31
|
}
|
31
32
|
|
32
33
|
export class RundownEditor extends React.Component<IProps, IState> {
|
@@ -46,6 +47,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
46
47
|
rightPanelOpen: false,
|
47
48
|
rightPanelPinned: false,
|
48
49
|
sideOverlayOpen: false,
|
50
|
+
inputValue: 'string',
|
49
51
|
array: [
|
50
52
|
{
|
51
53
|
start: <>
|
@@ -137,7 +139,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
137
139
|
<Layout.HeaderPanel>
|
138
140
|
<SubNav>
|
139
141
|
<ButtonGroup align='end'>
|
140
|
-
<Button text="Cancel"
|
142
|
+
<Button text="Cancel" onClick={()=> false} type="default" />
|
141
143
|
<Button text="Save Rundown" onClick={()=> false} type="primary" />
|
142
144
|
<Divider size="mini" />
|
143
145
|
<ButtonGroup subgroup={true} spaces="no-space">
|
@@ -299,30 +301,36 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
299
301
|
)}
|
300
302
|
>
|
301
303
|
<Container direction='column' className='sd-margin-y--2'>
|
302
|
-
<
|
303
|
-
|
304
|
+
<Input
|
305
|
+
label='Rundown title'
|
306
|
+
value={'Marker // 01.06.2022'}
|
307
|
+
boxedStyle={true}
|
308
|
+
boxedLable={true}
|
309
|
+
size='x-large'
|
310
|
+
placeholder='Rundown title'
|
311
|
+
labelHidden={true}
|
304
312
|
type='text'
|
305
|
-
|
306
|
-
|
313
|
+
tabindex={0}
|
314
|
+
onChange={(value) => this.setState({inputValue: value})} />
|
307
315
|
</Container>
|
308
316
|
<ButtonGroup>
|
309
317
|
<IconLabel style='translucent' innerLabel='Airtime:' text='19:00 - 19:45' size='large' type='primary' icon='time' />
|
310
318
|
<IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='large' type='warning' />
|
311
319
|
<Text color='light' size='medium' className='sd-margin--0'>OF</Text>
|
312
|
-
<IconLabel style='translucent' innerLabel='Planned
|
320
|
+
<IconLabel style='translucent' innerLabel='Planned:'text='00:45' size='large' />
|
313
321
|
</ButtonGroup>
|
314
322
|
|
315
323
|
<TableList
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
324
|
+
className='sd-margin-y--4'
|
325
|
+
dragAndDrop
|
326
|
+
addItem
|
327
|
+
array={this.state.array}
|
328
|
+
itemsDropdown={[
|
329
|
+
{ label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
|
330
|
+
{ label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
|
331
|
+
{ label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
|
332
|
+
]}
|
333
|
+
onClick={() => false}
|
326
334
|
/>
|
327
335
|
|
328
336
|
</Layout.AuthoringMain>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import * as Components from './components/Index';
|
3
|
-
import { Checkbox, RadioGroup, CheckboxButton, RadioButtonGroup, Button, NavButton, SubNav, Dropdown, CheckButtonGroup, Input, Select, Option, Label, Icon, IconButton, CheckGroup, GridList, Badge, ThemeSelector, Container, IconLabel, Tooltip, Spinner } from '../../../../app-typescript/index';
|
3
|
+
import { Checkbox, RadioGroup, CheckboxButton, RadioButtonGroup, Button, NavButton, SubNav, Dropdown, CheckButtonGroup, Input, Select, Option, Label, Icon, IconButton, CheckGroup, GridList, Badge, ThemeSelector, Container, IconLabel, Tooltip, Spinner, Divider, InputWrapper, DatePicker, TimePicker, InputNew, InputBase } from '../../../../app-typescript/index';
|
4
4
|
import { Carousel } from '../../../../app-typescript/index';
|
5
5
|
import * as GridElements from '../../../../app-typescript/components/GridItem';
|
6
6
|
|
@@ -23,6 +23,9 @@ interface IState {
|
|
23
23
|
value5?: string;
|
24
24
|
value6?: string;
|
25
25
|
selctedTheme: string;
|
26
|
+
invalid: boolean;
|
27
|
+
date: any;
|
28
|
+
time: string;
|
26
29
|
}
|
27
30
|
|
28
31
|
export class TestGround extends React.Component<IProps, IState> {
|
@@ -40,6 +43,9 @@ export class TestGround extends React.Component<IProps, IState> {
|
|
40
43
|
value5: undefined,
|
41
44
|
value6: undefined,
|
42
45
|
selctedTheme: 'light',
|
46
|
+
invalid: false,
|
47
|
+
date: '01/08/2022',
|
48
|
+
time: '16:50',
|
43
49
|
}
|
44
50
|
}
|
45
51
|
|
@@ -56,6 +62,58 @@ export class TestGround extends React.Component<IProps, IState> {
|
|
56
62
|
<Components.Layout header='Testing Ground'>
|
57
63
|
<Components.LayoutContainer>
|
58
64
|
<Components.MainPanel>
|
65
|
+
<InputNew
|
66
|
+
label='testt'
|
67
|
+
value=''
|
68
|
+
onChange={(value) => false}
|
69
|
+
//placeholder='test'
|
70
|
+
required={true}
|
71
|
+
info='Nullam Sollicitudin'
|
72
|
+
maxLength={20}
|
73
|
+
//invalid={true}
|
74
|
+
//disabled={true}
|
75
|
+
error='Error message'
|
76
|
+
//inlineLabel={true}
|
77
|
+
//labelHidden={true}
|
78
|
+
type='text' />
|
79
|
+
|
80
|
+
<hr />
|
81
|
+
<div className='form__group-new'>
|
82
|
+
<Input value='' onChange={(value) => {}} type='text' label='Text input' placeholder='Enter text' disabled={true} />
|
83
|
+
<Input value='' onChange={(value) => {}} type='text' label='Text input' placeholder='Enter text' disabled={true} />
|
84
|
+
<DatePicker
|
85
|
+
value={this.state.date}
|
86
|
+
onChange={(date) => {
|
87
|
+
this.setState({date});
|
88
|
+
}}
|
89
|
+
disabled={true}
|
90
|
+
dateFormat="DD-MM-YYYY"
|
91
|
+
label='Date'
|
92
|
+
info='Nullam Sollicitudin'
|
93
|
+
error='Error message'
|
94
|
+
inlineLabel={true}
|
95
|
+
|
96
|
+
shortcuts={[
|
97
|
+
{label: 'tomorrow', days: 1},
|
98
|
+
{label: 'yesterday', days: -1},
|
99
|
+
]}
|
100
|
+
/>
|
101
|
+
<TimePicker
|
102
|
+
value={this.state.time}
|
103
|
+
disabled={true}
|
104
|
+
required={true}
|
105
|
+
label='Time'
|
106
|
+
onChange={(time) => {
|
107
|
+
this.setState({time});
|
108
|
+
}}
|
109
|
+
/>
|
110
|
+
<Button text="Exit" type='primary' onClick={()=> false} />
|
111
|
+
|
112
|
+
<Button text="Cancel" onClick={()=> false} />
|
113
|
+
|
114
|
+
<Button text="Save" type='primary' onClick={()=> false} />
|
115
|
+
</div>
|
116
|
+
<hr />
|
59
117
|
<h3 className="docs-page__h3 sd-margin-y--0">Table list</h3>
|
60
118
|
<hr />
|
61
119
|
<ul className='table-list'>
|
@@ -396,6 +454,23 @@ export class TestGround extends React.Component<IProps, IState> {
|
|
396
454
|
]} onChange={($event)=>{this.setState({selctedTheme: $event})}} value={this.state.selctedTheme} />
|
397
455
|
</Container>
|
398
456
|
<hr />
|
457
|
+
<Container className='sd-padding--4 sd-panel-bg--100 sd-radius--large'>
|
458
|
+
<Button text="Exit" type='primary' onClick={()=> false} />
|
459
|
+
<Divider />
|
460
|
+
<Button text="Cancel" onClick={()=> false} />
|
461
|
+
<Divider />
|
462
|
+
<Button text="Save" type='primary' onClick={()=> false} />
|
463
|
+
</Container>
|
464
|
+
<hr />
|
465
|
+
<Container className='sd-padding--4 sd-panel-bg--100 sd-radius--large'>
|
466
|
+
|
467
|
+
<InputWrapper
|
468
|
+
label="Label"
|
469
|
+
invalid={false}>
|
470
|
+
<input type='text' />
|
471
|
+
</InputWrapper>
|
472
|
+
</Container>
|
473
|
+
<hr />
|
399
474
|
<Container className='sd-padding--4 sd-panel-bg--100 sd-radius--large'>
|
400
475
|
<div className='sd-dropzone__drop-target'>
|
401
476
|
<div className='sd-dropzone__target-border'></div>
|
@@ -89,6 +89,16 @@ export default class BadgeDoc extends React.Component {
|
|
89
89
|
<Badge text='E' color='purple--400' shape='square' />
|
90
90
|
<Badge text='F' color='purple--500' shape='square' />
|
91
91
|
</div>
|
92
|
+
|
93
|
+
<p className="docs-page__paragraph">// Custom hex colours</p>
|
94
|
+
<div className='docs-page__content-row'>
|
95
|
+
<Badge text='1' hexColor='#008773' />
|
96
|
+
<Badge text='2' hexColor='#0000FF' />
|
97
|
+
<Badge text='3' hexColor='#00D100' />
|
98
|
+
<Badge text='4' hexColor='#5531D9' shape='square' />
|
99
|
+
<Badge text='5' hexColor='#960E0F' shape='square' />
|
100
|
+
<Badge text='6' hexColor='#DB60FF' shape='square' />
|
101
|
+
</div>
|
92
102
|
</Markup.ReactMarkupPreview>
|
93
103
|
<Markup.ReactMarkupCode>{`
|
94
104
|
// Basic colour palette
|
@@ -112,6 +122,13 @@ export default class BadgeDoc extends React.Component {
|
|
112
122
|
<Badge text='D' color='purple--300' shape='square'/>
|
113
123
|
<Badge text='E' color='purple--400' shape='square'/>
|
114
124
|
<Badge text='F' color='purple--500' shape='square'/>
|
125
|
+
// Custom hex colours
|
126
|
+
<Badge text='1' hexColor='#008773' />
|
127
|
+
<Badge text='2' hexColor='#0000FF' />
|
128
|
+
<Badge text='3' hexColor='#00D100' />
|
129
|
+
<Badge text='4' hexColor='#5531D9' shape='square' />
|
130
|
+
<Badge text='5' hexColor='#960E0F' shape='square' />
|
131
|
+
<Badge text='6' hexColor='#DB60FF' shape='square' />
|
115
132
|
`}
|
116
133
|
</Markup.ReactMarkupCode>
|
117
134
|
</Markup.ReactMarkup>
|
@@ -152,6 +169,7 @@ export default class BadgeDoc extends React.Component {
|
|
152
169
|
<Prop name='type' isRequired={false} type='default | primary | success | warning | alert | highlight | sd-green' default='default' description='Default + semantic colour variations (e.g. primary, success etc.)' />
|
153
170
|
<Prop name='color' isRequired={false} type='string' default='/' description='Extended color palette from the framework (e.g. red--500); NOTE: The badge can have either a Type or Color defined, not both at the same time.' />
|
154
171
|
<Prop name='shape' isRequired={false} type='round | square' default='round' description='Make shape of badge square or default round.' />
|
172
|
+
<Prop name='hexColor' isRequired={false} type='string' default='/' description='Define a custom Hex colour for the Badge.'/>
|
155
173
|
</PropsList>
|
156
174
|
</section>
|
157
175
|
)
|
@@ -98,7 +98,8 @@ export default class ContentListDoc extends React.Component {
|
|
98
98
|
fullwidth: true,
|
99
99
|
}
|
100
100
|
],
|
101
|
-
locked: true,
|
101
|
+
//locked: true,
|
102
|
+
selected: true,
|
102
103
|
action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
|
103
104
|
},
|
104
105
|
{
|
@@ -262,18 +263,23 @@ export default class ContentListDoc extends React.Component {
|
|
262
263
|
</Markup.ReactMarkup>
|
263
264
|
|
264
265
|
<h3 className="docs-page__h3">Props</h3>
|
265
|
-
<p className="docs-page__paragraph">
|
266
|
+
<p className="docs-page__paragraph">ContentList</p>
|
266
267
|
<PropsList>
|
267
|
-
<Prop name='
|
268
|
+
<Prop name='items' isRequired={true} type='Array' default='compact' description='An array of object.'/>
|
268
269
|
</PropsList>
|
269
|
-
<p className="docs-page__paragraph">
|
270
|
+
<p className="docs-page__paragraph">Items:</p>
|
270
271
|
<PropsList>
|
271
|
-
<Prop name='
|
272
|
-
<Prop name='
|
273
|
-
<Prop name='
|
274
|
-
<Prop name='
|
272
|
+
<Prop name='itemColum' isRequired={true} type='Array<{itemRow: Array<{content: any}>, border?: boolean, fullwidth?: boolean}>' default='false' description='An array of objects for defining column of individual items.'/>
|
273
|
+
<Prop name='action' isRequired={false} type='React.ReactNode' default='false' description='On hover displays an additional menu.'/>
|
274
|
+
<Prop name='locked' isRequired={false} type='boolean' default='false' description='If is true, the individual item of list change state and change style.'/>
|
275
|
+
<Prop name='activated' isRequired={false} type='boolean' default='false' description='If is true, the individual item of list change state and change style.'/>
|
276
|
+
<Prop name='selected' isRequired={false} type='boolean' default='false' description='If is true, the individual item of list change state and change style.'/>
|
277
|
+
<Prop name='archived' isRequired={false} type='boolean' default='false' description='If is true, the individual item of list change state and change style.'/>
|
278
|
+
<Prop name='loading' isRequired={false} type='boolean' default='false' description='If is true, the individual item of list change state and change style.'/>
|
279
|
+
<Prop name='onClick' isRequired={false} type='function' default='/' description='onClick functionality.'/>
|
280
|
+
<Prop name='onDoubleClick' isRequired={false} type='function' default='/' description='onDoubleClick functionality.'/>
|
275
281
|
</PropsList>
|
276
|
-
|
282
|
+
|
277
283
|
</section>
|
278
284
|
)
|
279
285
|
}
|