@nulogy/components 8.5.0 → 8.7.0

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
@@ -20231,7 +20231,9 @@
20231
20231
  hideDelay = _a$hideDelay === void 0 ? "200" : _a$hideDelay,
20232
20232
  openAriaLabel = _a.openAriaLabel,
20233
20233
  closeAriaLabel = _a.closeAriaLabel,
20234
- props = __rest(_a, ["trigger", "children", "showArrow", "disabled", "defaultOpen", "backgroundColor", "placement", "className", "id", "boundariesElement", "showDelay", "hideDelay", "openAriaLabel", "closeAriaLabel"]);
20234
+ _a$openOnHover = _a.openOnHover,
20235
+ openOnHover = _a$openOnHover === void 0 ? false : _a$openOnHover,
20236
+ props = __rest(_a, ["trigger", "children", "showArrow", "disabled", "defaultOpen", "backgroundColor", "placement", "className", "id", "boundariesElement", "showDelay", "hideDelay", "openAriaLabel", "closeAriaLabel", "openOnHover"]);
20235
20237
 
20236
20238
  var spaceProps = getSubset(props, propTypes.space);
20237
20239
  var restProps = omitSubset(props, propTypes.space);
@@ -20251,9 +20253,9 @@
20251
20253
  popperPlacement: placement,
20252
20254
  defaultOpen: defaultOpen,
20253
20255
  showArrow: showArrow,
20254
- openOnClick: true,
20256
+ openOnClick: !openOnHover,
20255
20257
  ref: ref,
20256
- openOnHover: false,
20258
+ openOnHover: openOnHover,
20257
20259
  modifiers: modifiers,
20258
20260
  backgroundColor: backgroundColor,
20259
20261
  borderColor: backgroundColor,
