superdesk-ui-framework 3.0.36 → 3.0.39
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/.eslintignore +1 -0
- package/app/styles/_drag-handle.scss +24 -0
- package/app/styles/_sd-tag-input.scss +3 -5
- package/app/styles/_tag-labels.scss +0 -2
- package/app/styles/app.scss +1 -0
- package/app/styles/form-elements/_checkbox.scss +3 -0
- package/app/styles/form-elements/_input-preview.scss +70 -0
- package/app/styles/form-elements/_inputs.scss +10 -14
- package/app/styles/primereact/_pr-tag-input.scss +1 -1
- package/app-typescript/components/DatePicker.tsx +101 -101
- package/app-typescript/components/DragHandle.tsx +13 -0
- package/app-typescript/components/DurationInput.tsx +76 -76
- package/app-typescript/components/Form/InputNew.tsx +1 -1
- package/app-typescript/components/Form/InputWrapper.tsx +34 -18
- package/app-typescript/components/Input.tsx +38 -62
- package/app-typescript/components/MultiSelect.tsx +49 -47
- package/app-typescript/components/Select.tsx +13 -22
- package/app-typescript/components/SelectPreview.tsx +100 -0
- package/app-typescript/components/SelectWithTemplate.tsx +2 -12
- package/app-typescript/components/TagInput.tsx +25 -24
- package/app-typescript/components/TimePicker.tsx +13 -16
- package/app-typescript/components/TreeSelect.tsx +180 -131
- package/app-typescript/index.ts +1 -0
- package/dist/examples.bundle.css +20 -0
- package/dist/examples.bundle.js +2485 -2198
- package/dist/react/Autocomplete.tsx +32 -31
- package/dist/react/DatePicker.tsx +56 -73
- package/dist/react/DragHandleDocs.tsx +26 -0
- package/dist/react/DurationInput.tsx +36 -47
- package/dist/react/Index.tsx +6 -1
- package/dist/react/Inputs.tsx +86 -248
- package/dist/react/MultiSelect.tsx +30 -23
- package/dist/react/Selects.tsx +12 -44
- package/dist/react/TagInputDocs.tsx +15 -21
- package/dist/react/TimePicker.tsx +25 -32
- package/dist/react/TreeSelect.tsx +97 -90
- package/dist/superdesk-ui.bundle.css +105 -18
- package/dist/superdesk-ui.bundle.js +2118 -1888
- package/dist/vendor.bundle.js +14 -14
- package/examples/pages/react/Autocomplete.tsx +32 -31
- package/examples/pages/react/DatePicker.tsx +56 -73
- package/examples/pages/react/DragHandleDocs.tsx +26 -0
- package/examples/pages/react/DurationInput.tsx +36 -47
- package/examples/pages/react/Index.tsx +6 -1
- package/examples/pages/react/Inputs.tsx +86 -248
- package/examples/pages/react/MultiSelect.tsx +30 -23
- package/examples/pages/react/Selects.tsx +12 -44
- package/examples/pages/react/TagInputDocs.tsx +15 -21
- package/examples/pages/react/TimePicker.tsx +25 -32
- package/examples/pages/react/TreeSelect.tsx +97 -90
- package/globals.d.ts +4 -0
- package/package.json +1 -1
- package/react/components/DatePicker.d.ts +2 -12
- package/react/components/DatePicker.js +14 -8
- package/react/components/DragHandle.d.ts +5 -0
- package/react/components/DragHandle.js +59 -0
- package/react/components/DurationInput.d.ts +2 -11
- package/react/components/DurationInput.js +14 -4
- package/react/components/Form/InputNew.d.ts +1 -1
- package/react/components/Form/InputWrapper.d.ts +11 -5
- package/react/components/Form/InputWrapper.js +6 -9
- package/react/components/Input.d.ts +3 -19
- package/react/components/Input.js +8 -21
- package/react/components/MultiSelect.d.ts +4 -13
- package/react/components/MultiSelect.js +6 -2
- package/react/components/Select.d.ts +3 -15
- package/react/components/Select.js +7 -8
- package/react/components/SelectPreview.d.ts +17 -0
- package/react/components/SelectPreview.js +109 -0
- package/react/components/SelectWithTemplate.d.ts +2 -11
- package/react/components/SelectWithTemplate.js +0 -1
- package/react/components/TagInput.d.ts +3 -12
- package/react/components/TagInput.js +6 -2
- package/react/components/TimePicker.d.ts +2 -11
- package/react/components/TimePicker.js +6 -2
- package/react/components/TreeSelect.d.ts +2 -11
- package/react/components/TreeSelect.js +49 -26
- package/react/index.d.ts +1 -0
- package/react/index.js +3 -1
- package/tsconfig.json +1 -1
@@ -60,6 +60,7 @@ var Form_1 = require("./Form");
|
|
60
60
|
var core_1 = require("@popperjs/core");
|
61
61
|
var lodash_1 = require("lodash");
|
62
62
|
var Label_1 = require("./Label");
|
63
|
+
var SelectPreview_1 = require("./SelectPreview");
|
63
64
|
var TreeSelect = /** @class */ (function (_super) {
|
64
65
|
__extends(TreeSelect, _super);
|
65
66
|
function TreeSelect(props) {
|
@@ -91,7 +92,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
91
92
|
_this.backButton();
|
92
93
|
_this.backButtonValue();
|
93
94
|
var buttonTarget = _this.state.buttonTarget;
|
94
|
-
var className = buttonTarget.pop();
|
95
|
+
var className = "".concat(buttonTarget.pop(), "-focus");
|
95
96
|
if (className != null) {
|
96
97
|
var element = document.getElementsByClassName(className)[0];
|
97
98
|
element.focus();
|
@@ -424,12 +425,16 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
424
425
|
} },
|
425
426
|
React.createElement("button", { className: "suggestion-item--btn" },
|
426
427
|
_this.props.getBorderColor
|
427
|
-
&& React.createElement("div", { className: "item-border", style: {
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
428
|
+
&& React.createElement("div", { className: "item-border", style: {
|
429
|
+
backgroundColor: _this.props.getBorderColor(option.value),
|
430
|
+
} }),
|
431
|
+
React.createElement("span", { className: 'suggestion-item--bgcolor'
|
432
|
+
+ (selectedItem ? ' suggestion-item--disabled' : ''), style: _this.props.getBackgroundColor
|
433
|
+
? {
|
434
|
+
backgroundColor: _this.props.getBackgroundColor(option.value),
|
435
|
+
color: (0, Label_1.getTextColor)(_this.props.getBackgroundColor(option.value)),
|
436
|
+
}
|
437
|
+
: undefined }, _this.props.optionTemplate
|
433
438
|
? _this.props.optionTemplate(option.value)
|
434
439
|
: _this.props.getLabel(option.value)),
|
435
440
|
option.children
|
@@ -481,7 +486,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
481
486
|
return _this.props.getId(obj) === _this.props.getId(buttonValue.value);
|
482
487
|
});
|
483
488
|
if (!selectedButton) {
|
484
|
-
return React.createElement("button", {
|
489
|
+
return React.createElement("button", { className: 'autocomplete__button' + (this.props.selectBranchWithChildren ? ' autocomplete__button--multi-select' : ''), ref: this.categoryButtonRef, onMouseOver: function () { return _this.setState({ buttonMouseEvent: true }); }, onMouseOut: function () { return _this.setState({ buttonMouseEvent: false }); }, onClick: function (event) { return _this.handleBranchValue(event, buttonValue); } }, "Choose entire category");
|
485
490
|
}
|
486
491
|
else {
|
487
492
|
return React.createElement("button", { className: 'autocomplete__button'
|
@@ -506,28 +511,46 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
506
511
|
};
|
507
512
|
TreeSelect.prototype.render = function () {
|
508
513
|
var _this = this;
|
509
|
-
|
510
|
-
React.createElement(
|
514
|
+
if (this.props.preview) {
|
515
|
+
return (React.createElement(SelectPreview_1.SelectPreview, { kind: this.props.allowMultiple
|
516
|
+
? {
|
517
|
+
mode: 'multi-select',
|
518
|
+
getBackgroundColor: this.props.getBackgroundColor,
|
519
|
+
}
|
520
|
+
: {
|
521
|
+
mode: 'single-select',
|
522
|
+
getBorderColor: this.props.getBorderColor,
|
523
|
+
}, items: this.state.value, valueTemplate: this.props.valueTemplate, getLabel: this.props.getLabel }));
|
524
|
+
}
|
525
|
+
return (React.createElement(Form_1.InputWrapper, { label: this.props.label, error: this.props.error, 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 },
|
526
|
+
React.createElement("div", { className: "tags-input sd-input__input tags-input--".concat(this.props.allowMultiple ? 'multi-select' : 'single-select') },
|
511
527
|
this.props.allowMultiple
|
512
528
|
? React.createElement("div", { className: "tags-input__tags" },
|
513
529
|
this.props.readOnly
|
514
|
-
|| React.createElement("button", { ref: this.openDropdownRef, className: "tags-input__add-button", onClick: function () {
|
530
|
+
|| React.createElement("button", { ref: this.openDropdownRef, className: "tags-input__add-button ".concat(this.props.disabled ? 'tags-input__add-button--disabled' : ''), onClick: function () {
|
531
|
+
if (!_this.props.disabled) {
|
532
|
+
_this.setState({ openDropdown: !_this.state.openDropdown });
|
533
|
+
}
|
534
|
+
} },
|
515
535
|
React.createElement("i", { className: "icon-plus-large" })),
|
516
536
|
React.createElement("ul", { className: "tags-input__tag-list" }, this.state.value.map(function (item, i) {
|
517
537
|
var Wrapper = function (_a) {
|
518
538
|
var backgroundColor = _a.backgroundColor, children = _a.children;
|
519
539
|
return (React.createElement("li", { className: "tags-input__tag-item tags-input__tag-item--multi-select"
|
520
|
-
+ (_this.props.readOnly ? ' tags-input__tag-item--readonly' : ''), onClick: function () { return !_this.props.readOnly && _this.
|
540
|
+
+ (_this.props.readOnly ? ' tags-input__tag-item--readonly' : ''), onClick: function () { return (!_this.props.readOnly && !_this.props.disabled)
|
541
|
+
&& _this.removeClick(i); }, style: _this.props.valueTemplate
|
521
542
|
? { backgroundColor: backgroundColor }
|
522
543
|
: _this.props.getBackgroundColor
|
523
544
|
&& { backgroundColor: _this.props.getBackgroundColor(item) } },
|
524
|
-
React.createElement("span", { style: { color: backgroundColor
|
545
|
+
React.createElement("span", { className: "tags-input__helper-box", style: { color: backgroundColor
|
525
546
|
? (0, Label_1.getTextColor)(backgroundColor)
|
526
547
|
: _this.props.getBackgroundColor
|
527
|
-
&& (0, Label_1.getTextColor)(_this.props.getBackgroundColor(item))
|
548
|
+
&& (0, Label_1.getTextColor)(_this.props.getBackgroundColor(item)),
|
549
|
+
} },
|
528
550
|
children,
|
529
|
-
!_this.props.readOnly
|
530
|
-
React.createElement(
|
551
|
+
!_this.props.readOnly
|
552
|
+
&& React.createElement("span", { className: "tags-input__remove-button" },
|
553
|
+
React.createElement(Icon_1.Icon, { name: "close-small" })))));
|
531
554
|
};
|
532
555
|
return (React.createElement(React.Fragment, { key: i }, _this.props.valueTemplate
|
533
556
|
? _this.props.valueTemplate(item, Wrapper)
|
@@ -535,7 +558,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
535
558
|
React.createElement("span", null, _this.props.getLabel(item)))));
|
536
559
|
})),
|
537
560
|
this.state.value.length > 0
|
538
|
-
? this.props.readOnly
|
561
|
+
? (this.props.readOnly || this.props.disabled)
|
539
562
|
|| React.createElement("button", { className: "tags-input__remove-value", style: { position: 'relative', bottom: '2px' }, onClick: function () { return _this.setState({ value: [] }); } },
|
540
563
|
React.createElement(Icon_1.Icon, { name: 'remove-sign' }))
|
541
564
|
: null)
|
@@ -550,7 +573,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
550
573
|
var Wrapper = function (_a) {
|
551
574
|
var backgroundColor = _a.backgroundColor, borderColor = _a.borderColor, children = _a.children;
|
552
575
|
return (React.createElement("span", { className: 'tags-input__single-item'
|
553
|
-
+ (_this.props.readOnly ? ' tags-input__tag-item--readonly' : ''), onClick: function () { return _this.props.readOnly
|
576
|
+
+ (_this.props.readOnly ? ' tags-input__tag-item--readonly' : ''), onClick: function () { return !_this.props.readOnly && _this.removeClick(i); } },
|
554
577
|
_this.props.getBorderColor
|
555
578
|
&& React.createElement("div", { className: "item-border item-border-selected", style: borderColor
|
556
579
|
? { backgroundColor: borderColor }
|
@@ -567,7 +590,8 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
567
590
|
React.createElement("span", null, _this.props.getLabel(item))));
|
568
591
|
})),
|
569
592
|
this.state.openDropdown
|
570
|
-
&& React.createElement("div", { className: "autocomplete autocomplete--multi-select"
|
593
|
+
&& React.createElement("div", { className: "autocomplete autocomplete--multi-select"
|
594
|
+
+ (this.props.width === 'medium' ? ' autocomplete--fixed-width' : ''), style: { zIndex: this.props.zIndex }, ref: this.dropdownRef },
|
571
595
|
React.createElement("div", { className: 'autocomplete__header' },
|
572
596
|
React.createElement("div", { className: "autocomplete__icon", onClick: function () {
|
573
597
|
_this.backButtonValue();
|
@@ -575,7 +599,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
575
599
|
} },
|
576
600
|
React.createElement(Icon_1.Icon, { name: "search", className: "search" })),
|
577
601
|
React.createElement("div", { className: 'autocomplete__filter' },
|
578
|
-
React.createElement("input", {
|
602
|
+
React.createElement("input", { className: "autocomplete__input", type: "text", placeholder: this.props.searchPlaceholder, ref: this.inputRef, value: this.state.searchFieldValue, onChange: function (event) {
|
579
603
|
var _a, _b;
|
580
604
|
if (_this.props.kind === 'synchronous') {
|
581
605
|
_this.setState({ searchFieldValue: event.target.value });
|
@@ -611,8 +635,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
611
635
|
React.createElement(Loader_1.Loader, { overlay: true }))
|
612
636
|
: this.state.searchFieldValue === ''
|
613
637
|
? this.props.getOptions
|
614
|
-
? React.createElement("ul", { className: "suggestion-list suggestion-list--multi-select", ref: this.ref }, this.state.options
|
615
|
-
.map(function (option, i) {
|
638
|
+
? React.createElement("ul", { className: "suggestion-list suggestion-list--multi-select", ref: this.ref }, this.state.options.map(function (option, i) {
|
616
639
|
var selectedItem = _this.state.value.some(function (obj) {
|
617
640
|
return _this.props.getId(obj) === _this.props.getId(option.value);
|
618
641
|
});
|
@@ -621,7 +644,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
621
644
|
event.stopPropagation();
|
622
645
|
_this.handleTree(event, option);
|
623
646
|
} },
|
624
|
-
React.createElement("button", { className: "suggestion-item--btn
|
647
|
+
React.createElement("button", { className: "suggestion-item--btn ".concat(_this.props.getId(option.value), "-focus"), onKeyDown: function (event) {
|
625
648
|
if (event.key === 'Enter' && option.children) {
|
626
649
|
_this.setState({
|
627
650
|
buttonTarget: __spreadArray(__spreadArray([], _this.state.buttonTarget, true), [
|
@@ -634,13 +657,13 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
634
657
|
&& React.createElement("div", { className: "item-border", style: {
|
635
658
|
backgroundColor: _this.props.getBorderColor(option.value),
|
636
659
|
} }),
|
637
|
-
React.createElement("span", {
|
660
|
+
React.createElement("span", { className: 'suggestion-item--bgcolor'
|
661
|
+
+ (selectedItem ? ' suggestion-item--disabled' : ''), style: (_this.props.getBackgroundColor && option.value)
|
638
662
|
? {
|
639
663
|
backgroundColor: _this.props.getBackgroundColor(option.value),
|
640
664
|
color: (0, Label_1.getTextColor)(_this.props.getBackgroundColor(option.value)),
|
641
665
|
}
|
642
|
-
: undefined,
|
643
|
-
+ (selectedItem ? ' suggestion-item--disabled' : '') }, _this.props.optionTemplate
|
666
|
+
: undefined }, _this.props.optionTemplate
|
644
667
|
? _this.props.optionTemplate(option.value)
|
645
668
|
: _this.props.getLabel(option.value)),
|
646
669
|
option.children
|
package/react/index.d.ts
CHANGED
@@ -89,5 +89,6 @@ export { MultiSelect } from './components/MultiSelect';
|
|
89
89
|
export { ResizablePanels } from './components/ResizablePanels';
|
90
90
|
export { WithPopover } from './components/WithPopover';
|
91
91
|
export { Spacer, SpacerBlock } from './components/Spacer';
|
92
|
+
export { DragHandle } from './components/DragHandle';
|
92
93
|
export declare const ToggleBoxNext: any;
|
93
94
|
export declare const reactToAngular1: any;
|
package/react/index.js
CHANGED
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
19
19
|
exports.ContentDivider = exports.Divider = exports.Icon = exports.Prop = exports.PropsList = exports.StrechBar = exports.SlidingToolbar = exports.SubNavDivider = exports.SubNav = exports.LeftMenu = exports.TabList = exports.Tab = exports.NavButton = exports.CheckButtonGroup = exports.CheckGroup = exports.CheckboxButton = exports.RadioButtonGroup = exports.Checkbox = exports.RadioGroup = exports.Loader = exports.ButtonGroup = exports.SwitchGroup = exports.Switch = exports.FormLabel = exports.TimePicker = exports.DatePickerISO = exports.DatePicker = exports.getDurationString = exports.DurationInput = exports.Tooltip = exports.IconLabel = exports.IconButton = exports.Rotate = exports.AvatarPlaceholder = exports.Avatar = exports.AvatarGroup = exports.AvatarContentImage = exports.AvatarContentText = exports.AvatarWrapper = exports.Alert = exports.Badge = exports.Label = exports.Popover = exports.WithPagination = exports.SelectWithTemplate = exports.Option = exports.Select = exports.Input = exports.Button = exports.HelloWorld = void 0;
|
20
20
|
exports.TreeSelect = exports.BottomNav = exports.Heading = exports.Time = exports.Text = exports.LoadingOverlay = exports.Spinner = exports.ListItemLoader = exports.Skeleton = exports.WithSizeObserver = exports.SearchBar = exports.CreateButton = exports.DropZone = exports.ThemeSelector = exports.IconPicker = exports.SelectGrid = exports.ToggleBox = exports.Menu = exports.toasted = exports.GridItemCheckWrapper = exports.GridItemTopActions = exports.GridItemFooterActions = exports.GridItemFooterBlock = exports.GridItemSlug = exports.GridItemText = exports.GridItemTitle = exports.GridItemTime = exports.GridItemContentBlock = exports.GridItemFooter = exports.GridItemMedia = exports.GridItemContent = exports.GridItem = exports.GridList = exports.Modal = exports.Carousel = exports.DonutChart = exports.Autocomplete = exports.EmptyState = exports.Tabs = exports.TabContent = exports.TabPanel = exports.TabLabel = exports.TagInput = exports.Tag = exports.Dropdown = exports.DropdownDivider = exports.DropdownLabel = exports.DropdownItem = exports.DropdownFirst = exports.HeadingText = void 0;
|
21
|
-
exports.SpacerBlock = exports.Spacer = exports.WithPopover = exports.ResizablePanels = exports.MultiSelect = exports.ContentListItem = exports.TableListItem = exports.TableList = void 0;
|
21
|
+
exports.DragHandle = exports.SpacerBlock = exports.Spacer = exports.WithPopover = exports.ResizablePanels = exports.MultiSelect = exports.ContentListItem = exports.TableListItem = exports.TableList = void 0;
|
22
22
|
var HelloWorld_1 = require("./components/HelloWorld");
|
23
23
|
Object.defineProperty(exports, "HelloWorld", { enumerable: true, get: function () { return HelloWorld_1.HelloWorld; } });
|
24
24
|
var Button_1 = require("./components/Button");
|
@@ -217,3 +217,5 @@ Object.defineProperty(exports, "WithPopover", { enumerable: true, get: function
|
|
217
217
|
var Spacer_1 = require("./components/Spacer");
|
218
218
|
Object.defineProperty(exports, "Spacer", { enumerable: true, get: function () { return Spacer_1.Spacer; } });
|
219
219
|
Object.defineProperty(exports, "SpacerBlock", { enumerable: true, get: function () { return Spacer_1.SpacerBlock; } });
|
220
|
+
var DragHandle_1 = require("./components/DragHandle");
|
221
|
+
Object.defineProperty(exports, "DragHandle", { enumerable: true, get: function () { return DragHandle_1.DragHandle; } });
|
package/tsconfig.json
CHANGED