@nulogy/components 14.8.0 → 14.8.2

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
@@ -43750,6 +43750,8 @@
43750
43750
  flexDirection: "column",
43751
43751
  minHeight: "100vh"
43752
43752
  }, props), /*#__PURE__*/React__default["default"].createElement(Box, {
43753
+ position: "sticky",
43754
+ top: "0",
43753
43755
  zIndex: "navBar"
43754
43756
  }, environment && /*#__PURE__*/React__default["default"].createElement(EnvironmentBanner, null, environment), navBar), /*#__PURE__*/React__default["default"].createElement(Flex, {
43755
43757
  flexDirection: "column",
@@ -43869,6 +43871,30 @@
43869
43871
  }, children));
43870
43872
  };
43871
43873
 
43874
+ var FeatureFlagsContext = /*#__PURE__*/React.createContext(undefined);
43875
+ function FeatureFlagsProvider(_ref) {
43876
+ var featureFlags = _ref.featureFlags,
43877
+ children = _ref.children;
43878
+ return /*#__PURE__*/React__default["default"].createElement(FeatureFlagsContext.Provider, {
43879
+ value: {
43880
+ featureFlags: featureFlags
43881
+ }
43882
+ }, children);
43883
+ }
43884
+ function useFeatureFlags() {
43885
+ var context = React.useContext(FeatureFlagsContext);
43886
+ if (!context) {
43887
+ throw new Error("useFeatureFlags must be used within the NDSProvider");
43888
+ }
43889
+ return context.featureFlags;
43890
+ }
43891
+
43892
+ var NAVIGATION_MENU_HEIGHT_STYLED_UNITS = "x8";
43893
+ var NAVIGATION_MENU_CONTENT_WIDTH_MAX_WIDTH_PX = 400;
43894
+ var NAVIGATION_DEFAULT_BREAKPOINT_THEME_KEY = "medium";
43895
+ var NAVIGATION_SUB_MENU_MIN_WIDTH_PX = 180;
43896
+ var MIN_DISTANCE_BETWEEN_MENUS_PX = 64;
43897
+
43872
43898
  var sidebarWidths = {
43873
43899
  xs: "400px",
43874
43900
  s: "520px",
@@ -43933,8 +43959,7 @@
43933
43959
  triggerRef = _a.triggerRef,
43934
43960
  _a$duration = _a.duration,
43935
43961
  duration = _a$duration === void 0 ? 0.25 : _a$duration,
43936
- _a$top = _a.top,
43937
- top = _a$top === void 0 ? NAVBAR_HEIGHT : _a$top,
43962
+ top = _a.top,
43938
43963
  _a$closeOnOutsideClic = _a.closeOnOutsideClick,
43939
43964
  closeOnOutsideClick = _a$closeOnOutsideClic === void 0 ? true : _a$closeOnOutsideClic,
43940
43965
  _a$overlay = _a.overlay,
@@ -43957,6 +43982,10 @@
43957
43982
  var sideBarRef = React.useRef(null);
43958
43983
  var contentRef = React.useRef(null);
43959
43984
  var selectedWidth = (_b = sidebarWidths[width]) !== null && _b !== void 0 ? _b : width;
43985
+ var _useFeatureFlags = useFeatureFlags(),
43986
+ navigationV3 = _useFeatureFlags.navigationV3;
43987
+ var theme = styled.useTheme();
43988
+ top || (top = navigationV3 ? theme.space[NAVIGATION_MENU_HEIGHT_STYLED_UNITS] : NAVBAR_HEIGHT);
43960
43989
  useScrollLock({
43961
43990
  autoLock: overlay && disableScroll && isOpen
43962
43991
  });
@@ -44021,7 +44050,7 @@
44021
44050
  bg: "white",
44022
44051
  display: "flex",
44023
44052
  flexDirection: "column",
44024
- height: "calc(100% - " + NAVBAR_HEIGHT + ")",
44053
+ height: "calc(100% - " + (navigationV3 ? theme.space[NAVIGATION_MENU_HEIGHT_STYLED_UNITS] : NAVBAR_HEIGHT) + ")",
44025
44054
  borderLeftWidth: "1px",
44026
44055
  borderLeftStyle: "solid",
44027
44056
  borderLeftColor: "lightGrey",
@@ -45235,12 +45264,6 @@
45235
45264
  }, addStyledProps);
45236
45265
  VerticalDivider.displayName = "VerticalDivider";
45237
45266
 
45238
- var NAVIGATION_MENU_HEIGHT_STYLED_UNITS = "x8";
45239
- var NAVIGATION_MENU_CONTENT_WIDTH_MAX_WIDTH_PX = 400;
45240
- var NAVIGATION_DEFAULT_BREAKPOINT_THEME_KEY = "medium";
45241
- var NAVIGATION_SUB_MENU_MIN_WIDTH_PX = 180;
45242
- var MIN_DISTANCE_BETWEEN_MENUS_PX = 64;
45243
-
45244
45267
  var disableHoverEvents = {
45245
45268
  onPointerMove: function onPointerMove(e) {
45246
45269
  return e.preventDefault();
@@ -45476,7 +45499,7 @@
45476
45499
  }
45477
45500
  });
