@razorpay/blade 11.3.1 → 11.4.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 (146) hide show
  1. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +3 -1
  2. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  3. package/build/lib/native/components/BottomSheet/BottomSheet.native.js +2 -1
  4. package/build/lib/native/components/BottomSheet/BottomSheet.native.js.map +1 -1
  5. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  6. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  7. package/build/lib/native/components/Drawer/Drawer.native.js +17 -0
  8. package/build/lib/native/components/Drawer/Drawer.native.js.map +1 -0
  9. package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js +17 -0
  10. package/build/lib/native/components/Drawer/DrawerSubcomponents.native.js.map +1 -0
  11. package/build/lib/native/components/Popover/Popover.native.js +3 -2
  12. package/build/lib/native/components/Popover/Popover.native.js.map +1 -1
  13. package/build/lib/native/components/Popover/constants.js +2 -2
  14. package/build/lib/native/components/Popover/constants.js.map +1 -1
  15. package/build/lib/native/components/Tag/Tag.js +1 -1
  16. package/build/lib/native/components/Tag/Tag.js.map +1 -1
  17. package/build/lib/native/components/Tooltip/Tooltip.native.js +3 -2
  18. package/build/lib/native/components/Tooltip/Tooltip.native.js.map +1 -1
  19. package/build/lib/native/components/Tooltip/constants.js +2 -2
  20. package/build/lib/native/components/Tooltip/constants.js.map +1 -1
  21. package/build/lib/native/components/index.js +2 -0
  22. package/build/lib/native/components/index.js.map +1 -1
  23. package/build/lib/native/utils/componentZIndices.js +4 -0
  24. package/build/lib/native/utils/componentZIndices.js.map +1 -0
  25. package/build/lib/native/utils/lodashButBetter/get.js.map +1 -1
  26. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  27. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  28. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +6 -2
  29. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  30. package/build/lib/web/development/components/BladeProvider/BladeProvider.web.js +5 -2
  31. package/build/lib/web/development/components/BladeProvider/BladeProvider.web.js.map +1 -1
  32. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +2 -1
  33. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
  34. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +2 -2
  35. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  36. package/build/lib/web/development/components/Drawer/Drawer.web.js +229 -0
  37. package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -0
  38. package/build/lib/web/development/components/Drawer/DrawerContext.js +9 -0
  39. package/build/lib/web/development/components/Drawer/DrawerContext.js.map +1 -0
  40. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js +65 -0
  41. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -0
  42. package/build/lib/web/development/components/Drawer/StackProvider.js +57 -0
  43. package/build/lib/web/development/components/Drawer/StackProvider.js.map +1 -0
  44. package/build/lib/web/development/components/Drawer/drawerComponentIds.js +8 -0
  45. package/build/lib/web/development/components/Drawer/drawerComponentIds.js.map +1 -0
  46. package/build/lib/web/development/components/Drawer/index.js +4 -0
  47. package/build/lib/web/development/components/Drawer/index.js.map +1 -0
  48. package/build/lib/web/development/components/Drawer/types.js +2 -0
  49. package/build/lib/web/development/components/Drawer/types.js.map +1 -0
  50. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +2 -2
  51. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  52. package/build/lib/web/development/components/Modal/Modal.web.js +3 -2
  53. package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
  54. package/build/lib/web/development/components/Modal/ModalHeader.web.js +2 -2
  55. package/build/lib/web/development/components/Modal/ModalHeader.web.js.map +1 -1
  56. package/build/lib/web/development/components/Modal/modalTokens.js +1 -2
  57. package/build/lib/web/development/components/Modal/modalTokens.js.map +1 -1
  58. package/build/lib/web/development/components/Popover/Popover.web.js +3 -2
  59. package/build/lib/web/development/components/Popover/Popover.web.js.map +1 -1
  60. package/build/lib/web/development/components/Popover/constants.js +1 -2
  61. package/build/lib/web/development/components/Popover/constants.js.map +1 -1
  62. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +2 -2
  63. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  64. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js +3 -2
  65. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  66. package/build/lib/web/development/components/SpotlightPopoverTour/tourTokens.js +1 -3
  67. package/build/lib/web/development/components/SpotlightPopoverTour/tourTokens.js.map +1 -1
  68. package/build/lib/web/development/components/Tag/AnimatedTag.web.js +1 -1
  69. package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
  70. package/build/lib/web/development/components/Tag/Tag.js +1 -0
  71. package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
  72. package/build/lib/web/development/components/Tooltip/Tooltip.web.js +3 -2
  73. package/build/lib/web/development/components/Tooltip/Tooltip.web.js.map +1 -1
  74. package/build/lib/web/development/components/Tooltip/constants.js +1 -2
  75. package/build/lib/web/development/components/Tooltip/constants.js.map +1 -1
  76. package/build/lib/web/development/components/index.js +3 -0
  77. package/build/lib/web/development/components/index.js.map +1 -1
  78. package/build/lib/web/development/utils/componentZIndices.js +13 -0
  79. package/build/lib/web/development/utils/componentZIndices.js.map +1 -0
  80. package/build/lib/web/development/utils/lodashButBetter/get.js +1 -1
  81. package/build/lib/web/development/utils/lodashButBetter/get.js.map +1 -1
  82. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +1 -0
  83. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  84. package/build/lib/web/development/utils/useVerifyAllowedChildren/index.js +2 -0
  85. package/build/lib/web/development/utils/useVerifyAllowedChildren/index.js.map +1 -0
  86. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +6 -2
  87. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  88. package/build/lib/web/production/components/BladeProvider/BladeProvider.web.js +5 -2
  89. package/build/lib/web/production/components/BladeProvider/BladeProvider.web.js.map +1 -1
  90. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +2 -1
  91. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
  92. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +2 -2
  93. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  94. package/build/lib/web/production/components/Drawer/Drawer.web.js +229 -0
  95. package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -0
  96. package/build/lib/web/production/components/Drawer/DrawerContext.js +9 -0
  97. package/build/lib/web/production/components/Drawer/DrawerContext.js.map +1 -0
  98. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js +65 -0
  99. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -0
  100. package/build/lib/web/production/components/Drawer/StackProvider.js +57 -0
  101. package/build/lib/web/production/components/Drawer/StackProvider.js.map +1 -0
  102. package/build/lib/web/production/components/Drawer/drawerComponentIds.js +8 -0
  103. package/build/lib/web/production/components/Drawer/drawerComponentIds.js.map +1 -0
  104. package/build/lib/web/production/components/Drawer/index.js +4 -0
  105. package/build/lib/web/production/components/Drawer/index.js.map +1 -0
  106. package/build/lib/web/production/components/Drawer/types.js +2 -0
  107. package/build/lib/web/production/components/Drawer/types.js.map +1 -0
  108. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +2 -2
  109. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  110. package/build/lib/web/production/components/Modal/Modal.web.js +3 -2
  111. package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
  112. package/build/lib/web/production/components/Modal/ModalHeader.web.js +2 -2
  113. package/build/lib/web/production/components/Modal/ModalHeader.web.js.map +1 -1
  114. package/build/lib/web/production/components/Modal/modalTokens.js +1 -2
  115. package/build/lib/web/production/components/Modal/modalTokens.js.map +1 -1
  116. package/build/lib/web/production/components/Popover/Popover.web.js +3 -2
  117. package/build/lib/web/production/components/Popover/Popover.web.js.map +1 -1
  118. package/build/lib/web/production/components/Popover/constants.js +1 -2
  119. package/build/lib/web/production/components/Popover/constants.js.map +1 -1
  120. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +2 -2
  121. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  122. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js +3 -2
  123. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  124. package/build/lib/web/production/components/SpotlightPopoverTour/tourTokens.js +1 -3
  125. package/build/lib/web/production/components/SpotlightPopoverTour/tourTokens.js.map +1 -1
  126. package/build/lib/web/production/components/Tag/AnimatedTag.web.js +1 -1
  127. package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
  128. package/build/lib/web/production/components/Tag/Tag.js +1 -0
  129. package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
  130. package/build/lib/web/production/components/Tooltip/Tooltip.web.js +3 -2
  131. package/build/lib/web/production/components/Tooltip/Tooltip.web.js.map +1 -1
  132. package/build/lib/web/production/components/Tooltip/constants.js +1 -2
  133. package/build/lib/web/production/components/Tooltip/constants.js.map +1 -1
  134. package/build/lib/web/production/components/index.js +3 -0
  135. package/build/lib/web/production/components/index.js.map +1 -1
  136. package/build/lib/web/production/utils/componentZIndices.js +13 -0
  137. package/build/lib/web/production/utils/componentZIndices.js.map +1 -0
  138. package/build/lib/web/production/utils/lodashButBetter/get.js +1 -1
  139. package/build/lib/web/production/utils/lodashButBetter/get.js.map +1 -1
  140. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +1 -0
  141. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  142. package/build/lib/web/production/utils/useVerifyAllowedChildren/index.js +2 -0
  143. package/build/lib/web/production/utils/useVerifyAllowedChildren/index.js.map +1 -0
  144. package/build/types/components/index.d.ts +131 -2
  145. package/build/types/components/index.native.d.ts +81 -3
  146. package/package.json +1 -1
