@okta/odyssey-react-mui 1.27.0 → 1.28.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/{Button.js → Buttons/BaseButton.js} +11 -10
  3. package/dist/Buttons/BaseButton.js.map +1 -0
  4. package/dist/{MenuButton.js → Buttons/BaseMenuButton.js} +30 -10
  5. package/dist/Buttons/BaseMenuButton.js.map +1 -0
  6. package/dist/Buttons/Button.js +24 -0
  7. package/dist/Buttons/Button.js.map +1 -0
  8. package/dist/Buttons/ButtonContext.js.map +1 -0
  9. package/dist/Buttons/MenuButton.js +25 -0
  10. package/dist/Buttons/MenuButton.js.map +1 -0
  11. package/dist/Buttons/MenuContext.js.map +1 -0
  12. package/dist/Buttons/MenuItem.js.map +1 -0
  13. package/dist/Buttons/index.js +18 -0
  14. package/dist/Buttons/index.js.map +1 -0
  15. package/dist/Card.js +1 -2
  16. package/dist/Card.js.map +1 -1
  17. package/dist/DataTable/DataTable.js +1 -2
  18. package/dist/DataTable/DataTable.js.map +1 -1
  19. package/dist/DataTable/DataTableRowActions.js +1 -2
  20. package/dist/DataTable/DataTableRowActions.js.map +1 -1
  21. package/dist/DataTable/DataTableSettings.js +1 -2
  22. package/dist/DataTable/DataTableSettings.js.map +1 -1
  23. package/dist/Dialog.js +1 -1
  24. package/dist/Dialog.js.map +1 -1
  25. package/dist/Drawer.js +1 -1
  26. package/dist/Drawer.js.map +1 -1
  27. package/dist/FileUploader/FileUploader.js +1 -1
  28. package/dist/FileUploader/FileUploader.js.map +1 -1
  29. package/dist/Form.js.map +1 -1
  30. package/dist/Pagination/Pagination.js +1 -1
  31. package/dist/Pagination/Pagination.js.map +1 -1
  32. package/dist/Toast.js +1 -1
  33. package/dist/Toast.js.map +1 -1
  34. package/dist/index.js +1 -3
  35. package/dist/index.js.map +1 -1
  36. package/dist/index.scss +1 -1
  37. package/dist/labs/AppSwitcher/AppSwitcher.js +76 -0
  38. package/dist/labs/AppSwitcher/AppSwitcher.js.map +1 -0
  39. package/dist/labs/AppSwitcher/AppSwitcherApp.js +112 -0
  40. package/dist/labs/AppSwitcher/AppSwitcherApp.js.map +1 -0
  41. package/dist/labs/{SideNav → AppSwitcher}/OktaAura.js +16 -3
  42. package/dist/labs/AppSwitcher/OktaAura.js.map +1 -0
  43. package/dist/labs/AppSwitcher/index.js +13 -0
  44. package/dist/labs/AppSwitcher/index.js.map +1 -0
  45. package/dist/labs/AppTile.js +102 -65
  46. package/dist/labs/AppTile.js.map +1 -1
  47. package/dist/labs/DataFilters.js +1 -1
  48. package/dist/labs/DataFilters.js.map +1 -1
  49. package/dist/labs/DataTable.js.map +1 -1
  50. package/dist/labs/DataTablePagination.js +1 -1
  51. package/dist/labs/DataTablePagination.js.map +1 -1
  52. package/dist/labs/DataView/BulkActionsMenu.js +1 -2
  53. package/dist/labs/DataView/BulkActionsMenu.js.map +1 -1
  54. package/dist/labs/DataView/DataCard.js +53 -42
  55. package/dist/labs/DataView/DataCard.js.map +1 -1
  56. package/dist/labs/DataView/DataView.js +1 -1
  57. package/dist/labs/DataView/DataView.js.map +1 -1
  58. package/dist/labs/DataView/LayoutSwitcher.js +1 -2
  59. package/dist/labs/DataView/LayoutSwitcher.js.map +1 -1
  60. package/dist/labs/DataView/RowActions.js +1 -1
  61. package/dist/labs/DataView/RowActions.js.map +1 -1
  62. package/dist/labs/DataView/TableLayoutContent.js +1 -2
  63. package/dist/labs/DataView/TableLayoutContent.js.map +1 -1
  64. package/dist/labs/DataView/TableSettings.js +1 -2
  65. package/dist/labs/DataView/TableSettings.js.map +1 -1
  66. package/dist/labs/DatePicker.js +1 -1
  67. package/dist/labs/DatePicker.js.map +1 -1
  68. package/dist/labs/SideNav/SideNav.js +5 -4
  69. package/dist/labs/SideNav/SideNav.js.map +1 -1
  70. package/dist/labs/TopNav/UserProfile.js +16 -3
  71. package/dist/labs/TopNav/UserProfile.js.map +1 -1
  72. package/dist/labs/TopNav/UserProfileMenuButton.js +41 -0
  73. package/dist/labs/TopNav/UserProfileMenuButton.js.map +1 -0
  74. package/dist/labs/TopNav/index.js +1 -0
  75. package/dist/labs/TopNav/index.js.map +1 -1
  76. package/dist/labs/UiShell/UiShell.js +6 -5
  77. package/dist/labs/UiShell/UiShell.js.map +1 -1
  78. package/dist/labs/UiShell/UiShellContent.js +53 -13
  79. package/dist/labs/UiShell/UiShellContent.js.map +1 -1
  80. package/dist/labs/UiShell/renderUiShell.js +4 -0
  81. package/dist/labs/UiShell/renderUiShell.js.map +1 -1
  82. package/dist/labs/index.js +1 -0
  83. package/dist/labs/index.js.map +1 -1
  84. package/dist/src/{Button.d.ts → Buttons/BaseButton.d.ts} +12 -34
  85. package/dist/src/Buttons/BaseButton.d.ts.map +1 -0
  86. package/dist/src/{MenuButton.d.ts → Buttons/BaseMenuButton.d.ts} +37 -14
  87. package/dist/src/Buttons/BaseMenuButton.d.ts.map +1 -0
  88. package/dist/src/Buttons/Button.d.ts +16 -0
  89. package/dist/src/Buttons/Button.d.ts.map +1 -0
  90. package/dist/src/Buttons/ButtonContext.d.ts.map +1 -0
  91. package/dist/src/Buttons/MenuButton.d.ts +17 -0
  92. package/dist/src/Buttons/MenuButton.d.ts.map +1 -0
  93. package/dist/src/Buttons/MenuContext.d.ts.map +1 -0
  94. package/dist/src/{MenuItem.d.ts → Buttons/MenuItem.d.ts} +1 -1
  95. package/dist/src/Buttons/MenuItem.d.ts.map +1 -0
  96. package/dist/src/Buttons/index.d.ts +18 -0
  97. package/dist/src/Buttons/index.d.ts.map +1 -0
  98. package/dist/src/Card.d.ts +1 -2
  99. package/dist/src/Card.d.ts.map +1 -1
  100. package/dist/src/DataTable/DataTable.d.ts +1 -1
  101. package/dist/src/DataTable/DataTable.d.ts.map +1 -1
  102. package/dist/src/DataTable/DataTableRowActions.d.ts +1 -2
  103. package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
  104. package/dist/src/DataTable/DataTableSettings.d.ts.map +1 -1
  105. package/dist/src/Dialog.d.ts +1 -1
  106. package/dist/src/Dialog.d.ts.map +1 -1
  107. package/dist/src/Drawer.d.ts +1 -1
  108. package/dist/src/Drawer.d.ts.map +1 -1
  109. package/dist/src/Form.d.ts +1 -1
  110. package/dist/src/Form.d.ts.map +1 -1
  111. package/dist/src/index.d.ts +1 -3
  112. package/dist/src/index.d.ts.map +1 -1
  113. package/dist/src/labs/AppSwitcher/AppSwitcher.d.ts +20 -0
  114. package/dist/src/labs/AppSwitcher/AppSwitcher.d.ts.map +1 -0
  115. package/dist/src/labs/AppSwitcher/AppSwitcherApp.d.ts +24 -0
  116. package/dist/src/labs/AppSwitcher/AppSwitcherApp.d.ts.map +1 -0
  117. package/dist/src/labs/AppSwitcher/OktaAura.d.ts.map +1 -0
  118. package/dist/src/labs/AppSwitcher/index.d.ts +13 -0
  119. package/dist/src/labs/AppSwitcher/index.d.ts.map +1 -0
  120. package/dist/src/labs/AppTile.d.ts +6 -4
  121. package/dist/src/labs/AppTile.d.ts.map +1 -1
  122. package/dist/src/labs/DataTable.d.ts +1 -1
  123. package/dist/src/labs/DataTable.d.ts.map +1 -1
  124. package/dist/src/labs/DataView/BulkActionsMenu.d.ts.map +1 -1
  125. package/dist/src/labs/DataView/DataCard.d.ts +1 -2
  126. package/dist/src/labs/DataView/DataCard.d.ts.map +1 -1
  127. package/dist/src/labs/DataView/LayoutSwitcher.d.ts.map +1 -1
  128. package/dist/src/labs/DataView/RowActions.d.ts +1 -2
  129. package/dist/src/labs/DataView/RowActions.d.ts.map +1 -1
  130. package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  131. package/dist/src/labs/DataView/TableSettings.d.ts.map +1 -1
  132. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
  133. package/dist/src/labs/TopNav/UserProfile.d.ts +5 -1
  134. package/dist/src/labs/TopNav/UserProfile.d.ts.map +1 -1
  135. package/dist/src/labs/TopNav/UserProfileMenuButton.d.ts +17 -0
  136. package/dist/src/labs/TopNav/UserProfileMenuButton.d.ts.map +1 -0
  137. package/dist/src/labs/TopNav/index.d.ts +1 -0
  138. package/dist/src/labs/TopNav/index.d.ts.map +1 -1
  139. package/dist/src/labs/UiShell/UiShell.d.ts +2 -2
  140. package/dist/src/labs/UiShell/UiShell.d.ts.map +1 -1
  141. package/dist/src/labs/UiShell/UiShellContent.d.ts +19 -2
  142. package/dist/src/labs/UiShell/UiShellContent.d.ts.map +1 -1
  143. package/dist/src/labs/UiShell/renderUiShell.d.ts +2 -2
  144. package/dist/src/labs/UiShell/renderUiShell.d.ts.map +1 -1
  145. package/dist/src/labs/index.d.ts +1 -0
  146. package/dist/src/labs/index.d.ts.map +1 -1
  147. package/dist/src/theme/components.d.ts.map +1 -1
  148. package/dist/src/web-component/renderReactInWebComponent.d.ts +2 -2
  149. package/dist/src/web-component/renderReactInWebComponent.d.ts.map +1 -1
  150. package/dist/theme/components.js +25 -27
  151. package/dist/theme/components.js.map +1 -1
  152. package/dist/tsconfig.production.tsbuildinfo +1 -1
  153. package/dist/web-component/renderReactInWebComponent.js +6 -7
  154. package/dist/web-component/renderReactInWebComponent.js.map +1 -1
  155. package/package.json +3 -3
  156. package/src/{Button.tsx → Buttons/BaseButton.tsx} +48 -68
  157. package/src/{MenuButton.tsx → Buttons/BaseMenuButton.tsx} +94 -32
  158. package/src/Buttons/Button.tsx +30 -0
  159. package/src/Buttons/MenuButton.tsx +35 -0
  160. package/src/{MenuItem.tsx → Buttons/MenuItem.tsx} +1 -1
  161. package/src/Buttons/index.ts +22 -0
  162. package/src/Card.tsx +1 -3
  163. package/src/DataTable/DataTable.tsx +1 -2
  164. package/src/DataTable/DataTableRowActions.tsx +1 -3
  165. package/src/DataTable/DataTableSettings.tsx +1 -2
  166. package/src/Dialog.tsx +1 -1
  167. package/src/Drawer.tsx +1 -1
  168. package/src/FileUploader/FileUploader.tsx +1 -1
  169. package/src/Form.tsx +1 -1
  170. package/src/Pagination/Pagination.test.tsx +58 -36
  171. package/src/Pagination/Pagination.tsx +1 -1
  172. package/src/Toast.tsx +1 -1
  173. package/src/index.ts +1 -3
  174. package/src/labs/AppSwitcher/AppSwitcher.tsx +94 -0
  175. package/src/labs/AppSwitcher/AppSwitcherApp.tsx +146 -0
  176. package/src/labs/{SideNav → AppSwitcher}/OktaAura.tsx +19 -4
  177. package/src/labs/AppSwitcher/index.ts +13 -0
  178. package/src/labs/AppTile.tsx +171 -85
  179. package/src/labs/DataFilters.tsx +1 -1
  180. package/src/labs/DataTable.tsx +1 -1
  181. package/src/labs/DataTablePagination.tsx +1 -1
  182. package/src/labs/DataView/BulkActionsMenu.tsx +1 -2
  183. package/src/labs/DataView/DataCard.tsx +56 -31
  184. package/src/labs/DataView/DataView.tsx +1 -1
  185. package/src/labs/DataView/LayoutSwitcher.tsx +1 -2
  186. package/src/labs/DataView/RowActions.tsx +1 -3
  187. package/src/labs/DataView/TableLayoutContent.tsx +1 -2
  188. package/src/labs/DataView/TableSettings.tsx +1 -2
  189. package/src/labs/DatePicker.tsx +1 -1
  190. package/src/labs/SideNav/SideNav.tsx +10 -4
  191. package/src/labs/TopNav/UserProfile.tsx +26 -2
  192. package/src/labs/TopNav/UserProfileMenuButton.tsx +57 -0
  193. package/src/labs/TopNav/index.ts +1 -0
  194. package/src/labs/UiShell/UiShell.test.tsx +23 -38
  195. package/src/labs/UiShell/UiShell.tsx +14 -6
  196. package/src/labs/UiShell/UiShellContent.tsx +85 -16
  197. package/src/labs/UiShell/renderUiShell.test.tsx +21 -15
  198. package/src/labs/UiShell/renderUiShell.tsx +8 -1
  199. package/src/labs/index.ts +1 -0
  200. package/src/theme/components.tsx +25 -28
  201. package/src/web-component/renderReactInWebComponent.ts +10 -5
  202. package/dist/Button.js.map +0 -1
  203. package/dist/ButtonContext.js.map +0 -1
  204. package/dist/MenuButton.js.map +0 -1
  205. package/dist/MenuContext.js.map +0 -1
  206. package/dist/MenuItem.js.map +0 -1
  207. package/dist/labs/SideNav/OktaAura.js.map +0 -1
  208. package/dist/src/Button.d.ts.map +0 -1
  209. package/dist/src/ButtonContext.d.ts.map +0 -1
  210. package/dist/src/MenuButton.d.ts.map +0 -1
  211. package/dist/src/MenuContext.d.ts.map +0 -1
  212. package/dist/src/MenuItem.d.ts.map +0 -1
  213. package/dist/src/labs/SideNav/OktaAura.d.ts.map +0 -1
  214. /package/dist/{ButtonContext.js → Buttons/ButtonContext.js} +0 -0
  215. /package/dist/{MenuContext.js → Buttons/MenuContext.js} +0 -0
  216. /package/dist/{MenuItem.js → Buttons/MenuItem.js} +0 -0
  217. /package/dist/src/{ButtonContext.d.ts → Buttons/ButtonContext.d.ts} +0 -0
  218. /package/dist/src/{MenuContext.d.ts → Buttons/MenuContext.d.ts} +0 -0
  219. /package/dist/src/labs/{SideNav → AppSwitcher}/OktaAura.d.ts +0 -0
  220. /package/src/{ButtonContext.tsx → Buttons/ButtonContext.tsx} +0 -0
  221. /package/src/{MenuContext.ts → Buttons/MenuContext.ts} +0 -0