45478
45501
  }, addStyledProps);
45479
- var SubMenuContent$1 = styled__default["default"]($322c88a641701f3b$export$7c6e2c02157bb7d2).attrs(disableHoverEvents).withConfig({
45502
+ var SubMenuContent = styled__default["default"]($322c88a641701f3b$export$7c6e2c02157bb7d2).attrs(disableHoverEvents).withConfig({
45480
45503
  displayName: "styled__SubMenuContent",
45481
45504
  componentId: "sc-11znyq0-2"
45482
45505
  })(function (_ref3) {
@@ -45508,7 +45531,7 @@
45508
45531
  position: "relative",
45509
45532
  width: "100%"
45510
45533
  }, addStyledProps);
45511
- var SubMenuList$1 = styled__default["default"]($322c88a641701f3b$export$54c2e3dc7acea9f5).withConfig({
45534
+ var SubMenuList = styled__default["default"]($322c88a641701f3b$export$54c2e3dc7acea9f5).withConfig({
45512
45535
  displayName: "styled__SubMenuList",
45513
45536
  componentId: "sc-11znyq0-4"
45514
45537
  })({
@@ -45567,12 +45590,12 @@
45567
45590
  asChild: true
45568
45591
  }, item.element ? (/*#__PURE__*/React__default["default"].cloneElement(item.element, Object.assign(Object.assign({}, item.props), {
45569
45592
  children: content
45570
- }))) : (/*#__PURE__*/React__default["default"].createElement("a", Object.assign({}, item.props), content)))) : (/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(SubMenuItemButton, Object.assign({}, item.props), content), hasSubMenu && (/*#__PURE__*/React__default["default"].createElement(SubMenuContent$1, {
45593
+ }))) : (/*#__PURE__*/React__default["default"].createElement("a", Object.assign({}, item.props), content)))) : (/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(SubMenuItemButton, Object.assign({}, item.props), content), hasSubMenu && (/*#__PURE__*/React__default["default"].createElement(SubMenuContent, {
45571
45594
  left: "calc(100% - " + theme.space.half + ")",
45572
45595
  top: "calc(-1 * " + theme.space.x1 + ")"
45573
45596
  }, /*#__PURE__*/React__default["default"].createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45574
45597
  orientation: "vertical"
45575
- }, /*#__PURE__*/React__default["default"].createElement(SubMenuList$1, null, (_b = item.items) === null || _b === void 0 ? void 0 : _b.map(function (subItem) {
45598
+ }, /*#__PURE__*/React__default["default"].createElement(SubMenuList, null, (_b = item.items) === null || _b === void 0 ? void 0 : _b.map(function (subItem) {
45576
45599
  return /*#__PURE__*/React__default["default"].createElement(MenuSubItem, {
45577
45600
  key: subItem.key,
45578
45601
  item: subItem,
@@ -45651,7 +45674,7 @@
45651
45674
  "aria-label": hasIconOnly && item.tooltip ? item.tooltip : hasLabel ? item.label : undefined,
45652
45675
  borderRadius: hasIconOnly ? "rounded" : undefined,
45653
45676
  p: hasIcon ? "x1" : undefined
45654
- }, /*#__PURE__*/React__default["default"].createElement(Button, Object.assign({}, item.props), Content)), hasSubMenu && (/*#__PURE__*/React__default["default"].createElement(SubMenuContent$1, null, /*#__PURE__*/React__default["default"].createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45677
+ }, /*#__PURE__*/React__default["default"].createElement(Button, Object.assign({}, item.props), Content)), hasSubMenu && (/*#__PURE__*/React__default["default"].createElement(SubMenuContent, null, /*#__PURE__*/React__default["default"].createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45655
45678
  orientation: "vertical"
45656
45679
  }, /*#__PURE__*/React__default["default"].createElement(NavigationMenuSubList, null, (_b = item.items) === null || _b === void 0 ? void 0 : _b.map(function (sub) {
45657
45680
  return /*#__PURE__*/React__default["default"].createElement(MenuSubItem, {
@@ -45787,38 +45810,6 @@
45787
45810
  textAlign: "left"
45788
45811
  });
45789
45812
  }, addStyledProps);
45790
- var SubMenuContent = styled__default["default"]($322c88a641701f3b$export$7c6e2c02157bb7d2).withConfig({
45791
- displayName: "styled__SubMenuContent",
45792
- componentId: "sc-11w4bv0-2"
45793
- })(function (_ref3) {
45794
- var theme = _ref3.theme;
45795
- return {
45796
- position: "absolute",
45797
- top: "calc(-1 * " + theme.space.x1 + ")",
45798
- right: "calc(100% - " + theme.space.half + ")",
45799
- width: "max-content",
45800
- minWidth: "150px",
45801
- background: theme.colors.white,
45802
- borderRadius: theme.radii.medium,
45803
- boxShadow: theme.shadows.medium,
45804
- padding: theme.space.none,
45805
- listStyle: "none"
45806
- };
45807
- });
45808
- var SubMenuList = styled__default["default"]($322c88a641701f3b$export$54c2e3dc7acea9f5).withConfig({
45809
- displayName: "styled__SubMenuList",
45810
- componentId: "sc-11w4bv0-3"
45811
- })(function (_ref4) {
45812
- var theme = _ref4.theme;
45813
- return {
45814
- listStyle: "none",
45815
- paddingLeft: theme.space.none,
45816
- paddingRight: theme.space.none,
45817
- paddingTop: theme.space.x1,
45818
- paddingBottom: theme.space.x1,
45819
- margin: 0
45820
- };
45821
- });
45822
45813
 
45823
45814
  var Item$1 = /*#__PURE__*/React__default["default"].forwardRef(function (_a, forwardedRef) {
45824
45815
  var item = _a.item,
@@ -45831,18 +45822,7 @@
45831
45822
  asChild: true
45832
45823
  }, item.element ? (/*#__PURE__*/React__default["default"].cloneElement(item.element, Object.assign(Object.assign({}, item.props), {
45833
45824
  children: item.label
45834
- }))) : (/*#__PURE__*/React__default["default"].createElement("a", Object.assign({}, item.props), item.label)))), item.type === "button" && (/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(UserMenuTrigger, Object.assign({}, item.props), item.label, "items" in item && item.items && item.items.length > 0 && /*#__PURE__*/React__default["default"].createElement(CaretRight, {
45835
- "aria-hidden": true,
45836
- size: "x2"
45837
- })), "items" in item && item.items && item.items.length > 0 && (/*#__PURE__*/React__default["default"].createElement(SubMenuContent, null, /*#__PURE__*/React__default["default"].createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45838
- orientation: "vertical"
45839
- }, /*#__PURE__*/React__default["default"].createElement(SubMenuList, null, item.items.map(function (subItem) {
45840
- return /*#__PURE__*/React__default["default"].createElement(Item$1, {
45841
- key: subItem.key,
45842
- item: subItem,
45843
- level: level + 1
45844
- });
45845
- }))))))), item.type === "custom" && item.render({
45825
+ }))) : (/*#__PURE__*/React__default["default"].createElement("a", Object.assign({}, item.props), item.label)))), item.type === "button" && /*#__PURE__*/React__default["default"].createElement(UserMenuTrigger, Object.assign({}, item.props), item.label), item.type === "custom" && item.render({
45846
45826
  level: level,
45847
45827
  withinMobileNav: false
45848
45828
  }));
@@ -45935,7 +45915,6 @@
45935
45915
  _a$level = _a.level,
45936
45916
  level = _a$level === void 0 ? 0 : _a$level,
45937
45917
  props = __rest(_a, ["item", "level"]);
45938
- var hasSubItems = "items" in item && item.items && item.items.length > 0;
45939
45918
  var content = /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, item.type === "link" && (/*#__PURE__*/React__default["default"].createElement(IndentedContainer, {
45940
45919
  level: level
45941
45920
  }, /*#__PURE__*/React__default["default"].createElement(UserMenuLink, {
@@ -45951,19 +45930,6 @@
45951
45930
  level: level,
45952
45931
  withinMobileNav: true
45953
45932
  }));
45954
- if (item.type === "button" && hasSubItems) {
45955
- return /*#__PURE__*/React__default["default"].createElement(RadixNavigationMenuItem, Object.assign({
45956
- ref: forwardedRef
45957
- }, props), content, /*#__PURE__*/React__default["default"].createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45958
- orientation: "vertical"
45959
- }, /*#__PURE__*/React__default["default"].createElement(SubMenuList$1, null, item.items.map(function (subItem) {
45960
- return /*#__PURE__*/React__default["default"].createElement(MobileItem, {
45961
- key: subItem.key,
45962
- item: subItem,
45963
- level: level + 1
45964
- });
45965
- }))));
45966
- }
45967
45933
  return /*#__PURE__*/React__default["default"].createElement(RadixNavigationMenuItem, Object.assign({
45968
45934
  ref: forwardedRef
45969
45935
  }, props), content);
