@nulogy/components 8.3.0 → 8.4.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.
package/dist/main.js CHANGED
@@ -277,7 +277,7 @@
277
277
 
278
278
  /**
279
279
  * Do not edit directly
280
- * Generated on Mon, 06 Jun 2022 21:26:05 GMT
280
+ * Generated on Thu, 01 Dec 2022 21:44:24 GMT
281
281
  */
282
282
 
283
283
  const color_base_black = "#011e38";
@@ -310,7 +310,7 @@
310
310
  const line_height_small_text_base = "1.71428571";
311
311
  const line_height_small_text_compressed = "1.14285714";
312
312
  const line_height_smaller_text = "1.33333333";
313
- const line_height_heading_1 = "1.05";
313
+ const line_height_heading_1 = "1.25";
314
314
  const line_height_heading_2 = "1.33";
315
315
  const line_height_heading_3 = "1.33";
316
316
  const line_height_heading_4 = "1.33";
@@ -341,8 +341,8 @@
341
341
  const size_font_medium = "16px";
342
342
  const size_font_large = "24px";
343
343
  const size_font_larger = "30px";
344
- const size_font_largest = "38px";
345
- const size_font_heading_1 = "38px";
344
+ const size_font_largest = "32px";
345
+ const size_font_heading_1 = "32px";
346
346
  const size_font_heading_2 = "30px";
347
347
  const size_font_heading_3 = "24px";
348
348
  const size_font_heading_4 = "18px";
@@ -11711,7 +11711,20 @@
11711
11711
  componentId: "sc-1whlq91-0"
11712
11712
  })({
11713
11713
  display: "flex"
11714
- }, flexbox);
11714
+ }, system({
11715
+ gap: {
11716
+ property: "gap",
11717
+ scale: "space"
11718
+ },
11719
+ rowGap: {
11720
+ property: "rowGap",
11721
+ scale: "space"
11722
+ },
11723
+ columnGap: {
11724
+ property: "columnGap",
11725
+ scale: "space"
11726
+ }
11727
+ }), flexbox);
11715
11728
 
11716
11729
  /*! *****************************************************************************
11717
11730
  Copyright (c) Microsoft Corporation.
@@ -23326,20 +23339,23 @@
23326
23339
  var themeContext = React__default['default'].useContext(styled.ThemeContext);
23327
23340
  var spaceProps = getSubset(props, propTypes.space);
23328
23341
  var reactSelectRef = React__default['default'].useRef(null);
23342
+ var optionsRef = React__default['default'].useRef(options);
23329
23343
  React__default['default'].useEffect(function () {
23330
23344
  checkOptionsAreValid(options);
23345
+ optionsRef.current = options;
23331
23346
  }, [options]);
23332
23347
  var handleChange = React__default['default'].useCallback(function (option) {
23333
23348
  onChange && onChange(extractValue(option, multiselect));
23334
23349
  }, [multiselect, onChange]);
23335
23350
  var handlePaste = React__default['default'].useCallback(function (e) {
23336
23351
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
23337
- var currentRef, currentValue, clipboardData, values, notExistingOptions, pastedOptions, newValue;
23352
+ var options, currentRef, currentValue, clipboardData, values, notExistingOptions, pastedOptions, newValue;
23338
23353
  return regenerator.wrap(function _callee$(_context) {
23339
23354
  while (1) {
23340
23355
  switch (_context.prev = _context.next) {
23341
23356
  case 0:
23342
23357
  e.preventDefault();
23358
+ options = optionsRef.current;
23343
23359
  currentRef = reactSelectRef.current;
23344
23360
  currentValue = currentRef.state.value || [];
23345
23361
  clipboardData = e.clipboardData.getData("text/plain") || "";
@@ -23372,20 +23388,20 @@
23372
23388
  });
23373
23389
  handleChange(newValue);
23374
23390
 
23375
- case 10:
23391
+ case 11:
23376
23392
  case "end":
23377
23393
  return _context.stop();
23378
23394
  }
23379
23395
  }
23380
23396
  }, _callee);
23381
23397
  }));
23382
- }, [options]);
23398
+ }, []);
23383
23399
 
23384
23400
  var _SelectInput = React__default['default'].useCallback(function (inputProps) {
23385
23401
  return /*#__PURE__*/React__default['default'].createElement(SelectInput, Object.assign({}, inputProps, multiselect ? {
23386
23402
  onPaste: handlePaste
23387
23403
  } : {}));
23388
- }, [handlePaste, multiselect]);
23404
+ }, [multiselect]);
23389
23405
 