@@ -19,10 +19,9 @@ import { memo, useMemo, useState } from "react";
19
19
  import styled from "@emotion/styled";
20
20
  import { useTranslation } from "react-i18next";
21
21
  import { Box } from "../../Box.js";
22
- import { ButtonContext } from "../../ButtonContext.js";
22
+ import { ButtonContext, MenuButton } from "../../Buttons/index.js";
23
23
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
24
24
  import { Heading5, Paragraph, Support } from "../../Typography.js";
25
- import { MenuButton } from "../../MenuButton.js";
26
25
  import { ChevronDownIcon, ChevronUpIcon, MoreIcon } from "../../icons.generated/index.js";
27
26
  import { jsx as _jsx } from "react/jsx-runtime";
28
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -63,7 +62,7 @@ const MenuButtonContainer = styled("div", {
63
62
  }) => ({
64
63
  position: "absolute",
65
64
  right: odysseyDesignTokens.Spacing3,
66
- top: odysseyDesignTokens.Spacing3,
65
+ top: variant === "compact" ? odysseyDesignTokens.Spacing4 : odysseyDesignTokens.Spacing3,
67
66
  height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : "auto",
68
67
  display: "flex",
69
68
  alignItems: "center"
@@ -77,12 +76,14 @@ const CardInnerContainer = styled("div", {
77
76
  gap: odysseyDesignTokens.Spacing3
78
77
  }));
79
78
  const CardImageAndContentContainer = styled("div", {
80
- shouldForwardProp: prop => prop !== "variant"
79
+ shouldForwardProp: prop => prop !== "variant" && prop !== "centerContent"
81
80
  })(({
82
- variant
81
+ variant,
82
+ centerContent
83
83
  }) => ({
84
84
  display: "flex",
85
- flexDirection: variant === "tile" ? "column" : "row"
85
+ flexDirection: variant === "tile" ? "column" : "row",
86
+ alignItems: centerContent ? "center" : "flex-start"
86
87
  }));
87
88
  const CardContent = styled("div", {
88
89
  shouldForwardProp: prop => prop !== "odysseyDesignTokens"
@@ -90,8 +91,11 @@ const CardContent = styled("div", {
90
91
  odysseyDesignTokens,
91
92
  variant
92
93
  }) => ({
93
- "& > .MuiTypography-h5": {
94
+ "& > .MuiTypography-h5:not(:last-child)": {
94
95
  marginBlockEnd: `${variant === "compact" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`
96
+ },
97
+ "& > *:last-child": {
98
+ marginBlockEnd: 0
95
99
  }
96
100
  }));
97
101
  const CardChildrenContainer = styled("div", {
@@ -150,46 +154,53 @@ const DataCard = ({
150
154
  children: [AccessoryProp, renderDetailPanel && ExpansionToggle]
151
155
  });
152
156
  }, [AccessoryProp, ExpansionToggle, odysseyDesignTokens, renderDetailPanel, variant]);
153
- const cardContent = useMemo(() => _jsxs(CardInnerContainer, {
154
- odysseyDesignTokens: odysseyDesignTokens,
155
- children: [(AccessoryProp || renderDetailPanel) && _jsx(Box, {
156
- children: Accessory
157
- }), _jsxs(CardImageAndContentContainer, {
158
- variant: variant,
159
- children: [image && _jsx(ImageContainer, {
160
- odysseyDesignTokens: odysseyDesignTokens,
161
- hasMenuButtonChildren: Boolean(menuButtonChildren),
162
- variant: variant,
163
- children: image
164
- }), _jsxs(CardContent, {
165
- odysseyDesignTokens: odysseyDesignTokens,
157
+ const cardContent = useMemo(() => {
158
+ const countDefinedProps = props => {
159
+ return props.filter(prop => prop !== undefined).length;
160
+ };
161
+ const shouldCenterContent = variant === "compact" && (!renderDetailPanel || !isDetailPanelOpen) && countDefinedProps([title, description, overline, button, children]) <= 2;
162
+ return _jsxs(CardInnerContainer, {
163
+ odysseyDesignTokens: odysseyDesignTokens,
164
+ children: [(AccessoryProp || renderDetailPanel) && _jsx(Box, {
165
+ children: Accessory
166
+ }), _jsxs(CardImageAndContentContainer, {
166
167
  variant: variant,
167
- children: [overline && _jsx(Support, {
168
- component: "div",
169
- children: overline
170
- }), title && _jsx(Heading5, {
171
- component: "div",
172
- children: title
173
- }), description && _jsx(Paragraph, {
174
- color: "textSecondary",
175
- children: description
176
- }), button && _jsx(_CardActions, {
177
- children: _jsx(ButtonContext.Provider, {
178
- value: buttonProviderValue,
179
- children: button
180
- })
181
- }), children && _jsx(CardChildrenContainer, {
168
+ centerContent: shouldCenterContent,
169
+ children: [image && _jsx(ImageContainer, {
182
170
  odysseyDesignTokens: odysseyDesignTokens,
183
- children: children
184
- }), renderDetailPanel && isDetailPanelOpen && _jsx(CardChildrenContainer, {
171
+ hasMenuButtonChildren: Boolean(menuButtonChildren),
172
+ variant: variant,
173
+ children: image
174
+ }), _jsxs(CardContent, {
185
175
  odysseyDesignTokens: odysseyDesignTokens,
186
- children: renderDetailPanel({
187
- row
188
- })
176
+ variant: variant,
177
+ children: [overline && _jsx(Support, {
178
+ component: "div",
179
+ children: overline
180
+ }), title && _jsx(Heading5, {
181
+ component: "div",
182
+ children: title
183
+ }), description && _jsx(Paragraph, {
184
+ color: "textSecondary",
185
+ children: description
186
+ }), button && _jsx(_CardActions, {
187
+ children: _jsx(ButtonContext.Provider, {
188
+ value: buttonProviderValue,
189
+ children: button
190
+ })
191
+ }), children && _jsx(CardChildrenContainer, {
192
+ odysseyDesignTokens: odysseyDesignTokens,
193
+ children: children
194
+ }), renderDetailPanel && isDetailPanelOpen && _jsx(CardChildrenContainer, {
195
+ odysseyDesignTokens: odysseyDesignTokens,
196
+ children: renderDetailPanel({
197
+ row
198
+ })
199
+ })]
189
200
  })]
190
201
  })]
191
- })]
192
- }), [odysseyDesignTokens, AccessoryProp, renderDetailPanel, Accessory, variant, image, menuButtonChildren, overline, title, description, button, children, isDetailPanelOpen, row]);
202
+ });
203
+ }, [odysseyDesignTokens, AccessoryProp, renderDetailPanel, Accessory, variant, image, menuButtonChildren, overline, title, description, button, children, isDetailPanelOpen, row]);
193
204
  return _jsxs(_Card, {
194
205
  className: `${onClick ? "isClickable" : ""} ${Accessory ? "hasAccessory" : ""} ods-card-${variant}`,
195
206
  children: [onClick ? _jsx(_CardActionArea, {
@@ -1 +1 @@
1
- {"version":3,"file":"DataCard.js","names":["memo","useMemo","useState","styled","useTranslation","Box","ButtonContext","useOdysseyDesignTokens","Heading5","Paragraph","Support","MenuButton","ChevronDownIcon","ChevronUpIcon","MoreIcon","jsx","_jsx","jsxs","_jsxs","CARD_IMAGE_SIZE","CARD_IMAGE_SIZE_COMPACT","cardVariantValues","AccessoryContainer","shouldForwardProp","prop","odysseyDesignTokens","variant","display","flexDirection","alignItems","gap","Spacing2","height","ImageContainer","hasMenuButtonChildren","maxHeight","marginBlockEnd","Spacing5","paddingRight","MenuButtonContainer","position","right","Spacing3","top","CardInnerContainer","CardImageAndContentContainer","CardContent","Spacing1","CardChildrenContainer","marginBlockStart","AccessoryPlaceholder","_IconButton","visibility","buttonProviderValue","isFullWidth","DataCard","Accessory","AccessoryProp","button","children","description","image","menuButtonChildren","onClick","overline","renderDetailPanel","row","title","t","isDetailPanelOpen","setIsDetailPanelOpen","ExpansionToggle","_Tooltip","disabled","cardContent","Boolean","component","color","_CardActions","Provider","value","_Card","className","_CardActionArea","endIcon","ariaLabel","buttonVariant","menuAlignment","size","tooltipText","MemoizedDataCard","displayName"],"sources":["../../../src/labs/DataView/DataCard.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n MouseEventHandler,\n ReactElement,\n memo,\n useMemo,\n ReactNode,\n useState,\n} from \"react\";\nimport {\n IconButton as MuiIconButton,\n Card as MuiCard,\n CardActions as MuiCardActions,\n CardActionArea as MuiCardActionArea,\n Tooltip as MuiTooltip,\n} from \"@mui/material\";\nimport styled from \"@emotion/styled\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Box } from \"../../Box\";\nimport { Button } from \"../../Button\";\nimport { ButtonContext } from \"../../ButtonContext\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport { Heading5, Paragraph, Support } from \"../../Typography\";\nimport { MenuButton, MenuButtonProps } from \"../../MenuButton\";\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n MoreIcon,\n} from \"../../icons.generated\";\nimport { CardLayoutProps } from \"./componentTypes\";\nimport { MRT_RowData } from \"material-react-table\";\n\nexport const CARD_IMAGE_SIZE = \"64px\";\nexport const CARD_IMAGE_SIZE_COMPACT = \"48px\";\n\nexport const cardVariantValues = [\"tile\", \"stack\", \"compact\"] as const;\n\nexport type DataCardProps = {\n children?: ReactNode;\n description?: string;\n image?: ReactElement;\n overline?: string;\n renderDetailPanel?: CardLayoutProps[\"renderDetailPanel\"];\n row: MRT_RowData;\n title?: string;\n variant?: (typeof cardVariantValues)[number];\n} & (\n | {\n Accessory?: never;\n button?: never;\n menuButtonChildren?: never;\n onClick: MouseEventHandler;\n }\n | {\n Accessory?: ReactNode;\n button?: ReactElement<typeof Button>;\n menuButtonChildren?: MenuButtonProps[\"children\"];\n onClick?: never;\n }\n);\n\nconst AccessoryContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n display: \"flex\",\n flexDirection: variant === \"compact\" ? \"row\" : \"column\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n}));\n\nconst ImageContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasMenuButtonChildren\" &&\n prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n hasMenuButtonChildren: boolean;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, hasMenuButtonChildren, variant }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n maxHeight: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n marginBlockEnd: variant === \"tile\" ? odysseyDesignTokens.Spacing5 : 0,\n paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0,\n}));\n\nconst MenuButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n position: \"absolute\",\n right: odysseyDesignTokens.Spacing3,\n top: odysseyDesignTokens.Spacing3,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n}));\n\nconst CardInnerContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst CardImageAndContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"variant\",\n})<{ variant: (typeof cardVariantValues)[number] }>(({ variant }) => ({\n display: \"flex\",\n flexDirection: variant === \"tile\" ? \"column\" : \"row\",\n}));\n\nconst CardContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n \"& > .MuiTypography-h5\": {\n marginBlockEnd: `${variant === \"compact\" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`,\n },\n}));\n\nconst CardChildrenContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n [\"&:not(:first-child)\"]: {\n marginBlockStart: odysseyDesignTokens.Spacing3,\n },\n}));\n\nconst AccessoryPlaceholder = styled(MuiIconButton)(() => ({\n visibility: \"hidden\",\n}));\nconst buttonProviderValue = { isFullWidth: true };\n\nconst DataCard = ({\n Accessory: AccessoryProp,\n button,\n children,\n description,\n image,\n menuButtonChildren,\n onClick,\n overline,\n renderDetailPanel,\n row,\n title,\n variant = \"tile\",\n}: DataCardProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [isDetailPanelOpen, setIsDetailPanelOpen] = useState<boolean>(false);\n\n const ExpansionToggle = useMemo(() => {\n return renderDetailPanel?.({ row }) ? (\n <MuiTooltip\n title={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n >\n <MuiIconButton\n children={isDetailPanelOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}\n onClick={() => setIsDetailPanelOpen(!isDetailPanelOpen)}\n aria-label={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n />\n </MuiTooltip>\n ) : (\n <AccessoryPlaceholder disabled>\n <ChevronDownIcon />\n </AccessoryPlaceholder>\n );\n }, [isDetailPanelOpen, renderDetailPanel, row, t]);\n\n const Accessory = useMemo(() => {\n return (\n <AccessoryContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {AccessoryProp}\n {renderDetailPanel && ExpansionToggle}\n </AccessoryContainer>\n );\n }, [\n AccessoryProp,\n ExpansionToggle,\n odysseyDesignTokens,\n renderDetailPanel,\n variant,\n ]);\n\n const cardContent = useMemo(\n () => (\n <CardInnerContainer odysseyDesignTokens={odysseyDesignTokens}>\n {(AccessoryProp || renderDetailPanel) && <Box>{Accessory}</Box>}\n <CardImageAndContentContainer variant={variant}>\n {image && (\n <ImageContainer\n odysseyDesignTokens={odysseyDesignTokens}\n hasMenuButtonChildren={Boolean(menuButtonChildren)}\n variant={variant}\n >\n {image}\n </ImageContainer>\n )}\n\n <CardContent\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {overline && <Support component=\"div\">{overline}</Support>}\n {title && <Heading5 component=\"div\">{title}</Heading5>}\n {description && (\n <Paragraph color=\"textSecondary\">{description}</Paragraph>\n )}\n\n {button && (\n <MuiCardActions>\n <ButtonContext.Provider value={buttonProviderValue}>\n {button}\n </ButtonContext.Provider>\n </MuiCardActions>\n )}\n\n {children && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {children}\n </CardChildrenContainer>\n )}\n\n {renderDetailPanel && isDetailPanelOpen && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {renderDetailPanel({ row })}\n </CardChildrenContainer>\n )}\n </CardContent>\n </CardImageAndContentContainer>\n </CardInnerContainer>\n ),\n [\n odysseyDesignTokens,\n AccessoryProp,\n renderDetailPanel,\n Accessory,\n variant,\n image,\n menuButtonChildren,\n overline,\n title,\n description,\n button,\n children,\n isDetailPanelOpen,\n row,\n ],\n );\n\n return (\n <MuiCard\n className={`${onClick ? \"isClickable\" : \"\"} ${Accessory ? \"hasAccessory\" : \"\"} ods-card-${variant}`}\n >\n {onClick ? (\n <MuiCardActionArea onClick={onClick}>{cardContent}</MuiCardActionArea>\n ) : (\n cardContent\n )}\n\n {menuButtonChildren && (\n <MenuButtonContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n menuAlignment=\"right\"\n size=\"small\"\n tooltipText={t(\"table.actions\")}\n >\n {menuButtonChildren}\n </MenuButton>\n </MenuButtonContainer>\n )}\n </MuiCard>\n );\n};\n\nconst MemoizedDataCard = memo(DataCard);\nMemoizedDataCard.displayName = \"DataCard\";\n\nexport { MemoizedDataCard as DataCard };\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataCard.js","names":["memo","useMemo","useState","styled","useTranslation","Box","ButtonContext","MenuButton","useOdysseyDesignTokens","Heading5","Paragraph","Support","ChevronDownIcon","ChevronUpIcon","MoreIcon","jsx","_jsx","jsxs","_jsxs","CARD_IMAGE_SIZE","CARD_IMAGE_SIZE_COMPACT","cardVariantValues","AccessoryContainer","shouldForwardProp","prop","odysseyDesignTokens","variant","display","flexDirection","alignItems","gap","Spacing2","height","ImageContainer","hasMenuButtonChildren","maxHeight","marginBlockEnd","Spacing5","paddingRight","MenuButtonContainer","position","right","Spacing3","top","Spacing4","CardInnerContainer","CardImageAndContentContainer","centerContent","CardContent","Spacing1","CardChildrenContainer","marginBlockStart","AccessoryPlaceholder","_IconButton","visibility","buttonProviderValue","isFullWidth","DataCard","Accessory","AccessoryProp","button","children","description","image","menuButtonChildren","onClick","overline","renderDetailPanel","row","title","t","isDetailPanelOpen","setIsDetailPanelOpen","ExpansionToggle","_Tooltip","disabled","cardContent","countDefinedProps","props","filter","undefined","length","shouldCenterContent","Boolean","component","color","_CardActions","Provider","value","_Card","className","_CardActionArea","endIcon","ariaLabel","buttonVariant","menuAlignment","size","tooltipText","MemoizedDataCard","displayName"],"sources":["../../../src/labs/DataView/DataCard.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n MouseEventHandler,\n ReactElement,\n memo,\n useMemo,\n ReactNode,\n useState,\n} from \"react\";\nimport {\n IconButton as MuiIconButton,\n Card as MuiCard,\n CardActions as MuiCardActions,\n CardActionArea as MuiCardActionArea,\n Tooltip as MuiTooltip,\n} from \"@mui/material\";\nimport styled from \"@emotion/styled\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Box } from \"../../Box\";\nimport {\n Button,\n ButtonContext,\n MenuButton,\n MenuButtonProps,\n} from \"../../Buttons\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport { Heading5, Paragraph, Support } from \"../../Typography\";\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n MoreIcon,\n} from \"../../icons.generated\";\nimport { CardLayoutProps } from \"./componentTypes\";\nimport { MRT_RowData } from \"material-react-table\";\n\nexport const CARD_IMAGE_SIZE = \"64px\";\nexport const CARD_IMAGE_SIZE_COMPACT = \"48px\";\n\nexport const cardVariantValues = [\"tile\", \"stack\", \"compact\"] as const;\n\nexport type DataCardProps = {\n children?: ReactNode;\n description?: string;\n image?: ReactElement;\n overline?: string;\n renderDetailPanel?: CardLayoutProps[\"renderDetailPanel\"];\n row: MRT_RowData;\n title?: string;\n variant?: (typeof cardVariantValues)[number];\n} & (\n | {\n Accessory?: never;\n button?: never;\n menuButtonChildren?: never;\n onClick: MouseEventHandler;\n }\n | {\n Accessory?: ReactNode;\n button?: ReactElement<typeof Button>;\n menuButtonChildren?: MenuButtonProps[\"children\"];\n onClick?: never;\n }\n);\n\nconst AccessoryContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n display: \"flex\",\n flexDirection: variant === \"compact\" ? \"row\" : \"column\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n}));\n\nconst ImageContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasMenuButtonChildren\" &&\n prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n hasMenuButtonChildren: boolean;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, hasMenuButtonChildren, variant }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n maxHeight: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n marginBlockEnd: variant === \"tile\" ? odysseyDesignTokens.Spacing5 : 0,\n paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0,\n}));\n\nconst MenuButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n position: \"absolute\",\n right: odysseyDesignTokens.Spacing3,\n top:\n variant === \"compact\"\n ? odysseyDesignTokens.Spacing4\n : odysseyDesignTokens.Spacing3,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n}));\n\nconst CardInnerContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst CardImageAndContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"variant\" && prop !== \"centerContent\",\n})<{ variant: (typeof cardVariantValues)[number]; centerContent: boolean }>(\n ({ variant, centerContent }) => ({\n display: \"flex\",\n flexDirection: variant === \"tile\" ? \"column\" : \"row\",\n alignItems: centerContent ? \"center\" : \"flex-start\",\n }),\n);\n\nconst CardContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n \"& > .MuiTypography-h5:not(:last-child)\": {\n marginBlockEnd: `${variant === \"compact\" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`,\n },\n \"& > *:last-child\": {\n marginBlockEnd: 0,\n },\n}));\n\nconst CardChildrenContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n [\"&:not(:first-child)\"]: {\n marginBlockStart: odysseyDesignTokens.Spacing3,\n },\n}));\n\nconst AccessoryPlaceholder = styled(MuiIconButton)(() => ({\n visibility: \"hidden\",\n}));\nconst buttonProviderValue = { isFullWidth: true };\n\nconst DataCard = ({\n Accessory: AccessoryProp,\n button,\n children,\n description,\n image,\n menuButtonChildren,\n onClick,\n overline,\n renderDetailPanel,\n row,\n title,\n variant = \"tile\",\n}: DataCardProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [isDetailPanelOpen, setIsDetailPanelOpen] = useState<boolean>(false);\n\n const ExpansionToggle = useMemo(() => {\n return renderDetailPanel?.({ row }) ? (\n <MuiTooltip\n title={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n >\n <MuiIconButton\n children={isDetailPanelOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}\n onClick={() => setIsDetailPanelOpen(!isDetailPanelOpen)}\n aria-label={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n />\n </MuiTooltip>\n ) : (\n <AccessoryPlaceholder disabled>\n <ChevronDownIcon />\n </AccessoryPlaceholder>\n );\n }, [isDetailPanelOpen, renderDetailPanel, row, t]);\n\n const Accessory = useMemo(() => {\n return (\n <AccessoryContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {AccessoryProp}\n {renderDetailPanel && ExpansionToggle}\n </AccessoryContainer>\n );\n }, [\n AccessoryProp,\n ExpansionToggle,\n odysseyDesignTokens,\n renderDetailPanel,\n variant,\n ]);\n\n const cardContent = useMemo(() => {\n const countDefinedProps = (\n props: Array<string | ReactNode | undefined>,\n ) => {\n return props.filter((prop) => prop !== undefined).length;\n };\n\n const shouldCenterContent =\n variant === \"compact\" &&\n (!renderDetailPanel || !isDetailPanelOpen) &&\n countDefinedProps([title, description, overline, button, children]) <= 2;\n\n return (\n <CardInnerContainer odysseyDesignTokens={odysseyDesignTokens}>\n {(AccessoryProp || renderDetailPanel) && <Box>{Accessory}</Box>}\n <CardImageAndContentContainer\n variant={variant}\n centerContent={shouldCenterContent}\n >\n {image && (\n <ImageContainer\n odysseyDesignTokens={odysseyDesignTokens}\n hasMenuButtonChildren={Boolean(menuButtonChildren)}\n variant={variant}\n >\n {image}\n </ImageContainer>\n )}\n\n <CardContent\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {overline && <Support component=\"div\">{overline}</Support>}\n {title && <Heading5 component=\"div\">{title}</Heading5>}\n {description && (\n <Paragraph color=\"textSecondary\">{description}</Paragraph>\n )}\n\n {button && (\n <MuiCardActions>\n <ButtonContext.Provider value={buttonProviderValue}>\n {button}\n </ButtonContext.Provider>\n </MuiCardActions>\n )}\n\n {children && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {children}\n </CardChildrenContainer>\n )}\n\n {renderDetailPanel && isDetailPanelOpen && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {renderDetailPanel({ row })}\n </CardChildrenContainer>\n )}\n </CardContent>\n </CardImageAndContentContainer>\n </CardInnerContainer>\n );\n }, [\n odysseyDesignTokens,\n AccessoryProp,\n renderDetailPanel,\n Accessory,\n variant,\n image,\n menuButtonChildren,\n overline,\n title,\n description,\n button,\n children,\n isDetailPanelOpen,\n row,\n ]);\n\n return (\n <MuiCard\n className={`${onClick ? \"isClickable\" : \"\"} ${Accessory ? \"hasAccessory\" : \"\"} ods-card-${variant}`}\n >\n {onClick ? (\n <MuiCardActionArea onClick={onClick}>{cardContent}</MuiCardActionArea>\n ) : (\n cardContent\n )}\n\n {menuButtonChildren && (\n <MenuButtonContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n menuAlignment=\"right\"\n size=\"small\"\n tooltipText={t(\"table.actions\")}\n >\n {menuButtonChildren}\n </MenuButton>\n </MenuButtonContainer>\n )}\n </MuiCard>\n );\n};\n\nconst MemoizedDataCard = memo(DataCard);\nMemoizedDataCard.displayName = \"DataCard\";\n\nexport { MemoizedDataCard as DataCard };\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAGEA,IAAI,EACJC,OAAO,EAEPC,QAAQ,QACH,OAAO;AAQd,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,cAAc,QAAQ,eAAe;AAAC,SAEtCC,GAAG;AAAA,SAGVC,aAAa,EACbC,UAAU;AAAA,SAKVC,sBAAsB;AAAA,SAEfC,QAAQ,EAAEC,SAAS,EAAEC,OAAO;AAAA,SAEnCC,eAAe,EACfC,aAAa,EACbC,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAKV,OAAO,MAAMC,eAAe,GAAG,MAAM;AACrC,OAAO,MAAMC,uBAAuB,GAAG,MAAM;AAE7C,OAAO,MAAMC,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAU;AA0BtE,MAAMC,kBAAkB,GAAGnB,MAAM,CAAC,KAAK,EAAE;EACvCoB,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAQ,CAAC,MAAM;EACxCC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAEF,OAAO,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ;EACvDG,UAAU,EAAE,QAAQ;EACpBC,GAAG,EAAEL,mBAAmB,CAACM,QAAQ;EACjCC,MAAM,EAAEN,OAAO,KAAK,SAAS,GAAGN,uBAAuB,GAAG;AAC5D,CAAC,CAAC,CAAC;AAEH,MAAMa,cAAc,GAAG9B,MAAM,CAAC,KAAK,EAAE;EACnCoB,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,uBAAuB,IAChCA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAEC,mBAAmB;EAAES,qBAAqB;EAAER;AAAQ,CAAC,MAAM;EAC/DC,OAAO,EAAE,MAAM;EACfE,UAAU,EAAE,YAAY;EACxBG,MAAM,EAAEN,OAAO,KAAK,SAAS,GAAGN,uBAAuB,GAAGD,eAAe;EACzEgB,SAAS,EAAET,OAAO,KAAK,SAAS,GAAGN,uBAAuB,GAAGD,eAAe;EAC5EiB,cAAc,EAAEV,OAAO,KAAK,MAAM,GAAGD,mBAAmB,CAACY,QAAQ,GAAG,CAAC;EACrEC,YAAY,EAAEJ,qBAAqB,GAAGT,mBAAmB,CAACY,QAAQ,GAAG;AACvE,CAAC,CAAC,CAAC;AAEH,MAAME,mBAAmB,GAAGpC,MAAM,CAAC,KAAK,EAAE;EACxCoB,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAQ,CAAC,MAAM;EACxCc,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAEhB,mBAAmB,CAACiB,QAAQ;EACnCC,GAAG,EACDjB,OAAO,KAAK,SAAS,GACjBD,mBAAmB,CAACmB,QAAQ,GAC5BnB,mBAAmB,CAACiB,QAAQ;EAClCV,MAAM,EAAEN,OAAO,KAAK,SAAS,GAAGN,uBAAuB,GAAG,MAAM;EAChEO,OAAO,EAAE,MAAM;EACfE,UAAU,EAAE;AACd,CAAC,CAAC,CAAC;AAEH,MAAMgB,kBAAkB,GAAG1C,MAAM,CAAC,KAAK,EAAE;EACvCoB,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtEE,OAAO,EAAE,MAAM;EACfG,GAAG,EAAEL,mBAAmB,CAACiB;AAC3B,CAAC,CAAC,CAAC;AAEH,MAAMI,4BAA4B,GAAG3C,MAAM,CAAC,KAAK,EAAE;EACjDoB,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK;AAC9D,CAAC,CAAC,CACA,CAAC;EAAEE,OAAO;EAAEqB;AAAc,CAAC,MAAM;EAC/BpB,OAAO,EAAE,MAAM;EACfC,aAAa,EAAEF,OAAO,KAAK,MAAM,GAAG,QAAQ,GAAG,KAAK;EACpDG,UAAU,EAAEkB,aAAa,GAAG,QAAQ,GAAG;AACzC,CAAC,CACH,CAAC;AAED,MAAMC,WAAW,GAAG7C,MAAM,CAAC,KAAK,EAAE;EAChCoB,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAGC,CAAC;EAAEC,mBAAmB;EAAEC;AAAQ,CAAC,MAAM;EACxC,wCAAwC,EAAE;IACxCU,cAAc,EAAG,GAAEV,OAAO,KAAK,SAAS,GAAGD,mBAAmB,CAACwB,QAAQ,GAAGxB,mBAAmB,CAACiB,QAAS;EACzG,CAAC;EACD,kBAAkB,EAAE;IAClBN,cAAc,EAAE;EAClB;AACF,CAAC,CAAC,CAAC;AAEH,MAAMc,qBAAqB,GAAG/C,MAAM,CAAC,KAAK,EAAE;EAC1CoB,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAwC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EACtE,CAAC,qBAAqB,GAAG;IACvB0B,gBAAgB,EAAE1B,mBAAmB,CAACiB;EACxC;AACF,CAAC,CAAC,CAAC;AAEH,MAAMU,oBAAoB,GAAGjD,MAAM,CAAAkD,WAAc,CAAC,CAAC,OAAO;EACxDC,UAAU,EAAE;AACd,CAAC,CAAC,CAAC;AACH,MAAMC,mBAAmB,GAAG;EAAEC,WAAW,EAAE;AAAK,CAAC;AAEjD,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,SAAS,EAAEC,aAAa;EACxBC,MAAM;EACNC,QAAQ;EACRC,WAAW;EACXC,KAAK;EACLC,kBAAkB;EAClBC,OAAO;EACPC,QAAQ;EACRC,iBAAiB;EACjBC,GAAG;EACHC,KAAK;EACL3C,OAAO,GAAG;AACG,CAAC,KAAK;EACnB,MAAMD,mBAAmB,GAAGjB,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAE8D;EAAE,CAAC,GAAGlE,cAAc,CAAC,CAAC;EAE9B,MAAM,CAACmE,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGtE,QAAQ,CAAU,KAAK,CAAC;EAE1E,MAAMuE,eAAe,GAAGxE,OAAO,CAAC,MAAM;IACpC,OAAOkE,iBAAiB,GAAG;MAAEC;IAAI,CAAC,CAAC,GACjCpD,IAAA,CAAA0D,QAAA;MACEL,KAAK,EACHE,iBAAiB,GACbD,CAAC,CAAC,6BAA6B,CAAC,GAChCA,CAAC,CAAC,2BAA2B,CAClC;MAAAT,QAAA,EAED7C,IAAA,CAAAqC,WAAA;QACEQ,QAAQ,EAAEU,iBAAiB,GAAGvD,IAAA,CAACH,aAAa,IAAE,CAAC,GAAGG,IAAA,CAACJ,eAAe,IAAE,CAAE;QACtEqD,OAAO,EAAEA,CAAA,KAAMO,oBAAoB,CAAC,CAACD,iBAAiB,CAAE;QACxD,cACEA,iBAAiB,GACbD,CAAC,CAAC,6BAA6B,CAAC,GAChCA,CAAC,CAAC,2BAA2B;MAClC,CACF;IAAC,CACQ,CAAC,GAEbtD,IAAA,CAACoC,oBAAoB;MAACuB,QAAQ;MAAAd,QAAA,EAC5B7C,IAAA,CAACJ,eAAe,IAAE;IAAC,CACC,CACvB;EACH,CAAC,EAAE,CAAC2D,iBAAiB,EAAEJ,iBAAiB,EAAEC,GAAG,EAAEE,CAAC,CAAC,CAAC;EAElD,MAAMZ,SAAS,GAAGzD,OAAO,CAAC,MAAM;IAC9B,OACEiB,KAAA,CAACI,kBAAkB;MACjBG,mBAAmB,EAAEA,mBAAoB;MACzCC,OAAO,EAAEA,OAAQ;MAAAmC,QAAA,GAEhBF,aAAa,EACbQ,iBAAiB,IAAIM,eAAe;IAAA,CACnB,CAAC;EAEzB,CAAC,EAAE,CACDd,aAAa,EACbc,eAAe,EACfhD,mBAAmB,EACnB0C,iBAAiB,EACjBzC,OAAO,CACR,CAAC;EAEF,MAAMkD,WAAW,GAAG3E,OAAO,CAAC,MAAM;IAChC,MAAM4E,iBAAiB,GACrBC,KAA4C,IACzC;MACH,OAAOA,KAAK,CAACC,MAAM,CAAEvD,IAAI,IAAKA,IAAI,KAAKwD,SAAS,CAAC,CAACC,MAAM;IAC1D,CAAC;IAED,MAAMC,mBAAmB,GACvBxD,OAAO,KAAK,SAAS,KACpB,CAACyC,iBAAiB,IAAI,CAACI,iBAAiB,CAAC,IAC1CM,iBAAiB,CAAC,CAACR,KAAK,EAAEP,WAAW,EAAEI,QAAQ,EAAEN,MAAM,EAAEC,QAAQ,CAAC,CAAC,IAAI,CAAC;IAE1E,OACE3C,KAAA,CAAC2B,kBAAkB;MAACpB,mBAAmB,EAAEA,mBAAoB;MAAAoC,QAAA,GAC1D,CAACF,aAAa,IAAIQ,iBAAiB,KAAKnD,IAAA,CAACX,GAAG;QAAAwD,QAAA,EAAEH;MAAS,CAAM,CAAC,EAC/DxC,KAAA,CAAC4B,4BAA4B;QAC3BpB,OAAO,EAAEA,OAAQ;QACjBqB,aAAa,EAAEmC,mBAAoB;QAAArB,QAAA,GAElCE,KAAK,IACJ/C,IAAA,CAACiB,cAAc;UACbR,mBAAmB,EAAEA,mBAAoB;UACzCS,qBAAqB,EAAEiD,OAAO,CAACnB,kBAAkB,CAAE;UACnDtC,OAAO,EAAEA,OAAQ;UAAAmC,QAAA,EAEhBE;QAAK,CACQ,CACjB,EAED7C,KAAA,CAAC8B,WAAW;UACVvB,mBAAmB,EAAEA,mBAAoB;UACzCC,OAAO,EAAEA,OAAQ;UAAAmC,QAAA,GAEhBK,QAAQ,IAAIlD,IAAA,CAACL,OAAO;YAACyE,SAAS,EAAC,KAAK;YAAAvB,QAAA,EAAEK;UAAQ,CAAU,CAAC,EACzDG,KAAK,IAAIrD,IAAA,CAACP,QAAQ;YAAC2E,SAAS,EAAC,KAAK;YAAAvB,QAAA,EAAEQ;UAAK,CAAW,CAAC,EACrDP,WAAW,IACV9C,IAAA,CAACN,SAAS;YAAC2E,KAAK,EAAC,eAAe;YAAAxB,QAAA,EAAEC;UAAW,CAAY,CAC1D,EAEAF,MAAM,IACL5C,IAAA,CAAAsE,YAAA;YAAAzB,QAAA,EACE7C,IAAA,CAACV,aAAa,CAACiF,QAAQ;cAACC,KAAK,EAAEjC,mBAAoB;cAAAM,QAAA,EAChDD;YAAM,CACe;UAAC,CACX,CACjB,EAEAC,QAAQ,IACP7C,IAAA,CAACkC,qBAAqB;YAACzB,mBAAmB,EAAEA,mBAAoB;YAAAoC,QAAA,EAC7DA;UAAQ,CACY,CACxB,EAEAM,iBAAiB,IAAII,iBAAiB,IACrCvD,IAAA,CAACkC,qBAAqB;YAACzB,mBAAmB,EAAEA,mBAAoB;YAAAoC,QAAA,EAC7DM,iBAAiB,CAAC;cAAEC;YAAI,CAAC;UAAC,CACN,CACxB;QAAA,CACU,CAAC;MAAA,CACc,CAAC;IAAA,CACb,CAAC;EAEzB,CAAC,EAAE,CACD3C,mBAAmB,EACnBkC,aAAa,EACbQ,iBAAiB,EACjBT,SAAS,EACThC,OAAO,EACPqC,KAAK,EACLC,kBAAkB,EAClBE,QAAQ,EACRG,KAAK,EACLP,WAAW,EACXF,MAAM,EACNC,QAAQ,EACRU,iBAAiB,EACjBH,GAAG,CACJ,CAAC;EAEF,OACElD,KAAA,CAAAuE,KAAA;IACEC,SAAS,EAAG,GAAEzB,OAAO,GAAG,aAAa,GAAG,EAAG,IAAGP,SAAS,GAAG,cAAc,GAAG,EAAG,aAAYhC,OAAQ,EAAE;IAAAmC,QAAA,GAEnGI,OAAO,GACNjD,IAAA,CAAA2E,eAAA;MAAmB1B,OAAO,EAAEA,OAAQ;MAAAJ,QAAA,EAAEe;IAAW,CAAoB,CAAC,GAEtEA,WACD,EAEAZ,kBAAkB,IACjBhD,IAAA,CAACuB,mBAAmB;MAClBd,mBAAmB,EAAEA,mBAAoB;MACzCC,OAAO,EAAEA,OAAQ;MAAAmC,QAAA,EAEjB7C,IAAA,CAACT,UAAU;QACTqF,OAAO,EAAE5E,IAAA,CAACF,QAAQ,IAAE,CAAE;QACtB+E,SAAS,EAAEvB,CAAC,CAAC,6BAA6B,CAAE;QAC5CwB,aAAa,EAAC,UAAU;QACxBC,aAAa,EAAC,OAAO;QACrBC,IAAI,EAAC,OAAO;QACZC,WAAW,EAAE3B,CAAC,CAAC,eAAe,CAAE;QAAAT,QAAA,EAE/BG;MAAkB,CACT;IAAC,CACM,CACtB;EAAA,CACM,CAAC;AAEd,CAAC;AAED,MAAMkC,gBAAgB,GAAGlG,IAAI,CAACyD,QAAQ,CAAC;AACvCyC,gBAAgB,CAACC,WAAW,GAAG,UAAU;AAEzC,SAASD,gBAAgB,IAAIzC,QAAQ"}
@@ -20,7 +20,7 @@ import { DataFilters } from "../DataFilters.js";
20
20
  import { EmptyState } from "../../EmptyState.js";
21
21
  import { fetchData } from "./fetchData.js";
22
22
  import { LayoutSwitcher } from "./LayoutSwitcher.js";
23
- import { MenuButton } from "../../MenuButton.js";
23
+ import { MenuButton } from "../../Buttons/index.js";
24
24
  import { MoreIcon } from "../../icons.generated/index.js";
25
25
  import { TableSettings } from "./TableSettings.js";
26
26
  import { Pagination, usePagination } from "../../Pagination/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"DataView.js","names":["memo","useEffect","useMemo","useState","useTranslation","availableLayouts","allAvailableLayouts","densityValues","Box","BulkActionsMenu","Callout","DataFilters","EmptyState","fetchData","LayoutSwitcher","MenuButton","MoreIcon","TableSettings","Pagination","usePagination","TableLayoutContent","CardLayoutContent","useFilterConversion","useRowReordering","Typography","useOdysseyDesignTokens","styled","jsx","_jsx","jsxs","_jsxs","DataViewContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","Spacing2","AdditionalActionsInner","alignItems","MetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasPageInput","hasRowCountInput","hasRowCountLabel","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","t","currentLayout","setCurrentLayout","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","shouldShowFilters","availableFilters","columns","dataQueryParams","page","sort","row","id","prev","undefined","length","prevValue","emptyState","noResultsInnerContent","description","heading","additionalActions","children","color","endIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","currentRowsCount","rowReorderingUtilities","severity","text","isDisabled","onChangeFilters","onChangeSearch","menuItems","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","displayName"],"sources":["../../../src/labs/DataView/DataView.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, useEffect, useMemo, useState } from \"react\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes\";\nimport { Box } from \"../../Box\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu\";\nimport { Callout } from \"../../Callout\";\nimport { DataFilters } from \"../DataFilters\";\nimport { EmptyState } from \"../../EmptyState\";\nimport { fetchData } from \"./fetchData\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MoreIcon } from \"../../icons.generated\";\nimport { TableSettings } from \"./TableSettings\";\nimport { Pagination, usePagination } from \"../../Pagination\";\nimport { TableLayoutContent } from \"./TableLayoutContent\";\nimport { CardLayoutContent } from \"./CardLayoutContent\";\nimport { useFilterConversion } from \"./useFilterConversion\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering\";\nimport { Typography } from \"../../Typography\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps = UniversalProps & ViewProps<DataLayout>;\n\nconst DataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst BulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst AdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst AdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst MetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = ({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasPageInput,\n hasRowCountInput,\n hasRowCountLabel,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<MRT_RowData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [isEmpty, setIsEmpty] = useState<boolean>(isEmptyProp ?? true);\n const [isNoResults, setIsNoResults] = useState<boolean>(\n isNoResultsProp ?? false,\n );\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = getRowIdProp ? getRowIdProp : (row: MRT_RowData) => row.id;\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // When data is updated\n useEffect(() => {\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n initialFilters,\n pagination,\n resultsPerPage,\n search,\n ]);\n\n // Change loading, empty and noResults state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n useEffect(() => {\n setIsEmpty((prevValue) => isEmptyProp ?? prevValue);\n }, [isEmptyProp]);\n\n useEffect(() => {\n setIsNoResults((prevValue) => isNoResultsProp ?? prevValue);\n }, [isNoResultsProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n return (\n (metaText ||\n (currentLayout === \"table\" && tableLayoutOptions) ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <AdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <MetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </MetaTextContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </AdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <DataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <BulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </BulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <AdditionalActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {additionalActions}\n </AdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n cardLayoutOptions={cardLayoutOptions}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n hasPageInput={hasPageInput}\n hasRowCountInput={hasRowCountInput}\n hasRowCountLabel={hasRowCountLabel}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n currentRowsCount={data.length}\n variant={paginationType}\n />\n )}\n </DataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView);\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataView.js","names":["memo","useEffect","useMemo","useState","useTranslation","availableLayouts","allAvailableLayouts","densityValues","Box","BulkActionsMenu","Callout","DataFilters","EmptyState","fetchData","LayoutSwitcher","MenuButton","MoreIcon","TableSettings","Pagination","usePagination","TableLayoutContent","CardLayoutContent","useFilterConversion","useRowReordering","Typography","useOdysseyDesignTokens","styled","jsx","_jsx","jsxs","_jsxs","DataViewContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","Spacing2","AdditionalActionsInner","alignItems","MetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasPageInput","hasRowCountInput","hasRowCountLabel","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","t","currentLayout","setCurrentLayout","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","shouldShowFilters","availableFilters","columns","dataQueryParams","page","sort","row","id","prev","undefined","length","prevValue","emptyState","noResultsInnerContent","description","heading","additionalActions","children","color","endIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","currentRowsCount","rowReorderingUtilities","severity","text","isDisabled","onChangeFilters","onChangeSearch","menuItems","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","displayName"],"sources":["../../../src/labs/DataView/DataView.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, useEffect, useMemo, useState } from \"react\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes\";\nimport { Box } from \"../../Box\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu\";\nimport { Callout } from \"../../Callout\";\nimport { DataFilters } from \"../DataFilters\";\nimport { EmptyState } from \"../../EmptyState\";\nimport { fetchData } from \"./fetchData\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher\";\nimport { MenuButton } from \"../../Buttons\";\nimport { MoreIcon } from \"../../icons.generated\";\nimport { TableSettings } from \"./TableSettings\";\nimport { Pagination, usePagination } from \"../../Pagination\";\nimport { TableLayoutContent } from \"./TableLayoutContent\";\nimport { CardLayoutContent } from \"./CardLayoutContent\";\nimport { useFilterConversion } from \"./useFilterConversion\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering\";\nimport { Typography } from \"../../Typography\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps = UniversalProps & ViewProps<DataLayout>;\n\nconst DataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst BulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst AdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst AdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst MetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = ({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasPageInput,\n hasRowCountInput,\n hasRowCountLabel,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<MRT_RowData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [isEmpty, setIsEmpty] = useState<boolean>(isEmptyProp ?? true);\n const [isNoResults, setIsNoResults] = useState<boolean>(\n isNoResultsProp ?? false,\n );\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = getRowIdProp ? getRowIdProp : (row: MRT_RowData) => row.id;\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // When data is updated\n useEffect(() => {\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n initialFilters,\n pagination,\n resultsPerPage,\n search,\n ]);\n\n // Change loading, empty and noResults state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n useEffect(() => {\n setIsEmpty((prevValue) => isEmptyProp ?? prevValue);\n }, [isEmptyProp]);\n\n useEffect(() => {\n setIsNoResults((prevValue) => isNoResultsProp ?? prevValue);\n }, [isNoResultsProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n return (\n (metaText ||\n (currentLayout === \"table\" && tableLayoutOptions) ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <AdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <MetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </MetaTextContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </AdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <DataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <BulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </BulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <AdditionalActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {additionalActions}\n </AdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n cardLayoutOptions={cardLayoutOptions}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n hasPageInput={hasPageInput}\n hasRowCountInput={hasRowCountInput}\n hasRowCountLabel={hasRowCountLabel}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n currentRowsCount={data.length}\n variant={paginationType}\n />\n )}\n </DataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView);\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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"}
@@ -12,8 +12,7 @@
12
12
 
13
13
  import { memo, useCallback, useMemo } from "react";
14
14
  import { useTranslation } from "react-i18next";
15
- import { MenuButton } from "../../MenuButton.js";
16
- import { MenuItem } from "../../MenuItem.js";
15
+ import { MenuButton, MenuItem } from "../../Buttons/index.js";
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
18
17
  const LayoutSwitcher = ({
19
18
  availableLayouts,
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutSwitcher.js","names":["memo","useCallback","useMemo","useTranslation","MenuButton","MenuItem","jsx","_jsx","LayoutSwitcher","availableLayouts","currentLayout","setCurrentLayout","t","changeLayout","value","memoizedMenuItems","map","onClick","label","ariaLabel","buttonLabel","charAt","toUpperCase","slice","menuAlignment","shouldCloseOnSelect","children","isSelected","MemoizedLayoutSwitcher","displayName"],"sources":["../../../src/labs/DataView/LayoutSwitcher.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Dispatch, memo, useCallback, SetStateAction, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { AvailableLayouts, DataLayout } from \"./componentTypes\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MenuItem } from \"../../MenuItem\";\n\nexport type LayoutSwitcherProps = {\n availableLayouts: AvailableLayouts;\n currentLayout: DataLayout;\n setCurrentLayout: Dispatch<SetStateAction<DataLayout>>;\n};\n\nconst LayoutSwitcher = ({\n availableLayouts,\n currentLayout,\n setCurrentLayout,\n}: LayoutSwitcherProps) => {\n const { t } = useTranslation();\n\n const changeLayout = useCallback(\n (value: DataLayout) => {\n setCurrentLayout(value);\n },\n [setCurrentLayout],\n );\n\n const memoizedMenuItems = useMemo(\n () =>\n availableLayouts.map((value: DataLayout) => ({\n value,\n onClick: () => changeLayout(value),\n label: t(`dataview.layout.${value}`),\n })),\n [availableLayouts, changeLayout, t],\n );\n\n return (\n <MenuButton\n ariaLabel=\"Layout\"\n buttonLabel={`${currentLayout.charAt(0).toUpperCase()}${currentLayout.slice(1)}`}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n {memoizedMenuItems.map(({ value, onClick, label }) => (\n <MenuItem\n key={value}\n isSelected={currentLayout === value}\n onClick={onClick}\n >\n {label}\n </MenuItem>\n ))}\n </MenuButton>\n );\n};\n\nconst MemoizedLayoutSwitcher = memo(LayoutSwitcher);\nMemoizedLayoutSwitcher.displayName = \"LayoutSwitcher\";\n\nexport { MemoizedLayoutSwitcher as LayoutSwitcher };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAmBA,IAAI,EAAEC,WAAW,EAAkBC,OAAO,QAAQ,OAAO;AAC5E,SAASC,cAAc,QAAQ,eAAe;AAAC,SAGtCC,UAAU;AAAA,SACVC,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQjB,MAAMC,cAAc,GAAGA,CAAC;EACtBC,gBAAgB;EAChBC,aAAa;EACbC;AACmB,CAAC,KAAK;EACzB,MAAM;IAAEC;EAAE,CAAC,GAAGT,cAAc,CAAC,CAAC;EAE9B,MAAMU,YAAY,GAAGZ,WAAW,CAC7Ba,KAAiB,IAAK;IACrBH,gBAAgB,CAACG,KAAK,CAAC;EACzB,CAAC,EACD,CAACH,gBAAgB,CACnB,CAAC;EAED,MAAMI,iBAAiB,GAAGb,OAAO,CAC/B,MACEO,gBAAgB,CAACO,GAAG,CAAEF,KAAiB,KAAM;IAC3CA,KAAK;IACLG,OAAO,EAAEA,CAAA,KAAMJ,YAAY,CAACC,KAAK,CAAC;IAClCI,KAAK,EAAEN,CAAC,CAAE,mBAAkBE,KAAM,EAAC;EACrC,CAAC,CAAC,CAAC,EACL,CAACL,gBAAgB,EAAEI,YAAY,EAAED,CAAC,CACpC,CAAC;EAED,OACEL,IAAA,CAACH,UAAU;IACTe,SAAS,EAAC,QAAQ;IAClBC,WAAW,EAAG,GAAEV,aAAa,CAACW,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,GAAEZ,aAAa,CAACa,KAAK,CAAC,CAAC,CAAE,EAAE;IACjFC,aAAa,EAAC,OAAO;IACrBC,mBAAmB,EAAE,KAAM;IAAAC,QAAA,EAE1BX,iBAAiB,CAACC,GAAG,CAAC,CAAC;MAAEF,KAAK;MAAEG,OAAO;MAAEC;IAAM,CAAC,KAC/CX,IAAA,CAACF,QAAQ;MAEPsB,UAAU,EAAEjB,aAAa,KAAKI,KAAM;MACpCG,OAAO,EAAEA,OAAQ;MAAAS,QAAA,EAEhBR;IAAK,GAJDJ,KAKG,CACX;EAAC,CACQ,CAAC;AAEjB,CAAC;AAED,MAAMc,sBAAsB,GAAG5B,IAAI,CAACQ,cAAc,CAAC;AACnDoB,sBAAsB,CAACC,WAAW,GAAG,gBAAgB;AAErD,SAASD,sBAAsB,IAAIpB,cAAc"}
1
+ {"version":3,"file":"LayoutSwitcher.js","names":["memo","useCallback","useMemo","useTranslation","MenuButton","MenuItem","jsx","_jsx","LayoutSwitcher","availableLayouts","currentLayout","setCurrentLayout","t","changeLayout","value","memoizedMenuItems","map","onClick","label","ariaLabel","buttonLabel","charAt","toUpperCase","slice","menuAlignment","shouldCloseOnSelect","children","isSelected","MemoizedLayoutSwitcher","displayName"],"sources":["../../../src/labs/DataView/LayoutSwitcher.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Dispatch, memo, useCallback, SetStateAction, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { AvailableLayouts, DataLayout } from \"./componentTypes\";\nimport { MenuButton, MenuItem } from \"../../Buttons\";\n\nexport type LayoutSwitcherProps = {\n availableLayouts: AvailableLayouts;\n currentLayout: DataLayout;\n setCurrentLayout: Dispatch<SetStateAction<DataLayout>>;\n};\n\nconst LayoutSwitcher = ({\n availableLayouts,\n currentLayout,\n setCurrentLayout,\n}: LayoutSwitcherProps) => {\n const { t } = useTranslation();\n\n const changeLayout = useCallback(\n (value: DataLayout) => {\n setCurrentLayout(value);\n },\n [setCurrentLayout],\n );\n\n const memoizedMenuItems = useMemo(\n () =>\n availableLayouts.map((value: DataLayout) => ({\n value,\n onClick: () => changeLayout(value),\n label: t(`dataview.layout.${value}`),\n })),\n [availableLayouts, changeLayout, t],\n );\n\n return (\n <MenuButton\n ariaLabel=\"Layout\"\n buttonLabel={`${currentLayout.charAt(0).toUpperCase()}${currentLayout.slice(1)}`}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n {memoizedMenuItems.map(({ value, onClick, label }) => (\n <MenuItem\n key={value}\n isSelected={currentLayout === value}\n onClick={onClick}\n >\n {label}\n </MenuItem>\n ))}\n </MenuButton>\n );\n};\n\nconst MemoizedLayoutSwitcher = memo(LayoutSwitcher);\nMemoizedLayoutSwitcher.displayName = \"LayoutSwitcher\";\n\nexport { MemoizedLayoutSwitcher as LayoutSwitcher };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAmBA,IAAI,EAAEC,WAAW,EAAkBC,OAAO,QAAQ,OAAO;AAC5E,SAASC,cAAc,QAAQ,eAAe;AAAC,SAGtCC,UAAU,EAAEC,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQ7B,MAAMC,cAAc,GAAGA,CAAC;EACtBC,gBAAgB;EAChBC,aAAa;EACbC;AACmB,CAAC,KAAK;EACzB,MAAM;IAAEC;EAAE,CAAC,GAAGT,cAAc,CAAC,CAAC;EAE9B,MAAMU,YAAY,GAAGZ,WAAW,CAC7Ba,KAAiB,IAAK;IACrBH,gBAAgB,CAACG,KAAK,CAAC;EACzB,CAAC,EACD,CAACH,gBAAgB,CACnB,CAAC;EAED,MAAMI,iBAAiB,GAAGb,OAAO,CAC/B,MACEO,gBAAgB,CAACO,GAAG,CAAEF,KAAiB,KAAM;IAC3CA,KAAK;IACLG,OAAO,EAAEA,CAAA,KAAMJ,YAAY,CAACC,KAAK,CAAC;IAClCI,KAAK,EAAEN,CAAC,CAAE,mBAAkBE,KAAM,EAAC;EACrC,CAAC,CAAC,CAAC,EACL,CAACL,gBAAgB,EAAEI,YAAY,EAAED,CAAC,CACpC,CAAC;EAED,OACEL,IAAA,CAACH,UAAU;IACTe,SAAS,EAAC,QAAQ;IAClBC,WAAW,EAAG,GAAEV,aAAa,CAACW,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,GAAEZ,aAAa,CAACa,KAAK,CAAC,CAAC,CAAE,EAAE;IACjFC,aAAa,EAAC,OAAO;IACrBC,mBAAmB,EAAE,KAAM;IAAAC,QAAA,EAE1BX,iBAAiB,CAACC,GAAG,CAAC,CAAC;MAAEF,KAAK;MAAEG,OAAO;MAAEC;IAAM,CAAC,KAC/CX,IAAA,CAACF,QAAQ;MAEPsB,UAAU,EAAEjB,aAAa,KAAKI,KAAM;MACpCG,OAAO,EAAEA,OAAQ;MAAAS,QAAA,EAEhBR;IAAK,GAJDJ,KAKG,CACX;EAAC,CACQ,CAAC;AAEjB,CAAC;AAED,MAAMc,sBAAsB,GAAG5B,IAAI,CAACQ,cAAc,CAAC;AACnDoB,sBAAsB,CAACC,WAAW,GAAG,gBAAgB;AAErD,SAASD,sBAAsB,IAAIpB,cAAc"}
@@ -13,7 +13,7 @@
13
13
  import { memo, useCallback } from "react";
14
14
  import { useTranslation } from "react-i18next";
15
15
  import { ArrowBottomIcon, ArrowDownIcon, ArrowTopIcon, ArrowUpIcon } from "../../icons.generated/index.js";
16
- import { MenuItem } from "../../MenuItem.js";
16
+ import { MenuItem } from "../../Buttons/index.js";
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
19
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"RowActions.js","names":["memo","useCallback","useTranslation","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUpIcon","MenuItem","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RowActions","isRowReorderingDisabled","row","rowActionMenuItems","rowIndex","totalRows","updateRowOrder","t","handleToFrontClick","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","children","isDisabled","onClick","MemoizedRowActions","displayName"],"sources":["../../../src/labs/DataView/RowActions.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n} from \"../../icons.generated\";\nimport { Button } from \"../../Button\";\nimport { MenuItem } from \"../../MenuItem\";\nimport { DataTableProps } from \"./DataTable\";\nimport { MenuButtonProps } from \"../../MenuButton\";\n\nexport type RowActionsProps = {\n isRowReorderingDisabled?: boolean;\n row: MRT_Row<MRT_RowData> | MRT_RowData;\n rowActionButtons?: (\n row: MRT_RowData,\n ) => ReactElement<typeof Button> | ReactElement<typeof Fragment>;\n rowActionMenuItems?: (row: MRT_RowData) => MenuButtonProps[\"children\"];\n rowIndex: number;\n totalRows?: DataTableProps[\"totalRows\"];\n updateRowOrder?: ({\n newRowIndex,\n rowId,\n }: {\n newRowIndex: number;\n rowId: string;\n }) => void;\n};\n\nconst RowActions = ({\n isRowReorderingDisabled,\n row,\n rowActionMenuItems,\n rowIndex,\n totalRows,\n updateRowOrder,\n}: RowActionsProps) => {\n const { t } = useTranslation();\n\n const handleToFrontClick = useCallback(() => {\n updateRowOrder && updateRowOrder({ rowId: row.id, newRowIndex: 0 });\n }, [row.id, updateRowOrder]);\n\n const handleForwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleBackwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleToBackClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({\n rowId: row.id,\n newRowIndex: totalRows ? totalRows - 1 : rowIndex,\n });\n }, [row.id, rowIndex, totalRows, updateRowOrder]);\n\n return (\n <>\n {rowActionMenuItems && rowActionMenuItems(row)}\n {rowActionMenuItems && updateRowOrder && <hr />}\n {updateRowOrder && (\n <>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleToFrontClick}\n >\n <ArrowTopIcon /> {t(\"table.reorder.tofront\")}\n </MenuItem>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleForwardClick}\n >\n <ArrowUpIcon /> {t(\"table.reorder.forward\")}\n </MenuItem>\n <MenuItem\n isDisabled={\n (totalRows ? rowIndex >= totalRows - 1 : false) ||\n isRowReorderingDisabled\n }\n onClick={handleBackwardClick}\n >\n <ArrowDownIcon /> {t(\"table.reorder.backward\")}\n </MenuItem>\n {totalRows && (\n <MenuItem\n isDisabled={rowIndex >= totalRows - 1 || isRowReorderingDisabled}\n onClick={handleToBackClick}\n >\n <ArrowBottomIcon /> {t(\"table.reorder.toback\")}\n </MenuItem>\n )}\n </>\n )}\n </>\n );\n};\n\nconst MemoizedRowActions = memo(RowActions);\nMemoizedRowActions.displayName = \"RowActions\";\n\nexport { MemoizedRowActions as RowActions };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RowActions.js","names":["memo","useCallback","useTranslation","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUpIcon","MenuItem","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RowActions","isRowReorderingDisabled","row","rowActionMenuItems","rowIndex","totalRows","updateRowOrder","t","handleToFrontClick","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","children","isDisabled","onClick","MemoizedRowActions","displayName"],"sources":["../../../src/labs/DataView/RowActions.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n} from \"../../icons.generated\";\nimport { Button, MenuButtonProps, MenuItem } from \"../../Buttons\";\nimport { DataTableProps } from \"./DataTable\";\n\nexport type RowActionsProps = {\n isRowReorderingDisabled?: boolean;\n row: MRT_Row<MRT_RowData> | MRT_RowData;\n rowActionButtons?: (\n row: MRT_RowData,\n ) => ReactElement<typeof Button> | ReactElement<typeof Fragment>;\n rowActionMenuItems?: (row: MRT_RowData) => MenuButtonProps[\"children\"];\n rowIndex: number;\n totalRows?: DataTableProps[\"totalRows\"];\n updateRowOrder?: ({\n newRowIndex,\n rowId,\n }: {\n newRowIndex: number;\n rowId: string;\n }) => void;\n};\n\nconst RowActions = ({\n isRowReorderingDisabled,\n row,\n rowActionMenuItems,\n rowIndex,\n totalRows,\n updateRowOrder,\n}: RowActionsProps) => {\n const { t } = useTranslation();\n\n const handleToFrontClick = useCallback(() => {\n updateRowOrder && updateRowOrder({ rowId: row.id, newRowIndex: 0 });\n }, [row.id, updateRowOrder]);\n\n const handleForwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleBackwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleToBackClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({\n rowId: row.id,\n newRowIndex: totalRows ? totalRows - 1 : rowIndex,\n });\n }, [row.id, rowIndex, totalRows, updateRowOrder]);\n\n return (\n <>\n {rowActionMenuItems && rowActionMenuItems(row)}\n {rowActionMenuItems && updateRowOrder && <hr />}\n {updateRowOrder && (\n <>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleToFrontClick}\n >\n <ArrowTopIcon /> {t(\"table.reorder.tofront\")}\n </MenuItem>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleForwardClick}\n >\n <ArrowUpIcon /> {t(\"table.reorder.forward\")}\n </MenuItem>\n <MenuItem\n isDisabled={\n (totalRows ? rowIndex >= totalRows - 1 : false) ||\n isRowReorderingDisabled\n }\n onClick={handleBackwardClick}\n >\n <ArrowDownIcon /> {t(\"table.reorder.backward\")}\n </MenuItem>\n {totalRows && (\n <MenuItem\n isDisabled={rowIndex >= totalRows - 1 || isRowReorderingDisabled}\n onClick={handleToBackClick}\n >\n <ArrowBottomIcon /> {t(\"table.reorder.toback\")}\n </MenuItem>\n )}\n </>\n )}\n </>\n );\n};\n\nconst MemoizedRowActions = memo(RowActions);\nMemoizedRowActions.displayName = \"RowActions\";\n\nexport { MemoizedRowActions as RowActions };\n"],"mappings":"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"}
@@ -16,9 +16,8 @@ import { MRT_TableContainer, useMaterialReactTable } from "material-react-table"
16
16
  import { useTranslation } from "react-i18next";
17
17
  import { ArrowDownIcon, ArrowUnsortedIcon, ChevronDownIcon, DragIndicatorIcon } from "../../icons.generated/index.js";
18
18
  import { Box } from "../../Box.js";
19
- import { Button } from "../../Button.js";
19
+ import { Button, MenuButton } from "../../Buttons/index.js";
20
20
  import { dataTableImmutableSettings, displayColumnDefOptions, ScrollableTableContainer } from "./tableConstants.js";
21
- import { MenuButton } from "../../MenuButton.js";
22
21
  import { MoreIcon } from "../../icons.generated/index.js";
23
22
  import { RowActions } from "./RowActions.js";
24
23
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";