carbon-react 118.1.1 → 118.2.1

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 (186) hide show
  1. package/esm/__internal__/input/input-presentation.style.js +1 -0
  2. package/esm/__internal__/input/input.style.js +1 -0
  3. package/esm/components/action-popover/action-popover.style.js +3 -0
  4. package/esm/components/advanced-color-picker/advanced-color-picker-cell.style.js +1 -0
  5. package/esm/components/advanced-color-picker/advanced-color-picker.style.js +1 -0
  6. package/esm/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.style.js +6 -2
  7. package/esm/components/badge/badge.style.js +1 -1
  8. package/esm/components/batch-selection/batch-selection.style.js +6 -0
  9. package/esm/components/box/box.component.d.ts +3 -0
  10. package/esm/components/box/box.component.js +4 -0
  11. package/esm/components/button/button.style.js +10 -9
  12. package/esm/components/button-bar/button-bar.style.js +19 -0
  13. package/esm/components/button-minor/button-minor.style.js +42 -40
  14. package/esm/components/button-toggle/button-toggle.component.js +2 -1
  15. package/esm/components/button-toggle/button-toggle.style.d.ts +1 -0
  16. package/esm/components/button-toggle/button-toggle.style.js +31 -13
  17. package/esm/components/button-toggle-group/button-toggle-group.style.js +21 -3
  18. package/esm/components/card/__internal__/card-context/index.d.ts +7 -0
  19. package/esm/components/card/__internal__/card-context/index.js +2 -0
  20. package/esm/components/card/card-footer/card-footer.component.js +9 -2
  21. package/esm/components/card/card-footer/card-footer.style.d.ts +2 -1
  22. package/esm/components/card/card-footer/card-footer.style.js +10 -1
  23. package/esm/components/card/card.component.d.ts +3 -2
  24. package/esm/components/card/card.component.js +10 -1
  25. package/esm/components/card/card.style.d.ts +2 -1
  26. package/esm/components/card/card.style.js +3 -1
  27. package/esm/components/carousel/carousel.component.js +1 -1
  28. package/esm/components/carousel/carousel.style.js +4 -2
  29. package/esm/components/carousel/slide/slide.style.js +2 -0
  30. package/esm/components/checkbox/checkbox.style.js +2 -0
  31. package/esm/components/date/__internal__/date-picker/day-picker.style.js +4 -0
  32. package/esm/components/date/__internal__/navbar/button.style.js +2 -0
  33. package/esm/components/dialog/dialog.style.js +5 -0
  34. package/esm/components/dismissible-box/dismissible-box.component.d.ts +1 -1
  35. package/esm/components/dismissible-box/dismissible-box.component.js +4 -1
  36. package/esm/components/drawer/drawer.style.js +1 -0
  37. package/esm/components/duelling-picklist/picklist-item/picklist-item.style.js +20 -0
  38. package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +7 -0
  39. package/esm/components/flat-table/flat-table.component.js +56 -2
  40. package/esm/components/flat-table/flat-table.style.js +101 -1
  41. package/esm/components/flat-table/sort/sort.style.js +1 -0
  42. package/esm/components/icon-button/icon-button.style.js +1 -0
  43. package/esm/components/inline-inputs/inline-inputs.style.js +18 -0
  44. package/esm/components/link/link.style.js +1 -0
  45. package/esm/components/link-preview/__internal__/placeholder.component.d.ts +3 -1
  46. package/esm/components/link-preview/__internal__/placeholder.component.js +4 -1
  47. package/esm/components/link-preview/link-preview.style.js +1 -0
  48. package/esm/components/loader/loader-square.style.js +5 -0
  49. package/esm/components/loader-bar/loader-bar.style.js +1 -0
  50. package/esm/components/menu/__internal__/submenu/submenu.style.js +13 -0
  51. package/esm/components/menu/menu-full-screen/menu-full-screen.component.js +18 -0
  52. package/esm/components/menu/menu-item/menu-item.component.js +1 -1
  53. package/esm/components/menu/menu-item/menu-item.style.js +13 -11
  54. package/esm/components/menu/menu.style.js +13 -6
  55. package/esm/components/menu/scrollable-block/scrollable-block.style.js +15 -0
  56. package/esm/components/message/message.style.js +2 -0
  57. package/esm/components/multi-action-button/multi-action-button.style.js +4 -0
  58. package/esm/components/note/note.style.js +1 -0
  59. package/esm/components/numeral-date/numeral-date.component.js +2 -0
  60. package/esm/components/numeral-date/numeral-date.style.d.ts +1 -0
  61. package/esm/components/numeral-date/numeral-date.style.js +12 -0
  62. package/esm/components/pager/pager.style.js +2 -0
  63. package/esm/components/pill/pill.style.js +5 -15
  64. package/esm/components/pod/pod.style.js +6 -0
  65. package/esm/components/popover-container/popover-container.style.js +1 -0
  66. package/esm/components/portrait/portrait-gravatar.component.js +1 -1
  67. package/esm/components/portrait/portrait-initials.component.js +1 -1
  68. package/esm/components/portrait/portrait.component.js +1 -1
  69. package/esm/components/portrait/portrait.style.js +1 -3
  70. package/esm/components/profile/profile.component.js +1 -1
  71. package/esm/components/progress-tracker/progress-tracker.style.js +2 -2
  72. package/esm/components/radio-button/radio-button.style.js +1 -1
  73. package/esm/components/search/search-button.style.js +5 -0
  74. package/esm/components/search/search.style.js +7 -0
  75. package/esm/components/select/select-list/select-list-container.style.js +1 -0
  76. package/esm/components/split-button/split-button-children.style.d.ts +1 -0
  77. package/esm/components/split-button/split-button-children.style.js +28 -0
  78. package/esm/components/split-button/split-button-toggle.style.js +6 -1
  79. package/esm/components/split-button/split-button.style.js +5 -2
  80. package/esm/components/switch/__internal__/switch-slider.style.js +1 -2
  81. package/esm/components/tabs/__internal__/tab-title/tab-title.style.js +22 -2
  82. package/esm/components/tabs/__internal__/tabs-header/tabs-header.style.js +5 -0
  83. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.js +3 -0
  84. package/esm/components/text-editor/text-editor.style.js +3 -0
  85. package/esm/components/tile/tile.component.d.ts +3 -1
  86. package/esm/components/tile/tile.component.js +3 -1
  87. package/esm/components/tile/tile.style.d.ts +1 -1
  88. package/esm/components/tile/tile.style.js +4 -1
  89. package/esm/components/tile-select/tile-select.style.d.ts +1 -0
  90. package/esm/components/tile-select/tile-select.style.js +8 -0
  91. package/esm/components/tooltip/tooltip.style.js +1 -0
  92. package/esm/components/vertical-menu/vertical-menu.style.js +1 -0
  93. package/lib/__internal__/input/input-presentation.style.js +1 -0
  94. package/lib/__internal__/input/input.style.js +1 -0
  95. package/lib/components/action-popover/action-popover.style.js +3 -0
  96. package/lib/components/advanced-color-picker/advanced-color-picker-cell.style.js +1 -0
  97. package/lib/components/advanced-color-picker/advanced-color-picker.style.js +1 -0
  98. package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.style.js +6 -2
  99. package/lib/components/badge/badge.style.js +1 -1
  100. package/lib/components/batch-selection/batch-selection.style.js +6 -0
  101. package/lib/components/box/box.component.d.ts +3 -0
  102. package/lib/components/box/box.component.js +4 -0
  103. package/lib/components/button/button.style.js +10 -9
  104. package/lib/components/button-bar/button-bar.style.js +19 -0
  105. package/lib/components/button-minor/button-minor.style.js +42 -40
  106. package/lib/components/button-toggle/button-toggle.component.js +2 -1
  107. package/lib/components/button-toggle/button-toggle.style.d.ts +1 -0
  108. package/lib/components/button-toggle/button-toggle.style.js +31 -13
  109. package/lib/components/button-toggle-group/button-toggle-group.style.js +21 -3
  110. package/lib/components/card/__internal__/card-context/index.d.ts +7 -0
  111. package/lib/components/card/__internal__/card-context/index.js +14 -0
  112. package/lib/components/card/__internal__/card-context/package.json +6 -0
  113. package/lib/components/card/card-footer/card-footer.component.js +14 -2
  114. package/lib/components/card/card-footer/card-footer.style.d.ts +2 -1
  115. package/lib/components/card/card-footer/card-footer.style.js +10 -1
  116. package/lib/components/card/card.component.d.ts +3 -2
  117. package/lib/components/card/card.component.js +11 -1
  118. package/lib/components/card/card.style.d.ts +2 -1
  119. package/lib/components/card/card.style.js +3 -1
  120. package/lib/components/carousel/carousel.component.js +1 -1
  121. package/lib/components/carousel/carousel.style.js +4 -2
  122. package/lib/components/carousel/slide/slide.style.js +2 -0
  123. package/lib/components/checkbox/checkbox.style.js +2 -0
  124. package/lib/components/date/__internal__/date-picker/day-picker.style.js +4 -0
  125. package/lib/components/date/__internal__/navbar/button.style.js +2 -0
  126. package/lib/components/dialog/dialog.style.js +5 -0
  127. package/lib/components/dismissible-box/dismissible-box.component.d.ts +1 -1
  128. package/lib/components/dismissible-box/dismissible-box.component.js +4 -1
  129. package/lib/components/drawer/drawer.style.js +1 -0
  130. package/lib/components/duelling-picklist/picklist-item/picklist-item.style.js +20 -0
  131. package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +7 -0
  132. package/lib/components/flat-table/flat-table.component.js +60 -2
  133. package/lib/components/flat-table/flat-table.style.js +102 -1
  134. package/lib/components/flat-table/sort/sort.style.js +1 -0
  135. package/lib/components/icon-button/icon-button.style.js +1 -0
  136. package/lib/components/inline-inputs/inline-inputs.style.js +18 -0
  137. package/lib/components/link/link.style.js +1 -0
  138. package/lib/components/link-preview/__internal__/placeholder.component.d.ts +3 -1
  139. package/lib/components/link-preview/__internal__/placeholder.component.js +6 -1
  140. package/lib/components/link-preview/link-preview.style.js +1 -0
  141. package/lib/components/loader/loader-square.style.js +5 -0
  142. package/lib/components/loader-bar/loader-bar.style.js +1 -0
  143. package/lib/components/menu/__internal__/submenu/submenu.style.js +13 -0
  144. package/lib/components/menu/menu-full-screen/menu-full-screen.component.js +18 -0
  145. package/lib/components/menu/menu-item/menu-item.component.js +1 -1
  146. package/lib/components/menu/menu-item/menu-item.style.js +13 -11
  147. package/lib/components/menu/menu.style.js +13 -6
  148. package/lib/components/menu/scrollable-block/scrollable-block.style.js +18 -0
  149. package/lib/components/message/message.style.js +2 -0
  150. package/lib/components/multi-action-button/multi-action-button.style.js +5 -0
  151. package/lib/components/note/note.style.js +1 -0
  152. package/lib/components/numeral-date/numeral-date.component.js +2 -0
  153. package/lib/components/numeral-date/numeral-date.style.d.ts +1 -0
  154. package/lib/components/numeral-date/numeral-date.style.js +12 -0
  155. package/lib/components/pager/pager.style.js +2 -0
  156. package/lib/components/pill/pill.style.js +5 -15
  157. package/lib/components/pod/pod.style.js +6 -0
  158. package/lib/components/popover-container/popover-container.style.js +1 -0
  159. package/lib/components/portrait/portrait-gravatar.component.js +1 -1
  160. package/lib/components/portrait/portrait-initials.component.js +1 -1
  161. package/lib/components/portrait/portrait.component.js +1 -1
  162. package/lib/components/portrait/portrait.style.js +1 -3
  163. package/lib/components/profile/profile.component.js +1 -1
  164. package/lib/components/progress-tracker/progress-tracker.style.js +2 -2
  165. package/lib/components/radio-button/radio-button.style.js +1 -1
  166. package/lib/components/search/search-button.style.js +5 -0
  167. package/lib/components/search/search.style.js +7 -0
  168. package/lib/components/select/select-list/select-list-container.style.js +1 -0
  169. package/lib/components/split-button/split-button-children.style.d.ts +1 -0
  170. package/lib/components/split-button/split-button-children.style.js +30 -1
  171. package/lib/components/split-button/split-button-toggle.style.js +6 -1
  172. package/lib/components/split-button/split-button.style.js +5 -2
  173. package/lib/components/switch/__internal__/switch-slider.style.js +1 -2
  174. package/lib/components/tabs/__internal__/tab-title/tab-title.style.js +22 -2
  175. package/lib/components/tabs/__internal__/tabs-header/tabs-header.style.js +5 -0
  176. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.js +3 -0
  177. package/lib/components/text-editor/text-editor.style.js +3 -0
  178. package/lib/components/tile/tile.component.d.ts +3 -1
  179. package/lib/components/tile/tile.component.js +3 -1
  180. package/lib/components/tile/tile.style.d.ts +1 -1
  181. package/lib/components/tile/tile.style.js +4 -1
  182. package/lib/components/tile-select/tile-select.style.d.ts +1 -0
  183. package/lib/components/tile-select/tile-select.style.js +8 -0
  184. package/lib/components/tooltip/tooltip.style.js +1 -0
  185. package/lib/components/vertical-menu/vertical-menu.style.js +1 -0
  186. package/package.json +1 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.FlatTableThemeContext = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