23390
23406
  React__default['default'].useEffect(function () {
23391
23407
  if (ref) {
@@ -42393,7 +42409,10 @@
42393
42409
  listStyle: "none",
42394
42410
  display: "inline-flex",
42395
42411
  alignSelf: "center",
42396
- color: theme.colors.darkGrey,
42412
+ color: theme.colors.midGrey,
42413
+ "a, p": {
42414
+ fontSize: theme.fontSizes.small
42415
+ },
42397
42416
  "a:visited": {
42398
42417
  color: theme.colors.darkBlue
42399
42418
  }
@@ -42402,14 +42421,10 @@
42402
42421
 
42403
42422
  var insertSeparators = function insertSeparators(items, className) {
42404
42423
  return items.reduce(function (acc, current, index) {
42405
- return acc.concat(current,
42406
- /*#__PURE__*/
42407
- // eslint-disable-next-line react/no-array-index-key
42408
- React__default['default'].createElement(BreadcrumbsListItem, {
42424
+ return acc.concat(current, /*#__PURE__*/React__default['default'].createElement(BreadcrumbsListItem, {
42409
42425
  "aria-hidden": true,
42410
42426
  key: "separator-" + index,
42411
- className: className,
42412
- px: "x1"
42427
+ className: className
42413
42428
  }, /*#__PURE__*/React__default['default'].createElement(Icon, {
42414
42429
  icon: "rightArrow"
42415
42430
  })));
@@ -42421,18 +42436,14 @@
42421
42436
  as = _a.as,
42422
42437
  props = __rest(_a, ["children", "as"]);
42423
42438
 
42424
- var childrenArr = Array.isArray(children) ? children : [children];
42425
- var allItems = [].concat(childrenArr).map(function (child, index) {
42426
- return (
42427
- /*#__PURE__*/
42428
- // eslint-disable-next-line react/no-array-index-key
42429
- React__default['default'].createElement(BreadcrumbsListItem, {
42430
- key: "child-" + index
42431
- }, /*#__PURE__*/React__default['default'].cloneElement(child, {
42432
- color: "darkBlue"
42433
- }))
42434
- );
42435
- });
42439
+ var allItems = React__default['default'].Children.map(children, function (child, index) {
42440
+ if (! /*#__PURE__*/React.isValidElement(child)) return null;
42441
+ return /*#__PURE__*/React__default['default'].createElement(BreadcrumbsListItem, {
42442
+ key: "child-" + index
42443
+ }, /*#__PURE__*/React__default['default'].cloneElement(child, {
42444
+ color: "darkBlue"
42445
+ }));
42446
+ }).filter(Boolean);
42436
42447
  return /*#__PURE__*/React__default['default'].createElement(Flex, Object.assign({
42437
42448
  as: as
42438
42449
  }, props), /*#__PURE__*/React__default['default'].createElement(BreadcrumbsList, null, insertSeparators(allItems, "seperator")));
@@ -50738,30 +50749,127 @@
50738
50749
  }, children));
50739
50750
  };
50740
50751
 
50752
+ var useMediaQuery = function useMediaQuery(query) {
50753
+ var _useState = React.useState(window.matchMedia(query).matches),
50754
+ matches = _useState[0],
50755
+ setMatches = _useState[1];
50756
+
50757
+ React.useEffect(function () {
50758
+ var handler = function handler(e) {
50759
+ setMatches(e.matches);
50760
+ };
50761
+
50762
+ window.matchMedia(query).addEventListener("change", handler);
50763
+ return function () {
50764
+ window.removeEventListener("change", handler);
50765
+ };
50766
+ }, []);
50767
+ return matches;
50768
+ };
50769
+
50770
+ var Header = function Header(_a) {
50771
+ var _b, _c;
50772
+
50773
+ var _a$background = _a.background,
50774
+ background = _a$background === void 0 ? "whiteGrey" : _a$background,
50775
+ renderBreadcrumbs = _a.renderBreadcrumbs,
50776
+ title = _a.title,
50777
+ _a$undecorated = _a.undecorated,
50778
+ undecorated = _a$undecorated === void 0 ? false : _a$undecorated,
50779
+ children = _a.children,
50780
+ subtitle = _a.subtitle,
50781
+ breakpoints = _a.breakpoints,
50782
+ renderActions = _a.renderActions,
50783
+ renderSummary = _a.renderSummary,
50784
+ rest = __rest(_a, ["background", "renderBreadcrumbs", "title", "undecorated", "children", "subtitle", "breakpoints", "renderActions", "renderSummary"]);
50785
+
50786
+ var theme = styled.useTheme();
50787
+ var smallBreakpoint = pixelDigitsFrom$1((_b = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.small) !== null && _b !== void 0 ? _b : theme.breakpoints.small);
50788
+ var mediumBreakpoint = pixelDigitsFrom$1((_c = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.medium) !== null && _c !== void 0 ? _c : theme.breakpoints.medium);
50789
+ var m = useMediaQuery("(max-width: " + mediumBreakpoint + "px)");
50790
+ var sm = useMediaQuery("(max-width: " + smallBreakpoint + "px)");
50791
+ return /*#__PURE__*/React__default['default'].createElement(Flex, Object.assign({
50792
+ py: "x1",
50793
+ px: "x3",
50794
+ gap: "x2",
50795
+ position: "relative",
50796
+ bg: background
50797
+ }, rest), /*#__PURE__*/React__default['default'].createElement(Flex, {
50798
+ flexGrow: 3,
50799
+ justifyContent: "space-between",
50800
+ flexDirection: m || sm ? "column" : "row",
50801
+ zIndex: "content"
50802
+ }, /*#__PURE__*/React__default['default'].createElement(Flex, {
50803
+ flexDirection: "column"
50804
+ }, renderBreadcrumbs && renderBreadcrumbs(), /*#__PURE__*/React__default['default'].createElement(Flex, {
50805
+ gap: !sm ? "x2" : undefined,
50806
+ flexDirection: !sm ? "row" : "column",
50807
+ alignItems: !sm ? "center" : undefined
50808
+ }, /*#__PURE__*/React__default['default'].createElement(Flex, {
50809
+ alignItems: !sm ? "flex-end" : undefined,
50810
+ gap: !sm ? "x2" : undefined,
50811
+ flexDirection: !sm ? "row" : "column"
50812
+ }, title && /*#__PURE__*/React__default['default'].createElement(Heading1, {
50813
+ mb: "0"
50814
+ }, title), subtitle && /*#__PURE__*/React__default['default'].createElement(Text, {
50815
+ pl: !sm ? "x2" : undefined,
50816
+ borderLeft: !sm ? "1px solid" : "none",
50817
+ my: "half",
50818
+ borderColor: "grey"
50819
+ }, subtitle)), children && children)), renderSummary && renderSummary()), renderActions && /*#__PURE__*/React__default['default'].createElement(Flex, {
50820
+ display: "flex",
50821
+ flexGrow: 0,
50822
+ alignItems: "flex-start",
50823
+ zIndex: "content"
50824
+ }, renderActions()), !undecorated && /*#__PURE__*/React__default['default'].createElement(BackgroundTriangles, {
50825
+ zIndex: 1
50826
+ }));
50827
+ };
50828
+
50829
+ var RightAngleTriangle = styled__default['default'](Box).withConfig({
50830
+ displayName: "Header__RightAngleTriangle",
50831
+ componentId: "sc-1kuwqm0-0"
50832
+ })(["position:absolute;bottom:0;right:0;width:100%;clip-path:polygon(100% 0,0 100%,100% 100%);"]);
50833
+
50834
+ var BackgroundTriangles = function BackgroundTriangles(props) {
50835
+ var theme = styled.useTheme();
50836
+ return /*#__PURE__*/React__default['default'].createElement(Box, Object.assign({
50837
+ position: "absolute",
50838
+ bottom: 0,
50839
+ right: 0,
50840
+ height: "100%",
50841
+ minWidth: "55%"
50842
+ }, props), /*#__PURE__*/React__default['default'].createElement(RightAngleTriangle, {
50843
+ height: "33.33%",
50844
+ opacity: "0.5",
50845
+ background: "linear-gradient(178.25deg, rgba(192, 200, 209, 0.5) 62.98%, rgba(225, 235, 250, 0.25) 98.52%)"
50846
+ }), /*#__PURE__*/React__default['default'].createElement(RightAngleTriangle, {
50847
+ height: "17%",
50848
+ opacity: "0.25",
50849
+ background: "linear-gradient(196.88deg, " + theme.colors.grey + " 11.92%, rgba(0, 67, 143, 0) 88.36%)"
50850
+ }));
50851
+ };
50852
+
50741
50853
  var Page = function Page(_a) {
50742
50854
  var breadcrumbs = _a.breadcrumbs,
50743
50855
  title = _a.title,
50744
50856
  children = _a.children,
50745
50857
  headerContent = _a.headerContent,
50746
50858
  fullHeight = _a.fullHeight,
50747
- props = __rest(_a, ["breadcrumbs", "title", "children", "headerContent", "fullHeight"]);
50859
+ renderHeader = _a.renderHeader,
50860
+ rest = __rest(_a, ["breadcrumbs", "title", "children", "headerContent", "fullHeight", "renderHeader"]);
50748
50861
 
50749
50862
  return /*#__PURE__*/React__default['default'].createElement(Flex, Object.assign({
50750
50863
  flexDirection: "column",
50751
- py: "x3",
50752
- px: "x3",
50753
50864
  flexGrow: fullHeight ? 1 : 0
50754
- }, props), breadcrumbs, /*#__PURE__*/React__default['default'].createElement(Flex, {
50755
- alignItems: "center"
50756
- }, title && /*#__PURE__*/React__default['default'].createElement(Heading1, {
50757
- mb: "x6",
50758
- mt: "x2"
50759
- }, title), headerContent && /*#__PURE__*/React__default['default'].createElement(Box, {
50760
- mb: "x6",
50761
- mt: "x2",
50762
- flexGrow: 1,
50763
- ml: "x1"
50764
- }, headerContent)), children);
50865
+ }, rest), renderHeader ? renderHeader() : (breadcrumbs || title || headerContent) && /*#__PURE__*/React__default['default'].createElement(Header, {
50866
+ renderBreadcrumbs: function renderBreadcrumbs() {
50867
+ return breadcrumbs;
50868
+ },
50869
+ title: title
50870
+ }, headerContent), /*#__PURE__*/React__default['default'].createElement(Box, {
50871
+ p: "x3"
50872
+ }, children));
50765
50873
  };
50766
50874
 
50767
50875
  var focusFirstElement = function focusFirstElement() {
@@ -51098,6 +51206,7 @@
51098
51206
  exports.Flex = Flex;
51099
51207
  exports.Form = Form;
51100
51208
  exports.FormSection = FormSection;
51209
+ exports.Header = Header;
51101
51210
  exports.Heading1 = Heading1;
51102
51211
  exports.Heading2 = Heading2;
51103
51212
  exports.Heading3 = Heading3;
@@ -251,7 +251,7 @@ function I18nextProvider(_ref) {
251
251
 
252
252
  /**
253
253
  * Do not edit directly
254
- * Generated on Mon, 06 Jun 2022 21:26:05 GMT
254
+ * Generated on Thu, 01 Dec 2022 21:44:24 GMT
255
255
  */
256
256
 
257
257
  const color_base_black = "#011e38";
@@ -284,7 +284,7 @@ const line_height_base = "1.5";
284
284
  const line_height_small_text_base = "1.71428571";
285
285
  const line_height_small_text_compressed = "1.14285714";
286
286
  const line_height_smaller_text = "1.33333333";
287
- const line_height_heading_1 = "1.05";
287
+ const line_height_heading_1 = "1.25";
288
288
  const line_height_heading_2 = "1.33";
289
289
  const line_height_heading_3 = "1.33";
290
290
  const line_height_heading_4 = "1.33";
@@ -315,8 +315,8 @@ const size_font_small = "14px";
315
315
  const size_font_medium = "16px";
316
316
  const size_font_large = "24px";
317
317
  const size_font_larger = "30px";
318
- const size_font_largest = "38px";
319
- const size_font_heading_1 = "38px";
318
+ const size_font_largest = "32px";
319
+ const size_font_heading_1 = "32px";
320
320
  const size_font_heading_2 = "30px";
321
321
  const size_font_heading_3 = "24px";
322
322
  const size_font_heading_4 = "18px";
@@ -11685,7 +11685,20 @@ var Flex = styled(Box).withConfig({
11685
11685
  componentId: "sc-1whlq91-0"
11686
11686
  })({
11687
11687
  display: "flex"
11688
- }, flexbox);
11688
+ }, system({
11689
+ gap: {
11690
+ property: "gap",
11691
+ scale: "space"
11692
+ },
11693
+ rowGap: {
11694
+ property: "rowGap",
11695
+ scale: "space"
11696
+ },
11697
+ columnGap: {
11698
+ property: "columnGap",
11699
+ scale: "space"
11700
+ }
11701
+ }), flexbox);
11689
11702
 
11690
11703
  /*! *****************************************************************************
11691
11704
  Copyright (c) Microsoft Corporation.
@@ -23300,20 +23313,23 @@ var ReactSelect = /*#__PURE__*/React__default.forwardRef(function (_a, ref) {
23300
23313
  var themeContext = React__default.useContext(ThemeContext$1);
23301
23314
  var spaceProps = getSubset(props, propTypes.space);
23302
23315
  var reactSelectRef = React__default.useRef(null);
23316
+ var optionsRef = React__default.useRef(options);
23303
23317
  React__default.useEffect(function () {
23304
23318
  checkOptionsAreValid(options);
23319
+ optionsRef.current = options;
23305
23320
  }, [options]);
23306
23321
  var handleChange = React__default.useCallback(function (option) {
23307
23322
  onChange && onChange(extractValue(option, multiselect));
23308
23323
  }, [multiselect, onChange]);
23309
23324
  var handlePaste = React__default.useCallback(function (e) {
23310
23325
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
23311
- var currentRef, currentValue, clipboardData, values, notExistingOptions, pastedOptions, newValue;
23326
+ var options, currentRef, currentValue, clipboardData, values, notExistingOptions, pastedOptions, newValue;
23312
23327
  return regenerator.wrap(function _callee$(_context) {
23313
23328
  while (1) {
23314
23329
  switch (_context.prev = _context.next) {
23315
23330
  case 0:
23316
23331
  e.preventDefault();
23332
+ options = optionsRef.current;
23317
23333
  currentRef = reactSelectRef.current;
23318
23334
  currentValue = currentRef.state.value || [];
23319
23335
  clipboardData = e.clipboardData.getData("text/plain") || "";
@@ -23346,20 +23362,20 @@ var ReactSelect = /*#__PURE__*/React__default.forwardRef(function (_a, ref) {
23346
23362
  });
23347
23363
  handleChange(newValue);
23348
23364
 
23349
- case 10:
23365
+ case 11:
23350
23366
  case "end":
23351
23367
  return _context.stop();
23352
23368
  }
23353
23369
  }
23354
23370
  }, _callee);
23355
23371
  }));
23356
- }, [options]);
23372
+ }, []);
23357
23373
 
