@okta/odyssey-react-mui 1.35.0 → 1.35.4

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 (145) hide show
  1. package/dist/cjs/DatePickers/useOdysseyDateFields.cjs +2 -2
  2. package/dist/cjs/DatePickers/useOdysseyDateFields.cjs.map +1 -1
  3. package/dist/cjs/Field.cjs +1 -1
  4. package/dist/cjs/Field.cjs.map +1 -1
  5. package/dist/cjs/Pagination/Pagination.cjs +0 -6
  6. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  7. package/dist/cjs/inputUtils.cjs +1 -1
  8. package/dist/cjs/inputUtils.cjs.map +1 -1
  9. package/dist/cjs/labs/DataFilters.cjs +4 -4
  10. package/dist/cjs/labs/DataFilters.cjs.map +1 -1
  11. package/dist/cjs/labs/DataView/DataCard.cjs +18 -18
  12. package/dist/cjs/labs/DataView/DataCard.cjs.map +1 -1
  13. package/dist/cjs/labs/DataView/DataView.cjs +10 -10
  14. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  15. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +4 -1
  16. package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
  17. package/dist/cjs/labs/DataView/useFilterConversion.cjs +1 -1
  18. package/dist/cjs/labs/DataView/useFilterConversion.cjs.map +1 -1
  19. package/dist/cjs/theme/StringWithValue.cjs +6 -0
  20. package/dist/cjs/theme/StringWithValue.cjs.map +1 -0
  21. package/dist/cjs/theme/components.cjs +2590 -2592
  22. package/dist/cjs/theme/components.cjs.map +1 -1
  23. package/dist/cjs/theme/useMediaQuery.cjs +4 -4
  24. package/dist/cjs/theme/useMediaQuery.cjs.map +1 -1
  25. package/dist/cjs/ui-shell/InnerAppContainer.cjs +60 -0
  26. package/dist/cjs/ui-shell/InnerAppContainer.cjs.map +1 -0
  27. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +6 -1
  28. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
  29. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +79 -48
  30. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  31. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +84 -112
  32. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
  33. package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -6
  34. package/dist/cjs/ui-shell/TopNav/TopNav.cjs.map +1 -1
  35. package/dist/cjs/ui-shell/UiShell.cjs +6 -5
  36. package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
  37. package/dist/cjs/ui-shell/WideUiShellContent.cjs +10 -4
  38. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  39. package/dist/cjs/ui-shell/index.cjs +29 -9
  40. package/dist/cjs/ui-shell/index.cjs.map +1 -1
  41. package/dist/cjs/ui-shell/renderUiShell.cjs +2 -0
  42. package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
  43. package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs +3 -2
  44. package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs.map +1 -1
  45. package/dist/cjs/ui-shell/useScrollState.cjs +71 -21
  46. package/dist/cjs/ui-shell/useScrollState.cjs.map +1 -1
  47. package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs +20 -15
  48. package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs.map +1 -1
  49. package/dist/cjs/web-component/createReactRootElements.cjs +5 -3
  50. package/dist/cjs/web-component/createReactRootElements.cjs.map +1 -1
  51. package/dist/cjs/web-component/renderReactInWebComponent.cjs +21 -7
  52. package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
  53. package/dist/esm/DatePickers/useOdysseyDateFields.js +2 -2
  54. package/dist/esm/DatePickers/useOdysseyDateFields.js.map +1 -1
  55. package/dist/esm/Field.js +1 -1
  56. package/dist/esm/Field.js.map +1 -1
  57. package/dist/esm/Pagination/Pagination.js +0 -6
  58. package/dist/esm/Pagination/Pagination.js.map +1 -1
  59. package/dist/esm/inputUtils.js +1 -1
  60. package/dist/esm/inputUtils.js.map +1 -1
  61. package/dist/esm/labs/DataFilters.js +4 -4
  62. package/dist/esm/labs/DataFilters.js.map +1 -1
  63. package/dist/esm/labs/DataView/DataCard.js +18 -18
  64. package/dist/esm/labs/DataView/DataCard.js.map +1 -1
  65. package/dist/esm/labs/DataView/DataView.js +10 -10
  66. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  67. package/dist/esm/labs/DataView/TableLayoutContent.js +4 -1
  68. package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
  69. package/dist/esm/labs/DataView/useFilterConversion.js +1 -1
  70. package/dist/esm/labs/DataView/useFilterConversion.js.map +1 -1
  71. package/dist/esm/theme/StringWithValue.js +2 -0
  72. package/dist/esm/theme/StringWithValue.js.map +1 -0
  73. package/dist/esm/theme/components.js +2607 -2609
  74. package/dist/esm/theme/components.js.map +1 -1
  75. package/dist/esm/theme/useMediaQuery.js +5 -5
  76. package/dist/esm/theme/useMediaQuery.js.map +1 -1
  77. package/dist/esm/ui-shell/InnerAppContainer.js +56 -0
  78. package/dist/esm/ui-shell/InnerAppContainer.js.map +1 -0
  79. package/dist/esm/ui-shell/NarrowUiShellContent.js +6 -1
  80. package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
  81. package/dist/esm/ui-shell/SideNav/SideNav.js +80 -49
  82. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  83. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +85 -113
  84. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
  85. package/dist/esm/ui-shell/TopNav/TopNav.js +1 -6
  86. package/dist/esm/ui-shell/TopNav/TopNav.js.map +1 -1
  87. package/dist/esm/ui-shell/UiShell.js +6 -5
  88. package/dist/esm/ui-shell/UiShell.js.map +1 -1
  89. package/dist/esm/ui-shell/WideUiShellContent.js +10 -4
  90. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  91. package/dist/esm/ui-shell/index.js +3 -1
  92. package/dist/esm/ui-shell/index.js.map +1 -1
  93. package/dist/esm/ui-shell/renderUiShell.js +2 -0
  94. package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
  95. package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js +3 -2
  96. package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js.map +1 -1
  97. package/dist/esm/ui-shell/useScrollState.js +67 -21
  98. package/dist/esm/ui-shell/useScrollState.js.map +1 -1
  99. package/dist/esm/ui-shell/useUiShellBreakpoints.js +19 -14
  100. package/dist/esm/ui-shell/useUiShellBreakpoints.js.map +1 -1
  101. package/dist/esm/web-component/createReactRootElements.js +4 -2
  102. package/dist/esm/web-component/createReactRootElements.js.map +1 -1
  103. package/dist/esm/web-component/renderReactInWebComponent.js +19 -5
  104. package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
  105. package/dist/index.cjs +1 -1
  106. package/dist/index.mjs +1 -1
  107. package/dist/index.scss +1 -1
  108. package/dist/tsconfig.production.tsbuildinfo +1 -1
  109. package/dist/tsconfig.tsbuildinfo +1 -1
  110. package/dist/types/DatePickers/useOdysseyDateFields.d.ts.map +1 -1
  111. package/dist/types/Pagination/Pagination.d.ts.map +1 -1
  112. package/dist/types/labs/DataView/DataCard.d.ts.map +1 -1
  113. package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
  114. package/dist/types/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  115. package/dist/types/theme/StringWithValue.d.ts +13 -0
  116. package/dist/types/theme/StringWithValue.d.ts.map +1 -0
  117. package/dist/types/theme/components.d.ts.map +1 -1
  118. package/dist/types/theme/useMediaQuery.d.ts +2 -1
  119. package/dist/types/theme/useMediaQuery.d.ts.map +1 -1
  120. package/dist/types/ui-shell/InnerAppContainer.d.ts +35 -0
  121. package/dist/types/ui-shell/InnerAppContainer.d.ts.map +1 -0
  122. package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
  123. package/dist/types/ui-shell/SideNav/SideNav.d.ts +2 -0
  124. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  125. package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts +15 -8
  126. package/dist/types/ui-shell/SideNav/SideNavToggleButton.d.ts.map +1 -1
  127. package/dist/types/ui-shell/TopNav/TopNav.d.ts +1 -1
  128. package/dist/types/ui-shell/TopNav/TopNav.d.ts.map +1 -1
  129. package/dist/types/ui-shell/UiShell.d.ts +8 -1
  130. package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
  131. package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
  132. package/dist/types/ui-shell/index.d.ts +3 -1
  133. package/dist/types/ui-shell/index.d.ts.map +1 -1
  134. package/dist/types/ui-shell/renderUiShell.d.ts +2 -2
  135. package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
  136. package/dist/types/ui-shell/useMatchAppElementToUiShellAppArea.d.ts.map +1 -1
  137. package/dist/types/ui-shell/useScrollState.d.ts +9 -1
  138. package/dist/types/ui-shell/useScrollState.d.ts.map +1 -1
  139. package/dist/types/ui-shell/useUiShellBreakpoints.d.ts +15 -5
  140. package/dist/types/ui-shell/useUiShellBreakpoints.d.ts.map +1 -1
  141. package/dist/types/web-component/createReactRootElements.d.ts +2 -0
  142. package/dist/types/web-component/createReactRootElements.d.ts.map +1 -1
  143. package/dist/types/web-component/renderReactInWebComponent.d.ts +1 -1
  144. package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
  145. package/package.json +17 -14