@@ -0,0 +1,65 @@
1
+ import React__default from 'react';
2
+ import { drawerComponentIds } from './drawerComponentIds.js';
3
+ import { DrawerContext } from './DrawerContext.js';
4
+ import { BaseHeader } from '../BaseHeaderFooter/BaseHeader.js';
5
+ import '../Box/index.js';
6
+ import '../../utils/assignWithoutSideEffects/index.js';
7
+ import { jsx } from 'react/jsx-runtime';
8
+ import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
9
+ import { Box } from '../Box/Box.js';
10
+
11
+ var _DrawerHeader = function _DrawerHeader(_ref) {
12
+ var title = _ref.title,
13
+ subtitle = _ref.subtitle,
14
+ leading = _ref.leading,
15
+ trailing = _ref.trailing,
16
+ titleSuffix = _ref.titleSuffix;
17
+ var _React$useContext = React__default.useContext(DrawerContext),
18
+ close = _React$useContext.close,
19
+ closeButtonRef = _React$useContext.closeButtonRef;
20
+ return /*#__PURE__*/jsx(BaseHeader, {
21
+ showCloseButton: true,
22
+ closeButtonRef: closeButtonRef,
23
+ onCloseButtonClick: function onCloseButtonClick() {
24
+ return close();
25
+ },
26
+ title: title,
27
+ titleSuffix: titleSuffix,
28
+ subtitle: subtitle,
29
+ leading: leading,
30
+ trailing: trailing
31
+ });
32
+ };
33
+
34
+ /**
35
+ * #### Usage
36
+ *
37
+ * ```jsx
38
+ * <DrawerHeader
39
+ * title="Announcements"
40
+ * subtitle="Checkout what's new in Razorpay"
41
+ * titleSuffix={<DrawerHeaderBadge>New</DrawerHeaderBadge>}
42
+ * leading={<DrawerHeaderIcon icon={AnnouncementIcon} />}
43
+ * trailing={<Button icon={DownloadIcon} />}
44
+ * />
45
+ * ```
46
+ *
47
+ */
48
+ var DrawerHeader = /*#__PURE__*/assignWithoutSideEffects(_DrawerHeader, {
49
+ componentId: drawerComponentIds.DrawerHeader
50
+ });
51
+ var _DrawerBody = function _DrawerBody(_ref2) {
52
+ var children = _ref2.children;
53
+ return /*#__PURE__*/jsx(Box, {
54
+ padding: "spacing.6",
55
+ overflow: "auto",
56
+ flex: "1",
57
+ children: children
58
+ });
59
+ };
60
+ var DrawerBody = /*#__PURE__*/assignWithoutSideEffects(_DrawerBody, {
61
+ componentId: drawerComponentIds.DrawerBody
62
+ });
63
+
64
+ export { DrawerBody, DrawerHeader };
65
+ //# sourceMappingURL=DrawerSubcomponents.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerSubcomponents.web.js","sources":["../../../../../../src/components/Drawer/DrawerSubcomponents.web.tsx"],"sourcesContent":["import React from 'react';\nimport { drawerComponentIds } from './drawerComponentIds';\nimport { DrawerContext } from './DrawerContext';\nimport type { DrawerHeaderProps } from './types';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\nconst _DrawerHeader = ({\n title,\n subtitle,\n leading,\n trailing,\n titleSuffix,\n}: DrawerHeaderProps): React.ReactElement => {\n const { close, closeButtonRef } = React.useContext(DrawerContext);\n\n return (\n <BaseHeader\n showCloseButton={true}\n closeButtonRef={closeButtonRef}\n onCloseButtonClick={() => close()}\n title={title}\n titleSuffix={titleSuffix}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n />\n );\n};\n\n/**\n * #### Usage\n *\n * ```jsx\n * <DrawerHeader\n * title=\"Announcements\"\n * subtitle=\"Checkout what's new in Razorpay\"\n * titleSuffix={<DrawerHeaderBadge>New</DrawerHeaderBadge>}\n * leading={<DrawerHeaderIcon icon={AnnouncementIcon} />}\n * trailing={<Button icon={DownloadIcon} />}\n * />\n * ```\n *\n */\nconst DrawerHeader = assignWithoutSideEffects(_DrawerHeader, {\n componentId: drawerComponentIds.DrawerHeader,\n});\n\nconst _DrawerBody = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <Box padding=\"spacing.6\" overflow=\"auto\" flex=\"1\">\n {children}\n </Box>\n );\n};\nconst DrawerBody = assignWithoutSideEffects(_DrawerBody, {\n componentId: drawerComponentIds.DrawerBody,\n});\n\nexport { DrawerHeader, DrawerBody };\n"],"names":["_DrawerHeader","_ref","title","subtitle","leading","trailing","titleSuffix","_React$useContext","React","useContext","DrawerContext","close","closeButtonRef","_jsx","BaseHeader","showCloseButton","onCloseButtonClick","DrawerHeader","assignWithoutSideEffects","componentId","drawerComponentIds","_DrawerBody","_ref2","children","Box","padding","overflow","flex","DrawerBody"],"mappings":";;;;;;;;;;AAQA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAM0B;AAAA,EAAA,IAL3CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,WAAW,GAAAL,IAAA,CAAXK,WAAW,CAAA;AAEX,EAAA,IAAAC,iBAAA,GAAkCC,cAAK,CAACC,UAAU,CAACC,aAAa,CAAC;IAAzDC,KAAK,GAAAJ,iBAAA,CAALI,KAAK;IAAEC,cAAc,GAAAL,iBAAA,CAAdK,cAAc,CAAA;EAE7B,oBACEC,GAAA,CAACC,UAAU,EAAA;AACTC,IAAAA,eAAe,EAAE,IAAK;AACtBH,IAAAA,cAAc,EAAEA,cAAe;IAC/BI,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;MAAA,OAAML,KAAK,EAAE,CAAA;KAAC;AAClCT,IAAAA,KAAK,EAAEA,KAAM;AACbI,IAAAA,WAAW,EAAEA,WAAY;AACzBH,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GACpB,CAAC,CAAA;AAEN,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMY,YAAY,gBAAGC,wBAAwB,CAAClB,aAAa,EAAE;EAC3DmB,WAAW,EAAEC,kBAAkB,CAACH,YAAAA;AAClC,CAAC,EAAC;AAEF,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAAwE;AAAA,EAAA,IAAlEC,QAAQ,GAAAD,KAAA,CAARC,QAAQ,CAAA;EAC7B,oBACEV,GAAA,CAACW,GAAG,EAAA;AAACC,IAAAA,OAAO,EAAC,WAAW;AAACC,IAAAA,QAAQ,EAAC,MAAM;AAACC,IAAAA,IAAI,EAAC,GAAG;AAAAJ,IAAAA,QAAA,EAC9CA,QAAAA;AAAQ,GACN,CAAC,CAAA;AAEV,CAAC,CAAA;AACD,IAAMK,UAAU,gBAAGV,wBAAwB,CAACG,WAAW,EAAE;EACvDF,WAAW,EAAEC,kBAAkB,CAACQ,UAAAA;AAClC,CAAC;;;;"}
@@ -0,0 +1,57 @@
1
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import React__default from 'react';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var StackingContext = /*#__PURE__*/React__default.createContext({
7
+ drawerStack: [],
8
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
9
+ addToDrawerStack: function addToDrawerStack() {},
10
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
11
+ removeFromDrawerStack: function removeFromDrawerStack() {}
12
+ });
13
+ var useStacking = function useStacking() {
14
+ var _React$useState = React__default.useState([]),
15
+ _React$useState2 = _slicedToArray(_React$useState, 2),
16
+ stack = _React$useState2[0],
17
+ setStack = _React$useState2[1];
18
+ var addToStack = function addToStack(elementId) {
19
+ if (stack.includes(elementId)) {
20
+ return;
21
+ }
22
+ setStack([].concat(_toConsumableArray(stack), [elementId]));
23
+ };
24
+ var removeFromStack = function removeFromStack(elementId) {
25
+ setStack(stack.filter(function (stackElementId) {
26
+ return stackElementId !== elementId;
27
+ }));
28
+ };
29
+ return [stack, addToStack, removeFromStack];
30
+ };
31
+ var DrawerStackProvider = function DrawerStackProvider(_ref) {
32
+ var children = _ref.children;
33
+ var _useStacking = useStacking(),
34
+ _useStacking2 = _slicedToArray(_useStacking, 3),
35
+ drawerStack = _useStacking2[0],
36
+ addToDrawerStack = _useStacking2[1],
37
+ removeFromDrawerStack = _useStacking2[2];
38
+ var contextValue = React__default.useMemo(function () {
39
+ return {
40
+ drawerStack: drawerStack,
41
+ addToDrawerStack: addToDrawerStack,
42
+ removeFromDrawerStack: removeFromDrawerStack
43
+ };
44
+ },
45
+ // eslint-disable-next-line react-hooks/exhaustive-deps
46
+ [drawerStack]);
47
+ return /*#__PURE__*/jsx(StackingContext.Provider, {
48
+ value: contextValue,
49
+ children: children
50
+ });
51
+ };
52
+ var useDrawerStack = function useDrawerStack() {
53
+ return React__default.useContext(StackingContext);
54
+ };
55
+
56
+ export { DrawerStackProvider, useDrawerStack };
57
+ //# sourceMappingURL=StackProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackProvider.js","sources":["../../../../../../src/components/Drawer/StackProvider.tsx"],"sourcesContent":["import React from 'react';\n\ntype StackActionType = (elementId: string) => void;\n\ntype GlobalStackStateType = {\n drawerStack: string[];\n addToDrawerStack: StackActionType;\n removeFromDrawerStack: StackActionType;\n};\n\nconst StackingContext = React.createContext<GlobalStackStateType>({\n drawerStack: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n addToDrawerStack: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n removeFromDrawerStack: () => {},\n});\n\nconst useStacking = (): [string[], StackActionType, StackActionType] => {\n const [stack, setStack] = React.useState<string[]>([]);\n\n const addToStack = (elementId: string): void => {\n if (stack.includes(elementId)) {\n return;\n }\n\n setStack([...stack, elementId]);\n };\n\n const removeFromStack = (elementId: string): void => {\n setStack(stack.filter((stackElementId) => stackElementId !== elementId));\n };\n\n return [stack, addToStack, removeFromStack];\n};\n\nconst DrawerStackProvider = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n const [drawerStack, addToDrawerStack, removeFromDrawerStack] = useStacking();\n\n const contextValue = React.useMemo<GlobalStackStateType>(\n () => ({\n drawerStack,\n addToDrawerStack,\n removeFromDrawerStack,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [drawerStack],\n );\n\n return <StackingContext.Provider value={contextValue}>{children}</StackingContext.Provider>;\n};\n\nconst useDrawerStack = (): GlobalStackStateType => {\n return React.useContext(StackingContext);\n};\n\nexport { DrawerStackProvider, useDrawerStack };\n"],"names":["StackingContext","React","createContext","drawerStack","addToDrawerStack","removeFromDrawerStack","useStacking","_React$useState","useState","_React$useState2","_slicedToArray","stack","setStack","addToStack","elementId","includes","concat","_toConsumableArray","removeFromStack","filter","stackElementId","DrawerStackProvider","_ref","children","_useStacking","_useStacking2","contextValue","useMemo","_jsx","Provider","value","useDrawerStack","useContext"],"mappings":";;;;;AAUA,IAAMA,eAAe,gBAAGC,cAAK,CAACC,aAAa,CAAuB;AAChEC,EAAAA,WAAW,EAAE,EAAE;AACf;AACAC,EAAAA,gBAAgB,EAAE,SAAAA,gBAAA,GAAM,EAAE;AAC1B;AACAC,EAAAA,qBAAqB,EAAE,SAAAA,qBAAA,GAAM,EAAC;AAChC,CAAC,CAAC,CAAA;AAEF,IAAMC,WAAW,GAAG,SAAdA,WAAWA,GAAuD;AACtE,EAAA,IAAAC,eAAA,GAA0BN,cAAK,CAACO,QAAQ,CAAW,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,KAAK,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,IAAMI,UAAU,GAAG,SAAbA,UAAUA,CAAIC,SAAiB,EAAW;AAC9C,IAAA,IAAIH,KAAK,CAACI,QAAQ,CAACD,SAAS,CAAC,EAAE;AAC7B,MAAA,OAAA;AACF,KAAA;IAEAF,QAAQ,CAAA,EAAA,CAAAI,MAAA,CAAAC,kBAAA,CAAKN,KAAK,CAAA,EAAA,CAAEG,SAAS,CAAA,CAAC,CAAC,CAAA;GAChC,CAAA;AAED,EAAA,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIJ,SAAiB,EAAW;AACnDF,IAAAA,QAAQ,CAACD,KAAK,CAACQ,MAAM,CAAC,UAACC,cAAc,EAAA;MAAA,OAAKA,cAAc,KAAKN,SAAS,CAAA;AAAA,KAAA,CAAC,CAAC,CAAA;GACzE,CAAA;AAED,EAAA,OAAO,CAACH,KAAK,EAAEE,UAAU,EAAEK,eAAe,CAAC,CAAA;AAC7C,CAAC,CAAA;AAED,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAwE;AAAA,EAAA,IAAlEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AACrC,EAAA,IAAAC,YAAA,GAA+DlB,WAAW,EAAE;IAAAmB,aAAA,GAAAf,cAAA,CAAAc,YAAA,EAAA,CAAA,CAAA;AAArErB,IAAAA,WAAW,GAAAsB,aAAA,CAAA,CAAA,CAAA;AAAErB,IAAAA,gBAAgB,GAAAqB,aAAA,CAAA,CAAA,CAAA;AAAEpB,IAAAA,qBAAqB,GAAAoB,aAAA,CAAA,CAAA,CAAA,CAAA;AAE3D,EAAA,IAAMC,YAAY,GAAGzB,cAAK,CAAC0B,OAAO,CAChC,YAAA;IAAA,OAAO;AACLxB,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,qBAAqB,EAArBA,qBAAAA;KACD,CAAA;GAAC;AACF;EACA,CAACF,WAAW,CACd,CAAC,CAAA;AAED,EAAA,oBAAOyB,GAAA,CAAC5B,eAAe,CAAC6B,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,YAAa;AAAAH,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAA2B,CAAC,CAAA;AAC7F,EAAC;AAED,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,GAA+B;AACjD,EAAA,OAAO9B,cAAK,CAAC+B,UAAU,CAAChC,eAAe,CAAC,CAAA;AAC1C;;;;"}
@@ -0,0 +1,8 @@
1
+ var drawerComponentIds = {
2
+ DrawerHeader: 'DrawerHeader',
3
+ DrawerBody: 'DrawerBody',
4
+ Drawer: 'Drawer'
5
+ };
6
+
7
+ export { drawerComponentIds };
8
+ //# sourceMappingURL=drawerComponentIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawerComponentIds.js","sources":["../../../../../../src/components/Drawer/drawerComponentIds.ts"],"sourcesContent":["export const drawerComponentIds = {\n DrawerHeader: 'DrawerHeader',\n DrawerBody: 'DrawerBody',\n Drawer: 'Drawer',\n};\n"],"names":["drawerComponentIds","DrawerHeader","DrawerBody","Drawer"],"mappings":"AAAO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,MAAM,EAAE,QAAA;AACV;;;;"}
@@ -0,0 +1,4 @@
1
+ export { Drawer } from './Drawer.web.js';
2
+ export { DrawerBody, DrawerHeader } from './DrawerSubcomponents.web.js';
3
+ import './types.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -11,6 +11,7 @@ import '../../utils/metaAttribute/index.js';
11
11
  import '../../utils/assignWithoutSideEffects/index.js';