@@ -20322,7 +20324,9 @@
20322
20324
  return {
20323
20325
  color: theme.colors[color],
20324
20326
  fontWeight: theme.fontWeights.medium,
20325
- display: "block",
20327
+ display: "flex",
20328
+ alignItems: "center",
20329
+ gap: theme.space.half,
20326
20330
  textDecoration: "none",
20327
20331
  borderColor: "transparent",
20328
20332
  backgroundColor: "transparent",
@@ -21063,7 +21067,9 @@
21063
21067
 
21064
21068
  var getSharedStyles$4 = function getSharedStyles() {
21065
21069
  return {
21066
- display: "block",
21070
+ display: "flex",
21071
+ alignItems: "center",
21072
+ gap: Theme.space.half,
21067
21073
  whiteSpace: "nowrap",
21068
21074
  textDecoration: "none",
21069
21075
  borderColor: "transparent",
@@ -21437,7 +21443,9 @@
21437
21443
 
21438
21444
  var getSharedStyles$3 = function getSharedStyles(color) {
21439
21445
  return {
21440
- display: "block",
21446
+ display: "flex",
21447
+ alignItems: "center",
21448
+ gap: Theme.space.half,
21441
21449
  color: themeGet("colors." + color, color)(color),
21442
21450
  textDecoration: "none",
21443
21451
  border: "none",
@@ -21648,7 +21656,9 @@
21648
21656
  var color = _ref.color,
21649
21657
  layer = _ref.layer;
21650
21658
  return {
21651
- display: "block",
21659
+ display: "flex",
21660
+ alignItems: "center",
21661
+ gap: Theme.space.half,
21652
21662
  color: themeGet("colors." + color, color)(color),
21653
21663
  textDecoration: "none",
21654
21664
  border: "none",
@@ -42976,14 +42986,19 @@
42976
42986
  var renderSubMenuLink = function renderSubMenuLink(subMenuItem, onItemClick) {
42977
42987
  var _a;
42978
42988
 
42979
- return /*#__PURE__*/React__default['default'].createElement(NoWrapLi, {
42980
- key: (_a = subMenuItem.key) !== null && _a !== void 0 ? _a : subMenuItem.name
42981
- }, /*#__PURE__*/React__default['default'].createElement(DropdownLink, {
42989
+ var linkProps = {
42982
42990
  onClick: onItemClick,
42983
42991
  href: subMenuItem.href,
42984
42992
  to: subMenuItem.to,
42985
- as: subMenuItem.as
42986
- }, subMenuItem.name));
42993
+ as: subMenuItem.as,
42994
+ target: subMenuItem.openInNew ? "_blank" : undefined
42995
+ };
42996
+ return /*#__PURE__*/React__default['default'].createElement(NoWrapLi, {
42997
+ key: (_a = subMenuItem.key) !== null && _a !== void 0 ? _a : subMenuItem.name
42998
+ }, /*#__PURE__*/React__default['default'].createElement(DropdownLink, Object.assign({}, linkProps), subMenuItem.name, subMenuItem.openInNew && /*#__PURE__*/React__default['default'].createElement(Icon, {
42999
+ size: "x2",
43000
+ icon: "openInNew"
43001
+ })));
42987
43002
  };
42988
43003
 
42989
43004
  var renderCustom$2 = function renderCustom(subMenuItem, onItemClick, _SubMenuTrigger, layer) {
@@ -43288,7 +43303,9 @@
43288
43303
 
43289
43304
  var getSharedStyles$1 = function getSharedStyles(color, theme) {
43290
43305
  return {
43291
- display: "block",
43306
+ display: "flex",
43307
+ alignItems: "center",
43308
+ gap: theme.space.half,
43292
43309
  color: theme.colors[color] || color,
43293
43310
  textDecoration: "none",
43294
43311
  border: "none",
@@ -43362,13 +43379,18 @@
43362
43379
  var renderMenuLink$1 = function renderMenuLink(menuItem, themeColorObject) {
43363
43380
  var _a;
43364
43381
 
43365
- return /*#__PURE__*/React__default['default'].createElement("div", {
43366
- key: (_a = menuItem.key) !== null && _a !== void 0 ? _a : menuItem.name
43367
- }, /*#__PURE__*/React__default['default'].createElement(MenuLink, Object.assign({
43382
+ var linkProps = {
43368
43383
  href: menuItem.href,
43369
43384
  to: menuItem.to,
43370
- as: menuItem.as
43371
- }, themeColorObject), menuItem.name));
43385
+ as: menuItem.as,
43386
+ target: menuItem.openInNew ? "_blank" : undefined
43387
+ };
43388
+ return /*#__PURE__*/React__default['default'].createElement("div", {
43389
+ key: (_a = menuItem.key) !== null && _a !== void 0 ? _a : menuItem.name
43390
+ }, /*#__PURE__*/React__default['default'].createElement(MenuLink, Object.assign({}, linkProps, themeColorObject), menuItem.name, menuItem.openInNew && /*#__PURE__*/React__default['default'].createElement(Icon, {
43391
+ size: "x2",
43392
+ icon: "openInNew"
43393
+ })));
43372
43394
  };
43373
43395
 
43374
43396
  var renderCustom$1 = function renderCustom(menuItem, _themeColorObject, layer) {
@@ -43393,13 +43415,17 @@
43393
43415
  var getRenderFunction$1 = function getRenderFunction(menuItem) {
43394
43416
  if (menuItem.items) {
43395
43417
  return renderMenuTrigger;
43396
- } else if (menuItem.href || menuItem.to) {
43418
+ }
43419
+
43420
+ if (menuItem.href || menuItem.to) {
43397
43421
  return renderMenuLink$1;
43398
- } else if (menuItem.render) {
43422
+ }
43423
+
43424
+ if (menuItem.render) {
43399
43425
  return renderCustom$1;
43400
- } else {
43401
- return renderText$1;
43402
43426
  }
43427
+
43428
+ return renderText$1;
43403
43429
  };
43404
43430
 
43405
43431
  var renderMenuItem = function renderMenuItem(menuItem, themeColorObject, layer, menuType) {
@@ -43578,7 +43604,9 @@
43578
43604
 
43579
43605
  var getSharedStyles = function getSharedStyles(theme) {
43580
43606
  return {
43581
- display: "block",
43607
+ display: "flex",
43608
+ alignItems: "center",
43609
+ gap: theme.space.half,
43582
43610
  textDecoration: "none",
43583
43611
  border: "none",
43584
43612
  backgroundColor: "transparent",
@@ -43644,12 +43672,17 @@
43644
43672
  to: menuItem.to,
43645
43673
  // eslint-disable-next-line no-mixed-operators
43646
43674
  pl: layer === 0 ? getPaddingLeft(layer) : 24 * layer + 20 + "px",
43647
- mb: "x1"
43675
+ mb: "x1",
43676
+ target: menuItem.openInNew ? "_blank" : undefined
43648
43677
  };
43649
- var MenuLink = layer === 0 ? TopLevelLink : DropdownLink;
43678
+ var topLevel = layer === 0;
43679
+ var MenuLink = topLevel ? TopLevelLink : DropdownLink;
43650
43680
  return /*#__PURE__*/React__default['default'].createElement("li", {
43651
43681
  key: (_a = menuItem.key) !== null && _a !== void 0 ? _a : menuItem.name
43652
- }, /*#__PURE__*/React__default['default'].createElement(MenuLink, Object.assign({}, sharedLinkProps), menuItem.name));
43682
+ }, /*#__PURE__*/React__default['default'].createElement(MenuLink, Object.assign({}, sharedLinkProps), menuItem.name, menuItem.openInNew && /*#__PURE__*/React__default['default'].createElement(Icon, {
43683
+ size: topLevel ? "x3" : "x2",
43684
+ icon: "openInNew"
43685
+ })));
43653
43686
  };
43654
43687
 
43655
43688
  var renderCustom = function renderCustom(menuItem, linkOnClick, themeColorObject, layer) {
@@ -20205,7 +20205,9 @@ var DropdownMenu = /*#__PURE__*/React__default.forwardRef(function (_a, ref) {
20205
20205
  hideDelay = _a$hideDelay === void 0 ? "200" : _a$hideDelay,
20206
20206
  openAriaLabel = _a.openAriaLabel,
20207
20207
  closeAriaLabel = _a.closeAriaLabel,
20208
- props = __rest(_a, ["trigger", "children", "showArrow", "disabled", "defaultOpen", "backgroundColor", "placement", "className", "id", "boundariesElement", "showDelay", "hideDelay", "openAriaLabel", "closeAriaLabel"]);
20208
+ _a$openOnHover = _a.openOnHover,
20209
+ openOnHover = _a$openOnHover === void 0 ? false : _a$openOnHover,
20210
+ props = __rest(_a, ["trigger", "children", "showArrow", "disabled", "defaultOpen", "backgroundColor", "placement", "className", "id", "boundariesElement", "showDelay", "hideDelay", "openAriaLabel", "closeAriaLabel", "openOnHover"]);
20209
20211
 
20210
20212
  var spaceProps = getSubset(props, propTypes.space);
20211
20213
  var restProps = omitSubset(props, propTypes.space);
@@ -20225,9 +20227,9 @@ var DropdownMenu = /*#__PURE__*/React__default.forwardRef(function (_a, ref) {
20225
20227
  popperPlacement: placement,
20226
20228
  defaultOpen: defaultOpen,
20227
20229
  showArrow: showArrow,
20228
- openOnClick: true,
20230
+ openOnClick: !openOnHover,
20229
20231
  ref: ref,
20230
- openOnHover: false,
20232
+ openOnHover: openOnHover,
20231
20233
  modifiers: modifiers,
20232
20234
  backgroundColor: backgroundColor,
20233
20235
  borderColor: backgroundColor,
@@ -20296,7 +20298,9 @@ var DropdownLink = styled.a.withConfig({
20296
20298
  return {
20297
20299
  color: theme.colors[color],
20298
20300
  fontWeight: theme.fontWeights.medium,
20299
- display: "block",
20301
+ display: "flex",
20302
+ alignItems: "center",
20303
+ gap: theme.space.half,
20300
20304
  textDecoration: "none",
20301
20305
  borderColor: "transparent",
20302
20306
  backgroundColor: "transparent",
@@ -21037,7 +21041,9 @@ var SubMenuLink = styled(DropdownLink).withConfig({
21037
21041
 
21038
21042
  var getSharedStyles$4 = function getSharedStyles() {
21039
21043
  return {
21040
- display: "block",
21044
+ display: "flex",
21045
+ alignItems: "center",
21046
+ gap: Theme.space.half,
21041
21047
  whiteSpace: "nowrap",
21042
21048
  textDecoration: "none",
21043
21049
  borderColor: "transparent",
@@ -21411,7 +21417,9 @@ MenuTrigger$1.defaultProps = {
21411
21417
 
21412
21418
  var getSharedStyles$3 = function getSharedStyles(color) {
21413
21419
  return {
21414
- display: "block",
21420
+ display: "flex",
21421
+ alignItems: "center",
21422
+ gap: Theme.space.half,
21415
21423
  color: themeGet("colors." + color, color)(color),
21416
21424
  textDecoration: "none",
21417
21425
  border: "none",
@@ -21622,7 +21630,9 @@ var getSharedStyles$2 = function getSharedStyles(_ref) {
21622
21630
  var color = _ref.color,
21623
21631
  layer = _ref.layer;
21624
21632
  return {
21625
- display: "block",
21633
+ display: "flex",
21634
+ alignItems: "center",
21635
+ gap: Theme.space.half,
21626
21636
  color: themeGet("colors." + color, color)(color),
21627
21637
  textDecoration: "none",
21628
21638
  border: "none",
@@ -42950,14 +42960,19 @@ var renderSubMenuTrigger = function renderSubMenuTrigger(subMenuItem, onItemClic
42950
42960
  var renderSubMenuLink = function renderSubMenuLink(subMenuItem, onItemClick) {
42951
42961
  var _a;
42952
42962
 
42953
- return /*#__PURE__*/React__default.createElement(NoWrapLi, {
42954
- key: (_a = subMenuItem.key) !== null && _a !== void 0 ? _a : subMenuItem.name
42955
- }, /*#__PURE__*/React__default.createElement(DropdownLink, {
42963
+ var linkProps = {
42956
42964
  onClick: onItemClick,
42957
42965
  href: subMenuItem.href,
42958
42966
  to: subMenuItem.to,
42959
- as: subMenuItem.as
42960
- }, subMenuItem.name));
42967
+ as: subMenuItem.as,
42968
+ target: subMenuItem.openInNew ? "_blank" : undefined
42969
+ };
42970
+ return /*#__PURE__*/React__default.createElement(NoWrapLi, {
42971
+ key: (_a = subMenuItem.key) !== null && _a !== void 0 ? _a : subMenuItem.name
42972
+ }, /*#__PURE__*/React__default.createElement(DropdownLink, Object.assign({}, linkProps), subMenuItem.name, subMenuItem.openInNew && /*#__PURE__*/React__default.createElement(Icon, {
42973
+ size: "x2",
42974
+ icon: "openInNew"
42975
+ })));
42961
42976
  };
42962
42977
 
42963
42978
  var renderCustom$2 = function renderCustom(subMenuItem, onItemClick, _SubMenuTrigger, layer) {
@@ -43262,7 +43277,9 @@ var MenuTrigger = function MenuTrigger(_a) {
43262
43277
 
43263
43278
  var getSharedStyles$1 = function getSharedStyles(color, theme) {
43264
43279
  return {
43265
- display: "block",
43280
+ display: "flex",
43281
+ alignItems: "center",
43282
+ gap: theme.space.half,
43266
43283
  color: theme.colors[color] || color,
43267
43284
  textDecoration: "none",
43268
43285
  border: "none",
@@ -43336,13 +43353,18 @@ var renderMenuTrigger = function renderMenuTrigger(menuItem, themeColorObject, l
43336
43353
  var renderMenuLink$1 = function renderMenuLink(menuItem, themeColorObject) {
43337
43354
  var _a;
43338
43355
 
43339
- return /*#__PURE__*/React__default.createElement("div", {
43340
- key: (_a = menuItem.key) !== null && _a !== void 0 ? _a : menuItem.name
43341
- }, /*#__PURE__*/React__default.createElement(MenuLink, Object.assign({
43356
+ var linkProps = {
43342
43357
  href: menuItem.href,
43343
43358
  to: menuItem.to,
43344
- as: menuItem.as
43345
- }, themeColorObject), menuItem.name));
43359
+ as: menuItem.as,
43360
+ target: menuItem.openInNew ? "_blank" : undefined
43361
+ };
43362
+ return /*#__PURE__*/React__default.createElement("div", {
43363
+ key: (_a = menuItem.key) !== null && _a !== void 0 ? _a : menuItem.name
43364
+ }, /*#__PURE__*/React__default.createElement(MenuLink, Object.assign({}, linkProps, themeColorObject), menuItem.name, menuItem.openInNew && /*#__PURE__*/React__default.createElement(Icon, {
43365
+ size: "x2",
43366
+ icon: "openInNew"
43367
+ })));
43346
43368
  };
43347
43369
 
43348
43370
  var renderCustom$1 = function renderCustom(menuItem, _themeColorObject, layer) {
@@ -43367,13 +43389,17 @@ var renderText$1 = function renderText(menuItem, themeColorObject) {
43367
43389
  var getRenderFunction$1 = function getRenderFunction(menuItem) {
43368
43390
  if (menuItem.items) {
43369
43391
  return renderMenuTrigger;
43370
- } else if (menuItem.href || menuItem.to) {
43392
+ }
43393
+
43394
+ if (menuItem.href || menuItem.to) {
43371
43395
  return renderMenuLink$1;
43372
- } else if (menuItem.render) {
43396
+ }
43397
+
43398
+ if (menuItem.render) {
43373
43399
  return renderCustom$1;
43374
- } else {
43375
- return renderText$1;
43376
43400
  }
43401
+
43402
+ return renderText$1;
43377
43403
  };
43378
43404
 
43379
43405
  var renderMenuItem = function renderMenuItem(menuItem, themeColorObject, layer, menuType) {
@@ -43552,7 +43578,9 @@ var getPaddingLeft = function getPaddingLeft(layer) {
43552
43578
 
43553
43579
  var getSharedStyles = function getSharedStyles(theme) {
43554
43580
  return {
43555
- display: "block",
43581
+ display: "flex",
43582
+ alignItems: "center",
43583
+ gap: theme.space.half,
43556
43584
  textDecoration: "none",
43557
43585
  border: "none",
43558
43586
  backgroundColor: "transparent",
@@ -43618,12 +43646,17 @@ var renderMenuLink = function renderMenuLink(menuItem, linkOnClick, themeColorOb
43618
43646
  to: menuItem.to,
43619
43647
  // eslint-disable-next-line no-mixed-operators
43620
43648
  pl: layer === 0 ? getPaddingLeft(layer) : 24 * layer + 20 + "px",
43621
- mb: "x1"
43649
+ mb: "x1",
43650
+ target: menuItem.openInNew ? "_blank" : undefined
43622
43651
  };
43623
- var MenuLink = layer === 0 ? TopLevelLink : DropdownLink;
43652
+ var topLevel = layer === 0;
43653
+ var MenuLink = topLevel ? TopLevelLink : DropdownLink;
43624
43654
  return /*#__PURE__*/React__default.createElement("li", {
43625
43655
  key: (_a = menuItem.key) !== null && _a !== void 0 ? _a : menuItem.name
43626
- }, /*#__PURE__*/React__default.createElement(MenuLink, Object.assign({}, sharedLinkProps), menuItem.name));
43656
+ }, /*#__PURE__*/React__default.createElement(MenuLink, Object.assign({}, sharedLinkProps), menuItem.name, menuItem.openInNew && /*#__PURE__*/React__default.createElement(Icon, {
43657
+ size: topLevel ? "x3" : "x2",
43658
+ icon: "openInNew"
43659
+ })));
43627
43660
  };
43628
43661
 
43629
43662
  var renderCustom = function renderCustom(menuItem, linkOnClick, themeColorObject, layer) {
@@ -40,6 +40,7 @@ export declare const WithIcon: {
40
40
  };
41
41
  };
42
42
  export declare const WithPrimaryAndSecondarySubMenus: () => JSX.Element;
43
+ export declare const WithExternalLinks: () => JSX.Element;
43
44
  export declare const WithReactRouter: {
44
45
  (): JSX.Element;
45
46
  story: {
@@ -14,6 +14,7 @@ declare type DropdownMenuProps = {
14
14
  boundariesElement?: string;
15
15
  openAriaLabel?: string;
16
16
  closeAriaLabel?: string;
17
+ openOnHover?: boolean;
17
18
  } & StyledProps;
18
19
  declare const DropdownMenu: React.FC<DropdownMenuProps>;
19
20
  export default DropdownMenu;
@@ -35,6 +35,12 @@ export declare const SetToDefaultOpen: {
35
35
  name: string;
36
36
  };
37
37
  };
38
+ export declare const WithSubmenu: {
39
+ (): JSX.Element;
40
+ story: {
41
+ name: string;
42
+ };
43
+ };
38
44
  export declare const WithVisitedLinks: () => JSX.Element;
39
45
  export declare const SetToDisabled: {
40
46
  (): JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nulogy/components",
3
- "version": "8.5.0",
3
+ "version": "8.7.0",
4
4
  "description": "Component library for the Nulogy Design System - http://nulogy.design",
5
5
  "private": false,
6
6
  "publishConfig": {