@razorpay/blade 11.31.2 → 11.33.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.
Files changed (84) hide show
  1. package/build/lib/native/components/Button/IconButton/IconButton.js +1 -1
  2. package/build/lib/native/components/Button/IconButton/IconButton.js.map +1 -1
  3. package/build/lib/native/components/Table/TableContext.js +1 -1
  4. package/build/lib/native/components/Table/TableContext.js.map +1 -1
  5. package/build/lib/native/components/Table/tokens.js.map +1 -1
  6. package/build/lib/native/tokens/global/size.js +1 -1
  7. package/build/lib/native/tokens/global/size.js.map +1 -1
  8. package/build/lib/native/utils/componentZIndices.js +1 -1
  9. package/build/lib/native/utils/componentZIndices.js.map +1 -1
  10. package/build/lib/web/development/components/Button/IconButton/IconButton.js +2 -0
  11. package/build/lib/web/development/components/Button/IconButton/IconButton.js.map +1 -1
  12. package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js +25 -3
  13. package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
  14. package/build/lib/web/development/components/Button/IconButton/tokens.js +14 -0
  15. package/build/lib/web/development/components/Button/IconButton/tokens.js.map +1 -0
  16. package/build/lib/web/development/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js +5 -4
  17. package/build/lib/web/development/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js.map +1 -1
  18. package/build/lib/web/development/components/Table/Table.web.js +12 -3
  19. package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
  20. package/build/lib/web/development/components/Table/TableBody.web.js +214 -70
  21. package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
  22. package/build/lib/web/development/components/Table/TableContext.js +3 -1
  23. package/build/lib/web/development/components/Table/TableContext.js.map +1 -1
  24. package/build/lib/web/development/components/Table/TableHeader.web.js +14 -6
  25. package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
  26. package/build/lib/web/development/components/Table/tokens.js +6 -1
  27. package/build/lib/web/development/components/Table/tokens.js.map +1 -1
  28. package/build/lib/web/development/components/TopNav/TabNav/TabNav.web.js +103 -124
  29. package/build/lib/web/development/components/TopNav/TabNav/TabNav.web.js.map +1 -1
  30. package/build/lib/web/development/components/TopNav/TabNav/TabNavContext.js.map +1 -1
  31. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js +38 -45
  32. package/build/lib/web/development/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  33. package/build/lib/web/development/components/TopNav/TabNav/index.js +1 -1
  34. package/build/lib/web/development/components/TopNav/TabNav/utils.js +17 -30
  35. package/build/lib/web/development/components/TopNav/TabNav/utils.js.map +1 -1
  36. package/build/lib/web/development/components/TopNav/TopNav.web.js +34 -87
  37. package/build/lib/web/development/components/TopNav/TopNav.web.js.map +1 -1
  38. package/build/lib/web/development/components/index.js +1 -1
  39. package/build/lib/web/development/tokens/global/size.js +2 -0
  40. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  41. package/build/lib/web/development/utils/componentZIndices.js +2 -1
  42. package/build/lib/web/development/utils/componentZIndices.js.map +1 -1
  43. package/build/lib/web/production/components/Button/IconButton/IconButton.js +2 -0
  44. package/build/lib/web/production/components/Button/IconButton/IconButton.js.map +1 -1
  45. package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js +25 -3
  46. package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
  47. package/build/lib/web/production/components/Button/IconButton/tokens.js +14 -0
  48. package/build/lib/web/production/components/Button/IconButton/tokens.js.map +1 -0
  49. package/build/lib/web/production/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js +5 -4
  50. package/build/lib/web/production/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js.map +1 -1
  51. package/build/lib/web/production/components/Table/Table.web.js +12 -3
  52. package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
  53. package/build/lib/web/production/components/Table/TableBody.web.js +214 -70
  54. package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
  55. package/build/lib/web/production/components/Table/TableContext.js +3 -1
  56. package/build/lib/web/production/components/Table/TableContext.js.map +1 -1
  57. package/build/lib/web/production/components/Table/TableHeader.web.js +14 -6
  58. package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
  59. package/build/lib/web/production/components/Table/tokens.js +6 -1
  60. package/build/lib/web/production/components/Table/tokens.js.map +1 -1
  61. package/build/lib/web/production/components/TopNav/TabNav/TabNav.web.js +103 -124
  62. package/build/lib/web/production/components/TopNav/TabNav/TabNav.web.js.map +1 -1
  63. package/build/lib/web/production/components/TopNav/TabNav/TabNavContext.js.map +1 -1
  64. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js +38 -45
  65. package/build/lib/web/production/components/TopNav/TabNav/TabNavItem.web.js.map +1 -1
  66. package/build/lib/web/production/components/TopNav/TabNav/index.js +1 -1
  67. package/build/lib/web/production/components/TopNav/TabNav/utils.js +17 -30
  68. package/build/lib/web/production/components/TopNav/TabNav/utils.js.map +1 -1
  69. package/build/lib/web/production/components/TopNav/TopNav.web.js +34 -87
  70. package/build/lib/web/production/components/TopNav/TopNav.web.js.map +1 -1
  71. package/build/lib/web/production/components/index.js +1 -1
  72. package/build/lib/web/production/tokens/global/size.js +2 -0
  73. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  74. package/build/lib/web/production/utils/componentZIndices.js +2 -1
  75. package/build/lib/web/production/utils/componentZIndices.js.map +1 -1
  76. package/build/types/components/index.d.ts +97 -64
  77. package/build/types/components/index.native.d.ts +51 -21
  78. package/build/types/tokens/index.d.ts +2 -0
  79. package/build/types/tokens/index.native.d.ts +2 -0
  80. package/package.json +1 -1
  81. package/build/lib/web/development/components/TopNav/TopNavContext.js +0 -13
  82. package/build/lib/web/development/components/TopNav/TopNavContext.js.map +0 -1
  83. package/build/lib/web/production/components/TopNav/TopNavContext.js +0 -13
  84. package/build/lib/web/production/components/TopNav/TopNavContext.js.map +0 -1
@@ -2,7 +2,6 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import React__default from 'react';
4
4
  import styled from 'styled-components';
5
- import { useTopNavContext } from '../TopNavContext.js';
6
5
  import { useTabNavContext } from './TabNavContext.js';
7
6
  import { MIXED_BG_COLOR } from './utils.js';
8
7
  import '../../Box/BaseBox/index.js';
@@ -11,10 +10,8 @@ import '../../../utils/index.js';
11
10
  import '../../../utils/assignWithoutSideEffects/index.js';
12
11
  import '../../../utils/makeAccessible/index.js';
13
12
  import '../../../tokens/global/index.js';
14
- import { useIsomorphicLayoutEffect } from '../../../utils/useIsomorphicLayoutEffect.js';
15
- import { mergeRefs } from '../../../utils/useMergeRefs.js';
16
- import getIn from '../../../utils/lodashButBetter/get.js';
17
13
  import '../../../utils/metaAttribute/index.js';
14
+ import { useIsomorphicLayoutEffect } from '../../../utils/useIsomorphicLayoutEffect.js';
18
15
  import { jsxs, jsx } from 'react/jsx-runtime';
19
16
  import { makeSpace } from '../../../utils/makeSpace/makeSpace.js';
20
17
  import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.js';
@@ -27,7 +24,7 @@ import { MetaConstants } from '../../../utils/metaAttribute/metaConstants.js';
27
24
  import { makeAccessible } from '../../../utils/makeAccessible/makeAccessible.web.js';
28
25
  import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
29
26
 