23358
23374
  var _SelectInput = React__default.useCallback(function (inputProps) {
23359
23375
  return /*#__PURE__*/React__default.createElement(SelectInput, Object.assign({}, inputProps, multiselect ? {
23360
23376
  onPaste: handlePaste
23361
23377
  } : {}));
23362
- }, [handlePaste, multiselect]);
23378
+ }, [multiselect]);
23363
23379
 
23364
23380
  React__default.useEffect(function () {
23365
23381
  if (ref) {
@@ -42367,7 +42383,10 @@ var BreadcrumbsListItem = styled.li.withConfig({
42367
42383
  listStyle: "none",
42368
42384
  display: "inline-flex",
42369
42385
  alignSelf: "center",
42370
- color: theme.colors.darkGrey,
42386
+ color: theme.colors.midGrey,
42387
+ "a, p": {
42388
+ fontSize: theme.fontSizes.small
42389
+ },
42371
42390
  "a:visited": {
42372
42391
  color: theme.colors.darkBlue
42373
42392
  }
@@ -42376,14 +42395,10 @@ var BreadcrumbsListItem = styled.li.withConfig({
42376
42395
 
42377
42396
  var insertSeparators = function insertSeparators(items, className) {
42378
42397
  return items.reduce(function (acc, current, index) {
42379
- return acc.concat(current,
42380
- /*#__PURE__*/
42381
- // eslint-disable-next-line react/no-array-index-key
42382
- React__default.createElement(BreadcrumbsListItem, {
42398
+ return acc.concat(current, /*#__PURE__*/React__default.createElement(BreadcrumbsListItem, {
42383
42399
  "aria-hidden": true,
42384
42400
  key: "separator-" + index,
42385
- className: className,
42386
- px: "x1"
42401
+ className: className
42387
42402
  }, /*#__PURE__*/React__default.createElement(Icon, {
42388
42403
  icon: "rightArrow"
42389
42404
  })));
@@ -42395,18 +42410,14 @@ var Breadcrumbs = function Breadcrumbs(_a) {
42395
42410
  as = _a.as,
42396
42411
  props = __rest(_a, ["children", "as"]);
42397
42412
 
42398
- var childrenArr = Array.isArray(children) ? children : [children];
42399
- var allItems = [].concat(childrenArr).map(function (child, index) {
42400
- return (
42401
- /*#__PURE__*/
42402
- // eslint-disable-next-line react/no-array-index-key
42403
- React__default.createElement(BreadcrumbsListItem, {
42404
- key: "child-" + index
42405
- }, /*#__PURE__*/React__default.cloneElement(child, {
42406
- color: "darkBlue"
42407
- }))
42408
- );
42409
- });
42413
+ var allItems = React__default.Children.map(children, function (child, index) {
42414
+ if (! /*#__PURE__*/isValidElement(child)) return null;
42415
+ return /*#__PURE__*/React__default.createElement(BreadcrumbsListItem, {
42416
+ key: "child-" + index
42417
+ }, /*#__PURE__*/React__default.cloneElement(child, {
42418
+ color: "darkBlue"
42419
+ }));
42420
+ }).filter(Boolean);
42410
42421
  return /*#__PURE__*/React__default.createElement(Flex, Object.assign({
42411
42422
  as: as
42412
42423
  }, props), /*#__PURE__*/React__default.createElement(BreadcrumbsList, null, insertSeparators(allItems, "seperator")));
@@ -50712,30 +50723,127 @@ var ApplicationFrame = function ApplicationFrame(_a) {
50712
50723
  }, children));
50713
50724
  };
50714
50725
 
50726
+ var useMediaQuery = function useMediaQuery(query) {
50727
+ var _useState = useState(window.matchMedia(query).matches),
50728
+ matches = _useState[0],
50729
+ setMatches = _useState[1];
50730
+
50731
+ useEffect(function () {
50732
+ var handler = function handler(e) {
50733
+ setMatches(e.matches);
50734
+ };
50735
+
50736
+ window.matchMedia(query).addEventListener("change", handler);
50737
+ return function () {
50738
+ window.removeEventListener("change", handler);
50739
+ };
50740
+ }, []);
50741
+ return matches;
50742
+ };
50743
+
50744
+ var Header = function Header(_a) {
50745
+ var _b, _c;
50746
+
50747
+ var _a$background = _a.background,
50748
+ background = _a$background === void 0 ? "whiteGrey" : _a$background,
50749
+ renderBreadcrumbs = _a.renderBreadcrumbs,
50750
+ title = _a.title,
50751
+ _a$undecorated = _a.undecorated,
50752
+ undecorated = _a$undecorated === void 0 ? false : _a$undecorated,
50753
+ children = _a.children,
50754
+ subtitle = _a.subtitle,
50755
+ breakpoints = _a.breakpoints,
50756
+ renderActions = _a.renderActions,
50757
+ renderSummary = _a.renderSummary,
50758
+ rest = __rest(_a, ["background", "renderBreadcrumbs", "title", "undecorated", "children", "subtitle", "breakpoints", "renderActions", "renderSummary"]);
50759
+
50760
+ var theme = useTheme();
50761
+ var smallBreakpoint = pixelDigitsFrom$1((_b = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.small) !== null && _b !== void 0 ? _b : theme.breakpoints.small);
50762
+ var mediumBreakpoint = pixelDigitsFrom$1((_c = breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.medium) !== null && _c !== void 0 ? _c : theme.breakpoints.medium);
50763
+ var m = useMediaQuery("(max-width: " + mediumBreakpoint + "px)");
50764
+ var sm = useMediaQuery("(max-width: " + smallBreakpoint + "px)");
50765
+ return /*#__PURE__*/React__default.createElement(Flex, Object.assign({
50766
+ py: "x1",
50767
+ px: "x3",
50768
+ gap: "x2",
50769
+ position: "relative",
50770
+ bg: background
50771
+ }, rest), /*#__PURE__*/React__default.createElement(Flex, {
50772
+ flexGrow: 3,
50773
+ justifyContent: "space-between",
50774
+ flexDirection: m || sm ? "column" : "row",
50775
+ zIndex: "content"
50776
+ }, /*#__PURE__*/React__default.createElement(Flex, {
50777
+ flexDirection: "column"
50778
+ }, renderBreadcrumbs && renderBreadcrumbs(), /*#__PURE__*/React__default.createElement(Flex, {
50779
+ gap: !sm ? "x2" : undefined,
50780
+ flexDirection: !sm ? "row" : "column",
50781
+ alignItems: !sm ? "center" : undefined
50782
+ }, /*#__PURE__*/React__default.createElement(Flex, {
50783
+ alignItems: !sm ? "flex-end" : undefined,
50784
+ gap: !sm ? "x2" : undefined,
50785
+ flexDirection: !sm ? "row" : "column"
50786
+ }, title && /*#__PURE__*/React__default.createElement(Heading1, {
50787
+ mb: "0"
50788
+ }, title), subtitle && /*#__PURE__*/React__default.createElement(Text, {
50789
+ pl: !sm ? "x2" : undefined,
50790
+ borderLeft: !sm ? "1px solid" : "none",
50791
+ my: "half",
50792
+ borderColor: "grey"
50793
+ }, subtitle)), children && children)), renderSummary && renderSummary()), renderActions && /*#__PURE__*/React__default.createElement(Flex, {
50794
+ display: "flex",
50795
+ flexGrow: 0,
50796
+ alignItems: "flex-start",
50797
+ zIndex: "content"
50798
+ }, renderActions()), !undecorated && /*#__PURE__*/React__default.createElement(BackgroundTriangles, {
50799
+ zIndex: 1
50800
+ }));
50801
+ };
50802
+
50803
+ var RightAngleTriangle = styled(Box).withConfig({
50804
+ displayName: "Header__RightAngleTriangle",
50805
+ componentId: "sc-1kuwqm0-0"
50806
+ })(["position:absolute;bottom:0;right:0;width:100%;clip-path:polygon(100% 0,0 100%,100% 100%);"]);
50807
+
50808
+ var BackgroundTriangles = function BackgroundTriangles(props) {
50809
+ var theme = useTheme();
50810
+ return /*#__PURE__*/React__default.createElement(Box, Object.assign({
50811
+ position: "absolute",
50812
+ bottom: 0,
50813
+ right: 0,
50814
+ height: "100%",
50815
+ minWidth: "55%"
50816
+ }, props), /*#__PURE__*/React__default.createElement(RightAngleTriangle, {
50817
+ height: "33.33%",
50818
+ opacity: "0.5",
50819
+ background: "linear-gradient(178.25deg, rgba(192, 200, 209, 0.5) 62.98%, rgba(225, 235, 250, 0.25) 98.52%)"
50820
+ }), /*#__PURE__*/React__default.createElement(RightAngleTriangle, {
50821
+ height: "17%",
50822
+ opacity: "0.25",
50823
+ background: "linear-gradient(196.88deg, " + theme.colors.grey + " 11.92%, rgba(0, 67, 143, 0) 88.36%)"
50824
+ }));
50825
+ };
50826
+
50715
50827
  var Page = function Page(_a) {
50716
50828
  var breadcrumbs = _a.breadcrumbs,
50717
50829
  title = _a.title,
50718
50830
  children = _a.children,
50719
50831
  headerContent = _a.headerContent,
50720
50832
  fullHeight = _a.fullHeight,
50721
- props = __rest(_a, ["breadcrumbs", "title", "children", "headerContent", "fullHeight"]);
50833
+ renderHeader = _a.renderHeader,
50834
+ rest = __rest(_a, ["breadcrumbs", "title", "children", "headerContent", "fullHeight", "renderHeader"]);
50722
50835
 
50723
50836
  return /*#__PURE__*/React__default.createElement(Flex, Object.assign({
50724
50837
  flexDirection: "column",
50725
- py: "x3",
50726
- px: "x3",
50727
50838
  flexGrow: fullHeight ? 1 : 0
50728
- }, props), breadcrumbs, /*#__PURE__*/React__default.createElement(Flex, {
50729
- alignItems: "center"
50730
- }, title && /*#__PURE__*/React__default.createElement(Heading1, {
50731
- mb: "x6",
50732
- mt: "x2"
50733
- }, title), headerContent && /*#__PURE__*/React__default.createElement(Box, {
50734
- mb: "x6",
50735
- mt: "x2",
50736
- flexGrow: 1,
50737
- ml: "x1"
50738
- }, headerContent)), children);
50839
+ }, rest), renderHeader ? renderHeader() : (breadcrumbs || title || headerContent) && /*#__PURE__*/React__default.createElement(Header, {
50840
+ renderBreadcrumbs: function renderBreadcrumbs() {
50841
+ return breadcrumbs;
50842
+ },
50843
+ title: title
50844
+ }, headerContent), /*#__PURE__*/React__default.createElement(Box, {
50845
+ p: "x3"
50846
+ }, children));
50739
50847
  };
50740
50848
 
50741
50849
  var focusFirstElement = function focusFirstElement() {
@@ -51038,4 +51146,4 @@ var SortingTable = function SortingTable(_a) {
51038
51146
  }, props));
51039
51147
  };
51040
51148
 
51041
- export { ALL_NDS_LOCALES, Alert, AnimatedBox, ApplicationFrame, AsyncSelect, Box, BrandLogoContainer, NavBar as BrandedNavBar, Branding, Breadcrumbs, Button, ButtonGroup, Card, CardSet, Checkbox, CheckboxGroup, ControlIcon, DangerButton, DatePicker, DateRange, DesktopMenu, Divider, DropdownButton, DropdownItem, DropdownLink, DropdownMenu, DropdownText, EnvironmentBanner, Field, FieldLabel, Fieldset, Flex, Form, FormSection, Heading1, Heading2, Heading3, Heading4, HelpText, Icon, IconicButton, InlineIcon, InlineValidation, Input$1 as Input, Link, List, ListItem, LoadingAnimation, MenuTrigger, Modal, NDSProvider, NavBar$1 as NavBar, NavBarBackground, Overlay, Page, Pagination, PrimaryButton, QuietButton, Radio, RadioGroup, RangeContainer, RequirementText, ReactSelect as Select, SelectClearIndicator, SelectContainer$1 as SelectContainer, SelectControl, SelectDropdownIndicator, SelectInput, SelectMenu, SelectMultiValue, SelectOption, Sidebar, SmallNavBar, SortingTable, StatusIndicator, Switch, Switcher, Tab, Table, Tabs, Text, Textarea, TimePicker, TimeRange, Toast, ToggleComponent as Toggle, Tooltip, TruncatedText, addStyledProps, Theme as theme, useWindowDimensions };
51149
+ export { ALL_NDS_LOCALES, Alert, AnimatedBox, ApplicationFrame, AsyncSelect, Box, BrandLogoContainer, NavBar as BrandedNavBar, Branding, Breadcrumbs, Button, ButtonGroup, Card, CardSet, Checkbox, CheckboxGroup, ControlIcon, DangerButton, DatePicker, DateRange, DesktopMenu, Divider, DropdownButton, DropdownItem, DropdownLink, DropdownMenu, DropdownText, EnvironmentBanner, Field, FieldLabel, Fieldset, Flex, Form, FormSection, Header, Heading1, Heading2, Heading3, Heading4, HelpText, Icon, IconicButton, InlineIcon, InlineValidation, Input$1 as Input, Link, List, ListItem, LoadingAnimation, MenuTrigger, Modal, NDSProvider, NavBar$1 as NavBar, NavBarBackground, Overlay, Page, Pagination, PrimaryButton, QuietButton, Radio, RadioGroup, RangeContainer, RequirementText, ReactSelect as Select, SelectClearIndicator, SelectContainer$1 as SelectContainer, SelectControl, SelectDropdownIndicator, SelectInput, SelectMenu, SelectMultiValue, SelectOption, Sidebar, SmallNavBar, SortingTable, StatusIndicator, Switch, Switcher, Tab, Table, Tabs, Text, Textarea, TimePicker, TimeRange, Toast, ToggleComponent as Toggle, Tooltip, TruncatedText, addStyledProps, Theme as theme, useWindowDimensions };
@@ -4,5 +4,5 @@ import { StyledProps } from "../StyledProps";
4
4
  export declare type NavBarBackgroundProps = {
5
5
  theme?: DefaultNDSThemeType;
6
6
  } & StyledProps;
7
- declare const NavBarBackground: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Box/Box").BoxProps>, import("styled-components").DefaultTheme, {}, never>;
7
+ declare const NavBarBackground: import("styled-components").StyledComponent<import("react").FC<import("../Flex/Flex").FlexProps>, import("styled-components").DefaultTheme, {}, never>;
8
8
  export default NavBarBackground;
@@ -1,13 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import { FlexProps } from "../Flex/Flex";
3
- declare type BreadcrumbsProps = FlexProps & {
4
- children: any;
5
- as?: string | undefined;
6
- };
7
- declare const Breadcrumbs: {
8
- ({ children, as, ...props }: BreadcrumbsProps): JSX.Element;
9
- defaultProps: {
10
- as: string;
11
- };
12
- };
3
+ declare const Breadcrumbs: React.FC<FlexProps>;
13
4
  export default Breadcrumbs;
@@ -1,5 +1,9 @@
1
- /// <reference types="react" />
1
+ import React, { CSSProperties } from "react";
2
2
  import { BoxProps } from "../Box/Box";
3
- export declare type FlexProps = BoxProps;
4
- declare const Flex: React.FunctionComponent<FlexProps>;
3
+ export declare type FlexProps = BoxProps & {
4
+ gap?: CSSProperties["gap"];
5
+ rowGap?: CSSProperties["rowGap"];
6
+ columnGap?: CSSProperties["columnGap"];
7
+ };
8
+ declare const Flex: React.FC<FlexProps>;
5
9
  export default Flex;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import type { BoxProps } from "../Box/Box";
3
+ declare type Breakpoint = string | number;
4
+ declare type HeaderProps = BoxProps & {
5
+ renderBreadcrumbs?: () => React.ReactNode;
6
+ title?: string;
7
+ subtitle?: string;
8
+ undecorated?: boolean;
9
+ renderActions?: () => React.ReactNode;
10
+ renderSummary?: () => React.ReactNode;
11
+ breakpoints?: {
12
+ small?: Breakpoint;
13
+ medium?: Breakpoint;
14
+ };
15
+ };
16
+ declare const Header: React.FC<HeaderProps>;
17
+ export default Header;
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ export declare const DefaultBackground: () => JSX.Element;
3
+ export declare const WithAnUndecoratedBackground: () => JSX.Element;
4
+ export declare const WithActions: () => JSX.Element;
5
+ export declare const WithCustomBackground: () => JSX.Element;
6
+ export declare const WithSubTitle: () => JSX.Element;
7
+ export declare const WithContent: () => JSX.Element;
8
+ export declare const WithSummary: () => JSX.Element;
9
+ export declare const WithEverything: () => JSX.Element;
10
+ declare const _default: {
11
+ title: string;
12
+ parameters: {
13
+ layout: string;
14
+ };
15
+ };
16
+ export default _default;
@@ -6,6 +6,7 @@ declare type PageProps = FlexProps & {
6
6
  children?: React.ReactNode;
7
7
  headerContent?: React.ReactNode;
8
8
  fullHeight?: boolean;
9
+ renderHeader?: () => JSX.Element;
9
10
  };
10
- export declare const Page: ({ breadcrumbs, title, children, headerContent, fullHeight, ...props }: PageProps) => JSX.Element;
11
+ export declare const Page: React.FC<PageProps>;
11
12
  export default Page;
@@ -9,4 +9,5 @@ export default _default;
9
9
  export declare const _Page: () => JSX.Element;
10
10
  export declare const NoPageTitle: () => JSX.Element;
11
11
  export declare const NoBreadcrumbs: () => JSX.Element;
12
+ export declare const NoBackground: () => JSX.Element;
12
13
  export declare const WithFullHeight: () => JSX.Element;
@@ -1,3 +1,4 @@
1
1
  export { default as ApplicationFrame } from "./ApplicationFrame";
2
2
  export { default as Page } from "./Page";
3
3
  export { default as Sidebar } from "./Sidebar";
4
+ export { default as Header } from "./Header";
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { DefaultNDSThemeType } from "../theme.type";
4
4
  export declare const getThemeColor: (themeColor: any) => any;
5
- export declare const NavBarBackground: import("styled-components").StyledComponent<React.FunctionComponent<import("../Box/Box").BoxProps>, import("styled-components").DefaultTheme, {
5
+ export declare const NavBarBackground: import("styled-components").StyledComponent<React.FC<import("../Flex/Flex").FlexProps>, import("styled-components").DefaultTheme, {
6
6
  backgroundColor: string;
7
7
  theme?: DefaultNDSThemeType;
8
8
  }, never>;
@@ -109,3 +109,4 @@ export declare const UsingRefToControlFocus: {
109
109
  };
110
110
  export declare const WithCustomProps: () => JSX.Element;
111
111
  export declare const PasteCsvValueInSelect: (props: any) => JSX.Element;
112
+ export declare const AddNewOptionOnInputChange: (props: any) => JSX.Element;
@@ -1,3 +1,8 @@
1
- /// <reference types="react" />
2
- declare const StatusIndicator: React.FC<any>;
1
+ import React from "react";
2
+ import { SpaceProps, TypographyProps, FlexboxProps } from "styled-system";
3
+ declare type StatusIndicatorType = "neutral" | "dark" | "danger" | "informative" | "success" | "warning" | "quiet";
4
+ declare type StatusIndicatorProps = SpaceProps & TypographyProps & FlexboxProps & {
5
+ type?: StatusIndicatorType;
6
+ };
7
+ declare const StatusIndicator: React.FC<StatusIndicatorProps>;
3
8
  export default StatusIndicator;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ declare type SummaryProps = {
3
+ breakpoint?: number | string;
4
+ };
5
+ declare const Summary: React.FC<SummaryProps>;
6
+ export default Summary;
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ export declare function Default(): JSX.Element;
3
+ export declare function WithMainInfoOnly(): JSX.Element;
4
+ declare const _default: {
5
+ title: string;
6
+ parameters: {
7
+ backgrounds: {
8
+ default: string;
9
+ values: {
10
+ name: string;
11
+ value: string;
12
+ }[];
13
+ };
14
+ };
15
+ };
16
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare type SummaryContextValue = {
3
+ breakpoint: number;
4
+ };
5
+ export declare function useSummaryContext(): SummaryContextValue;
6
+ export declare const SummaryContextProvider: React.FC<SummaryContextValue>;
7
+ export {};
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const SummaryDivider: (props: any) => JSX.Element;
3
+ export default SummaryDivider;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare type SummaryItemProps = {
3
+ value: number | string;
4
+ status: React.ReactNode;
5
+ };
6
+ declare const SummaryItem: React.FC<SummaryItemProps>;
7
+ export default SummaryItem;
@@ -0,0 +1 @@
1
+ export { default as Summary } from "./Summary";
@@ -0,0 +1,2 @@
1
+ declare const useMediaQuery: (query: string) => boolean;
2
+ export default useMediaQuery;
@@ -46,7 +46,7 @@ export { Toast } from "./Toast";
46
46
  export { BrandedNavBar, MenuTrigger, EnvironmentBanner, NavBarBackground, BrandLogoContainer, DesktopMenu, SmallNavBar, } from "./BrandedNavBar";
47
47
  export type { MenuTriggerProps, EnvironmentBannerProps, NavBarBackgroundProps, BrandLogoContainerProps, DesktopMenuProps, SmallNavBarProps, RenderMenuButtonProps, } from "./BrandedNavBar";
48
48
  export { AsyncSelect } from "./AsyncSelect";
49
- export { ApplicationFrame, Page, Sidebar } from "./Layout";
49
+ export { ApplicationFrame, Page, Sidebar, Header } from "./Layout";
50
50
  export { useWindowDimensions } from "./utils";
51
51
  export { Divider } from "./Divider";
52
52
  export { SortingTable } from "./SortingTable";
@@ -0,0 +1,5 @@
1
+ declare const simulatedAPIRequest: (inputValue: string, data: {
2
+ value: string;
3
+ label: string;
4
+ }[], milliseconds?: number) => Promise<Response>;
5
+ export default simulatedAPIRequest;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nulogy/components",
3
- "version": "8.3.0",
3
+ "version": "8.4.1",
4
4
  "description": "Component library for the Nulogy Design System - http://nulogy.design",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -138,7 +138,7 @@
138
138
  },
139
139
  "dependencies": {
140
140
  "@babel/runtime": "^7.9.6",
141
- "@nulogy/tokens": "^5.3.0",
141
+ "@nulogy/tokens": "^5.4.0",
142
142
  "@styled-system/prop-types": "^5.1.4",
143
143
  "@styled-system/theme-get": "^5.1.2",
144
144
  "body-scroll-lock": "^3.1.5",