superdesk-ui-framework 3.1.9 → 3.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/app/styles/_helpers.scss +926 -776
  2. package/app/styles/_master-desk.scss +2 -2
  3. package/app/styles/_toggle-box.scss +45 -28
  4. package/app/styles/components/_sd-collapse-box.scss +113 -0
  5. package/app/styles/components/_subnav.scss +0 -1
  6. package/app/styles/design-tokens/_design-tokens-general.scss +19 -5
  7. package/app/styles/design-tokens/_new-colors.scss +11 -1
  8. package/app/styles/form-elements/_inputs.scss +14 -0
  9. package/app/styles/grids/_grid-layout.scss +3 -0
  10. package/app-typescript/components/DatePicker.tsx +6 -0
  11. package/app-typescript/components/Layouts/LayoutContainer.tsx +7 -1
  12. package/app-typescript/components/Layouts/PageLayout.tsx +2 -1
  13. package/app-typescript/components/TimePickerV2.tsx +222 -0
  14. package/app-typescript/components/ToggleBox/CustomHeaderToggleBox.tsx +61 -0
  15. package/app-typescript/components/{Togglebox.tsx → ToggleBox/SimpleToggleBox.tsx} +13 -34
  16. package/app-typescript/components/ToggleBox/index.tsx +43 -0
  17. package/app-typescript/components/TreeMenu.tsx +12 -7
  18. package/app-typescript/components/TreeSelect/TreeSelect.tsx +13 -12
  19. package/app-typescript/components/TreeSelect/TreeSelectItem.tsx +11 -1
  20. package/app-typescript/index.ts +2 -1
  21. package/dist/components/Alerts.tsx +1 -1
  22. package/dist/components/ContentDivider.tsx +1 -1
  23. package/dist/components/DragHandleDocs.tsx +2 -2
  24. package/dist/components/Index.tsx +105 -50
  25. package/dist/components/Panel.tsx +13 -13
  26. package/dist/components/Tags.tsx +2 -2
  27. package/dist/components/TimePicker.tsx +43 -1
  28. package/dist/components/Togglebox.tsx +171 -17
  29. package/dist/components/TreeMenu.tsx +2 -0
  30. package/dist/components/utilities/BorderRadiusUtilities.tsx +56 -0
  31. package/dist/components/utilities/BorderUtilities.tsx +170 -0
  32. package/dist/components/utilities/DisplayUtilities.tsx +116 -0
  33. package/dist/components/utilities/FlexAndGridUtilities.tsx +551 -0
  34. package/dist/components/utilities/ObjectFitUtilities.tsx +53 -0
  35. package/dist/components/utilities/ObjectPositionUtilities.tsx +68 -0
  36. package/dist/components/utilities/OpacityUtilities.tsx +64 -0
  37. package/dist/components/utilities/OverflowUtilities.tsx +93 -0
  38. package/dist/components/utilities/PositionUtilities.tsx +52 -0
  39. package/dist/components/utilities/ShadowUtilities.tsx +123 -0
  40. package/dist/components/utilities/SpacingUtilities.tsx +2 -2
  41. package/dist/components/utilities/TextUtilities.tsx +83 -4
  42. package/dist/components.html +2 -4
  43. package/dist/components_deprecated/modals.html +2 -2
  44. package/dist/components_deprecated.html +1 -0
  45. package/dist/design-patterns/Index.tsx +1 -42
  46. package/dist/design-patterns/ThreePaneLayoutPattern.tsx +1 -1
  47. package/dist/design-patterns.html +2 -4
  48. package/dist/design.html +1 -0
  49. package/dist/examples.bundle.css +15 -7
  50. package/dist/examples.bundle.js +4283 -2189
  51. package/dist/main.html +1 -0
  52. package/dist/playgrounds/react-playgrounds/Rundowns.tsx +1 -1
  53. package/dist/playgrounds/react-playgrounds/TestGround.tsx +214 -2
  54. package/dist/playgrounds.html +1 -0
  55. package/dist/superdesk-ui.bundle.css +1397 -1019
  56. package/dist/superdesk-ui.bundle.js +2039 -1653
  57. package/dist/vendor.bundle.js +16 -16
  58. package/examples/css/docs-page.css +15 -7
  59. package/examples/js/doc.js +13 -1
  60. package/examples/pages/components/Alerts.tsx +1 -1
  61. package/examples/pages/components/ContentDivider.tsx +1 -1
  62. package/examples/pages/components/DragHandleDocs.tsx +2 -2
  63. package/examples/pages/components/Index.tsx +105 -50
  64. package/examples/pages/components/Panel.tsx +13 -13
  65. package/examples/pages/components/Tags.tsx +2 -2
  66. package/examples/pages/components/TimePicker.tsx +43 -1
  67. package/examples/pages/components/Togglebox.tsx +171 -17
  68. package/examples/pages/components/TreeMenu.tsx +2 -0
  69. package/examples/pages/components/utilities/BorderRadiusUtilities.tsx +56 -0
  70. package/examples/pages/components/utilities/BorderUtilities.tsx +170 -0
  71. package/examples/pages/components/utilities/DisplayUtilities.tsx +116 -0
  72. package/examples/pages/components/utilities/FlexAndGridUtilities.tsx +551 -0
  73. package/examples/pages/components/utilities/ObjectFitUtilities.tsx +53 -0
  74. package/examples/pages/components/utilities/ObjectPositionUtilities.tsx +68 -0
  75. package/examples/pages/components/utilities/OpacityUtilities.tsx +64 -0
  76. package/examples/pages/components/utilities/OverflowUtilities.tsx +93 -0
  77. package/examples/pages/components/utilities/PositionUtilities.tsx +52 -0
  78. package/examples/pages/components/utilities/ShadowUtilities.tsx +123 -0
  79. package/examples/pages/components/utilities/SpacingUtilities.tsx +2 -2
  80. package/examples/pages/components/utilities/TextUtilities.tsx +83 -4
  81. package/examples/pages/components.html +2 -4
  82. package/examples/pages/components_deprecated/modals.html +2 -2
  83. package/examples/pages/components_deprecated.html +1 -0
  84. package/examples/pages/design-patterns/Index.tsx +1 -42
  85. package/examples/pages/design-patterns/ThreePaneLayoutPattern.tsx +1 -1
  86. package/examples/pages/design-patterns.html +2 -4
  87. package/examples/pages/design.html +1 -0
  88. package/examples/pages/main.html +1 -0
  89. package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +1 -1
  90. package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +214 -2
  91. package/examples/pages/playgrounds.html +1 -0
  92. package/package.json +1 -1
  93. package/react/components/DatePicker.d.ts +3 -0
  94. package/react/components/DatePicker.js +2 -2
  95. package/react/components/Layouts/LayoutContainer.d.ts +1 -0
  96. package/react/components/Layouts/LayoutContainer.js +8 -1
  97. package/react/components/Layouts/PageLayout.d.ts +1 -0
  98. package/react/components/Layouts/PageLayout.js +1 -1
  99. package/react/components/TimePickerV2.d.ts +28 -0
  100. package/react/components/TimePickerV2.js +189 -0
  101. package/react/components/ToggleBox/CustomHeaderToggleBox.d.ts +12 -0
  102. package/react/components/ToggleBox/CustomHeaderToggleBox.js +81 -0
  103. package/react/components/ToggleBox/SimpleToggleBox.d.ts +18 -0
  104. package/react/components/{Togglebox.js → ToggleBox/SimpleToggleBox.js} +15 -13
  105. package/react/components/ToggleBox/index.d.ts +27 -0
  106. package/react/components/ToggleBox/index.js +71 -0
  107. package/react/components/TreeMenu.js +9 -7
  108. package/react/components/TreeSelect/TreeSelect.js +9 -11
  109. package/react/components/TreeSelect/TreeSelectItem.d.ts +1 -0
  110. package/react/components/TreeSelect/TreeSelectItem.js +7 -4
  111. package/react/index.d.ts +2 -1
  112. package/react/index.js +7 -5
  113. package/react/components/Togglebox.d.ts +0 -28
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.CustomHeaderToggleBox = void 0;
45
+ var React = __importStar(require("react"));
46
+ var classnames_1 = __importDefault(require("classnames"));
47
+ var react_id_generator_1 = __importDefault(require("react-id-generator"));
48
+ var CustomHeaderToggleBox = /** @class */ (function (_super) {
49
+ __extends(CustomHeaderToggleBox, _super);
50
+ function CustomHeaderToggleBox(props) {
51
+ var _this = this;
52
+ var _a;
53
+ _this = _super.call(this, props) || this;
54
+ _this.htmlId = (0, react_id_generator_1.default)('togglebox-');
55
+ _this.toggle = function () {
56
+ _this.setState({ isOpen: !_this.state.isOpen }, function () {
57
+ var _a, _b;
58
+ (_b = (_a = _this.props).onToggle) === null || _b === void 0 ? void 0 : _b.call(_a, _this.state.isOpen);
59
+ });
60
+ };
61
+ _this.state = {
62
+ isOpen: (_a = _this.props.initiallyOpen) !== null && _a !== void 0 ? _a : false,
63
+ };
64
+ return _this;
65
+ }
66
+ CustomHeaderToggleBox.prototype.render = function () {
67
+ var classes = (0, classnames_1.default)('sd-shadow--z1 new-collapse-box', {
68
+ 'new-collapse-box--open': this.state.isOpen,
69
+ });
70
+ var isOpen = this.state.isOpen;
71
+ return (React.createElement("div", { className: classes, "aria-expanded": isOpen, "data-test-id": 'toggle-box' },
72
+ React.createElement("div", { className: 'new-collapse-box__header' },
73
+ React.createElement("div", { className: 'new-collapse-box__header-inner' }, this.props.header),
74
+ React.createElement("button", { className: 'new-collapse-box__divider', onClick: this.toggle, "aria-controls": this.htmlId },
75
+ React.createElement("span", { className: 'label label--translucent new-collapse-box__divider-label' }, this.props.toggleButtonLabel))),
76
+ React.createElement("div", { className: 'new-collapse-box__content' },
77
+ React.createElement("div", { id: this.htmlId, "aria-hidden": !isOpen, className: 'new-collapse-box__content-inner p-2 pt-0-5' }, this.props.children))));
78
+ };
79
+ return CustomHeaderToggleBox;
80
+ }(React.PureComponent));
81
+ exports.CustomHeaderToggleBox = CustomHeaderToggleBox;
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import { IPropsSimple } from "../ToggleBox/index";
3
+ interface IState {
4
+ isOpen: boolean;
5
+ }
6
+ /**
7
+ * @ngdoc react
8
+ * @name ToggleBox
9
+ * @description ToggleBox used to open/close a set of details
10
+ */
11
+ export declare class SimpleToggleBox extends React.PureComponent<IPropsSimple, IState> {
12
+ htmlId: string;
13
+ constructor(props: IPropsSimple);
14
+ handleKeyDown: (event: React.KeyboardEvent<HTMLAnchorElement>) => void;
15
+ toggle: () => void;
16
+ render(): JSX.Element;
17
+ }
18
+ export {};
@@ -41,7 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  return (mod && mod.__esModule) ? mod : { "default": mod };
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.ToggleBox = void 0;
44
+ exports.SimpleToggleBox = void 0;
45
45
  var React = __importStar(require("react"));