30
- var _excluded = ["as", "children", "isActive", "icon", "trailing", "accessibilityLabel", "href", "target"];
27
+ var _excluded = ["as", "title", "isActive", "icon", "trailing", "accessibilityLabel", "href", "target", "__isInsideTabNavItems", "__index"];
31
28
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
29
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
30
  var StyledTabNavItem = /*#__PURE__*/styled.a.withConfig({
@@ -55,6 +52,12 @@ var StyledTabNavItem = /*#__PURE__*/styled.a.withConfig({
55
52
  paddingLeft: makeSpace(theme.spacing[4]),
56
53
  paddingRight: makeSpace(theme.spacing[4]),
57
54
  borderRadius: makeBorderSize(theme.border.radius.medium),
55
+ // reset button styles
56
+ border: 'none',
57
+ background: 'none',
58
+ '&[aria-expanded="true"]': $isActive ? {} : {
59
+ backgroundColor: theme.colors.interactive.background.gray["default"]
60
+ },
58
61
  '&:hover': $isActive ? {} : {
59
62
  backgroundColor: theme.colors.interactive.background.gray["default"]
60
63
  }
@@ -65,16 +68,15 @@ var StyledTabNavItemWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
65
68
  componentId: "sc-1eiaez7-1"
66
69
  })(function (_ref2) {
67
70
  var theme = _ref2.theme,
68
- isActive = _ref2.isActive,
69
- dividerHiderColor = _ref2.dividerHiderColor;
71
+ isActive = _ref2.isActive;
70
72
  var dividerHiderStyle = {
71
73
  content: '""',
72
74
  position: 'absolute',
73
75
  top: '50%',
74
76
  transform: 'translateY(-50%)',
75
77
  width: makeSize(size[1]),
76
- height: '50%',
77
- backgroundColor: getIn(theme.colors, dividerHiderColor, MIXED_BG_COLOR)
78
+ height: makeSize(size[16]),
79
+ backgroundColor: MIXED_BG_COLOR
78
80
  };
79
81
  return _objectSpread({
80
82
  position: 'relative',
@@ -83,14 +85,12 @@ var StyledTabNavItemWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
83
85
  backgroundColor: isActive ? theme.colors.surface.background.gray.intense : 'transparent',
84
86
  borderColor: isActive ? theme.colors.surface.border.gray.muted : 'transparent',
85
87
  borderStyle: 'solid',
86
- borderBottomWidth: 0,
87
88
  borderWidth: makeBorderSize(theme.border.width.thin),
89
+ borderBottomWidth: 0,
88
90
  borderTopLeftRadius: makeBorderSize(theme.border.radius.medium),
89
91
  borderTopRightRadius: makeBorderSize(theme.border.radius.medium),
90
- // Animation
91
- transform: isActive ? "translateY(".concat(makeSize(size[2]), ")") : 'none',
92
92
  transition: "".concat(makeMotionTime(theme.motion.duration.moderate), " ").concat(theme.motion.easing.standard.effective),
93
- transitionProperty: 'background, transform'
93
+ transitionProperty: 'background'
94
94
  }, isActive ? {
95
95
  ':before, :after': dividerHiderStyle,
96
96
  ':before': {
@@ -125,56 +125,49 @@ var SelectedBar = /*#__PURE__*/styled(BaseBox).withConfig({
125
125
  });
126
126
  var _TabNavItem = function _TabNavItem(_ref4, ref) {
127
127
  var as = _ref4.as,
128
- children = _ref4.children,
128
+ title = _ref4.title,
129
129
  isActive = _ref4.isActive,
130
130
  Icon = _ref4.icon,
131
131
  trailing = _ref4.trailing,
132
132
  accessibilityLabel = _ref4.accessibilityLabel,
133
133
  href = _ref4.href,
134
134
  target = _ref4.target,
135
+ __isInsideTabNavItems = _ref4.__isInsideTabNavItems,
136
+ __index = _ref4.__index,
135
137
  props = _objectWithoutProperties(_ref4, _excluded);
136
138
  var _useTabNavContext = useTabNavContext(),
137
- containerRef = _useTabNavContext.containerRef,
138
- hasOverflow = _useTabNavContext.hasOverflow;
139
- var _useTopNavContext = useTopNavContext(),
140
- backgroundColor = _useTopNavContext.backgroundColor;
141
- var linkRef = React__default.useRef(null);
139
+ setControlledItems = _useTabNavContext.setControlledItems;
140
+ var bodyRef = React__default.useRef(null);
142
141
 
143
- // Scroll the active tab into view
144
- // Only if the tab is very close to the edge
145
- // Or if the tab is out of view
142
+ // Update the controlledItems with the tabWidth and offsetX
146
143
  useIsomorphicLayoutEffect(function () {
147
- if (!isActive || !hasOverflow) return;
148
- if (!('requestAnimationFrame' in window)) return;
149
- window.requestAnimationFrame(function () {
150
- if (!linkRef.current || !containerRef.current) return;
151
- var buffer = 100;
152
- var container = containerRef.current;
153
- var linkElement = linkRef.current;
154
- var containerRect = container.getBoundingClientRect();
155
- var linkRect = linkElement.getBoundingClientRect();
156
- var isCloseToStart = linkRect.left < containerRect.left + buffer;
157
- var isCloseToEnd = linkRect.right > containerRect.right - buffer;
158
- if (isCloseToStart || isCloseToEnd) {
159
- linkElement.scrollIntoView({
160
- behavior: 'smooth',
161
- inline: 'center',
162
- block: 'nearest'
144
+ if (!bodyRef.current) return;
145
+ if (!__isInsideTabNavItems) return;
146
+ setControlledItems(function (prev) {
147
+ return prev.map(function (item, index) {
148
+ var _bodyRef$current;
149
+ if (index !== __index) return item;
150
+ var bounds = bodyRef === null || bodyRef === void 0 ? void 0 : (_bodyRef$current = bodyRef.current) === null || _bodyRef$current === void 0 ? void 0 : _bodyRef$current.getBoundingClientRect();
151
+ var tabWidth = bounds.width;
152
+ var offsetX = bounds.right;
153
+ return _objectSpread(_objectSpread({}, item), {}, {
154
+ tabWidth: tabWidth,
155
+ offsetX: offsetX
163
156
  });
164
- }
157
+ });
165
158
  });
166
- }, [hasOverflow, isActive]);
159
+ }, [__isInsideTabNavItems, __index, setControlledItems]);
167
160
  return /*#__PURE__*/jsxs(StyledTabNavItemWrapper, _objectSpread(_objectSpread({
168
- isActive: isActive,
169
- dividerHiderColor: backgroundColor
161
+ ref: bodyRef,
162
+ isActive: isActive
170
163
  }, metaAttribute({
171
164
  name: MetaConstants.TabNavItem
172
165
  })), {}, {
173
166
  children: [/*#__PURE__*/jsx(SelectedBar, {
174
167
  isActive: isActive
175
168
  }), /*#__PURE__*/jsxs(StyledTabNavItem, _objectSpread(_objectSpread(_objectSpread({
176
- ref: mergeRefs(ref, linkRef),
177
- as: as !== null && as !== void 0 ? as : 'a',
169
+ ref: ref,
170
+ as: as !== null && as !== void 0 ? as : href ? 'a' : 'button',
178
171
  to: href,
179
172
  href: as ? undefined : href,
180
173
  target: target,
@@ -186,7 +179,7 @@ var _TabNavItem = function _TabNavItem(_ref4, ref) {
186
179
  children: [Icon ? /*#__PURE__*/jsx(Icon, {
187
180
  size: "large",
188
181
  color: isActive ? 'interactive.icon.gray.normal' : 'surface.icon.gray.subtle'
189
- }) : null, children, trailing ? trailing : null]
182
+ }) : null, title, trailing ? trailing : null]
190
183
  }))]
191
184
  }));
192
185
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TabNavItem.web.js","sources":["../../../../../../../src/components/TopNav/TabNav/TabNavItem.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { useTopNavContext } from '../TopNavContext';\nimport type { TabNavItemProps } from './types';\nimport { useTabNavContext } from './TabNavContext';\nimport { MIXED_BG_COLOR } from './utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeBorderSize, makeMotionTime, makeSize, makeSpace } from '~utils';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { size } from '~tokens/global';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport type { BoxProps } from '~components/Box';\nimport getIn from '~utils/lodashButBetter/get';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst StyledTabNavItem = styled.a<{ $isActive?: boolean }>(({ theme, $isActive }) => {\n return {\n ...getTextStyles({\n theme,\n size: 'medium',\n weight: 'medium',\n color: $isActive ? 'interactive.text.gray.normal' : 'interactive.text.gray.subtle',\n }),\n flex: 1,\n display: 'flex',\n gap: makeSpace(theme.spacing[2]),\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n paddingTop: makeSpace(theme.spacing[3]),\n paddingBottom: makeSpace(theme.spacing[3]),\n paddingLeft: makeSpace(theme.spacing[4]),\n paddingRight: makeSpace(theme.spacing[4]),\n borderRadius: makeBorderSize(theme.border.radius.medium),\n '&:hover': $isActive\n ? {}\n : {\n backgroundColor: theme.colors.interactive.background.gray.default,\n },\n };\n});\n\nconst StyledTabNavItemWrapper = styled(BaseBox)<{\n isActive?: boolean;\n dividerHiderColor: BoxProps['backgroundColor'];\n}>(({ theme, isActive, dividerHiderColor }) => {\n const dividerHiderStyle = {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)',\n width: makeSize(size[1]),\n height: '50%',\n backgroundColor: getIn(theme.colors, dividerHiderColor as never, MIXED_BG_COLOR),\n } as const;\n\n return {\n position: 'relative',\n flexShrink: 0,\n padding: `${makeSpace(theme.spacing[2])} ${makeSpace(theme.spacing[1])}`,\n backgroundColor: isActive ? theme.colors.surface.background.gray.intense : 'transparent',\n borderColor: isActive ? theme.colors.surface.border.gray.muted : 'transparent',\n borderStyle: 'solid',\n borderBottomWidth: 0,\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderTopLeftRadius: makeBorderSize(theme.border.radius.medium),\n borderTopRightRadius: makeBorderSize(theme.border.radius.medium),\n // Animation\n transform: isActive ? `translateY(${makeSize(size[2])})` : 'none',\n transition: `${makeMotionTime(theme.motion.duration.moderate)} ${\n theme.motion.easing.standard.effective\n }`,\n transitionProperty: 'background, transform',\n\n // Hide the left and right divider by overlaying them with a pseudo element as same color as the background\n ...(isActive\n ? {\n ':before, :after': dividerHiderStyle,\n ':before': {\n left: -2,\n },\n ':after': {\n right: -2,\n },\n }\n : {}),\n };\n});\n\nconst SelectedBar = styled(BaseBox)<{ isActive?: boolean }>(({ theme, isActive }) => {\n return {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: makeSpace(theme.spacing[1]),\n borderTopLeftRadius: makeBorderSize(theme.border.radius.medium),\n borderTopRightRadius: makeBorderSize(theme.border.radius.medium),\n backgroundColor: theme.colors.interactive.icon.gray.normal,\n pointerEvents: 'none',\n // Animation\n opacity: isActive ? 1 : 0,\n transition: `${makeMotionTime(theme.motion.duration.moderate)} ${\n theme.motion.easing.standard.effective\n }`,\n transitionProperty: 'opacity',\n };\n});\n\nconst _TabNavItem: React.ForwardRefRenderFunction<HTMLAnchorElement, TabNavItemProps> = (\n { as, children, isActive, icon: Icon, trailing, accessibilityLabel, href, target, ...props },\n ref,\n): React.ReactElement => {\n const { containerRef, hasOverflow } = useTabNavContext();\n const { backgroundColor } = useTopNavContext();\n const linkRef = React.useRef<HTMLAnchorElement>(null);\n\n // Scroll the active tab into view\n // Only if the tab is very close to the edge\n // Or if the tab is out of view\n useIsomorphicLayoutEffect(() => {\n if (!isActive || !hasOverflow) return;\n if (!('requestAnimationFrame' in window)) return;\n\n window.requestAnimationFrame(() => {\n if (!linkRef.current || !containerRef.current) return;\n\n const buffer = 100;\n const container = containerRef.current;\n const linkElement = linkRef.current;\n const containerRect = container.getBoundingClientRect();\n const linkRect = linkElement.getBoundingClientRect();\n const isCloseToStart = linkRect.left < containerRect.left + buffer;\n const isCloseToEnd = linkRect.right > containerRect.right - buffer;\n\n if (isCloseToStart || isCloseToEnd) {\n linkElement.scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\n }\n });\n }, [hasOverflow, isActive]);\n\n return (\n <StyledTabNavItemWrapper\n isActive={isActive}\n dividerHiderColor={backgroundColor}\n {...metaAttribute({ name: MetaConstants.TabNavItem })}\n >\n <SelectedBar isActive={isActive} />\n <StyledTabNavItem\n ref={mergeRefs(ref, linkRef)}\n as={as ?? 'a'}\n to={href}\n href={as ? undefined : href}\n target={target}\n $isActive={isActive}\n {...props}\n {...makeAccessible({ label: accessibilityLabel, current: isActive })}\n >\n {Icon ? (\n <Icon\n size=\"large\"\n color={isActive ? 'interactive.icon.gray.normal' : 'surface.icon.gray.subtle'}\n />\n ) : null}\n {children}\n {trailing ? trailing : null}\n </StyledTabNavItem>\n </StyledTabNavItemWrapper>\n );\n};\n\nconst TabNavItem = assignWithoutSideEffects(React.forwardRef(_TabNavItem), {\n displayName: 'TabNavItem',\n});\n\nexport { TabNavItem };\n"],"names":["StyledTabNavItem","styled","a","withConfig","displayName","componentId","_ref","theme","$isActive","_objectSpread","getTextStyles","size","weight","color","flex","display","gap","makeSpace","spacing","alignItems","justifyContent","height","textDecoration","whiteSpace","paddingTop","paddingBottom","paddingLeft","paddingRight","borderRadius","makeBorderSize","border","radius","medium","backgroundColor","colors","interactive","background","gray","StyledTabNavItemWrapper","BaseBox","_ref2","isActive","dividerHiderColor","dividerHiderStyle","content","position","top","transform","width","makeSize","getIn","MIXED_BG_COLOR","flexShrink","padding","concat","surface","intense","borderColor","muted","borderStyle","borderBottomWidth","borderWidth","thin","borderTopLeftRadius","borderTopRightRadius","transition","makeMotionTime","motion","duration","moderate","easing","standard","effective","transitionProperty","left","right","SelectedBar","_ref3","icon","normal","pointerEvents","opacity","_TabNavItem","_ref4","ref","as","children","Icon","trailing","accessibilityLabel","href","target","props","_objectWithoutProperties","_excluded","_useTabNavContext","useTabNavContext","containerRef","hasOverflow","_useTopNavContext","useTopNavContext","linkRef","React","useRef","useIsomorphicLayoutEffect","window","requestAnimationFrame","current","buffer","container","linkElement","containerRect","getBoundingClientRect","linkRect","isCloseToStart","isCloseToEnd","scrollIntoView","behavior","inline","block","_jsxs","metaAttribute","name","MetaConstants","TabNavItem","_jsx","mergeRefs","to","undefined","makeAccessible","label","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"TabNavItem.web.js","sources":["../../../../../../../src/components/TopNav/TabNav/TabNavItem.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable consistent-return */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { TabNavItemProps } from './types';\nimport { useTabNavContext } from './TabNavContext';\nimport { MIXED_BG_COLOR } from './utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeBorderSize, makeMotionTime, makeSize, makeSpace } from '~utils';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { size } from '~tokens/global';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\n\nconst StyledTabNavItem = styled.a<{ $isActive?: boolean }>(({ theme, $isActive }) => {\n return {\n ...getTextStyles({\n theme,\n size: 'medium',\n weight: 'medium',\n color: $isActive ? 'interactive.text.gray.normal' : 'interactive.text.gray.subtle',\n }),\n flex: 1,\n display: 'flex',\n gap: makeSpace(theme.spacing[2]),\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n paddingTop: makeSpace(theme.spacing[3]),\n paddingBottom: makeSpace(theme.spacing[3]),\n paddingLeft: makeSpace(theme.spacing[4]),\n paddingRight: makeSpace(theme.spacing[4]),\n borderRadius: makeBorderSize(theme.border.radius.medium),\n // reset button styles\n border: 'none',\n background: 'none',\n '&[aria-expanded=\"true\"]': $isActive\n ? {}\n : {\n backgroundColor: theme.colors.interactive.background.gray.default,\n },\n '&:hover': $isActive\n ? {}\n : {\n backgroundColor: theme.colors.interactive.background.gray.default,\n },\n };\n});\n\nconst StyledTabNavItemWrapper = styled(BaseBox)<{\n isActive?: boolean;\n}>(({ theme, isActive }) => {\n const dividerHiderStyle = {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)',\n width: makeSize(size[1]),\n height: makeSize(size[16]),\n backgroundColor: MIXED_BG_COLOR,\n } as const;\n\n return {\n position: 'relative',\n flexShrink: 0,\n padding: `${makeSpace(theme.spacing[2])} ${makeSpace(theme.spacing[1])}`,\n backgroundColor: isActive ? theme.colors.surface.background.gray.intense : 'transparent',\n borderColor: isActive ? theme.colors.surface.border.gray.muted : 'transparent',\n borderStyle: 'solid',\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderBottomWidth: 0,\n borderTopLeftRadius: makeBorderSize(theme.border.radius.medium),\n borderTopRightRadius: makeBorderSize(theme.border.radius.medium),\n transition: `${makeMotionTime(theme.motion.duration.moderate)} ${\n theme.motion.easing.standard.effective\n }`,\n transitionProperty: 'background',\n\n // Hide the left and right divider by overlaying them with a pseudo element as same color as the background\n ...(isActive\n ? {\n ':before, :after': dividerHiderStyle,\n ':before': {\n left: -2,\n },\n ':after': {\n right: -2,\n },\n }\n : {}),\n };\n});\n\nconst SelectedBar = styled(BaseBox)<{ isActive?: boolean }>(({ theme, isActive }) => {\n return {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: makeSpace(theme.spacing[1]),\n borderTopLeftRadius: makeBorderSize(theme.border.radius.medium),\n borderTopRightRadius: makeBorderSize(theme.border.radius.medium),\n backgroundColor: theme.colors.interactive.icon.gray.normal,\n pointerEvents: 'none',\n // Animation\n opacity: isActive ? 1 : 0,\n transition: `${makeMotionTime(theme.motion.duration.moderate)} ${\n theme.motion.easing.standard.effective\n }`,\n transitionProperty: 'opacity',\n };\n});\n\nconst _TabNavItem: React.ForwardRefRenderFunction<HTMLAnchorElement, TabNavItemProps> = (\n {\n as,\n title,\n isActive,\n icon: Icon,\n trailing,\n accessibilityLabel,\n href,\n target,\n // @ts-expect-error - This prop is only used internally\n __isInsideTabNavItems,\n // @ts-expect-error - This prop is only used internally\n __index,\n ...props\n },\n ref,\n): React.ReactElement => {\n const { setControlledItems } = useTabNavContext();\n const bodyRef = React.useRef<HTMLDivElement>(null);\n\n // Update the controlledItems with the tabWidth and offsetX\n useIsomorphicLayoutEffect(() => {\n if (!bodyRef.current) return;\n if (!__isInsideTabNavItems) return;\n setControlledItems((prev) => {\n return prev.map((item, index) => {\n if (index !== __index) return item;\n const bounds = bodyRef?.current?.getBoundingClientRect()!;\n const tabWidth = bounds.width;\n const offsetX = bounds.right;\n return {\n ...item,\n tabWidth,\n offsetX,\n };\n });\n });\n }, [__isInsideTabNavItems, __index, setControlledItems]);\n\n return (\n <StyledTabNavItemWrapper\n ref={bodyRef}\n isActive={isActive}\n {...metaAttribute({ name: MetaConstants.TabNavItem })}\n >\n <SelectedBar isActive={isActive} />\n <StyledTabNavItem\n ref={ref}\n as={as ?? (href ? 'a' : 'button')}\n to={href}\n href={as ? undefined : href}\n target={target}\n $isActive={isActive}\n {...props}\n {...makeAccessible({ label: accessibilityLabel, current: isActive })}\n >\n {Icon ? (\n <Icon\n size=\"large\"\n color={isActive ? 'interactive.icon.gray.normal' : 'surface.icon.gray.subtle'}\n />\n ) : null}\n {title}\n {trailing ? trailing : null}\n </StyledTabNavItem>\n </StyledTabNavItemWrapper>\n );\n};\n\nconst TabNavItem = assignWithoutSideEffects(React.forwardRef(_TabNavItem), {\n displayName: 'TabNavItem',\n});\n\nexport { TabNavItem };\n"],"names":["StyledTabNavItem","styled","a","withConfig","displayName","componentId","_ref","theme","$isActive","_objectSpread","getTextStyles","size","weight","color","flex","display","gap","makeSpace","spacing","alignItems","justifyContent","height","textDecoration","whiteSpace","paddingTop","paddingBottom","paddingLeft","paddingRight","borderRadius","makeBorderSize","border","radius","medium","background","backgroundColor","colors","interactive","gray","StyledTabNavItemWrapper","BaseBox","_ref2","isActive","dividerHiderStyle","content","position","top","transform","width","makeSize","MIXED_BG_COLOR","flexShrink","padding","concat","surface","intense","borderColor","muted","borderStyle","borderWidth","thin","borderBottomWidth","borderTopLeftRadius","borderTopRightRadius","transition","makeMotionTime","motion","duration","moderate","easing","standard","effective","transitionProperty","left","right","SelectedBar","_ref3","icon","normal","pointerEvents","opacity","_TabNavItem","_ref4","ref","as","title","Icon","trailing","accessibilityLabel","href","target","__isInsideTabNavItems","__index","props","_objectWithoutProperties","_excluded","_useTabNavContext","useTabNavContext","setControlledItems","bodyRef","React","useRef","useIsomorphicLayoutEffect","current","prev","map","item","index","_bodyRef$current","bounds","getBoundingClientRect","tabWidth","offsetX","_jsxs","metaAttribute","name","MetaConstants","TabNavItem","children","_jsx","to","undefined","makeAccessible","label","assignWithoutSideEffects","forwardRef"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { TabNav } from './TabNav.web.js';
1
+ export { TabNav, TabNavItems } from './TabNav.web.js';
2
2
  export { TabNavItem } from './TabNavItem.web.js';
3
3
  import './types.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,48 +1,35 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import React__default from 'react';
3
1
  import { useIsomorphicLayoutEffect } from '../../../utils/useIsomorphicLayoutEffect.js';
4
2
 
3
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
4
+ /* eslint-disable consistent-return */
5
+
6
+
5
7
  /**
6
- * Check if an element has scroll overflow
8
+ * Hook to observe resize events on a given element
7
9
  */
8
- var useHasOverflow = function useHasOverflow(ref, callback) {
9
- var observer = React__default.useRef(null);
10
- var _React$useState = React__default.useState(false),
11
- _React$useState2 = _slicedToArray(_React$useState, 2),
12
- hasOverflow = _React$useState2[0],
13
- setHasOverflow = _React$useState2[1];
10
+ var useResize = function useResize(ref, callback) {
14
11
  useIsomorphicLayoutEffect(function () {
15
12
  if (!ref.current) return;
16
13
  var element = ref.current;
17
- var trigger = function trigger() {
18
- var hasOverflow = element.scrollWidth > element.clientWidth;
19
- setHasOverflow(hasOverflow);
20
- if (callback) callback(hasOverflow);
21
- };
22
- trigger();
23
- if ('ResizeObserver' in window) {
24
- observer.current = new ResizeObserver(trigger);
25
- observer.current.observe(element);
26
- }
14
+ if (!('ResizeObserver' in window)) return;
15
+ var observer = new ResizeObserver(function (entries) {
16
+ entries.forEach(function (entry) {
17
+ callback === null || callback === void 0 ? void 0 : callback(entry);
18
+ });
19
+ });
20
+ observer.observe(element);
27
21
 
28
22
  // destroy the observer
29
23
  return function () {
30
- if ('ResizeObserver' in window) {
31
- var _observer$current;
32
- (_observer$current = observer.current) === null || _observer$current === void 0 ? void 0 : _observer$current.disconnect();
33
- }
24
+ if (!('ResizeObserver' in window)) return;
25
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
34
26
  };
35
- }, [callback, ref]);
36
- return hasOverflow;
37
- };
38
- var approximatelyEqual = function approximatelyEqual(v1, v2) {
39
- var tolerance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
40
- return Math.abs(v1 - v2) < tolerance;
27
+ }, [callback]);
41
28
  };
42
29
 
43
30
  // Overlapping color of surface.background.gray.subtle + interactive.background.gray.default
44
31
  // TODO(future): design will tokenize or check if this is needed or not
45
32
  var MIXED_BG_COLOR = '#e1e7ef';
46
33
 
47
- export { MIXED_BG_COLOR, approximatelyEqual, useHasOverflow };
34
+ export { MIXED_BG_COLOR, useResize };
48
35
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../../src/components/TopNav/TabNav/utils.ts"],"sourcesContent":["/* eslint-disable consistent-return */\nimport React from 'react';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\n\n/**\n * Check if an element has scroll overflow\n */\nconst useHasOverflow = (\n ref: React.RefObject<HTMLDivElement>,\n callback?: (hasOverflow: boolean) => void,\n): boolean => {\n const observer = React.useRef<ResizeObserver | null>(null);\n const [hasOverflow, setHasOverflow] = React.useState<boolean>(false);\n\n useIsomorphicLayoutEffect(() => {\n if (!ref.current) return;\n const element = ref.current;\n\n const trigger = (): void => {\n const hasOverflow = element.scrollWidth > element.clientWidth;\n setHasOverflow(hasOverflow);\n\n if (callback) callback(hasOverflow);\n };\n\n trigger();\n if ('ResizeObserver' in window) {\n observer.current = new ResizeObserver(trigger);\n observer.current.observe(element);\n }\n\n // destroy the observer\n return (): void => {\n if ('ResizeObserver' in window) {\n observer.current?.disconnect();\n }\n };\n }, [callback, ref]);\n\n return hasOverflow;\n};\n\nconst approximatelyEqual = (v1: number, v2: number, tolerance = 1): boolean => {\n return Math.abs(v1 - v2) < tolerance;\n};\n\n// Overlapping color of surface.background.gray.subtle + interactive.background.gray.default\n// TODO(future): design will tokenize or check if this is needed or not\nconst MIXED_BG_COLOR = '#e1e7ef';\n\nexport { useHasOverflow, approximatelyEqual, MIXED_BG_COLOR };\n"],"names":["useHasOverflow","ref","callback","observer","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","hasOverflow","setHasOverflow","useIsomorphicLayoutEffect","current","element","trigger","scrollWidth","clientWidth","window","ResizeObserver","observe","_observer$current","disconnect","approximatelyEqual","v1","v2","tolerance","arguments","length","undefined","Math","abs","MIXED_BG_COLOR"],"mappings":";;;;AAIA;AACA;AACA;AACMA,IAAAA,cAAc,GAAG,SAAjBA,cAAcA,CAClBC,GAAoC,EACpCC,QAAyC,EAC7B;AACZ,EAAA,IAAMC,QAAQ,GAAGC,cAAK,CAACC,MAAM,CAAwB,IAAI,CAAC,CAAA;AAC1D,EAAA,IAAAC,eAAA,GAAsCF,cAAK,CAACG,QAAQ,CAAU,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAA7DI,IAAAA,WAAW,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,cAAc,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AAElCI,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,IAAA,IAAI,CAACX,GAAG,CAACY,OAAO,EAAE,OAAA;AAClB,IAAA,IAAMC,OAAO,GAAGb,GAAG,CAACY,OAAO,CAAA;AAE3B,IAAA,IAAME,OAAO,GAAG,SAAVA,OAAOA,GAAe;MAC1B,IAAML,WAAW,GAAGI,OAAO,CAACE,WAAW,GAAGF,OAAO,CAACG,WAAW,CAAA;MAC7DN,cAAc,CAACD,WAAW,CAAC,CAAA;AAE3B,MAAA,IAAIR,QAAQ,EAAEA,QAAQ,CAACQ,WAAW,CAAC,CAAA;KACpC,CAAA;AAEDK,IAAAA,OAAO,EAAE,CAAA;IACT,IAAI,gBAAgB,IAAIG,MAAM,EAAE;AAC9Bf,MAAAA,QAAQ,CAACU,OAAO,GAAG,IAAIM,cAAc,CAACJ,OAAO,CAAC,CAAA;AAC9CZ,MAAAA,QAAQ,CAACU,OAAO,CAACO,OAAO,CAACN,OAAO,CAAC,CAAA;AACnC,KAAA;;AAEA;AACA,IAAA,OAAO,YAAY;MACjB,IAAI,gBAAgB,IAAII,MAAM,EAAE;AAAA,QAAA,IAAAG,iBAAA,CAAA;AAC9B,QAAA,CAAAA,iBAAA,GAAAlB,QAAQ,CAACU,OAAO,MAAA,IAAA,IAAAQ,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,iBAAA,CAAkBC,UAAU,EAAE,CAAA;AAChC,OAAA;KACD,CAAA;AACH,GAAC,EAAE,CAACpB,QAAQ,EAAED,GAAG,CAAC,CAAC,CAAA;AAEnB,EAAA,OAAOS,WAAW,CAAA;AACpB,EAAC;AAEKa,IAAAA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,EAAU,EAAEC,EAAU,EAA6B;AAAA,EAAA,IAA3BC,SAAS,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;EAC/D,OAAOG,IAAI,CAACC,GAAG,CAACP,EAAE,GAAGC,EAAE,CAAC,GAAGC,SAAS,CAAA;AACtC,EAAC;;AAED;AACA;AACMM,IAAAA,cAAc,GAAG;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../src/components/TopNav/TabNav/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable consistent-return */\nimport type React from 'react';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\n\n/**\n * Hook to observe resize events on a given element\n */\nconst useResize = (\n ref: React.RefObject<HTMLDivElement>,\n callback?: (entry: ResizeObserverEntry) => void,\n) => {\n useIsomorphicLayoutEffect(() => {\n if (!ref.current) return;\n const element = ref.current;\n\n if (!('ResizeObserver' in window)) return;\n\n const observer = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n callback?.(entry);\n });\n });\n observer.observe(element);\n\n // destroy the observer\n return (): void => {\n if (!('ResizeObserver' in window)) return;\n observer?.disconnect();\n };\n }, [callback]);\n};\n\n// Overlapping color of surface.background.gray.subtle + interactive.background.gray.default\n// TODO(future): design will tokenize or check if this is needed or not\nconst MIXED_BG_COLOR = '#e1e7ef';\n\nexport { useResize, MIXED_BG_COLOR };\n"],"names":["useResize","ref","callback","useIsomorphicLayoutEffect","current","element","window","observer","ResizeObserver","entries","forEach","entry","observe","disconnect","MIXED_BG_COLOR"],"mappings":";;AAAA;AACA;;;AAIA;AACA;AACA;AACMA,IAAAA,SAAS,GAAG,SAAZA,SAASA,CACbC,GAAoC,EACpCC,QAA+C,EAC5C;AACHC,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,IAAA,IAAI,CAACF,GAAG,CAACG,OAAO,EAAE,OAAA;AAClB,IAAA,IAAMC,OAAO,GAAGJ,GAAG,CAACG,OAAO,CAAA;AAE3B,IAAA,IAAI,EAAE,gBAAgB,IAAIE,MAAM,CAAC,EAAE,OAAA;AAEnC,IAAA,IAAMC,QAAQ,GAAG,IAAIC,cAAc,CAAC,UAACC,OAAO,EAAK;AAC/CA,MAAAA,OAAO,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;AACzBT,QAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGS,KAAK,CAAC,CAAA;AACnB,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACFJ,IAAAA,QAAQ,CAACK,OAAO,CAACP,OAAO,CAAC,CAAA;;AAEzB;AACA,IAAA,OAAO,YAAY;AACjB,MAAA,IAAI,EAAE,gBAAgB,IAAIC,MAAM,CAAC,EAAE,OAAA;AACnCC,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAEM,UAAU,EAAE,CAAA;KACvB,CAAA;AACH,GAAC,EAAE,CAACX,QAAQ,CAAC,CAAC,CAAA;AAChB,EAAC;;AAED;AACA;AACMY,IAAAA,cAAc,GAAG;;;;"}
@@ -1,98 +1,55 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
3
  import 'react';
4
- import { TopNavContext } from './TopNavContext.js';
5
4
  import '../Box/index.js';
6
5
  import '../Box/BaseBox/index.js';
7
- import '../Divider/index.js';
8
6
  import { SIDE_NAV_EXPANDED_L1_WIDTH_BASE, SIDE_NAV_EXPANDED_L1_WIDTH_XL } from '../SideNav/tokens.js';
9
7
  import '../../tokens/global/index.js';
10
8
  import '../../utils/index.js';
11
9
  import '../../utils/metaAttribute/index.js';
12
- import { jsxs, jsx } from 'react/jsx-runtime';
10
+ import { componentZIndices } from '../../utils/componentZIndices.js';
11
+ import { jsx } from 'react/jsx-runtime';
13
12
  import { size } from '../../tokens/global/size.js';
14
13
  import { Box } from '../Box/Box.js';
15
14
  import { makeSize } from '../../utils/makeSize/makeSize.js';
16
15
  import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
17
16
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
18
17
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
19
- import { Divider } from '../Divider/Divider.js';
20
18
 
21
19
  var _excluded = ["children"];
22
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
22
  var TOP_NAV_HEIGHT = size[56];
25
23
  var CONTENT_RIGHT_GAP = size[80];
26
- var RazorpayLinesSvg = function RazorpayLinesSvg() {
27
- return /*#__PURE__*/jsxs("svg", {
28
- xmlns: "http://www.w3.org/2000/svg",
29
- width: "304",
30
- height: "56",
31
- viewBox: "0 0 304 56",
32
- fill: "none",
33
- children: [/*#__PURE__*/jsx("path", {
34
- opacity: "0.17",
35
- d: "M-20.1729 -528.246L-57.1316 -544.114C-61.2709 -545.885 -65.9797 -543.057 -65.9797 -538.799L-66 -515.846C-66 -511.217 -63.1422 -506.998 -58.6571 -505.045L21.4336 -470.072C23.427 -469.205 25.7255 -469.195 27.729 -470.062L92.7067 -498.197C97.5783 -500.302 103.141 -496.978 103.141 -491.949L103.141 -396.886C103.141 -388.781 98.1173 -381.418 90.2557 -378.018L-10.1145 -334.568C-14.986 -332.463 -20.5492 -335.787 -20.5492 -340.816V-436.66C-20.5492 -442.232 -14.3759 -445.918 -8.97546 -443.575L16.0637 -432.689C19.5724 -431.165 19.5725 -426.488 16.0739 -424.964L-55.067 -393.914C-61.7387 -391 -66 -384.742 -66 -377.847L-65.9695 -119.356C-65.9695 -115.585 -61.7895 -113.089 -58.1384 -114.68L-25.2072 -129.062C-22.0036 -130.462 -18.3015 -130.462 -15.0877 -129.071L106.416 -76.4016C110.393 -74.6777 110.403 -69.3822 106.426 -67.6392L31.7462 -35.047C28.5121 -33.6373 24.8203 -35.847 24.8203 -39.1805V-79.3637C24.8203 -87.4498 29.8342 -94.8027 37.6653 -98.2124L152.65 -148.215C156.993 -150.101 161.956 -147.139 161.956 -142.653L161.956 -56.6672C161.956 -53.9337 163.644 -51.4383 166.299 -50.2859L200.583 -35.3041C203.756 -33.9231 207.386 -36.0851 207.386 -39.3615L207.386 -59.2102C207.386 -67.3154 212.411 -74.6777 220.272 -78.0779L300.297 -112.675C305.169 -114.78 310.732 -111.456 310.732 -106.427L310.732 -11.3648C310.732 -3.25959 305.708 4.10269 297.846 7.50287L217.801 42.0905C212.929 44.1953 207.366 40.8714 207.366 35.8425V14.4604C207.366 10.1649 204.712 6.26945 200.562 4.4503L139.666 -21.9607C135.863 -23.6274 131.5 -21.0273 131.5 -17.0938L131.5 86.7882M166.281 98.6523C118.572 77.8195 44.1159 45.3065 44.1159 45.3065C41.6242 44.2208 41.6242 40.8968 44.1159 39.811L111.034 9.76487C113.2 8.82196 113.2 5.94561 111.034 5.0027L76.8005 -9.94099C73.1494 -11.5411 68.9185 -11.5411 65.2674 -9.94099L-65.3288 47.0907L25.583 86.7882L247.183 -9.55048C250.966 -11.1982 253.387 -14.7413 253.387 -18.6462L253.387 -204.704C253.387 -208.38 251.108 -211.733 247.549 -213.285L213.173 -228.296C210.468 -229.477 207.366 -227.629 207.366 -224.829L207.386 -164.397C207.386 -158.101 214.373 -153.93 220.465 -156.596L380.881 -226.658C384.766 -228.353 389.21 -225.696 389.21 -221.686L389.21 -121.242C389.21 -116.823 384.308 -113.899 380.026 -115.766L309.414 -146.577C302.611 -149.548 298.268 -155.939 298.268 -162.959V-221.752C298.268 -227.277 301.685 -232.296 307.035 -234.629L379.05 -266.079C382.915 -267.765 382.905 -272.908 379.04 -274.593L262.255 -325.234C258.278 -326.958 258.268 -332.254 262.245 -333.997L336.925 -366.589C340.159 -367.999 343.851 -365.789 343.851 -362.455L343.851 -303.224C343.851 -295.137 338.837 -287.785 331.006 -284.375L216.021 -234.372C211.678 -232.486 206.715 -235.448 206.715 -239.934L206.715 -344.969C206.715 -347.702 205.027 -350.198 202.373 -351.35L168.089 -366.332C164.916 -367.713 161.285 -365.551 161.285 -362.275V-342.426C161.285 -334.321 156.261 -326.958 148.399 -323.558L35.3262 -274.593C30.4546 -272.489 24.8915 -275.813 24.8915 -280.841L24.8915 -375.904C24.8915 -384.009 29.9156 -391.371 37.7772 -394.772L150.85 -443.737C155.722 -445.842 161.285 -442.518 161.285 -437.489V-416.106C161.285 -411.811 163.939 -407.915 168.089 -406.096L244.701 -372.599C248.505 -370.932 252.868 -373.532 252.868 -377.466L252.868 -481.348C252.868 -485.653 250.193 -489.568 246.023 -491.378L169.401 -524.56C165.597 -526.208 161.254 -523.608 161.254 -519.684V-496.578C161.254 -491.597 164.336 -487.073 169.157 -484.968L291.322 -431.622C293.813 -430.536 293.813 -427.212 291.322 -426.126L257.617 -411.411C255.451 -410.468 255.451 -407.591 257.617 -406.648L291.85 -391.705C295.502 -390.105 299.732 -390.105 303.383 -391.705L434 -448.699L343.088 -488.397L121.489 -392.076C117.705 -390.428 115.285 -386.885 115.285 -382.98L115.285 -196.923C115.285 -193.246 117.563 -189.894 121.122 -188.341L155.498 -173.331C158.203 -172.15 161.305 -173.997 161.305 -176.798L161.285 -237.23C161.285 -243.525 154.298 -247.697 148.206 -245.03L-12.2096 -174.978C-16.0946 -173.283 -20.539 -175.94 -20.539 -179.95L-20.539 -280.394C-20.539 -284.813 -15.6369 -287.737 -11.3552 -285.87L59.2567 -255.059C66.0606 -252.087 70.4034 -245.697 70.4034 -238.677L70.4034 -179.884C70.4034 -174.359 66.9861 -169.34 61.6366 -167.007L-8.56866 -136.348",
36
- stroke: "url(#paint0_linear_89426_105396)",
37
- strokeMiterlimit: "10"
38
- }), /*#__PURE__*/jsx("defs", {
39
- children: /*#__PURE__*/jsxs("linearGradient", {
40
- id: "paint0_linear_89426_105396",
41
- x1: "162.854",
42
- y1: "63.9672",
43
- x2: "160.504",
44
- y2: "-544.656",
45
- gradientUnits: "userSpaceOnUse",
46
- children: [/*#__PURE__*/jsx("stop", {
47
- stopColor: "#6F9ADA"
48
- }), /*#__PURE__*/jsx("stop", {
49
- offset: "1",
50
- stopColor: "white"
51
- })]
52
- })
53
- })]
54
- });
55
- };
56
24
  var TopNav = function TopNav(_ref) {
57
25
  var children = _ref.children,
58
- styledProps = _objectWithoutProperties(_ref, _excluded);
59
- return /*#__PURE__*/jsx(TopNavContext.Provider, {
60
- value: {
61
- backgroundColor: styledProps.backgroundColor
26
+ boxProps = _objectWithoutProperties(_ref, _excluded);
27
+ return /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread(_objectSpread({
28
+ display: "grid",
29
+ gridTemplateColumns: "auto minmax(0, 1fr) auto",
30
+ alignItems: "center",
31
+ position: "sticky",
32
+ top: "0px",
33
+ width: "100%",
34
+ paddingY: {
35
+ base: 'spacing.3',
36
+ m: 'spacing.0'
62
37
  },
63
- children: /*#__PURE__*/jsxs(Box, _objectSpread(_objectSpread(_objectSpread({
64
- display: "grid",
65
- gridTemplateColumns: {
66
- base: 'minmax(0, 1fr) auto',
67
- m: 'auto minmax(0, 1fr) auto'
68
- },
69
- alignItems: "center",
70
- position: "sticky",
71
- top: "0px",
72
- width: "100%",
73
- paddingX: "spacing.3",
74
- height: makeSize(TOP_NAV_HEIGHT),
75
- zIndex: 1
76
- }, styledProps), metaAttribute({
77
- name: MetaConstants.TopNav
78
- })), {}, {
79
- children: [children, /*#__PURE__*/jsx(Box, {
80
- position: "absolute",
81
- top: "0px",
82
- left: "0px",
83
- pointerEvents: "none",
84
- children: /*#__PURE__*/jsx(RazorpayLinesSvg, {})
85
- })]
86
- }))
87
- });
38
+ paddingX: {
39
+ base: 'spacing.4',
40
+ m: 'spacing.3'
41
+ },
42
+ height: makeSize(TOP_NAV_HEIGHT),
43
+ zIndex: componentZIndices.topnav
44
+ }, boxProps), metaAttribute({
45
+ name: MetaConstants.TopNav
46
+ })), {}, {
47
+ children: children
48
+ }));
88
49
  };
89
50
  var TopNavBrand = function TopNavBrand(_ref2) {
90
51
  var children = _ref2.children;
91
- return /*#__PURE__*/jsxs(Box, _objectSpread(_objectSpread({
92
- display: {
93
- base: 'none',
94
- m: 'flex'
95
- },
52
+ return /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread({
96
53
  flexDirection: "row",
97
54
  marginTop: "spacing.4",
98
55
  width: {
@@ -102,23 +59,11 @@ var TopNavBrand = function TopNavBrand(_ref2) {
102
59
  }, metaAttribute({
103
60
  name: MetaConstants.TopNavBrand
104
61
  })), {}, {
105
- children: [/*#__PURE__*/jsx(BaseBox, {
62
+ children: /*#__PURE__*/jsx(BaseBox, {
106
63
  width: "100%",
107
64
  textAlign: "center",
108
65
  children: children
109
- }), /*#__PURE__*/jsx(Box, {
110
- alignSelf: "center",
111
- display: {
112
- base: 'none',
113
- m: 'block'
114
- },
115
- children: /*#__PURE__*/jsx(Divider, {
116
- marginRight: "-1px",
117
- height: makeSize(size[20]),
118
- alignSelf: "center",
119
- orientation: "vertical"
120
- })
121
- })]
66
+ })
122
67
  }));
123
68
  };
124
69
  var TopNavContent = function TopNavContent(_ref3) {
@@ -126,10 +71,7 @@ var TopNavContent = function TopNavContent(_ref3) {
126
71
  return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
127
72
  display: "flex",
128
73
  alignItems: "center",
129
- marginLeft: {
130
- base: 'spacing.0',
131
- m: 'spacing.4'
132
- },
74
+ alignSelf: "end",
133
75
  paddingRight: {
134
76
  base: 'spacing.0',
135
77
  m: makeSize(CONTENT_RIGHT_GAP)
@@ -143,10 +85,15 @@ var TopNavContent = function TopNavContent(_ref3) {
143
85
  var TopNavActions = function TopNavActions(_ref4) {
144
86
  var children = _ref4.children;
145
87
  return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
88
+ alignSelf: "end",
146
89
  display: "flex",
147
90
  gap: "spacing.3",
148
91
  alignItems: "center",
149
- marginTop: "spacing.1"
92
+ marginTop: "spacing.1",
93
+ padding: "spacing.3",
94
+ backgroundColor: "surface.background.gray.intense",
95
+ borderTopLeftRadius: "medium",
96
+ borderTopRightRadius: "medium"
150
97
  }, metaAttribute({
151
98
  name: MetaConstants.TopNavActions
152
99
  })), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"TopNav.web.js","sources":["../../../../../../src/components/TopNav/TopNav.web.tsx"],"sourcesContent":["import React from 'react';\nimport { TopNavContext } from './TopNavContext';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Divider } from '~components/Divider';\nimport {\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n} from '~components/SideNav/tokens';\nimport { size } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst TOP_NAV_HEIGHT = size[56];\nconst CONTENT_RIGHT_GAP = size[80];\n\nconst RazorpayLinesSvg = (): React.ReactElement => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"304\"\n height=\"56\"\n viewBox=\"0 0 304 56\"\n fill=\"none\"\n >\n <path\n opacity=\"0.17\"\n d=\"M-20.1729 -528.246L-57.1316 -544.114C-61.2709 -545.885 -65.9797 -543.057 -65.9797 -538.799L-66 -515.846C-66 -511.217 -63.1422 -506.998 -58.6571 -505.045L21.4336 -470.072C23.427 -469.205 25.7255 -469.195 27.729 -470.062L92.7067 -498.197C97.5783 -500.302 103.141 -496.978 103.141 -491.949L103.141 -396.886C103.141 -388.781 98.1173 -381.418 90.2557 -378.018L-10.1145 -334.568C-14.986 -332.463 -20.5492 -335.787 -20.5492 -340.816V-436.66C-20.5492 -442.232 -14.3759 -445.918 -8.97546 -443.575L16.0637 -432.689C19.5724 -431.165 19.5725 -426.488 16.0739 -424.964L-55.067 -393.914C-61.7387 -391 -66 -384.742 -66 -377.847L-65.9695 -119.356C-65.9695 -115.585 -61.7895 -113.089 -58.1384 -114.68L-25.2072 -129.062C-22.0036 -130.462 -18.3015 -130.462 -15.0877 -129.071L106.416 -76.4016C110.393 -74.6777 110.403 -69.3822 106.426 -67.6392L31.7462 -35.047C28.5121 -33.6373 24.8203 -35.847 24.8203 -39.1805V-79.3637C24.8203 -87.4498 29.8342 -94.8027 37.6653 -98.2124L152.65 -148.215C156.993 -150.101 161.956 -147.139 161.956 -142.653L161.956 -56.6672C161.956 -53.9337 163.644 -51.4383 166.299 -50.2859L200.583 -35.3041C203.756 -33.9231 207.386 -36.0851 207.386 -39.3615L207.386 -59.2102C207.386 -67.3154 212.411 -74.6777 220.272 -78.0779L300.297 -112.675C305.169 -114.78 310.732 -111.456 310.732 -106.427L310.732 -11.3648C310.732 -3.25959 305.708 4.10269 297.846 7.50287L217.801 42.0905C212.929 44.1953 207.366 40.8714 207.366 35.8425V14.4604C207.366 10.1649 204.712 6.26945 200.562 4.4503L139.666 -21.9607C135.863 -23.6274 131.5 -21.0273 131.5 -17.0938L131.5 86.7882M166.281 98.6523C118.572 77.8195 44.1159 45.3065 44.1159 45.3065C41.6242 44.2208 41.6242 40.8968 44.1159 39.811L111.034 9.76487C113.2 8.82196 113.2 5.94561 111.034 5.0027L76.8005 -9.94099C73.1494 -11.5411 68.9185 -11.5411 65.2674 -9.94099L-65.3288 47.0907L25.583 86.7882L247.183 -9.55048C250.966 -11.1982 253.387 -14.7413 253.387 -18.6462L253.387 -204.704C253.387 -208.38 251.108 -211.733 247.549 -213.285L213.173 -228.296C210.468 -229.477 207.366 -227.629 207.366 -224.829L207.386 -164.397C207.386 -158.101 214.373 -153.93 220.465 -156.596L380.881 -226.658C384.766 -228.353 389.21 -225.696 389.21 -221.686L389.21 -121.242C389.21 -116.823 384.308 -113.899 380.026 -115.766L309.414 -146.577C302.611 -149.548 298.268 -155.939 298.268 -162.959V-221.752C298.268 -227.277 301.685 -232.296 307.035 -234.629L379.05 -266.079C382.915 -267.765 382.905 -272.908 379.04 -274.593L262.255 -325.234C258.278 -326.958 258.268 -332.254 262.245 -333.997L336.925 -366.589C340.159 -367.999 343.851 -365.789 343.851 -362.455L343.851 -303.224C343.851 -295.137 338.837 -287.785 331.006 -284.375L216.021 -234.372C211.678 -232.486 206.715 -235.448 206.715 -239.934L206.715 -344.969C206.715 -347.702 205.027 -350.198 202.373 -351.35L168.089 -366.332C164.916 -367.713 161.285 -365.551 161.285 -362.275V-342.426C161.285 -334.321 156.261 -326.958 148.399 -323.558L35.3262 -274.593C30.4546 -272.489 24.8915 -275.813 24.8915 -280.841L24.8915 -375.904C24.8915 -384.009 29.9156 -391.371 37.7772 -394.772L150.85 -443.737C155.722 -445.842 161.285 -442.518 161.285 -437.489V-416.106C161.285 -411.811 163.939 -407.915 168.089 -406.096L244.701 -372.599C248.505 -370.932 252.868 -373.532 252.868 -377.466L252.868 -481.348C252.868 -485.653 250.193 -489.568 246.023 -491.378L169.401 -524.56C165.597 -526.208 161.254 -523.608 161.254 -519.684V-496.578C161.254 -491.597 164.336 -487.073 169.157 -484.968L291.322 -431.622C293.813 -430.536 293.813 -427.212 291.322 -426.126L257.617 -411.411C255.451 -410.468 255.451 -407.591 257.617 -406.648L291.85 -391.705C295.502 -390.105 299.732 -390.105 303.383 -391.705L434 -448.699L343.088 -488.397L121.489 -392.076C117.705 -390.428 115.285 -386.885 115.285 -382.98L115.285 -196.923C115.285 -193.246 117.563 -189.894 121.122 -188.341L155.498 -173.331C158.203 -172.15 161.305 -173.997 161.305 -176.798L161.285 -237.23C161.285 -243.525 154.298 -247.697 148.206 -245.03L-12.2096 -174.978C-16.0946 -173.283 -20.539 -175.94 -20.539 -179.95L-20.539 -280.394C-20.539 -284.813 -15.6369 -287.737 -11.3552 -285.87L59.2567 -255.059C66.0606 -252.087 70.4034 -245.697 70.4034 -238.677L70.4034 -179.884C70.4034 -174.359 66.9861 -169.34 61.6366 -167.007L-8.56866 -136.348\"\n stroke=\"url(#paint0_linear_89426_105396)\"\n strokeMiterlimit=\"10\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_89426_105396\"\n x1=\"162.854\"\n y1=\"63.9672\"\n x2=\"160.504\"\n y2=\"-544.656\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#6F9ADA\" />\n <stop offset=\"1\" stopColor=\"white\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n\ntype TopNavProps = {\n children: React.ReactNode;\n} & Pick<\n BoxProps,\n | 'padding'\n | 'paddingTop'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'paddingRight'\n | 'paddingX'\n | 'paddingY'\n | 'backgroundColor'\n | 'position'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'width'\n | 'zIndex'\n>;\n\nconst TopNav = ({ children, ...styledProps }: TopNavProps): React.ReactElement => {\n return (\n <TopNavContext.Provider value={{ backgroundColor: styledProps.backgroundColor }}>\n <Box\n display=\"grid\"\n gridTemplateColumns={{ base: 'minmax(0, 1fr) auto', m: 'auto minmax(0, 1fr) auto' }}\n alignItems=\"center\"\n position=\"sticky\"\n top=\"0px\"\n width=\"100%\"\n paddingX=\"spacing.3\"\n height={makeSize(TOP_NAV_HEIGHT)}\n zIndex={1}\n {...styledProps}\n {...metaAttribute({ name: MetaConstants.TopNav })}\n >\n {children}\n <Box position=\"absolute\" top=\"0px\" left=\"0px\" pointerEvents=\"none\">\n <RazorpayLinesSvg />\n </Box>\n </Box>\n </TopNavContext.Provider>\n );\n};\n\nconst TopNavBrand = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <Box\n display={{\n base: 'none',\n m: 'flex',\n }}\n flexDirection=\"row\"\n marginTop=\"spacing.4\"\n width={{\n base: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_BASE),\n xl: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_XL),\n }}\n {...metaAttribute({ name: MetaConstants.TopNavBrand })}\n >\n <BaseBox width=\"100%\" textAlign=\"center\">\n {children}\n </BaseBox>\n <Box alignSelf=\"center\" display={{ base: 'none', m: 'block' }}>\n <Divider\n marginRight=\"-1px\"\n height={makeSize(size[20])}\n alignSelf=\"center\"\n orientation=\"vertical\"\n />\n </Box>\n </Box>\n );\n};\n\nconst TopNavContent = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n marginLeft={{ base: 'spacing.0', m: 'spacing.4' }}\n paddingRight={{ base: 'spacing.0', m: makeSize(CONTENT_RIGHT_GAP) }}\n {...metaAttribute({ name: MetaConstants.TopNavContent })}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst TopNavActions = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <BaseBox\n display=\"flex\"\n gap=\"spacing.3\"\n alignItems=\"center\"\n marginTop=\"spacing.1\"\n {...metaAttribute({ name: MetaConstants.TopNavActions })}\n >\n {children}\n </BaseBox>\n );\n};\n\nexport { TopNav, TopNavBrand, TopNavContent, TopNavActions };\nexport type { TopNavProps };\n"],"names":["TOP_NAV_HEIGHT","size","CONTENT_RIGHT_GAP","RazorpayLinesSvg","_jsxs","xmlns","width","height","viewBox","fill","children","_jsx","opacity","d","stroke","strokeMiterlimit","id","x1","y1","x2","y2","gradientUnits","stopColor","offset","TopNav","_ref","styledProps","_objectWithoutProperties","_excluded","TopNavContext","Provider","value","backgroundColor","Box","_objectSpread","display","gridTemplateColumns","base","m","alignItems","position","top","paddingX","makeSize","zIndex","metaAttribute","name","MetaConstants","left","pointerEvents","TopNavBrand","_ref2","flexDirection","marginTop","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","xl","SIDE_NAV_EXPANDED_L1_WIDTH_XL","BaseBox","textAlign","alignSelf","Divider","marginRight","orientation","TopNavContent","_ref3","marginLeft","paddingRight","TopNavActions","_ref4","gap"],"mappings":"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"}
1
+ {"version":3,"file":"TopNav.web.js","sources":["../../../../../../src/components/TopNav/TopNav.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { BoxProps } from '~components/Box';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport {\n SIDE_NAV_EXPANDED_L1_WIDTH_XL,\n SIDE_NAV_EXPANDED_L1_WIDTH_BASE,\n} from '~components/SideNav/tokens';\nimport { size } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nconst TOP_NAV_HEIGHT = size[56];\nconst CONTENT_RIGHT_GAP = size[80];\n\ntype TopNavProps = {\n children: React.ReactNode;\n} & Pick<\n BoxProps,\n | 'padding'\n | 'paddingTop'\n | 'paddingBottom'\n | 'paddingLeft'\n | 'paddingRight'\n | 'paddingX'\n | 'paddingY'\n | 'backgroundColor'\n | 'position'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'width'\n | 'zIndex'\n> &\n StyledPropsBlade;\n\nconst TopNav = ({ children, ...boxProps }: TopNavProps): React.ReactElement => {\n return (\n <Box\n display=\"grid\"\n gridTemplateColumns=\"auto minmax(0, 1fr) auto\"\n alignItems=\"center\"\n position=\"sticky\"\n top=\"0px\"\n width=\"100%\"\n paddingY={{ base: 'spacing.3', m: 'spacing.0' }}\n paddingX={{ base: 'spacing.4', m: 'spacing.3' }}\n height={makeSize(TOP_NAV_HEIGHT)}\n zIndex={componentZIndices.topnav}\n {...boxProps}\n {...metaAttribute({ name: MetaConstants.TopNav })}\n >\n {children}\n </Box>\n );\n};\n\nconst TopNavBrand = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <Box\n flexDirection=\"row\"\n marginTop=\"spacing.4\"\n width={{\n base: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_BASE),\n xl: makeSize(SIDE_NAV_EXPANDED_L1_WIDTH_XL),\n }}\n {...metaAttribute({ name: MetaConstants.TopNavBrand })}\n >\n <BaseBox width=\"100%\" textAlign=\"center\">\n {children}\n </BaseBox>\n </Box>\n );\n};\n\nconst TopNavContent = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n alignSelf=\"end\"\n paddingRight={{ base: 'spacing.0', m: makeSize(CONTENT_RIGHT_GAP) }}\n {...metaAttribute({ name: MetaConstants.TopNavContent })}\n >\n {children}\n </BaseBox>\n );\n};\n\nconst TopNavActions = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <BaseBox\n alignSelf=\"end\"\n display=\"flex\"\n gap=\"spacing.3\"\n alignItems=\"center\"\n marginTop=\"spacing.1\"\n padding=\"spacing.3\"\n backgroundColor=\"surface.background.gray.intense\"\n borderTopLeftRadius=\"medium\"\n borderTopRightRadius=\"medium\"\n {...metaAttribute({ name: MetaConstants.TopNavActions })}\n >\n {children}\n </BaseBox>\n );\n};\n\nexport { TopNav, TopNavBrand, TopNavContent, TopNavActions };\nexport type { TopNavProps };\n"],"names":["TOP_NAV_HEIGHT","size","CONTENT_RIGHT_GAP","TopNav","_ref","children","boxProps","_objectWithoutProperties","_excluded","_jsx","Box","_objectSpread","display","gridTemplateColumns","alignItems","position","top","width","paddingY","base","m","paddingX","height","makeSize","zIndex","componentZIndices","topnav","metaAttribute","name","MetaConstants","TopNavBrand","_ref2","flexDirection","marginTop","SIDE_NAV_EXPANDED_L1_WIDTH_BASE","xl","SIDE_NAV_EXPANDED_L1_WIDTH_XL","BaseBox","textAlign","TopNavContent","_ref3","alignSelf","paddingRight","TopNavActions","_ref4","gap","padding","backgroundColor","borderTopLeftRadius","borderTopRightRadius"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,cAAc,GAAGC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC/B,IAAMC,iBAAiB,GAAGD,IAAI,CAAC,EAAE,CAAC,CAAA;AAwBlC,IAAME,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAmE;AAAA,EAAA,IAA7DC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAAKC,IAAAA,QAAQ,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA,CAAA,CAAA;EACrC,oBACEC,GAAA,CAACC,GAAG,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACFC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,mBAAmB,EAAC,0BAA0B;AAC9CC,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,QAAQ,EAAC,QAAQ;AACjBC,IAAAA,GAAG,EAAC,KAAK;AACTC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,QAAQ,EAAE;AAAEC,MAAAA,IAAI,EAAE,WAAW;AAAEC,MAAAA,CAAC,EAAE,WAAA;KAAc;AAChDC,IAAAA,QAAQ,EAAE;AAAEF,MAAAA,IAAI,EAAE,WAAW;AAAEC,MAAAA,CAAC,EAAE,WAAA;KAAc;AAChDE,IAAAA,MAAM,EAAEC,QAAQ,CAACvB,cAAc,CAAE;IACjCwB,MAAM,EAAEC,iBAAiB,CAACC,MAAAA;GACtBpB,EAAAA,QAAQ,CACRqB,EAAAA,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAAC1B,MAAAA;AAAO,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAE,IAAAA,QAAA,EAEhDA,QAAAA;AAAQ,GAAA,CACN,CAAC,CAAA;AAEV,EAAC;AAED,IAAMyB,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAAwE;AAAA,EAAA,IAAlE1B,QAAQ,GAAA0B,KAAA,CAAR1B,QAAQ,CAAA;AAC7B,EAAA,oBACEI,GAAA,CAACC,GAAG,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACFqB,IAAAA,aAAa,EAAC,KAAK;AACnBC,IAAAA,SAAS,EAAC,WAAW;AACrBhB,IAAAA,KAAK,EAAE;AACLE,MAAAA,IAAI,EAAEI,QAAQ,CAACW,+BAA+B,CAAC;MAC/CC,EAAE,EAAEZ,QAAQ,CAACa,6BAA6B,CAAA;AAC5C,KAAA;AAAE,GAAA,EACET,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAACC,WAAAA;AAAY,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAzB,QAAA,eAEtDI,GAAA,CAAC4B,OAAO,EAAA;AAACpB,MAAAA,KAAK,EAAC,MAAM;AAACqB,MAAAA,SAAS,EAAC,QAAQ;AAAAjC,MAAAA,QAAA,EACrCA,QAAAA;KACM,CAAA;AAAC,GAAA,CACP,CAAC,CAAA;AAEV,EAAC;AAED,IAAMkC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAwE;AAAA,EAAA,IAAlEnC,QAAQ,GAAAmC,KAAA,CAARnC,QAAQ,CAAA;AAC/B,EAAA,oBACEI,GAAA,CAAC4B,OAAO,EAAA1B,aAAA,CAAAA,aAAA,CAAA;AACNC,IAAAA,OAAO,EAAC,MAAM;AACdE,IAAAA,UAAU,EAAC,QAAQ;AACnB2B,IAAAA,SAAS,EAAC,KAAK;AACfC,IAAAA,YAAY,EAAE;AAAEvB,MAAAA,IAAI,EAAE,WAAW;MAAEC,CAAC,EAAEG,QAAQ,CAACrB,iBAAiB,CAAA;AAAE,KAAA;AAAE,GAAA,EAChEyB,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAACU,aAAAA;AAAc,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAlC,IAAAA,QAAA,EAEvDA,QAAAA;AAAQ,GAAA,CACF,CAAC,CAAA;AAEd,EAAC;AAED,IAAMsC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAwE;AAAA,EAAA,IAAlEvC,QAAQ,GAAAuC,KAAA,CAARvC,QAAQ,CAAA;AAC/B,EAAA,oBACEI,GAAA,CAAC4B,OAAO,EAAA1B,aAAA,CAAAA,aAAA,CAAA;AACN8B,IAAAA,SAAS,EAAC,KAAK;AACf7B,IAAAA,OAAO,EAAC,MAAM;AACdiC,IAAAA,GAAG,EAAC,WAAW;AACf/B,IAAAA,UAAU,EAAC,QAAQ;AACnBmB,IAAAA,SAAS,EAAC,WAAW;AACrBa,IAAAA,OAAO,EAAC,WAAW;AACnBC,IAAAA,eAAe,EAAC,iCAAiC;AACjDC,IAAAA,mBAAmB,EAAC,QAAQ;AAC5BC,IAAAA,oBAAoB,EAAC,QAAA;AAAQ,GAAA,EACzBtB,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAACc,aAAAA;AAAc,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAtC,IAAAA,QAAA,EAEvDA,QAAAA;AAAQ,GAAA,CACF,CAAC,CAAA;AAEd;;;;"}
@@ -513,7 +513,7 @@ export { Tooltip } from './Tooltip/Tooltip.web.js';
513
513
  export { TooltipInteractiveWrapper } from './Tooltip/TooltipInteractiveWrapper.web.js';
514
514
  export { ToastContainer } from './Toast/ToastContainer.web.js';
515
515
  export { useToast } from './Toast/useToast.js';
516
- export { TabNav } from './TopNav/TabNav/TabNav.web.js';
516
+ export { TabNav, TabNavItems } from './TopNav/TabNav/TabNav.web.js';
517
517
  export { TabNavItem } from './TopNav/TabNav/TabNavItem.web.js';
518
518
  export { TopNav, TopNavActions, TopNavBrand, TopNavContent } from './TopNav/TopNav.web.js';
519
519
  export { Heading, getHeadingProps } from './Typography/Heading/Heading.js';
@@ -76,6 +76,8 @@ var size = {
76
76
  176: 176,
77
77
  /** 200 px */
78
78
  200: 200,
79
+ /** 208 px */
80
+ 208: 208,
79
81
  /** 240 px */
80
82
  240: 240,
81
83
  /** 245 px */