@@ -1 +1 @@
1
- {"version":3,"file":"DataView.cjs","names":["_react","require","_reactI18next","_constants","_Box","_BulkActionsMenu","_Callout","_DataFilters","_EmptyState","_fetchData","_LayoutSwitcher","_index","_index2","_TableSettings","_index3","_TableLayoutContent","_CardLayoutContent","_useFilterConversion","_useRowReordering","_Typography","_OdysseyDesignTokensContext","_styled","_interopRequireDefault","_jsxRuntime","e","__esModule","default","DataViewContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","Spacing2","AdditionalActionsInner","alignItems","MetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","availableLayouts","allAvailableLayouts","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","useOdysseyDesignTokens","t","useTranslation","currentLayout","setCurrentLayout","useState","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","useEffect","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","densityValues","shouldShowFilters","availableFilters","useFilterConversion","columns","dataQueryParams","useMemo","page","sort","useCallback","originalRow","id","prev","fetchData","undefined","length","prevValue","emptyState","noResultsInnerContent","jsx","EmptyState","description","heading","additionalActions","jsxs","children","Typography","color","TableSettings","LayoutSwitcher","MenuButton","endIcon","MoreIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","usePagination","currentRowsCount","rowReorderingUtilities","useRowReordering","Box","Callout","severity","text","DataFilters","isDisabled","onChangeFilters","onChangeSearch","BulkActionsMenu","menuItems","TableLayoutContent","CardLayoutContent","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","exports","memo","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, useCallback, 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.js\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes.js\";\nimport { Box } from \"../../Box.js\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu.js\";\nimport { Callout } from \"../../Callout.js\";\nimport { DataFilters } from \"../DataFilters.js\";\nimport { EmptyState } from \"../../EmptyState.js\";\nimport { fetchData } from \"./fetchData.js\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher.js\";\nimport { MenuButton } from \"../../Buttons/index.js\";\nimport { MoreIcon } from \"../../icons.generated/index.js\";\nimport { TableSettings } from \"./TableSettings.js\";\nimport { Pagination, usePagination } from \"../../Pagination/index.js\";\nimport { TableLayoutContent } from \"./TableLayoutContent.js\";\nimport { CardLayoutContent } from \"./CardLayoutContent.js\";\nimport { useFilterConversion } from \"./useFilterConversion.js\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering.js\";\nimport { Typography } from \"../../Typography.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps<TData extends MRT_RowData> = UniversalProps<TData> &\n ViewProps<TData, DataLayout>;\ntype DataViewComponent = (<TData extends MRT_RowData>(\n props: DataViewProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\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 = <TData extends MRT_RowData>({\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<TData>) => {\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<TData[]>([]);\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<TData>[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | 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 = useCallback<Required<DataViewProps<TData>>[\"getRowId\"]>(\n (originalRow) => originalRow.id as string,\n [],\n );\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 (!hasFilters || filters === initialFilters) &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n hasFilters,\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={getRowIdProp || 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={getRowIdProp || 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) as DataViewComponent;\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataView.cjs","names":["_react","require","_reactI18next","_constants","_Box","_BulkActionsMenu","_Callout","_DataFilters","_EmptyState","_fetchData","_LayoutSwitcher","_index","_index2","_TableSettings","_index3","_TableLayoutContent","_CardLayoutContent","_useFilterConversion","_useRowReordering","_Typography","_OdysseyDesignTokensContext","_styled","_interopRequireDefault","_jsxRuntime","e","__esModule","default","StyledDataViewContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","StyledBulkActionsContainer","justifyContent","StyledAdditionalActionsContainer","Spacing2","StyledAdditionalActionsInner","alignItems","StyledMetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","availableLayouts","allAvailableLayouts","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","useOdysseyDesignTokens","t","useTranslation","currentLayout","setCurrentLayout","useState","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","useEffect","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","densityValues","shouldShowFilters","availableFilters","useFilterConversion","columns","dataQueryParams","useMemo","page","sort","useCallback","originalRow","id","prev","fetchData","undefined","length","prevValue","emptyState","noResultsInnerContent","jsx","EmptyState","description","heading","additionalActions","jsxs","children","Typography","color","TableSettings","LayoutSwitcher","MenuButton","endIcon","MoreIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","usePagination","currentRowsCount","rowReorderingUtilities","useRowReordering","Box","Callout","severity","text","DataFilters","isDisabled","onChangeFilters","onChangeSearch","BulkActionsMenu","menuItems","TableLayoutContent","CardLayoutContent","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","exports","memo","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, useCallback, 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.js\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes.js\";\nimport { Box } from \"../../Box.js\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu.js\";\nimport { Callout } from \"../../Callout.js\";\nimport { DataFilters } from \"../DataFilters.js\";\nimport { EmptyState } from \"../../EmptyState.js\";\nimport { fetchData } from \"./fetchData.js\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher.js\";\nimport { MenuButton } from \"../../Buttons/index.js\";\nimport { MoreIcon } from \"../../icons.generated/index.js\";\nimport { TableSettings } from \"./TableSettings.js\";\nimport { Pagination, usePagination } from \"../../Pagination/index.js\";\nimport { TableLayoutContent } from \"./TableLayoutContent.js\";\nimport { CardLayoutContent } from \"./CardLayoutContent.js\";\nimport { useFilterConversion } from \"./useFilterConversion.js\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering.js\";\nimport { Typography } from \"../../Typography.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps<TData extends MRT_RowData> = UniversalProps<TData> &\n ViewProps<TData, DataLayout>;\ntype DataViewComponent = (<TData extends MRT_RowData>(\n props: DataViewProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StyledDataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst StyledBulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst StyledAdditionalActionsContainer = 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 StyledAdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledMetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = <TData extends MRT_RowData>({\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<TData>) => {\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<TData[]>([]);\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<TData>[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | 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 = useCallback<Required<DataViewProps<TData>>[\"getRowId\"]>(\n (originalRow) => originalRow.id as string,\n [],\n );\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 (!hasFilters || filters === initialFilters) &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n hasFilters,\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 <StyledAdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <StyledMetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </StyledMetaTextContainer>\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 </StyledAdditionalActionsInner>\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 <StyledDataViewContainer 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 <StyledBulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </StyledBulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <StyledAdditionalActionsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {additionalActions}\n </StyledAdditionalActionsContainer>\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={getRowIdProp || 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={getRowIdProp || 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 </StyledDataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView) as DataViewComponent;\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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","ignoreList":[]}
@@ -212,7 +212,10 @@ const TableLayoutContent = ({
212
212
  },
213
213
  muiTableBodyProps: () => ({
214
214
  className: rowDensityClassName,
215
- tabIndex: 0
215
+ tabIndex: 0,
216
+ sx: isEmpty || isNoResults ? {
217
+ height: "unset"
218
+ } : undefined
216
219
  }),
217
220
  enableColumnResizing: tableLayoutOptions.hasColumnResizing,
218
221
  defaultColumn: {
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayoutContent.cjs","names":["_react","require","_styled","_interopRequireDefault","_materialReactTable","_reactI18next","_index","_Box","_index2","_tableConstants","_RowActions","_OdysseyDesignTokensContext","_useScrollIndication","_jsxRuntime","e","__esModule","default","TextWrapper","styled","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","useState","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","useRef","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","useScrollIndication","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","useOdysseyDesignTokens","t","useTranslation","columnIds","useMemo","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","useCallback","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","jsx","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","jsxs","rowActionButtons","rowActionMenuItems","MenuButton","ariaLabel","buttonVariant","endIcon","MoreIcon","menuAlignment","size","RowActions","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","Box","sx","useEffect","scrollTo","clientHeight","shouldDisplayRowActions","hasColumnWithGrow","some","grow","dataTable","useMaterialReactTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","ArrowDownIcon","DragHandleIcon","DragIndicatorIcon","SyncAltIcon","ArrowUnsortedIcon","ExpandMoreIcon","ChevronDownIcon","dataTableImmutableSettings","displayColumnDefOptions","header","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","Button","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","ScrollableTableContainer","isScrollableEnd","isScrollableStart","MRT_TableContainer","MemoizedTableLayoutContent","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/TableLayoutContent.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 SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport {\n TableLayoutProps,\n TableState,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataTableCell } from \"./dataTypes.js\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication.js\";\n\nconst TextWrapper = styled(\"div\")({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n});\n\nconst RowActionsContainer = styled(\"div\")({\n display: \"flex\",\n});\n\nexport type TableLayoutContentProps<TData extends MRT_RowData> = {\n columns: TableLayoutProps<TData>[\"columns\"];\n data: MRT_RowData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps<TData>;\n tableState: TableState;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\n\ntype TableLayoutContentComponent = (<TData extends MRT_RowData>(\n props: TableLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst TableLayoutContent = <TData extends MRT_RowData>({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps<TData>) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<TData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={\n row as unknown as MRT_Row<MRT_RowData> // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n }\n rowActionMenuItems={\n // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n tableLayoutOptions.rowActionMenuItems as unknown as (\n row: MRT_Row<MRT_RowData>,\n ) => any // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const hasColumnWithGrow = columns.some((column) => column.grow === true);\n\n const dataTable = useMaterialReactTable<TData>({\n data: (!isEmpty && !isNoResults ? data : []) as TData[],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading: isLoading,\n rowSelection: rowSelection,\n columnOrder: columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\n \"mrt-row-actions\": {\n header: \"\",\n grow: !hasColumnWithGrow,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n // @ts-expect-error TODO: This type is wrong and needs to be fixed\n tableLayoutOptions.rowActionButtons({ id: null })}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: 0,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(\n TableLayoutContent,\n) as TableLayoutContentComponent;\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableLayoutContent.cjs","names":["_react","require","_styled","_interopRequireDefault","_materialReactTable","_reactI18next","_index","_Box","_index2","_tableConstants","_RowActions","_OdysseyDesignTokensContext","_useScrollIndication","_jsxRuntime","e","__esModule","default","TextWrapper","styled","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","useState","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","useRef","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","useScrollIndication","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","useOdysseyDesignTokens","t","useTranslation","columnIds","useMemo","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","useCallback","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","jsx","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","jsxs","rowActionButtons","rowActionMenuItems","MenuButton","ariaLabel","buttonVariant","endIcon","MoreIcon","menuAlignment","size","RowActions","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","Box","sx","useEffect","scrollTo","clientHeight","shouldDisplayRowActions","hasColumnWithGrow","some","grow","dataTable","useMaterialReactTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","ArrowDownIcon","DragHandleIcon","DragIndicatorIcon","SyncAltIcon","ArrowUnsortedIcon","ExpandMoreIcon","ChevronDownIcon","dataTableImmutableSettings","displayColumnDefOptions","header","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","Button","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","height","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","ScrollableTableContainer","isScrollableEnd","isScrollableStart","MRT_TableContainer","MemoizedTableLayoutContent","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/TableLayoutContent.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 SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport {\n TableLayoutProps,\n TableState,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataTableCell } from \"./dataTypes.js\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication.js\";\n\nconst TextWrapper = styled(\"div\")({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n});\n\nconst RowActionsContainer = styled(\"div\")({\n display: \"flex\",\n});\n\nexport type TableLayoutContentProps<TData extends MRT_RowData> = {\n columns: TableLayoutProps<TData>[\"columns\"];\n data: MRT_RowData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps<TData>;\n tableState: TableState;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\n\ntype TableLayoutContentComponent = (<TData extends MRT_RowData>(\n props: TableLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst TableLayoutContent = <TData extends MRT_RowData>({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps<TData>) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<TData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={\n row as unknown as MRT_Row<MRT_RowData> // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n }\n rowActionMenuItems={\n // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n tableLayoutOptions.rowActionMenuItems as unknown as (\n row: MRT_Row<MRT_RowData>,\n ) => any // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const hasColumnWithGrow = columns.some((column) => column.grow === true);\n\n const dataTable = useMaterialReactTable<TData>({\n data: (!isEmpty && !isNoResults ? data : []) as TData[],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading: isLoading,\n rowSelection: rowSelection,\n columnOrder: columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\n \"mrt-row-actions\": {\n header: \"\",\n grow: !hasColumnWithGrow,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n // @ts-expect-error TODO: This type is wrong and needs to be fixed\n tableLayoutOptions.rowActionButtons({ id: null })}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: 0,\n /**\n * This is a fix for an issue related to the empty state creating a\n * vertical scrollbar when virtualization is enabled. The root cause\n * is tablebody having height: 0 when virtualization is enabled and there\n * being no data\n * https://okta.slack.com/archives/C7T2H3KNJ/p1742842106148929\n */\n sx:\n isEmpty || isNoResults\n ? {\n height: \"unset\",\n }\n : undefined,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(\n TableLayoutContent,\n) as TableLayoutContentComponent;\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,7 @@ const useFilterConversion = ({
51
51
  }
52
52
  return accumulator;
53
53
  }, []);
54
- }, [columns, filters]);
54
+ }, [columns, convertColumnToFilter, filters]);
55
55
  return dataTableFilters;