@@ -19,6 +19,10 @@ var _utils = require("../../style/utils");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
22
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
23
+
24
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
22
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
27
 
24
28
  const FlatTableThemeContext = /*#__PURE__*/_react.default.createContext({});
@@ -43,6 +47,12 @@ const FlatTable = ({
43
47
  width,
44
48
  ...rest
45
49
  }) => {
50
+ const wrapperRef = (0, _react.useRef)(null);
51
+ const tableRef = (0, _react.useRef)(null);
52
+ const [hasVerticalScrollbar, setHasVerticalScrollbar] = (0, _react.useState)(false);
53
+ const [hasHorizontalScrollbar, setHasHorizontalScrollbar] = (0, _react.useState)(false);
54
+ const [firstColRowSpanIndex, setFirstColRowSpanIndex] = (0, _react.useState)(-1);
55
+ const [lastColRowSpanIndex, setLastColRowSpanIndex] = (0, _react.useState)(-1);
46
56
  const addDefaultHeight = !height && (hasStickyHead || hasStickyFooter);
47
57
  const tableStylingProps = {
48
58
  caption,
@@ -54,9 +64,50 @@ const FlatTable = ({
54
64
  tableStylingProps["aria-describedby"] = ariaDescribedby;
55
65
  }
56
66
 
67
+ (0, _react.useLayoutEffect)(() => {
68
+ const findRow = (rows, isFirstCol) => rows.find((row, index) => {
69
+ const cells = Array.from(row.querySelectorAll("td, th"));
70
+ const cell = isFirstCol ? cells.shift() : cells.pop();
71
+ const rowSpan = cell === null || cell === void 0 ? void 0 : cell.getAttribute("rowspan");
72
+ return rowSpan >= index + 1;
73
+ });
74
+
75
+ if (wrapperRef.current && tableRef.current) {
76
+ var _tableRef$current;
77
+
78
+ const {
79
+ offsetHeight,
80
+ offsetWidth
81
+ } = wrapperRef.current;
82
+ const {
83
+ top,
84
+ bottom,
85
+ right,
86
+ left
87
+ } = (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.getBoundingClientRect();
88
+ setHasVerticalScrollbar(bottom - top > offsetHeight);
89
+ setHasHorizontalScrollbar(right - left > offsetWidth);
90
+ const body = tableRef.current.querySelector("tbody");
91
+ const bodyRows = body ? Array.from(body === null || body === void 0 ? void 0 : body.querySelectorAll("tr")) : [];
92
+ const {
93
+ length
94
+ } = bodyRows;
95
+ const targetRowFirstCol = findRow(bodyRows.slice(0, length - 1).reverse(), true);
96
+ const targetRowLastCol = findRow(bodyRows.slice(0, length - 1).reverse());
97
+
98
+ if (targetRowFirstCol) {
99
+ setFirstColRowSpanIndex(bodyRows.indexOf(targetRowFirstCol));
100
+ }
101
+
102
+ if (targetRowLastCol) {
103
+ setLastColRowSpanIndex(bodyRows.indexOf(targetRowLastCol));
104
+ }
105
+ }
106
+ }, [footer, children, height, minHeight]);
57
107
  return /*#__PURE__*/_react.default.createElement(_drawer.DrawerSidebarContext.Consumer, null, ({
58
108
  isInSidebar
59
109
  }) => /*#__PURE__*/_react.default.createElement(_flatTable.StyledFlatTableWrapper, _extends({
110
+ ref: wrapperRef,
60
111
  "data-component": "flat-table-wrapper",
61
112
  isInSidebar: isInSidebar,
62
113
  hasStickyHead: hasStickyHead,
@@ -71,11 +122,18 @@ const FlatTable = ({
71
122
  tabIndex: "0",
72
123
  role: "region",
73
124
  overflowX: width ? "hidden" : undefined,
74
- width: width
125
+ width: width,
126
+ hasStickyFooter: hasStickyFooter,
127
+ hasVerticalScrollbar: hasVerticalScrollbar,
128
+ hasHorizontalScrollbar: hasHorizontalScrollbar,
129
+ hasFooter: !!footer,
130
+ firstColRowSpanIndex: firstColRowSpanIndex,
131
+ lastColRowSpanIndex: lastColRowSpanIndex
75
132
  }, rest), /*#__PURE__*/_react.default.createElement(_flatTable.StyledTableContainer, {
76
133
  overflowX: overflowX,
77
134
  width: width
78
135
  }, /*#__PURE__*/_react.default.createElement(_flatTable.StyledFlatTable, _extends({
136
+ ref: tableRef,
79
137
  "data-component": "flat-table"
80
138
  }, tableStylingProps), caption ? /*#__PURE__*/_react.default.createElement("caption", null, caption) : null, /*#__PURE__*/_react.default.createElement(FlatTableThemeContext.Provider, {
81
139
  value: {
@@ -25,6 +25,8 @@ var _cellSizes = _interopRequireDefault(require("./cell-sizes.style"));
25
25
 
26
26
  var _box = _interopRequireDefault(require("../box"));
27
27
 
28
+ var _pager = require("../pager/pager.style");
29
+
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
 
30
32
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -50,10 +52,15 @@ const StyledTableContainer = _styledComponents.default.div`
50
52
  exports.StyledTableContainer = StyledTableContainer;
51
53
  const StyledFlatTable = _styledComponents.default.table`
52
54
  border-collapse: separate;
53
- border-radius: 0px;
54
55
  border-spacing: 0;
55
56
  width: 100%;
56
57
 
58
+ @-moz-document url-prefix() {
59
+ overflow: hidden;
60
+ border-top-left-radius: var(--borderRadius100);
61
+ border-top-right-radius: var(--borderRadius100);
62
+ }
63
+
57
64
  ${({
58
65
  caption
59
66
  }) => caption && (0, _styledComponents.css)`
@@ -115,6 +122,16 @@ StyledFlatTable.defaultProps = {
115
122
  size: "medium"
116
123
  };
117
124
  const StyledFlatTableWrapper = (0, _styledComponents.default)(_box.default)`
125
+ border-top-left-radius: var(--borderRadius100);
126
+ border-top-right-radius: var(--borderRadius100);
127
+ ${({
128
+ hasStickyFooter,
129
+ hasHorizontalScrollbar
130
+ }) => !hasStickyFooter && !hasHorizontalScrollbar && (0, _styledComponents.css)`
131
+ border-bottom-left-radius: var(--borderRadius100);
132
+ border-bottom-right-radius: var(--borderRadius100);
133
+ `}
134
+
118
135
  ${({
119
136
  isInSidebar
120
137
  }) => (0, _styledComponents.css)`
@@ -212,6 +229,9 @@ const StyledFlatTableWrapper = (0, _styledComponents.default)(_box.default)`
212
229
  ${({
213
230
  isInSidebar
214
231
  }) => isInSidebar && (0, _styledComponents.css)`
232
+ ${_flatTableHead.default} {
233
+ background-color: var(--colorsUtilityMajor040);
234
+ }
215
235
  ${_flatTableHeader.default}, ${_flatTableHead.default} ${_flatTableRowHeader.StyledFlatTableRowHeader},
216
236
  ${_flatTableHead.default} ${_flatTableCheckbox.default} {
217
237
  background-color: var(--colorsUtilityMajor040);
@@ -251,6 +271,21 @@ const StyledFlatTableWrapper = (0, _styledComponents.default)(_box.default)`
251
271
  }) => theme.zIndex.overlay + HEADER_OVERLAY_INCREMENT};
252
272
  }
253
273
 
274
+ thead {
275
+ ${_flatTableRow.default}:first-of-type {
276
+ th:first-of-type {
277
+ border-top-left-radius: var(--borderRadius100);
278
+ }
279
+ ${({
280
+ hasVerticalScrollbar
281
+ }) => !hasVerticalScrollbar && (0, _styledComponents.css)`
282
+ th:last-of-type {
283
+ border-top-right-radius: var(--borderRadius100);
284
+ }
285
+ `}
286
+ }
287
+ }
288
+
254
289
  tbody
255
290
  ${_flatTableRowHeader.StyledFlatTableRowHeader},
256
291
  ${_flatTableCell.StyledFlatTableCell}.isSticky,
@@ -260,6 +295,67 @@ const StyledFlatTableWrapper = (0, _styledComponents.default)(_box.default)`
260
295
  theme
261
296
  }) => theme.zIndex.overlay};
262
297
  }
298
+
299
+ ${({
300
+ hasFooter
301
+ }) => hasFooter && (0, _styledComponents.css)`
302
+ tr:last-child:focus {
303
+ :after {
304
+ border-bottom-left-radius: var(--borderRadius000);
305
+ border-bottom-right-radius: var(--borderRadius000);
306
+ }
307
+ `}
308
+
309
+ ${({
310
+ hasFooter
311
+ }) => !hasFooter && (0, _styledComponents.css)`
312
+ tbody {
313
+ ${({
314
+ firstColRowSpanIndex
315
+ }) => firstColRowSpanIndex >= 0 && (0, _styledComponents.css)`
316
+ ${_flatTableRow.default}:nth-of-type(${firstColRowSpanIndex + 1}) {
317
+ th:first-child,
318
+ td:first-child {
319
+ border-bottom-left-radius: var(--borderRadius100);
320
+ }
321
+ }
322
+ `}
323
+
324
+ ${({
325
+ lastColRowSpanIndex,
326
+ hasHorizontalScrollbar
327
+ }) => lastColRowSpanIndex >= 0 && !hasHorizontalScrollbar && (0, _styledComponents.css)`
328
+ ${_flatTableRow.default}:nth-of-type(${lastColRowSpanIndex + 1}) {
329
+ th:last-child,
330
+ td:last-child {
331
+ border-bottom-right-radius: var(--borderRadius100);
332
+ }
333
+ }
334
+ `}
335
+
336
+ ${_flatTableRow.default}:last-of-type {
337
+ ${({
338
+ hasHorizontalScrollbar,
339
+ firstColRowSpanIndex
340
+ }) => !hasHorizontalScrollbar && firstColRowSpanIndex === -1 && (0, _styledComponents.css)`
341
+ th:first-child,
342
+ td:first-child {
343
+ border-bottom-left-radius: var(--borderRadius100);
344
+ }
345
+ `}
346
+ ${({
347
+ hasVerticalScrollbar,
348
+ hasHorizontalScrollbar,
349
+ lastColRowSpanIndex
350
+ }) => !hasVerticalScrollbar && !hasHorizontalScrollbar && lastColRowSpanIndex === -1 && (0, _styledComponents.css)`
351
+ th:last-child,
352
+ td:last-child {
353
+ border-bottom-right-radius: var(--borderRadius100);
354
+ }
355
+ `}
356
+ }
357
+ }
358
+ `}
263
359
  `;
264
360
  exports.StyledFlatTableWrapper = StyledFlatTableWrapper;
265
361
  StyledFlatTableWrapper.defaultProps = {
@@ -273,6 +369,11 @@ const StyledFlatTableFooter = _styledComponents.default.div`
273
369
  position: sticky;
274
370
  bottom: 0px;
275
371
  z-index: ${theme.zIndex.overlay + STICKY_FOOTER_OVERLAY_INCREMENT};
372
+
373
+ ${_pager.StyledPagerContainer} {
374
+ border-bottom-left-radius: var(--borderRadius000);
375
+ border-bottom-right-radius: var(--borderRadius000);
376
+ }
276
377
  `}
277
378
  `;
278
379
  exports.StyledFlatTableFooter = StyledFlatTableFooter;
@@ -32,6 +32,7 @@ const StyledSort = _styledComponents.default.div`
32
32
 
33
33
  :focus {
34
34
  outline: 1px solid var(--colorsSemanticFocus500);
35
+ border-radius: var(--borderRadius025);
35
36
  }
36
37
  `;
37
38
  exports.StyledSort = StyledSort;
@@ -30,6 +30,7 @@ const StyledIconButton = _styledComponents.default.button.attrs({
30
30
  }
31
31
  background: transparent;
32
32
  border: none;
33
+ border-radius: var(--borderRadius050);
33
34
 
34
35
  &:focus {
35
36
  background-color: transparent;
@@ -58,6 +58,24 @@ const StyledContentContainer = _styledComponents.default.div`
58
58
  ${StyledInlineInput} + ${StyledInlineInput} ${_inputPresentation.default} {
59
59
  border-left: none;
60
60
  }
61
+
62
+ ${StyledInlineInput}:not(:first-of-type):not(:last-of-type) ${_inputPresentation.default} {
63
+ border-radius: var(--borderRadius000);
64
+ }
65
+
66
+ ${StyledInlineInput}:first-of-type:not(:last-of-type) ${_inputPresentation.default} {
67
+ border-top-right-radius: var(--borderRadius000);
68
+ border-bottom-right-radius: var(--borderRadius000);
69
+ border-top-left-radius: var(--borderRadius050);
70
+ border-bottom-left-radius: var(--borderRadius050);
71
+ }
72
+
73
+ ${StyledInlineInput}:last-of-type:not(:first-of-type) ${_inputPresentation.default} {
74
+ border-top-left-radius: var(--borderRadius000);
75
+ border-bottom-left-radius: var(--borderRadius000);
76
+ border-top-right-radius: var(--borderRadius050);
77
+ border-bottom-right-radius: var(--borderRadius050);
78
+ }
61
79
  `}
62
80
  `}
63
81
  `;
@@ -125,6 +125,7 @@ const StyledLink = _styledComponents.default.span`
125
125
 
126
126
  &:focus {
127
127
  background-color: var(--colorsSemanticFocus250);
128
+ border-radius: var(--borderRadius050);
128
129
  }
129
130
  `}
130
131
 
@@ -1,2 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledPlaceHolder: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ declare const Placeholder: () => JSX.Element;
1
4
  export default Placeholder;
2
- declare function Placeholder(): JSX.Element;
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.StyledPlaceHolder = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
10
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
13
 
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -17,7 +19,10 @@ const StyledPlaceHolder = _styledComponents.default.div`
17
19
  height: 152px;
18
20
  min-width: 152px;
19
21
  background-color: var(--colorsUtilityMajor025);
22
+ border-bottom-left-radius: var(--borderRadius100);
23
+ border-top-left-radius: var(--borderRadius100);
20
24
  `;
25
+ exports.StyledPlaceHolder = StyledPlaceHolder;
21
26
  const Circle = _styledComponents.default.div`
22
27
  height: 22px;
23
28
  width: 22px;
@@ -25,6 +25,7 @@ const StyledLinkPreview = _styledComponents.default.a`
25
25
  as
26
26
  }) => (0, _styledComponents.css)`
27
27
  border: 1px solid var(--colorsUtilityMajor050);
28
+ border-radius: var(--borderRadius100);
28
29
  background-color: var(--colorsUtilityMajor025);
29
30
  color: var(--colorsUtilityYin090);
30
31
 
@@ -25,27 +25,32 @@ const loaderAnimation = (0, _styledComponents.keyframes)`
25
25
  const getDimentions = size => {
26
26
  let width;
27
27
  let marginRight;
28
+ let borderRadius;
28
29
 
29
30
  switch (size) {
30
31
  case "medium":
31
32
  width = "16px";
32
33
  marginRight = "8px";
34
+ borderRadius = "var(--borderRadiusCircle)";
33
35
  break;
34
36
 
35
37
  case "large":
36
38
  width = "20px";
37
39
  marginRight = "8px";
40
+ borderRadius = "var(--borderRadiusCircle)";
38
41
  break;
39
42
 
40
43
  default:
41
44
  width = "12px";
42
45
  marginRight = "6px";
46
+ borderRadius = "var(--borderRadiusCircle)";
43
47
  }
44
48
 
45
49
  return (0, _styledComponents.css)`
46
50
  width: ${width};
47
51
  height: ${width};
48
52
  margin-right: ${marginRight};
53
+ border-radius: ${borderRadius};
49
54
  `;
50
55
  };
51
56
 
@@ -49,6 +49,7 @@ const StyledLoaderBar = _styledComponents.default.div`
49
49
  size
50
50
  }) => (0, _styledComponents.css)`
51
51
  display: inline-block;
52
+ border-radius: var(--borderRadius400);
52
53
  height: ${getHeight(size)};
53
54
  width: 100%;
54
55
  background-color: var(--colorsActionMajor150);
@@ -80,6 +80,19 @@ const StyledSubmenu = _styledComponents.default.ul`
80
80
  }
81
81
  `}
82
82
 
83
+ ${!inFullscreenView && (0, _styledComponents.css)`
84
+ border-bottom-right-radius: var(--borderRadius100);
85
+ border-bottom-left-radius: var(--borderRadius100);
86
+
87
+ ${_menu.StyledMenuItem}:last-child a,
88
+ ${_menu.StyledMenuItem}:last-child button,
89
+ ${_menu.StyledMenuItem}:last-child > span,
90
+ ${_menu.StyledMenuItem}:last-child > div {
91
+ border-bottom-left-radius: var(--borderRadius100);
92
+ border-bottom-right-radius: var(--borderRadius100);
93
+ }
94
+ `}
95
+
83
96
  display: block;
84
97
  list-style: none;
85
98
  margin: 0;
@@ -58,6 +58,24 @@ const MenuFullscreen = ({
58
58
  if (_events.default.isEscKey(ev)) {
59
59
  onClose(ev);
60
60
  }
61
+
62
+ if (_events.default.isTabKey(ev) && !_events.default.isShiftKey(ev)) {
63
+ var _menuWrapperRef$curre;
64
+
65
+ const search = (_menuWrapperRef$curre = menuWrapperRef.current) === null || _menuWrapperRef$curre === void 0 ? void 0 : _menuWrapperRef$curre.querySelector('[data-component="search"');
66
+ const searchInput = search === null || search === void 0 ? void 0 : search.querySelector("input");
67
+ const searchButton = search === null || search === void 0 ? void 0 : search.querySelector("button"); // if there is no value in the search input the button disappears when the input blurs
68
+ // this means we need to programatically set focus to the next menu item
69
+
70
+ if (searchButton && searchInput && !searchInput.value && searchInput === document.activeElement) {
71
+ var _menuWrapperRef$curre2, _elements;
72
+
73
+ ev.preventDefault();
74
+ const elements = Array.from((_menuWrapperRef$curre2 = menuWrapperRef.current) === null || _menuWrapperRef$curre2 === void 0 ? void 0 : _menuWrapperRef$curre2.querySelectorAll("a, input, button"));
75
+ const index = elements.indexOf(searchInput);
76
+ (_elements = elements[index + 2]) === null || _elements === void 0 ? void 0 : _elements.focus();
77
+ }
78
+ }
61
79
  };
62
80
 
63
81
  return /*#__PURE__*/_react.default.createElement("li", {
@@ -135,7 +135,7 @@ const MenuItem = ({
135
135
  (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
136
136
  }
137
137
 
138
- const shouldFocusIcon = ((_inputIcon$current2 = inputIcon.current) === null || _inputIcon$current2 === void 0 ? void 0 : _inputIcon$current2.getAttribute("tabindex")) === "0" && document.activeElement === inputRef.current && ((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value); // let natural tab order move focus if input icon is tabbable
138
+ const shouldFocusIcon = ((_inputIcon$current2 = inputIcon.current) === null || _inputIcon$current2 === void 0 ? void 0 : _inputIcon$current2.getAttribute("tabindex")) === "0" && document.activeElement === inputRef.current && ((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value); // let natural tab order move focus if input icon is tabbable or input with button exists
139
139
 
140
140
  if (_events.default.isTabKey(event) && (!_events.default.isShiftKey(event) && shouldFocusIcon || _events.default.isShiftKey(event) && document.activeElement === inputIcon.current)) {
141
141
  return;
@@ -321,18 +321,20 @@ const StyledMenuItemWrapper = _styledComponents.default.a.attrs({
321
321
  position: relative;
322
322
  }
323
323
 
324
- a:focus,
325
- a:hover,
326
- button:focus,
327
- button:hover {
328
- background-color: var(--colorsComponentsMenuAutumnStandard600);
329
- color: var(--colorsComponentsMenuYang100);
324
+ && {
325
+ a:focus,
326
+ a:hover,
327
+ button:focus,
328
+ button:hover {
329
+ background-color: var(--colorsComponentsMenuAutumnStandard600);
330
+ color: var(--colorsComponentsMenuYang100);
330
331
 
331
- ${!hasInput && `
332
- [data-component="icon"] {
333
- color: var(--colorsComponentsMenuYang100);
334
- }
335
- `}
332
+ ${!hasInput && `
333
+ [data-component="icon"] {
334
+ color: var(--colorsComponentsMenuYang100);
335
+ }
336
+ `}
337
+ }
336
338
  }
337
339
  }
338
340
  `}
@@ -38,12 +38,16 @@ const StyledMenuWrapper = _styledComponents.default.ul`
38
38
  display: inline-block;
39
39
  vertical-align: bottom;
40
40
  background-color: ${_menu.default[menuType].background};
41
-
42
41
  ${menuType === "dark" && (0, _styledComponents.css)`
43
- color: ${_menu.default[menuType].color};
42
+ display: inline-block;
43
+ vertical-align: bottom;
44
+ background-color: ${_menu.default[menuType].background};
45
+
46
+ ${menuType === "dark" && (0, _styledComponents.css)`
47
+ color: ${_menu.default[menuType].color};
48
+ `}
44
49
  `}
45
50
  `}
46
-
47
51
  ${_verticalDivider.StyledDivider} {
48
52
  position: relative;
49
53
  top: -1px;
@@ -54,7 +58,11 @@ exports.StyledMenuWrapper = StyledMenuWrapper;
54
58
  const StyledMenuItem = _styledComponents.default.li`
55
59
  ${_styledSystem.layout}
56
60
  ${_styledSystem.flexbox}
57
-
61
+
62
+ ${_link.StyledLink} a:focus, ${_link.StyledLink} button:focus {
63
+ border-radius: var(--borderRadius000);
64
+ }
65
+
58
66
  ${({
59
67
  inSubmenu
60
68
  }) => (0, _styledComponents.css)`
@@ -62,8 +70,7 @@ const StyledMenuItem = _styledComponents.default.li`
62
70
  display: list-item;
63
71
  `}
64
72
  `}
65
-
66
- ${({
73
+ ${({
67
74
  inFullscreenView
68
75
  }) => inFullscreenView && (0, _styledComponents.css)`
69
76
  padding-top: 16px;
@@ -11,6 +11,12 @@ var _menuItem = _interopRequireDefault(require("../menu-item/menu-item.style"));
11
11
 
12
12
  var _menu = _interopRequireDefault(require("../menu.config"));
13
13
 
14
+ var _box = _interopRequireDefault(require("../../box/box.component"));
15
+
16
+ var _menu2 = require("../menu.style");
17
+
18
+ var _link = require("../../link/link.style");
19
+
14
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
21
 
16
22
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -25,6 +31,18 @@ const StyledScrollableBlock = _styledComponents.default.li`
25
31
  && ${_menuItem.default} {
26
32
  background-color: ${variant === "default" ? _menu.default[menuType].submenuItemBackground : _menu.default[menuType].alternate};
27
33
  }
34
+
35
+ ${_box.default} {
36
+ border-radius: var(--borderRadius000);
37
+ border-bottom-left-radius: var(--borderRadius100);
38
+
39
+ ${_menu2.StyledMenuItem}:last-child ${_link.StyledLink},
40
+ ${_menu2.StyledMenuItem}:last-child a,
41
+ ${_menu2.StyledMenuItem}:last-child button {
42
+ border-bottom-left-radius: var(--borderRadius100);
43
+ border-bottom-right-radius: var(--borderRadius000);
44
+ }
45
+ }
28
46
  `}
29
47
  `;
30
48
  var _default = StyledScrollableBlock;
@@ -30,6 +30,8 @@ const MessageStyle = _styledComponents.default.div`
30
30
  display: flex;
31
31
  justify-content: flex-start;
32
32
  align-content: center;
33
+ border-radius: var(--borderRadius100);
34
+ overflow: hidden;
33
35
  border: 1px solid ${({
34
36
  variant
35
37
  }) => variant && messageVariants[variant]};
@@ -17,6 +17,8 @@ var _icon = _interopRequireDefault(require("../icon/icon.style"));
17
17
 
18
18
  var _width = _interopRequireDefault(require("../../style/utils/width"));
19
19
 
20
+ var _splitButtonChildren = require("../split-button/split-button-children.style");
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -91,12 +93,15 @@ const StyledButtonChildrenContainer = _styledComponents.default.div`
91
93
  white-space: nowrap;
92
94
  z-index: ${theme.zIndex.popover};
93
95
  box-shadow: var(--boxShadow100);
96
+ border-radius: var(--borderRadius100);
94
97
 
95
98
  ${_icon.default} {
96
99
  margin-left: 0;
97
100
  left: 8px;
98
101
  }
99
102
 
103
+ ${_splitButtonChildren.borderRadiusStyling}
104
+
100
105
  ${_button.default} {
101
106
  border: 1px solid var(--colorsActionMajorTransparent);
102
107
  display: flex;
@@ -132,6 +132,7 @@ const StyledNote = _styledComponents.default.div`
132
132
  }) => (0, _styledComponents.css)`
133
133
  background-color: var(--colorsUtilityYang100);
134
134
  border: 1px solid var(--colorsUtilityMajor100);
135
+ border-radius: var(--borderRadius100);
135
136
  display: flex;
136
137
  flex-direction: column;
137
138
  padding: 24px;
@@ -227,6 +227,7 @@ const NumeralDate = ({
227
227
  onKeyPress: onKeyPress,
228
228
  "data-component": "numeral-date"
229
229
  }, dateFormat.map((datePart, index) => {
230
+ const isStart = index === 0;
230
231
  const isEnd = index === dateFormat.length - 1;
231
232
  const isMiddle = index === 1;
232
233
  const validation = error || warning || info;
@@ -261,6 +262,7 @@ const NumeralDate = ({
261
262
  }, /*#__PURE__*/_react.default.createElement(_numeralDate.StyledDateField, {
262
263
  key: datePart,
263
264
  isYearInput: datePart.length === 4,
265
+ isStart: isStart,
264
266
  isMiddle: isMiddle,
265
267
  isEnd: isEnd,
266
268
  hasValidationIcon: hasValidationIcon
@@ -1,4 +1,5 @@
1
1
  interface StyledDateFieldProps {
2
+ isStart?: boolean;
2
3
  isEnd?: boolean;
3
4
  isMiddle?: boolean;
4
5
  isYearInput?: boolean;
@@ -37,6 +37,7 @@ const StyledNumeralDate = _styledComponents.default.div`
37
37
  exports.StyledNumeralDate = StyledNumeralDate;
38
38
  const StyledDateField = _styledComponents.default.div`
39
39
  ${({
40
+ isStart,
40
41
  isYearInput,
41
42
  isEnd,
42
43
  hasValidationIcon,
@@ -48,6 +49,17 @@ const StyledDateField = _styledComponents.default.div`
48
49
  position: relative;
49
50
  width: ${yearInputOrError ? "78px;" : "58px;"};
50
51
  text-align: center;
52
+ border-radius: var(--borderRadius000);
53
+
54
+ ${isStart && (0, _styledComponents.css)`
55
+ border-top-left-radius: var(--borderRadius050);
56
+ border-bottom-left-radius: var(--borderRadius050);
57
+ `}
58
+
59
+ ${isEnd && (0, _styledComponents.css)`
60
+ border-top-right-radius: var(--borderRadius050);
61
+ border-bottom-right-radius: var(--borderRadius050);
62
+ `}
51
63
 
52
64
  ${(isMiddle || isEnd) && (0, _styledComponents.css)`
53
65
  margin-left: -1px;
@@ -51,6 +51,8 @@ const StyledPagerContainer = _styledComponents.default.div`
51
51
  }) => (0, _styledComponents.css)`
52
52
  border-width: 1px 1px 1px 1px;
53
53
  border-style: none solid solid solid;
54
+ border-bottom-left-radius: var(--borderRadius100);
55
+ border-bottom-right-radius: var(--borderRadius100);
54
56
  border-color: var(--colorsUtilityMajor100);
55
57
  background-color: ${variant === "alternate" ? "var(--colorsUtilityMajor040)" : "var(--colorsUtilityMajor010)"};
56
58
  `}