46
46
  var classnames_1 = __importDefault(require("classnames"));
47
47
  var react_id_generator_1 = __importDefault(require("react-id-generator"));
@@ -50,13 +50,13 @@ var react_id_generator_1 = __importDefault(require("react-id-generator"));
50
50
  * @name ToggleBox
51
51
  * @description ToggleBox used to open/close a set of details
52
52
  */
53
- var ToggleBox = /** @class */ (function (_super) {
54
- __extends(ToggleBox, _super);
55
- function ToggleBox(props) {
53
+ var SimpleToggleBox = /** @class */ (function (_super) {
54
+ __extends(SimpleToggleBox, _super);
55
+ function SimpleToggleBox(props) {
56
56
  var _this = this;
57
57
  var _a;
58
58
  _this = _super.call(this, props) || this;
59
- _this.htmlId = (0, react_id_generator_1.default)();
59
+ _this.htmlId = (0, react_id_generator_1.default)('togglebox-');
60
60
  _this.handleKeyDown = function (event) {
61
61
  if (event.key === "ArrowRight" && !_this.state.isOpen) {
62
62
  _this.setState({ isOpen: true });
@@ -83,27 +83,29 @@ var ToggleBox = /** @class */ (function (_super) {
83
83
  };
84
84
  return _this;
85
85
  }
86
- ToggleBox.prototype.render = function () {
86
+ SimpleToggleBox.prototype.render = function () {
87
87
  var _a;
88
88
  var classes = (0, classnames_1.default)('toggle-box', (_a = {
89
- 'toggle-box--margin-normal': this.props.margin === undefined
89
+ 'toggle-box--margin-normal': this.props.margin === undefined,
90
+ 'toggle-box--large-title': this.props.largeTitle,
91
+ 'toggle-box--circle': this.props.circledChevron
90
92
  },
91
93
  _a["toggle-box--margin-".concat(this.props.margin)] = this.props.margin,
92
94
  _a['hidden'] = !this.state.isOpen,
95
+ _a['open'] = this.state.isOpen,
93
96
  _a), this.props.className);
94
- var _b = this.props, title = _b.title, hideUsingCSS = _b.hideUsingCSS, children = _b.children, badge = _b.badge;
97
+ var _b = this.props, title = _b.title, children = _b.children, badge = _b.badge;
95
98
  var isOpen = this.state.isOpen;
96
99
  return (React.createElement("div", { className: classes },
97
- React.createElement("a", { className: "toggle-box__header", onClick: this.toggle, role: "button", tabIndex: 0, onKeyDown: this.handleKeyDown, id: "togglebox-".concat(this.htmlId) },
100
+ React.createElement("a", { className: "toggle-box__header", onClick: this.toggle, role: "button", tabIndex: 0, onKeyDown: this.handleKeyDown, "aria-expanded": isOpen, "aria-controls": this.htmlId },
98
101
  React.createElement("div", { className: "toggle-box__chevron" },
99
102
  React.createElement("i", { className: "icon-chevron-right-thin" })),
100
103
  React.createElement("div", { className: "toggle-box__label" }, title),
101
104
  React.createElement("div", { className: "toggle-box__line" }),
102
105
  badge ? badge : null),
103
106
  React.createElement("div", { className: "toggle-box__content-wraper" },
104
- isOpen && !hideUsingCSS && (React.createElement("div", { className: "toggle-box__content", "aria-describedby": "togglebox-".concat(this.htmlId) }, children)),
105
- hideUsingCSS && (React.createElement("div", { className: (0, classnames_1.default)('toggle-box__content', { 'toggle-box__content--hidden': !isOpen }), "aria-describedby": "togglebox-".concat(this.htmlId) }, children)))));
107
+ React.createElement("div", { id: this.htmlId, className: "toggle-box__content", "aria-hidden": !isOpen }, children))));
106
108
  };
107
- return ToggleBox;
109
+ return SimpleToggleBox;
108
110
  }(React.PureComponent));
109
- exports.ToggleBox = ToggleBox;
111
+ exports.SimpleToggleBox = SimpleToggleBox;
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ export interface IPropsSimple {
3
+ variant: 'simple';
4
+ title: string;
5
+ badge?: JSX.Element;
6
+ children: React.ReactNode;
7
+ circledChevron?: boolean;
8
+ initiallyOpen?: boolean;
9
+ largeTitle?: boolean;
10
+ className?: string;
11
+ margin?: 'none' | 'small' | 'normal' | 'large';
12
+ onOpen?(): void;
13
+ onClose?(): void;
14
+ }
15
+ export interface IPropsCustomHeader {
16
+ variant: 'custom-header';
17
+ header: React.ReactNode;
18
+ children: React.ReactNode;
19
+ toggleButtonLabel: string;
20
+ initiallyOpen?: boolean;
21
+ onToggle?(isOpen: boolean): void;
22
+ }
23
+ type IProps = IPropsSimple | IPropsCustomHeader;
24
+ export declare class ToggleBox extends React.PureComponent<IProps> {
25
+ render(): JSX.Element;
26
+ }
27
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
35
+ }) : (function(o, m, k, k2) {
36
+ if (k2 === undefined) k2 = k;
37
+ o[k2] = m[k];
38
+ }));
39
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
41
+ }) : function(o, v) {
42
+ o["default"] = v;
43
+ });
44
+ var __importStar = (this && this.__importStar) || function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.ToggleBox = void 0;
53
+ var React = __importStar(require("react"));
54
+ var SimpleToggleBox_1 = require("./SimpleToggleBox");
55
+ var CustomHeaderToggleBox_1 = require("./CustomHeaderToggleBox");
56
+ var ToggleBox = /** @class */ (function (_super) {
57
+ __extends(ToggleBox, _super);
58
+ function ToggleBox() {
59
+ return _super !== null && _super.apply(this, arguments) || this;
60
+ }
61
+ ToggleBox.prototype.render = function () {
62
+ if (this.props.variant === "simple") {
63
+ return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({}, this.props)));
64
+ }
65
+ else {
66
+ return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({}, this.props)));
67
+ }
68
+ };
69
+ return ToggleBox;
70
+ }(React.PureComponent));
71
+ exports.ToggleBox = ToggleBox;
@@ -63,7 +63,7 @@ function nodeCanBeSelected(item) {
63
63
  }