56
56
  };
57
57
  exports.useFilterConversion = useFilterConversion;
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterConversion.cjs","names":["_react","require","useFilterConversion","columns","filters","convertFilterSelectOptions","useCallback","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","id","header","variant","filterVariant","filterSelectOptions","dataTableFilters","useMemo","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat","exports"],"sources":["../../../../src/labs/DataView/useFilterConversion.ts"],"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 { useCallback, useMemo } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters.js\";\nimport { DataTableColumn } from \"../../DataTable/index.js\";\nimport { UniversalProps, TableLayoutProps } from \"./componentTypes.js\";\n\ntype FilterConversionType<TData extends MRT_RowData> = {\n columns?: TableLayoutProps<TData>[\"columns\"];\n filters?: UniversalProps<TData>[\"filters\"];\n};\n\nexport const useFilterConversion = <TData extends MRT_RowData>({\n columns,\n filters,\n}: FilterConversionType<TData>) => {\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<MRT_RowData>[\"filterSelectOptions\"]) =>\n options?.map((option) =>\n typeof option === \"string\"\n ? {\n label: option,\n value: option,\n }\n : {\n // If the option isn't a string, it must have value and/or option defined\n // If either is undefined, use the other\n label: (option.label ?? option.value) as string,\n value: (option.value ?? option.label) as string,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<TData>) =>\n column.enableColumnFilter !== false && column.accessorKey\n ? {\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant,\n options: convertFilterSelectOptions(column.filterSelectOptions),\n }\n : null,\n [convertFilterSelectOptions],\n );\n\n const dataTableFilters = useMemo(() => {\n // Filters may be manually set via the `filters` variable;\n // If not, they may be inferred from `columns`\n const providedFilters = filters || columns || [];\n\n return providedFilters.reduce<DataFilter[]>((accumulator, item) => {\n if (typeof item === \"string\") {\n const foundColumn = columns?.find(\n (column) => column.accessorKey === item,\n );\n const filter = foundColumn && convertColumnToFilter(foundColumn);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"accessorKey\" in item) {\n const filter = convertColumnToFilter(item);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"label\" in item) {\n return accumulator.concat(item);\n }\n\n return accumulator;\n }, []);\n }, [columns, filters]);\n\n return dataTableFilters;\n};\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,MAAMC,mBAAmB,GAAGA,CAA4B;EAC7DC,OAAO;EACPC;AAC2B,CAAC,KAAK;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,kBAAW,EAC3CC,OAA4D,IAC3DA,OAAO,EAAEC,GAAG,CAAEC,MAAM,IAClB,OAAOA,MAAM,KAAK,QAAQ,GACtB;IACEC,KAAK,EAAED,MAAM;IACbE,KAAK,EAAEF;EACT,CAAC,GACD;IAGEC,KAAK,EAAGD,MAAM,CAACC,KAAK,IAAID,MAAM,CAACE,KAAgB;IAC/CA,KAAK,EAAGF,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACC;EACjC,CACN,CAAC,EACH,EACF,CAAC;EAED,MAAME,qBAAqB,GAAG,IAAAN,kBAAW,EACtCO,MAA8B,IAC7BA,MAAM,CAACC,kBAAkB,KAAK,KAAK,IAAID,MAAM,CAACE,WAAW,GACrD;IACEC,EAAE,EAAEH,MAAM,CAACE,WAAW;IACtBL,KAAK,EAAEG,MAAM,CAACI,MAAM;IACpBC,OAAO,EAAEL,MAAM,CAACM,aAAa;IAC7BZ,OAAO,EAAEF,0BAA0B,CAACQ,MAAM,CAACO,mBAAmB;EAChE,CAAC,GACD,IAAI,EACV,CAACf,0BAA0B,CAC7B,CAAC;EAED,MAAMgB,gBAAgB,GAAG,IAAAC,cAAO,EAAC,MAAM;IAGrC,MAAMC,eAAe,GAAGnB,OAAO,IAAID,OAAO,IAAI,EAAE;IAEhD,OAAOoB,eAAe,CAACC,MAAM,CAAe,CAACC,WAAW,EAAEC,IAAI,KAAK;MACjE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAMC,WAAW,GAAGxB,OAAO,EAAEyB,IAAI,CAC9Bf,MAAM,IAAKA,MAAM,CAACE,WAAW,KAAKW,IACrC,CAAC;QACD,MAAMG,MAAM,GAAGF,WAAW,IAAIf,qBAAqB,CAACe,WAAW,CAAC;QAChE,OAAOE,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,aAAa,IAAIC,IAAI,EAAE;QACzB,MAAMG,MAAM,GAAGjB,qBAAqB,CAACc,IAAI,CAAC;QAC1C,OAAOG,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,OAAO,IAAIC,IAAI,EAAE;QACnB,OAAOD,WAAW,CAACK,MAAM,CAACJ,IAAI,CAAC;MACjC;MAEA,OAAOD,WAAW;IACpB,CAAC,EAAE,EAAE,CAAC;EACR,CAAC,EAAE,CAACtB,OAAO,EAAEC,OAAO,CAAC,CAAC;EAEtB,OAAOiB,gBAAgB;AACzB,CAAC;AAACU,OAAA,CAAA7B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"file":"useFilterConversion.cjs","names":["_react","require","useFilterConversion","columns","filters","convertFilterSelectOptions","useCallback","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","id","header","variant","filterVariant","filterSelectOptions","dataTableFilters","useMemo","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat","exports"],"sources":["../../../../src/labs/DataView/useFilterConversion.ts"],"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 { useCallback, useMemo } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters.js\";\nimport { DataTableColumn } from \"../../DataTable/index.js\";\nimport { UniversalProps, TableLayoutProps } from \"./componentTypes.js\";\n\ntype FilterConversionType<TData extends MRT_RowData> = {\n columns?: TableLayoutProps<TData>[\"columns\"];\n filters?: UniversalProps<TData>[\"filters\"];\n};\n\nexport const useFilterConversion = <TData extends MRT_RowData>({\n columns,\n filters,\n}: FilterConversionType<TData>) => {\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<MRT_RowData>[\"filterSelectOptions\"]) =>\n options?.map((option) =>\n typeof option === \"string\"\n ? {\n label: option,\n value: option,\n }\n : {\n // If the option isn't a string, it must have value and/or option defined\n // If either is undefined, use the other\n label: (option.label ?? option.value) as string,\n value: (option.value ?? option.label) as string,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<TData>) =>\n column.enableColumnFilter !== false && column.accessorKey\n ? {\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant,\n options: convertFilterSelectOptions(column.filterSelectOptions),\n }\n : null,\n [convertFilterSelectOptions],\n );\n\n const dataTableFilters = useMemo(() => {\n // Filters may be manually set via the `filters` variable;\n // If not, they may be inferred from `columns`\n const providedFilters = filters || columns || [];\n\n return providedFilters.reduce<DataFilter[]>((accumulator, item) => {\n if (typeof item === \"string\") {\n const foundColumn = columns?.find(\n (column) => column.accessorKey === item,\n );\n const filter = foundColumn && convertColumnToFilter(foundColumn);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"accessorKey\" in item) {\n const filter = convertColumnToFilter(item);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"label\" in item) {\n return accumulator.concat(item);\n }\n\n return accumulator;\n }, []);\n }, [columns, convertColumnToFilter, filters]);\n\n return dataTableFilters;\n};\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,MAAMC,mBAAmB,GAAGA,CAA4B;EAC7DC,OAAO;EACPC;AAC2B,CAAC,KAAK;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,kBAAW,EAC3CC,OAA4D,IAC3DA,OAAO,EAAEC,GAAG,CAAEC,MAAM,IAClB,OAAOA,MAAM,KAAK,QAAQ,GACtB;IACEC,KAAK,EAAED,MAAM;IACbE,KAAK,EAAEF;EACT,CAAC,GACD;IAGEC,KAAK,EAAGD,MAAM,CAACC,KAAK,IAAID,MAAM,CAACE,KAAgB;IAC/CA,KAAK,EAAGF,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACC;EACjC,CACN,CAAC,EACH,EACF,CAAC;EAED,MAAME,qBAAqB,GAAG,IAAAN,kBAAW,EACtCO,MAA8B,IAC7BA,MAAM,CAACC,kBAAkB,KAAK,KAAK,IAAID,MAAM,CAACE,WAAW,GACrD;IACEC,EAAE,EAAEH,MAAM,CAACE,WAAW;IACtBL,KAAK,EAAEG,MAAM,CAACI,MAAM;IACpBC,OAAO,EAAEL,MAAM,CAACM,aAAa;IAC7BZ,OAAO,EAAEF,0BAA0B,CAACQ,MAAM,CAACO,mBAAmB;EAChE,CAAC,GACD,IAAI,EACV,CAACf,0BAA0B,CAC7B,CAAC;EAED,MAAMgB,gBAAgB,GAAG,IAAAC,cAAO,EAAC,MAAM;IAGrC,MAAMC,eAAe,GAAGnB,OAAO,IAAID,OAAO,IAAI,EAAE;IAEhD,OAAOoB,eAAe,CAACC,MAAM,CAAe,CAACC,WAAW,EAAEC,IAAI,KAAK;MACjE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAMC,WAAW,GAAGxB,OAAO,EAAEyB,IAAI,CAC9Bf,MAAM,IAAKA,MAAM,CAACE,WAAW,KAAKW,IACrC,CAAC;QACD,MAAMG,MAAM,GAAGF,WAAW,IAAIf,qBAAqB,CAACe,WAAW,CAAC;QAChE,OAAOE,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,aAAa,IAAIC,IAAI,EAAE;QACzB,MAAMG,MAAM,GAAGjB,qBAAqB,CAACc,IAAI,CAAC;QAC1C,OAAOG,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,OAAO,IAAIC,IAAI,EAAE;QACnB,OAAOD,WAAW,CAACK,MAAM,CAACJ,IAAI,CAAC;MACjC;MAEA,OAAOD,WAAW;IACpB,CAAC,EAAE,EAAE,CAAC;EACR,CAAC,EAAE,CAACtB,OAAO,EAAES,qBAAqB,EAAER,OAAO,CAAC,CAAC;EAE7C,OAAOiB,gBAAgB;AACzB,CAAC;AAACU,OAAA,CAAA7B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=StringWithValue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringWithValue.cjs","names":[],"sources":["../../../src/theme/StringWithValue.ts"],"sourcesContent":["/*!\n * Copyright (c) 2025-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\nexport type StringWithValue<T extends string> = T extends \"\" ? never : T;\n"],"mappings":"","ignoreList":[]}