@@ -45991,6 +45957,8 @@
45991
45957
  return {
45992
45958
  position: "absolute",
45993
45959
  top: "calc(100% + " + theme.space.x1 + ")",
45960
+ maxHeight: "calc(100dvh - " + theme.space.x2 + " - " + theme.space[NAVIGATION_MENU_HEIGHT_STYLED_UNITS] + ")",
45961
+ overflowY: "auto",
45994
45962
  display: "flex",
45995
45963
  flexDirection: "column",
45996
45964
  borderRadius: theme.radii.large,
@@ -49680,24 +49648,6 @@
49680
49648
  /* Z+1 */
49681
49649
  );
49682
49650
 
49683
- var FeatureFlagsContext = /*#__PURE__*/React.createContext(undefined);
49684
- function FeatureFlagsProvider(_ref) {
49685
- var featureFlags = _ref.featureFlags,
49686
- children = _ref.children;
49687
- return /*#__PURE__*/React__default["default"].createElement(FeatureFlagsContext.Provider, {
49688
- value: {
49689
- featureFlags: featureFlags
49690
- }
49691
- }, children);
49692
- }
49693
- function useFeatureFlags() {
49694
- var context = React.useContext(FeatureFlagsContext);
49695
- if (!context) {
49696
- throw new Error("useFeatureFlags must be used within the NDSProvider");
49697
- }
49698
- return context.featureFlags;
49699
- }
49700
-
49701
49651
  var mergeThemes = function mergeThemes(theme, customTheme) {
49702
49652
  return Object.keys(theme).reduce(function (mergedTheme, group) {
49703
49653
  if (customTheme && mergedTheme[group] && customTheme[group]) {
@@ -43733,6 +43733,8 @@ var ApplicationFrame = function ApplicationFrame(_a) {
43733
43733
  flexDirection: "column",
43734
43734
  minHeight: "100vh"
43735
43735
  }, props), /*#__PURE__*/React__default.createElement(Box, {
43736
+ position: "sticky",
43737
+ top: "0",
43736
43738
  zIndex: "navBar"
43737
43739
  }, environment && /*#__PURE__*/React__default.createElement(EnvironmentBanner, null, environment), navBar), /*#__PURE__*/React__default.createElement(Flex, {
43738
43740
  flexDirection: "column",
@@ -43852,6 +43854,30 @@ var Page = function Page(_a) {
43852
43854
  }, children));
43853
43855
  };
43854
43856
 
43857
+ var FeatureFlagsContext = /*#__PURE__*/createContext(undefined);
43858
+ function FeatureFlagsProvider(_ref) {
43859
+ var featureFlags = _ref.featureFlags,
43860
+ children = _ref.children;
43861
+ return /*#__PURE__*/React__default.createElement(FeatureFlagsContext.Provider, {
43862
+ value: {
43863
+ featureFlags: featureFlags
43864
+ }
43865
+ }, children);
43866
+ }
43867
+ function useFeatureFlags() {
43868
+ var context = useContext(FeatureFlagsContext);
43869
+ if (!context) {
43870
+ throw new Error("useFeatureFlags must be used within the NDSProvider");
43871
+ }
43872
+ return context.featureFlags;
43873
+ }
43874
+
43875
+ var NAVIGATION_MENU_HEIGHT_STYLED_UNITS = "x8";
43876
+ var NAVIGATION_MENU_CONTENT_WIDTH_MAX_WIDTH_PX = 400;
43877
+ var NAVIGATION_DEFAULT_BREAKPOINT_THEME_KEY = "medium";
43878
+ var NAVIGATION_SUB_MENU_MIN_WIDTH_PX = 180;
43879
+ var MIN_DISTANCE_BETWEEN_MENUS_PX = 64;
43880
+
43855
43881
  var sidebarWidths = {
43856
43882
  xs: "400px",
43857
43883
  s: "520px",
@@ -43916,8 +43942,7 @@ function Sidebar(_a) {
43916
43942
  triggerRef = _a.triggerRef,
43917
43943
  _a$duration = _a.duration,
43918
43944
  duration = _a$duration === void 0 ? 0.25 : _a$duration,
43919
- _a$top = _a.top,
43920
- top = _a$top === void 0 ? NAVBAR_HEIGHT : _a$top,
43945
+ top = _a.top,
43921
43946
  _a$closeOnOutsideClic = _a.closeOnOutsideClick,
43922
43947
  closeOnOutsideClick = _a$closeOnOutsideClic === void 0 ? true : _a$closeOnOutsideClic,
43923
43948
  _a$overlay = _a.overlay,
@@ -43940,6 +43965,10 @@ function Sidebar(_a) {
43940
43965
  var sideBarRef = useRef(null);
43941
43966
  var contentRef = useRef(null);
43942
43967
  var selectedWidth = (_b = sidebarWidths[width]) !== null && _b !== void 0 ? _b : width;
43968
+ var _useFeatureFlags = useFeatureFlags(),
43969
+ navigationV3 = _useFeatureFlags.navigationV3;
43970
+ var theme = useTheme();
43971
+ top || (top = navigationV3 ? theme.space[NAVIGATION_MENU_HEIGHT_STYLED_UNITS] : NAVBAR_HEIGHT);
43943
43972
  useScrollLock({
43944
43973
  autoLock: overlay && disableScroll && isOpen
43945
43974
  });
@@ -44004,7 +44033,7 @@ function Sidebar(_a) {
44004
44033
  bg: "white",
44005
44034
  display: "flex",
44006
44035
  flexDirection: "column",
44007
- height: "calc(100% - " + NAVBAR_HEIGHT + ")",
44036
+ height: "calc(100% - " + (navigationV3 ? theme.space[NAVIGATION_MENU_HEIGHT_STYLED_UNITS] : NAVBAR_HEIGHT) + ")",
44008
44037
  borderLeftWidth: "1px",
44009
44038
  borderLeftStyle: "solid",
44010
44039
  borderLeftColor: "lightGrey",
@@ -45218,12 +45247,6 @@ var VerticalDivider = styled.div.withConfig({
45218
45247
  }, addStyledProps);
45219
45248
  VerticalDivider.displayName = "VerticalDivider";
45220
45249
 
45221
- var NAVIGATION_MENU_HEIGHT_STYLED_UNITS = "x8";
45222
- var NAVIGATION_MENU_CONTENT_WIDTH_MAX_WIDTH_PX = 400;
45223
- var NAVIGATION_DEFAULT_BREAKPOINT_THEME_KEY = "medium";
45224
- var NAVIGATION_SUB_MENU_MIN_WIDTH_PX = 180;
45225
- var MIN_DISTANCE_BETWEEN_MENUS_PX = 64;
45226
-
45227
45250
  var disableHoverEvents = {
45228
45251
  onPointerMove: function onPointerMove(e) {
45229
45252
  return e.preventDefault();
@@ -45459,7 +45482,7 @@ var SubMenuItemButton = styled($322c88a641701f3b$export$41fb9f06171c75f4).withCo
45459
45482
  }
45460
45483
  });
45461
45484
  }, addStyledProps);
45462
- var SubMenuContent$1 = styled($322c88a641701f3b$export$7c6e2c02157bb7d2).attrs(disableHoverEvents).withConfig({
45485
+ var SubMenuContent = styled($322c88a641701f3b$export$7c6e2c02157bb7d2).attrs(disableHoverEvents).withConfig({
45463
45486
  displayName: "styled__SubMenuContent",
45464
45487
  componentId: "sc-11znyq0-2"
45465
45488
  })(function (_ref3) {
@@ -45491,7 +45514,7 @@ var SubMenuItem = styled($322c88a641701f3b$export$6d08773d2e66f8f2).withConfig({
45491
45514
  position: "relative",
45492
45515
  width: "100%"
45493
45516
  }, addStyledProps);
45494
- var SubMenuList$1 = styled($322c88a641701f3b$export$54c2e3dc7acea9f5).withConfig({
45517
+ var SubMenuList = styled($322c88a641701f3b$export$54c2e3dc7acea9f5).withConfig({
45495
45518
  displayName: "styled__SubMenuList",
45496
45519
  componentId: "sc-11znyq0-4"
45497
45520
  })({
@@ -45550,12 +45573,12 @@ function MenuSubItem(_ref) {
45550
45573
  asChild: true
45551
45574
  }, item.element ? (/*#__PURE__*/React__default.cloneElement(item.element, Object.assign(Object.assign({}, item.props), {
45552
45575
  children: content
45553
- }))) : (/*#__PURE__*/React__default.createElement("a", Object.assign({}, item.props), content)))) : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SubMenuItemButton, Object.assign({}, item.props), content), hasSubMenu && (/*#__PURE__*/React__default.createElement(SubMenuContent$1, {
45576
+ }))) : (/*#__PURE__*/React__default.createElement("a", Object.assign({}, item.props), content)))) : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SubMenuItemButton, Object.assign({}, item.props), content), hasSubMenu && (/*#__PURE__*/React__default.createElement(SubMenuContent, {
45554
45577
  left: "calc(100% - " + theme.space.half + ")",
45555
45578
  top: "calc(-1 * " + theme.space.x1 + ")"
45556
45579
  }, /*#__PURE__*/React__default.createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45557
45580
  orientation: "vertical"
45558
- }, /*#__PURE__*/React__default.createElement(SubMenuList$1, null, (_b = item.items) === null || _b === void 0 ? void 0 : _b.map(function (subItem) {
45581
+ }, /*#__PURE__*/React__default.createElement(SubMenuList, null, (_b = item.items) === null || _b === void 0 ? void 0 : _b.map(function (subItem) {
45559
45582
  return /*#__PURE__*/React__default.createElement(MenuSubItem, {
45560
45583
  key: subItem.key,
45561
45584
  item: subItem,
@@ -45634,7 +45657,7 @@ var NavigationMenuItem = /*#__PURE__*/React__default.forwardRef(function (_a, fo
45634
45657
  "aria-label": hasIconOnly && item.tooltip ? item.tooltip : hasLabel ? item.label : undefined,
45635
45658
  borderRadius: hasIconOnly ? "rounded" : undefined,
45636
45659
  p: hasIcon ? "x1" : undefined
45637
- }, /*#__PURE__*/React__default.createElement(Button, Object.assign({}, item.props), Content)), hasSubMenu && (/*#__PURE__*/React__default.createElement(SubMenuContent$1, null, /*#__PURE__*/React__default.createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45660
+ }, /*#__PURE__*/React__default.createElement(Button, Object.assign({}, item.props), Content)), hasSubMenu && (/*#__PURE__*/React__default.createElement(SubMenuContent, null, /*#__PURE__*/React__default.createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45638
45661
  orientation: "vertical"
45639
45662
  }, /*#__PURE__*/React__default.createElement(NavigationMenuSubList, null, (_b = item.items) === null || _b === void 0 ? void 0 : _b.map(function (sub) {
45640
45663
  return /*#__PURE__*/React__default.createElement(MenuSubItem, {
@@ -45770,38 +45793,6 @@ var UserMenuTrigger = styled($322c88a641701f3b$export$41fb9f06171c75f4).withConf
45770
45793
  textAlign: "left"
45771
45794
  });
45772
45795
  }, addStyledProps);
45773
- var SubMenuContent = styled($322c88a641701f3b$export$7c6e2c02157bb7d2).withConfig({
45774
- displayName: "styled__SubMenuContent",
45775
- componentId: "sc-11w4bv0-2"
45776
- })(function (_ref3) {
45777
- var theme = _ref3.theme;
45778
- return {
45779
- position: "absolute",
45780
- top: "calc(-1 * " + theme.space.x1 + ")",
45781
- right: "calc(100% - " + theme.space.half + ")",
45782
- width: "max-content",
45783
- minWidth: "150px",
45784
- background: theme.colors.white,
45785
- borderRadius: theme.radii.medium,
45786
- boxShadow: theme.shadows.medium,
45787
- padding: theme.space.none,
45788
- listStyle: "none"
45789
- };
45790
- });
45791
- var SubMenuList = styled($322c88a641701f3b$export$54c2e3dc7acea9f5).withConfig({
45792
- displayName: "styled__SubMenuList",
45793
- componentId: "sc-11w4bv0-3"
45794
- })(function (_ref4) {
45795
- var theme = _ref4.theme;
45796
- return {
45797
- listStyle: "none",
45798
- paddingLeft: theme.space.none,
45799
- paddingRight: theme.space.none,
45800
- paddingTop: theme.space.x1,
45801
- paddingBottom: theme.space.x1,
45802
- margin: 0
45803
- };
45804
- });
45805
45796
 
45806
45797
  var Item$1 = /*#__PURE__*/React__default.forwardRef(function (_a, forwardedRef) {
45807
45798
  var item = _a.item,
@@ -45814,18 +45805,7 @@ var Item$1 = /*#__PURE__*/React__default.forwardRef(function (_a, forwardedRef)
45814
45805
  asChild: true
45815
45806
  }, item.element ? (/*#__PURE__*/React__default.cloneElement(item.element, Object.assign(Object.assign({}, item.props), {
45816
45807
  children: item.label
45817
- }))) : (/*#__PURE__*/React__default.createElement("a", Object.assign({}, item.props), item.label)))), item.type === "button" && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(UserMenuTrigger, Object.assign({}, item.props), item.label, "items" in item && item.items && item.items.length > 0 && /*#__PURE__*/React__default.createElement(CaretRight, {
45818
- "aria-hidden": true,
45819
- size: "x2"
45820
- })), "items" in item && item.items && item.items.length > 0 && (/*#__PURE__*/React__default.createElement(SubMenuContent, null, /*#__PURE__*/React__default.createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45821
- orientation: "vertical"
45822
- }, /*#__PURE__*/React__default.createElement(SubMenuList, null, item.items.map(function (subItem) {
45823
- return /*#__PURE__*/React__default.createElement(Item$1, {
45824
- key: subItem.key,
45825
- item: subItem,
45826
- level: level + 1
45827
- });
45828
- }))))))), item.type === "custom" && item.render({
45808
+ }))) : (/*#__PURE__*/React__default.createElement("a", Object.assign({}, item.props), item.label)))), item.type === "button" && /*#__PURE__*/React__default.createElement(UserMenuTrigger, Object.assign({}, item.props), item.label), item.type === "custom" && item.render({
45829
45809
  level: level,
45830
45810
  withinMobileNav: false
45831
45811
  }));
@@ -45918,7 +45898,6 @@ var MobileItem = /*#__PURE__*/React__default.forwardRef(function (_a, forwardedR
45918
45898
  _a$level = _a.level,
45919
45899
  level = _a$level === void 0 ? 0 : _a$level,
45920
45900
  props = __rest(_a, ["item", "level"]);
45921
- var hasSubItems = "items" in item && item.items && item.items.length > 0;
45922
45901
  var content = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, item.type === "link" && (/*#__PURE__*/React__default.createElement(IndentedContainer, {
45923
45902
  level: level
45924
45903
  }, /*#__PURE__*/React__default.createElement(UserMenuLink, {
@@ -45934,19 +45913,6 @@ var MobileItem = /*#__PURE__*/React__default.forwardRef(function (_a, forwardedR
45934
45913
  level: level,
45935
45914
  withinMobileNav: true
45936
45915
  }));
45937
- if (item.type === "button" && hasSubItems) {
45938
- return /*#__PURE__*/React__default.createElement(RadixNavigationMenuItem, Object.assign({
45939
- ref: forwardedRef
45940
- }, props), content, /*#__PURE__*/React__default.createElement($322c88a641701f3b$export$d7a01e11500dfb6f, {
45941
- orientation: "vertical"
45942
- }, /*#__PURE__*/React__default.createElement(SubMenuList$1, null, item.items.map(function (subItem) {
45943
- return /*#__PURE__*/React__default.createElement(MobileItem, {
45944
- key: subItem.key,
45945
- item: subItem,
45946
- level: level + 1
45947
- });
45948
- }))));
45949
- }
45950
45916
  return /*#__PURE__*/React__default.createElement(RadixNavigationMenuItem, Object.assign({
45951
45917
  ref: forwardedRef
45952
45918
  }, props), content);
@@ -45974,6 +45940,8 @@ var NavigationMenuContent = styled($322c88a641701f3b$export$7c6e2c02157bb7d2).at
45974
45940
  return {
45975
45941
  position: "absolute",
45976
45942
  top: "calc(100% + " + theme.space.x1 + ")",
45943
+ maxHeight: "calc(100dvh - " + theme.space.x2 + " - " + theme.space[NAVIGATION_MENU_HEIGHT_STYLED_UNITS] + ")",
45944
+ overflowY: "auto",
45977
45945
  display: "flex",
45978
45946
  flexDirection: "column",
45979
45947
  borderRadius: theme.radii.large,
@@ -49663,24 +49631,6 @@ var isPropValid = /* #__PURE__ */memoize(function (prop) {
49663
49631
  /* Z+1 */
49664
49632
  );
49665
49633
 
49666
- var FeatureFlagsContext = /*#__PURE__*/createContext(undefined);
49667
- function FeatureFlagsProvider(_ref) {
49668
- var featureFlags = _ref.featureFlags,
49669
- children = _ref.children;
49670
- return /*#__PURE__*/React__default.createElement(FeatureFlagsContext.Provider, {
49671
- value: {
49672
- featureFlags: featureFlags
49673
- }
49674
- }, children);
49675
- }
49676
- function useFeatureFlags() {
49677
- var context = useContext(FeatureFlagsContext);
49678
- if (!context) {
49679
- throw new Error("useFeatureFlags must be used within the NDSProvider");
49680
- }
49681
- return context.featureFlags;
49682
- }
49683
-
49684
49634
  var mergeThemes = function mergeThemes(theme, customTheme) {
49685
49635
  return Object.keys(theme).reduce(function (mergedTheme, group) {
49686
49636
  if (customTheme && mergedTheme[group] && customTheme[group]) {
@@ -1,8 +1,6 @@
1
1
  export { default as BrandedNavBar } from "./NavBar";
2
2
  export { default as MenuTrigger } from "./MenuTrigger";
3
3
  export type { MenuTriggerProps } from "./MenuTrigger";
4
- export { default as EnvironmentBanner } from "./EnvironmentBanner";
5
- export type { EnvironmentBannerProps } from "./EnvironmentBanner";
6
4
  export { default as NavBarBackground } from "./NavBarBackground";
7
5
  export type { NavBarBackgroundProps } from "./NavBarBackground";
8
6
  export { default as BrandLogoContainer } from "./BrandLogoContainer";
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ parameters: {
5
+ layout: string;
6
+ };
7
+ };
8
+ export default _default;
9
+ export declare const NoPageTitle: () => React.JSX.Element;
10
+ export declare const NoBreadcrumbs: () => React.JSX.Element;
11
+ export declare const WithFullHeight: () => React.JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  export interface FeatureFlags {
3
3
  experimentalDesktopTypographyScale?: boolean;
4
+ navigationV3?: boolean;
4
5
  }
5
6
  export interface FeatureFlagsContextValue {
6
7
  featureFlags: FeatureFlags;
@@ -1,8 +1,6 @@
1
1
  import React from "react";
2
- /** @deprecated The BrandedNavBar component is deprecated. Use the Navigation component instead. */
3
2
  export type EnvironmentBannerProps = {
4
3
  children?: React.ReactNode;
5
4
  };
6
5
  declare const EnvironmentBanner: ({ children }: EnvironmentBannerProps) => React.JSX.Element;
7
- /** @deprecated The BrandedNavBar component is deprecated. Use the Navigation component instead. */
8
6
  export default EnvironmentBanner;
@@ -0,0 +1,2 @@
1
+ export { default as EnvironmentBanner } from "./EnvironmentBanner";
2
+ export type { EnvironmentBannerProps } from "./EnvironmentBanner";
@@ -6,5 +6,3 @@ export declare const UserMenuLink: import("styled-components/dist/types").IStyle
6
6
  export declare const UserMenuTrigger: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<RadixNavigationMenu.NavigationMenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>, {
7
7
  $isMobile?: boolean;
8
8
  }>> & string & Omit<import("react").ForwardRefExoticComponent<RadixNavigationMenu.NavigationMenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>>, keyof import("react").Component<any, {}, any>>;
9
- export declare const SubMenuContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<RadixNavigationMenu.NavigationMenuContentProps & import("react").RefAttributes<HTMLDivElement>, never>> & string & Omit<import("react").ForwardRefExoticComponent<RadixNavigationMenu.NavigationMenuContentProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
10
- export declare const SubMenuList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<RadixNavigationMenu.NavigationMenuListProps & import("react").RefAttributes<HTMLUListElement>, never>> & string & Omit<import("react").ForwardRefExoticComponent<RadixNavigationMenu.NavigationMenuListProps & import("react").RefAttributes<HTMLUListElement>>, keyof import("react").Component<any, {}, any>>;
@@ -2,6 +2,8 @@ export { default as Navigation } from "./Navigation";
2
2
  export { NulogyLogo } from "./components/NulogyLogo/NulogyLogo";
3
3
  export { NavigationLogoLink } from "./components/shared/NavigationLogoLink";
4
4
  export { NavigationLogo } from "./components/shared/NavigationLogo";
5
+ export { EnvironmentBanner } from "./components/EnvironmentBanner";
5
6
  export type { NavigationProps } from "./Navigation";
6
7
  export type { MenuItems, MenuItem, UserMenu, UserMenuItem, UserMenuInfo } from "./types";
7
8
  export type { AppSwitcherConfig } from "./components/AppSwitcher/NulogyAppSwitcher";
9
+ export type { EnvironmentBannerProps } from "./components/EnvironmentBanner";
@@ -8,3 +8,4 @@ declare const _default: {
8
8
  export default _default;
9
9
  export declare const BasicUsage: () => React.JSX.Element;
10
10
  export declare const WithACustomBreakpoint: () => React.JSX.Element;
11
+ export declare const WithBanners: () => React.JSX.Element;
@@ -27,7 +27,6 @@ interface ButtonUserMenuItem {
27
27
  label: string;
28
28
  type: "button";
29
29
  props?: React.ComponentPropsWithoutRef<"button">;
30
- items?: UserMenuItem[];
31
30
  }
32
31
  interface CustomUserMenuItem {
33
32
  type: "custom";
@@ -7,8 +7,8 @@ export { Banner } from "./Banner";
7
7
  export { BottomSheet, BottomSheetParts } from "./BottomSheet";
8
8
  export type { BottomSheetProps } from "./BottomSheet";
9
9
  export { AnimatedBox, Box } from "./Box";
10
- export { BrandedNavBar, BrandLogoContainer, DesktopMenu, EnvironmentBanner, MenuTrigger, NavBarBackground, SmallNavBar, } from "./BrandedNavBar";
11
- export type { BrandLogoContainerProps, DesktopMenuProps, EnvironmentBannerProps, MenuTriggerProps, NavBarBackgroundProps, RenderMenuButtonProps, SmallNavBarProps, } from "./BrandedNavBar";
10
+ export { BrandedNavBar, BrandLogoContainer, DesktopMenu, MenuTrigger, NavBarBackground, SmallNavBar, } from "./BrandedNavBar";
11
+ export type { BrandLogoContainerProps, DesktopMenuProps, MenuTriggerProps, NavBarBackgroundProps, RenderMenuButtonProps, SmallNavBarProps, } from "./BrandedNavBar";
12
12
  export { Branding } from "./Branding";
13
13
  export { Breadcrumbs } from "./Breadcrumbs";
14
14
  export { Button, ControlIcon, DangerButton, IconicButton, PrimaryButton, QuietButton } from "./Button";
@@ -33,8 +33,8 @@ export { List, ListItem } from "./List";
33
33
  export { LoadingAnimation } from "./LoadingAnimation";
34
34
  export { ALL_NDS_LOCALES } from "./locales.const";
35
35
  export { Modal } from "./Modal";
36
- export { Navigation, NulogyLogo, NavigationLogoLink, NavigationLogo } from "./Navigation";
37
- export type { NavigationProps, MenuItems, MenuItem, UserMenu, UserMenuItem, UserMenuInfo, AppSwitcherConfig, } from "./Navigation";
36
+ export { Navigation, NulogyLogo, NavigationLogoLink, NavigationLogo, EnvironmentBanner } from "./Navigation";
37
+ export type { NavigationProps, MenuItems, MenuItem, UserMenu, UserMenuItem, UserMenuInfo, AppSwitcherConfig, EnvironmentBannerProps, } from "./Navigation";
38
38
  export { NDSProvider } from "./NDSProvider";
39
39
  export { Overlay } from "./Overlay";
40
40
  export { Pagination } from "./Pagination";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nulogy/components",
3
- "version": "14.8.0",
3
+ "version": "14.8.2",
4
4
  "description": "Component library for the Nulogy Design System - http://nulogy.design",
5
5
  "private": false,
6
6
  "publishConfig": {