12
12
  import { useBottomSheetAndDropdownGlue } from '../BottomSheet/BottomSheetContext.js';
13
13
  import '../Box/BaseBox/index.js';
14
+ import { componentZIndices } from '../../utils/componentZIndices.js';
14
15
  import { jsx } from 'react/jsx-runtime';
15
16
  import { size } from '../../tokens/global/size.js';
16
17
  import useTheme from '../BladeProvider/useTheme.js';
@@ -24,7 +25,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
24
25
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
26
  var OVERLAY_OFFSET = size['8'];
26
27
  var OVERLAY_PADDING = size['12']; // doesn't have to be exact. Just rough padding for floating ui to decide to show overlay on top or bottom
27
- var OVERLAY_ZINDEX = 1001;
28
28
 
29
29
  /**
30
30
  * Overlay of dropdown
@@ -36,7 +36,7 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
36
36
  var children = _ref.children,
37
37
  testID = _ref.testID,
38
38
  _ref$zIndex = _ref.zIndex,
39
- zIndex = _ref$zIndex === void 0 ? OVERLAY_ZINDEX : _ref$zIndex,
39
+ zIndex = _ref$zIndex === void 0 ? componentZIndices.dropdownOverlay : _ref$zIndex,
40
40
  width = _ref.width;
41
41
  var _useDropdown = useDropdown(),
42
42
  isOpen = _useDropdown.isOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownOverlay.web.js","sources":["../../../../../../src/components/Dropdown/DropdownOverlay.web.tsx"],"sourcesContent":["import React from 'react';\nimport {\n autoUpdate,\n offset,\n size as sizeMiddleware,\n useFloating,\n useTransitionStyles,\n flip,\n} from '@floating-ui/react';\nimport { useDropdown } from './useDropdown';\nimport { StyledDropdownOverlay } from './StyledDropdownOverlay';\nimport type { DropdownOverlayProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useTheme } from '~components/BladeProvider';\n// Reading directly because its not possible to get theme object on top level to be used in keyframes\nimport { size } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useBottomSheetAndDropdownGlue } from '~components/BottomSheet/BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\n\nconst OVERLAY_OFFSET: number = size['8'];\nconst OVERLAY_PADDING: number = size['12']; // doesn't have to be exact. Just rough padding for floating ui to decide to show overlay on top or bottom\nconst OVERLAY_ZINDEX = 1001;\n\n/**\n * Overlay of dropdown\n *\n * Wrap your ActionList within this component\n */\nconst _DropdownOverlay = ({\n children,\n testID,\n zIndex = OVERLAY_ZINDEX,\n width,\n}: DropdownOverlayProps): React.ReactElement | null => {\n const { isOpen, triggererRef, triggererWrapperRef, dropdownTriggerer, setIsOpen } = useDropdown();\n const { theme } = useTheme();\n const bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();\n\n const isMenu =\n dropdownTriggerer !== dropdownComponentIds.triggers.SelectInput &&\n dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete;\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n strategy: 'fixed',\n placement: 'bottom-start',\n elements: {\n // Input triggers have their ref on internal input element but we want width height of overall visible input hence wrapperRef is needed\n // We fallback to use `triggererRef` for triggers like button and link where wrapper is not needed\n // Checkout: https://github.com/razorpay/blade/pull/1559#discussion_r1305438920\n reference: triggererWrapperRef.current ?? triggererRef.current,\n },\n middleware: [\n offset({\n mainAxis: OVERLAY_OFFSET,\n }),\n flip({\n padding: OVERLAY_OFFSET + OVERLAY_PADDING,\n }),\n sizeMiddleware({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n // in menu, we have flexible width between min and max\n // in input triggers, we just take width of trigger\n width: isMenu ? undefined : makeSize(rects.reference.width),\n minWidth: isMenu ? makeSize(size['240']) : undefined,\n maxWidth: isMenu ? makeSize(size['400']) : undefined,\n });\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: () => ({\n transform: `translateY(-${makeSize(size['8'])})`,\n opacity: 0,\n }),\n });\n\n React.useEffect(() => {\n if (isOpen) {\n // On Safari clicking on a non input element doesn't focuses it https://bugs.webkit.org/show_bug.cgi?id=22261\n triggererRef.current?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={refs.setFloating as any}\n style={floatingStyles}\n zIndex={zIndex}\n display={isMounted ? 'flex' : 'none'}\n >\n <StyledDropdownOverlay\n isInBottomSheet={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet}\n elevation={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet ? undefined : 'midRaised'}\n style={{ ...styles }}\n width={width ? width : '100%'}\n {...metaAttribute({ name: MetaConstants.DropdownOverlay, testID })}\n >\n {children}\n </StyledDropdownOverlay>\n </BaseBox>\n );\n};\n\nconst DropdownOverlay = assignWithoutSideEffects(_DropdownOverlay, {\n componentId: dropdownComponentIds.DropdownOverlay,\n});\n\nexport { DropdownOverlay };\n"],"names":["OVERLAY_OFFSET","size","OVERLAY_PADDING","OVERLAY_ZINDEX","_DropdownOverlay","_ref","_triggererWrapperRef$","children","testID","_ref$zIndex","zIndex","width","_useDropdown","useDropdown","isOpen","triggererRef","triggererWrapperRef","dropdownTriggerer","setIsOpen","_useTheme","useTheme","theme","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","isMenu","dropdownComponentIds","triggers","SelectInput","AutoComplete","_useFloating","useFloating","open","onOpenChange","strategy","placement","elements","reference","current","middleware","offset","mainAxis","flip","padding","sizeMiddleware","apply","_ref2","rects","Object","assign","floating","style","undefined","makeSize","minWidth","maxWidth","whileElementsMounted","autoUpdate","refs","floatingStyles","context","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","transform","concat","opacity","isMounted","styles","React","useEffect","_triggererRef$current","focus","_jsx","BaseBox","ref","setFloating","display","StyledDropdownOverlay","_objectSpread","isInBottomSheet","dropdownHasBottomSheet","elevation","metaAttribute","name","MetaConstants","DropdownOverlay","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownOverlay.web.js","sources":["../../../../../../src/components/Dropdown/DropdownOverlay.web.tsx"],"sourcesContent":["import React from 'react';\nimport {\n autoUpdate,\n offset,\n size as sizeMiddleware,\n useFloating,\n useTransitionStyles,\n flip,\n} from '@floating-ui/react';\nimport { useDropdown } from './useDropdown';\nimport { StyledDropdownOverlay } from './StyledDropdownOverlay';\nimport type { DropdownOverlayProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useTheme } from '~components/BladeProvider';\n// Reading directly because its not possible to get theme object on top level to be used in keyframes\nimport { size } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useBottomSheetAndDropdownGlue } from '~components/BottomSheet/BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nconst OVERLAY_OFFSET: number = size['8'];\nconst OVERLAY_PADDING: number = size['12']; // doesn't have to be exact. Just rough padding for floating ui to decide to show overlay on top or bottom\n\n/**\n * Overlay of dropdown\n *\n * Wrap your ActionList within this component\n */\nconst _DropdownOverlay = ({\n children,\n testID,\n zIndex = componentZIndices.dropdownOverlay,\n width,\n}: DropdownOverlayProps): React.ReactElement | null => {\n const { isOpen, triggererRef, triggererWrapperRef, dropdownTriggerer, setIsOpen } = useDropdown();\n const { theme } = useTheme();\n const bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();\n\n const isMenu =\n dropdownTriggerer !== dropdownComponentIds.triggers.SelectInput &&\n dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete;\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n strategy: 'fixed',\n placement: 'bottom-start',\n elements: {\n // Input triggers have their ref on internal input element but we want width height of overall visible input hence wrapperRef is needed\n // We fallback to use `triggererRef` for triggers like button and link where wrapper is not needed\n // Checkout: https://github.com/razorpay/blade/pull/1559#discussion_r1305438920\n reference: triggererWrapperRef.current ?? triggererRef.current,\n },\n middleware: [\n offset({\n mainAxis: OVERLAY_OFFSET,\n }),\n flip({\n padding: OVERLAY_OFFSET + OVERLAY_PADDING,\n }),\n sizeMiddleware({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n // in menu, we have flexible width between min and max\n // in input triggers, we just take width of trigger\n width: isMenu ? undefined : makeSize(rects.reference.width),\n minWidth: isMenu ? makeSize(size['240']) : undefined,\n maxWidth: isMenu ? makeSize(size['400']) : undefined,\n });\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: () => ({\n transform: `translateY(-${makeSize(size['8'])})`,\n opacity: 0,\n }),\n });\n\n React.useEffect(() => {\n if (isOpen) {\n // On Safari clicking on a non input element doesn't focuses it https://bugs.webkit.org/show_bug.cgi?id=22261\n triggererRef.current?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={refs.setFloating as any}\n style={floatingStyles}\n zIndex={zIndex}\n display={isMounted ? 'flex' : 'none'}\n >\n <StyledDropdownOverlay\n isInBottomSheet={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet}\n elevation={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet ? undefined : 'midRaised'}\n style={{ ...styles }}\n width={width ? width : '100%'}\n {...metaAttribute({ name: MetaConstants.DropdownOverlay, testID })}\n >\n {children}\n </StyledDropdownOverlay>\n </BaseBox>\n );\n};\n\nconst DropdownOverlay = assignWithoutSideEffects(_DropdownOverlay, {\n componentId: dropdownComponentIds.DropdownOverlay,\n});\n\nexport { DropdownOverlay };\n"],"names":["OVERLAY_OFFSET","size","OVERLAY_PADDING","_DropdownOverlay","_ref","_triggererWrapperRef$","children","testID","_ref$zIndex","zIndex","componentZIndices","dropdownOverlay","width","_useDropdown","useDropdown","isOpen","triggererRef","triggererWrapperRef","dropdownTriggerer","setIsOpen","_useTheme","useTheme","theme","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","isMenu","dropdownComponentIds","triggers","SelectInput","AutoComplete","_useFloating","useFloating","open","onOpenChange","strategy","placement","elements","reference","current","middleware","offset","mainAxis","flip","padding","sizeMiddleware","apply","_ref2","rects","Object","assign","floating","style","undefined","makeSize","minWidth","maxWidth","whileElementsMounted","autoUpdate","refs","floatingStyles","context","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","transform","concat","opacity","isMounted","styles","React","useEffect","_triggererRef$current","focus","_jsx","BaseBox","ref","setFloating","display","StyledDropdownOverlay","_objectSpread","isInBottomSheet","dropdownHasBottomSheet","elevation","metaAttribute","name","MetaConstants","DropdownOverlay","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -8,7 +8,7 @@ export { ModalFooter } from './ModalFooter.web.js';
8
8
  export { ModalBody } from './ModalBody.web.js';
9
9
  import { ModalContext } from './ModalContext.js';
10
10
  import { ModalBackdrop } from './ModalBackdrop.js';
11
- import { modalHighestZIndex, modalMaxWidth, modalMinWidth, modalMaxHeight, modalResponsiveScreenGap, modalBorderRadius } from './modalTokens.js';
11
+ import { modalMaxWidth, modalMinWidth, modalMaxHeight, modalResponsiveScreenGap, modalBorderRadius } from './modalTokens.js';
12
12
  import '../../utils/index.js';
13
13
  import '../Box/BaseBox/index.js';
14
14
  import '../BladeProvider/index.js';
@@ -17,6 +17,7 @@ import '../../utils/isValidAllowedChildren/index.js';
17
17
  import '../../utils/metaAttribute/index.js';
18
18
  import '../../utils/makeAccessible/index.js';
19
19
  import '../../utils/logger/index.js';
20
+ import { componentZIndices } from '../../utils/componentZIndices.js';
20
21
  import { jsx, jsxs } from 'react/jsx-runtime';
21
22
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
22
23
  import { castWebType } from '../../utils/platform/castUtils.js';
@@ -52,7 +53,7 @@ var Modal = function Modal(_ref2) {
52
53
  size = _ref2$size === void 0 ? 'small' : _ref2$size,
53
54
  accessibilityLabel = _ref2.accessibilityLabel,
54
55
  _ref2$zIndex = _ref2.zIndex,
55
- zIndex = _ref2$zIndex === void 0 ? modalHighestZIndex : _ref2$zIndex;
56
+ zIndex = _ref2$zIndex === void 0 ? componentZIndices.modal : _ref2$zIndex;
56
57
  var _useTheme = useTheme(),
57
58
  theme = _useTheme.theme,
58
59
  platform = _useTheme.platform;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.web.js","sources":["../../../../../../src/components/Modal/Modal.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect } from 'react';\nimport styled, { css, keyframes } from 'styled-components';\nimport { FloatingFocusManager, FloatingPortal, useFloating } from '@floating-ui/react';\nimport usePresence from 'use-presence';\nimport { ModalHeader } from './ModalHeader';\nimport type { ModalHeaderProps } from './ModalHeader';\nimport { ModalFooter } from './ModalFooter';\nimport type { ModalFooterProps } from './ModalFooter';\nimport { ModalBody } from './ModalBody';\nimport type { ModalBodyProps } from './ModalBody';\nimport { ModalContext } from './ModalContext';\nimport { ModalBackdrop } from './ModalBackdrop';\nimport {\n modalBorderRadius,\n modalHighestZIndex,\n modalMaxHeight,\n modalMaxWidth,\n modalMinWidth,\n modalResponsiveScreenGap,\n} from './modalTokens';\nimport type { ModalProps } from './types';\nimport { castWebType, makeMotionTime, makeSize } from '~utils';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { Box } from '~components/Box';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { logger, throwBladeError } from '~utils/logger';\n\nconst entry = keyframes`\n from {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.9) translateY(20px);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1) translateY(0px);\n }\n`;\n\nconst exit = keyframes`\n from {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1) translateY(0px);\n }\n to {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.9) translateY(20px);\n }\n`;\n\nconst ModalContent = styled(BaseBox)<{ isVisible: boolean }>(({ isVisible, theme }) => {\n return css`\n box-shadow: ${theme.elevation.highRaised};\n position: fixed;\n transform: translate(-50%, -50%);\n opacity: ${isVisible ? 1 : 0};\n animation: ${isVisible ? entry : exit}\n ${castWebType(makeMotionTime(theme.motion.duration.xmoderate))}\n ${isVisible\n ? castWebType(theme.motion.easing.entrance.revealing)\n : castWebType(theme.motion.easing.exit.revealing)};\n `;\n});\n\nconst Modal = ({\n isOpen = false,\n children,\n onDismiss,\n initialFocusRef,\n size = 'small',\n accessibilityLabel,\n zIndex = modalHighestZIndex,\n}: ModalProps): React.ReactElement => {\n const { theme, platform } = useTheme();\n const { isMounted, isVisible } = usePresence(isOpen, {\n transitionDuration: theme.motion.duration.xmoderate,\n initialEnter: true,\n });\n\n // Warn consumer if modal is opened on mobile\n useEffect(() => {\n if (__DEV__) {\n if (platform === 'onMobile') {\n logger({\n message: 'Modal is not supported on mobile devices. Please use BottomSheet instead.',\n moduleName: 'Modal',\n type: 'warn',\n });\n }\n }\n }, [platform]);\n\n // required by floating ui to handle focus\n const { refs, context } = useFloating({\n open: isMounted,\n });\n\n const defaultInitialFocusRef = React.useRef<any>(null);\n\n const modalContext = React.useMemo(\n () => ({\n isOpen,\n close: onDismiss,\n defaultInitialFocusRef,\n isVisible,\n }),\n [isOpen, onDismiss, defaultInitialFocusRef, isVisible],\n );\n const handleKeyDown = (event: React.KeyboardEvent): void => {\n // close modal on escape key press\n if (event?.key === 'Escape' || event?.code === 'Escape') {\n onDismiss();\n }\n };\n\n // Only allow ModalHeader, ModalBody and ModalFooter as children\n const validChildren = React.Children.map(children, (child) => {\n if (\n isValidAllowedChildren(child, MetaConstants.ModalHeader) ||\n isValidAllowedChildren(child, MetaConstants.ModalBody) ||\n isValidAllowedChildren(child, MetaConstants.ModalFooter)\n ) {\n return child;\n } else if (__DEV__) {\n throwBladeError({\n message: 'Modal only accepts ModalHeader, ModalBody and ModalFooter as children',\n moduleName: 'Modal',\n });\n }\n return null;\n });\n\n return (\n <FloatingPortal>\n <ModalContext.Provider value={modalContext}>\n {isMounted ? (\n <FloatingFocusManager\n returnFocus\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n >\n <Box zIndex={zIndex} position=\"fixed\" testID=\"modal-wrapper\">\n <ModalBackdrop />\n <ModalContent\n {...metaAttribute({\n name: MetaConstants.Modal,\n })}\n {...makeAccessible({\n role: 'dialog',\n modal: true,\n label: accessibilityLabel,\n })}\n maxWidth={makeSize(modalMaxWidth[size])}\n minWidth={makeSize(modalMinWidth)}\n maxHeight={modalMaxHeight}\n width={`calc(100vw - ${makeSize(modalResponsiveScreenGap)})`}\n borderRadius={modalBorderRadius}\n backgroundColor=\"popup.background.subtle\"\n position=\"absolute\"\n display=\"flex\"\n flexDirection=\"column\"\n top=\"50%\"\n left=\"50%\"\n onKeyDown={handleKeyDown}\n isVisible={isVisible}\n ref={refs.setFloating}\n >\n {validChildren}\n </ModalContent>\n </Box>\n </FloatingFocusManager>\n ) : null}\n </ModalContext.Provider>\n </FloatingPortal>\n );\n};\n\nexport { Modal, ModalHeader, ModalFooter, ModalBody };\nexport type { ModalProps, ModalHeaderProps, ModalFooterProps, ModalBodyProps };\n"],"names":["entry","keyframes","exit","ModalContent","styled","BaseBox","withConfig","displayName","componentId","_ref","isVisible","theme","css","elevation","highRaised","castWebType","makeMotionTime","motion","duration","xmoderate","easing","entrance","revealing","Modal","_ref2","_ref2$isOpen","isOpen","children","onDismiss","initialFocusRef","_ref2$size","size","accessibilityLabel","_ref2$zIndex","zIndex","modalHighestZIndex","_useTheme","useTheme","platform","_usePresence","usePresence","transitionDuration","initialEnter","isMounted","useEffect","logger","message","moduleName","type","_useFloating","useFloating","open","refs","context","defaultInitialFocusRef","React","useRef","modalContext","useMemo","close","handleKeyDown","event","key","code","validChildren","Children","map","child","isValidAllowedChildren","MetaConstants","ModalHeader","ModalBody","ModalFooter","throwBladeError","_jsx","FloatingPortal","ModalContext","Provider","value","FloatingFocusManager","returnFocus","initialFocus","modal","_jsxs","Box","position","testID","ModalBackdrop","_objectSpread","metaAttribute","name","makeAccessible","role","label","maxWidth","makeSize","modalMaxWidth","minWidth","modalMinWidth","maxHeight","modalMaxHeight","width","concat","modalResponsiveScreenGap","borderRadius","modalBorderRadius","backgroundColor","display","flexDirection","top","left","onKeyDown","ref","setFloating"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.web.js","sources":["../../../../../../src/components/Modal/Modal.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect } from 'react';\nimport styled, { css, keyframes } from 'styled-components';\nimport { FloatingFocusManager, FloatingPortal, useFloating } from '@floating-ui/react';\nimport usePresence from 'use-presence';\nimport { ModalHeader } from './ModalHeader';\nimport type { ModalHeaderProps } from './ModalHeader';\nimport { ModalFooter } from './ModalFooter';\nimport type { ModalFooterProps } from './ModalFooter';\nimport { ModalBody } from './ModalBody';\nimport type { ModalBodyProps } from './ModalBody';\nimport { ModalContext } from './ModalContext';\nimport { ModalBackdrop } from './ModalBackdrop';\nimport {\n modalBorderRadius,\n modalMaxHeight,\n modalMaxWidth,\n modalMinWidth,\n modalResponsiveScreenGap,\n} from './modalTokens';\nimport type { ModalProps } from './types';\nimport { castWebType, makeMotionTime, makeSize } from '~utils';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { Box } from '~components/Box';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { logger, throwBladeError } from '~utils/logger';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nconst entry = keyframes`\n from {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.9) translateY(20px);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1) translateY(0px);\n }\n`;\n\nconst exit = keyframes`\n from {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1) translateY(0px);\n }\n to {\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.9) translateY(20px);\n }\n`;\n\nconst ModalContent = styled(BaseBox)<{ isVisible: boolean }>(({ isVisible, theme }) => {\n return css`\n box-shadow: ${theme.elevation.highRaised};\n position: fixed;\n transform: translate(-50%, -50%);\n opacity: ${isVisible ? 1 : 0};\n animation: ${isVisible ? entry : exit}\n ${castWebType(makeMotionTime(theme.motion.duration.xmoderate))}\n ${isVisible\n ? castWebType(theme.motion.easing.entrance.revealing)\n : castWebType(theme.motion.easing.exit.revealing)};\n `;\n});\n\nconst Modal = ({\n isOpen = false,\n children,\n onDismiss,\n initialFocusRef,\n size = 'small',\n accessibilityLabel,\n zIndex = componentZIndices.modal,\n}: ModalProps): React.ReactElement => {\n const { theme, platform } = useTheme();\n const { isMounted, isVisible } = usePresence(isOpen, {\n transitionDuration: theme.motion.duration.xmoderate,\n initialEnter: true,\n });\n\n // Warn consumer if modal is opened on mobile\n useEffect(() => {\n if (__DEV__) {\n if (platform === 'onMobile') {\n logger({\n message: 'Modal is not supported on mobile devices. Please use BottomSheet instead.',\n moduleName: 'Modal',\n type: 'warn',\n });\n }\n }\n }, [platform]);\n\n // required by floating ui to handle focus\n const { refs, context } = useFloating({\n open: isMounted,\n });\n\n const defaultInitialFocusRef = React.useRef<any>(null);\n\n const modalContext = React.useMemo(\n () => ({\n isOpen,\n close: onDismiss,\n defaultInitialFocusRef,\n isVisible,\n }),\n [isOpen, onDismiss, defaultInitialFocusRef, isVisible],\n );\n const handleKeyDown = (event: React.KeyboardEvent): void => {\n // close modal on escape key press\n if (event?.key === 'Escape' || event?.code === 'Escape') {\n onDismiss();\n }\n };\n\n // Only allow ModalHeader, ModalBody and ModalFooter as children\n const validChildren = React.Children.map(children, (child) => {\n if (\n isValidAllowedChildren(child, MetaConstants.ModalHeader) ||\n isValidAllowedChildren(child, MetaConstants.ModalBody) ||\n isValidAllowedChildren(child, MetaConstants.ModalFooter)\n ) {\n return child;\n } else if (__DEV__) {\n throwBladeError({\n message: 'Modal only accepts ModalHeader, ModalBody and ModalFooter as children',\n moduleName: 'Modal',\n });\n }\n return null;\n });\n\n return (\n <FloatingPortal>\n <ModalContext.Provider value={modalContext}>\n {isMounted ? (\n <FloatingFocusManager\n returnFocus\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n >\n <Box zIndex={zIndex} position=\"fixed\" testID=\"modal-wrapper\">\n <ModalBackdrop />\n <ModalContent\n {...metaAttribute({\n name: MetaConstants.Modal,\n })}\n {...makeAccessible({\n role: 'dialog',\n modal: true,\n label: accessibilityLabel,\n })}\n maxWidth={makeSize(modalMaxWidth[size])}\n minWidth={makeSize(modalMinWidth)}\n maxHeight={modalMaxHeight}\n width={`calc(100vw - ${makeSize(modalResponsiveScreenGap)})`}\n borderRadius={modalBorderRadius}\n backgroundColor=\"popup.background.subtle\"\n position=\"absolute\"\n display=\"flex\"\n flexDirection=\"column\"\n top=\"50%\"\n left=\"50%\"\n onKeyDown={handleKeyDown}\n isVisible={isVisible}\n ref={refs.setFloating}\n >\n {validChildren}\n </ModalContent>\n </Box>\n </FloatingFocusManager>\n ) : null}\n </ModalContext.Provider>\n </FloatingPortal>\n );\n};\n\nexport { Modal, ModalHeader, ModalFooter, ModalBody };\nexport type { ModalProps, ModalHeaderProps, ModalFooterProps, ModalBodyProps };\n"],"names":["entry","keyframes","exit","ModalContent","styled","BaseBox","withConfig","displayName","componentId","_ref","isVisible","theme","css","elevation","highRaised","castWebType","makeMotionTime","motion","duration","xmoderate","easing","entrance","revealing","Modal","_ref2","_ref2$isOpen","isOpen","children","onDismiss","initialFocusRef","_ref2$size","size","accessibilityLabel","_ref2$zIndex","zIndex","componentZIndices","modal","_useTheme","useTheme","platform","_usePresence","usePresence","transitionDuration","initialEnter","isMounted","useEffect","logger","message","moduleName","type","_useFloating","useFloating","open","refs","context","defaultInitialFocusRef","React","useRef","modalContext","useMemo","close","handleKeyDown","event","key","code","validChildren","Children","map","child","isValidAllowedChildren","MetaConstants","ModalHeader","ModalBody","ModalFooter","throwBladeError","_jsx","FloatingPortal","ModalContext","Provider","value","FloatingFocusManager","returnFocus","initialFocus","_jsxs","Box","position","testID","ModalBackdrop","_objectSpread","metaAttribute","name","makeAccessible","role","label","maxWidth","makeSize","modalMaxWidth","minWidth","modalMinWidth","maxHeight","modalMaxHeight","width","concat","modalResponsiveScreenGap","borderRadius","modalBorderRadius","backgroundColor","display","flexDirection","top","left","onKeyDown","ref","setFloating"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { useModalContext } from './ModalContext.js';
2
- import { modalHighestZIndex } from './modalTokens.js';
3
2
  import '../../utils/index.js';
4
3
  import { BaseHeader } from '../BaseHeaderFooter/BaseHeader.js';
5
4
  import '../Box/BaseBox/index.js';
@@ -8,6 +7,7 @@ import '../Button/IconButton/index.js';
8
7
  import '../Icons/index.js';
9
8
  import '../../utils/metaAttribute/index.js';
10
9
  import '../../utils/assignWithoutSideEffects/index.js';
10
+ import { componentZIndices } from '../../utils/componentZIndices.js';
11
11
  import { jsx } from 'react/jsx-runtime';
12
12
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
13
13
  import { makeSize } from '../../utils/makeSize/makeSize.js';
@@ -40,7 +40,7 @@ var _ModalHeader = function _ModalHeader(_ref) {
40
40
  flexShrink: 0,
41
41
  backgroundColor: "popup.background.subtle",
42
42
  borderRadius: "max",
43
- zIndex: modalHighestZIndex,
43
+ zIndex: componentZIndices.modal,
44
44
  children: /*#__PURE__*/jsx(IconButton, {
45
45
  ref: defaultInitialFocusRef,
46
46
  size: "large",
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.web.js","sources":["../../../../../../src/components/Modal/ModalHeader.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { useModalContext } from './ModalContext';\nimport { modalHighestZIndex } from './modalTokens';\nimport type { BaseHeaderProps } from '~components/BaseHeaderFooter/BaseHeader';\nimport { makeSize } from '~utils';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { size } from '~tokens/global';\nimport { IconButton } from '~components/Button/IconButton';\nimport { CloseIcon } from '~components/Icons';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\ntype ModalHeaderProps = Pick<\n BaseHeaderProps,\n 'title' | 'subtitle' | 'leading' | 'trailing' | 'titleSuffix'\n>;\n\nconst _ModalHeader = ({\n leading,\n subtitle,\n title,\n titleSuffix,\n trailing,\n}: ModalHeaderProps): React.ReactElement => {\n const { close, defaultInitialFocusRef } = useModalContext();\n\n const isHeaderEmpty = !(title || subtitle || leading || trailing);\n return isHeaderEmpty ? (\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"absolute\"\n top=\"spacing.5\"\n right=\"spacing.5\"\n width={makeSize(size[28])}\n height={makeSize(size[28])}\n flexShrink={0}\n backgroundColor=\"popup.background.subtle\"\n borderRadius=\"max\"\n zIndex={modalHighestZIndex}\n >\n <IconButton\n ref={defaultInitialFocusRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={close}\n />\n </BaseBox>\n ) : (\n <BaseHeader\n metaComponentName={MetaConstants.ModalHeader}\n title={title}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n titleSuffix={titleSuffix}\n closeButtonRef={defaultInitialFocusRef}\n showCloseButton={true}\n onCloseButtonClick={close}\n />\n );\n};\nconst ModalHeader = assignWithoutSideEffects(_ModalHeader, {\n componentId: MetaConstants.ModalHeader,\n});\n\nexport { ModalHeader };\nexport type { ModalHeaderProps };\n"],"names":["_ModalHeader","_ref","leading","subtitle","title","titleSuffix","trailing","_useModalContext","useModalContext","close","defaultInitialFocusRef","isHeaderEmpty","_jsx","BaseBox","display","alignItems","justifyContent","position","top","right","width","makeSize","size","height","flexShrink","backgroundColor","borderRadius","zIndex","modalHighestZIndex","children","IconButton","ref","icon","CloseIcon","accessibilityLabel","onClick","BaseHeader","metaComponentName","MetaConstants","ModalHeader","closeButtonRef","showCloseButton","onCloseButtonClick","assignWithoutSideEffects","componentId"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAM0B;AAAA,EAAA,IAL1CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;AAER,EAAA,IAAAC,gBAAA,GAA0CC,eAAe,EAAE;IAAnDC,KAAK,GAAAF,gBAAA,CAALE,KAAK;IAAEC,sBAAsB,GAAAH,gBAAA,CAAtBG,sBAAsB,CAAA;EAErC,IAAMC,aAAa,GAAG,EAAEP,KAAK,IAAID,QAAQ,IAAID,OAAO,IAAII,QAAQ,CAAC,CAAA;AACjE,EAAA,OAAOK,aAAa,gBAClBC,GAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,cAAc,EAAC,QAAQ;AACvBC,IAAAA,QAAQ,EAAC,UAAU;AACnBC,IAAAA,GAAG,EAAC,WAAW;AACfC,IAAAA,KAAK,EAAC,WAAW;AACjBC,IAAAA,KAAK,EAAEC,QAAQ,CAACC,IAAI,CAAC,EAAE,CAAC,CAAE;AAC1BC,IAAAA,MAAM,EAAEF,QAAQ,CAACC,IAAI,CAAC,EAAE,CAAC,CAAE;AAC3BE,IAAAA,UAAU,EAAE,CAAE;AACdC,IAAAA,eAAe,EAAC,yBAAyB;AACzCC,IAAAA,YAAY,EAAC,KAAK;AAClBC,IAAAA,MAAM,EAAEC,kBAAmB;IAAAC,QAAA,eAE3BjB,GAAA,CAACkB,UAAU,EAAA;AACTC,MAAAA,GAAG,EAAErB,sBAAuB;AAC5BY,MAAAA,IAAI,EAAC,OAAO;AACZU,MAAAA,IAAI,EAAEC,SAAU;AAChBC,MAAAA,kBAAkB,EAAC,OAAO;AAC1BC,MAAAA,OAAO,EAAE1B,KAAAA;KACV,CAAA;AAAC,GACK,CAAC,gBAEVG,GAAA,CAACwB,UAAU,EAAA;IACTC,iBAAiB,EAAEC,aAAa,CAACC,WAAY;AAC7CnC,IAAAA,KAAK,EAAEA,KAAM;AACbD,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,OAAO,EAAEA,OAAQ;AACjBI,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,WAAW,EAAEA,WAAY;AACzBmC,IAAAA,cAAc,EAAE9B,sBAAuB;AACvC+B,IAAAA,eAAe,EAAE,IAAK;AACtBC,IAAAA,kBAAkB,EAAEjC,KAAAA;AAAM,GAC3B,CACF,CAAA;AACH,CAAC,CAAA;AACD,IAAM8B,WAAW,gBAAGI,wBAAwB,CAAC3C,YAAY,EAAE;EACzD4C,WAAW,EAAEN,aAAa,CAACC,WAAAA;AAC7B,CAAC;;;;"}
1
+ {"version":3,"file":"ModalHeader.web.js","sources":["../../../../../../src/components/Modal/ModalHeader.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport { useModalContext } from './ModalContext';\nimport type { BaseHeaderProps } from '~components/BaseHeaderFooter/BaseHeader';\nimport { makeSize } from '~utils';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { size } from '~tokens/global';\nimport { IconButton } from '~components/Button/IconButton';\nimport { CloseIcon } from '~components/Icons';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { componentZIndices } from '~utils/componentZIndices';\n\ntype ModalHeaderProps = Pick<\n BaseHeaderProps,\n 'title' | 'subtitle' | 'leading' | 'trailing' | 'titleSuffix'\n>;\n\nconst _ModalHeader = ({\n leading,\n subtitle,\n title,\n titleSuffix,\n trailing,\n}: ModalHeaderProps): React.ReactElement => {\n const { close, defaultInitialFocusRef } = useModalContext();\n\n const isHeaderEmpty = !(title || subtitle || leading || trailing);\n return isHeaderEmpty ? (\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"absolute\"\n top=\"spacing.5\"\n right=\"spacing.5\"\n width={makeSize(size[28])}\n height={makeSize(size[28])}\n flexShrink={0}\n backgroundColor=\"popup.background.subtle\"\n borderRadius=\"max\"\n zIndex={componentZIndices.modal}\n >\n <IconButton\n ref={defaultInitialFocusRef}\n size=\"large\"\n icon={CloseIcon}\n accessibilityLabel=\"Close\"\n onClick={close}\n />\n </BaseBox>\n ) : (\n <BaseHeader\n metaComponentName={MetaConstants.ModalHeader}\n title={title}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n titleSuffix={titleSuffix}\n closeButtonRef={defaultInitialFocusRef}\n showCloseButton={true}\n onCloseButtonClick={close}\n />\n );\n};\nconst ModalHeader = assignWithoutSideEffects(_ModalHeader, {\n componentId: MetaConstants.ModalHeader,\n});\n\nexport { ModalHeader };\nexport type { ModalHeaderProps };\n"],"names":["_ModalHeader","_ref","leading","subtitle","title","titleSuffix","trailing","_useModalContext","useModalContext","close","defaultInitialFocusRef","isHeaderEmpty","_jsx","BaseBox","display","alignItems","justifyContent","position","top","right","width","makeSize","size","height","flexShrink","backgroundColor","borderRadius","zIndex","componentZIndices","modal","children","IconButton","ref","icon","CloseIcon","accessibilityLabel","onClick","BaseHeader","metaComponentName","MetaConstants","ModalHeader","closeButtonRef","showCloseButton","onCloseButtonClick","assignWithoutSideEffects","componentId"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAM0B;AAAA,EAAA,IAL1CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;AAER,EAAA,IAAAC,gBAAA,GAA0CC,eAAe,EAAE;IAAnDC,KAAK,GAAAF,gBAAA,CAALE,KAAK;IAAEC,sBAAsB,GAAAH,gBAAA,CAAtBG,sBAAsB,CAAA;EAErC,IAAMC,aAAa,GAAG,EAAEP,KAAK,IAAID,QAAQ,IAAID,OAAO,IAAII,QAAQ,CAAC,CAAA;AACjE,EAAA,OAAOK,aAAa,gBAClBC,GAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,cAAc,EAAC,QAAQ;AACvBC,IAAAA,QAAQ,EAAC,UAAU;AACnBC,IAAAA,GAAG,EAAC,WAAW;AACfC,IAAAA,KAAK,EAAC,WAAW;AACjBC,IAAAA,KAAK,EAAEC,QAAQ,CAACC,IAAI,CAAC,EAAE,CAAC,CAAE;AAC1BC,IAAAA,MAAM,EAAEF,QAAQ,CAACC,IAAI,CAAC,EAAE,CAAC,CAAE;AAC3BE,IAAAA,UAAU,EAAE,CAAE;AACdC,IAAAA,eAAe,EAAC,yBAAyB;AACzCC,IAAAA,YAAY,EAAC,KAAK;IAClBC,MAAM,EAAEC,iBAAiB,CAACC,KAAM;IAAAC,QAAA,eAEhClB,GAAA,CAACmB,UAAU,EAAA;AACTC,MAAAA,GAAG,EAAEtB,sBAAuB;AAC5BY,MAAAA,IAAI,EAAC,OAAO;AACZW,MAAAA,IAAI,EAAEC,SAAU;AAChBC,MAAAA,kBAAkB,EAAC,OAAO;AAC1BC,MAAAA,OAAO,EAAE3B,KAAAA;KACV,CAAA;AAAC,GACK,CAAC,gBAEVG,GAAA,CAACyB,UAAU,EAAA;IACTC,iBAAiB,EAAEC,aAAa,CAACC,WAAY;AAC7CpC,IAAAA,KAAK,EAAEA,KAAM;AACbD,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,OAAO,EAAEA,OAAQ;AACjBI,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,WAAW,EAAEA,WAAY;AACzBoC,IAAAA,cAAc,EAAE/B,sBAAuB;AACvCgC,IAAAA,eAAe,EAAE,IAAK;AACtBC,IAAAA,kBAAkB,EAAElC,KAAAA;AAAM,GAC3B,CACF,CAAA;AACH,CAAC,CAAA;AACD,IAAM+B,WAAW,gBAAGI,wBAAwB,CAAC5C,YAAY,EAAE;EACzD6C,WAAW,EAAEN,aAAa,CAACC,WAAAA;AAC7B,CAAC;;;;"}
@@ -11,7 +11,6 @@ var modalMaxHeight = '80vh';
11
11
  var modalResponsiveScreenGap = size[48];
12
12
  var modalBorderRadius = 'large';
13
13
  var scrollOverlayHeight = size[56];
14
- var modalHighestZIndex = 1000;
15
14
 
16
- export { modalBorderRadius, modalHighestZIndex, modalMaxHeight, modalMaxWidth, modalMinWidth, modalResponsiveScreenGap, scrollOverlayHeight };
15
+ export { modalBorderRadius, modalMaxHeight, modalMaxWidth, modalMinWidth, modalResponsiveScreenGap, scrollOverlayHeight };
17
16
  //# sourceMappingURL=modalTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modalTokens.js","sources":["../../../../../../src/components/Modal/modalTokens.ts"],"sourcesContent":["import type { ModalProps } from './Modal';\nimport { size } from '~tokens/global';\nimport type { Border, Size } from '~tokens/global';\n\nconst modalMaxWidth: Record<NonNullable<ModalProps['size']>, Size[keyof Size]> = {\n small: size[400],\n medium: size[760],\n large: size[1024],\n};\n\nconst modalMinWidth = 320;\n\nconst modalMaxHeight = '80vh';\n\nconst modalResponsiveScreenGap: Size[keyof Size] = size[48];\n\nconst modalBorderRadius: keyof Border['radius'] = 'large';\n\nconst scrollOverlayHeight: Size[keyof Size] = size[56];\n\nconst modalHighestZIndex = 1000;\n\nexport {\n modalMaxWidth,\n modalMinWidth,\n modalResponsiveScreenGap,\n modalBorderRadius,\n modalMaxHeight,\n scrollOverlayHeight,\n modalHighestZIndex,\n};\n"],"names":["modalMaxWidth","small","size","medium","large","modalMinWidth","modalMaxHeight","modalResponsiveScreenGap","modalBorderRadius","scrollOverlayHeight","modalHighestZIndex"],"mappings":";;;AAIA,IAAMA,aAAwE,GAAG;AAC/EC,EAAAA,KAAK,EAAEC,IAAI,CAAC,GAAG,CAAC;AAChBC,EAAAA,MAAM,EAAED,IAAI,CAAC,GAAG,CAAC;EACjBE,KAAK,EAAEF,IAAI,CAAC,IAAI,CAAA;AAClB,EAAC;AAEKG,IAAAA,aAAa,GAAG,IAAG;AAEnBC,IAAAA,cAAc,GAAG,OAAM;AAE7B,IAAMC,wBAA0C,GAAGL,IAAI,CAAC,EAAE,EAAC;AAErDM,IAAAA,iBAAyC,GAAG,QAAO;AAEzD,IAAMC,mBAAqC,GAAGP,IAAI,CAAC,EAAE,EAAC;AAEhDQ,IAAAA,kBAAkB,GAAG;;;;"}
1
+ {"version":3,"file":"modalTokens.js","sources":["../../../../../../src/components/Modal/modalTokens.ts"],"sourcesContent":["import type { ModalProps } from './Modal';\nimport { size } from '~tokens/global';\nimport type { Border, Size } from '~tokens/global';\n\nconst modalMaxWidth: Record<NonNullable<ModalProps['size']>, Size[keyof Size]> = {\n small: size[400],\n medium: size[760],\n large: size[1024],\n};\n\nconst modalMinWidth = 320;\n\nconst modalMaxHeight = '80vh';\n\nconst modalResponsiveScreenGap: Size[keyof Size] = size[48];\n\nconst modalBorderRadius: keyof Border['radius'] = 'large';\n\nconst scrollOverlayHeight: Size[keyof Size] = size[56];\n\nexport {\n modalMaxWidth,\n modalMinWidth,\n modalResponsiveScreenGap,\n modalBorderRadius,\n modalMaxHeight,\n scrollOverlayHeight,\n};\n"],"names":["modalMaxWidth","small","size","medium","large","modalMinWidth","modalMaxHeight","modalResponsiveScreenGap","modalBorderRadius","scrollOverlayHeight"],"mappings":";;;AAIA,IAAMA,aAAwE,GAAG;AAC/EC,EAAAA,KAAK,EAAEC,IAAI,CAAC,GAAG,CAAC;AAChBC,EAAAA,MAAM,EAAED,IAAI,CAAC,GAAG,CAAC;EACjBE,KAAK,EAAEF,IAAI,CAAC,IAAI,CAAA;AAClB,EAAC;AAEKG,IAAAA,aAAa,GAAG,IAAG;AAEnBC,IAAAA,cAAc,GAAG,OAAM;AAE7B,IAAMC,wBAA0C,GAAGL,IAAI,CAAC,EAAE,EAAC;AAErDM,IAAAA,iBAAyC,GAAG,QAAO;AAEzD,IAAMC,mBAAqC,GAAGP,IAAI,CAAC,EAAE;;;;"}
@@ -3,7 +3,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import { useFloating, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useClick, useDismiss, useRole, useInteractions, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
4
4
  import React__default from 'react';
5
5
  import { PopoverContent } from './PopoverContent.js';
6
- import { popoverZIndex, ARROW_HEIGHT, ARROW_WIDTH } from './constants.js';
6
+ import { ARROW_HEIGHT, ARROW_WIDTH } from './constants.js';
7
7
  import { PopoverContext } from './PopoverContext.js';
8
8
  import '../BladeProvider/index.js';
9
9
  import '../Box/BaseBox/index.js';
@@ -16,6 +16,7 @@ import { useMergeRefs } from '../../utils/useMergeRefs.js';
16
16
  import '../../utils/makeAccessible/index.js';
17
17
  import { useId } from '../../utils/useId.js';
18
18
  import { getFloatingPlacementParts } from '../../utils/getFloatingPlacementParts.js';
19
+ import { componentZIndices } from '../../utils/componentZIndices.js';
19
20
  import { jsxs, jsx } from 'react/jsx-runtime';
20
21
  import useTheme from '../BladeProvider/useTheme.js';
21
22
  import { size } from '../../tokens/global/size.js';
@@ -37,7 +38,7 @@ var Popover = function Popover(_ref) {
37
38
  placement = _ref$placement === void 0 ? 'top' : _ref$placement,
38
39
  onOpenChange = _ref.onOpenChange,
39
40
  _ref$zIndex = _ref.zIndex,
40
- zIndex = _ref$zIndex === void 0 ? popoverZIndex : _ref$zIndex,
41
+ zIndex = _ref$zIndex === void 0 ? componentZIndices.popover : _ref$zIndex,
41
42
  isOpen = _ref.isOpen,
42
43
  defaultIsOpen = _ref.defaultIsOpen,
43
44
  initialFocusRef = _ref.initialFocusRef;
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.web.js","sources":["../../../../../../src/components/Popover/Popover.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport {\n shift,\n FloatingPortal,\n arrow,\n flip,\n offset,\n useFloating,\n useInteractions,\n useRole,\n useTransitionStyles,\n autoUpdate,\n useClick,\n useDismiss,\n FloatingFocusManager,\n} from '@floating-ui/react';\nimport React from 'react';\nimport type { PopoverProps } from './types';\nimport { PopoverContent } from './PopoverContent';\nimport { ARROW_HEIGHT, ARROW_WIDTH, popoverZIndex } from './constants';\nimport { PopoverContext } from './PopoverContext';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeProps } from '~utils/mergeProps';\nimport { PopupArrow } from '~components/PopupArrow';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useId } from '~utils/useId';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\n\nconst Popover = ({\n content,\n title,\n titleLeading,\n footer,\n children,\n placement = 'top',\n onOpenChange,\n zIndex = popoverZIndex,\n isOpen,\n defaultIsOpen,\n initialFocusRef,\n}: PopoverProps): React.ReactElement => {\n const { theme } = useTheme();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const arrowRef = React.useRef<SVGSVGElement>(null);\n const titleId = useId('popover-title');\n\n const GAP = theme.spacing[2];\n const [side] = getFloatingPlacementParts(placement);\n const isHorizontal = side === 'left' || side === 'right';\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const { refs, floatingStyles, context, placement: computedPlacement } = useFloating({\n open: controllableIsOpen,\n onOpenChange: (isOpen) => controllableSetIsOpen(() => isOpen),\n placement,\n strategy: 'fixed',\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP, fallbackAxisSideDirection: 'end' }),\n offset(GAP + ARROW_HEIGHT),\n arrow({\n element: arrowRef,\n padding: isHorizontal ? GAP + ARROW_HEIGHT : ARROW_WIDTH,\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n // we need to animate from the offset of the computed placement\n // because placement can change dynamically based on available space\n const [computedSide] = getFloatingPlacementParts(computedPlacement);\n const computedIsHorizontal = computedSide === 'left' || computedSide === 'right';\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${computedIsHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n // remove click handler if popover is controlled\n const isControlled = isOpen !== undefined;\n const click = useClick(context, { enabled: !isControlled });\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const mergedRef = useMergeRefs(refs.setReference, triggerRef);\n\n const contextValue = React.useMemo(() => {\n return {\n close,\n defaultInitialFocusRef,\n titleId,\n };\n }, [close, titleId]);\n\n // Inject aria attributes to trigger\n // Doing it this way instead of makeAccessible()\n // because with makeAccessible we will need to make sure aria-controls, aria-expanded etc\n // are exposed from the trigger component prop, which we cannot ensure\n React.useLayoutEffect(() => {\n if (!triggerRef.current) return;\n\n const props = getReferenceProps() as Record<string, string>;\n for (const key of Object.keys(props)) {\n if (key.startsWith('aria-')) {\n triggerRef.current.setAttribute(key, props[key]);\n }\n }\n }, [getReferenceProps, triggerRef]);\n\n return (\n <PopoverContext.Provider value={contextValue}>\n {/* Cloning the trigger children to enhance it with ref and event handler */}\n {React.cloneElement(children, {\n ref: mergedRef,\n ...mergeProps(children.props, getReferenceProps()),\n })}\n {isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n // TODO: Tokenize zIndex values\n zIndex={zIndex}\n {...getFloatingProps()}\n {...metaAttribute({ name: MetaConstants.Popover })}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <PopoverContent\n title={title}\n titleLeading={titleLeading}\n footer={footer}\n style={styles}\n arrow={\n <PopupArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fillColor={theme.colors.popup.background.subtle}\n strokeColor={theme.colors.popup.border.subtle}\n />\n }\n >\n {content}\n </PopoverContent>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </PopoverContext.Provider>\n );\n};\n\nexport { Popover };\n"],"names":["Popover","_ref","content","title","titleLeading","footer","children","_ref$placement","placement","onOpenChange","_ref$zIndex","zIndex","popoverZIndex","isOpen","defaultIsOpen","initialFocusRef","_useTheme","useTheme","theme","defaultInitialFocusRef","React","useRef","arrowRef","titleId","useId","GAP","spacing","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","_slicedToArray","side","isHorizontal","isOppositeAxis","_useControllableState","useControllableState","value","defaultValue","onChange","_useControllableState2","controllableIsOpen","controllableSetIsOpen","_useFloating","useFloating","open","strategy","middleware","shift","crossAxis","padding","flip","fallbackAxisSideDirection","offset","ARROW_HEIGHT","arrow","element","ARROW_WIDTH","whileElementsMounted","autoUpdate","refs","floatingStyles","context","computedPlacement","close","useCallback","_getFloatingPlacement3","_getFloatingPlacement4","computedSide","computedIsHorizontal","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","styles","isControlled","undefined","click","useClick","enabled","dismiss","useDismiss","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","triggerRef","mergedRef","useMergeRefs","setReference","contextValue","useMemo","useLayoutEffect","current","props","_i","_Object$keys","Object","keys","length","key","startsWith","setAttribute","_jsxs","PopoverContext","Provider","cloneElement","_objectSpread","ref","mergeProps","_jsx","FloatingPortal","FloatingFocusManager","initialFocus","modal","guards","BaseBox","setFloating","style","metaAttribute","name","MetaConstants","makeAccessible","labelledBy","PopoverContent","PopupArrow","width","height","fillColor","colors","popup","background","subtle","strokeColor","border"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.web.js","sources":["../../../../../../src/components/Popover/Popover.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport {\n shift,\n FloatingPortal,\n arrow,\n flip,\n offset,\n useFloating,\n useInteractions,\n useRole,\n useTransitionStyles,\n autoUpdate,\n useClick,\n useDismiss,\n FloatingFocusManager,\n} from '@floating-ui/react';\nimport React from 'react';\nimport type { PopoverProps } from './types';\nimport { PopoverContent } from './PopoverContent';\nimport { ARROW_HEIGHT, ARROW_WIDTH } from './constants';\nimport { PopoverContext } from './PopoverContext';\nimport { useTheme } from '~components/BladeProvider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeProps } from '~utils/mergeProps';\nimport { PopupArrow } from '~components/PopupArrow';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useId } from '~utils/useId';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nconst Popover = ({\n content,\n title,\n titleLeading,\n footer,\n children,\n placement = 'top',\n onOpenChange,\n zIndex = componentZIndices.popover,\n isOpen,\n defaultIsOpen,\n initialFocusRef,\n}: PopoverProps): React.ReactElement => {\n const { theme } = useTheme();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const arrowRef = React.useRef<SVGSVGElement>(null);\n const titleId = useId('popover-title');\n\n const GAP = theme.spacing[2];\n const [side] = getFloatingPlacementParts(placement);\n const isHorizontal = side === 'left' || side === 'right';\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const { refs, floatingStyles, context, placement: computedPlacement } = useFloating({\n open: controllableIsOpen,\n onOpenChange: (isOpen) => controllableSetIsOpen(() => isOpen),\n placement,\n strategy: 'fixed',\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP, fallbackAxisSideDirection: 'end' }),\n offset(GAP + ARROW_HEIGHT),\n arrow({\n element: arrowRef,\n padding: isHorizontal ? GAP + ARROW_HEIGHT : ARROW_WIDTH,\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n // we need to animate from the offset of the computed placement\n // because placement can change dynamically based on available space\n const [computedSide] = getFloatingPlacementParts(computedPlacement);\n const computedIsHorizontal = computedSide === 'left' || computedSide === 'right';\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${computedIsHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n // remove click handler if popover is controlled\n const isControlled = isOpen !== undefined;\n const click = useClick(context, { enabled: !isControlled });\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const mergedRef = useMergeRefs(refs.setReference, triggerRef);\n\n const contextValue = React.useMemo(() => {\n return {\n close,\n defaultInitialFocusRef,\n titleId,\n };\n }, [close, titleId]);\n\n // Inject aria attributes to trigger\n // Doing it this way instead of makeAccessible()\n // because with makeAccessible we will need to make sure aria-controls, aria-expanded etc\n // are exposed from the trigger component prop, which we cannot ensure\n React.useLayoutEffect(() => {\n if (!triggerRef.current) return;\n\n const props = getReferenceProps() as Record<string, string>;\n for (const key of Object.keys(props)) {\n if (key.startsWith('aria-')) {\n triggerRef.current.setAttribute(key, props[key]);\n }\n }\n }, [getReferenceProps, triggerRef]);\n\n return (\n <PopoverContext.Provider value={contextValue}>\n {/* Cloning the trigger children to enhance it with ref and event handler */}\n {React.cloneElement(children, {\n ref: mergedRef,\n ...mergeProps(children.props, getReferenceProps()),\n })}\n {isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={initialFocusRef ?? defaultInitialFocusRef}\n context={context}\n modal={true}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n // TODO: Tokenize zIndex values\n zIndex={zIndex}\n {...getFloatingProps()}\n {...metaAttribute({ name: MetaConstants.Popover })}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <PopoverContent\n title={title}\n titleLeading={titleLeading}\n footer={footer}\n style={styles}\n arrow={\n <PopupArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fillColor={theme.colors.popup.background.subtle}\n strokeColor={theme.colors.popup.border.subtle}\n />\n }\n >\n {content}\n </PopoverContent>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </PopoverContext.Provider>\n );\n};\n\nexport { Popover };\n"],"names":["Popover","_ref","content","title","titleLeading","footer","children","_ref$placement","placement","onOpenChange","_ref$zIndex","zIndex","componentZIndices","popover","isOpen","defaultIsOpen","initialFocusRef","_useTheme","useTheme","theme","defaultInitialFocusRef","React","useRef","arrowRef","titleId","useId","GAP","spacing","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","_slicedToArray","side","isHorizontal","isOppositeAxis","_useControllableState","useControllableState","value","defaultValue","onChange","_useControllableState2","controllableIsOpen","controllableSetIsOpen","_useFloating","useFloating","open","strategy","middleware","shift","crossAxis","padding","flip","fallbackAxisSideDirection","offset","ARROW_HEIGHT","arrow","element","ARROW_WIDTH","whileElementsMounted","autoUpdate","refs","floatingStyles","context","computedPlacement","close","useCallback","_getFloatingPlacement3","_getFloatingPlacement4","computedSide","computedIsHorizontal","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","styles","isControlled","undefined","click","useClick","enabled","dismiss","useDismiss","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps","triggerRef","mergedRef","useMergeRefs","setReference","contextValue","useMemo","useLayoutEffect","current","props","_i","_Object$keys","Object","keys","length","key","startsWith","setAttribute","_jsxs","PopoverContext","Provider","cloneElement","_objectSpread","ref","mergeProps","_jsx","FloatingPortal","FloatingFocusManager","initialFocus","modal","guards","BaseBox","setFloating","style","metaAttribute","name","MetaConstants","makeAccessible","labelledBy","PopoverContent","PopupArrow","width","height","fillColor","colors","popup","background","subtle","strokeColor","border"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  var ARROW_WIDTH = 14;
2
2
  var ARROW_HEIGHT = 7;
3
- var popoverZIndex = 1100;
4
3
 
5
- export { ARROW_HEIGHT, ARROW_WIDTH, popoverZIndex };
4
+ export { ARROW_HEIGHT, ARROW_WIDTH };
6
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../../src/components/Popover/constants.ts"],"sourcesContent":["export const ARROW_WIDTH = 14;\nexport const ARROW_HEIGHT = 7;\nexport const popoverZIndex = 1100;\n"],"names":["ARROW_WIDTH","ARROW_HEIGHT","popoverZIndex"],"mappings":"AAAO,IAAMA,WAAW,GAAG,GAAE;AACtB,IAAMC,YAAY,GAAG,EAAC;AACtB,IAAMC,aAAa,GAAG;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../../src/components/Popover/constants.ts"],"sourcesContent":["export const ARROW_WIDTH = 14;\nexport const ARROW_HEIGHT = 7;\n"],"names":["ARROW_WIDTH","ARROW_HEIGHT"],"mappings":"AAAO,IAAMA,WAAW,GAAG,GAAE;AACtB,IAAMC,YAAY,GAAG;;;;"}
@@ -3,13 +3,13 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
3
3
  import React__default from 'react';
4
4
  import styled, { keyframes, css } from 'styled-components';
5
5
  import usePresence from 'use-presence';
6
- import { tourMaskZIndex } from './tourTokens.js';
7
6
  import '../BladeProvider/index.js';
8
7
  import { useWindowSize } from '../../utils/useWindowSize.js';
9
8
  import '../../utils/index.js';
10
9
  import '../../utils/makeMotionTime/index.web.js';
11
10
  import '../../utils/metaAttribute/index.js';
12
11
  import '../../utils/assignWithoutSideEffects/index.js';
12
+ import { componentZIndices } from '../../utils/componentZIndices.js';
13
13
  import { jsx, jsxs } from 'react/jsx-runtime';
14
14
  import useTheme from '../BladeProvider/useTheme.js';
15
15
  import { makeMotionTime } from '../../utils/makeMotionTime/makeMotionTime.web.js';
@@ -78,7 +78,7 @@ var absoluteFill = {
78
78
  left: 0,
79
79
  bottom: 0,
80
80
  right: 0,
81
- zIndex: tourMaskZIndex
81
+ zIndex: componentZIndices.tourMask
82
82
  };
83
83
  var _SpotlightPopoverTourMask = function _SpotlightPopoverTourMask(_ref4) {
84
84
  var padding = _ref4.padding,