64
64
  function onSelect(item) {
65
65
  if (nodeCanBeSelected(item)) {
66
- return item.onSelect;
66
+ return item.onSelect();
67
67
  }
68
68
  return undefined;
69
69
  }
@@ -248,11 +248,9 @@ var TreeMenu = /** @class */ (function (_super) {
248
248
  });
249
249
  }
250
250
  var item = this.state.buttonTree.pop();
251
- if (item != null) {
252
- this.setState({
253
- buttonValue: item,
254
- });
255
- }
251
+ this.setState({
252
+ buttonValue: item !== null && item !== void 0 ? item : null,
253
+ });
256
254
  };
257
255
  TreeMenu.prototype.recursion = function (arr) {
258
256
  var _this = this;
@@ -325,7 +323,11 @@ var TreeMenu = /** @class */ (function (_super) {
325
323
  : this.props.getLabel(this.state.buttonValue.value)))),
326
324
  this.state.searchFieldValue === '' ?
327
325
  this.props.getOptions ?
328
- React.createElement("ul", { ref: this.ref, className: "suggestion-list suggestion-list--multi-select" }, this.state.options.map(function (option, i) { return (React.createElement(TreeSelectItem_1.TreeSelectItem, { key: i, option: option, handleTree: _this.handleTree, onClick: onSelect(option), disabledItem: disabledItem(option), getBorderColor: _this.props.getBorderColor, getBackgroundColor: _this.props.getBackgroundColor, getId: _this.props.getId, optionTemplate: _this.props.optionTemplate, getLabel: _this.props.getLabel, onKeyDown: function () { return _this.setState({
326
+ React.createElement("ul", { ref: this.ref, className: "suggestion-list suggestion-list--multi-select", role: 'tree' }, this.state.options.map(function (option, i) { return (React.createElement(TreeSelectItem_1.TreeSelectItem, { key: i, option: option, handleTree: _this.handleTree, onClick: function () {
327
+ onSelect(option);
328
+ }, disabledItem: disabledItem(option), getBorderColor: _this.props.getBorderColor, parentCategory: _this.state.buttonValue == null
329
+ ? undefined
330
+ : _this.props.getLabel(_this.state.buttonValue.value), getBackgroundColor: _this.props.getBackgroundColor, getId: _this.props.getId, optionTemplate: _this.props.optionTemplate, getLabel: _this.props.getLabel, onKeyDown: function () { return _this.setState({
329
331
  buttonTarget: __spreadArray(__spreadArray([], _this.state.buttonTarget, true), [
330
332
  _this.props.getId(option.value),
331
333
  ], false),
@@ -403,11 +403,9 @@ var TreeSelect = /** @class */ (function (_super) {
403
403
  });
404
404
  }
405
405
  var item = this.state.buttonTree.pop();
406
- if (item != null) {
407
- this.setState({
408
- buttonValue: item,
409
- });
410
- }
406
+ this.setState({
407
+ buttonValue: item !== null && item !== void 0 ? item : null,
408
+ });
411
409
  };
412
410
  TreeSelect.prototype.recursion = function (arr) {
413
411
  var _this = this;
@@ -576,7 +574,7 @@ var TreeSelect = /** @class */ (function (_super) {
576
574
  searchFieldValue: '',
577
575
  });
578
576
  }
579
- }, "data-test-id": "open-popover" },
577
+ }, "data-test-id": "open-popover", "aria-haspopup": "tree", "aria-expanded": this.state.openDropdown },
580
578
  React.createElement("i", { className: "icon-plus-large" })),
581
579
  React.createElement(ListWrapper, null, this.state.value.map(function (item, i) {
582
580
  var Wrapper = function (_a) {
@@ -632,9 +630,7 @@ var TreeSelect = /** @class */ (function (_super) {
632
630
  width: (_b = this.treeSelectRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth,
633
631
  }, ref: this.dropdownRef },
634
632
  React.createElement("div", { className: 'autocomplete__header' },
635
- React.createElement("div", { className: "autocomplete__icon", onClick: function () {
636
- _this.backButton();
637
- } },
633
+ React.createElement("div", { className: "autocomplete__icon" },
638
634
  React.createElement(Icon_1.Icon, { name: "search", className: "search" })),
639
635
  React.createElement("div", { className: 'autocomplete__filter' },
640
636
  React.createElement("input", { className: "autocomplete__input", type: "text", placeholder: this.props.searchPlaceholder, ref: this.inputRef, value: this.state.searchFieldValue, onChange: function (event) {
@@ -676,11 +672,13 @@ var TreeSelect = /** @class */ (function (_super) {
676
672
  React.createElement(Loader_1.Loader, { overlay: true }))
677
673
  : this.state.searchFieldValue === ''
678
674
  ? this.props.getOptions
679
- ? React.createElement("ul", { className: "suggestion-list suggestion-list--multi-select", ref: this.ref, "data-test-id": "options" }, this.state.options.map(function (option, i) {
675
+ ? React.createElement("ul", { className: "suggestion-list suggestion-list--multi-select", ref: this.ref, "data-test-id": "options", role: 'tree', "aria-multiselectable": this.props.allowMultiple }, this.state.options.map(function (option, i) {
680
676
  var selectedItem = _this.state.value.some(function (obj) {
681
677
  return _this.props.getId(obj) === _this.props.getId(option.value);
682
678
  });
683
- return (React.createElement(TreeSelectItem_1.TreeSelectItem, { key: i, option: option, handleTree: _this.handleTree, selectedItem: selectedItem, allowMultiple: _this.props.allowMultiple, getBorderColor: _this.props.getBorderColor, getBackgroundColor: _this.props.getBackgroundColor, getId: _this.props.getId, optionTemplate: _this.props.optionTemplate, getLabel: _this.props.getLabel, onKeyDown: function () { return _this.setState({
679
+ return (React.createElement(TreeSelectItem_1.TreeSelectItem, { key: i, option: option, handleTree: _this.handleTree, selectedItem: selectedItem, allowMultiple: _this.props.allowMultiple, parentCategory: _this.state.buttonValue == null
680
+ ? undefined
681
+ : _this.props.getLabel(_this.state.buttonValue.value), getBorderColor: _this.props.getBorderColor, getBackgroundColor: _this.props.getBackgroundColor, getId: _this.props.getId, getLabel: _this.props.getLabel, optionTemplate: _this.props.optionTemplate, onKeyDown: function () { return _this.setState({
684
682
  buttonTarget: __spreadArray(__spreadArray([], _this.state.buttonTarget, true), [
685
683
  _this.props.getId(option.value),
686
684
  ], false),
@@ -6,6 +6,7 @@ interface IProps<T> {
6
6
  selectedItem?: boolean;
7
7
  disabledItem?: boolean;
8
8
  allowMultiple?: boolean;
9
+ parentCategory?: string | undefined;
9
10
  handleTree(event: React.MouseEvent<HTMLLIElement, MouseEvent>, option: ITreeNode<T>): any;
10
11
  getLabel(item: T): string;
11
12
  getId(item: T): string;
@@ -53,7 +53,10 @@ var TreeSelectItem = /** @class */ (function (_super) {
53
53
  }
54
54
  TreeSelectItem.prototype.render = function () {
55
55
  var _this = this;
56
- return (React.createElement("li", { className: 'suggestion-item suggestion-item--multi-select', onClick: function (event) {
56
+ var ariaLabel = this.props.parentCategory !== undefined
57
+ ? "".concat(this.props.getLabel(this.props.option.value), ", parent ").concat(this.props.parentCategory)
58
+ : this.props.getLabel(this.props.option.value);
59
+ return (React.createElement("li", { className: 'suggestion-item suggestion-item--multi-select', role: 'none', onClick: function (event) {
57
60
  var _a, _b;
58
61
  if (!_this.props.disabledItem) {
59
62
  (_b = (_a = _this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);
@@ -70,7 +73,7 @@ var TreeSelectItem = /** @class */ (function (_super) {
70
73
  if (event.key === 'Enter' && _this.props.option.children) {
71
74
  (_b = (_a = _this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a);
72
75
  }
73
- }, disabled: this.props.disabledItem, "data-test-id": "option" },
76
+ }, disabled: this.props.disabledItem, "data-test-id": "option", role: 'treeItem', "aria-selected": this.props.selectedItem === true, "aria-disabled": this.props.disabledItem === true },
74
77
  (this.props.getBorderColor && !this.props.allowMultiple)
75
78
  && React.createElement("div", { className: "item-border", style: {
76
79
  backgroundColor: this.props.getBorderColor(this.props.option.value),
@@ -81,11 +84,11 @@ var TreeSelectItem = /** @class */ (function (_super) {
81
84
  backgroundColor: this.props.getBackgroundColor(this.props.option.value),
82
85
  color: (0, Label_1.getTextColor)(this.props.getBackgroundColor(this.props.option.value)),
83
86
  }
84
- : undefined }, this.props.optionTemplate
87
+ : undefined, "aria-label": ariaLabel }, this.props.optionTemplate
85
88
  ? this.props.optionTemplate(this.props.option.value)
86
89
  : this.props.getLabel(this.props.option.value)),
87
90
  this.props.option.children
88
- && React.createElement("span", { className: "suggestion-item__icon" },
91
+ && React.createElement("span", { className: "suggestion-item__icon", "aria-hidden": "true" },
89
92
  React.createElement(Icon_1.Icon, { name: "chevron-right-thin" })))));
90
93
  };
91
94
  return TreeSelectItem;
package/react/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export { DatePicker } from './components/DatePicker';
24
24
  export { DatePickerISO } from './components/DatePicker';
25
25
  export { DatePickerLocaleSettings } from './components/DatePicker';
26
26
  export { TimePicker } from './components/TimePicker';
27
+ export { TimePickerV2 } from './components/TimePickerV2';
27
28
  export { FormLabel } from './components/FormLabel';
28
29
  export { Switch } from './components/Switch';
29
30
  export { SwitchGroup } from './components/SwitchGroup';
@@ -63,7 +64,7 @@ export { GridList } from './components/GridList';
63
64
  export { GridItem, GridItemContent, GridItemMedia, GridItemFooter, GridItemContentBlock, GridItemTime, GridItemTitle, GridItemText, GridItemSlug, GridItemFooterBlock, GridItemFooterActions, GridItemTopActions, GridItemCheckWrapper } from './components/GridItem';
64
65
  export { toasted } from './components/Toast';
65
66
  export { Menu } from './components/Menu';
66
- export { ToggleBox } from './components/Togglebox';
67
+ export { ToggleBox } from './components/ToggleBox/index';
67
68
  export { SelectGrid } from './components/SelectGrid';
68
69
  export { IconPicker } from './components/IconPicker';
69
70
  export { ThemeSelector } from './components/ThemeSelector';
package/react/index.js CHANGED
@@ -16,9 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
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
- exports.Heading = exports.Time = exports.Text = exports.LoadingOverlay = exports.Spinner = exports.ListItemLoader = exports.Skeleton = exports.IllustrationButton = exports.SvgIconIllustration = 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.DragHandle = exports.DragHandleDots = exports.ResizeObserverComponent = exports.SpacerBlock = exports.Spacer = exports.WithPopover = exports.ResizablePanels = exports.MultiSelect = exports.ContentListItem = exports.TableListItem = exports.TableList = exports.TreeMenu = exports.TreeSelect = exports.BottomNav = void 0;
19
+ 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.TimePickerV2 = 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
+ exports.Time = exports.Text = exports.LoadingOverlay = exports.Spinner = exports.ListItemLoader = exports.Skeleton = exports.IllustrationButton = exports.SvgIconIllustration = 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 = exports.ContentDivider = void 0;
21
+ exports.DragHandle = exports.DragHandleDots = exports.ResizeObserverComponent = exports.SpacerBlock = exports.Spacer = exports.WithPopover = exports.ResizablePanels = exports.MultiSelect = exports.ContentListItem = exports.TableListItem = exports.TableList = exports.TreeMenu = exports.TreeSelect = exports.BottomNav = exports.Heading = 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");
@@ -70,6 +70,8 @@ var DatePicker_2 = require("./components/DatePicker");
70
70
  Object.defineProperty(exports, "DatePickerISO", { enumerable: true, get: function () { return DatePicker_2.DatePickerISO; } });
71
71
  var TimePicker_1 = require("./components/TimePicker");
72
72
  Object.defineProperty(exports, "TimePicker", { enumerable: true, get: function () { return TimePicker_1.TimePicker; } });
73
+ var TimePickerV2_1 = require("./components/TimePickerV2");
74
+ Object.defineProperty(exports, "TimePickerV2", { enumerable: true, get: function () { return TimePickerV2_1.TimePickerV2; } });
73
75
  var FormLabel_1 = require("./components/FormLabel");
74
76
  Object.defineProperty(exports, "FormLabel", { enumerable: true, get: function () { return FormLabel_1.FormLabel; } });
75
77
  var Switch_1 = require("./components/Switch");
@@ -166,8 +168,8 @@ var Toast_1 = require("./components/Toast");
166
168
  Object.defineProperty(exports, "toasted", { enumerable: true, get: function () { return Toast_1.toasted; } });
167
169
  var Menu_1 = require("./components/Menu");
168
170
  Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return Menu_1.Menu; } });
169
- var Togglebox_1 = require("./components/Togglebox");
170
- Object.defineProperty(exports, "ToggleBox", { enumerable: true, get: function () { return Togglebox_1.ToggleBox; } });
171
+ var index_1 = require("./components/ToggleBox/index");
172
+ Object.defineProperty(exports, "ToggleBox", { enumerable: true, get: function () { return index_1.ToggleBox; } });
171
173
  var SelectGrid_1 = require("./components/SelectGrid");
172
174
  Object.defineProperty(exports, "SelectGrid", { enumerable: true, get: function () { return SelectGrid_1.SelectGrid; } });
173
175
  var IconPicker_1 = require("./components/IconPicker");
@@ -1,28 +0,0 @@
1
- import * as React from 'react';
2
- interface IProps {
3
- title: string;
4
- badge?: JSX.Element;
5
- children: any;
6
- hideUsingCSS?: boolean;
7
- initiallyOpen?: boolean;
8
- className?: string;
9
- margin?: 'none' | 'small' | 'normal' | 'large';
10
- onOpen?(): void;
11
- onClose?(): void;
12
- }
13
- interface IState {
14
- isOpen: boolean;
15
- }
16
- /**
17
- * @ngdoc react
18
- * @name ToggleBox
19
- * @description ToggleBox used to open/close a set of details
20
- */
21
- export declare class ToggleBox extends React.PureComponent<IProps, IState> {
22
- htmlId: string;
23
- constructor(props: IProps);
24
- handleKeyDown: (event: React.KeyboardEvent<HTMLAnchorElement>) => void;
25
- toggle: () => void;
26
- render(): JSX.Element;
27
- }
28
- export {};